summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/bitarray/Manifest1
-rw-r--r--dev-python/bitarray/bitarray-3.5.2.ebuild24
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.39.10.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.39.10.ebuild67
-rw-r--r--dev-python/clang/Manifest2
-rw-r--r--dev-python/clang/clang-22.0.0_pre20250722.ebuild (renamed from dev-python/clang/clang-21.0.0_pre20250713.ebuild)0
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.136.2.ebuild127
-rw-r--r--dev-python/ipykernel/Manifest1
-rw-r--r--dev-python/ipykernel/ipykernel-6.30.0.ebuild79
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild6
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/lit/Manifest2
-rw-r--r--dev-python/lit/lit-22.0.0_pre20250722.ebuild (renamed from dev-python/lit/lit-21.0.0_pre20250713.ebuild)0
-rw-r--r--dev-python/narwhals/Manifest3
-rw-r--r--dev-python/narwhals/narwhals-1.46.0.ebuild36
-rw-r--r--dev-python/narwhals/narwhals-1.48.0.ebuild (renamed from dev-python/narwhals/narwhals-1.47.0.ebuild)0
-rw-r--r--dev-python/pypy-exe-bin/Manifest8
-rw-r--r--dev-python/pypy-exe-bin/pypy-exe-bin-7.3.19.ebuild82
-rw-r--r--dev-python/pypy-exe/Manifest2
-rw-r--r--dev-python/pypy-exe/pypy-exe-7.3.19.ebuild187
-rw-r--r--dev-python/python-tests/Manifest3
-rw-r--r--dev-python/python-tests/python-tests-0.3.14.0_rc1.ebuild73
-rw-r--r--dev-python/python-tests/python-tests-3.14.0_rc1.ebuild72
-rw-r--r--dev-python/types-docutils/Manifest1
-rw-r--r--dev-python/types-docutils/types-docutils-0.21.0.20250722.ebuild16
-rw-r--r--dev-python/virtualenv/Manifest1
-rw-r--r--dev-python/virtualenv/virtualenv-20.32.0.ebuild127
32 files changed, 661 insertions, 340 deletions
diff --git a/dev-python/bitarray/Manifest b/dev-python/bitarray/Manifest
index cec7b6315584..bc3832554464 100644
--- a/dev-python/bitarray/Manifest
+++ b/dev-python/bitarray/Manifest
@@ -1,3 +1,4 @@
DIST bitarray-3.4.3.tar.gz 143930 BLAKE2B 6a41725fa551429dfd1715fde7543520362dbbe193bc8fe60a44508bc88e4d24eb74e28d65f7a32c1129713d2ae11fcac8562d23e5d5ecfb06e3355ffdb46f01 SHA512 4129ccd84ffc698a05f1625307b9becbdc46d9adacff73ea8b82d250da9a2a7071c132a2491b63b5018b3d444038311c35274b33a5a70178bb9bd62c770ed845
DIST bitarray-3.5.0.tar.gz 148024 BLAKE2B ecfe33980cc5e4db191fb706deb3811135836cbc7c47011d43a767053490a3837d87d944c13d2acdfc2b236cf37ac93a46703fc4ebab6d93c2fd394b988b28a7 SHA512 e7d937367b873e5282d785ca0390f5f9e87fe734df733ccf7e77ca536a3e348d423561c4fc789459db9a5b00acf0f5ccc37185cbc55e13f3647db2397ff07778
DIST bitarray-3.5.1.tar.gz 148859 BLAKE2B ea549d8a4de0f24c12692d7b89deea3f6f16ab1424e26301afdccdee3fd740261334376575fa26adc0d017e837357504d0830f48b165df25ca2964f63af1c29f SHA512 9b417a7c000b3b51fe2c278e82ebe5db4b78265fdd29089eb13098fcb3997a24eeb80c7a3efb1bd21addcfbec6359d2978ef1626bd89fcf2397cc3e1b1b823a4
+DIST bitarray-3.5.2.tar.gz 148393 BLAKE2B 8c1b8aff8c30a0178916eee0b74aa8bc3e7b7300d466d8eba2c7295516d97e4860c5ac093009edd716e18b9c5460634b99b37277ef5bf37ed9adfc23799deac7 SHA512 2f730217146e69ff6d8eca3f46c57e43305518a6f263f10acd7302591990f565780747c88f62d0d2b11648f8d35977ec011697088778b02416edf532e7f2770b
diff --git a/dev-python/bitarray/bitarray-3.5.2.ebuild b/dev-python/bitarray/bitarray-3.5.2.ebuild
new file mode 100644
index 000000000000..a510687dc8fd
--- /dev/null
+++ b/dev-python/bitarray/bitarray-3.5.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Efficient arrays of booleans -- C extension"
+HOMEPAGE="
+ https://github.com/ilanschnell/bitarray/
+ https://pypi.org/project/bitarray/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+python_test() {
+ "${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 95769ce50d33..29f9a7c78c62 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,4 @@
+DIST boto3-1.39.10.gh.tar.gz 972290 BLAKE2B 36840a23a6682253267ae075c0475da51e899f5c00454738c01657e35bd5763983aa7ecc253f9899a2e70f252f8986908d6253928e091f613b187f5505d07fd5 SHA512 a8211c790a599a5da48822238d958a1449433312a6119fc954158e02f5a91989faa38326963f04a67f283f3163af1be59221aac5683fc4560baa3eebc0d182ad
DIST boto3-1.39.3.gh.tar.gz 967377 BLAKE2B 239fcd2d4492d3848dc473c71cf3bf8cae80b844303c32cf0e405e810b18c892bf100705c39d81c196cd83288db2500331b9d706d481ebcfee8237d245af4bb1 SHA512 89a8e3bb96255c097ffa8a8d2dad6c18835d5404d502ba41fd500aac8dfb0d1229478b6d17e82e5668d00d6df604ade5a209a6c99f3d11fc956dee4c77c2452c
DIST boto3-1.39.4.gh.tar.gz 967954 BLAKE2B 5e63cfb5c2381605475c928c4aec6cf303b99ca13eb67377e5a283e07d0de35eb6846352976a854632e72c34477f964b32ffc8f0fc178d10d7e95df8d4a145cc SHA512 dbe389b4eb1e8ac1f425f34bb96c5baecc42acdc608bef7ddc31e1fbaa3baa6850504cb9513494a6ca782755ce9264fd0d794960eeb495678ef1cb3d2c85fe90
DIST boto3-1.39.9.gh.tar.gz 971951 BLAKE2B d77a87e3035a2797ff67d49c3df329836c51b305c72f8ce01445b668802aa1a529424e744ddd18e142cd35a0680be51383b56512dca115506a1a0f4860657b47 SHA512 c6df821d3558ca1d234a4a1dea231467c0935dff7c34e6eb01b067d4d2396024308f70218a621064b111359bc5197b191bc8f4a099bcfcc5f4d5bf174ba859b0
diff --git a/dev-python/boto3/boto3-1.39.10.ebuild b/dev-python/boto3/boto3-1.39.10.ebuild
new file mode 100644
index 000000000000..bd6e26787db4
--- /dev/null
+++ b/dev-python/boto3/boto3-1.39.10.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 128ef5dffca0..d3fb6613aceb 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,4 @@
+DIST botocore-1.39.10.gh.tar.gz 14988031 BLAKE2B f2c3ccd639dfb1f7e2dfe7aa628b27446c91c2a4eb82cb73b4a43773e07c6dc3491eefc8c44fcc0bb292bf354c319a1aa0fcb0284f97ec283eb78bd681525921 SHA512 b6368e01422f324793eedc4580c4ec472a7511807d75b3e4443db1dad9993ebaec5e64692993ae69a3f4b1ba9e6652c5bbe7f41f797fccb895e78e31fa5fb590
DIST botocore-1.39.3.gh.tar.gz 14896843 BLAKE2B a2ddac0665f108b8db6c0b365080d5c7ae762fffce9e9a27af43658e9a595a924651f15c4daee8e4dc996b94972a8ea829cba81b0057df25c3c304449bbb1e3b SHA512 56bb2b79964d41f11d15d628801eb0b4feba700449da2e0a4a79b293a59b81b37b66e2863320eba7847271533c5ab76eb3ff624e19ec32dd632884baf662cf62
DIST botocore-1.39.4.gh.tar.gz 14901512 BLAKE2B 08fc52957828be9ccee26f61c4c006679c4f47754d4ecdf15eecfbb991808035215d1aac24f5ddf76a64673b23132b555fcb24adf57aacda8679abd7b0a16040 SHA512 3a68c96000a4e393abb68a9ca843ad62b74decd12ba551fa642efd21095fb3de50f0eeb8ee71f8934e9efa47486a138ee7bad6f3f4408fd5eff0a0fbf5053e6e
DIST botocore-1.39.9.gh.tar.gz 14983953 BLAKE2B 929c2456d8efc4256326c255888ebca82edd837df2dc0beeb37119af5f397b74c8e1d1349c66adc79361fe0cbdcb74d268b04ca563fa0047b27cd8f70f755290 SHA512 421421a9ac2845e18ccc6904b443d2d53883c5f85df1b34245541546ef5369cd29fc7af8751507e7513d06c818ff195bc59d6ea4e773b8975d4de874ba79116d
diff --git a/dev-python/botocore/botocore-1.39.10.ebuild b/dev-python/botocore/botocore-1.39.10.ebuild
new file mode 100644
index 000000000000..a931fcaefec4
--- /dev/null
+++ b/dev-python/botocore/botocore-1.39.10.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/clang/Manifest b/dev-python/clang/Manifest
index 3d7f8196098b..1a34b4e03665 100644
--- a/dev-python/clang/Manifest
+++ b/dev-python/clang/Manifest
@@ -15,4 +15,4 @@ DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B 7657ac0b26acc5affb1bfc91b9
DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B 85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4 SHA512 d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619
DIST llvm-project-21.1.0-rc1.src.tar.xz 158955624 BLAKE2B 6a33d48f41f92cd8731011678afdf4c6f6a4581af04483626c511d1c9410d62788eb660e05cdfe418085509b576c29eec5bb07ae7ddc993e9931287657c11e03 SHA512 7ab3d1bb49bd3c5c9c1490cd865fdef027c25d64bb7f6a2a16c11c311670d08b7a214323ae4781aa0f49973deb0039ebea9d04887089df8dedf65080acdfc871
DIST llvm-project-21.1.0-rc1.src.tar.xz.sig 438 BLAKE2B d3736b7f4bb6133e542fb3f52d1b76acc2920558e61bbbeeec6e5b7639ca54e229803b27baa4aedd2134c11fb4439064ac36e90c8c1831a503dd1754efee8da6 SHA512 6b9565f270fae4e534a160916bbd01ccd0e1295bf17df13f3be05bed4f058c0e935ba7385aba74a195d3a13868d81f2a0cf4be966b216fc6d7b56002f33eb4a0
-DIST llvm-project-b6313b381ac0e83012ea11b4549cd8cb39b686d2.tar.gz 242588863 BLAKE2B 81e7db20b849ce7a5c7c6b03d1e62a2e225eb68473509baf0adc9e74a2f759d251b61b018528d5db93f77b65ac355a71ede81bec7e97f9c71a41f34a5d8625bd SHA512 258b99ef79d7efd4ec58d6a5370969b8032149f05fea4dfa841398ed59a550219f4223cd79581bc6fc4428dd9b09f44abf9f5369348831f463b9eb401a614d61
+DIST llvm-project-b956f049b186fafafebc88b861982644ec3f5291.tar.gz 243231046 BLAKE2B 473de217c29f168101976e0cd8b17f22c4a310c7f5bc7f8301a63d3abe1295fe75819178ff23bc22a475753cba097ef69042b0d40d1d9e3baef159aa9f8bea93 SHA512 0fb567ad5ea357c4aacfda4c256e78098017492a14998a409d4d5f5625384810a108420589ac22e700050fdd695bea870e64d18e7a6c8e8836a581aba263d40a
diff --git a/dev-python/clang/clang-21.0.0_pre20250713.ebuild b/dev-python/clang/clang-22.0.0_pre20250722.ebuild
index 4dd3bb26996f..4dd3bb26996f 100644
--- a/dev-python/clang/clang-21.0.0_pre20250713.ebuild
+++ b/dev-python/clang/clang-22.0.0_pre20250722.ebuild
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 55f71cacd458..855c0ee363fe 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,3 +1,4 @@
DIST hypothesis-6.135.25.gh.tar.gz 9592222 BLAKE2B 42538cd2fa63968ea75cc42dfa92f998d50fb92e77726c8eee42e10c94ec69ea5a682e070e3c04bfe49b229cbf03e26d4ab04ac7dabe2c34f81e217ad8491f90 SHA512 bb245d38ac9f2b0aced7890cb6c7cba4ce4b98ccb8f843afe02094a63058aad63f6c7c4ad2dcaa4af753f5823544d394875049a0b56ea2d98f84db39351a7668
DIST hypothesis-6.136.0.gh.tar.gz 9596080 BLAKE2B 65acbc8ea75e6fea22d7ee1329f68426a810b8e2fa5d31b37bb191a793a21e085d79b39de304a17979eebf3edc7202e2935e8fc3abef4e05d10aba648ff74ac9 SHA512 fb1cff6f9b6f48975928550c10bf13f9fcd48e32bb9363faf9abb204bf426ff980d6480688d06648ccc0163d0235e40b6c47ff2a1c988182ab35dc87b3434dcf
DIST hypothesis-6.136.1.gh.tar.gz 9596297 BLAKE2B d9131ab81383ca13804ed628b6a0084c63d964d9d12e91d3eaf3d94077498a4ceafac19d8dee75b95a800e134b3189b9577610b0c874dacf7c5a385ddb86f2d0 SHA512 8aef18e5a51f4a40f7dd04dcab1ba61a4dec3a9449891a1869a444cb8274e7cc71940f8412486f258ca822f74adcb3f3bee96f5ded7e464498a0fc4543b03146
+DIST hypothesis-6.136.2.gh.tar.gz 9597138 BLAKE2B 06b6d4ea1e46a65af75380e08e1de3081106972145de3bc7be92236e4c982ca8655e4aeec016d19f003bd88b9881f1f0ac87cfa5047164e361defe46259b4798 SHA512 386326b0c83192cd7c8af22c309db78d561bdbf4135cc8daf08221885b07f8f9cf535c340a217c2c807c3f963e2aa16ad9bbb443590b47da8aee69904b43daab
diff --git a/dev-python/hypothesis/hypothesis-6.136.2.ebuild b/dev-python/hypothesis/hypothesis-6.136.2.ebuild
new file mode 100644
index 000000000000..ac2579cbfd4d
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.136.2.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-rerunfailures )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.13t)
+ EPYTEST_DESELECT+=(
+ # TODO: missing warning
+ 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
+ )
+ ;;
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]'
+ 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]'
+ hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds
+ hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence
+ hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression
+ hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types
+ hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic
+ hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense
+ hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns
+ hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope
+ hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref
+ )
+ ;;
+ esac
+
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ epytest -o filterwarnings= --reruns=5 \
+ tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/ipykernel/Manifest b/dev-python/ipykernel/Manifest
index 6285716f4fce..3d40fa4bc64a 100644
--- a/dev-python/ipykernel/Manifest
+++ b/dev-python/ipykernel/Manifest
@@ -1,2 +1,3 @@
DIST ipykernel-6.29.5.tar.gz 163367 BLAKE2B ac1a48093b68a79c9b656cc3960f35ae2e28ac110b4a560b7434b853e37e505034d7822fc2d6557f03e1f82a260abba53cf53ba9dde4fc6fc468fd65fb46875a SHA512 271232ad6168ff00d6eb729bb38804f6a030b85be9bd75341b4af8ca1feb9f3c6b088eff77f4efcc503512559c93f1d78c13904089b7acb5205c4039daf0cea0
+DIST ipykernel-6.30.0.tar.gz 165125 BLAKE2B 363d508e0a8bca66d8ccf26ec2806aa75e41b1a27db63366eabc64bee5e861328fcb5a0d33642d956d4f43666e1966978c5fe3fcb624ad4e43c466142d96ce72 SHA512 a5d1bd45b8e9f7fcd876a845a49c6f86cff6063ae351779f628baf9a84cc99e4012d40afea0bb4c432acc4c86d90bdeda60287aa99b48a425f5e34bd5d4fc44f
DIST ipykernel-7.0.0a1.tar.gz 169472 BLAKE2B 0377a630d16b9aa481f516e09dea4510eecb35e3dc6d69943c28048f8c6fa9bc28ff960909dd47a701981e24f412ce4e1aab60804252fe1b9e8f526e0aaefa27 SHA512 2b9b1b4e25e9d8e188008b9f11396862bdf36c4525e849f6962ce3468963b9f13ac2d20e6776fc895e51e4062a74a0da2d94fd226c4ae3c750c3a20841743d25
diff --git a/dev-python/ipykernel/ipykernel-6.30.0.ebuild b/dev-python/ipykernel/ipykernel-6.30.0.ebuild
new file mode 100644
index 000000000000..d0e3b51ea8d0
--- /dev/null
+++ b/dev-python/ipykernel/ipykernel-6.30.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="IPython Kernel for Jupyter"
+HOMEPAGE="
+ https://github.com/ipython/ipykernel/
+ https://pypi.org/project/ipykernel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-8.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.12[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-inline-0.1[${PYTHON_USEDEP}]
+ >=dev-python/nest-asyncio-1.4[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.7[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-25[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.4.0[${PYTHON_USEDEP}]
+"
+# RDEPEND seems specifically needed in BDEPEND, at least jupyter
+# bug #816486
+# pytest-8 runs a small subset of tests, we allow newer for 3.13
+# since a few tests are better than skipping entirely
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/ipyparallel[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( flaky pytest-{asyncio,timeout} )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # TODO
+ tests/test_debugger.py::test_attach_debug
+ tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
+ tests/test_debugger.py::test_rich_inspect_at_breakpoint
+ tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
+ tests/test_debugger.py::test_set_breakpoints
+ tests/test_debugger.py::test_stop_on_breakpoint
+ tests/test_debugger.py::test_copy_to_globals
+ # hangs?
+ tests/test_eventloop.py::test_tk_loop
+ # doesn't like pyside2?
+ tests/test_eventloop.py::test_qt_enable_gui
+)
+
+src_prepare() {
+ # debugpy is actually optional
+ sed -i -e '/debugpy/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ # Use python3 in kernel.json configuration, bug #784764
+ sed -i -e '/python3.[0-9]\+/s//python3/' \
+ "${BUILD_DIR}/install${EPREFIX}/usr/share/jupyter/kernels/python3/kernel.json" || die
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index a11d7c268c91..d12ab8aeaca8 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1 +1,3 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
+EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e
+MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
deleted file mode 100644
index 637368d2f237..000000000000
--- a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
-
---- a/setup.py
-+++ b/setup.py
-@@ -18,7 +18,7 @@ setup(
- author_email='michal.danilak@gmail.com',
- url='https://github.com/Mimino666/langdetect',
- keywords='language detection library',
-- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
-+ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
- include_package_data=True,
- install_requires=['six'],
- license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index 99577c43fc3e..56733bbffc48 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -19,6 +19,4 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
-
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index c0f74ac187e2..020e07f2a3dd 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,9 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>pastalian46@gmail.com</email>
- <name>Takuya Wakazono</name>
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
</maintainer>
-
- <origin>gentoo-guru-overlay</origin>
+ <upstream>
+ <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
+ </upstream>
+ <origin>slonko-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index c236d706a884..d273b27cf65a 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -14,4 +14,4 @@ DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B 7657ac0b26acc5affb1bfc91b9
DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B 85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4 SHA512 d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619
DIST llvm-project-21.1.0-rc1.src.tar.xz 158955624 BLAKE2B 6a33d48f41f92cd8731011678afdf4c6f6a4581af04483626c511d1c9410d62788eb660e05cdfe418085509b576c29eec5bb07ae7ddc993e9931287657c11e03 SHA512 7ab3d1bb49bd3c5c9c1490cd865fdef027c25d64bb7f6a2a16c11c311670d08b7a214323ae4781aa0f49973deb0039ebea9d04887089df8dedf65080acdfc871
DIST llvm-project-21.1.0-rc1.src.tar.xz.sig 438 BLAKE2B d3736b7f4bb6133e542fb3f52d1b76acc2920558e61bbbeeec6e5b7639ca54e229803b27baa4aedd2134c11fb4439064ac36e90c8c1831a503dd1754efee8da6 SHA512 6b9565f270fae4e534a160916bbd01ccd0e1295bf17df13f3be05bed4f058c0e935ba7385aba74a195d3a13868d81f2a0cf4be966b216fc6d7b56002f33eb4a0
-DIST llvm-project-b6313b381ac0e83012ea11b4549cd8cb39b686d2.tar.gz 242588863 BLAKE2B 81e7db20b849ce7a5c7c6b03d1e62a2e225eb68473509baf0adc9e74a2f759d251b61b018528d5db93f77b65ac355a71ede81bec7e97f9c71a41f34a5d8625bd SHA512 258b99ef79d7efd4ec58d6a5370969b8032149f05fea4dfa841398ed59a550219f4223cd79581bc6fc4428dd9b09f44abf9f5369348831f463b9eb401a614d61
+DIST llvm-project-b956f049b186fafafebc88b861982644ec3f5291.tar.gz 243231046 BLAKE2B 473de217c29f168101976e0cd8b17f22c4a310c7f5bc7f8301a63d3abe1295fe75819178ff23bc22a475753cba097ef69042b0d40d1d9e3baef159aa9f8bea93 SHA512 0fb567ad5ea357c4aacfda4c256e78098017492a14998a409d4d5f5625384810a108420589ac22e700050fdd695bea870e64d18e7a6c8e8836a581aba263d40a
diff --git a/dev-python/lit/lit-21.0.0_pre20250713.ebuild b/dev-python/lit/lit-22.0.0_pre20250722.ebuild
index fdf920bda34f..fdf920bda34f 100644
--- a/dev-python/lit/lit-21.0.0_pre20250713.ebuild
+++ b/dev-python/lit/lit-22.0.0_pre20250722.ebuild
diff --git a/dev-python/narwhals/Manifest b/dev-python/narwhals/Manifest
index 74eff46b862b..a7d00944fb5d 100644
--- a/dev-python/narwhals/Manifest
+++ b/dev-python/narwhals/Manifest
@@ -1,3 +1,2 @@
-DIST narwhals-1.46.0.tar.gz 512060 BLAKE2B 7d1b5da00a9f8ea1da46d10d783a04eb11ecf83acfa819d7e91cbd142fa18d5cc833d5867f206c9dd726fb0dc5f342cd6723ae9e4ba68b4584ae92f54362a4f6 SHA512 2a3da2628389c805d78af2047340cf00d2cac44a0bff4616d4211ac28878bc2e88355936ecd69fd6d82694c3e4423953d294adbdfb7f77768489865d40f9d1a6
-DIST narwhals-1.47.0.tar.gz 514799 BLAKE2B a069ff546c2e8588490aa274be6f5a90a134ce6f98625263389c2500cae53d73d7970599de4cdd26a7d58658d275af7662413b2b17e768c4dd3d24ab29326064 SHA512 ec2794079e5e5a2ec7ca6da49707e392148d2c6786bdc443e09d00d2c04ef02fed4b73308f8b1a05537ef042a5ef4d4f25992559d050bba75bad52eecc34248f
DIST narwhals-1.47.1.tar.gz 516244 BLAKE2B 432b08ab90e596be515d46cba4fa7911ee6703aa80d71ea56fbb1af390ee30cb3c0d021a840c73cd6b533f3de7f4d430da28bab31530c7e4578deaca16148166 SHA512 f00a128007f32b765283b806f80063a538c402ca1082d626e48c8a536b193eb056fcd4b9ab828ccf44360cce5f72c64f1c77aeb39d7be9f8412f78eebb7db8c3
+DIST narwhals-1.48.0.tar.gz 515112 BLAKE2B 554c6d5e91762390a641e90d02f2e6a23e54fcff535a0a4757063ca2cd2b33046bfc3020d04dd983d0e7babd29a0585a026cf4b81a2cc265f1715019daf0864d SHA512 f2793a5ee0a99d0c339c24b707a2eb68b0445cef99c774058481c6b98e25c7bc2cf644f2c1ca19d74bfaddd750d5697fb843ec4eff0c61d42e6068ef20ecdbef
diff --git a/dev-python/narwhals/narwhals-1.46.0.ebuild b/dev-python/narwhals/narwhals-1.46.0.ebuild
deleted file mode 100644
index 2ebfce13d84d..000000000000
--- a/dev-python/narwhals/narwhals-1.46.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Extremely lightweight compatibility layer between dataframe libraries"
-HOMEPAGE="
- https://github.com/narwhals-dev/narwhals/
- https://pypi.org/project/narwhals/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-BDEPEND="
- test? (
- >=dev-python/pandas-1.1.3[${PYTHON_USEDEP}]
- dev-python/pyarrow[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( hypothesis pytest-env )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- # make hypothesis more forgiving
- local -x CI=1
- epytest --runslow --constructors="pandas,pandas[nullable],pandas[pyarrow],pyarrow"
-}
diff --git a/dev-python/narwhals/narwhals-1.47.0.ebuild b/dev-python/narwhals/narwhals-1.48.0.ebuild
index d2a95b1951d3..d2a95b1951d3 100644
--- a/dev-python/narwhals/narwhals-1.47.0.ebuild
+++ b/dev-python/narwhals/narwhals-1.48.0.ebuild
diff --git a/dev-python/pypy-exe-bin/Manifest b/dev-python/pypy-exe-bin/Manifest
index 95f746a8b0aa..f6a6bb3cafe9 100644
--- a/dev-python/pypy-exe-bin/Manifest
+++ b/dev-python/pypy-exe-bin/Manifest
@@ -1,11 +1,3 @@
-DIST pypy-exe-7.3.19-1.amd64-musl.gpkg.tar 13056000 BLAKE2B fcc7de500e157a3c9f64f96014aea8221649d9ae360556a67420dc4c33f0d9379a956ba227532321a2b7acc72d29a9f8b8c3b8842b6d521ceadfa435fa23e44a SHA512 e21517062daa435ae5fb7faa7bfe4a65af7a14953de50c2cca156c529f0c4ae86234c6d6ad84bc9d8cc2df33022daf219a38b3d8ccdfcbb32fca49c2f1dfec1b
-DIST pypy-exe-7.3.19-1.amd64.gpkg.tar 13015040 BLAKE2B d7665bc405df19f1eb1a14688f342af2696fa1a6268dd34de669d45ee0135d05f6a2d5405327fd814f4a0377f49d972018fc373d71dd3b0e3d8e0167b20ec62b SHA512 3c7067c1c2c98cf70dbf6f75a293e4a9faccb973a083258a47d908b8cd5f3a785fc816f563166aa372d5b83686305efdeb22073b89f63377548a1448f060d0f1
-DIST pypy-exe-7.3.19-1.arm64-musl.gpkg.tar 11048960 BLAKE2B d48a45b936728b01f11adb15530b5d68faa49a398014f5508a15d5fb776bf2e4657b3fff0040e8d2649c7db4c5b70e92fa666c7d80e5e7eacd6191367e990735 SHA512 8c6bf2e4482d962e627e932a8d2bd3b7d298cae115cf2d9f1fbc312b2fe4fd41f27f1f072e49f510b77a82c8b6a089f49082bdb1801a0b7457e65a1e8e44f4d2
-DIST pypy-exe-7.3.19-1.arm64.gpkg.tar 11110400 BLAKE2B 6672e719febe848f2d0b73bc5782b278ccdb97a98ab26b4f85913d28b2ed140bbb066bffc5de44eedac1a51997dba58d56f7f3781e5143c025c1c444babb16ee SHA512 269415fa9f7b8c36c3802888c2082be6ab90b00375f45b050b559510938d6f7d43bd77e88f526d114f233fb609c3256a549eb1c682fb9c4088f35fbe6ff3cc52
-DIST pypy-exe-7.3.19-1.ppc64le-musl.gpkg.tar 6717440 BLAKE2B 9e5258903f236bb504fe3f1484d1ddbc78c909f82f9ddbfe5cdf14a3a472a687af0911ae7b30d1b6e05cf2d28eceb7a87ed5c1f5c16fb5cea01924862aeb0f1a SHA512 9fc92c902224467ddbe87470fc7d6df3862f08755a28ceba5fbcba10121be2902c49f1ad13d9a6d16f0abe914d8645ef7891847856d263d2cdd5bd7f60f3fa61
-DIST pypy-exe-7.3.19-1.ppc64le.gpkg.tar 11161600 BLAKE2B 6000ff3033739645c942866272ed077108754923b9b134d99fbc59bcb8b5b1b3528d94280e6c72f7d587d4513d845bac9093db0d815ec6405aedcaf77a571d28 SHA512 13446e989274d99844ade99b7505e126baeb09b7187fd9fa6c5075cc7c95425867d2b299d42ce6fa5cbfe62b3509bb739688108e1f8fb8998e57660e152b081f
-DIST pypy-exe-7.3.19-1.x86-musl.gpkg.tar 9963520 BLAKE2B e0d3d366f5fea84169c6806c11b108d77b823518c439ff9ad055d4f11e22c76800ddf09970ee963db9fb6d62fd1b46e5bedf0ea7785465127f501b1aac67fb44 SHA512 af7de4487566a5b3cb37e895e9c16858cda9e7e81b70f7573ca5ebf213677caf6fe56dbcb5f3445349286c9e10d40243c15800f278ddb8de8c4d9db8a83e9a91
-DIST pypy-exe-7.3.19-1.x86.gpkg.tar 9912320 BLAKE2B 5df25fff2d98fa5662378b6e44bf954535771c12dac05ec1671c761b4743791d63c9a25132206f30229f1e2edab3ab4392ede84e6fc4ceecc351cac4f4db8d21 SHA512 d4457136dfe189cbe19a68a5234c4f3eecd9de241eb9eb75cdf333c3767ea1d300e2f4c64326f7185369a8ff49f0356c3bd4c01f02eef58d35f78ece7db94c43
DIST pypy-exe-7.3.20-1.amd64-musl.gpkg.tar 13076480 BLAKE2B 5baa61d48ea0e6d94567262b67a62eeb20f695cb641ec8e1e19d5009501f51b62c8a9f28729a3093631a3303ff0eb770207f34fe38f5a68ab616630c859edc3e SHA512 03c4009f202f1f5316836f054e41b755dc6959929ad52e1588b6f95af7243e2da95ccb7120a8a373280819ac261bef7aa544fc5a8420b2f7892be32f2585599c
DIST pypy-exe-7.3.20-1.amd64.gpkg.tar 13045760 BLAKE2B 54fdc97154a4776b498d2ea9589e9676dad7de319767f4c1ec7c0c7f7f5f7864215edb5988b0589205f46a76b62e01a7afc73cb9b8f6bcd8096cf8a88cbe5740 SHA512 70d4793db27c92e5c08b0e41c382569210463183eb7756d3c0c5815ee954699e297d721a5c10e02a8aeddf3b3df5aeb30fb1d4ee30beda1ce6aa7d005759831c
DIST pypy-exe-7.3.20-1.arm64-musl.gpkg.tar 11069440 BLAKE2B 9a3172c91e2976123e08762ace8d6e3b4de26cfde54a4255c1fe3b3c606a3b9b520092dad72c674001ad48bba79a0c798754fcd82c5cb217b3bf8cb9a5fc663d SHA512 6570d288e701c36765642f1b62815abacc54f8aba1f62a715827785402f40ecbccb77d2936697524eb552aea6804d2bd983b939e1745ab7b8040ac014d6832b3
diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.19.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.19.ebuild
deleted file mode 100644
index eb6b61c182a7..000000000000
--- a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.19.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pax-utils unpacker
-
-MY_P=pypy-exe-${PV}-1
-DESCRIPTION="PyPy executable (pre-built version)"
-HOMEPAGE="
- https://pypy.org/
- https://github.com/pypy/pypy/
-"
-SRC_URI="
- elibc_glibc? (
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.amd64.gpkg.tar
- )
- arm64? (
- https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.arm64.gpkg.tar
- )
- ppc64? (
- https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.ppc64le.gpkg.tar
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.x86.gpkg.tar
- )
- )
- elibc_musl? (
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.amd64-musl.gpkg.tar
- )
- arm64? (
- https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.arm64-musl.gpkg.tar
- )
- ppc64? (
- https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.ppc64le-musl.gpkg.tar
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.x86-musl.gpkg.tar
- )
- )
-"
-S="${WORKDIR}"
-
-LICENSE="MIT"
-SLOT="${PV%_p*}"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-
-# sys-devel/gcc for libgcc_s.so
-RDEPEND="
- app-arch/bzip2:0/1
- dev-libs/expat:0/0
- dev-libs/libffi:0/8
- sys-libs/ncurses:0/6
- >=sys-libs/zlib-1.1.3:0/1
- virtual/libintl:0/0
- elibc_glibc? (
- sys-devel/gcc
- >=sys-libs/glibc-2.35
- )
- !dev-python/pypy-exe:${SLOT}
-"
-
-QA_PREBUILT="
- usr/lib/pypy2.7/pypy-c-${SLOT}
-"
-
-src_install() {
- insinto /
- doins -r */image/usr
- fperms +x "/usr/lib/pypy2.7/pypy-c-${SLOT}"
- pax-mark m "${ED}/usr/lib/pypy2.7/pypy-c-${SLOT}"
-}
diff --git a/dev-python/pypy-exe/Manifest b/dev-python/pypy-exe/Manifest
index 15d3a0018b89..611381885557 100644
--- a/dev-python/pypy-exe/Manifest
+++ b/dev-python/pypy-exe/Manifest
@@ -1,4 +1,2 @@
-DIST pypy2.7-gentoo-patches-7.3.19.tar.xz 5328 BLAKE2B c997c0e7f39a4a6a9ec34811b38fc8f9b90ccae8c958ca420074013d63a4f1b453b6331be79a2df299efe177cc99d91038ae56156d37b5f9b9f8715ccd2cb75d SHA512 7bac5331fa868c60b376e405df212a29d406f117035fbc1ad8bd6d81212ab2ea4ce5b6b40e8dbbb6303fe941152e37aae17608a2eca9efd16767c8844f6f5fdb
DIST pypy2.7-gentoo-patches-7.3.20.tar.xz 5324 BLAKE2B d2ac71ae4360292d1f4661e10ec817bebdaceb00c6deb92eb8ffaf023d7f0e511c10f10aac6c60d436f9b0f34185e989a87780c99913d011a679df8cdb6f255d SHA512 69839ed3c5cba8983661da8719b06a3054b94fc1a3eca9ccf3546c523745811cd91963afb39ea9551fe98e8f71fab6c9344ccbb0378c2b51f0dca8aef7f04ac4
-DIST pypy2.7-v7.3.19-src.tar.bz2 21011665 BLAKE2B b8e205927c829753dd3e5aba0868923efff73f62e5338d6200aab2470857fff9cf38763ab8b63a74a39299d4956d4794eedf5d474d083875bbb9cee9ea757e64 SHA512 8ab8d9c0fa94ec96ebfae30b7f97eb8dff6ad4ee17fa688df123927c45f3ffea2c7f5dbb98bd2f8a49f7db6baf0ba3e98fd230df0bdc8602e407fb2bc33144e3
DIST pypy2.7-v7.3.20-src.tar.bz2 21016441 BLAKE2B 382830a4e2511b77861a96a52038f0f6ca69fd3a938cdc0434285dac217bbeacacb71a5566edad0240e7e7723924ee449b2237b3a84008e80922b19df8880638 SHA512 f23a065efc7f4ab4020de554ff1411b21d05364e19dd49f7026a9a1f90761342bdf5606f1522094991c189df449387ebf0f79240902b6836235cb3a4e89d6d3a
diff --git a/dev-python/pypy-exe/pypy-exe-7.3.19.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.19.ebuild
deleted file mode 100644
index ecfd6467581d..000000000000
--- a/dev-python/pypy-exe/pypy-exe-7.3.19.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit check-reqs pax-utils toolchain-funcs
-
-PYPY_PV=${PV%_p*}
-MY_P=pypy2.7-v${PYPY_PV/_}
-PATCHSET="pypy2.7-gentoo-patches-${PV/_}"
-
-DESCRIPTION="PyPy executable (build from source)"
-HOMEPAGE="
- https://pypy.org/
- https://github.com/pypy/pypy/
-"
-SRC_URI="
- https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
- https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="MIT"
-SLOT="${PYPY_PV}"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
-
-DEPEND="
- >=sys-libs/zlib-1.1.3:0=
- dev-libs/libffi:0=
- virtual/libintl:0=
- dev-libs/expat:0=
- bzip2? ( app-arch/bzip2:0= )
- ncurses? ( sys-libs/ncurses:0= )
-"
-RDEPEND="
- ${DEPEND}
- !dev-python/pypy-exe-bin:${PYPY_PV}
-"
-# don't enforce the dep on dev-python/pypy with USE=low-memory
-# since it's going to cause circular dep with unhelpful error message
-BDEPEND="
- !low-memory? (
- || (
- dev-lang/pypy:2.7
- dev-python/pypy
- dev-lang/python:2.7
- )
- )
-"
-
-check_env() {
- if ! has_version -b dev-lang/pypy:2.7 &&
- ! has_version -b dev-python/pypy
- then
- if use low-memory; then
- eerror "USE=low-memory requires (a prior version of) dev-python/pypy"
- eerror "installed."
- else
- ewarn "CPython 2.7 will be used to perform the translation. Upstream"
- ewarn "recommends using (a prior version of) dev-python/pypy instead."
- fi
- elog "You can install a prebuilt version of PyPy first using e.g.:"
- elog " $ emerge -1v dev-python/pypy dev-python/pypy-exe-bin"
-
- if use low-memory; then
- die "dev-python/pypy needs to be installed for USE=low-memory"
- fi
- fi
-
- if use low-memory; then
- CHECKREQS_MEMORY="1750M"
- use amd64 && CHECKREQS_MEMORY="3500M"
- else
- CHECKREQS_MEMORY="3G"
- use amd64 && CHECKREQS_MEMORY="6G"
- fi
-
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && check_env
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && check_env
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
- default
-}
-
-src_configure() {
- tc-export CC
-
- local jit_backend
- if use jit; then
- jit_backend='--jit-backend='
-
- # We only need the explicit sse2 switch for x86.
- # On other arches we can rely on autodetection which uses
- # compiler macros. Plus, --jit-backend= doesn't accept all
- # the modern values...
-
- if use x86; then
- if use cpu_flags_x86_sse2; then
- jit_backend+=x86
- else
- jit_backend+=x86-without-sse2
- fi
- else
- jit_backend+=auto
- fi
- fi
-
- local args=(
- --no-shared
- $(usex jit -Ojit -O2)
-
- ${jit_backend}
-
- pypy/goal/targetpypystandalone
- )
-
- # Avoid linking against libraries disabled by use flags
- local opts=(
- bzip2:bz2
- ncurses:_minimal_curses
- )
-
- local opt
- for opt in "${opts[@]}"; do
- local flag=${opt%:*}
- local mod=${opt#*:}
-
- args+=(
- $(usex ${flag} --withmod --withoutmod)-${mod}
- )
- done
-
- local interp
- if use low-memory ||
- has_version -b dev-lang/pypy:2.7 ||
- has_version -b dev-python/pypy
- then
- einfo "Using already-installed PyPy to perform the translation."
- interp=( pypy )
- if use low-memory; then
- local -x PYPY_GC_MAX_DELTA=200MB
- interp+=( --jit loop_longevity=300 )
- fi
- else
- einfo "Using CPython 2.7 to perform the translation."
- interp=( python2.7 )
-
- # reuse bundled pycparser to avoid external dep
- mkdir -p "${T}"/pymod/cffi || die
- : > "${T}"/pymod/cffi/__init__.py || die
- cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die
- local -x PYTHONPATH=${T}/pymod:${PYTHONPATH}
- fi
-
- # translate into the C sources
- # we're going to build them ourselves since otherwise pypy does not
- # free up the unneeded memory before spawning the compiler
- set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
- echo -e "\033[1m${@}\033[0m"
- "${@}" || die "translation failed"
-}
-
-src_compile() {
- emake -C "${T}"/usession*-0/testing_1
-}
-
-src_install() {
- local dest=/usr/lib/pypy2.7
- exeinto "${dest}"
- newexe "${T}"/usession*-0/testing_1/pypy-c pypy-c-${PYPY_PV}
- insinto "${dest}"/include/${PYPY_PV}
- doins include/pypy_*
- pax-mark m "${ED}${dest}/pypy-c-${PYPY_PV}"
-}
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
index 832dd6210816..072f6d9c9aa2 100644
--- a/dev-python/python-tests/Manifest
+++ b/dev-python/python-tests/Manifest
@@ -8,6 +8,8 @@ DIST Python-3.13.5.tar.xz 22856016 BLAKE2B 9caacad8745dcd238b208022cb140a6655ae5
DIST Python-3.13.5.tar.xz.asc 963 BLAKE2B 2db0162d18129ec42b48393108a72c28e7f8f8c3fa40b2e231c87fe0bdc3c166fb6ca4a1c1dfb3fffe1aa0c2618c7ccb245513beb7a0919b4aaca5ec7eb23b36 SHA512 07c1a2ec2d6ba2805680b7f1dc262fdc5dc3eec4503780ecdc08cd570ccbb5f1efa736ee03c83d36bdb33ce87db06be5892cf5a6eaf4018d5fe78fff99e615ae
DIST Python-3.14.0b4.tar.xz 23641472 BLAKE2B e894c115d50371e2ecfd5c0cf79f37d3bff230338524bbb2352af8e42d256cd8fe17a38c68769d3125ddcae33500fd151ed64b5641d7f35f4b8968fcae9e31b4 SHA512 faaea000a474430a4ee41bdc95f9a77aa6573354698bc987a7617a6d36eae4b8e7f02ac945eb5b97df8dc62a256725ccd59fec08d4af2bd7b6e8a31ef4f92e2a
DIST Python-3.14.0b4.tar.xz.sigstore 5038 BLAKE2B 95bd040d9be4d746b8d1a5a7486d309783248093b032b85ac5e7e7eaf35caa99b43bf3bf7c3ad69635a7b4f14bf6e42a9ba0b54d19986069b5dc075d17a8ddd5 SHA512 3e2a7a73d5cd98e4e8139ef89bf75c1213459db7634bb57ea2de126ff403e7f9244ec6fca525bcb55b9cd5342cbc80d659772709ebf405d330dcd4f14f93a7cc
+DIST Python-3.14.0rc1.tar.xz 23661916 BLAKE2B 77657bb87fe5a8ef538d97ca5ab39be8243d222400f0439ae6a719f528f19d79a22b3c0832c8e0ed9650e8d18a546cec4f40dd881d142b0739e97add688662be SHA512 6f34f593713282e105f9cf0396c523f738f3e4e8c2d4bcc4051c9febff96ab521e67abfe5fd072d7f584c3afcc7acb96a42939f51259ea411308a48468f7fd4e
+DIST Python-3.14.0rc1.tar.xz.sigstore 5134 BLAKE2B 10f93540d5acfcd1509826b606d5a2ded0b40c5c60951c893d18c1baa39d8189ac15fa586fcd34318ac6cfeb4c9ad51a86936849a8cdcbb179a11cc86f5f3189 SHA512 0ecd23bf303e42be6f639d55e2b00c13a87caf512923fd529b2661de6e73f76491def062037befbefd6c2fcf2608ae8cb27faae7431137b53e60c8cc20fec740
DIST python-gentoo-patches-3.11.11.tar.xz 10604 BLAKE2B 6be4c66b0458f7a7085aef976cff3dcb4d114ac0b64fb27327a5693e8d41a77f7eeed718b9c5a1b1961278235ee4cd43497aa3dc27e6e6bed65804b95f667a15 SHA512 ab8113a94949cead34d976179f80c3e0a6686bf2476079a74f97b4d08c24a237500dc7ee09dc3b0ec98d2fbcb138397c73d7e2252e617a957a13999e59115158
DIST python-gentoo-patches-3.11.13.tar.xz 16492 BLAKE2B 8b188742dd3f25974cead290e5793c31f02741a901dce65137c596045fa2fbd5baaef332204af90f95ddcd864ee542b252c00b190e15c25af60a7bda771b116f SHA512 b5abad341d2eede81df445b56a98720466ec23df40a8a2e99a04dba5a106205655c8e2b64df0ca2630f036c8fe457ba64524280d137bbc99f52e4fd8e6bbd5ae
DIST python-gentoo-patches-3.12.10.tar.xz 10744 BLAKE2B 2abf4874018156d6735cf8604c410dc4726ac9365bc7500abe6b82472aad100aac7268957256692f4275b02965773e58178519ed8038e121f1ffa3c53770d238 SHA512 62066405aa00f46f9645e9c747d53bb93bf510fc791d14d49e00edfd79981778e6c8e07bfa7bac88d76407a0ffd8f7321dea89f81d90b01dbf13f4d381b6a1a3
@@ -17,3 +19,4 @@ DIST python-gentoo-patches-3.13.4.tar.xz 8912 BLAKE2B e3d9f2a12f801dc75e09c53017
DIST python-gentoo-patches-3.13.5.tar.xz 8916 BLAKE2B 9d985b12af62b8a917cac1dab9576aac099bc81ad954a5de254a14a3c7d2254edcdcfaadc46314b69a1bb76bd30ca8bed7c866c0de3fc3f89aac0f76af344f32 SHA512 5ac92aa3eef82eae5d707ffcb5085ac98bd9bf64f72fc7ac4aa1b12a0c3aa86c57d0f671ca07f46e2250779f4cf4885916e4d175357ad626eca6e41257a027e7
DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7
DIST python-gentoo-patches-3.14.0b4.tar.xz 3780 BLAKE2B ad67e213b21bc039bf33c0a2e6d3a4ce5e06179ce167f89d56561834dfb5c5b5b5d7f43f6fe2597e94e4ea5d544bb0b60d38b847bb0c32277a0151f2084f3618 SHA512 e5e6fa02d2d24e46848fa5a79ba7fd8a6703473e3bee257fee7b5c55d5c82fedb29f0ba6de1117c6ca738df3841bae5bb00962ae0290d553020e3617dc557c6d
+DIST python-gentoo-patches-3.14.0rc1.tar.xz 3776 BLAKE2B 4f2cf7598dac08c3118bbca6c111684fe68fa7c8749ef394eae35c50bc7d78e30f6c54a77199fc87270ccdafa7725dad974226964841d666ceab7cb34d7bd778 SHA512 323586bfd662ff4ed41b7f5f34d1dc394e7e7e1ad87e8a9283b99a14e226cc73d7ff7fb510e772319e361f2ad2becfe4ac246cc0be34d0a981df286cb20c9734
diff --git a/dev-python/python-tests/python-tests-0.3.14.0_rc1.ebuild b/dev-python/python-tests/python-tests-0.3.14.0_rc1.ebuild
new file mode 100644
index 000000000000..cd2982439a58
--- /dev/null
+++ b/dev-python/python-tests/python-tests-0.3.14.0_rc1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+VERIFY_SIG_METHOD=sigstore
+
+inherit python-r1 verify-sig
+
+REAL_PV=${PV#0.}
+MY_PV=${REAL_PV/_/}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 2-3)t
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# enable by default to help CI handle it (we have no additional deps)
+IUSE="+python_targets_${PYTHON_COMPAT[0]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+"
+
+# https://www.python.org/downloads/metadata/sigstore/
+VERIFY_SIG_CERT_IDENTITY=hugo@python.org
+VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/python-tests/python-tests-3.14.0_rc1.ebuild b/dev-python/python-tests/python-tests-3.14.0_rc1.ebuild
new file mode 100644
index 000000000000..0e785845b31b
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.14.0_rc1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+VERIFY_SIG_METHOD=sigstore
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV/_/}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# enable by default to help CI handle it (we have no additional deps)
+IUSE="+python_targets_${PYTHON_COMPAT[0]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+"
+
+# https://www.python.org/downloads/metadata/sigstore/
+VERIFY_SIG_CERT_IDENTITY=hugo@python.org
+VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index 5ae6b66582a4..ce8f977d2625 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -2,3 +2,4 @@ DIST types_docutils-0.21.0.20250604.tar.gz 40953 BLAKE2B 35ca47bb71ece85f2786396
DIST types_docutils-0.21.0.20250708.tar.gz 42011 BLAKE2B bae246422aff90ff0ef9b3403c4cd57c87609d7ea68d21f7d3d55a8f2f088751ce52a88c1c73d82f9acc2bf96adb83a0cd93eb8dc20f14b434b8a5cec476439a SHA512 788e557828421997846573dbf5ca1c741105751f83f85c90373323923a2d57d15d2e7e12078f8f74804a1dac3e03a06989cda13c8e7d9a2896d937d2fff925dc
DIST types_docutils-0.21.0.20250710.tar.gz 42077 BLAKE2B 8e7b9bac166a54a9df0d6c64e585b3a4e8132886e60242d7afb684087bdb6c7e5a3221931c9d27f34cb5a339c49361a98e602963874e8685a3391977993b2979 SHA512 1c1bd2711a196aa54511f8d68f69feee05cebfcd6a05dcf6311aff1645dde8f1157f935481a81e4ffac404151a610be4bf9bcd1641be22c93c5466c18f59c99d
DIST types_docutils-0.21.0.20250715.tar.gz 44342 BLAKE2B cfbbcd8529fb47b36f6a089036899a20877848bce62e93859daa22b7206ddc7e237894c2bbbc4783a8401103e5cad75ce34bf192730d52b7064ce8b9df5ff4cb SHA512 6249520bc371d7fe828890428a4425baed9aca7f37a4b44481960746378cf6eea6d3342da0f56c5230515efe54825dca76a20a33501db34da3546b1d10daf042
+DIST types_docutils-0.21.0.20250722.tar.gz 54539 BLAKE2B 37440cb849697c3d58cc6187f7fb040615fe4c68dc1e800f10b46b6a2bdb562296263e779d9abe4482eda8cb952d00b730d8bfd4afa25da73862a251e69d6fdf SHA512 8e61afe8ce447d53ec5511f1e2556200e0f1bfe2a701852f4ff4ce2a9685736d359c13d3a13d3c88b22b190291554c087420395c715b6ef821e6f24aef7708a6
diff --git a/dev-python/types-docutils/types-docutils-0.21.0.20250722.ebuild b/dev-python/types-docutils/types-docutils-0.21.0.20250722.ebuild
new file mode 100644
index 000000000000..9fdbbf2b35dd
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.21.0.20250722.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for docutils"
+HOMEPAGE="https://pypi.org/project/types-docutils/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest
index e808055ae304..7d3683eb1e27 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -1 +1,2 @@
DIST virtualenv-20.31.2.tar.gz 6076316 BLAKE2B 23584e0b5f556d95dcc1c24da4c140749fe8edd9abee9213cb47c89a43c7b8aa26d0f539523d93600c2d023db4153bd1ae2e2c33996677dfc3eef3ec4d9d7201 SHA512 b253fdd81412cbde1358a885ab25db62d7ee05309fd37c6d81cccde570f70acdd4ae13204dcf0a97cea67b6d6524d8d083ff6ca43a0ee22c513b39f1e37ee6f3
+DIST virtualenv-20.32.0.tar.gz 6076970 BLAKE2B 09c7aab4c056cc89c2f50101cf68924d55bf26dbf3853ca3f537bfa2b8bf3ca178f0209f63597560c307458d8f3c8f19084d1cbd0a37e1cb3c71df49ff3b313d SHA512 fe2fbedb22eb30e52c401de827107e94f66c6f5f0425f42e4d5be59bf26da670a4daa705be23799b25fef0a2031c1f84e35a5376f7de06d4fe0275434645b7c1
diff --git a/dev-python/virtualenv/virtualenv-20.32.0.ebuild b/dev-python/virtualenv/virtualenv-20.32.0.ebuild
new file mode 100644
index 000000000000..e1bd0c4a832f
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.32.0.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Virtual Python Environment builder"
+HOMEPAGE="
+ https://virtualenv.pypa.io/en/stable/
+ https://pypi.org/project/virtualenv/
+ https://github.com/pypa/virtualenv/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}]
+
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+"
+# coverage is used somehow magically in virtualenv, maybe it actually
+# tests something useful
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.8[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' python3_{11..13})
+ $(python_gen_cond_dep '
+ >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}]
+ ' 'pypy3*')
+ )
+"
+
+src_prepare() {
+ local PATCHES=(
+ # use wheels from ensurepip bundle
+ "${FILESDIR}/${PN}-20.31.1-ensurepip.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # workaround test failures due to warnings from setuptools-scm, sigh
+ echo '[tool.setuptools_scm]' >> pyproject.toml || die
+
+ # remove useless pins
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+
+ # remove bundled wheels
+ rm src/virtualenv/seed/wheels/embed/*.whl || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping testing on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data
+ # tests for old wheels with py3.7 support
+ tests/unit/seed/embed/test_pip_invoke.py::test_base_bootstrap_via_pip_invoke
+ tests/unit/seed/wheels/test_wheels_util.py::test_wheel_not_support
+ # broken by different wheel versions in ensurepip
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_string
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_exact
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_none
+ tests/unit/seed/wheels/test_acquire.py::test_download_wheel_bad_output
+ # hangs on a busy system, sigh
+ tests/unit/test_util.py::test_reentrant_file_lock_is_thread_safe
+ # TODO
+ tests/unit/create/via_global_ref/test_build_c_ext.py::test_can_build_c_extensions
+ )
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # these don't like the executable called pypy3.11?
+ tests/unit/activation/test_bash.py::test_bash
+ tests/unit/activation/test_fish.py::test_fish
+ tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
+ )
+ ;;
+ esac
+
+ local -x TZ=UTC
+ local EPYTEST_PLUGINS=( flaky pytest-mock )
+ if [[ ${EPYTHON} == pypy3* ]]; then
+ EPYTEST_PLUGINS+=( pytest-freezer )
+ else
+ EPYTEST_PLUGINS+=( time-machine )
+ fi
+ local EPYTEST_TIMEOUT=180
+ local EPYTEST_XDIST=1
+ epytest "${plugins[@]}"
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ # remove bundled wheels, we're using ensurepip bundle instead
+ find "${ED}" -name '*.whl' -delete || die
+}