Add hook to process manifest#476
Conversation
|
It seems that the Python 2.7 builds need to be disabled as the installed version of setuptools requires Python>=3.5. |
898fe37 to
2cf508c
Compare
|
Thanks for the contribution 🙏 I will be able to review tomorrow. |
Thanks! If you are OK with it, I am happy to add a bit of documentation in the relevant section. I was able to use it successfully in jupyter-xeus/xeus-python-wheel#36. If there is a release of scikit-build with that hook, that would be great. |
|
@jcfr why are the CI tests failing? |
It is because the latest version of setuptools is not working with 2.7 ... I got distracted on Friday and didn't move forward with publishing a fix. Stay tuned for an update. 🙏 |
|
@jcfr I am happy to rebase this PR if you update master. |
|
If someone has the time to give this a look, it would be super appreciated. |
|
@SylvainCorlay I didn't forget ... it is definitely in the queue. Thanks for your patience 🙏 |
jcfr
left a comment
There was a problem hiding this comment.
In the context of the xeus-python-wheel project where all dependencies would be expected to support an option <projectname>_INSTALL_DEVELOPMENT allowing to skip the installation of development files when installing the project without specifying component, this makes sense.
Before we move forward, could you:
- update documentation to describe the keyword and in which case it could be used
- update CHANGES.rst
- add a simple test
Thanks 🙏
2cf508c to
2aa0b8f
Compare
ebd4c2f to
ef9369d
Compare
ef9369d to
76cca46
Compare
Done! This is ready to go @jcfr |
|
Thanks, I will review later tomorrow or Monday. Have a good weekend. |
|
Hey, let me know if there is anything else needed. This is on our critical path to publish the xeus-python wheels. We are currently using scikit-build from this branch, but this is not great for reproducibility. |
|
ping @jcfr |
|
Hey @jcfr is there anything we can do to help move this forward? |
jcfr
left a comment
There was a problem hiding this comment.
Looks very good.
One last nitpick, let me know what you think
| # This hook enables custom processing of the cmake manifest | ||
| cmake_manifest = cmkr.install() | ||
| process_manifest = kw.get('cmake_process_manifest_hook') | ||
| if callable(process_manifest): |
There was a problem hiding this comment.
It may be sensible to report an error if it is not callable
|
@SylvainCorlay I will add the error reporting and integrate. No further action needed. |
As described in [1], support for python 2.7 was removed in setuptools >= 45 and it must be pinned. This commit fixes error like the following: ERROR: Package 'setuptools' requires a different Python: 2.7.17 not in '>=3.5' See scikit-build#478 [1] https://github.com/pypa/setuptools/blob/v46.1.3/.github/ISSUE_TEMPLATE/setuptools-warns-about-python-2-incompatibility.md
|
The test This is caused by the dummy |
…m .so to .pyd This commit fixes the test by using .pyd extension on all platforms. This will avoid failure on macOS where wheel wheel/macosx_libfile.py attempts to extract shared library information.
|
Maybe I should include a real compiled extension rather than an empty dummy file for this example - although the other tests that do the same will still be failing. |
|
No worry, I will finalize this morning. Look like I missed something.
…On Thursday, April 23, 2020, Sylvain Corlay ***@***.***> wrote:
Maybe I should include a real compiled extension rather than an empty
dummy file for this example - although the other tests that do the same
will still be failing.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#476 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABVPIZVDBYLVM5KGNCWUZLROC67BANCNFSM4MDPIRWQ>
.
|
…dule extension from .so to .pyd This commit fixes the test by using .pyd extension on all platforms. This will avoid failure on macOS where wheel wheel/macosx_libfile.py attempts to extract shared library information.
This commit ensures that no signing message is displayed when running tests on workstation with commit signing enabled globally.
|
CI is mostly green, after Travis completes I will integrate. Linux_PyPy3 failures are unrelated and will be fixed later or even disabled. |
|
Great! Thanks for taking the time! |
I created an issue to track this. See #482 This would be a good first issue for anyone new to the code base |
Thanks to you for contributing 🙏 Have a good weekend |
|
@jcfr it would be fantastic if there was a scikit-build tag including this patch! We have been looking into streamlining the release of xeus-python on PyPI for a few weeks and having a new release of scikit-build is the main blocker. |
|
Yes, I will do a release shortly. After integrating Pablo PR. |
|
Great thanks! |
Is there any blocker on this ! I don't want to be nagging - but I am following up as we have been blocked on this for a few weeks! |
|
Fundamentally there are no blockers, time is just finite resource. After #486 completes I will do release 🎉 |
This is a simple hook to enable custom processing of the cmake manifest before producing the wheel.
The goal for us is to drop static binaries of dependencies, as well as their headers, and other artefacts such as cmake files, as we want the wheel to only include what is required at runtime.
I am using this here: jupyter-xeus/xeus-python-wheel#36
Fixes #473