public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Arthur Zamarin" <arthurzam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/pkgcore/pkgcheck:master commit in: testdata/repos/python/dev-lang/pypy/, ...
Date: Thu, 27 Feb 2025 17:22:25 +0000 (UTC)	[thread overview]
Message-ID: <1740676914.649d63647eb4cd6d6d715d6c6b2eef738b2cc1c8.arthurzam@gentoo> (raw)

commit:     649d63647eb4cd6d6d715d6c6b2eef738b2cc1c8
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 27 17:21:54 2025 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Thu Feb 27 17:21:54 2025 +0000
URL:        https://gitweb.gentoo.org/proj/pkgcore/pkgcheck.git/commit/?id=649d6364

PythonCompatUpdate: also report for pypy3.* targets if has pypy3

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 src/pkgcheck/checks/python.py                      | 38 ++++++++++++++++------
 .../PythonCheck/DistutilsNonPEP517Build/fix.patch  |  2 +-
 .../PythonCompatUpdate/expected.json               |  1 +
 .../PythonCompatCheck/PythonCompatUpdate/fix.patch | 33 ++++++++++++-------
 .../DistutilsNonPEP517Build-0.ebuild               |  2 +-
 .../PythonAnyMismatchedDepHasVersionCheck-0.ebuild |  2 +-
 .../PythonAnyMismatchedDepHasVersionCheck-1.ebuild |  2 +-
 .../PythonAnyMismatchedUseHasVersionCheck-0.ebuild |  2 +-
 .../PythonAnyMismatchedUseHasVersionCheck-1.ebuild |  2 +-
 .../PythonAnyMismatchedUseHasVersionCheck-2.ebuild |  2 +-
 .../PythonHasVersionMissingPythonUseDep-0.ebuild   |  2 +-
 .../PythonHasVersionUsage-0.ebuild                 |  2 +-
 .../PythonHasVersionUsage-1.ebuild                 |  2 +-
 .../PythonMissingDeps/PythonMissingDeps-0.ebuild   |  2 +-
 .../PythonMissingDeps/PythonMissingDeps-1.ebuild   |  2 +-
 .../PythonMissingDeps/PythonMissingDeps-2.ebuild   |  2 +-
 .../PythonCompatUpdate-3.ebuild}                   |  7 ++--
 .../python/dev-lang/pypy/pypy-3.11.7.3.18.ebuild   |  6 ++++
 testdata/repos/python/eclass/python-any-r1.eclass  |  7 +++-
 testdata/repos/python/eclass/python-r1.eclass      |  7 +++-
 .../repos/python/eclass/python-single-r1.eclass    |  7 +++-
 .../repos/python/profiles/desc/python_targets.desc |  1 +
 22 files changed, 92 insertions(+), 41 deletions(-)

diff --git a/src/pkgcheck/checks/python.py b/src/pkgcheck/checks/python.py
index 755272f0..a075fba6 100644
--- a/src/pkgcheck/checks/python.py
+++ b/src/pkgcheck/checks/python.py
@@ -599,12 +599,16 @@ class PythonCompatCheck(Check):
 
         # determine available PYTHON_TARGET use flags
         targets = []
+        pypy_targets = []
         for target, _desc in repo.use_expand_desc.get(IUSE_PREFIX[:-1], ()):
             target = target.removeprefix(IUSE_PREFIX)
             if target.startswith("python"):
                 targets.append(target)
+            elif target.startswith("pypy"):
+                pypy_targets.append(target)
         targets = (x for x in targets if not x.endswith("t"))
         multi_targets = tuple(sorted(targets, key=self.sorter))
+        self.pypy_targets = tuple(sorted(pypy_targets, key=self.sorter))
 
         # determine available PYTHON_SINGLE_TARGET use flags
         targets = []
@@ -651,15 +655,13 @@ class PythonCompatCheck(Check):
 
         try:
             # determine the latest supported python version
-            latest_target = sorted(
-                (
-                    f"python{x.slot.replace('.', '_')}"
-                    for x in deps
-                    if x.key == "dev-lang/python" and x.slot is not None
-                ),
-                key=self.sorter,
-            )[-1]
-        except IndexError:
+            all_targets = (
+                f"python{x.slot.replace('.', '_')}"
+                for x in deps
+                if x.key == "dev-lang/python" and x.slot is not None
+            )
+            latest_target = max(all_targets, key=self.sorter)
+        except ValueError:
             # should be flagged by PythonMissingDeps
             return
 
@@ -670,6 +672,18 @@ class PythonCompatCheck(Check):
         # determine python impls to target
         targets = set(takewhile(lambda x: x != latest_target, reversed(available_targets)))
 
+        try:
+            # determine the latest supported pypy version
+            all_targets = (
+                "pypy3" if x.slot == "3.10" else f"pypy{x.slot.replace('.', '_')}"
+                for x in deps
+                if x.key == "dev-lang/pypy" and x.slot is not None
+            )
+            latest_pypy = max(all_targets, key=self.sorter)
+            targets.update(takewhile(lambda x: x != latest_pypy, reversed(self.pypy_targets)))
+        except ValueError:
+            ...
+
         if targets:
             try:
                 # determine if deps support missing python targets
@@ -677,7 +691,11 @@ class PythonCompatCheck(Check):
                     # TODO: use query caching for repo matching?
                     latest = sorted(self.options.search_repo.match(dep))[-1]
                     targets.intersection_update(
-                        f"python{x.rsplit('python', 1)[-1]}"
+                        (
+                            f"pypy{x.rsplit('pypy', 1)[-1]}"
+                            if "pypy" in x
+                            else f"python{x.rsplit('python', 1)[-1]}"
+                        )
                         for x in latest.iuse_stripped
                         if x.startswith(prefix)
                     )

diff --git a/testdata/data/repos/python/PythonCheck/DistutilsNonPEP517Build/fix.patch b/testdata/data/repos/python/PythonCheck/DistutilsNonPEP517Build/fix.patch
index d4e50d37..ef1c895c 100644
--- a/testdata/data/repos/python/PythonCheck/DistutilsNonPEP517Build/fix.patch
+++ b/testdata/data/repos/python/PythonCheck/DistutilsNonPEP517Build/fix.patch
@@ -5,6 +5,6 @@ diff -Naur python/PythonCheck/DistutilsNonPEP517Build/DistutilsNonPEP517Build-0.
  EAPI=7
  
 +DISTUTILS_USE_PEP517=setuptools
- PYTHON_COMPAT=( pypy3 python3_10 )
+ PYTHON_COMPAT=( pypy3.11 python3_10 )
  
  inherit distutils-r1

diff --git a/testdata/data/repos/python/PythonCompatCheck/PythonCompatUpdate/expected.json b/testdata/data/repos/python/PythonCompatCheck/PythonCompatUpdate/expected.json
index f3476eac..814ce04e 100644
--- a/testdata/data/repos/python/PythonCompatCheck/PythonCompatUpdate/expected.json
+++ b/testdata/data/repos/python/PythonCompatCheck/PythonCompatUpdate/expected.json
@@ -1,3 +1,4 @@
 {"__class__": "PythonCompatUpdate", "category": "PythonCompatCheck", "package": "PythonCompatUpdate", "version": "0", "updates": ["python3_8", "python3_9", "python3_10"]}
 {"__class__": "PythonCompatUpdate", "category": "PythonCompatCheck", "package": "PythonCompatUpdate", "version": "1", "updates": ["python3_9", "python3_10"]}
 {"__class__": "PythonCompatUpdate", "category": "PythonCompatCheck", "package": "PythonCompatUpdate", "version": "2", "updates": ["python3_9", "python3_10"]}
+{"__class__": "PythonCompatUpdate", "category": "PythonCompatCheck", "package": "PythonCompatUpdate", "version": "3", "updates": ["python3_9", "python3_10", "pypy3_11"]}

diff --git a/testdata/data/repos/python/PythonCompatCheck/PythonCompatUpdate/fix.patch b/testdata/data/repos/python/PythonCompatCheck/PythonCompatUpdate/fix.patch
index 9be4952a..0cf36b20 100644
--- a/testdata/data/repos/python/PythonCompatCheck/PythonCompatUpdate/fix.patch
+++ b/testdata/data/repos/python/PythonCompatCheck/PythonCompatUpdate/fix.patch
@@ -1,30 +1,39 @@
 diff -Naur python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-0.ebuild fixed/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-0.ebuild
---- python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-0.ebuild	2020-11-21 15:47:48.863638819 -0700
-+++ fixed/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-0.ebuild	2020-11-21 16:07:10.141152848 -0700
+--- python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-0.ebuild
++++ fixed/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-0.ebuild
 @@ -1,5 +1,5 @@
  EAPI=7
 -PYTHON_COMPAT=( python3_7 )
 +PYTHON_COMPAT=( python3_{7..10} )
- 
+
  inherit python-r1
- 
+
 diff -Naur python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-1.ebuild fixed/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-1.ebuild
---- python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-1.ebuild	2020-11-21 16:01:09.313228270 -0700
-+++ fixed/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-1.ebuild	2020-11-21 16:07:24.796474707 -0700
+--- python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-1.ebuild
++++ fixed/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-1.ebuild
 @@ -1,5 +1,5 @@
  EAPI=7
 -PYTHON_COMPAT=( python3_{7,8} )
 +PYTHON_COMPAT=( python3_{7..10} )
- 
+
  inherit python-single-r1
- 
+
 diff -Naur python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-2.ebuild fixed/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-2.ebuild
---- python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-2.ebuild	2020-11-21 15:48:45.729888922 -0700
-+++ fixed/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-2.ebuild	2020-11-21 16:07:30.224593936 -0700
+--- python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-2.ebuild
++++ fixed/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-2.ebuild
 @@ -1,5 +1,5 @@
  EAPI=7
 -PYTHON_COMPAT=( python3_{7,8} )
 +PYTHON_COMPAT=( python3_{7..10} )
- 
+
+ inherit python-any-r1
+
+diff -Naur python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-3.ebuild fixed/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-3.ebuild
+--- python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-3.ebuild
++++ fixed/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-3.ebuild
+@@ -1,5 +1,5 @@
+ EAPI=7
+-PYTHON_COMPAT=( python3_{7,8} pypy3 )
++PYTHON_COMPAT=( python3_{7..10} pypy3 pypy3.11 )
+
  inherit python-any-r1
- 

diff --git a/testdata/repos/python/PythonCheck/DistutilsNonPEP517Build/DistutilsNonPEP517Build-0.ebuild b/testdata/repos/python/PythonCheck/DistutilsNonPEP517Build/DistutilsNonPEP517Build-0.ebuild
index d2e833ec..f675ca4a 100644
--- a/testdata/repos/python/PythonCheck/DistutilsNonPEP517Build/DistutilsNonPEP517Build-0.ebuild
+++ b/testdata/repos/python/PythonCheck/DistutilsNonPEP517Build/DistutilsNonPEP517Build-0.ebuild
@@ -1,6 +1,6 @@
 EAPI=7
 
-PYTHON_COMPAT=( pypy3 python3_10 )
+PYTHON_COMPAT=( pypy3.11 python3_10 )
 
 inherit distutils-r1
 

diff --git a/testdata/repos/python/PythonCheck/PythonAnyMismatchedDepHasVersionCheck/PythonAnyMismatchedDepHasVersionCheck-0.ebuild b/testdata/repos/python/PythonCheck/PythonAnyMismatchedDepHasVersionCheck/PythonAnyMismatchedDepHasVersionCheck-0.ebuild
index 9a6a57ee..d2cd1d13 100644
--- a/testdata/repos/python/PythonCheck/PythonAnyMismatchedDepHasVersionCheck/PythonAnyMismatchedDepHasVersionCheck-0.ebuild
+++ b/testdata/repos/python/PythonCheck/PythonAnyMismatchedDepHasVersionCheck/PythonAnyMismatchedDepHasVersionCheck-0.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( pypy3 python3_10 )
+PYTHON_COMPAT=( pypy3.11 python3_10 )
 
 inherit python-any-r1
 

diff --git a/testdata/repos/python/PythonCheck/PythonAnyMismatchedDepHasVersionCheck/PythonAnyMismatchedDepHasVersionCheck-1.ebuild b/testdata/repos/python/PythonCheck/PythonAnyMismatchedDepHasVersionCheck/PythonAnyMismatchedDepHasVersionCheck-1.ebuild
index bd81efe2..4f2cdeab 100644
--- a/testdata/repos/python/PythonCheck/PythonAnyMismatchedDepHasVersionCheck/PythonAnyMismatchedDepHasVersionCheck-1.ebuild
+++ b/testdata/repos/python/PythonCheck/PythonAnyMismatchedDepHasVersionCheck/PythonAnyMismatchedDepHasVersionCheck-1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=6
 
-PYTHON_COMPAT=( pypy3 python3_10 )
+PYTHON_COMPAT=( pypy3.11 python3_10 )
 
 inherit python-any-r1
 

diff --git a/testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-0.ebuild b/testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-0.ebuild
index 3279e62b..53b99723 100644
--- a/testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-0.ebuild
+++ b/testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-0.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( pypy3 python3_10 )
+PYTHON_COMPAT=( pypy3.11 python3_10 )
 
 inherit python-any-r1
 

diff --git a/testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-1.ebuild b/testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-1.ebuild
index 48c00f4d..01d41218 100644
--- a/testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-1.ebuild
+++ b/testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( pypy3 python3_10 )
+PYTHON_COMPAT=( pypy3.11 python3_10 )
 
 inherit python-any-r1
 

diff --git a/testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-2.ebuild b/testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-2.ebuild
index 27e72e88..d12580bf 100644
--- a/testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-2.ebuild
+++ b/testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-2.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( pypy3 python3_10 )
+PYTHON_COMPAT=( pypy3.11 python3_10 )
 
 inherit python-any-r1
 

diff --git a/testdata/repos/python/PythonCheck/PythonHasVersionMissingPythonUseDep/PythonHasVersionMissingPythonUseDep-0.ebuild b/testdata/repos/python/PythonCheck/PythonHasVersionMissingPythonUseDep/PythonHasVersionMissingPythonUseDep-0.ebuild
index 5e5ff7f3..1494b53f 100644
--- a/testdata/repos/python/PythonCheck/PythonHasVersionMissingPythonUseDep/PythonHasVersionMissingPythonUseDep-0.ebuild
+++ b/testdata/repos/python/PythonCheck/PythonHasVersionMissingPythonUseDep/PythonHasVersionMissingPythonUseDep-0.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( pypy3 python3_10 )
+PYTHON_COMPAT=( pypy3.11 python3_10 )
 
 inherit python-any-r1
 

diff --git a/testdata/repos/python/PythonCheck/PythonHasVersionUsage/PythonHasVersionUsage-0.ebuild b/testdata/repos/python/PythonCheck/PythonHasVersionUsage/PythonHasVersionUsage-0.ebuild
index 02ef25e0..91b39031 100644
--- a/testdata/repos/python/PythonCheck/PythonHasVersionUsage/PythonHasVersionUsage-0.ebuild
+++ b/testdata/repos/python/PythonCheck/PythonHasVersionUsage/PythonHasVersionUsage-0.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( pypy3 python3_10 )
+PYTHON_COMPAT=( pypy3.11 python3_10 )
 
 inherit python-any-r1
 

diff --git a/testdata/repos/python/PythonCheck/PythonHasVersionUsage/PythonHasVersionUsage-1.ebuild b/testdata/repos/python/PythonCheck/PythonHasVersionUsage/PythonHasVersionUsage-1.ebuild
index 87ff6224..a9d04df8 100644
--- a/testdata/repos/python/PythonCheck/PythonHasVersionUsage/PythonHasVersionUsage-1.ebuild
+++ b/testdata/repos/python/PythonCheck/PythonHasVersionUsage/PythonHasVersionUsage-1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( pypy3 python3_10 )
+PYTHON_COMPAT=( pypy3.11 python3_10 )
 
 inherit python-any-r1
 

diff --git a/testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-0.ebuild b/testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-0.ebuild
index 1b5b1fd4..a7d70709 100644
--- a/testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-0.ebuild
+++ b/testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-0.ebuild
@@ -1,5 +1,5 @@
 EAPI=7
-PYTHON_COMPAT=( pypy3 python3_9 )
+PYTHON_COMPAT=( pypy3.11 python3_9 )
 
 inherit python-r1
 

diff --git a/testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-1.ebuild b/testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-1.ebuild
index 191d4974..43f5276c 100644
--- a/testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-1.ebuild
+++ b/testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-1.ebuild
@@ -2,7 +2,7 @@ EAPI=8
 
 DISTUTILS_OPTIONAL=1
 DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_10 )
+PYTHON_COMPAT=( pypy3.11 python3_10 )
 
 inherit distutils-r1
 

diff --git a/testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-2.ebuild b/testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-2.ebuild
index 60c7b3df..4723fcb5 100644
--- a/testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-2.ebuild
+++ b/testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-2.ebuild
@@ -2,7 +2,7 @@ EAPI=8
 
 DISTUTILS_OPTIONAL=1
 DISTUTILS_USE_PEP517=no
-PYTHON_COMPAT=( pypy3 python3_10 )
+PYTHON_COMPAT=( pypy3.11 python3_10 )
 
 inherit distutils-r1
 

diff --git a/testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-0.ebuild b/testdata/repos/python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-3.ebuild
similarity index 60%
copy from testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-0.ebuild
copy to testdata/repos/python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-3.ebuild
index 1b5b1fd4..2509aade 100644
--- a/testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-0.ebuild
+++ b/testdata/repos/python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-3.ebuild
@@ -1,10 +1,11 @@
 EAPI=7
-PYTHON_COMPAT=( pypy3 python3_9 )
+PYTHON_COMPAT=( python3_{7,8} pypy3 )
 
-inherit python-r1
+inherit python-any-r1
 
 DESCRIPTION="Ebuild with potential PYTHON_COMPAT updates"
 HOMEPAGE="https://github.com/pkgcore/pkgcheck"
 LICENSE="BSD"
 SLOT="0"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}"

diff --git a/testdata/repos/python/dev-lang/pypy/pypy-3.11.7.3.18.ebuild b/testdata/repos/python/dev-lang/pypy/pypy-3.11.7.3.18.ebuild
new file mode 100644
index 00000000..8ae1aa3c
--- /dev/null
+++ b/testdata/repos/python/dev-lang/pypy/pypy-3.11.7.3.18.ebuild
@@ -0,0 +1,6 @@
+EAPI=8
+
+DESCRIPTION="Stub ebuild for pypy3.11 interpreter"
+HOMEPAGE="https://github.com/pkgcore/pkgcheck"
+LICENSE="BSD"
+SLOT="3.11/pypy311-pp73-400"

diff --git a/testdata/repos/python/eclass/python-any-r1.eclass b/testdata/repos/python/eclass/python-any-r1.eclass
index 56aa329c..b827e833 100644
--- a/testdata/repos/python/eclass/python-any-r1.eclass
+++ b/testdata/repos/python/eclass/python-any-r1.eclass
@@ -21,7 +21,12 @@ _python_set_impls() {
 				PYTHON_DEPS+=" dev-lang/python:${slot}"
 				;;
 			pypy3)
-				PYTHON_DEPS+=" >=dev-lang/pypy-3.10:="
+				PYTHON_DEPS+=" dev-lang/pypy:3.10="
+				;;
+			pypy3*)
+				slot=${i#pypy}
+				slot=${slot/_/.}
+				PYTHON_DEPS+=" dev-lang/pypy:${slot}="
 				;;
 		esac
 	done

diff --git a/testdata/repos/python/eclass/python-r1.eclass b/testdata/repos/python/eclass/python-r1.eclass
index 0bac0d92..7a062779 100644
--- a/testdata/repos/python/eclass/python-r1.eclass
+++ b/testdata/repos/python/eclass/python-r1.eclass
@@ -22,7 +22,12 @@ _python_set_impls() {
 				PYTHON_DEPS+=" python_targets_${i}? ( dev-lang/python:${slot} )"
 				;;
 			pypy3)
-				PYTHON_DEPS+=" python_targets_${i}? ( >=dev-lang/pypy-3.10:= )"
+				PYTHON_DEPS+=" python_targets_${i}? ( dev-lang/pypy:3.10= )"
+				;;
+			pypy3*)
+				slot=${i#pypy}
+				slot=${slot/_/.}
+				PYTHON_DEPS+=" python_targets_${i}? ( dev-lang/pypy:${slot}= )"
 				;;
 		esac
 	done

diff --git a/testdata/repos/python/eclass/python-single-r1.eclass b/testdata/repos/python/eclass/python-single-r1.eclass
index 5a8debca..ab7f4fac 100644
--- a/testdata/repos/python/eclass/python-single-r1.eclass
+++ b/testdata/repos/python/eclass/python-single-r1.eclass
@@ -22,7 +22,12 @@ _python_set_impls() {
 				PYTHON_DEPS+=" python_single_target_${i}? ( dev-lang/python:${slot} )"
 				;;
 			pypy3)
-				PYTHON_DEPS+=" python_single_target_${i}? ( >=dev-lang/pypy-3.10:= )"
+				PYTHON_DEPS+=" python_single_target_${i}? ( dev-lang/pypy:3.10= )"
+				;;
+			pypy3*)
+				slot=${i#pypy}
+				slot=${slot/_/.}
+				PYTHON_DEPS+=" python_single_target_${i}? ( dev-lang/pypy:${slot}= )"
 				;;
 		esac
 	done

diff --git a/testdata/repos/python/profiles/desc/python_targets.desc b/testdata/repos/python/profiles/desc/python_targets.desc
index 3f87ee55..aaa785f6 100644
--- a/testdata/repos/python/profiles/desc/python_targets.desc
+++ b/testdata/repos/python/profiles/desc/python_targets.desc
@@ -6,3 +6,4 @@ python3_9 - Build with Python 3.9
 python3_10 - Build with Python 3.10
 python3_13t - Build with Python 3.13 freethreading
 pypy3 - Build for PyPy3 only
+pypy3_11 - Build with PyPy3.11


                 reply	other threads:[~2025-02-27 17:22 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1740676914.649d63647eb4cd6d6d715d6c6b2eef738b2cc1c8.arthurzam@gentoo \
    --to=arthurzam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox