Skip to content

ENH: Compatibility with upcoming lief 0.17 #5692

@h-vetinari

Description

@h-vetinari

Checklist

  • I added a descriptive title
  • I searched open requests and couldn't find a duplicate

What is the idea?

While looking at the release notes for the just-released 0.16.5 (which conda-build 25.3 finally became compatible with after a chain of fixes culminating in #5627), I noticed the following: https://lief.re/doc/latest/changelog/pe-0-17-0.html

In short, there's been a big refactor in how windows DLLs are being treated, including again some renamed structures (see "Resources" section), though from a quick code search here, conda-build doesn't seem to be using any of them.

It's probably mostly about testing conda-build together with lief 0.17 as comprehensively as possible.

We already have a defensive upper bound on the conda-forge feedstock that will ensure we can publish lief 0.17 without breaking the world (this was done without knowing about the PE changes, just caution based on recent breakages - good call from @beckermr! 😉)

The recipe in this repo is still lacking such a bound though:

- py-lief

Sidenote: py-lief should probably be listed under the dependencies in pyproject.toml? 🤔

dependencies = [

What we can do once 0.17 is out is to publish an uncapped conda-build to a separate label, and test it on as many feedstocks as we feel necessary.

CC @tkelman

Why is this needed?

Staying up to date on lief is essential for getting support for new python versions, performance improvements, fixes etc.

What should happen?

  • Add a <0.17.0a0 bound to recipe/meta.yaml
  • Add py-lief <0.17 to pyprojects.toml
  • Once lief 0.17 is out
    • do any adaptations that are necessary for conda-build; test them in CI here
    • once there's a compatible conda-build release, publish it to a label and test it in conda-forge

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    type::featurerequest for a new feature or capability

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions