summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-09-05 12:28:41 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-09-05 12:28:41 +0100
commit5d93bae2c1576ab817f482024a6d47592829407b (patch)
tree1fd9619473e6cdba4c004554cb1743ec16654102 /dev-python
parent518b45bffd19d0b75715f338985f96c459f9d129 (diff)
gentoo auto-resync : 05:09:2024 - 12:28:40
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Faker/Faker-28.4.1.ebuild41
-rw-r--r--dev-python/Faker/Manifest2
-rw-r--r--dev-python/Manifest.gzbin271194 -> 271519 bytes
-rw-r--r--dev-python/PyQt6-sip/Manifest2
-rw-r--r--dev-python/PyQt6-sip/PyQt6-sip-13.8.0.ebuild2
-rw-r--r--dev-python/PyQt6/Manifest2
-rw-r--r--dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild2
-rw-r--r--dev-python/boto3/Manifest2
-rw-r--r--dev-python/boto3/boto3-1.35.12.ebuild53
-rw-r--r--dev-python/botocore/Manifest2
-rw-r--r--dev-python/botocore/botocore-1.35.12.ebuild76
-rw-r--r--dev-python/cffi/Manifest2
-rw-r--r--dev-python/cffi/cffi-1.17.1.ebuild71
-rw-r--r--dev-python/cfn-lint/Manifest4
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.12.2.ebuild70
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.12.3.ebuild70
-rw-r--r--dev-python/commentjson/Manifest2
-rw-r--r--dev-python/commentjson/commentjson-0.9.0-r2.ebuild1
-rw-r--r--dev-python/dep-logic/Manifest6
-rw-r--r--dev-python/dep-logic/dep-logic-0.4.3.ebuild25
-rw-r--r--dev-python/dep-logic/dep-logic-0.4.5.ebuild (renamed from dev-python/dep-logic/dep-logic-0.4.2.ebuild)0
-rw-r--r--dev-python/django-otp/Manifest4
-rw-r--r--dev-python/django-otp/django-otp-1.5.3.ebuild (renamed from dev-python/django-otp/django-otp-1.5.1.ebuild)0
-rw-r--r--dev-python/google-i18n-address/Manifest2
-rw-r--r--dev-python/google-i18n-address/google-i18n-address-3.1.1.ebuild35
-rw-r--r--dev-python/jaraco-test/Manifest2
-rw-r--r--dev-python/jaraco-test/jaraco-test-5.4.0.ebuild1
-rw-r--r--dev-python/kiwisolver/Manifest2
-rw-r--r--dev-python/kiwisolver/kiwisolver-1.4.7.ebuild41
-rw-r--r--dev-python/mkdocstrings-python/Manifest2
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.11.1.ebuild35
-rw-r--r--dev-python/numpy/Manifest2
-rw-r--r--dev-python/numpy/numpy-2.1.1.ebuild144
-rw-r--r--dev-python/protobuf-python/Manifest4
-rw-r--r--dev-python/protobuf-python/protobuf-python-5.27.4.ebuild30
-rw-r--r--dev-python/protobuf-python/protobuf-python-5.28.0.ebuild30
-rw-r--r--dev-python/pyasynchat/Manifest2
-rw-r--r--dev-python/pyasynchat/pyasynchat-1.0.4.ebuild7
-rw-r--r--dev-python/pyasyncore/Manifest2
-rw-r--r--dev-python/pyasyncore/pyasyncore-1.0.4.ebuild8
-rw-r--r--dev-python/pyftpdlib/Manifest2
-rw-r--r--dev-python/pyftpdlib/pyftpdlib-2.0.0.ebuild65
-rw-r--r--dev-python/pypy3/Manifest3
-rw-r--r--dev-python/pypy3/metadata.xml6
-rw-r--r--dev-python/pypy3/pypy3-7.3.17-r1.ebuild26
-rw-r--r--dev-python/pypy3_10/Manifest3
-rw-r--r--dev-python/pypy3_10/metadata.xml4
-rw-r--r--dev-python/pypy3_10/pypy3_10-7.3.17-r1.ebuild221
-rw-r--r--dev-python/python-tests/Manifest17
-rw-r--r--dev-python/python-tests/metadata.xml8
-rw-r--r--dev-python/python-tests/python-tests-3.10.14_p3.ebuild65
-rw-r--r--dev-python/python-tests/python-tests-3.11.9_p2.ebuild65
-rw-r--r--dev-python/python-tests/python-tests-3.12.5_p1.ebuild60
-rw-r--r--dev-python/python-tests/python-tests-3.13.0_rc1_p3.ebuild60
-rw-r--r--dev-python/pytrie/Manifest2
-rw-r--r--dev-python/pytrie/pytrie-0.4.0-r1.ebuild7
-rw-r--r--dev-python/regex/Manifest4
-rw-r--r--dev-python/regex/regex-2024.5.15.ebuild32
-rw-r--r--dev-python/regex/regex-2024.7.24.ebuild2
-rw-r--r--dev-python/spyder-notebook/Manifest4
-rw-r--r--dev-python/spyder-notebook/spyder-notebook-0.6.1.ebuild (renamed from dev-python/spyder-notebook/spyder-notebook-0.6.0.ebuild)0
-rw-r--r--dev-python/sqlalchemy/Manifest2
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.34.ebuild109
-rw-r--r--dev-python/test/Manifest2
-rw-r--r--dev-python/test/metadata.xml9
-rw-r--r--dev-python/test/test-0.ebuild45
-rw-r--r--dev-python/trimesh/Manifest2
-rw-r--r--dev-python/trimesh/trimesh-4.4.9.ebuild74
-rw-r--r--dev-python/txaio/Manifest2
-rw-r--r--dev-python/txaio/txaio-23.1.1.ebuild8
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.4.5.ebuild114
-rw-r--r--dev-python/validators/Manifest2
-rw-r--r--dev-python/validators/validators-0.34.0.ebuild26
-rw-r--r--dev-python/yarl/Manifest4
-rw-r--r--dev-python/yarl/yarl-1.9.10.ebuild37
-rw-r--r--dev-python/yarl/yarl-1.9.8.ebuild37
77 files changed, 1838 insertions, 81 deletions
diff --git a/dev-python/Faker/Faker-28.4.1.ebuild b/dev-python/Faker/Faker-28.4.1.ebuild
new file mode 100644
index 000000000000..ba0bb04960f1
--- /dev/null
+++ b/dev-python/Faker/Faker-28.4.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python package that generates fake data for you"
+HOMEPAGE="
+ https://github.com/joke2k/faker/
+ https://pypi.org/project/Faker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
+ !dev-ruby/faker
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},tiff]
+ dev-python/validators[${PYTHON_USEDEP}]
+ )
+"
+
+# note: tests are flaky with xdist
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=faker.contrib.pytest.plugin
+ epytest
+ epytest --exclusive-faker-session tests/pytest/session_overrides
+}
diff --git a/dev-python/Faker/Manifest b/dev-python/Faker/Manifest
index e6f5bb6d7e1f..3c5466204e99 100644
--- a/dev-python/Faker/Manifest
+++ b/dev-python/Faker/Manifest
@@ -1,5 +1,7 @@
DIST faker-27.0.0.tar.gz 1764992 BLAKE2B 4ddb83d76abd29eb2281bc27122632e098d3a09bb220881df60d9b67806f58d3c356229035f5316a3fe5dbab70db667d7b8d28d828b4585fc75736ecbc9f0186 SHA512 90b1b76f94066d6d27c4e857297b55b3675f96226cdbefd1bdd99a28599343ffee2b64edd3b15c6cb893ee2b4df446f079269609787a7ef054af3c6a03cca8a1
DIST faker-28.1.0.tar.gz 1781898 BLAKE2B 4c18e70992e89b4638815afcd2be4a409e9caeb7e32f8903964491e4f687f25b0184dd3e4e9cd605e3fd0cdc33bd3b9be6573e60f98efaf18b0ddecdbf9355b1 SHA512 a312ccce960ee01452329bdf47289f8b4fc9362b1a10a445d93583eefae7c8aa94af363733babe56dd3c7df4a1e585c8a4f84e86d811fa2e1a6d050924c9ae95
+DIST faker-28.4.1.tar.gz 1794640 BLAKE2B 96a2f16b1d1906c1ae5263f8a2e782417fa6fb8062881d3700bf31b25892f27c612ebb64be925548c848e75e2e90d5761cc20a7b7bdb74119c95dfe3e5b871e5 SHA512 376b8e97ef654477ba549f0de50ef02979bf2595051f1a41b353a44bb734aa75171afa633ea76d3f02cf72f84dd12d268e28a4baba55fcb728fb4cd988b57e6a
EBUILD Faker-27.0.0.ebuild 939 BLAKE2B 05106a1df3b685656321e5d4b69f8df457306cfcf6aa90c72913491dd9c92150824757aa4dfc8f93a73e63f9849b060078399c4965f65db7d8495703d66fa37c SHA512 26a175124e82c368b4acfb5d20ed044890e8e09b40a031dc33f4f8c17e0245fbf30adc6185c9bc64791d383396e19679e751b1317cd0a702054654fd282a3b00
EBUILD Faker-28.1.0.ebuild 946 BLAKE2B 1d80ecf7217123cebf6cb4aa4934d49e55197cc48b5b6d37432b7639343084b8aee7632f395e16e87fc0422bda203c7fccff1d37ec8861db461014163b8dcd07 SHA512 1e658d11befb97dca5943b005d6d4f5a3ab8aaca677e2b2fad3b30cbe08f44ef721efd15751749809d97418eb4d90af803a5c99012cae0dd2e6f420231b76536
+EBUILD Faker-28.4.1.ebuild 946 BLAKE2B 1d80ecf7217123cebf6cb4aa4934d49e55197cc48b5b6d37432b7639343084b8aee7632f395e16e87fc0422bda203c7fccff1d37ec8861db461014163b8dcd07 SHA512 1e658d11befb97dca5943b005d6d4f5a3ab8aaca677e2b2fad3b30cbe08f44ef721efd15751749809d97418eb4d90af803a5c99012cae0dd2e6f420231b76536
MISC metadata.xml 498 BLAKE2B c9b7885dc7d34f2263068624a6b07ac6f1ec8078cc11abb6137612ba57edffefc48dae2708284aa83ecc941ebb2d3b8a87a143648e404a0683e75bb6c078f4e2 SHA512 0b385bbbfbb026803526e43c6c43965ff75f42d3ab133603708b187686aac29de508856e5e8ae7622a66b99032efa97f95c21625e10d074c858d8aff7446a312
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index a7c7e1678592..12394d6a01b9 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/PyQt6-sip/Manifest b/dev-python/PyQt6-sip/Manifest
index 75849d5ed996..7429f599135b 100644
--- a/dev-python/PyQt6-sip/Manifest
+++ b/dev-python/PyQt6-sip/Manifest
@@ -1,3 +1,3 @@
DIST PyQt6_sip-13.8.0.tar.gz 92264 BLAKE2B b44ba35c3209b3a49fccf0e4634af8a410b1531d0dd74fc665d7da9780f4e32baf18fbba80eb9635a96442c1c91295dc10e0388194d1e169d300e0e1b37d18cd SHA512 6947690e61fe65a21f61d034ae9de7b7adb001c59a4a362933c5441648fe27140b43666efa73f981b138cfc73fac72777bb7318b98accc3c7f808687e3fc5d81
-EBUILD PyQt6-sip-13.8.0.ebuild 615 BLAKE2B c77d856603b6f2d28c3e0a6179c44a69bf45872a0c6bc35d00f02904ab3d85672160b73d5cb6a294446c26c1d96bec4fd7554f2c892a22dca24efcbaec72e8bb SHA512 84a3d26deda166e68a92321ff78af148d5aecb5a788a59b3973f4e9a833fb90cdba121f260ce703c18963d929858ac6ca807c24daf0fa2c8127b367a35840200
+EBUILD PyQt6-sip-13.8.0.ebuild 614 BLAKE2B c87e836875c181d2ed4efdbcaef092f3ccbec2946d69db1c01ae81df25dec6d44f6a559bb7239d0fcf55bc5eedf4ffca3ff3048cdc5a3c979a7ca75468d8e0b2 SHA512 1efa2ce246a199b6a61cb4305d5b3b45984465021da3d056f85bdee64813c1a63dfb874734db3f49ea7cb5fdcd4703dd759d5d840524189b881a040774d540c0
MISC metadata.xml 382 BLAKE2B df3e932890695657b0e29bb309514558938bb77489f1f95f275250f9fe960910c7c5e3a827a290e9ff9c557ced98904fb1ff92f580f3a99c6ca6b6b3932814fe SHA512 1cd634b2a0c34682fb6468301a3d7cd28e3988651b62cfa200783e6f75fde29e29ee06c494a8fc272261642e3d7c22d2d3f35c143f5c31f936af74c6aa748554
diff --git a/dev-python/PyQt6-sip/PyQt6-sip-13.8.0.ebuild b/dev-python/PyQt6-sip/PyQt6-sip-13.8.0.ebuild
index fdb6d2218277..4fbb1030c5f6 100644
--- a/dev-python/PyQt6-sip/PyQt6-sip-13.8.0.ebuild
+++ b/dev-python/PyQt6-sip/PyQt6-sip-13.8.0.ebuild
@@ -18,4 +18,4 @@ HOMEPAGE="https://github.com/Python-SIP/sip/"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~loong ~ppc ~ppc64 ~riscv"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv"
diff --git a/dev-python/PyQt6/Manifest b/dev-python/PyQt6/Manifest
index 4bb8d25cf0ed..7ac4aeeaebf2 100644
--- a/dev-python/PyQt6/Manifest
+++ b/dev-python/PyQt6/Manifest
@@ -1,3 +1,3 @@
DIST PyQt6-6.7.1.tar.gz 1051212 BLAKE2B 9c1c619b08cc14e0a92ea22812c14d5a3cb47e45eea917d50ab63918d8433d54b354f26b885f2567b9c6e2f0380e819972d055d1a1751f6646ebb5e6cf72b228 SHA512 1e0fec009e1823b06460fd96eddc00ed31388c20f6d832aa0ebaa130baf06d83514df43af7961c3cb2872570d27e539d6db7bf6143ccdfd61a19da7521be2c7e
-EBUILD PyQt6-6.7.1-r1.ebuild 5661 BLAKE2B bd97799828704c350c1a3f03dcafcf356967f8dd39e4c52ea26fc1144a19dac69cab78fd713c8ff31b4b64b949d02800c3be4ce220e8104f74ee77edca613bbe SHA512 a5a1818f7fcd6f3197a57f17a0079ec6b35e85a27cb080975581b1214949347bf53533fa280755f7749d536f835567dcabcea80ba8e6d7c1a814829e614baa2b
+EBUILD PyQt6-6.7.1-r1.ebuild 5660 BLAKE2B c0264a15b59dc8ea4e8d40a6e13167a9cfb8b489941f406ad6b3c182c25b797b3badecc440ea21d5377ee561f12272de083d81ce19ccbdd03fa9884baf95d2d2 SHA512 1517ae68702d068761fd0b317b7e571804944920badaa577ac8117c98e46a4c6e7328f540563c77a4d1a2366c5ed3df553512b4ffe7c0125ed8c140b5cc766c1
MISC metadata.xml 2391 BLAKE2B 16eecbd105ced07699632a4b294f7da74b59ff931e39afb8a21f67f073bfc90ff613d753a67bcd303ea9f2bf35d7b91c1c7a56ece044c421c4e45b5951f5efe3 SHA512 1d595e07e201891c8c7d5635d39db36ccb65c7333cb27c1cd5384a76029b987959df05795283a4474a41a997bf951e577570b7d3a52a9a2975d563767651efae
diff --git a/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild b/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild
index 349153c68d4b..547e2b8dcd27 100644
--- a/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild
+++ b/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~loong ~ppc ~ppc64 ~riscv"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv"
# defaults match what is provided with qtbase by default (except testlib),
# reduces the need to set flags but does increase build time a fair amount
IUSE="
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index c69dff1606fd..de83b49ae917 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,9 +1,11 @@
DIST boto3-1.35.0.gh.tar.gz 851637 BLAKE2B 485b17616fed53a88280aad92d2e4219d8bcbf469b42cff6113f9596c6b245fad39b403b4fb29ed99b50955baa50940091e9c0f88cc6e350b44c69c4b1df5fdc SHA512 0236748c667ef1baf7484d4808083cb517c19ceae672973ac0cf9ce509a9e4a965c15349876807dc320fc96210ba6c5d16ea66545de19eed33dace058392d85d
DIST boto3-1.35.10.gh.tar.gz 856679 BLAKE2B 03e7be74455b487a79188405796fc08bd940962ca4ef8c36398ee8f955c2677e57a528626ef31e5e54ce2c1b96c82cef857b54dcc16248178c60c14fd14de3f9 SHA512 99c0e0b67a590a06713eeb98eb485b055ee6fa1bd181f996d24bdf88698d7885efe0a5f1e9883083655b12a474112a03f8561c66c4c5b5a0e6db56d5733db77b
DIST boto3-1.35.11.gh.tar.gz 857616 BLAKE2B ffec2fc8c2a0c12d21ac84e6cbe0ea967e83aab3764720046dcbb16ad7af6bcb8fcefe1e5686be0b2442cb0ebe58c5b5e9b3c41c38292069b0115c7d6cd00616 SHA512 4b6a494737be338ef81581de6372605bb75c99dcd83bb905af460d50deb3c2cbb929f0f89cf46e53d92dd302eb387baf7c0d898e5aecf96bafc8b099c75a9e0b
+DIST boto3-1.35.12.gh.tar.gz 858007 BLAKE2B bdf0110d9bf0f6a0c9804a6cc69d2d5d6f7593cfd6fd6a62cf3ab57ef9ba6715fe9e8a12cff8d9d750df78b22e0ab15a667b7f2189634e1a736b7017f5301a03 SHA512 6eb42fed0d33c51675888c0f0bf0b325a766433263fd700b68e75c0d3b1996b449de4f92052e581981629a073a571ab741cc337edab052600b29d4e20d9d6027
DIST boto3-1.35.5.gh.tar.gz 854016 BLAKE2B f94d738e310725cd5f9c7b405a094155f3ecf640f02045662ed94ab3689ea549fde7eee19ae2be450768560ad705b8740fda78b79ed42cf536231626d247e09a SHA512 fc1106abbb306bacb80dce825bf71303e71b0d0698d7e3bb4dcaca4ea6e4f7a97e70753367200294f334b351e764bca57f2316afec854d2e46db4644dfefc25b
EBUILD boto3-1.35.0.ebuild 1198 BLAKE2B 99a7fa08055cee13f14557124398df39119bae2e4b684265d4647ad0ec83a502bb422365e3797ff5c0440c4b1c9866ede4c62b1876510178dc2e6a0b05ed8781 SHA512 c020cc5535d63c948dd456d9f4af4e97339cb36dc0bb2b2c53d3da0c8c62737e0846ff71d9f85ca9b2936a8a7bfc43b67c3114f91440e75c9870beaa8997107a
EBUILD boto3-1.35.10.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
EBUILD boto3-1.35.11.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
+EBUILD boto3-1.35.12.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
EBUILD boto3-1.35.5.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
MISC metadata.xml 493 BLAKE2B 7d6324fc877ffe1d20c5369c2af0b09a7028f94d28f1841188913d0d8be7ea699c9d3f92c624992c4c96bd69615d3a1211a2483c76c56b7d3082492e43512523 SHA512 44420d8c03d5986f990b76369edfa8dfd7659b4952db3ad946fd05392ec594628a28745ad888d055d4f074d5214f61fcffafe6c04c4ab54109d45ac0371582bd
diff --git a/dev-python/boto3/boto3-1.35.12.ebuild b/dev-python/boto3/boto3-1.35.12.ebuild
new file mode 100644
index 000000000000..8cba6d95740e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.35.12.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+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 ~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.10.0[${PYTHON_USEDEP}]
+"
+
+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() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 90efef786928..65521e15a90d 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,9 +1,11 @@
DIST botocore-1.35.0.gh.tar.gz 13294975 BLAKE2B a0cbafd1b0da5cd7150ea7a2e21b1209b206b7afcb86ad3ff004ca1c96f47da34eff29a43568f0e9a2dca3443516fdb6adf7bd3778835b908fa5fb3a8d22f79a SHA512 7d0c9815703ef49a8958ed1a5159018320108ae86efe20e6dff182db24ceeb67968db7027ee75809a1ebd1c835709d0d758b0699742bca2e435888dbe5e15a97
DIST botocore-1.35.10.gh.tar.gz 13328544 BLAKE2B cecad54696210597a09f4316a88b8335bc441a6429ddbc7f3c6e539a1aaee4312b855ec93b99971c8241b2431a920085f4f3b38545d607609a8d6a94d36676d8 SHA512 cf6bb103aea0af9ed2e43762848438eef89ab5bf8eec856cb8cd70204dd36f143ab9b8defd6ecd849a542332351feb499d8c34e7382bde558eac3ad19b1c5757
DIST botocore-1.35.11.gh.tar.gz 13332112 BLAKE2B fe540370c3f0256788621c96778b8f6d905c6d4e5a435567e09a10af577669ba6196734d9e58c7e61d20d662bcb383d4028dee104a64746406be67526ede428d SHA512 0541ab8eef9793b5e35779f2f97b69d4f55140f4653bf7d07a2973e63fdd09f3ed377b97640e0d7d0c031276b21bc9586799453ef5f5bed8909456498d4c2f20
+DIST botocore-1.35.12.gh.tar.gz 13335825 BLAKE2B 2b128dba80061708524eedf33ea636ade8420aaecb9935f697211c369bec710ca6cdcebab105d30c331a03ea360f3085f2377f57fdaeba7576f7bcd09d8b08a8 SHA512 59d9c3c9235ba6b0ebd9dd8d1c10262e07fe7dfd577970eb2621272f74633f0905325c888ec7e4d5f0e10748e6e081ba2b9ed1d12e47d7de90742413f4376784
DIST botocore-1.35.5.gh.tar.gz 13303437 BLAKE2B 0a95351fbc93074bb0398871773120a194fe581a26f9a74c1101a5ea57bb3acb9a33937fc2d5a39a065988cdcc6dbe253bd2227cf93e670602ccc67ab82d8845 SHA512 5527420017a4a23d5593f5b3a0eb8caf15357642ed90cd73e0fe22774cc8f9f3637028286063e3e2810e5dafe52e882928269e5c82f6369be9af99bef18fb365
EBUILD botocore-1.35.0.ebuild 1665 BLAKE2B 1171f3bdcbe2eada97adf58c2011691cb51300028737903ec51e9fea4d80943dc3e199f4a1671be350ca2cf921e5dbdd4e7c8ca4658261143646cf9c0c82f522 SHA512 db8027472dcb87b167d63ed89910783e104513361b9191f5e2e2928a2904493c22d9629aa206f61206c4f29c6a9c43e8208c57a9b9bf99b031101b915d326674
EBUILD botocore-1.35.10.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
EBUILD botocore-1.35.11.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
+EBUILD botocore-1.35.12.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
EBUILD botocore-1.35.5.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
MISC metadata.xml 499 BLAKE2B e5aaa7da26f200c09adfdf38b68f656bbccbec627cb5d966b280ac2165334e7eec659c89075bcace748f58e2ec3e7d2998e54a688d56ecea2d30653c67dfd35a SHA512 103c554d5dbd967bf9b6e418b3913d9235e7e910d012160909ce0715134ed2e37b06e6a345395f9d16ce08d1cf51f3ce458bce93c6a978fd3dca6610f2acdbd0
diff --git a/dev-python/botocore/botocore-1.35.12.ebuild b/dev-python/botocore/botocore-1.35.12.ebuild
new file mode 100644
index 000000000000..4f1ad852bdc1
--- /dev/null
+++ b/dev-python/botocore/botocore-1.35.12.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+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 ~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_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
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # memory use tests, probably fragile
+ tests/functional/leak/test_resource_leaks.py::TestDoesNotLeakMemory
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cffi/Manifest b/dev-python/cffi/Manifest
index ba9fdce4eb6a..b66d77ab717b 100644
--- a/dev-python/cffi/Manifest
+++ b/dev-python/cffi/Manifest
@@ -2,9 +2,11 @@ AUX cffi-1.14.0-darwin-no-brew.patch 568 BLAKE2B 43afdb086a0385e913f287bc5c1534d
DIST cffi-1.16.0.tar.gz 512873 BLAKE2B 9e8d107b3124a072e559c4a536b54a172e90f9fe51d8184dacc2914a8ffa84f2682eee9c90401325dfb0f36f3f8ea0456afc93e2b85a4fef5f07ae4475e0a76b SHA512 fd2588115092202aa9289c9d4e0a0b3e264b5e9ec1dc192950f31aeb412fd9f9d4e5c96a3f9c6762987b58ccc1e229f2012ddda89211797104df672d8ed51152
DIST cffi-1.17.0.tar.gz 516073 BLAKE2B e050689b58b4a34e3f605f84b3b6a59ec44359bfb042796f82e1acb6349b65ca37f9fb7a0d4ffc7fe40b85416288dcc1f3496968c4fb3f36cdd2c0042658f7b1 SHA512 8516abe177c2acfc31ede401287956cc4dc486b26ed9c4752811be71dc6bc94af3adf1f1f685a94e7242f052b74768bfbbb30ce41a3c23b9259c91449347566e
DIST cffi-1.17.0rc1.tar.gz 516063 BLAKE2B 02f25fde28a070c314deb5870d2285a0cfd2fd10d0136b3c5459d4bb11454722d61dfe0e5f27a7268a4aca8cadb2a9df045340094bcf98f1692f54ddea6df714 SHA512 757ccaf09a745cd04a31d0b2fcc46f438269b79b88c4a89aa7dd2f0dd1bc1b64fb9f9fde2461407e1c0482c1c64e837283e21d0b46dbcb0c4ccd5e54a8319a0e
+DIST cffi-1.17.1.tar.gz 516621 BLAKE2B 902844a14c0765ada6adf5054a9462a195b49b2ea4d7441deeff97dd6d9209accd29257697002ee1bad7e143ebf983a2d98077b17e08b060dd1ee75dc682e3d8 SHA512 907129891d56351ca5cb885aae62334ad432321826d6eddfaa32195b4c7b7689a80333e6d14d0aab479a646aba148b9852c0815b80344dfffa4f183a5e74372c
DIST cffi-d7f750b1b1c5ea4da5aa537b9baba0e01b0ce843.gh.tar.gz 523050 BLAKE2B 498085e9bc497eb1abf2d2e26e2cdb9d7544509b2c1686b306930c2da8a39a5ef133b77302761b44d5231c5255ef30cbd22579c79921dc2dc71e723ff5624939 SHA512 a0d1eb7bf8df12331d3493d86894ba062f7a15f4e7421863d44e264d4ca40ef864c7574d42cb7a4f2ea44ab80242942d6f4c8772c64b8dd0789aeb9f1908fc89
EBUILD cffi-1.16.0.ebuild 1738 BLAKE2B 403b4dc5bb47dec2abbc30c21a894685c329214fa943bc7fab68260d2ab921cf5bd1a16832bae8e244124ad8d8af34d0f94fdadde981a514a862905c1fccb1c3 SHA512 3bb914dae82263f729baa2e0bb50ebd14697c6efe52404328c969301be9a83ab659df460aac5764ad9035fcb24bfc10d5bf4fde714597ee57d359c246d63cda1
EBUILD cffi-1.17.0.ebuild 1678 BLAKE2B b439e2f56605c373953e7071f8b7282e8ec4511b26c5dc5984ff269be9fdc0b2c4c9422303902a8afee2dc75813892c8bf257cf5b83814cff61d33b089d3ed2e SHA512 d290ad8c7a4ec8bbc13946f9975147e81a3202a1cf8c44e26b20efa183465d8e32665be7b77f2115b00d4b430559df6b9b4cf2b7f79d25547f7f9de4723dfaf3
EBUILD cffi-1.17.0_pre20240424.ebuild 1883 BLAKE2B 4509949cb33dd292be9c3b8e69d87691ef3c217f65f93901fed0fda0b1c02d0d6b0e5c64605ec9d9127e2295b1448e118432958f12339ac0517f692f1b26c7f4 SHA512 5ff23616b55de9ee36d67e095375b35c9362ca3599bc6f949d43e786ada750665ca4d0c7f981be0ad9f2164c676772a1d164deab4719618e3d892ae8958a48f0
EBUILD cffi-1.17.0_rc1.ebuild 1678 BLAKE2B b439e2f56605c373953e7071f8b7282e8ec4511b26c5dc5984ff269be9fdc0b2c4c9422303902a8afee2dc75813892c8bf257cf5b83814cff61d33b089d3ed2e SHA512 d290ad8c7a4ec8bbc13946f9975147e81a3202a1cf8c44e26b20efa183465d8e32665be7b77f2115b00d4b430559df6b9b4cf2b7f79d25547f7f9de4723dfaf3
+EBUILD cffi-1.17.1.ebuild 1685 BLAKE2B 7cd72a5021febae97a589108b60b870e13290f2573ee3a2699b472f35eb6ad2077b1493ecf6ea5bc17b53ab92d2b314bb75a05a4ea6de3d89455804eeb1b479b SHA512 a5651b0767fd148b5f7e71ccebfa92d7bb0784e245605bd5c8597cdd9910d5cd2bb5376337e9b586915324787d3ef28f1fa1ffdcdd16a8b2ee58990bf5cc8080
MISC metadata.xml 376 BLAKE2B 869698c9756447929b5607d37c334442d76fef960c109ebe3b807de5019339de4ce19009d70b2eba506ee2608db9454c277cfb07ea025a39be6ea65b2ed93f74 SHA512 84c109a295e6f272c03107b69431f213dff9042a7e5c784dc725728aeb3a60dbf9c860551aae6260e5fc2dadeaa6eb27488186abe1d108bb21145d736de7e5b6
diff --git a/dev-python/cffi/cffi-1.17.1.ebuild b/dev-python/cffi/cffi-1.17.1.ebuild
new file mode 100644
index 000000000000..70749e8b0345
--- /dev/null
+++ b/dev-python/cffi/cffi-1.17.1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+# DO NOT ADD pypy to PYTHON_COMPAT
+# pypy bundles a modified version of cffi. Use python_gen_cond_dep instead.
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 toolchain-funcs pypi
+
+DESCRIPTION="Foreign Function Interface for Python calling C code"
+HOMEPAGE="
+ https://cffi.readthedocs.io/
+ https://pypi.org/project/cffi/
+"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# Needs recent libffi for HPPA fixes
+DEPEND="
+ >=dev-libs/libffi-3.4.4-r1:=
+"
+# setuptools as a modern distutils provider
+RDEPEND="
+ ${DEPEND}
+ dev-python/pycparser[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ dev-python/py[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx doc/source
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/cffi-1.14.0-darwin-no-brew.patch
+)
+
+src_prepare() {
+ if [[ ${CHOST} == *darwin* ]] ; then
+ # Don't obsessively try to find libffi
+ sed -i -e "s/.*\-iwithsysroot\/usr\/include\/ffi.*/\tpass/" setup.py || die
+ fi
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # these tests call pip
+ testing/cffi0/test_zintegration.py
+ )
+
+ "${EPYTHON}" -c "import _cffi_backend as backend" || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest src/c testing
+}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 4d6223064536..b6e3e8535fbc 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,7 +1,11 @@
DIST cfn_lint-1.10.3.tar.gz 2418034 BLAKE2B f889112d5572401dd5333d1a9edcb277c6150bc58ba8d6e64322d4eb732be706386b795cb4abb4ec7a03855394b7c95f1f7048d2cd499fd2717f5cbe4458ee32 SHA512 b81a8afef2c2b5fcc3e9e5557908bd6510714421cae9e0a1319019ca23ba41b904e69888b9f84dcc5f612dfacf745071a79251c773b816b9e7d7b347e4e26586
DIST cfn_lint-1.11.1.tar.gz 2415408 BLAKE2B c164f6cd520e4106ff9cfaaffdcb66860c3e66060aad484a488f22a304c56c5a365389e63f948d647e37e10ead5f6c8e5bb435c842377e4db122805d7bab218c SHA512 c8295874345b2a561e521b732031558ff4d1de11fcd912940955301f0c4d1923d11d7d8f2cf5a90c3c540d3b28dbcd9f18fb01778fa9678e3fe6722d732d4014
DIST cfn_lint-1.12.1.tar.gz 2614931 BLAKE2B d72638fdce0a5f72778979bf4ef1fc809a48e4d8bad2daf98bd6d5ebf323360e900f5b8900117999ebf6d89bedfe15667cf2a2a1e31be5b72af1e34a65d15b88 SHA512 9a0e9124536b13dbc24e8e60228ae2afac853560ac0f2cda394b4c6a65bb43e2f8f5319148c5c5f4902109d75d90a5e45197503bbb5f78904eec4604123dbe8f
+DIST cfn_lint-1.12.2.tar.gz 2615220 BLAKE2B 1037d7f5c8c598eec52570821f9f8bc1458321ea54af46a695fbf29dffb27e34cb4ee92ca982fa646cebf5b47d89ae8f093224951b501f2958d4aec07839a983 SHA512 6aaae4e0003e7547903d3bddd9a5ebd0600f245456ba00967a903658d761c7efe696c18bcb9f092ee6b88053b7665c1822e20933e0f6bd6931a09dbb7e520230
+DIST cfn_lint-1.12.3.tar.gz 2616778 BLAKE2B bb17cb966103680ea0bb0cd18719ef7988e2d0e442d1c001338451eda806d1262a790fcf732ffdeda4455fb0ffc8a614cba9c03f78e75916675c55f51d6002e4 SHA512 11aea72628a5b7ad7e2521379a0c63fab44704ad57ddacb593337007814ce7ef6b3d22db3c3fe13eb7fc4d96a42db1dad01a392ef865331168f2bcc8e0c3c4d6
EBUILD cfn-lint-1.10.3.ebuild 2173 BLAKE2B e5d36838ac6fdbef143deed68652896c380d7d3a143a0c6f9b5e4efd38283f98a50f8169bbedba9fe826c1c306b56efc0f7f28c1a911cb85305748f996127c1a SHA512 262134549b6fa7a30a83feeed58ea5cfbb45a1f778b116238f5603c2e4e22243b5d63b2ce979c05a8d21990f3887e86dabc28f5ff08edb36cb44f2b866e53c3e
EBUILD cfn-lint-1.11.1.ebuild 2176 BLAKE2B 0204895222e1591f9f275af74dcdac3435fa5a6cdf34c46242e63829e40b9f2fcd493db355f11454df539555da529321ebbfff2a7326c9f0a0f40beb8cbf6c43 SHA512 b82cada00e1b5238ed40b0ea35fc3a1f84f3deced456412abcd668b46aa99e29c3a88091cd0252188afdb6cf0fed38846124bf073ba3c794d934dce3a14ce46a
EBUILD cfn-lint-1.12.1.ebuild 2176 BLAKE2B 0204895222e1591f9f275af74dcdac3435fa5a6cdf34c46242e63829e40b9f2fcd493db355f11454df539555da529321ebbfff2a7326c9f0a0f40beb8cbf6c43 SHA512 b82cada00e1b5238ed40b0ea35fc3a1f84f3deced456412abcd668b46aa99e29c3a88091cd0252188afdb6cf0fed38846124bf073ba3c794d934dce3a14ce46a
+EBUILD cfn-lint-1.12.2.ebuild 2176 BLAKE2B 0204895222e1591f9f275af74dcdac3435fa5a6cdf34c46242e63829e40b9f2fcd493db355f11454df539555da529321ebbfff2a7326c9f0a0f40beb8cbf6c43 SHA512 b82cada00e1b5238ed40b0ea35fc3a1f84f3deced456412abcd668b46aa99e29c3a88091cd0252188afdb6cf0fed38846124bf073ba3c794d934dce3a14ce46a
+EBUILD cfn-lint-1.12.3.ebuild 2176 BLAKE2B 0204895222e1591f9f275af74dcdac3435fa5a6cdf34c46242e63829e40b9f2fcd493db355f11454df539555da529321ebbfff2a7326c9f0a0f40beb8cbf6c43 SHA512 b82cada00e1b5238ed40b0ea35fc3a1f84f3deced456412abcd668b46aa99e29c3a88091cd0252188afdb6cf0fed38846124bf073ba3c794d934dce3a14ce46a
MISC metadata.xml 583 BLAKE2B 9f73e2b92e5cfa2ad59f5c8e5d91bdd3aa9eba3fa722b93b388cffea42020db7e7441bab5749432812934a4514d3e9104e6d897e1d115afa5ed237757bd48c03 SHA512 1866a349855ae4e248498b7aabd6ce4c4e10ea58731df4bfa13500f61dc041da6dbd7420e7d6a78fad46d5cf00bd7ef2d0c4c7d6819a21b3a5031b0d49588a19
diff --git a/dev-python/cfn-lint/cfn-lint-1.12.2.ebuild b/dev-python/cfn-lint/cfn-lint-1.12.2.ebuild
new file mode 100644
index 000000000000..086f03ea08df
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.12.2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.91.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/cfn-lint/cfn-lint-1.12.3.ebuild b/dev-python/cfn-lint/cfn-lint-1.12.3.ebuild
new file mode 100644
index 000000000000..086f03ea08df
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.12.3.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.91.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/commentjson/Manifest b/dev-python/commentjson/Manifest
index 32c2da886785..fc23a3e7db95 100644
--- a/dev-python/commentjson/Manifest
+++ b/dev-python/commentjson/Manifest
@@ -1,4 +1,4 @@
AUX commentjson-0.9.0-py312.patch 996 BLAKE2B e13cd38728e7207f7f88897dc5a27d238acd8246df174892cfbbad14e2e3e14abbaf04fbe68d5c5abf8dc0a64824e364f9435055ccddfcc4427936ba83e401f6 SHA512 ff442f4bf916703a4231607d8b79f16d71e8b03665deb9431f438edce12075eb1cc784413bdfd23e580e149c8f150cbe8ea137b3b1e6d046d83204e29264c470
DIST commentjson-0.9.0.gh.tar.gz 15297 BLAKE2B a857b0fa5551079d3d37bff94fb51a903e998c4fb84e0f62a5de28d6eafe0cb8a38b3215515e72c56de0cddb661f109921c801d15b9ba93771290135adaaa5b1 SHA512 cd3d28adecbc445ed3faed7847c65a23829f408cf8aa3fa85544a0f0cf9fa5544b8aff560725cf51921f249123daf9ce9953069e99ca64a312bb4bff652512fe
-EBUILD commentjson-0.9.0-r2.ebuild 973 BLAKE2B 33c87f6235e728e9a2f12b2656d19e7524ee7354eb028d0e89d559e85f24b7d458d275059fcc396b5b1064c05651788d9fb4d1190e06710030e431d1e43b2c40 SHA512 33c645efdfe678b4b8d444b2cfa886203da1dc826200e02125ad3bc81e9457be7aed9030aaa133d8e695cef45eeeaf4ffdecd56e40237996e2554b779e9bf393
+EBUILD commentjson-0.9.0-r2.ebuild 1009 BLAKE2B 329d5a09c24792495d98470bcf56c49bb138008cb6f060f887e1b632a447ae3c1bf26684ba25f59d663144a18387f8a5c3c6bbdb74642a96782197ad6e6d7e7a SHA512 b3df625388e5ace4fe8b5a039e726f6289a74f64759f745f230251cc8212694bb805ac4a8094eef0b47a20007d053b068b0ad256d7988e4242e52474493e5cc0
MISC metadata.xml 375 BLAKE2B 7391dadca9ed1ad8c62515f56347a04fe099c5020b2cfb5d6037e1057199f20a9a512c90800f81186bced7a8ff3f192b36e8c83d7d5ca2b961ea5f5a0e799e80 SHA512 005e5180f3f69d3c162b5ed113840494e0afbc9c09b5c4f02bad97ed7bf5a77e4b7806462f9c7aa3ca72d5d963e5d4b85a591e6e557742685c5738d66214915e
diff --git a/dev-python/commentjson/commentjson-0.9.0-r2.ebuild b/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
index 8f0be216f15a..4ea753abf16f 100644
--- a/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
+++ b/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
@@ -28,6 +28,7 @@ RDEPEND="
BDEPEND="
test? (
dev-python/six[${PYTHON_USEDEP}]
+ dev-python/test[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/dep-logic/Manifest b/dev-python/dep-logic/Manifest
index c204abab5c32..7cca14146916 100644
--- a/dev-python/dep-logic/Manifest
+++ b/dev-python/dep-logic/Manifest
@@ -1,7 +1,5 @@
-DIST dep_logic-0.4.2.tar.gz 34743 BLAKE2B e3d520f935034c5dacf3dbe123eacb2adb45a3b6d6e13c23d3c21c9d36af56093f504660c621ba586335930963243298d5284b41a29247fb9904bff13da7c724 SHA512 7a522e74cf6537ff644e785489c9a17108910d42769abfbc31dcdffde1d36e79c0cc76c98cd289982877296aab451a6963ee039dd258be67e0e82d2c81fd219b
-DIST dep_logic-0.4.3.tar.gz 34793 BLAKE2B abbaa23d39d258b10912844cb28ca279efe7475e419f8c7be7a1119ed636d60bed851ae7fe47cf04f2caa391d933f8a2c5d404db6e8a8c7cf55224224b6a228c SHA512 4800e9cbd9f2479ebb2a2052361f385b68b1ec5ea3f308378dbef199e61a0443c0e28e4f4f7df8a444a4bd50edd25c7168428812543edc0bb0209d2fc5e0dfac
DIST dep_logic-0.4.4.tar.gz 34883 BLAKE2B e28bf4cf3b4f3ff02af53d99bd9007ee5774c4e64d01386c9a736414420da6799f3f681c2f7934e9002ecff3ff87186ff9ec78bf5a18d225cfa32b0d31477468 SHA512 b22ac38a75d52f497cddc96ca2d571f036e0c3abde81b023f6348af4a606c966170e7609a4364425a410172f3e911b053d09aeb3fd0b124d7cb9b32b691e8bb1
-EBUILD dep-logic-0.4.2.ebuild 530 BLAKE2B b0f32d2ae7d4f7322864c3bdece3b4b9db3dbbf6d592e8ecc51dfb5417cd5d2188c59eabbafe076f6c885eb1b294446041b43ca6b501eafce6a7fa3fdedc7f7e SHA512 23ccf90eb3e77f7eab6b0fa5501bc53456a160bcd3e8631a7533c9e66e33d208b5bdd19a0d36242c4e963a8e2aa7c91baf54324034444e8267d217106e90e023
-EBUILD dep-logic-0.4.3.ebuild 530 BLAKE2B b0f32d2ae7d4f7322864c3bdece3b4b9db3dbbf6d592e8ecc51dfb5417cd5d2188c59eabbafe076f6c885eb1b294446041b43ca6b501eafce6a7fa3fdedc7f7e SHA512 23ccf90eb3e77f7eab6b0fa5501bc53456a160bcd3e8631a7533c9e66e33d208b5bdd19a0d36242c4e963a8e2aa7c91baf54324034444e8267d217106e90e023
+DIST dep_logic-0.4.5.tar.gz 34903 BLAKE2B b9f26fb62e89540ccaa9501770aa20e37121110c3bf200bfa91ebf63f4adca9af81febe5d7ca5e1e322ff038d099310b8ed55229637eb9c15e4d790fcd7d1aca SHA512 a98e2fbf9a72f6e055374f101356ddaed36560e175b674cd0e304daf06dd008e91d80684bb8e290a018ee466088b4faecc4790db2a304b218733c8013a02f59c
EBUILD dep-logic-0.4.4.ebuild 530 BLAKE2B b0f32d2ae7d4f7322864c3bdece3b4b9db3dbbf6d592e8ecc51dfb5417cd5d2188c59eabbafe076f6c885eb1b294446041b43ca6b501eafce6a7fa3fdedc7f7e SHA512 23ccf90eb3e77f7eab6b0fa5501bc53456a160bcd3e8631a7533c9e66e33d208b5bdd19a0d36242c4e963a8e2aa7c91baf54324034444e8267d217106e90e023
+EBUILD dep-logic-0.4.5.ebuild 530 BLAKE2B b0f32d2ae7d4f7322864c3bdece3b4b9db3dbbf6d592e8ecc51dfb5417cd5d2188c59eabbafe076f6c885eb1b294446041b43ca6b501eafce6a7fa3fdedc7f7e SHA512 23ccf90eb3e77f7eab6b0fa5501bc53456a160bcd3e8631a7533c9e66e33d208b5bdd19a0d36242c4e963a8e2aa7c91baf54324034444e8267d217106e90e023
MISC metadata.xml 376 BLAKE2B 9236c3ed79dc4016955d7316d573580fd61cdab5ccf2f0dd88004bb9c4fedbb4eb1a002b79e8bb2fb02792185484849d0e4f798d0a99ac3167de720e9bb6f8f6 SHA512 10b70dd0399365a6b19dc4f7a2d469bb9cd12ce03d3ce35e03b75457706d140edbb2cf6402a6793a58a64c8c91a6cd392e5113bdb86cbaf96df9df06a570132c
diff --git a/dev-python/dep-logic/dep-logic-0.4.3.ebuild b/dev-python/dep-logic/dep-logic-0.4.3.ebuild
deleted file mode 100644
index cf3afe5c232e..000000000000
--- a/dev-python/dep-logic/dep-logic-0.4.3.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( pypy3 python3_{10..13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python dependency specifications supporting logical operations"
-HOMEPAGE="
- https://github.com/pdm-project/dep-logic/
- https://pypi.org/project/dep-logic/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/packaging-22[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/dep-logic/dep-logic-0.4.2.ebuild b/dev-python/dep-logic/dep-logic-0.4.5.ebuild
index cf3afe5c232e..cf3afe5c232e 100644
--- a/dev-python/dep-logic/dep-logic-0.4.2.ebuild
+++ b/dev-python/dep-logic/dep-logic-0.4.5.ebuild
diff --git a/dev-python/django-otp/Manifest b/dev-python/django-otp/Manifest
index c79e2f3f1d8b..81533db27460 100644
--- a/dev-python/django-otp/Manifest
+++ b/dev-python/django-otp/Manifest
@@ -1,5 +1,5 @@
-DIST django_otp-1.5.1.tar.gz 73275 BLAKE2B 45a4691a1d9aad6416c28d6aa7b7850890bff19385bb7283019272c836e6cd83c55ba590e57e335131a99e98a17bf49c2418fe69a132b91a182e43c0a33cf863 SHA512 4d2af0a009fe945e136d91404bfa3977783ac681126ffeaa7ebfaacd85764afa07a568284ed1ba9d2c81ef472490df98585e78a1a36c81212b7363362db10f93
DIST django_otp-1.5.2.tar.gz 73778 BLAKE2B 290afbb0a9f2f6ad41ecdb3d65003b0abf4838776241b00957bdbe7303335a33f99eb9e4c23454500fc92d03595a6fb393dd18ba6341e8dde789e21cfabda114 SHA512 5fa8ce6652b6849a7bc347e34addf2b4f694d0116d8c9574fa12d5f2e9313240b69fe4e9058317e202750e453af2882eb24d33d39a7104c458f2337c921901ee
-EBUILD django-otp-1.5.1.ebuild 1001 BLAKE2B 21155cace5a63af6755debd16c55c20d8238b0cc1ad7c6751035c746f026cc63702625220289f2105aae4aff3fd31a36d32942de15b9824a139dff90a5e3ee2d SHA512 f80f3bdf0890ddbd36f0ea3bbca9451ead46d58f75641aca6ac3b79f55fc683dc04058a1846ffb237b100f707642ccad248d17145801f10e1bb1908e72ab7da3
+DIST django_otp-1.5.3.tar.gz 73785 BLAKE2B 0f69539b271c7ed4cac55e6f52c4f8b67761731df14eef7594d3430b89e44c3b4314084a6ddeb02b85b4b576fffe2c20097e5bad291de2020f2314042d374348 SHA512 c101996982182736743cb14f44cc055722cc510e2082ee312f91b79cf9d87b50aaa1eeec489649723514e7150469be9c7f4f2d71758a7a72d0dffe04f4f875a9
EBUILD django-otp-1.5.2.ebuild 1001 BLAKE2B 21155cace5a63af6755debd16c55c20d8238b0cc1ad7c6751035c746f026cc63702625220289f2105aae4aff3fd31a36d32942de15b9824a139dff90a5e3ee2d SHA512 f80f3bdf0890ddbd36f0ea3bbca9451ead46d58f75641aca6ac3b79f55fc683dc04058a1846ffb237b100f707642ccad248d17145801f10e1bb1908e72ab7da3
+EBUILD django-otp-1.5.3.ebuild 1001 BLAKE2B 21155cace5a63af6755debd16c55c20d8238b0cc1ad7c6751035c746f026cc63702625220289f2105aae4aff3fd31a36d32942de15b9824a139dff90a5e3ee2d SHA512 f80f3bdf0890ddbd36f0ea3bbca9451ead46d58f75641aca6ac3b79f55fc683dc04058a1846ffb237b100f707642ccad248d17145801f10e1bb1908e72ab7da3
MISC metadata.xml 387 BLAKE2B f1be13d8af9a4926d7c82442cb939f1030a8234d4f18917cf8b2b8b204d763974b5f08f8597334238733d6446fc1165ba19d454e13105dc16afacf1fa3a98ea0 SHA512 d85060b9982c55057128a0c7b7fd1537e3eb613f9d44e6c40438283d76f6d65c92db78815005ce44b4096d57c62584659d5997491f003ca1ed8c36f88db8623c
diff --git a/dev-python/django-otp/django-otp-1.5.1.ebuild b/dev-python/django-otp/django-otp-1.5.3.ebuild
index 3dc062125747..3dc062125747 100644
--- a/dev-python/django-otp/django-otp-1.5.1.ebuild
+++ b/dev-python/django-otp/django-otp-1.5.3.ebuild
diff --git a/dev-python/google-i18n-address/Manifest b/dev-python/google-i18n-address/Manifest
index f61445272234..dad164e54f35 100644
--- a/dev-python/google-i18n-address/Manifest
+++ b/dev-python/google-i18n-address/Manifest
@@ -1,3 +1,5 @@
DIST google-i18n-address-3.1.0.gh.tar.gz 726728 BLAKE2B ef41b285aecea0b3e11b08c0815d57a2c3816c59fe01fab64fd75913b0f870e42fbcd0ed76b201c6cd47e4b249c03689b54c648468c3a2cf3d3cb67e2be7ab03 SHA512 b47b5eeaf214a04614ed0976055d25fbce2d298c45db4bfe31b369cd27dc1e097b14d4fae62b5f8dd95be5693d2fda12d0b618029dc1f3ed2784e28b60c43ef9
+DIST google-i18n-address-3.1.1.gh.tar.gz 726391 BLAKE2B 5c77c059a61cd4f8d56bf25d95f9672c3c8185348239a5aafe54b955cc13b84f56d2143db3bb201024d459cd932bc8efe9828c1e77fa1fb2c9b4293efd2d9225 SHA512 7df537ec2f2f06246e1f77dc2eccb87aca30fb9251a3f32acb154b6ab5754f0525d8a06f1adee210f98bd49ace25b1e78075f5ef378ea0c410fcf08c3addd0b1
EBUILD google-i18n-address-3.1.0-r1.ebuild 692 BLAKE2B 8d1ab8293c9192770ea4fd0c73ec90d0a134b37ab26a0d63403fd7d0c749389a77f41fb160a6ad70ddc7bcbdf9c9c1d6c10de90b67ab83479d0caa0904c19782 SHA512 8f48906c50a423734f080d5119fd01063c205668641905a6aba07a5a8d0f5250d5908bd9da7e4f1f119bcee99e45035ad46108aa8c0c485ab474eaea5198df17
+EBUILD google-i18n-address-3.1.1.ebuild 764 BLAKE2B fe5c515a8da5bea8ecd26149f8f3c122bbd31494960938b37eca111a67c388045c30fe3aa178a7b9fbcac3f97a439e3886e7db23a2745f9a25a3f414e8080071 SHA512 20eaef36765bd0ed5c37520682fa9bfa64275aa4a62ef72c8a41d07415f7a97827b0cfe3b91c01bf185ff706c2bcfffd599befb35c60131e354832c2e2c86218
MISC metadata.xml 498 BLAKE2B 0a06e46935f90688ffec111afb963e29f192847f1511fb81cfcc2588076bf8d2e335bf7a8138da44fd9452b0f13c6496762682695bf5dbddc615d91656bd3322 SHA512 5f4ffa9b5247d8be2352ec3e9e325fb24c50a7f341f78e3a0a81c51c76dd46d3c1922954f27606a6720a9d3cbf330c556a56bf35d824e27b151b8174387df48f
diff --git a/dev-python/google-i18n-address/google-i18n-address-3.1.1.ebuild b/dev-python/google-i18n-address/google-i18n-address-3.1.1.ebuild
new file mode 100644
index 000000000000..b71b9386ff07
--- /dev/null
+++ b/dev-python/google-i18n-address/google-i18n-address-3.1.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Google's i18n address metadata repository"
+HOMEPAGE="
+ https://github.com/mirumee/google-i18n-address/
+ https://pypi.org/project/google-i18n-address/
+"
+# Using the github release, as it contains the tests (unlike the pypi artifact).
+SRC_URI="
+ https://github.com/mirumee/google-i18n-address/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/requests-2.7.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/jaraco-test/Manifest b/dev-python/jaraco-test/Manifest
index ad27091abb39..2478b8ef4536 100644
--- a/dev-python/jaraco-test/Manifest
+++ b/dev-python/jaraco-test/Manifest
@@ -1,3 +1,3 @@
DIST jaraco.test-5.4.0.tar.gz 8838 BLAKE2B 3abdff298a61015363bda3e52d3b5226993169128386dbb620487dcf8b29926c9be0415a2a263ad311db04a591d446b9e6efaece2ab2bfbe7b2781ee2e6dcdd6 SHA512 ab260c3c5ef16e83e8be0821cb735941764c06bb414c3f913bf337b62267b177f3102f7a87241b182ef20760fdcce98f4f9c705335b0744b69f9a296d5215b1b
-EBUILD jaraco-test-5.4.0.ebuild 1181 BLAKE2B 66c55d2280ff2f28503277c1e653d2d36e450f9a45c92e90a93d280a914972517d540ddae05e0b40a2f8641bc51e0bef02229016d936a8346f8f817d829ca505 SHA512 d2b7cced5e787b0c0d1d3a7e1b387453a2232d6d10ea27cc6738daf19d188f4ada3560295ae104bcf464346e602e50fcbe3dfac5d86f43c3b750743bcfb8e366
+EBUILD jaraco-test-5.4.0.ebuild 1216 BLAKE2B 8b2ded5d3b3b10c2c392150d61536582dbcafa028a914ec7b4c2593d0090937d36af01f09ba6c79a30afd8e16ab1dbd2e59ed85d1ac02718a5320b150c6f4e04 SHA512 24716653661ececcaad7555712b9d4e3b2f0ce34a4cd5213fd802ce3ab932fdb7eb48ffc5ac89cb97e12e09c231b73f4a8fadcbb948e5afed4030bda8bb1f04f
MISC metadata.xml 397 BLAKE2B 24c07f0efc966e9d4445968ba639a5476a24a0885051e4eab17075ea9b7b6369fe9ed919ccdc0b51a1e667c8d327428caac2196c2a3e087d8b36176e7b4b2c81 SHA512 4fce74bc524dc018611c219b86b87b7643fe5d133309a00dd5ade217895165f85cfbe26b686c79fc4dd8b1e016b07c83c25afa1c015fc240ffa0ac75e4c17159
diff --git a/dev-python/jaraco-test/jaraco-test-5.4.0.ebuild b/dev-python/jaraco-test/jaraco-test-5.4.0.ebuild
index ad20feadc830..62457c9b071d 100644
--- a/dev-python/jaraco-test/jaraco-test-5.4.0.ebuild
+++ b/dev-python/jaraco-test/jaraco-test-5.4.0.ebuild
@@ -24,6 +24,7 @@ RDEPEND="
dev-python/jaraco-collections[${PYTHON_USEDEP}]
dev-python/jaraco-context[${PYTHON_USEDEP}]
dev-python/jaraco-functools[${PYTHON_USEDEP}]
+ dev-python/test[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest
diff --git a/dev-python/kiwisolver/Manifest b/dev-python/kiwisolver/Manifest
index 8694b18c3d8f..3a3d3de7ba4f 100644
--- a/dev-python/kiwisolver/Manifest
+++ b/dev-python/kiwisolver/Manifest
@@ -1,3 +1,5 @@
DIST kiwi-1.4.5.gh.tar.gz 91741 BLAKE2B cebdf8269b063d10f85a303cf5fa850f87c911aff9be37ae2b6762f021ea25b8b8cb3759e7e4292bc8c2fdbdf5d73ef6295263f541adb283969509cc11d8428a SHA512 889e106c27915cb773bc13969605812c1ca01a139e992d2b3517eb20989ae41392bfdcdd63184a7777b13eff5109d167869087ea09149b1527e56a3455213b14
+DIST kiwi-1.4.7.gh.tar.gz 91607 BLAKE2B 560b811ad16e7063581c6a448460035a8b880a9ed11e0be0da8f587dfc88d9f8c8341aca9fa26920be8d7478a0920cd0597f045b5d2efa80982b56800ddbcf35 SHA512 74e9b78980a348314b569cc8f922e7bddbafc3798c23526eb1746d4a5d0ae17681cd291c8ebeedbe9e7af25b4d0b32980e0c63c40a070f617cca9dd5915ea668
EBUILD kiwisolver-1.4.5.ebuild 923 BLAKE2B 120cc3e7c229968a1960f9bd964b2ba7dac92f008998f18fc592fd303346245ccdc44cd9f240596cd78702f28374f3cca590824e10bc5244901f68ac27599d83 SHA512 796211a0e17253c6802c9500345f43254fe34f598a84c84464640e4de6d3bbde5432a550b91fc2ed4158afcc80e269e345bc04cc7d06289a2e76400caf11fe59
+EBUILD kiwisolver-1.4.7.ebuild 931 BLAKE2B 99dda512174e62255f7c81b9757bf479c0f7f5fe7b092b768fdda4aba24d6fe84bfbf85049e613a7c6f29bd70453ef5a9005f8b227c4040192a7048d63d703a2 SHA512 614d88b299221fe8c15539c31f39b2828741343c1336bebcb149f65c7684e2b42356a75c60dfc384fa72bf72a47a7a4f416e650d093e95aa35632d34e9d8d553
MISC metadata.xml 366 BLAKE2B d724248e9950219de4990e67822a16781e1a28f41d863fde04b3e1212b982a86819636a621b6e23089b76042ebbb23e0944a88ef9ab4c4abe62103f12197e5c2 SHA512 526fe3a81426edfc4c050631133799d948d1becb016319e954491090b9f3f6d410958db7027b5c2e2386b40c783f8c984b2588cda56e3ac58f3d2b1a5a8af0f0
diff --git a/dev-python/kiwisolver/kiwisolver-1.4.7.ebuild b/dev-python/kiwisolver/kiwisolver-1.4.7.ebuild
new file mode 100644
index 000000000000..ced573e41477
--- /dev/null
+++ b/dev-python/kiwisolver/kiwisolver-1.4.7.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 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_{10..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=kiwi-${PV}
+DESCRIPTION="An efficient C++ implementation of the Cassowary constraint solving algorithm"
+HOMEPAGE="
+ https://github.com/nucleic/kiwi/
+ https://pypi.org/project/kiwisolver/
+"
+SRC_URI="
+ https://github.com/nucleic/kiwi/archive/${PV}.tar.gz -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Clear-BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+COMMON_DEPEND="
+ >=dev-python/cppy-1.2.0[${PYTHON_USEDEP}]
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+"
+BDEPEND="
+ ${COMMON_DEPEND}
+ >=dev-python/setuptools-scm-3.4.3[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/mkdocstrings-python/Manifest b/dev-python/mkdocstrings-python/Manifest
index f364fd5a86f7..5cf1c2ef2f8a 100644
--- a/dev-python/mkdocstrings-python/Manifest
+++ b/dev-python/mkdocstrings-python/Manifest
@@ -1,5 +1,7 @@
DIST mkdocstrings_python-1.10.8.tar.gz 161724 BLAKE2B 1720bd166c8b924f3d024ffbdaa46383a68ddbb4db1aff6d588049272f8e34046ac7ae62a6d9739dca029794e42afa0415179c978874b6012ace4842978184de SHA512 da179fc31af4bc6dba62b050c26736b313859dac6b8c29c877126081d6bb228255be626af09a61ae2a5b449dd0a1a19d41b1313dc9d1fd10e001e16a423c485c
DIST mkdocstrings_python-1.10.9.tar.gz 162070 BLAKE2B a939f662ae33eba397260589f634ea6a2acaeecb1acd0711eefc65cbce09e5fbfc03aab19c6daa960d853a4387f09699a6fd32bf73f39d6d8c95732cb6d3cad9 SHA512 4f6729506208409ed9936e663dc1514457dbb0977408949d2f4121440e33084b7f152c21138f99332b18825425432f85cf2300e9b14dd6d9e36a9f50e52abd7a
+DIST mkdocstrings_python-1.11.1.tar.gz 166890 BLAKE2B 47241f180421e3b535a58801363907d85eb9550593b849f7210a4584e5b1fafbf261feec2a3d9f5f88b0d25d5f6ae8a824c561718a2729a9cd2ada72a31f9fa8 SHA512 224210247e277b626916cebba816e2cf78ce1af8338c5bae783aa3550352e121dfe8a27ccb61258ee3723c46c6e36e74bd129ed5ae2297ff7bb451c27f9faef7
EBUILD mkdocstrings-python-1.10.8.ebuild 710 BLAKE2B 6d9c8f56ad3a3b1d6377952557202ea9fbe07cc998b6ea730298c5cd01a65ad3cd6c1214795a455ec8b8d694545218b8f5ae824cf492dadba40977129d0eea77 SHA512 a4ae920819a9730f3c0c41a582ec5e89593d1b3ecee28abe6d3c27c43144000c3cc3815ef19dbe7d903cee215b40a12b919a17cdd798b8c0663de4ac27ebb76f
EBUILD mkdocstrings-python-1.10.9.ebuild 762 BLAKE2B 9e3066dd31604635f9fe029cc012fe7ad9f4e9a464d4d60b1640b59a84bf89a253326cece6982e458693d6bad4cf1c896758cad80ad29e4a61dbf35cd3f374c4 SHA512 00e0a130997db13bd04bd5e4f3137410beed34ad72858146b8eebb3a8fc7e5b06858ebd42c91142da0e9f8a4a40dcb8c31e0956e32ea3d2605ea8d3e3e84d2f7
+EBUILD mkdocstrings-python-1.11.1.ebuild 762 BLAKE2B 0d08ca877f0508c84dae589069df82415f82818853fbfe571d999ee6b7a1a35c133c21832878df70ccbfd20b9b6a09673ba6df427e2611cbc8c544328acc460b SHA512 7dae0d40cb7417ac55d64ff3298df39d71888443e7006ef11cc281fc4831aea0763b867c3a4ba2d3e5862d4c1030ad8a91ceb24b5a1adc635af4f6af5604c7fd
MISC metadata.xml 406 BLAKE2B c453b318ec32906f8b4917e9fcf9e82e632b780435d6617195590757dc8e08505dd29a05e8009808a040460ae322048801077aca8b41c8e07d093c4177befd39 SHA512 c56a8b222d22b5e4e8f396a96abddba840c4288b01958e261e3eb554830e88f424d840b839b7f6180f2f64c74cde9e2e3e8c70cdbbb8d4cc84ac161007064059
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.11.1.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.11.1.ebuild
new file mode 100644
index 000000000000..840fb3d9e876
--- /dev/null
+++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.11.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python handler for dev-python/mkdocstrings"
+HOMEPAGE="
+ https://mkdocstrings.github.io/python/
+ https://github.com/mkdocstrings/python/
+ https://pypi.org/project/mkdocstrings-python/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/griffe-0.49[${PYTHON_USEDEP}]
+ >=dev-python/mkdocstrings-0.26.0[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-autorefs-1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest
index 78f7fda70cd5..8ac193a43f65 100644
--- a/dev-python/numpy/Manifest
+++ b/dev-python/numpy/Manifest
@@ -4,10 +4,12 @@ DIST numpy-2.0.1.tar.gz 18872007 BLAKE2B dd1d4658466057892f10cdc29a764b324dbf5ef
DIST numpy-2.0.2.tar.gz 18902015 BLAKE2B 63f993e3429bff1dac1ff79fad23a36a2493fd2c8a825ef96b6b87d82b0e68393d2829c5ecd9065df345c8bfbb1f8f385077f154264f7d2810d311d1d6672bd7 SHA512 d769fd4f07e082fae1661c6856d6d726e189f6931f3028c6819f9806aa9dfd15ab2b49c48b94bfd925eb3f74fddb6f044c9ba93bbb785b5476440dd1cf0b4999
DIST numpy-2.1.0.tar.gz 18868922 BLAKE2B 3255ae5e077fec597935d0719b2d82b4f654bf3acf927d502d37e205995468a6fb9713563d437f90b00dafc061cf68d623517fd175a7bcc2c9a151d6e589cf97 SHA512 d0948aa8bb7406b91d79cdd1d5019632e00c60aefbbf5c0884dd91ec8dda6a5369538ab20ef6a201595eeba98bf3a19a407e58a3d4e4e2f412420e65400d7bdd
DIST numpy-2.1.0rc1.tar.gz 18868567 BLAKE2B 1100dfa558ce6cfe608fc792c692c40b61d31854560d18cb6ea4a32b3e03179bb3d81cd080a56683cd00e5e5d073e4628f7daf75635bc0830af76749fd30d34c SHA512 cdf6df68ffbf256215114e48064088c71cb1a0522ab6d29eb1adf45760d6b58a3852755f2ab005e78ad8cbe2fb331fa7362d404150b68425d38e68a5e851d492
+DIST numpy-2.1.1.tar.gz 18874860 BLAKE2B c828f2106e32429831aa8c64b3b94dfda1b097bcb7f3475b33306bed0b03c2aeb0af4e43ea47c6b3d5e6387b37e3f9ecdf6ae2a3fd4f526da5d121931b9521f1 SHA512 94843f88a32cc1df3e572ac13f294e49201a1f50fbd28707a500839cdff61958823c5b8748a7a54cd866a1acc9bd11efde53042141a81cca44393ee7cee78cdc
EBUILD numpy-1.26.4.ebuild 5091 BLAKE2B 91cf0872ed9d2ce980079f780ef545a617b29398b575b041f8674ea93f079e8c31dace23a884ef95962eb5b81670145792f0a0aaf12dd298f479c93426816075 SHA512 760766ddd3fa496e350561d7a306592b822e37b91450e2e3170b427fd84f07a04106fccf2cbf2a9527a288664fafd5de6d423eae3cd09e4a3ea314e5cd853231
EBUILD numpy-2.0.0.ebuild 3296 BLAKE2B 0ff701fc47b2dd25bfab52ed687a899301e0debaec8a308705d38774d4c891a118b510c32e32eb77a677c2a897fa281b2592bd8c189ff664fae7056f5ce43d1b SHA512 72a0ba52b4749c889198cde30eb34594867c71c8d998f8f2090b72a3dcdbfcf57d66e5aa5d90448ad564bd2dfe6ddde1f97cea7f432f1e1c2537d30234cfe0e7
EBUILD numpy-2.0.1.ebuild 3300 BLAKE2B ee3ee79e5610e62b2ff42b1ec06c8152f2a91cdcb04e61fdda44662c7b1e89c10f08412638988219c223443c7108262b25c35c2280c2869a9bbb379eef179241 SHA512 fa4c426586068d45dc48f52e2ed2f7a36b4a7b703bfa9d829eba7bc5e96ab94de73ce359de0fec4ddacdbbfa26405a96a8f9ae98afd15b8975cfea8e676a68e8
EBUILD numpy-2.0.2.ebuild 3302 BLAKE2B 9a07c2ae741fa37819e3d10933d1b522a4a36f7f3312377db351966a5413139b0622d41507c1c6ceb0b1b1db31e494ca17a06bdacecbcdf7c5c3bba8b97883a4 SHA512 c9d6b83c23a7b7b3191bc589137e435b22215551e9d626bba64d3f9be4097ece1b83a02bbb86ff8f09f6abc8b2c303e03e6c0c5ef423e52d8813e9dc136bc536
EBUILD numpy-2.1.0.ebuild 3302 BLAKE2B 3fef6c60c9c7869ac55b39695e7b657d9d49ed529aab0590da4453ec4446bd52eac56a95031f123025796b46e19640c6f5732e178b75b025cd21cb2eeba58afa SHA512 4d26cea15c6849ca9b8240e0ecdadea028315719238d2baf181be71b815286ddb3a9be21839fd4171046e24c1b193c27287e0764db33e7ea7b109420b99a10af
EBUILD numpy-2.1.0_rc1.ebuild 3197 BLAKE2B d3fc48689df17bee8e7bebf519391f765073dac4aec265994584e1c1833e987c2e5f27a17d1d0e976c7766c77fdbf79797a1a36c522c4f4a12238c6dff1a1693 SHA512 665b439bbce4e52b801bab1daa4b052f8d710b6d077abe966dc15054b6ebbdf68e8637bdf490c8fd7257b28d1579c76a5b794605887e501c6037c3b73b8aaeac
+EBUILD numpy-2.1.1.ebuild 3789 BLAKE2B 65e3f0b03e91bd28641bb9d3eb1819b013f18df544459dcf84c0b0d49c52bab866c476438b20c5aeafc3c7e82674876f3fdb4170b907de51b66e973591f2883a SHA512 1fe7976dd07f92a0d07b64a24062a907555676d31af050935ea504f3d2fb95722bd2b13059217238f5fae68609d385573fc89998f17b3bb33f1f55f4bdcd7896
MISC metadata.xml 932 BLAKE2B 7a4af31f613bab05ff542da48bf6ff1484d9df2459f559516e71329451dd739d3df0fead507c8033d94ab9ed516b68efe7f21819a8cd6ca303643d8c8bc34e86 SHA512 32cb8c1ab61521a02cbec38f6ea383f074e50d46aa3462ddcb85710f9d348e8e628cf2a5725e3cd921cc32f02885a1b5f02125639f0ec885384eeeff7f468a06
diff --git a/dev-python/numpy/numpy-2.1.1.ebuild b/dev-python/numpy/numpy-2.1.1.ebuild
new file mode 100644
index 000000000000..394b1fa13835
--- /dev/null
+++ b/dev-python/numpy/numpy-2.1.1.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 flag-o-matic fortran-2 pypi
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="
+ https://numpy.org/
+ https://github.com/numpy/numpy/
+ https://pypi.org/project/numpy/
+"
+
+LICENSE="BSD"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# +lapack because the internal fallbacks are pretty slow. Building without blas
+# is barely supported anyway, see bug #914358.
+IUSE="+lapack"
+
+RDEPEND="
+ lapack? (
+ >=virtual/cblas-3.8
+ >=virtual/lapack-3.8
+ )
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-build/meson-1.1.0
+ >=dev-python/cython-3.0.6[${PYTHON_USEDEP}]
+ lapack? (
+ virtual/pkgconfig
+ )
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # bug #922457
+ filter-lto
+ # https://github.com/numpy/numpy/issues/25004
+ append-flags -fno-strict-aliasing
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ -Dallow-noblas=$(usex !lapack true false)
+ -Dblas=$(usev lapack cblas)
+ -Dlapack=$(usev lapack lapack)
+ # TODO: cpu-* options
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Very disk-and-memory-hungry
+ numpy/lib/tests/test_io.py::TestSaveTxt::test_large_zip
+ numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_fid
+ numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
+
+ # Precision problems
+ numpy/_core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
+
+ # Runs the whole test suite recursively, that's just crazy
+ numpy/core/tests/test_mem_policy.py::test_new_policy
+
+ numpy/typing/tests/test_typing.py
+ # Uses huge amount of memory
+ numpy/core/tests/test_mem_overlap.py
+ 'numpy/core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ )
+
+ if [[ $(uname -m) == armv8l ]]; then
+ # Degenerate case of arm32 chroot on arm64, bug #774108
+ EPYTEST_DESELECT+=(
+ numpy/core/tests/test_cpu_features.py::Test_ARM_Features::test_features
+ )
+ fi
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ numpy/_core/tests/test_nditer.py::test_iter_refcount
+ numpy/_core/tests/test_limited_api.py::test_limited_api
+ numpy/f2py/tests/test_f2py2e.py::test_gh22819_cli
+ )
+ ;&
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # flaky
+ numpy/f2py/tests/test_crackfortran.py
+ numpy/f2py/tests/test_data.py::TestData::test_crackedlines
+ numpy/f2py/tests/test_data.py::TestDataF77::test_crackedlines
+ numpy/f2py/tests/test_f2py2e.py::test_gen_pyf
+ )
+ ;;
+ esac
+
+ if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
+ # depends on importing numpy.random from system namespace
+ EPYTEST_DESELECT+=(
+ 'numpy/random/tests/test_extending.py::test_cython'
+ )
+ fi
+
+ if has_version ">=dev-python/setuptools-74[${PYTHON_USEDEP}]"; then
+ # msvccompiler removal
+ EPYTEST_DESELECT+=(
+ numpy/tests/test_public_api.py::test_all_modules_are_expected_2
+ numpy/tests/test_public_api.py::test_api_importable
+ )
+ EPYTEST_IGNORE+=(
+ numpy/distutils/tests/test_mingw32ccompiler.py
+ numpy/distutils/tests/test_system_info.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest
+}
+
+python_install_all() {
+ local DOCS=( LICENSE.txt README.md THANKS.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/protobuf-python/Manifest b/dev-python/protobuf-python/Manifest
index 1f8caabcc726..5bbef9b6ec7d 100644
--- a/dev-python/protobuf-python/Manifest
+++ b/dev-python/protobuf-python/Manifest
@@ -7,10 +7,14 @@ DIST protobuf-22.5.tar.gz 4924661 BLAKE2B d69c73f4ebfddf45fd94b4f5f898faf00256fe
DIST protobuf-23.3.tar.gz 5043803 BLAKE2B ee2edee230969555c9ef95069c7b1d6c23c3d1f8ea1b2249fb3e9f6fcf63312c6e10e9da65b80629fb08d5fb08d05a19bb9c752c25b892c1e3fd6f18b9279eb3 SHA512 646af367dbc61b42e322cf0b335f360e428b272e2b1f5361b2f17c18d3dc9dddd615e1279436028b1a42275a0beadda37c2c934fc27d6c892131cc8d526d8b3b
DIST protobuf-python-4.25.4.tar.gz 380283 BLAKE2B 3ded7b654fa4db54b0dff2309f096bcab634b9d587bd94dae4ab49fb2fe9dc8f821c52deed43b026e06189b3b7a1a6697074942c1fa732ec82257233bf1b2f90 SHA512 7b91a9473fafe62b723741faec8e8531c604b025a49ef8be79778f8a48c84c475518447b24f5a08a0a8a8ecb1ff22e2106a3183197b76be3b2b8c6c994d93920
DIST protobuf-python-5.27.2.tar.gz 401640 BLAKE2B 9d3420b75536ffd452cc2a3317a6ad1e16a62df36085f1e329f0178026032f5533e1a96f7b613f91093ac12a44d7ad4059ebededea636f38ded29da563afd075 SHA512 b3afcf13e223d7e855ac0aa000cc395e3ea1301b2e3dfe3c0d5435d8031be3726e6aec1fb6228c572aa1685f75aba2d97d2c9dfdb6d9e058a2e88321d6ba9180
+DIST protobuf-python-5.27.4.tar.gz 401622 BLAKE2B 4a7f211a4f4b3e7a338f8be6a7c6cdec2df629d6f9b62dfc276d6029864dfb541468a5e4d221f4540ae9281e5fc622ee898daeb178f9d98bac9932af0c8625db SHA512 2b817947363ab8d31bd484c18d33234004c7f5e6cb7bff55657cc33e1f325e22c7ccf83c19e255e839d6061fc62d632af9b36bc4fef0d4b33623b278239043b2
+DIST protobuf-python-5.28.0.tar.gz 422388 BLAKE2B 208f92bdb2bc0b92dca76de4d13eda0c98bc4784cb2ce9d57690682d9327fb2a66646241ecc02e96be602b6763b177b3192ca457732540d1fa8c33afecd8d76f SHA512 91f05915ace778ee76a07856049410c48c02a665f6c4665df9ac3e32992a67235a93fb4e19c9f991821652f236b87749c3d79cfabd8c6508fdc17a2ee612cee5
EBUILD protobuf-python-4.21.12.ebuild 1711 BLAKE2B eefe5bc310013fc007050f7baf0be7d3c4370ced384fae6ea824941bb3767af129fcb0a5828ed6a572010f623e733cc858f9d8e27de800f47d7655aed590a603 SHA512 b62a8d8920a68081ed7e1d6fabfbd71f92eec828d431b3a67adcba4bfd4bd8a53fe3004c507bea115f44bdcee4be0d0d8192318be90eadbba269819104e16739
EBUILD protobuf-python-4.21.9.ebuild 1852 BLAKE2B f3b2977f5a058550d6d3ebe4f421da10e6c0f7dc58e2feee4b6d6198d339e1e6810426271b76fc14d9e2b27ed1ad5ddfe49637ff3cdbacdcdd7f4b26b3a5188b SHA512 844ab88f8d881310e05eaad54805a78834b93296b173947e9c55fc64a4e6ec1489219e1db4ef65da836d1ece782860b8b19d915a2e6da44b2582b9125971768e
EBUILD protobuf-python-4.22.5.ebuild 1882 BLAKE2B 1e396eee398034d49bab504eb6872cb377a6324b1f4f2d172e2d4764d8d59116db84e0abdbde537704fb9329fa1bb8459988ce85c6e3303d6990fded37924647 SHA512 acf574eabebcca95529c94876b3bcaca16e84bde632194d145fb90487b1b980ab7ee1907bd247c4532394960eaa3c0c06db24111db6df518721247cc5f959e28
EBUILD protobuf-python-4.23.3.ebuild 1679 BLAKE2B ba8ddb53a7cbbeca0be15b890da9e392b928a3aa0ebd3931ef1721e06535bd5f380fb6ee07ec17e162a76ebce54d0586f3ea4ba010e193ee8dcdf54c22d433e6 SHA512 3e585981e2fc709ee6c972535cc6370e17fd1876171cb260e9777af14bd3081fd95b2386504b54f0cb1d1cbfb387bb3c02559ac88d28aa5605551156fbfc075e
EBUILD protobuf-python-4.25.4.ebuild 808 BLAKE2B bcb6657f5ab95426831a18e022a1697c6d7f29f1464dd75f6d43fe2942769a16cabacf0a91f3eab7c0e155e192e546a966e2f9ed2fef43f9d5c777ab3abe2725 SHA512 a638b900c2477cd085b95c62420a5755f6c467c5d9b6840acf53611a183840cebe31b6e723f7f3be1b98c1ea59356683185d94e6064e2a00eb0ca66eacc8c43e
EBUILD protobuf-python-5.27.2.ebuild 804 BLAKE2B d3d39ab646c446d5a016a4fe78bad3901984a6ea2cf49133f54410741dab6d6596afa4159ca21a25cf1c9966d08eb45998558ceb34475c6b8797e8c9c9e387e4 SHA512 70c09173d58a64c83d4144ab4af4d6f35adf9b2957f451fccd233aa965d235e1b257143815b23ec5f44cc99526e3073ebdca59530563ffe32f70bce2e02a3dcb
+EBUILD protobuf-python-5.27.4.ebuild 808 BLAKE2B bcb6657f5ab95426831a18e022a1697c6d7f29f1464dd75f6d43fe2942769a16cabacf0a91f3eab7c0e155e192e546a966e2f9ed2fef43f9d5c777ab3abe2725 SHA512 a638b900c2477cd085b95c62420a5755f6c467c5d9b6840acf53611a183840cebe31b6e723f7f3be1b98c1ea59356683185d94e6064e2a00eb0ca66eacc8c43e
+EBUILD protobuf-python-5.28.0.ebuild 808 BLAKE2B bcb6657f5ab95426831a18e022a1697c6d7f29f1464dd75f6d43fe2942769a16cabacf0a91f3eab7c0e155e192e546a966e2f9ed2fef43f9d5c777ab3abe2725 SHA512 a638b900c2477cd085b95c62420a5755f6c467c5d9b6840acf53611a183840cebe31b6e723f7f3be1b98c1ea59356683185d94e6064e2a00eb0ca66eacc8c43e
MISC metadata.xml 379 BLAKE2B 633742f2c32c646e3c7f065d269b5d17fc99b3adcae725493ca612cd9ce6bda0f2521274619c3433f68227428aad897e783ac4b91dbd983216c0355619015197 SHA512 7d3a14e66af994e2fae5509b7d84012b0004d124021f3eae1a1c112ad0e2a83f622de9d2c7a614f19bac8a15ba889fe1b4136c93c57b9dd910511587d3d09af9
diff --git a/dev-python/protobuf-python/protobuf-python-5.27.4.ebuild b/dev-python/protobuf-python/protobuf-python-5.27.4.ebuild
new file mode 100644
index 000000000000..b0d4a3ec76a7
--- /dev/null
+++ b/dev-python/protobuf-python/protobuf-python-5.27.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Default implementation currently is upb, which doesn't match dev-libs/protobuf
+# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+PYPI_PN="protobuf"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google's Protocol Buffers - Python bindings"
+HOMEPAGE="
+ https://protobuf.dev/
+ https://pypi.org/project/protobuf/
+"
+
+# Rename sdist to avoid conflicts with dev-libs/protobuf
+SRC_URI="
+ $(pypi_sdist_url)
+ -> ${P}.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-3)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-python/protobuf-python/protobuf-python-5.28.0.ebuild b/dev-python/protobuf-python/protobuf-python-5.28.0.ebuild
new file mode 100644
index 000000000000..b0d4a3ec76a7
--- /dev/null
+++ b/dev-python/protobuf-python/protobuf-python-5.28.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Default implementation currently is upb, which doesn't match dev-libs/protobuf
+# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+PYPI_PN="protobuf"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google's Protocol Buffers - Python bindings"
+HOMEPAGE="
+ https://protobuf.dev/
+ https://pypi.org/project/protobuf/
+"
+
+# Rename sdist to avoid conflicts with dev-libs/protobuf
+SRC_URI="
+ $(pypi_sdist_url)
+ -> ${P}.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-3)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-python/pyasynchat/Manifest b/dev-python/pyasynchat/Manifest
index 754a89bbc644..20450849ae3a 100644
--- a/dev-python/pyasynchat/Manifest
+++ b/dev-python/pyasynchat/Manifest
@@ -1,3 +1,3 @@
DIST pyasynchat-1.0.4.tar.gz 9747 BLAKE2B e38edd9e35ce31f9015b934a5d4edb96053ff239978359f13e5b74ac9b8160029556207f79a199d82085882e80d88fc8033f9085f986b48dfaa50de780576197 SHA512 d36eb16770637a311d56fe22229de5a3cdfa699ae64fbafcdd5ce9acd43270b90813fe56db14528083ee1803a43d958d0b3b6616e0bbf907a4dd4a563981a278
-EBUILD pyasynchat-1.0.4.ebuild 582 BLAKE2B 5ea883cde722366d8b629aa105adcefcb417da8040477df16be5fb8f4b6b1e77a760ec4f13d8713a81c32891edc60f7281df5822f7fbb2707a2e80485474e5d7 SHA512 ae63208d944f419296db357651fe890727c12cd5131fa6a90c42a634d9d894a517e8dad445d79bdfbb6b18c1d8ecf1a1ca47a4042ddcb124545b3532849f050f
+EBUILD pyasynchat-1.0.4.ebuild 681 BLAKE2B b9c06fa5d677c9bde0d13b4869f37fa0f74ce5ab98aeb38e16c29297763d346995f5a58d2a669aef8986a0808443133b60531533d414c6343b02973da07343c8 SHA512 b73c7f40dd202655126b1633a39f9aa583c7cda084aec780cde401c0e17919194c9cfb79fd5d187ba17000c5bea3041bf0d0b57f63ff9303ac0250b047befb3d
MISC metadata.xml 410 BLAKE2B 9e60dac1e4ef47dd2d5a1811c8ecb03d6b0f8ca88ca22b0717309d74e762f4807db9a240a58dff57b5bce05d6988da02a9961854a65b4442b6d45fdd0251f0e1 SHA512 efdcaf76cdb42d8949e9c5f660b28e782f13510f67f5395d5966551ac8e9c0f4272b64f4c8b6876838306d43b74d6c6ebe9e495d8f08545fc7cee2ecddf6a42f
diff --git a/dev-python/pyasynchat/pyasynchat-1.0.4.ebuild b/dev-python/pyasynchat/pyasynchat-1.0.4.ebuild
index ba48e9e8acdc..3ba1840d14aa 100644
--- a/dev-python/pyasynchat/pyasynchat-1.0.4.ebuild
+++ b/dev-python/pyasynchat/pyasynchat-1.0.4.ebuild
@@ -17,10 +17,17 @@ HOMEPAGE="
LICENSE="PSF-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/pyasyncore-1.0.2[${PYTHON_USEDEP}]
"
+BDEPEND="
+ test? (
+ dev-python/test[${PYTHON_USEDEP}]
+ )
+"
distutils_enable_tests unittest
diff --git a/dev-python/pyasyncore/Manifest b/dev-python/pyasyncore/Manifest
index 60074b5926ca..ccc7eef5cf9f 100644
--- a/dev-python/pyasyncore/Manifest
+++ b/dev-python/pyasyncore/Manifest
@@ -1,3 +1,3 @@
DIST pyasyncore-1.0.4.tar.gz 15339 BLAKE2B 1cc689c94dc7fe4f4c75a78cf58a0afabbe48f01b8c1511f9500b93b64b862dc1c7cc653e17a49786af9360441fcb45be03fa38c72c2e89ec05385fd8bfc648a SHA512 43746fca009f7acc5f05506c7d54e71ee74a76a112c3689aa98ab714f0452d1ed1196836bf52585bbbced2d64c1d4ccd86f8f5c2d2c5537fdc397e29d0d87008
-EBUILD pyasyncore-1.0.4.ebuild 528 BLAKE2B 02dd291c7be69572b2a851b72eeaa794c1d06e52074019cbd5227336763ff9f7b1ef81e6c2f365368a5eaa04ed2b0d45599b8268f0c8494f3fc3a82c87a3d78e SHA512 0f509ebb0e4977c82ce2e13b74249d2bf3d670a1f23001b09ccb07b8c47b8beead0eedb1c37d79517050a337f155c21482109957c2777ec87dd0b854f2612309
+EBUILD pyasyncore-1.0.4.ebuild 628 BLAKE2B 514c611587e24dc4355ed4e43998a656ba9fdb9e9cd8d8f8a750f2ec17a177a5265e97157e370044d4ae79f94b254c1daa8856c2c93020fa12301aab3e7bbed7 SHA512 6369d3e063158bda65835b8677eff049791041c2625b44ee3e2765803f91b495b8a9547d0a94eec34e2a69c4ab1be0bc64f25e3ef5f90d9a2d51b627892d1012
MISC metadata.xml 410 BLAKE2B f69eeb55bd7570cb72b1dfc228c0ee3fd14bd4abd8b58d279c4672af0476ae1f84ee8c2aeb40208daa5a266479d881f5b8f7537da37af8118be2f16bdb21bb3f SHA512 71e37573484b24241176e588db3d9d0426db443555c15e258acf83a47fbd2158a5d6bc631bb5a58a4bc6d855a76f79361013ab08204293c95be6e0dfc3beef53
diff --git a/dev-python/pyasyncore/pyasyncore-1.0.4.ebuild b/dev-python/pyasyncore/pyasyncore-1.0.4.ebuild
index 0cb8d3d610b3..ce24a3a3dd8c 100644
--- a/dev-python/pyasyncore/pyasyncore-1.0.4.ebuild
+++ b/dev-python/pyasyncore/pyasyncore-1.0.4.ebuild
@@ -17,6 +17,14 @@ HOMEPAGE="
LICENSE="PSF-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/test[${PYTHON_USEDEP}]
+ )
+"
python_test() {
# Can't use d_e_t unittest (bug #926964)
diff --git a/dev-python/pyftpdlib/Manifest b/dev-python/pyftpdlib/Manifest
index ac931451810f..7482361f0e1c 100644
--- a/dev-python/pyftpdlib/Manifest
+++ b/dev-python/pyftpdlib/Manifest
@@ -1,3 +1,5 @@
DIST pyftpdlib-1.5.10.tar.gz 204487 BLAKE2B 7c611498dc2d11f752bf6a0ada01d906fca5c28e93b21bbcaaa76fafc88dcfe7afe616eb06f102123e614e061db2b6b62766f5036d749f8bd2b6d5cc35fc52e8 SHA512 c8c28d7aab13f2aab222ae038bde96f17abefd461830813ca00b621a6ee3e809c59ed135149ba735e7e92a6722aecfaf7095ccbacd7b3e17a16ee69fe1668766
+DIST pyftpdlib-2.0.0.tar.gz 196108 BLAKE2B bec261eac70a93092055413fca67dd4a480e492481f027b32508dcee8b479dbc0ec84c56d972dca63f2fbf4e3240e02b1c2877105cf77130bf75b64c9785993e SHA512 c154127771b949854c05f87a7b77f1cf144e2756cb0709c44cd0921c2ac415e7c6336c6dca1982b762087a42fc1408e26fbb2ebecbf9255d6f2d6019af14ccfe
EBUILD pyftpdlib-1.5.10.ebuild 1461 BLAKE2B c5c21ffc0560378da5bdb5eb6e1b9919dd167f74e0b16f0fcafd1d0ea8cc22286a54b69c10b40cacf02dc7b6a218274fd860657bd7b1dfa430a160b505ec4300 SHA512 fe1285be1d9805b5111e0c64c85ea6e34101eda4219547c20285898e57c465753072aa9573d8c2229b6b1ae5d78f981b80e6d39a67f9e0ab044706940c5f5f5e
+EBUILD pyftpdlib-2.0.0.ebuild 1585 BLAKE2B 2a6a2800706cfffda22a07804626ffa9bc57703b53f68cda5e7ddbb6bcd679f281696ffc6f2619876898af5b07f810491074989403bf10700d0e479f74aa7f48 SHA512 fb0e5052eb75f0940e4e473df9f5c3fefc2e87eb29ce45f0bbd04dd562fbd4954a4296f4874535313fc5302d7d46880332fb13bf66f06de0564c6532f2043afe
MISC metadata.xml 463 BLAKE2B ad4e4d5a1717e55743061f2cb4baaa7ea8ce73f4caf0c8d62535aaf73daf12339584bf75c82c35b425223f478094bb37518b43d34694fb4bc6aef6f11033fa8e SHA512 98bb4e647da164a8676f9162d1109d1f6d1ff9279ba8d26207f2ed793537af27de11b40296bacfb478e87b6479c9d31bb24f56bc1acf2a0bc228b2d00a733e1d
diff --git a/dev-python/pyftpdlib/pyftpdlib-2.0.0.ebuild b/dev-python/pyftpdlib/pyftpdlib-2.0.0.ebuild
new file mode 100644
index 000000000000..72e399571136
--- /dev/null
+++ b/dev-python/pyftpdlib/pyftpdlib-2.0.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE="ssl(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python FTP server library"
+HOMEPAGE="
+ https://github.com/giampaolo/pyftpdlib/
+ https://pypi.org/project/pyftpdlib/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="examples ssl"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/pyasynchat[${PYTHON_USEDEP}]
+ dev-python/pyasyncore[${PYTHON_USEDEP}]
+ ' 3.12 3.13)
+ ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+
+python_test() {
+ rm -rf pyftpdlib || die
+ # Some of these tests tend to fail
+ local EPYTEST_DESELECT=(
+ # fail because they process sys.argv and expect program args
+ # rather than pytest args, sigh
+ test/test_misc.py
+ # TODO
+ test/test_functional_ssl.py::TestFtpListingCmdsTLSMixin::test_nlst
+ )
+ # Tests fail with TZ=GMT, see https://bugs.gentoo.org/666623
+ local -x TZ=UTC+1
+ # Skips some shoddy tests plus increases timeouts
+ local -x TRAVIS=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --pyargs pyftpdlib
+}
+
+python_install_all() {
+ if use examples; then
+ docinto examples
+ dodoc -r demo/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pypy3/Manifest b/dev-python/pypy3/Manifest
index 8b25ec885d36..86c2fdc28ddc 100644
--- a/dev-python/pypy3/Manifest
+++ b/dev-python/pypy3/Manifest
@@ -1,3 +1,4 @@
EBUILD pypy3-7.3.16.ebuild 583 BLAKE2B 5ba38cc1ca041e6f7cbcb152c0673ee3566d4a1eb708d5277b4ffb621c2c082fa6b3bd0f2620b6cfb310584abaafa84c84722bca7a6ec3567a4b8c4d6b8221f9 SHA512 f67c2c9d20329ca2bcd5c3044bf71b4bfac7628f21829ac7c4d9929f44aa1e849b0b418b445e35985d4e28872596971624ddebb9fc2fc16308c421faa38fd5dc
+EBUILD pypy3-7.3.17-r1.ebuild 612 BLAKE2B 112c0ff6d855eafe451487e74fc89cd335380699a70e4bc6019889e9b154a9d0254599c8b2560a7eae7b12535b11350c33fe201a86eb78772c1720c304e80b45 SHA512 c41d608326f48cab79926b5e9703c5e32cde55b39f759b17be8d24825cbe337c897f90d67fa390cf658298c33092d6733de6b35a1a57bb4e4833fc384592de56
EBUILD pypy3-7.3.17.ebuild 581 BLAKE2B 2fedd21c5c8aca099b2b63f4575ef2592a57177d82ec945d8488d292fd38a12c27bd39a305a547c7cb8ab0fbf67580197b6c18e3aba330f9ea25db2d996be703 SHA512 9fa7e2114458ace8ac3f8c8040f8d6f5e45f4fc147c9196cd7565c32a869be7582330e8a3d484ecef5d7c3e3780a8bf4c145ea6922f601ce2bf51f17d44494c6
-MISC metadata.xml 317 BLAKE2B 9da451fe362dc5c1f6b3412b33065ab6e316e5ae49fd8e6a8e7485cd5cb7440c316c7c5c9b504a69c4f21a6370317edfe11f388238665133b8557a26acbfe1eb SHA512 96039ea2033b920e595e05c8749ee7e316e951bc6ff544a2f4d175d862cf7537401cbba1d4535f20245bbcac32d5ce1261d04aee412953401b513ecc5e7217bc
+MISC metadata.xml 472 BLAKE2B 64b7aaec2df3c39ec7193df560cdc665d68eeebadc42d537ab1295d29b0e0e63ad576c8771c24ef65ed8e6ec8011b1b4debdb6af74be7dedf203a24304a96fd7 SHA512 bb3cc9675f2ba4f898f4b8d38b60569379a663269380371539bf299fef3b27796cb55c2e5258aeae7e2f82f683187e7c39256184196e424d50a867f0be46084a
diff --git a/dev-python/pypy3/metadata.xml b/dev-python/pypy3/metadata.xml
index 922f8a45d05d..edfebd49d8c1 100644
--- a/dev-python/pypy3/metadata.xml
+++ b/dev-python/pypy3/metadata.xml
@@ -8,4 +8,10 @@
<upstream>
<remote-id type="heptapod">pypy/pypy</remote-id>
</upstream>
+ <use>
+ <flag name="test-install">
+ Install the test suite packages, that are required to run
+ tests in a few reverse dependencies.
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/dev-python/pypy3/pypy3-7.3.17-r1.ebuild b/dev-python/pypy3/pypy3-7.3.17-r1.ebuild
new file mode 100644
index 000000000000..1539b0b89ab8
--- /dev/null
+++ b/dev-python/pypy3/pypy3-7.3.17-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYVER=3.10
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://pypy.org/
+ https://foss.heptapod.net/pypy/pypy/
+"
+S=${WORKDIR}
+
+LICENSE="MIT"
+SLOT="0/pypy310-pp73-384"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+gdbm ncurses sqlite +test-install tk"
+
+RDEPEND="
+ =dev-python/pypy3_10-${PV}*:${SLOT}[gdbm?,ncurses?,sqlite?,test-install(+)?,tk?]
+"
+
+src_install() {
+ dodir /usr/bin
+ dosym pypy${PYVER} /usr/bin/pypy3
+}
diff --git a/dev-python/pypy3_10/Manifest b/dev-python/pypy3_10/Manifest
index 08c1570f8ab1..69f34477465f 100644
--- a/dev-python/pypy3_10/Manifest
+++ b/dev-python/pypy3_10/Manifest
@@ -7,5 +7,6 @@ DIST pypy3.10-v7.3.17-src.tar.bz2 23350562 BLAKE2B 0a7a091976b352de61057f238fa38
EBUILD pypy3_10-7.3.16.ebuild 6330 BLAKE2B a1bcc9080b3c0def956587509c10266550bf023963d2aadf812573ea7efdcabe3ce09092701f11753ea45464f29cd9725f50fb9d47332a234ec08b2bc90b6d90 SHA512 5c8010fee5d31f303514bd33a831d1f756543940c76e6dae0ed2b9a43bdda656321ea8b3245e4318ddd9bd33688307e3a17bd4b1a3cf6db5b9e43a1c75924f28
EBUILD pypy3_10-7.3.16_p1.ebuild 6330 BLAKE2B a1bcc9080b3c0def956587509c10266550bf023963d2aadf812573ea7efdcabe3ce09092701f11753ea45464f29cd9725f50fb9d47332a234ec08b2bc90b6d90 SHA512 5c8010fee5d31f303514bd33a831d1f756543940c76e6dae0ed2b9a43bdda656321ea8b3245e4318ddd9bd33688307e3a17bd4b1a3cf6db5b9e43a1c75924f28
EBUILD pypy3_10-7.3.16_p2.ebuild 6330 BLAKE2B a1bcc9080b3c0def956587509c10266550bf023963d2aadf812573ea7efdcabe3ce09092701f11753ea45464f29cd9725f50fb9d47332a234ec08b2bc90b6d90 SHA512 5c8010fee5d31f303514bd33a831d1f756543940c76e6dae0ed2b9a43bdda656321ea8b3245e4318ddd9bd33688307e3a17bd4b1a3cf6db5b9e43a1c75924f28
+EBUILD pypy3_10-7.3.17-r1.ebuild 6655 BLAKE2B 7cb3a11447bb304c0d135ef44646e3ca962a50b49e3468c68cf01a4af34093c8c4c307eb8e7ce5423814432d10aa5d7b7d4e8ab7fc698a6148de6aba2f260f87 SHA512 a28ec9530db6e9c21ceeb32cabc7a51cf60c9b34adca71214577d764fd5ae9afea5be05962cae8a08ab9c50b58c21b748996aeb9c67be6b9ec4830df57b3911d
EBUILD pypy3_10-7.3.17.ebuild 6328 BLAKE2B 9cbd5073fe863d95bd92d86086891f6fd1b1ec6ab9891ce5ca068a2e2a283554cb55931b50efe8f9161c8e266a986c916324cbdd8cf7ff6696ea95bab3c50182 SHA512 b3fbd4e63d90ee288b11e74aa19fee5dc8e248514463631364f0c57b580dfd68974708bbea15106c030aa7fcd72c4b913f44b86cf37501fb425fb02d3ca70cdc
-MISC metadata.xml 529 BLAKE2B 4121978ab7ed8811781be50eb702082b54ce8e2da22b1cf24f009a64d14b1c644f1420467e7f74d48b65e9644b9100d6e55bd5da0907565a4dd0ba6fc4d029ee SHA512 c862efc8092df86bcf1399abb86081709829b9d3ce9564f8a4d0d8d5d59a4089f79a70156efc093fdf08a2b563cffc8c5aa3f51e33c87456369ae75a5cef3f1a
+MISC metadata.xml 669 BLAKE2B 451d043640c7347d9c29d91fcc43ea464a24a3ba0b619784c4c77ab352c4bd6fcd3d59c11e4133a38b2ab47bf26d6d859f8928f2cdb87311bb9724c322164d1c SHA512 fc90f500bf1220b7471cbb1f1debc5c39011f0f29e7ff756ba5880e9f91732cd79ad4b88394099a7bfbdacb35ce2419d32bbb3fa14f5c74ec1caae534583bc9d
diff --git a/dev-python/pypy3_10/metadata.xml b/dev-python/pypy3_10/metadata.xml
index 2a6a5bdac475..53e7be1f01ea 100644
--- a/dev-python/pypy3_10/metadata.xml
+++ b/dev-python/pypy3_10/metadata.xml
@@ -14,5 +14,9 @@
to bootstrap pip and setuptools (if disabled, it will
be only possible to use venv `--without-pip`)
</flag>
+ <flag name="test-install">
+ Install the test suite packages, that are required to run
+ tests in a few reverse dependencies.
+ </flag>
</use>
</pkgmetadata>
diff --git a/dev-python/pypy3_10/pypy3_10-7.3.17-r1.ebuild b/dev-python/pypy3_10/pypy3_10-7.3.17-r1.ebuild
new file mode 100644
index 000000000000..0771425196e7
--- /dev/null
+++ b/dev-python/pypy3_10/pypy3_10-7.3.17-r1.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.10
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_rc/rc}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+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"
+# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
+# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
+SLOT="0/pypy310-pp73-384"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+ensurepip gdbm +jit ncurses sqlite +test-install tk"
+# many tests are failing upstream
+# see https://buildbot.pypy.org/summary?branch=py${PYVER}
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ >=dev-python/${PN}-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?]
+ >=dev-python/${PN}-exe-bin-${PYPY_PV}:${PYPY_PV}
+ )
+ dev-lang/python-exec[python_targets_pypy3(-)]
+ dev-libs/openssl:0=
+ dev-python/gentoo-common
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+}
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ mkdir bin || die
+ # switch to the layout expected for cffi module builds
+ mkdir include/pypy${PYVER} || die
+ # copy over to make sys.prefix happy
+ cp -p "${BROOT}"/usr/bin/pypy${PYVER}-c-${PYPY_PV} pypy${PYVER}-c || die
+ cp -p "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/* include/pypy${PYVER}/ || die
+ # (not installed by pypy-exe)
+ rm pypy/module/cpyext/include/_numpypy/numpy/README || die
+ mv pypy/module/cpyext/include/* include/pypy${PYVER}/ || die
+ mv pypy/module/cpyext/parse/*.h include/pypy${PYVER}/ || die
+ pax-mark m pypy${PYVER}-c
+
+ # verify the subslot
+ local soabi=$(
+ ./pypy${PYVER}-c - <<-EOF
+ import importlib.util
+ import sysconfig
+ soabi = sysconfig.get_config_var("SOABI")
+ magic = importlib.util._RAW_MAGIC_NUMBER & 0xffff
+ print(f"{soabi}-{magic}")
+ EOF
+ )
+ [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
+
+ # Add epython.py to the distribution
+ echo 'EPYTHON="pypy3"' > lib-python/3/epython.py || die
+
+ einfo "Generating caches and CFFI modules ..."
+
+ # Generate sysconfig data
+ local host_gnu_type=$(sh pypy/tool/release/config.guess)
+ local overrides=(
+ HOST_GNU_TYPE "${host_gnu_type:-unknown}"
+ INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}"
+ LIBDIR "${EPREFIX}/usr/$(get_libdir)"
+ TZPATH "${EPREFIX}/usr/share/zoneinfo"
+ WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
+ )
+ ./pypy${PYVER}-c -m sysconfig --generate-posix-vars "${overrides[@]}" || die
+ local outdir
+ outdir=$(<pybuilddir.txt) || die
+ cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die
+
+ # Generate Grammar and PatternGrammar pickles.
+ ./pypy${PYVER}-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
+ import lib2to3.pygram
+ import lib2to3.patcomp
+ lib2to3.patcomp.PatternCompiler()
+ EOF
+
+ # Generate cffi modules
+ # Please keep in sync with lib_pypy/pypy_tools/build_cffi_imports.py!
+ # (NB: we build CFFI modules first to avoid error log when importing
+ # build_cffi_imports).
+ cffi_targets=(
+ pypy_util blake2/_blake2 sha3/_sha3 ssl
+ audioop syslog pwdgrp resource lzma posixshmem
+ ctypes_test testmultiphase
+ )
+ use gdbm && cffi_targets+=( gdbm )
+ use ncurses && cffi_targets+=( curses )
+ use sqlite && cffi_targets+=( sqlite3 )
+ use tk && cffi_targets+=( tkinter/tklib )
+
+ local t
+ # all modules except tkinter output to .
+ # tkinter outputs to the correct dir ...
+ cd lib_pypy || die
+ for t in "${cffi_targets[@]}"; do
+ # tkinter doesn't work via -m
+ ../pypy${PYVER}-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+ done
+ # testcapi does not have a "build" script
+ ../pypy${PYVER}-c -c "import _testcapi" || die
+
+ # Verify that CFFI module list is up-to-date
+ local expected_cksum=a4138e48
+ local local_cksum=$(
+ ../pypy${PYVER}-c - <<-EOF
+ import binascii
+ import json
+ from pypy_tools.build_cffi_imports import cffi_build_scripts as x
+ print("%08x" % (binascii.crc32(json.dumps(x).encode()),))
+ EOF
+ )
+ if [[ ${local_cksum} != ${expected_cksum} ]]; then
+ die "Please verify cffi_targets and update checksum to ${local_cksum}"
+ fi
+
+ # Cleanup temporary objects
+ find \( -name "*_cffi.c" -o -name '*.o' \) -delete || die
+ find -type d -empty -delete || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ dodir /usr/bin
+ dosym pypy${PYVER}-c-${PYPY_PV} /usr/bin/pypy${PYVER}
+ insinto /usr/lib/pypy${PYVER}
+ # preserve mtimes to avoid obsoleting caches
+ insopts -p
+ doins -r lib-python/3/. lib_pypy/.
+ insinto /usr/include
+ doins -r include/pypy${PYVER}
+
+ # replace copied headers with symlinks
+ for x in "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/*; do
+ dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}"
+ done
+
+ dodoc README.rst
+
+ local dest=/usr/lib/pypy${PYVER}
+ rm -r "${ED}${dest}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${ED}${dest}"/ensurepip || die
+ fi
+ if ! use gdbm; then
+ rm -r "${ED}${dest}"/_gdbm* || die
+ fi
+ if ! use test-install; then
+ rm -r "${ED}${dest}"/{ctypes,sqlite3,tkinter,unittest}/test \
+ "${ED}${dest}"/{distutils,lib2to3}/tests \
+ "${ED}${dest}"/idlelib/idle_test || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED}${dest}"/sqlite3 \
+ "${ED}${dest}"/_sqlite3* \
+ "${ED}${dest}"/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}${dest}"/{idlelib,tkinter} \
+ "${ED}${dest}"/_tkinter \
+ "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
+ fi
+ # remove test last since we have some file removals above
+ if ! use test-install; then
+ rm -r "${ED}${dest}"/test || die
+ fi
+ dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED"
+
+ local -x PYTHON=${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}
+ # temporarily copy to build tree to facilitate module builds
+ cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die
+
+ einfo "Byte-compiling Python standard library..."
+ # exclude list from CPython Makefile.pre.in
+ "${PYTHON}" -m compileall -j "$(makeopts_jobs)" -o 0 -o 1 -o 2 \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ --hardlink-dupes -q -f -d "${dest}" "${ED}${dest}" || die
+
+ # remove to avoid collisions
+ rm "${PYTHON}" || die
+}
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
new file mode 100644
index 000000000000..efbc689217d6
--- /dev/null
+++ b/dev-python/python-tests/Manifest
@@ -0,0 +1,17 @@
+DIST Python-3.10.14.tar.xz 19600188 BLAKE2B a9e65fff590d56848f55f2d93d8a1c631bb8135617112997fbaea9fc45db1d5e2ce39f00cb29c9428542e523fdf48064bdb9aea144acb7aa7cfe71990b8e949e SHA512 adee638aeca898743da4b8245c0fa1e9b94b516f22e716e60c99038f0bb3dcbf726317aa86656404be1719b5a7c58eb09533720ebc0badbb04bd9a534dd48fef
+DIST Python-3.10.14.tar.xz.asc 833 BLAKE2B 945ada655532d578beba9fdd882cc9cc247e24f7efd68ce172766a8adcb3c8d76bc1f229402405e607004ae0f9bb8e55e4b01867ca712700106d8ec42212cb2c SHA512 450f910a91dd0fb66f99245828983a9234c4a67ea7e653404efa06ce5da1c6667a46329a2d1e276c5a956d2c32d8ae6d8c497a1892102f4a360dae33b135c372
+DIST Python-3.11.9.tar.xz 20175816 BLAKE2B 4e7cd2c42ee39b5ef9624ebd1798320957e948cb4f23f17fd1530814c60126dbf988846928d4d7d4b9d2174029ab8d4dbaf19e6203da237da4c3212ddebd5803 SHA512 2b0a1d936b4ef8376f9655797aece8ffdff75031ad7bfa840f330cac2aed189aecc80c163edc12ea772851d7a011f3fc1960470a73d9d4290cf3ab8ad6ed7e6a
+DIST Python-3.11.9.tar.xz.asc 833 BLAKE2B fa29f632bae0bee7db946038ee3529bc3bfbe1b2e755b21394f67a3c80911ce8079aaab43a16d88e614a8bfc01fb5105ce3f61c59a5ca44470b0f59787c707b3 SHA512 b18b50e7168b2ca5376a1fa75e50e8baae2026d4f11d4cf613d758f3f17df4610fe4653fb2ac0c5c4ec0f6e630dc6490ad1ff32a2fd0ebd60f9f3bd136207ffc
+DIST Python-3.12.5.tar.xz 20422396 BLAKE2B f127d1e12d12be84d5837282757787be8a0cf702adce29b93622f91f45ba2d8cc0f5db2e8277c86b098623951b302015febd28bdabaff66b30cb06a5ef2b4a24 SHA512 7a1c30d798434fe24697bc253f6010d75145e7650f66803328425c8525331b9fa6b63d12a652687582db205f8d4c8279c8f73c338168592481517b063351c921
+DIST Python-3.12.5.tar.xz.asc 963 BLAKE2B 238167f6b4012136bc4274eee0dd4d958c4ee02d2505f9f64e5bcad15e84a9e9e12a9fc907651083543f1fce93579b752d4ccdf60c8cc421cb43e9034877bf1c SHA512 65ce92272a38cc6bf8bf56fa2a99a830cf5b33b811b1788508e7b6f8b5d3e93e0b143412f829271be40cbb4e7c154f84499239b3e8ab63b2ccf0a5a22d2f84ee
+DIST Python-3.13.0rc1.tar.xz 20881016 BLAKE2B 3971a233e9c3c782973e0276740f00f8f2072eeda914663cdf7fa6c5de2437c60c441184344a64e25cab5c71a02c47cf4602dd08f127f310c885386cd887fec4 SHA512 fce7664f3298cfd191a7dc20b7b47acafdc50d058a2814312c94c30b65291395957d701e4661b9bb760417942acb5d27e5b8bb479bcda9a82cf29f53772a2daf
+DIST Python-3.13.0rc1.tar.xz.asc 963 BLAKE2B 1c292362cd133dbbb1df1e0cf440e8adde2bc8db9174e550d5b76a09e80d0dbc11a0250e6f041e54fe58f25dc05f071c7af1aa910ae56ece5eb430502a2ba67c SHA512 3613829d9631f46b1b1ce11bfe5bb7fbfa49d97b639bb883c86737ea6ae8d15c24c526083cafb916011bd6d0b3b5fab2b17afd367edbdce99b32e0b4b845fd22
+DIST python-gentoo-patches-3.10.14_p3.tar.xz 22080 BLAKE2B f45ebe4df3dc39a842c93d741ef66fd0f9f7d1c6453d499d59b62eda41f01bc17e109205fedc506963d1f21eb3fbf9478564ff5e1a11c10336f855069a642ceb SHA512 db268f1482e5c46a71ce3aef2c2ab6d458cc5263aec360e61c6aff97f119f4f100becefbb575156b1b0239e591a496cb62a136597fadae8a5b630c7233c0040a
+DIST python-gentoo-patches-3.11.9_p2.tar.xz 14916 BLAKE2B a910eae412fc1ce3657272c3c2ea9ef95b8d5711ed4c85b93a35f4ab757b1134bff0f8c8a0071e8e06aac784d0b51e36cd9271f892098cba272da4a4e73317d1 SHA512 5c055186b3a8376f4f602ec5d1f8e7bf0f067bc67295c1cdaa68ce1fb6fb21cda75e22705b8a5a2a6525af67f3b36a82fde5ba6ae9b097a5914ab79a2f1a0fad
+DIST python-gentoo-patches-3.12.5_p1.tar.xz 8632 BLAKE2B 13570bb465002cea3590b06d055b936ac0fcc68f6f258aca99a67f02f0b1cd28396424b686c5e080f593a74a744ff449e7220f51f167a858b2313be4c8b64b19 SHA512 eb9fb2d48236a9f7941fb8938310cc32d216eb01e19277175223b8b1fe1bfd606bde9a3c8bc66ad2e494fb87ce23b0d1acd359c375e4a11a5caae25450c11360
+DIST python-gentoo-patches-3.13.0rc1_p3.tar.xz 15148 BLAKE2B 668060644372e8ddf2d9686796ec304ae7689f5c10ecbc6862f054f96504c418b0e4df28675e4fbb610889f9a665a7a54f23633036b0df35f19f40ef8e6bab32 SHA512 c0cbdf9e0fe2ad29175302e548ebfda1d2af42af0ffeb363eb8b0dc53e1059f5abd7dcd02fd8e9eb9ba7bef2b34b7693633f0a62dc1ab933f43077feacf00fbc
+EBUILD python-tests-3.10.14_p3.ebuild 1529 BLAKE2B 5018046a7e3cda344d4c917b09e648e43ae752025e8a40eeac0c06c49ac1efd855cfd3eae262aa395e004e3754db43f2c2fceec41d49d9891ce1bd0ced6db3e6 SHA512 6a13e301cfa7084575541d020f7b3bf51d94a8202c670edd36e18d017138b6212266a04b6d5d81ac4882d2f1df780c351250619e470ee9f9d8c1c0e9290e4803
+EBUILD python-tests-3.11.9_p2.ebuild 1515 BLAKE2B 33a98aae1aaa129d83f347bb058f4389cfa50a1665f8ab7662b3862d8a83aa6cd2157fd172f1c415e8b65b76be17b67716beeae3fa9c54c0b72996770120ae59 SHA512 b97dbf339ccdcb6f2d0b4bb5335e13fcd9a3b5c42cb0b5311d8ecc94851030f8f09c75291ff17cb8c0e3674e122bfdbbef661a094d59c8db34a673eddd9b9114
+EBUILD python-tests-3.12.5_p1.ebuild 1426 BLAKE2B 0b7c53d29b99abce7dbaac7081d08e3985c38cd012e25371da9a05e760c947cf1a43035f19d1170ea4d91713cf5aad36b8d747d9617b8cc25652f36351f9f769 SHA512 607005177106fa305dad64fa46a052ed2feea5f6054e6c706c8988ff6e0691efc9f7c5841abc6f45a7af37e68c3cea508f4d3903f23f6f00441e843f8ea1c8aa
+EBUILD python-tests-3.13.0_rc1_p3.ebuild 1432 BLAKE2B eaef56ad690e2bdb4eac86239e71e0025d0c27e078e9ffbfdbcf484616bfd7bbf0398f1214eb70b24d9202af605040186b62c51a9a38efc3f8c48791985f4472 SHA512 6217fa63e5a80aff335ef2f77fa26c413781b04e0e93dcf6884364f3cec66055dfabd3e12b9f36fc634d08fd9116264f45703f6f3db48b5755213a7609c90e24
+MISC metadata.xml 241 BLAKE2B 4f18c355c71824c25df283b2d463a5abbf2295446e74b960e868dd78d4910ac066725450478087567a6e66b7a8948d99e053f13a7e58dbf2b89fdaf5c2f3436c SHA512 c46e70ffd66754ad84c64806f2bbff25ba9a688f035176a4565afc95351ce10fffba64bbde89965501460b05978c7e59b3d84db6a8cb6efff4055d4b7a5ab5d8
diff --git a/dev-python/python-tests/metadata.xml b/dev-python/python-tests/metadata.xml
new file mode 100644
index 000000000000..efd7c8c21836
--- /dev/null
+++ b/dev-python/python-tests/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/python-tests/python-tests-3.10.14_p3.ebuild b/dev-python/python-tests/python-tests-3.10.14_p3.ebuild
new file mode 100644
index 000000000000..75e28e00a29b
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.10.14_p3.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_10 )
+
+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.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.10.14_p3-r1:${PYVER}
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ local dirs=(
+ ctypes/test distutils/tests idlelib/idle_test lib2to3/tests
+ sqlite3/test ./test tkinter/test unittest/test
+ )
+ local dir
+ for dir in "${dirs[@]}"; do
+ python_moduleinto "/usr/lib/python${PYVER}/${dir%/*}"
+ python_domodule "${dir}"
+ done
+}
diff --git a/dev-python/python-tests/python-tests-3.11.9_p2.ebuild b/dev-python/python-tests/python-tests-3.11.9_p2.ebuild
new file mode 100644
index 000000000000..b768d7a57587
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.11.9_p2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_11 )
+
+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.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.11.9_p2-r1:${PYVER}
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ local dirs=(
+ ctypes/test distutils/tests idlelib/idle_test lib2to3/tests
+ ./test tkinter/test unittest/test
+ )
+ local dir
+ for dir in "${dirs[@]}"; do
+ python_moduleinto "/usr/lib/python${PYVER}/${dir%/*}"
+ python_domodule "${dir}"
+ done
+}
diff --git a/dev-python/python-tests/python-tests-3.12.5_p1.ebuild b/dev-python/python-tests/python-tests-3.12.5_p1.ebuild
new file mode 100644
index 000000000000..bad3e554ac7e
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.12.5_p1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_12 )
+
+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.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.12.5_p1-r1:${PYVER}
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ 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.13.0_rc1_p3.ebuild b/dev-python/python-tests/python-tests-3.13.0_rc1_p3.ebuild
new file mode 100644
index 000000000000..49858db603f9
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.13.0_rc1_p3.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_13 )
+
+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.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.13.0_rc1_p3-r1:${PYVER}
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ 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/pytrie/Manifest b/dev-python/pytrie/Manifest
index 9f67909c7c68..59bf2248c682 100644
--- a/dev-python/pytrie/Manifest
+++ b/dev-python/pytrie/Manifest
@@ -1,3 +1,3 @@
DIST PyTrie-0.4.0.tar.gz 95139 BLAKE2B de57b4c36429c3e2d9ec7cb89e6515fd0a131e890bbfec17797a9a03b932ca2370cf283c67b4a99bb742b275c6f005789af410b875e857d30e6ba9e959403899 SHA512 c951568774c1e35d2b2bd5a52e5368da5ef2ffc83476d60882aa842debcd53c5eb0ed19f497a09f78c6a736ffba57702eda3aa0f3afa74dd0d1e770c17885c74
-EBUILD pytrie-0.4.0-r1.ebuild 584 BLAKE2B 434a42fab5d4359e163e7acf542f1531bf57023abafc17d981e8ba86be06a82045acb08e12618e9f285411d1041b9e04122964fa598d502961c39e629d7e0a35 SHA512 f6eb479920037154ca7558bf2b339c8b2dfcc7b0044726d3f5332d6a094ba350814c934eaeda0ecc204774cfee04a494e59fc7730ee4a71c48cd0ab46c0bbdb9
+EBUILD pytrie-0.4.0-r1.ebuild 683 BLAKE2B 1891c0602f53dd066588a48809a70b15bf4ad4859d023f00e4c0a52335beb4704739f5190629e634a55276ffc8553fa13d85c8e08cd437661c363a4e34a2fed8 SHA512 03fe45c29491ea4f28853ffbb033c86979a69f72251fedc5f8bc908c0ba12c16c2b1b6a848fce510662ed631608552d0390f57b0b44d6d3a0d2fa3687fe3dc82
MISC metadata.xml 854 BLAKE2B a7fa6b4a467c61e58349618c846c9d5ffc2ee32d81ff7a9cf44d429e5fbf61c84770bdb3ee3852ec3b62a0203b8db21e1b59ad83573322f2d31922ac87dce44d SHA512 c32decf2d307db809e549b39565ccd501f7bae584a1a2ac1993b5377610aefbb4df95a813be01939f5c301e6731d049a5072ca4a83b673ef5a3fa2df230ee652
diff --git a/dev-python/pytrie/pytrie-0.4.0-r1.ebuild b/dev-python/pytrie/pytrie-0.4.0-r1.ebuild
index f3773320e270..8b5ff7e5375e 100644
--- a/dev-python/pytrie/pytrie-0.4.0-r1.ebuild
+++ b/dev-python/pytrie/pytrie-0.4.0-r1.ebuild
@@ -19,9 +19,16 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
RDEPEND="
dev-python/sortedcontainers[${PYTHON_USEDEP}]
"
+BDEPEND="
+ test? (
+ dev-python/test[${PYTHON_USEDEP}]
+ )
+"
distutils_enable_tests unittest
diff --git a/dev-python/regex/Manifest b/dev-python/regex/Manifest
index 7cf34a1d5cee..4d4cf462e82a 100644
--- a/dev-python/regex/Manifest
+++ b/dev-python/regex/Manifest
@@ -1,5 +1,3 @@
-DIST regex-2024.5.15.tar.gz 394856 BLAKE2B 8990bbc78f7f9c6a4dc07d913ec5557a4cd1bac022bc71093e3d8083b5d547182e08f2e8189c3808d8e368ed42530578df9951367b59dc3450bb09458b57f496 SHA512 7e465987bff529a6895cd6606b5a188c0fb2cdf333de108a4e3e37c7badeea146fd23d1d757f47b65d4facdc30cbdb0ca3c0df2395124c8e3e6946a98f52f413
DIST regex-2024.7.24.tar.gz 393485 BLAKE2B d2a46fe2039f78fc3f1e8cda1b7b1808b160018d8e0c1b880bb1a573b36a3e1e7c7ccfa238f99719b5a484fa3b7457109f9e8668fbf16cbaef52006e0e6f6f89 SHA512 7b9efc5bdefa6610862be06831404380939dfffad6e2a488d362f4a247356eb0739c2b9078f41e554eca21d64fd4b1b145291ca8140f18d1586328f7d19cefc9
-EBUILD regex-2024.5.15.ebuild 886 BLAKE2B b09f656c107a3ce804e9c8042ff41baee817b6b3a86f356501e2e0e85e64b212387984bfd44c524104a981cdcb72170231e553de9474da660e7e65e9a393ed35 SHA512 649f752c73ded2ab4ebbfcc10c720708278fe5cb37cffa3f24d09c4073afeabfb96cf79457c0aab42042b137499737f9bb288f7241ec5a62df93f584d916ea8e
-EBUILD regex-2024.7.24.ebuild 887 BLAKE2B 7446cad8c0dd335c068be96522f31aa483a189ab824ff73f81a0c3b4e0d4c8fd1157e328020e0f4094ba7d5a4d72d10a581c1d7dc45a9fc5acdae2c980960929 SHA512 3770b14e900ff422e8b18fc2d343bce409600dde772f2159b4a013324ade4ad1fb75f6593796af80e38cc2fdc9f51ec8def92686d8e5765ddfb4e4a7adc775e9
+EBUILD regex-2024.7.24.ebuild 886 BLAKE2B b09f656c107a3ce804e9c8042ff41baee817b6b3a86f356501e2e0e85e64b212387984bfd44c524104a981cdcb72170231e553de9474da660e7e65e9a393ed35 SHA512 649f752c73ded2ab4ebbfcc10c720708278fe5cb37cffa3f24d09c4073afeabfb96cf79457c0aab42042b137499737f9bb288f7241ec5a62df93f584d916ea8e
MISC metadata.xml 448 BLAKE2B ce92d069195d11c558d338d4f21cc9bb48e50f21a44aacee610f88283aeae0319b9a31b987fc1b6206832f7b251bb1f64b0d9bccd3eefd6c54953192911eb5e9 SHA512 a9b18af0c107005e8a9e0e7bc4e1dd44891faa9a5234365ddc39ecac2e3dc197c58b31087b4d97d94b48644be7c984d773e50ddb03063c6c95b1f94884483dfc
diff --git a/dev-python/regex/regex-2024.5.15.ebuild b/dev-python/regex/regex-2024.5.15.ebuild
deleted file mode 100644
index 120bb6f979d8..000000000000
--- a/dev-python/regex/regex-2024.5.15.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-# pypy isn't supported upstream because of its UTF8 representation for strings
-# See https://github.com/mrabarnett/mrab-regex/issues/521#issuecomment-1936260187.
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Alternative regular expression module to replace re"
-HOMEPAGE="
- https://github.com/mrabarnett/mrab-regex/
- https://pypi.org/project/regex/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-IUSE="doc"
-
-distutils_enable_tests unittest
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/Features.html )
- local DOCS=( README.rst docs/*.rst )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/regex/regex-2024.7.24.ebuild b/dev-python/regex/regex-2024.7.24.ebuild
index 328a69012a2f..120bb6f979d8 100644
--- a/dev-python/regex/regex-2024.7.24.ebuild
+++ b/dev-python/regex/regex-2024.7.24.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
IUSE="doc"
distutils_enable_tests unittest
diff --git a/dev-python/spyder-notebook/Manifest b/dev-python/spyder-notebook/Manifest
index 3345dc298f95..3b851f479744 100644
--- a/dev-python/spyder-notebook/Manifest
+++ b/dev-python/spyder-notebook/Manifest
@@ -1,5 +1,5 @@
DIST spyder-notebook-0.5.1.tar.gz 5546854 BLAKE2B ccdc93c948e6b4db005cf2433794008c65e9a56574db15cd5627f44938bcc2c865341f2417bcf000e27e3d19fe11b6eb6340e6225a682bf32b2cb06ca8f4605a SHA512 daf91361344f96db0ac855b80d17388bda7bf96eab280fba7ac406915dc9b5283c09e914c07342154ed2d0d23420b5e16923cf4ccddb090364db43cf606319f3
-DIST spyder_notebook-0.6.0.tar.gz 7118119 BLAKE2B 5162bf9f314b8ab7cae3d39886d411afa090be02748b498d6182a988df547774cabd69b440e0f24c7d1eb2a855c71e0a0613d9b42b4fc9fab77332cde7e689bc SHA512 a45db608b51e12c6ccebe4325ff462164c80acc92f779318dda0515cc94c44476a66c39a02e101a0922efa94915837ff0d1ea3b0ba912debe2a81fd94f233011
+DIST spyder_notebook-0.6.1.tar.gz 7118143 BLAKE2B d1893d96f91fb192eba13342edf67089ffa664b152b7777f3e626f8541ea2a2b7a20f1b73d72b55c2107abe02870cb63ee17b535dd13a3db882971b8c11eac33 SHA512 2bb7e4d1c4255cfb385e80bb46b3de7ae6c7fd4d4cdc27188cd530699cbc4654d2ace6e8341bc47b029d3e757dd860e2b0a65c2f00a91ae589032de86330cd84
EBUILD spyder-notebook-0.5.1.ebuild 1709 BLAKE2B e5481764768ec217c32a5a80ac1745245ecf3751da0d213fd40ed859084abf2480e1c236eee362948d469baae591a958301dcef8424b0794dde2635b64188f03 SHA512 d4a8738f96ab512f8a3f0ee1474628bbb66e1afd9912dd88c1e656544d74fceb922a2b97bfd9658242ace28c29d8424a1b6b1f2718fcdd2336b1f6fea2d6d66d
-EBUILD spyder-notebook-0.6.0.ebuild 1680 BLAKE2B 2761210d65c57b76236426a126b28592cb615e42bb8416b11376bb42ab494a7a220de879137e2fb1766784cc3423ebb50768ef7967dbc66dfe44f6397d752a11 SHA512 67a21c11cc98a2989e18fcd69d9efae66ad5a98674002c23013b254f6702eec15ed3416af434dfecc854029df90dc2fcee85046db9e0c4d64635bbfffae7a2b3
+EBUILD spyder-notebook-0.6.1.ebuild 1680 BLAKE2B 2761210d65c57b76236426a126b28592cb615e42bb8416b11376bb42ab494a7a220de879137e2fb1766784cc3423ebb50768ef7967dbc66dfe44f6397d752a11 SHA512 67a21c11cc98a2989e18fcd69d9efae66ad5a98674002c23013b254f6702eec15ed3416af434dfecc854029df90dc2fcee85046db9e0c4d64635bbfffae7a2b3
MISC metadata.xml 427 BLAKE2B 33a2a084ee10c6a4b0646bbd7e866e81e2cd42bbfeb8b2ca1341a19f1af31001a2a34ca8ae5d44b783b5ded83c30b5fdc9e08e626844fd9fb6170b481ab501f4 SHA512 ddd984e2536912410966b76ec42b2a466a100f68a49fe153ce249eaafff9a1feec358292c58495d88cddd588ebdab5fe78c22f4c893194e64defab5a84257fa6
diff --git a/dev-python/spyder-notebook/spyder-notebook-0.6.0.ebuild b/dev-python/spyder-notebook/spyder-notebook-0.6.1.ebuild
index 8ef64dc0b0a0..8ef64dc0b0a0 100644
--- a/dev-python/spyder-notebook/spyder-notebook-0.6.0.ebuild
+++ b/dev-python/spyder-notebook/spyder-notebook-0.6.1.ebuild
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index efc1a55dbffe..409f24f31adc 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,7 +1,9 @@
DIST SQLAlchemy-1.4.53.tar.gz 8468030 BLAKE2B fd03cd7a1a8f26b22d33cee038e6e15c59ba24e32a4465e3e3cda74583a333e627b732f5532aaa2c0fc3356a96dab8efbc4f6a51275315f78451d63a4ec20bbf SHA512 2a33b2c0348efbf312994394da3dac0f86be60e9e0929ce96117a02f49d9e06388ec5b016c1bf229f89d5ee561cbdcf8526b9c33428b7041923cd5d73d87a88c
DIST SQLAlchemy-2.0.32.tar.gz 9546691 BLAKE2B b6b28fa513e9dc6066db210cee8cbc94dd7c5dfd4f391d4a0ac6987241213afa547458b99df6373b2d1771e264fcedd1186fbd5a483382a7d09185f0f2fa9052 SHA512 12ac1804ba2ad9218d5307f4da87bf7c78b75525bd4b32770e77326eff6fc2ea679e595a1d367f8def3ab7e02ca954622ff16490c277ba6b8edca21efda7da62
DIST sqlalchemy-2.0.33.tar.gz 9555649 BLAKE2B cc76c9cd61805089bc32d49c183a4b8d2be1f8def08fdbf7c516174c3bae7baf8fa6c99e5e059e93f6c1b76244b3e319e3aa2e65f38a8ebb2378d21e02cd6f27 SHA512 d6b830897216cab8df4f337e21634b7df9aa722294ee9945a28a549d8c423716146b2f7b9bb23c276f413c3b8c388c3502fa6301fe4d1cedc5266a687e571a47
+DIST sqlalchemy-2.0.34.tar.gz 9556527 BLAKE2B cefe606a05f99cc1f4522022969c503b46192092602ce26474f09bf3710d98618876aa34ffbb6da4e1bf4c3d11e9bb6ca58eac7a04ecae7f26c58427e482f503 SHA512 fd585ed9a78a86deaab1f84b5ff29f37120c08f3c8c93566786b73d74ce67f1f71097e43d42b0999be1aca493ae1c55d5a0c2d49386b65dcca566c036401232b
EBUILD sqlalchemy-1.4.53.ebuild 3437 BLAKE2B 47754cd23746113310cc0042cce769cd923205a62874521b53f9cc7bdbe0dcc3e2a384c2ca7c1c060b657e28872be4d7500d74946efae43006cfcd0949b0f57e SHA512 83519c2618215d5d35560277a30927693209f532816fa4912f8dd73b7881f98b81c4cc18ecf6d8d9e6a979b4b9610f6d4784167800ed758b112a4a9d95946b9a
EBUILD sqlalchemy-2.0.32.ebuild 4103 BLAKE2B 4245146921d68f774ead6ffff0792805d9d68c2f3569468656fa081fef6c242b44089a1864b11ffcc3b9e8490222d2bdf6570d4123c0dd336845be736c700614 SHA512 72ae29f5bd28952f6382079066f01139f48956460e75cb8090b27d8e1f8b00ae63ce6f59b5506dafc9dc04f662924ff0db707f74db885b412619af0ea8b681e4
EBUILD sqlalchemy-2.0.33.ebuild 3888 BLAKE2B 7951c115547d526015ffb9c647d5846bcad1b230458b0d677e346dccb5fd9a1a01235662bf8451ae4a53f4298f96e10b2ee2906b25918c4a5038b5555939cd28 SHA512 d0329e1e8793a24ea5fb8e6f3e695173bc55a1763563547572894dc4b6ff29e9ef3556c36064f69e6646f3098e58a71308ce8d9e3e9480519286115318f6fa34
+EBUILD sqlalchemy-2.0.34.ebuild 3888 BLAKE2B 7951c115547d526015ffb9c647d5846bcad1b230458b0d677e346dccb5fd9a1a01235662bf8451ae4a53f4298f96e10b2ee2906b25918c4a5038b5555939cd28 SHA512 d0329e1e8793a24ea5fb8e6f3e695173bc55a1763563547572894dc4b6ff29e9ef3556c36064f69e6646f3098e58a71308ce8d9e3e9480519286115318f6fa34
MISC metadata.xml 444 BLAKE2B 5fbfcf8f16e52ab5bb691b0b33a8491d94e42a80409114cd9b306af7d4b0eb8b6660fabc663adee53080c635217961301b78df536995b91afe9288d255f73d62 SHA512 b432b65ed3033d34ac0784d007909eb838b309b6a4785eebb1a3f808e43dfc41c786cd55e4dd048776c65127aac170bdd9fb9e5a8ae63accb5f65e300bca9676
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.34.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.34.ebuild
new file mode 100644
index 000000000000..c0927a51cf26
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.34.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=SQLAlchemy
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples +sqlite test"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/greenlet/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ test/ext/mypy/test_mypy_plugin_py3k.py
+ test/typing/test_mypy.py
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+ )
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+ )
+ local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
+ test/engine/test_processors.py::PyDateProcessorTest::test_date_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_datetime_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
+ "test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
+ "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"::test_{delete,insert,update}_single
+ test/base/test_utils.py::ImmutableDictTest::test_pep584
+ 'test/sql/test_compare.py::HasCacheKeySubclass::test_init_args_in_traversal[_MemoizedSelectEntities]'
+ )
+ ;;
+ esac
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=10 --reruns-delay=2
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql
+ optfeature "postgresql support" dev-python/psycopg:2
+}
diff --git a/dev-python/test/Manifest b/dev-python/test/Manifest
new file mode 100644
index 000000000000..10a6f0e0d9a3
--- /dev/null
+++ b/dev-python/test/Manifest
@@ -0,0 +1,2 @@
+EBUILD test-0.ebuild 1017 BLAKE2B f7a7f4e6eb6962c91b70ba5a24608c64023be5ffec659ea10604399b4234453a62d0717e25245c2b2ed90b18740a177360e1ccb0ad27df491b796aa07e9bb0eb SHA512 953596cda4fd08e47c85a8b80d4e204a3bcb0c7976dc837e4d2e4d9f834eb1d520dd914599b86d83a36b1fc7bbeeb0abe88b817d7532afdf9f33b4ff0e36433d
+MISC metadata.xml 265 BLAKE2B 369a57fab1283b596588a82815bfe567fe7617b5c0cb17e97f6694beefdd1e932b0d9ffc1fcb23c6ef05b33d97b3c1d1bb3960618ffdf4924c4ebad262794282 SHA512 a682dac348f2d95b986749f4d33e5702c1e8f66cf2ff7a32a5c2a8d388ddbfde2919d97345028c2007415368d395c7cf657184be89f7def27c949f1af5c30170
diff --git a/dev-python/test/metadata.xml b/dev-python/test/metadata.xml
new file mode 100644
index 000000000000..6ef265a39adb
--- /dev/null
+++ b/dev-python/test/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+</pkgmetadata>
diff --git a/dev-python/test/test-0.ebuild b/dev-python/test/test-0.ebuild
new file mode 100644
index 000000000000..d236bc07147c
--- /dev/null
+++ b/dev-python/test/test-0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit python-r1
+
+DESCRIPTION="Virtual to install 'test' package from stdlib"
+HOMEPAGE="https://docs.python.org/3/library/test.html"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_impl_dep 'test-install(+)' pypy3)
+ $(python_gen_cond_dep '
+ || (
+ dev-python/python-tests:3.10
+ <dev-lang/python-3.10.14_p3-r1:3.10
+ )
+ ' python3_10)
+ $(python_gen_cond_dep '
+ || (
+ dev-python/python-tests:3.11
+ <dev-lang/python-3.11.9_p2-r1:3.11
+ )
+ ' python3_11)
+ $(python_gen_cond_dep '
+ || (
+ dev-python/python-tests:3.12
+ <dev-lang/python-3.12.5_p1-r1:3.12
+ )
+ ' python3_12)
+ $(python_gen_cond_dep '
+ || (
+ dev-python/python-tests:3.13
+ <dev-lang/python-3.13.0_rc1_p3-r1:3.13
+ )
+ ' python3_13)
+"
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index 8181c05b3478..fd718c87a9b1 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1,7 +1,9 @@
DIST trimesh-4.4.6.gh.tar.gz 13606676 BLAKE2B 8183a757067d531bac4a959d770e619b6b9ccfc629e39a8b7ee9cc372aec518a056c7d0c27016103b2e535174046a4387e9719d0e9b749a8c4ee32b610f82211 SHA512 33b4ae7b5c5336140be7eedff82f112e3830bbddf835042b1ea7b95e643fe7e8943c38e80518778be122c1ec76d151af870df9afbce011438b38c13f967d4e4a
DIST trimesh-4.4.7.gh.tar.gz 13606593 BLAKE2B 1847d601711df60257a8f1248cdea66fcc6489b570606c9ab1d360db2742a9e7c1f0d6093924afa7105a5a272e80c291b1c3568b041db2ee4d144e72ab44fbd8 SHA512 b3e1a670b8dec26df3357cad4205431e94fc2b59b87af976b0754ac8e46f4f930f768322f0aa236a6205c289b9037f2343ec6aaeb0e281f021a03d3147be3d20
DIST trimesh-4.4.8.gh.tar.gz 13608241 BLAKE2B a9c429d1061f07ba84db4ab87275ad995550dcbd09b73baa7e7b0007bf17294fd812e7d530b7f76027c0c9b8d53cc8394a03e92218172bcd11791eba6e018fb7 SHA512 a2372a07561df5431159cb89bc344fbd9120aa2f6f0739a8fa0effd71fb001d3029c885581dc0b8c52be23f1cf87a22d53562a5ee25d534422ecb40fc0fd868e
+DIST trimesh-4.4.9.gh.tar.gz 13612220 BLAKE2B 9ee21f8a3f0db041133b2843948a00e8ee6bf52e3de1d2ca9ac88391ef1c07a4b540c75b439da3e137923f0822399cdf759072729363253ad8137a06cb208791 SHA512 3b58a0378231dd1111ac4ffe030b1dd18d24647e22fe815bc411a7854f83e12a9482cb0b48d5333be9f6f6ebf622c15e29c446531ce27ff12c1835a6f25cc51a
EBUILD trimesh-4.4.6.ebuild 2034 BLAKE2B 28b0063eefd036c6d882d0907b04eed1abacaf1206be8677b9e72c5e0d479bacbce43150227383ac9d2163b65f6dc405456e7064642f34f3c3d9b93e17964935 SHA512 624b55d78b99eddaf8e3446cf07d04344fe83c1f4b3033b75c076841f721e2bdc798e8b5e8cfddbc01db1d9e36f7232f5ff9145325c5e82bd5faea34b417ddfe
EBUILD trimesh-4.4.7.ebuild 2036 BLAKE2B fdc3533e944166ed99e70415f599e526e0a0eef5408ebea3e794a308ad5f2d98301a7984b9ad7570cdb939fcc528a3b01c9d6f8247cb195b54a4a4af338cefa3 SHA512 ff6e93c70c01ba4a711610db9e2a4ab818fdd4a78d9dbd35e410ac1fb3519a9358625fc0c5529eb95411a7329f56349c76b1ffe8c5f3c32ca1ca24add807fcbd
EBUILD trimesh-4.4.8.ebuild 2036 BLAKE2B fdc3533e944166ed99e70415f599e526e0a0eef5408ebea3e794a308ad5f2d98301a7984b9ad7570cdb939fcc528a3b01c9d6f8247cb195b54a4a4af338cefa3 SHA512 ff6e93c70c01ba4a711610db9e2a4ab818fdd4a78d9dbd35e410ac1fb3519a9358625fc0c5529eb95411a7329f56349c76b1ffe8c5f3c32ca1ca24add807fcbd
+EBUILD trimesh-4.4.9.ebuild 2036 BLAKE2B fdc3533e944166ed99e70415f599e526e0a0eef5408ebea3e794a308ad5f2d98301a7984b9ad7570cdb939fcc528a3b01c9d6f8247cb195b54a4a4af338cefa3 SHA512 ff6e93c70c01ba4a711610db9e2a4ab818fdd4a78d9dbd35e410ac1fb3519a9358625fc0c5529eb95411a7329f56349c76b1ffe8c5f3c32ca1ca24add807fcbd
MISC metadata.xml 389 BLAKE2B 6dcc92dfafdedb5cc7fe5f40977594114bbf1628d8179d7222c3b60c4a591e236c7a937530006beb9649a8a84636bcb1923d8ad6a377994295f85b1fe8eb8bbd SHA512 a96f4fb6a1c2bd820f2dd072230fa160536834e1ef19483c372571df2d082cb5a63434181af9107022b75e1019d369d6bece8262eb752cedf24a5038e15ea473
diff --git a/dev-python/trimesh/trimesh-4.4.9.ebuild b/dev-python/trimesh/trimesh-4.4.9.ebuild
new file mode 100644
index 000000000000..37fd5b19ad93
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.4.9.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Python library for loading and using triangular meshes"
+HOMEPAGE="
+ https://trimesh.org/
+ https://github.com/mikedh/trimesh/
+ https://pypi.org/project/trimesh/
+"
+SRC_URI="
+ https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pycollada[${PYTHON_USEDEP}]
+ dev-python/pyglet[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
+ dev-python/svg-path[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ dev-python/rtree[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mapbox-earcut[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_TIMEOUT=1800
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # require pyinstrument
+ tests/test_sweep.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature_header "${PN} functionality can be extended by installing the following packages:"
+ optfeature "making GUI applications with 3D stuff" dev-python/glooey
+ optfeature "2D triangulations of polygons" dev-python/mapbox-earcut
+ optfeature "loading a number of additional mesh formats" dev-python/meshio
+ optfeature "figuring out how much memory we have" dev-python/psutil
+ optfeature "marching cubes and other nice stuff" dev-python/scikit-image
+}
diff --git a/dev-python/txaio/Manifest b/dev-python/txaio/Manifest
index 6e025bf35653..45e0e7039521 100644
--- a/dev-python/txaio/Manifest
+++ b/dev-python/txaio/Manifest
@@ -1,3 +1,3 @@
DIST txaio-23.1.1.tar.gz 53704 BLAKE2B 1c12892c34cc848732d718a715e83059a6be0973cbabe619639c67d230b0d4e55b4e6d1b13baa05b13fe9faa266dadb6f2913bc01491af381fde5ca78ce6941e SHA512 41320501ec3e2555edc63326f2c5ee9bbc2fd103198a515b6dc4c44603a41d633c99a8f12c92ffc85f43546f0382d40f0c9748b13f7a7e70d98c5c4a2de85e2e
-EBUILD txaio-23.1.1.ebuild 816 BLAKE2B fd46446f454ca9a0adb62edca6c82ece3448272abdc386217ec96a9262b49f17dfe504a2c1c12a4817291d25c899d4265fe9d9424c334fe8e9b41d750f8011af SHA512 dba3fe8d0a68c01c4aa9fa4a9e0e95f7407865db6b91783f2d650cb70a3b97a5ecc3f1e10f2607a0807b12469d3e93e059e79b1005e0389a20eb385d7797ef93
+EBUILD txaio-23.1.1.ebuild 916 BLAKE2B 4c1ae52e169d114a97ef3ebaced64123ea3ec27fbd645449004428603178b2a91895ba3bd790fba6354006d4a0f30cc1124d89bd737364595a8648e75b57aeec SHA512 0c592ae7241baf77c290c601a419158c5891c74e8ae6a328238fdebbc557555e5c13307101fd3e38e397bcb4e30236c8bf20392070565c7e347e05ce979405d8
MISC metadata.xml 512 BLAKE2B 77fb828d05a3e0b0cac86cb83dda6bbea71087176cf82b1dc31fd274bcdb65d179240cb6cebabe3c918489398212bb6863ee4c6212a0e98dfa660c55785d4c84 SHA512 1d72dde928e33de1feab35d99bc6438ae0d26c4536ba1737296a6a89ec517e1f861826a926b352f046b697ef248653b4b6eb2a39291e50d7bd0d422a4c4a1d20
diff --git a/dev-python/txaio/txaio-23.1.1.ebuild b/dev-python/txaio/txaio-23.1.1.ebuild
index 8a0c0e58ed8c..75eb9f611886 100644
--- a/dev-python/txaio/txaio-23.1.1.ebuild
+++ b/dev-python/txaio/txaio-23.1.1.ebuild
@@ -17,6 +17,14 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/test[${PYTHON_USEDEP}]
+ )
+"
distutils_enable_sphinx docs \
'>=dev-python/sphinxcontrib-spelling-2.1.2' \
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index f20f216d1c8b..f7c80803b9cb 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -6,6 +6,8 @@ DIST tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.gh.tar.gz 37106 BLAKE2B c30d1c3
DIST uv-0.4.2-crates.tar.xz 46277420 BLAKE2B 9f516f586a5e46bbd6c09e116f91e90b563b4de89b2d2dac50f208e4116583ba05418baa998a74f6d31503ec56cb5ff5966cdf579d026c53bcfc500b5e4fb15c SHA512 b30b70225eae9a5970dd18d383d9129b5161cb66942af8796220fe7a58cd3357308111374193d8fc4e1c7fde8a0b62f44e8efd76603411d882df016afecbc69f
DIST uv-0.4.3.gh.tar.gz 2514550 BLAKE2B eae7a625869fe0821abb6c194cb72dc7a3ca2c11d40e731929b886e4b781ab0f7a1099986271c402d64f2eee4582ec57c9443eaecdf18f2d55b2640c8bd9bde9 SHA512 ccb8b125bd32c268cbbeb431fb538d63d700a910392afed8c38470175359dc4153367ba71a5326538e9c7188ddc8b649f23e67f1d2da59ddb17b61c71f33b40f
DIST uv-0.4.4.gh.tar.gz 2529092 BLAKE2B 89c9aee07f55f2ac7366f66b9355ecbc20d76500b4a8e85a154c9613178bb000c513d3b310750f3d5aba835020797d93deade9e51eb5f742edd750836807a071 SHA512 2b8581b27377256f5ddf6681b7f66acf87454d476330627b76704d76860afbeffcf89e7bdb1a56f60789c0246fdb81d459991f52baa451bbadff5f79df3dad5a
+DIST uv-0.4.5.gh.tar.gz 2547342 BLAKE2B a87140ca17b9767b864a8ac2cca4e3dad1f1e0ed7ae93d49c650249a63b5e51f6f36c40f7aa75a710951d98f9e2ba9f7ebf7ae1cd3b7f2525a22e664ac75b613 SHA512 9db24ccde03a7ea665febbd2c707de4efaad560a1fdb3823aae5f4c212df37f3c1f646c7e7ae4cba0e5cc0104995b44f5a4cd130c5beaddd921e71abfc6cbd5c
EBUILD uv-0.4.3.ebuild 2903 BLAKE2B 5ae8168fc28b260c15c095036baac453df47717a7852b2f1f3c784bd83821fdb6ca3e4b4e43a4d107f0fbf8f0d897fdc3acd38d8d5701ebdf36a220512f721d7 SHA512 7db67cc2e51569aa77ed8e7ae122cfc65496743dc04080060283df351eddad0bee832416d270425d6c04aa3882a8c5c0d529b0ff979ceb44a56a929f8a762da5
EBUILD uv-0.4.4.ebuild 2903 BLAKE2B 5ae8168fc28b260c15c095036baac453df47717a7852b2f1f3c784bd83821fdb6ca3e4b4e43a4d107f0fbf8f0d897fdc3acd38d8d5701ebdf36a220512f721d7 SHA512 7db67cc2e51569aa77ed8e7ae122cfc65496743dc04080060283df351eddad0bee832416d270425d6c04aa3882a8c5c0d529b0ff979ceb44a56a929f8a762da5
+EBUILD uv-0.4.5.ebuild 2938 BLAKE2B 4c418853746d9d098e3558c8dca06ac539e32c937b7c6a754994bfaa4014b87f3478cd7b7934c05529d642b856a8e270214fe950d81b75b479352db620669160 SHA512 373267d4f0ea6d399ceb921358004c153c791bf4d205ff699b6004a7e1666da99235c5c67b088e0571086863deefcf34e95a3a71c36dc4f879a94f51b8868ca9
MISC metadata.xml 336 BLAKE2B 4b5933e24e3e9450dde5da099185dcdf3afb5916b55cffa7c2f3f6fac77e439197cbe4ba529a87f83442d8f87d238e8abef06dc052ce9a62659060ffea9fdb47 SHA512 9910fd10ebbc395b9c330774b74798c9ffdba3bb368347658380a22e01d6dc9d1961ea50fbfb4a904c9db84b94c713c054e418a7294425b86ff41a607fd3e310
diff --git a/dev-python/uv/uv-0.4.5.ebuild b/dev-python/uv/uv-0.4.5.ebuild
new file mode 100644
index 000000000000..3990f1fa30dc
--- /dev/null
+++ b/dev-python/uv/uv-0.4.5.ebuild
@@ -0,0 +1,114 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;011b24604fa7bc223daaad7712c0694bac8f0a87;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;388685a8711092971930986644cfed152d1a1f6c;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;5e3eaf254b5bd481c75d2710eed055f95b756913;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;5e3eaf254b5bd481c75d2710eed055f95b756913;reqwest-middleware-%commit%/reqwest-retry'
+ [tl]='https://github.com/charliermarsh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+)
+
+inherit cargo check-reqs
+
+CRATE_PV=0.4.2
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT
+ MPL-2.0 Unicode-DFS-2016
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+BDEPEND="
+ >=virtual/rust-1.80
+ test? (
+ dev-lang/python:3.8
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+}
+
+src_prepare() {
+ default
+
+ # remove patch.* that breaks GIT_CRATES
+ local reqmw=${GIT_CRATES[reqwest-middleware]}
+ reqmw=${reqmw#*;}
+ reqmw=${reqmw%;*}
+ sed -i -e "/^\[patch/,\$s@^\(reqwest-middleware = \).*@\1 { path = \"${WORKDIR}/reqwest-middleware-${reqmw}/reqwest-middleware\" }@" Cargo.toml || die
+
+ # https://github.com/vorot93/tokio-tar/pull/23
+ # (fortunately uv already depends on portable-atomic, so we don't
+ # have to fight Cargo.lock)
+ cd "${ECARGO_VENDOR}/tokio-tar-0.3.1" || die
+ eapply "${FILESDIR}/tokio-tar-0.3.1-ppc.patch"
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+}
diff --git a/dev-python/validators/Manifest b/dev-python/validators/Manifest
index 559305686e9f..5f8ccc3e5ac9 100644
--- a/dev-python/validators/Manifest
+++ b/dev-python/validators/Manifest
@@ -1,3 +1,5 @@
DIST validators-0.33.0.tar.gz 70741 BLAKE2B e999d1ea14e2240523537804931fc91f5eb02d4ff35b22e8a292ff8785493ce48cd14ccf0d87ce945739c3e65a79b3a7654a66412bcc41e4e37e0fd87eefad72 SHA512 611844e182319209a2f6305daf3fcfc1801d9ad32179eaa9651844df37bd3d1d42bfd1e69be1e2c4fcd811a231228bc748a12dd6583248d5b572394cb9c9d858
+DIST validators-0.34.0.tar.gz 70955 BLAKE2B 5c757c3b2a0e3557663a0eee5a08fbc43087362f492629cd9fba6f7ea7d5e99544de1a82159338d02af40f434345c3170e9b19873a890690fb0d94526e495892 SHA512 d49df68ef60734d8462c37aea7b7d274ebe4b31d768761c3da6d219d59574bb6efc444e5501073fcddffcdb3752766d19d231a63da682bf02f82739526de884a
EBUILD validators-0.33.0.ebuild 572 BLAKE2B cda3bf03284b20d4cefa1c309643bc1a1542873d404c8226a7affb8d9b9ce0802f990e9ef2ee57f7c377cd1efb42b12281df0e0d3671e5a037f5e0620b5f5ce6 SHA512 c39e181362f952449bb86edb67c29015e4d98f0281cf7489d8ccf891adf44e0452d93fd36bb39e8fe9b9c570afb0f8154a2c33305e7340b2b0595339128f3e55
+EBUILD validators-0.34.0.ebuild 579 BLAKE2B 1587c72fdf4818885225f91fda0be65f18cbf7e83a6c0209e021d99f28eee751a49c61c6753b3270d46a472ad4de34f6f2805937cde70bb8b484c7492c267377 SHA512 1b70045a03eedf6f7edae3a7174e3d742ac1c542f36b6858272d9f305b211faf7543c2889da2fd334225f893ce5b942c926eb229d0fd8eefc83b13059beaa6a6
MISC metadata.xml 519 BLAKE2B a590f05cb14e02149ea83eaa045973624f5b0185a828d97ba5c6d071518718dbb664b5b207a1409fac0f7e9831b8555c4ceab6b7bfc105a96ff790291e5b5482 SHA512 40473bdc0cac23032dded1a4e9cbf52659f6f1480f431fda9221cfdb5b7c5b61ae74d3621eb081c39c19771fff32eaf703462e9466985170b084d524a8cfaf0c
diff --git a/dev-python/validators/validators-0.34.0.ebuild b/dev-python/validators/validators-0.34.0.ebuild
new file mode 100644
index 000000000000..ee697b081282
--- /dev/null
+++ b/dev-python/validators/validators-0.34.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Data Validation for Humans"
+HOMEPAGE="
+ https://github.com/python-validators/validators/
+ https://pypi.org/project/validators/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires eth-hash
+ tests/crypto_addresses/test_eth_address.py
+)
diff --git a/dev-python/yarl/Manifest b/dev-python/yarl/Manifest
index 1afa7d29c377..b883841f411c 100644
--- a/dev-python/yarl/Manifest
+++ b/dev-python/yarl/Manifest
@@ -1,9 +1,13 @@
+DIST yarl-1.9.10.tar.gz 155594 BLAKE2B b86fce589c0da63d94939a788fbc98f39efb233d4777c7753f23cf42c0c2df8a121a4171606a3b617e7e2539f7e151a1a717dae07d94c44d08b1fc466c0bfda1 SHA512 554fcbf6b39fefc2e2e5b309d989de071cebc285446df3cba3703100974d6832be894ff5ccce52e85a643b69282227d34787dbb21cee88039cf9f1021e967d12
DIST yarl-1.9.4.tar.gz 141869 BLAKE2B 367eac4674bf1190122f10bb1dc1c4f3d5e4263e1d95ff2b871067d55a894dc19a6bb5a6c673d1bed28b3c5f77c704799568edfe639d50f0ae10313eb847352d SHA512 e4f7917f1625b40125abae9a13d61795f97e8cf489735e15cf58476e97c3bcf840b1452482f1f7a737fbb2bdd1dc7bbcfa882d0a7f76a27dfb3aea72b7a66c82
DIST yarl-1.9.5.tar.gz 151787 BLAKE2B ba23624f622894c316452ac888323f21d6c8c582c768b6c41fd44cfd3e5c245eb167bcdfa9f75e9d67236f0f4cc8113750c8e4e8e595e8ed15bef545af5b996a SHA512 82aeea18f811d6546d89b19140255bd022a4e4ce349dc5f3cabaf26795553ffefbe62f67fec337d0177562b4d937d98e2944e8e42b584e96b0e90593fee215f9
DIST yarl-1.9.6.tar.gz 151377 BLAKE2B bc4b348a458858b57a4ccbe1a05ce25006a79d1cd728d9e6a858c8ea0aaddc80c4f5bf783a5019669fdc881a5ebc247c097da067ddc6715b4c1d85c362ceb1c3 SHA512 edeed5ac73077f35e0c93135e0e8d23a4be2f155c43537275418c6d0354c379026fbfa7972b91669beb1856e1d1e65c9bffa56c6d9ee3fb9c4d246e0af3d3b2c
DIST yarl-1.9.7.tar.gz 153261 BLAKE2B 745145258d9a3ceb7d41f46b07c56418c2f294537544c310eea49752e7f9d83cd9cdb44c74fa4b2aa8e95ed72f12113ce634af745116100d9599c06b5fa873d4 SHA512 ffb07f1170a483e9018f0b497a44c7e086e41e76067a0ff9ad9941d422656fdb8ad0be04702d221767798233cf5f2c0e849226c8e82f1a64ff6e84eeb1ed6c5e
+DIST yarl-1.9.8.tar.gz 153867 BLAKE2B 587aa5532709dd118235ae6627ad1d332e482567306c04e74e2b7d9e5a033446c566b6f6151dc15a7e14daae18bb6c25aaad8d06b20a147d91bbf448ba271dea SHA512 29be77dfe0bbf269efe73a16d6282cff579bd38ab3796b1f3d817b070c90bcafafecb29cdc6bae4bae034e672b7479d9901717478f4d1aa6df895f12fee1c253
+EBUILD yarl-1.9.10.ebuild 803 BLAKE2B d023ee91fbb271c06df19f7e3a9e6c0f6fb5abc21e985546c7dc4a497f1faaa6e489036fd7880a0fe7a1c2b18721d401accd1c3c15eb5f2a6105b431cedbaf89 SHA512 f6db3a9b38352ed41057a43a73a10407763a1a7ae5afe6d9ac0dfe347aae630e54cb0f1842e67cf475d7527d9fbf78919d574bfca2c0b9d1572356a26f2e7dc4
EBUILD yarl-1.9.4.ebuild 795 BLAKE2B 80021eb0faa63a42b310e19b19637b5be80bac5739d5340e337cc76c0560012438f172d65b4f2c7f2f0987cefe27e97f36e4f5f59ecd230c19b9b83e566dc2c9 SHA512 6caed8c2478998107d9e327e9fb80180dd08a83e007a266431519d8e3879fc876186743702d40344a9d99099773280d9c9f32808f7518ac3278f965f260b7267
EBUILD yarl-1.9.5.ebuild 803 BLAKE2B d023ee91fbb271c06df19f7e3a9e6c0f6fb5abc21e985546c7dc4a497f1faaa6e489036fd7880a0fe7a1c2b18721d401accd1c3c15eb5f2a6105b431cedbaf89 SHA512 f6db3a9b38352ed41057a43a73a10407763a1a7ae5afe6d9ac0dfe347aae630e54cb0f1842e67cf475d7527d9fbf78919d574bfca2c0b9d1572356a26f2e7dc4
EBUILD yarl-1.9.6.ebuild 803 BLAKE2B d023ee91fbb271c06df19f7e3a9e6c0f6fb5abc21e985546c7dc4a497f1faaa6e489036fd7880a0fe7a1c2b18721d401accd1c3c15eb5f2a6105b431cedbaf89 SHA512 f6db3a9b38352ed41057a43a73a10407763a1a7ae5afe6d9ac0dfe347aae630e54cb0f1842e67cf475d7527d9fbf78919d574bfca2c0b9d1572356a26f2e7dc4
EBUILD yarl-1.9.7.ebuild 803 BLAKE2B d023ee91fbb271c06df19f7e3a9e6c0f6fb5abc21e985546c7dc4a497f1faaa6e489036fd7880a0fe7a1c2b18721d401accd1c3c15eb5f2a6105b431cedbaf89 SHA512 f6db3a9b38352ed41057a43a73a10407763a1a7ae5afe6d9ac0dfe347aae630e54cb0f1842e67cf475d7527d9fbf78919d574bfca2c0b9d1572356a26f2e7dc4
+EBUILD yarl-1.9.8.ebuild 803 BLAKE2B d023ee91fbb271c06df19f7e3a9e6c0f6fb5abc21e985546c7dc4a497f1faaa6e489036fd7880a0fe7a1c2b18721d401accd1c3c15eb5f2a6105b431cedbaf89 SHA512 f6db3a9b38352ed41057a43a73a10407763a1a7ae5afe6d9ac0dfe347aae630e54cb0f1842e67cf475d7527d9fbf78919d574bfca2c0b9d1572356a26f2e7dc4
MISC metadata.xml 440 BLAKE2B 10fd0e37c9be76c5d1dd90b9fd1cb1e5161fc5a7d2b51bcb5658a8c187a67d5f9573241733c3f9570e9fb7767bf84b38a6f8b2c212596627bea4e1686b7eb41e SHA512 c9e340124ed93cb0d52a0ae5abd43c10528197893c3d5ab57a0eb7046ebae5b80119f7b033d6697110c4bc064c0a8581d904788f6969cb52a433064067898cbe
diff --git a/dev-python/yarl/yarl-1.9.10.ebuild b/dev-python/yarl/yarl-1.9.10.ebuild
new file mode 100644
index 000000000000..4f3c2c57410d
--- /dev/null
+++ b/dev-python/yarl/yarl-1.9.10.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Yet another URL library"
+HOMEPAGE="
+ https://github.com/aio-libs/yarl/
+ https://pypi.org/project/yarl/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/multidict-4.0[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/expandvars[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd tests || die
+ epytest --override-ini=addopts=
+}
diff --git a/dev-python/yarl/yarl-1.9.8.ebuild b/dev-python/yarl/yarl-1.9.8.ebuild
new file mode 100644
index 000000000000..4f3c2c57410d
--- /dev/null
+++ b/dev-python/yarl/yarl-1.9.8.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Yet another URL library"
+HOMEPAGE="
+ https://github.com/aio-libs/yarl/
+ https://pypi.org/project/yarl/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/multidict-4.0[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/expandvars[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd tests || die
+ epytest --override-ini=addopts=
+}