Use PEP 660 editable wheels for sagelib
mkoeppe opened this issue · 20 comments
The current implementation of --enable-editable uses pip install --editable --no-build-isolation (with SETUPTOOLS_ENABLE_FEATURES=legacy-editable in
build/pkgs/sagelib/spkg-install.in), which goes through legacy setup.py develop.
Here we change to the PEP 660 implementation in setuptools 65.x from #34344. We drop --no-build-isolation too, so that setuptools from the wheel, not the installed setuptools 63.x is used.
Depends on #32874
Component: build
Branch/Commit: u/mkoeppe/use_pep_660_editable_wheels_for_sagelib @ 48576c8
Issue created by migration from https://trac.sagemath.org/ticket/34209
seems to work but cythonizes from scratch every time
New commits:
989217f | build/pkgs/setuptools: Update to 63.1.0 |
d60fa18 | build/pkgs/setuptools: Update to 63.2.0 |
970c9d9 | Merge #34177 |
8619b29 | configure.ac: Make --enable-editable the default |
6513b6b | README.md: Explain configure --disable-editable |
ff8710e | docker/Dockerfile: Use configure --disable-editable |
7221a76 | src/setup.py: Do not run find_namespace_packages for 'setup.py dist_info' |
a911e0f | src/MANIFEST.in: prune sage_docbuild, doc |
6c1e4f9 | Merge #32406 |
eb75752 | build/pkgs/setuptools: Use setuptools @ features/pep660 |
This setuptools branch is about to be merged into main - https://discuss.python.org/t/help-testing-pep-660-support-in-setuptools/16904/61
Branch pushed to git repo; I updated commit sha1. New commits:
ea8a50e | Revert "build/bin/sage-dist-helpers (sdh_pip_editable_install), build/pkgs/sagelib/spkg-install: Do not use PEP 660 editable wheels" |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
da94f7e | Revert "build/bin/sage-dist-helpers (sdh_pip_editable_install), build/pkgs/sagelib/spkg-install: Do not use PEP 660 editable wheels" |
Description changed:
---
+++
@@ -1,4 +1,5 @@
The current implementation of `--enable-editable` uses `pip install --editable --no-build-isolation`, which goes through legacy `setup.py develop`.
-Here we change to the experimental PEP 660 implementation in the setuptools feature branch - https://discuss.python.org/t/help-testing-pep-660-support-in-setuptools/16904
+Here we change to the PEP 660 implementation in setuptools 65.x from #34344. We drop `--no-build-isolation` too, so that setuptools from the wheel, not the installed setuptools 63.x is used.
+Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
a683934 | configure.ac (--enable-wheels): New |
f2d1576 | configure.ac: Improve docstring |
05b44d7 | build/pkgs/{sage_conf,sage_docbuild,sage_setup,sage_sws2rst}/spkg-install: Handle SAGE_WHEELS |
dde4bdb | src/sage/misc/package_dir.py: Fix docstring markup |
ffe67e8 | is_package_or_sage_namespace_package_dir: Add option distribution_filter |
11507a5 | build/pkgs/sagelib/spkg-install: No need to uninstall before installing - cleaner is back in |
974c7fd | src/MANIFEST.in: Remove redundant entries for MANIFEST.in, pyproject.toml |
25898ba | src/MANIFEST.in: Exclude generated file farey_symbol.h; add comments |
7ad267a | Merge #32874 |
48576c8 | build/bin/sage-dist-helpers: Use pip wheel --editable |