[gentoo-dev] [PATCH 00/10] Add pypy3_11 Python target
From
=?UTF-8?q?Micha=C5=82=20G=C3=B3rny?@21:1/5 to
All on Thu Feb 13 14:50:01 2025
Hi,
Long story short, upgrades for PyPy are a mess in Gentoo right now.
To fix that mess, I'd like to propose slotting PYTHON_TARGETS for PyPy
much like we slot them for CPython.
This roughly means:
- "pypy3" target will only match PyPy3.10 going forward, and be removed
once we fully migrate to PyPy3.11
- a new "pypy3_11" target will be added for PyPy3.11, and every new
PyPy slot will receive its own target
- shebangs for Python scripts will now refer to "pypy3.x" rather than
"pypy3", so "pypy3" executable will eventually become a convenience
wrapper much like "python" is now
On the plus side, users will be able to take the safer upgrade path,
by rebuilding everything with PyPy3.11 support without losing PyPy3.10
support immediately (and ending up with messed up depgraph if something
fails in the middle).
On the minus side, we'll have to test things on PyPy3.11 explicitly,
so more work. On the other hand, it's not so bad — at least we'll keep
a track of problems with PyPy3.11 rather than guessing if it's good
enough to switch already, and then having lots of sudden breakage
without the old version to compare to.
--
Best regards,
Michał Górny
Michał Górny (10):
profiles: Add pypy3_11 target
python-utils-r1.eclass: Add pypy3_11 target
app-portage/gpyutils: Add pypy3_11 target
dev-lang/pypy3-exe: Readd KEYWORDS
dev-lang/pypy3-exe-bin: Readd KEYWORDS
dev-lang/pypy: Readd KEYWORDS
dev-python/pypy3: Remove pypy3.11 version, it's a separate target
dev-lang/pypy: Do not default-enable USE=symlink in :3.11
python-any-r1.eclass: Fix := stripping again (now we have :3.11=)
python-r1.eclass: Fix PYTHON_PKG_DEP stripping (we have :3.11= now)
.../gpyutils/files/implementations.txt | 1 +
dev-lang/pypy/pypy-3.11.7.3.18_p1.ebuild | 3 ++-
.../pypy3-exe-bin-3.11.7.3.18.ebuild | 1 +
.../pypy3-exe/pypy3-exe-3.11.7.3.18.ebuild | 1 +
dev-python/pypy3/pypy3-7.3.18-r100.ebuild | 18 --------------
eclass/python-any-r1.eclass | 4 ++--
eclass/python-r1.eclass | 2 +-
eclass/python-utils-r1.eclass | 24 +++++++++----------
eclass/tests/python-utils-r1.sh | 19 +++++++++++++--
profiles/base/package.use.force | 1 +
profiles/base/use.stable.mask | 2 ++
profiles/desc/python_single_target.desc | 3 ++-
profiles/desc/python_targets.desc | 3 ++-
13 files changed, 44 insertions(+), 38 deletions(-)
delete mode 100644 dev-python/pypy3/pypy3-7.3.18-r100.ebuild
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)