adobe-type-tools / cffsubr

Standalone CFF subroutinizer based on AFDKO tx
Apache License 2.0
8 stars 8 forks source link

Only depend on setuptools-git-ls-files for sdist #23

Closed tjni closed 10 months ago

tjni commented 1 year ago

Some PEP 517 build frontends, like PyPA build, have a feature to check that build dependencies are present prior to starting the build.

The setuptools-git-ls-files dependency is only needed when constructing the sdist but not when building a wheel. Some package managers, such as nixpkgs, only build wheels but still need to bundle and depend on this to pass validation.

This commit adds some complexity to specify that setuptools-git-ls-files is only needed when building an sdist by extending setuptools.

This technique using an in-tree backend is documented in setuptools.

I also removed wheel as a dependency, because, in contrast, it is not needed to build an sdist, and setuptools specifies it as a dependency only needed to build a wheel in its own get_requires_for_build_wheel hook.

anthrotype commented 1 year ago

windows CI fails with The Windows SDK version 10.0.17134.0 was not found. I have no idea what it's taking about.. /cc @josh-hadley do you guys have any clue?

tjni commented 1 year ago

I needed to update the PR to remove the legacy setup_requires section in setup.py; it seems like PEP 517 builds also takes those requirements into account, but it should be enough that they are specified in pyproject.toml and the custom backend.

anthrotype commented 10 months ago

I'll incorporate the changes in #28, thank you