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 8 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 8 months ago

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