Conversation
|
What we have right now "works" as far as I know. I might however consider that if it fixes something that needs fixing. What does it fix? :D |
|
New wheel puts everything at the root: Original wheel has an unnecessary purelib/ directory: The extra metadata from SCons build requires no MANIFEST.in. Much simpler to support alternative compliers and generated Python code. In enscons, there is a setup.py that could be copied into any enscons-using project that installs and invokes SCons for pip compatibility, without having to wait for pip to gain native support for pluggable build systems. TBH enscons is still experimental, producing legal wheels and sdists but not made as robust as possible, but everyone who has to customize distutils wonders if there is a different way, and this is different. When I wrote |
|
Fwiw enscons is < 1000 loc |
Here's an example SConstruct to build a wheel for your project. It provides build rules with dependency tracking and gives complete control of the wheel tag. Unlike the setup.py build it avoids putting an extraneous purelib/ directory in the wheel.
To build,
pip install ensconsandpython -m SCons. Tested in Python 2.7. enscons is a small project that adds wheel generation to SCons.