From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id D45BC1582EF for ; Thu, 27 Feb 2025 17:22:30 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id C196C343204 for ; Thu, 27 Feb 2025 17:22:30 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 261E11102D0; Thu, 27 Feb 2025 17:22:27 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 1F22A1102D0 for ; Thu, 27 Feb 2025 17:22:27 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id AA181343163 for ; Thu, 27 Feb 2025 17:22:26 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 13F7A2731 for ; Thu, 27 Feb 2025 17:22:25 +0000 (UTC) From: "Arthur Zamarin" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Arthur Zamarin" Message-ID: <1740676914.649d63647eb4cd6d6d715d6c6b2eef738b2cc1c8.arthurzam@gentoo> Subject: [gentoo-commits] proj/pkgcore/pkgcheck:master commit in: testdata/repos/python/dev-lang/pypy/, ... X-VCS-Repository: proj/pkgcore/pkgcheck X-VCS-Files: src/pkgcheck/checks/python.py testdata/data/repos/python/PythonCheck/DistutilsNonPEP517Build/fix.patch testdata/data/repos/python/PythonCompatCheck/PythonCompatUpdate/expected.json testdata/data/repos/python/PythonCompatCheck/PythonCompatUpdate/fix.patch testdata/repos/python/PythonCheck/DistutilsNonPEP517Build/DistutilsNonPEP517Build-0.ebuild testdata/repos/python/PythonCheck/PythonAnyMismatchedDepHasVersionCheck/PythonAnyMismatchedDepHasVersionCheck-0.ebuild testdata/repos/python/PythonCheck/PythonAnyMismatchedDepHasVersionCheck/PythonAnyMismatchedDepHasVersionCheck-1.ebuild testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-0.ebuild testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-1.ebuild testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/PythonAnyMismatchedUseHasVersionCheck-2.ebuild testdata/repos/python/PythonCheck/PythonHasV ersionMissingPythonUseDep/PythonHasVersionMissingPythonUseDep-0.ebuild testdata/repos/python/PythonCheck/PythonHasVersionUsage/PythonHasVersionUsage-0.ebuild testdata/repos/python/PythonCheck/PythonHasVersionUsage/PythonHasVersionUsage-1.ebuild testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-0.ebuild testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-1.ebuild testdata/repos/python/PythonCheck/PythonMissingDeps/PythonMissingDeps-2.ebuild testdata/repos/python/PythonCompatCheck/PythonCompatUpdate/PythonCompatUpdate-3.ebuild testdata/repos/python/dev-lang/pypy/pypy-3.11.7.3.18.ebuild testdata/repos/python/eclass/python-any-r1.eclass testdata/repos/python/eclass/python-r1.eclass testdata/repos/python/eclass/python-single-r1.eclass testdata/repos/python/profiles/desc/python_targets.desc X-VCS-Directories: src/pkgcheck/checks/ testdata/repos/python/PythonCheck/PythonHasVersionUsage/ testdata/repos/python/PythonCheck/PythonMissingDeps/ testdata/data/repos/python/PythonCheck/DistutilsNonPEP517Build/ testdata/repos/python/eclass/ testdata/repos/python/PythonCheck/PythonAnyMismatchedUseHasVersionCheck/ testdata/repos/python/PythonCheck/PythonHasVersionMissingPythonUseDep/ testdata/repos/python/profiles/desc/ testdata/repos/python/PythonCheck/DistutilsNonPEP517Build/ testdata/data/repos/python/PythonCompatCheck/PythonCompatUpdate/ testdata/repos/python/PythonCheck/PythonAnyMismatchedDepHasVersionCheck/ testdata/repos/python/dev-lang/pypy/ testdata/repos/python/PythonCompatCheck/PythonCompatUpdate/ X-VCS-Committer: arthurzam X-VCS-Committer-Name: Arthur Zamarin X-VCS-Revision: 649d63647eb4cd6d6d715d6c6b2eef738b2cc1c8 X-VCS-Branch: master Date: Thu, 27 Feb 2025 17:22:25 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 69705857-d799-41f9-a6d7-1ab939dd2e63 X-Archives-Hash: df9d88e4ee20e6a3fc388eccf67c86fe commit: 649d63647eb4cd6d6d715d6c6b2eef738b2cc1c8 Author: Arthur Zamarin gentoo org> AuthorDate: Thu Feb 27 17:21:54 2025 +0000 Commit: Arthur Zamarin gentoo 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 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