On Thu, 2024-10-17 at 14:12 +0200, Michał Górny wrote: > The ebuilds could now depend e.g. on: > > >=dev-lang/pypy-3.10:= > > This would ensure that only slots newer than 3.10 are acceptable, > and that packages are rebuilt (as they are right now) once we introduce > 3.11 slot. Then, after the transitional period we'd update it to: > > >=dev-lang/pypy-3.11:= > > and so on. >
Ok, I've missed something significant here. Along all the reshuffling, dev-python/pypy3 is not really a virtual package but supplies /usr/bin/pypy3 (vs. pypy3.x supplied by dev- python/pypy3_x). Switching to one-package model would require us to install "pypy3" as part of the baseline package, and that is going to make transitions less friendly. In other words, with the old approach, you could have pypy3.10 and pypy3.11 installed simultaneously, and switch to 3.11 via upgrading dev-python/pypy3 metapackage. With the new approach, we won't be able to have fully coexisting pypy3.10 and pypy3.11 packages without them conflicting over /usr/bin/pypy3. During the transition period, we'd have to have something like USE=symlink to clearly distinguish the PyPy version that satisfies PYTHON_TARGETS from the other one. Not saying it's a fatal flaw but certainly makes things less nice. I don't see any "obviously nice" solutions, other than having a separate metapackage for the purpose of keeping /usr/bin/pypy3. But then, merging dev-python/pypy3_x becomes a meaningless implementation detail. -- Best regards, Michał Górny
signature.asc
Description: This is a digitally signed message part