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