summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-08-30 12:00:55 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-08-30 12:00:55 +0100
commit2e8abb8c82f14dd064991a1afd337b2f022b37f6 (patch)
treed600b9d779be602cd4b6e93bf715ec8fba07624c /dev-python
parentadcf4f8116a4a850dae301fb4dbcd7b71cb35975 (diff)
gentoo auto-resync : 30:08:2024 - 12:00:55
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin270656 -> 270837 bytes
-rw-r--r--dev-python/aiodns/Manifest2
-rw-r--r--dev-python/aiodns/aiodns-3.2.0.ebuild2
-rw-r--r--dev-python/aiohttp/Manifest2
-rw-r--r--dev-python/aiohttp/aiohttp-3.10.5.ebuild2
-rw-r--r--dev-python/boto3/Manifest2
-rw-r--r--dev-python/boto3/boto3-1.35.9.ebuild53
-rw-r--r--dev-python/botocore/Manifest2
-rw-r--r--dev-python/botocore/botocore-1.35.9.ebuild76
-rw-r--r--dev-python/cattrs/Manifest4
-rw-r--r--dev-python/cattrs/cattrs-23.2.4_pre20240627.ebuild9
-rw-r--r--dev-python/cattrs/cattrs-24.1.0.ebuild106
-rw-r--r--dev-python/cfn-lint/Manifest2
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.11.1.ebuild70
-rw-r--r--dev-python/deepdiff/Manifest2
-rw-r--r--dev-python/deepdiff/deepdiff-8.0.1.ebuild68
-rw-r--r--dev-python/freetype-py/Manifest2
-rw-r--r--dev-python/freetype-py/freetype-py-2.5.1.ebuild36
-rw-r--r--dev-python/gmpy/Manifest2
-rw-r--r--dev-python/gmpy/gmpy-2.2.1.ebuild2
-rw-r--r--dev-python/jsondiff/Manifest2
-rw-r--r--dev-python/jsondiff/jsondiff-2.2.1.ebuild41
-rw-r--r--dev-python/mpmath/Manifest4
-rw-r--r--dev-python/mpmath/mpmath-1.3.0-r1.ebuild2
-rw-r--r--dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild2
-rw-r--r--dev-python/orderly-set/Manifest3
-rw-r--r--dev-python/orderly-set/metadata.xml12
-rw-r--r--dev-python/orderly-set/orderly-set-5.2.2.ebuild35
-rw-r--r--dev-python/pikepdf/Manifest15
-rw-r--r--dev-python/pikepdf/files/pikepdf-9.0.0-py313.patch26
-rw-r--r--dev-python/pikepdf/pikepdf-8.11.2-r1.ebuild67
-rw-r--r--dev-python/pikepdf/pikepdf-8.14.0-r1.ebuild67
-rw-r--r--dev-python/pikepdf/pikepdf-8.15.1-r1.ebuild71
-rw-r--r--dev-python/pikepdf/pikepdf-8.4.1-r1.ebuild61
-rw-r--r--dev-python/pikepdf/pikepdf-9.0.0.ebuild79
-rw-r--r--dev-python/pikepdf/pikepdf-9.1.0.ebuild74
-rw-r--r--dev-python/pikepdf/pikepdf-9.1.1.ebuild2
-rw-r--r--dev-python/plotly/Manifest2
-rw-r--r--dev-python/plotly/plotly-5.24.0.ebuild119
-rw-r--r--dev-python/pycares/Manifest2
-rw-r--r--dev-python/pycares/pycares-4.4.0.ebuild2
-rw-r--r--dev-python/pydantic-core/Manifest2
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.23.1.ebuild167
-rw-r--r--dev-python/pypy-exe-bin/Manifest9
-rw-r--r--dev-python/pypy-exe-bin/pypy-exe-bin-7.3.17.ebuild82
-rw-r--r--dev-python/pypy-exe/Manifest3
-rw-r--r--dev-python/pypy-exe/pypy-exe-7.3.17.ebuild181
-rw-r--r--dev-python/pypy/Manifest3
-rw-r--r--dev-python/pypy/pypy-7.3.17.ebuild306
-rw-r--r--dev-python/pypy3/Manifest1
-rw-r--r--dev-python/pypy3/pypy3-7.3.17.ebuild26
-rw-r--r--dev-python/pypy3_10-exe-bin/Manifest9
-rw-r--r--dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.17.ebuild85
-rw-r--r--dev-python/pypy3_10-exe/Manifest3
-rw-r--r--dev-python/pypy3_10-exe/pypy3_10-exe-7.3.17.ebuild136
-rw-r--r--dev-python/pypy3_10/Manifest3
-rw-r--r--dev-python/pypy3_10/pypy3_10-7.3.17.ebuild212
-rw-r--r--dev-python/python-cinderclient/Manifest2
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-9.6.0.ebuild48
-rw-r--r--dev-python/python-ironicclient/Manifest2
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.8.0.ebuild49
-rw-r--r--dev-python/python-snappy/Manifest2
-rw-r--r--dev-python/python-snappy/python-snappy-0.7.3.ebuild25
-rw-r--r--dev-python/setuptools-rust/Manifest2
-rw-r--r--dev-python/setuptools-rust/setuptools-rust-1.10.1.ebuild2
-rw-r--r--dev-python/sphinx-autoapi/Manifest2
-rw-r--r--dev-python/sphinx-autoapi/sphinx-autoapi-3.3.0.ebuild50
-rw-r--r--dev-python/sphinx-autodoc-typehints/Manifest2
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.3.0.ebuild44
-rw-r--r--dev-python/spyder-kernels/Manifest2
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-3.0.0.ebuild92
-rw-r--r--dev-python/sqlalchemy/Manifest2
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.53.ebuild2
-rw-r--r--dev-python/stripe/Manifest2
-rw-r--r--dev-python/stripe/stripe-10.9.0.ebuild92
-rw-r--r--dev-python/twisted/Manifest2
-rw-r--r--dev-python/twisted/twisted-24.7.0.ebuild2
77 files changed, 2307 insertions, 479 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index b80d645ebeda..af5fc2e33cac 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/aiodns/Manifest b/dev-python/aiodns/Manifest
index cd039d89b981..1011e2751ede 100644
--- a/dev-python/aiodns/Manifest
+++ b/dev-python/aiodns/Manifest
@@ -1,3 +1,3 @@
DIST aiodns-3.2.0.tar.gz 7823 BLAKE2B 8bafeebbf6ef69001670dffe8df3bd89b817bca921e266e218eaf2a53653d5bb150cef0c99b2fd498d39befb57c6e2edb4d94fbf4b4548e1debce69bcd114ff3 SHA512 ca6ae2d53cc0a0e5b8cd5f47da56d7db43236eb6738509d5cc088e56db996c49eba8b024cfe368e5acf44ad4de4cb5d6f949c7f0d4cd16ff4d5cc42ae3b27cb1
-EBUILD aiodns-3.2.0.ebuild 825 BLAKE2B 3a1a4dd8fb23e49aeed656bc6c8c1a339d8fb0e9484ccbf7c14fe63a2ad99b149d9ea0a0b63fad33a1b5a0ceba7020e0ec7f3fff5c0778e72b36f0a8bca03d37 SHA512 d4e2c9a67f6ac3f245c51655618fab901301bdb5a670b1367cc9b401743829d9e69d0d3539a746098d1424ce5cd1ad70f5c7299661a3f659555d46c1f6e6f7ca
+EBUILD aiodns-3.2.0.ebuild 851 BLAKE2B 7c61aa5c926d4b18ce93edeeb44ce3c49c64380b5d7cfc3d5e5ef70202fb9cc25505495ba2b140cac7cda5fec54cacf939d503ffb1a866e5199ce5d04af87484 SHA512 05215437227c47061de846fe4b5a9a4ef9a6f402d259c73874b9d027f9958b4c5e6638361e610c74ec4f587f1466e3c718b6ff362d3f6554e61c1fe6b4b96f99
MISC metadata.xml 466 BLAKE2B 6f6f9859ea69490be57bf7c6581e3b51b8b0f3563cc013e072bcc221a81eaf7ade938e935a730c125452c0c6c8ac45d8c91ce1748cfa3ea1df3db55fa4c59d31 SHA512 101ea2c67fcd9b0c9496892422f7eac07d1c381f1fead1706c96fafdf5c2bb48f3c3b6912a166ee20a8b54be12e2989367674813c98aba0fd896f63110c8ee1c
diff --git a/dev-python/aiodns/aiodns-3.2.0.ebuild b/dev-python/aiodns/aiodns-3.2.0.ebuild
index 350be7ce958e..6ee5aa6ecfb8 100644
--- a/dev-python/aiodns/aiodns-3.2.0.ebuild
+++ b/dev-python/aiodns/aiodns-3.2.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
# Tests fail with network-sandbox, since they try to resolve google.com
PROPERTIES="test_network"
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
index 09f7aad23fb7..07aa6bbdfce9 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -1,5 +1,5 @@
DIST aiohttp-3.10.5.tar.gz 7524360 BLAKE2B 57ca70d1a075ae7f9ba9b86a19be52e05e88518e28baefb16e852ce83707bfbad9cb06af08a2cea3371349649e85ab6dfb3426ee2759a4e84456041373575a8b SHA512 bb932d24b3ce332d8a232ef3bf1fbe9b0a7df9986ad5e81d5f41bc31a81204653e5250c4f0ee77a9eeb53d404bd907b12977d31caae54c00ef0146350629e750
DIST aiohttp-3.9.5.tar.gz 7504841 BLAKE2B f051ee88d45952219f72d542f1c6d0cc33c699c6c5fb5dbe3bc054ee4d0e03121b219c8c8524fd1236a8b878329b0997b8afe07d6c66074102d4a2052a8738ff SHA512 da11468a2f131275593395b052700a99cf79055a32d48327dca0f58547ad30add8cd0a375dbd831e2f06fe7a739183251e4ad69c16f3d141799bbed45a8a5dc4
-EBUILD aiohttp-3.10.5.ebuild 2909 BLAKE2B 09b3671658e43c7ea107bf02043b80ba483aac30c933d657dd6f8879a04f1e3c0363b73a62fd55932f30b394af017834c01bb0f52d28830d3f6b6468139c8b3f SHA512 6a12918ac49339e781eff7df50dfa38025a9bf3b13de9790e2ddd9a597e3a825ce474780682025ce3d6683a5bb981918dd1b89338607e99e862288b0142a4a74
+EBUILD aiohttp-3.10.5.ebuild 2935 BLAKE2B 20713a920fdb67aae06ba39369679be1f53ec6e76b83725616e76660b627b480719aa604cd645252a9492a88e895100e4c3e25774968b8bbccd65b39b01b2590 SHA512 c1ba40b6d1119cc4c5aa627e21154937edcf39d6fb69fa40c3a0d4613a9922fcc4e02ad89c73ca553e05c074f88bf45ef8be48dcf4f7ae99d85558713b988d09
EBUILD aiohttp-3.9.5.ebuild 2884 BLAKE2B ca63f65e2f9893741e3a61956ebf0d80d71a0005e86467fceabfe781431e2afbbd103e286839b3a59516419502c71aa365f4d198b774f6ef956ef7afbd344474 SHA512 66a8ff411e3377b8655202ef0a7d0ee42be1aea52a5634e72c6435538d811772c5599a23464f44fb8ee58f52e34784e4f8e290ed2003fe2d18580fd422536b0b
MISC metadata.xml 490 BLAKE2B 5233af0b5e2668b1eb62278b05b62f24f1ab90f6d05b20dd9f1c5b54b846919c3fa28b843df28f5bfa320996d46de0e74c7a28bd0bef02aaaca14b1cec52baba SHA512 9b701c5c5a22b6aa94977a67bc40f3dc9df8337556952658a2a17ecaaa471cd7f7b5b8bf3a0088208087677555f0cbb8760c091b03b96ee70affe3e2b84cf6d5
diff --git a/dev-python/aiohttp/aiohttp-3.10.5.ebuild b/dev-python/aiohttp/aiohttp-3.10.5.ebuild
index ff6337c302d6..86d188180b35 100644
--- a/dev-python/aiohttp/aiohttp-3.10.5.ebuild
+++ b/dev-python/aiohttp/aiohttp-3.10.5.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="test-rust"
RDEPEND="
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index b3ac834c7b80..77376b0fe740 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -4,10 +4,12 @@ DIST boto3-1.35.5.gh.tar.gz 854016 BLAKE2B f94d738e310725cd5f9c7b405a094155f3ecf
DIST boto3-1.35.6.gh.tar.gz 854351 BLAKE2B 0aea780d070a5a806bcb8196ebc3785eb1a1b5ad3cb9f1598a24bf80b4be5f8757b551a524afed9440deae505e427b97f9b79b1a7c30c7db977319ee317bb58c SHA512 81fce9301003a5b2f67107a7f6ebbd033a43a43c890be7ff3248136c1fcc826fd475f9860d3295f16900f199057e1a7da7be60554dc193826ecef6e64f97341d
DIST boto3-1.35.7.gh.tar.gz 854615 BLAKE2B 4cf4fd926bc4175273df2007f1275e0781c199361cb8c419c7c34bc764e47d0c74f7f9c9de8d25a7052072a73ccdf0c3d2ec7fcab5b71a4107b2c22a1eef5700 SHA512 4e85d9d2004d6d74190f560b41cb6a4ace30b3ce4d09d5b390045874bedca1d0fc1756170bf81f615c81a371038fa7a94c407a3de417c0be6b33805bd32866e1
DIST boto3-1.35.8.gh.tar.gz 855649 BLAKE2B 4d3a7740a3da49b0552fa9250decf74daaa78c33b21f96dcefd67025c16f5bb1ab2f67d5482f4434b74cdd75ecc7578378138a08bdd91cd10d5afc9d87ae4ecd SHA512 bb44beebd2eb4f5b49e94299abf79bd1b9bfe11ad2ce487a01e7dec0bfb31e9d343835e20608b63f05cdaabc96356740b53ce828310048c95874fcd290dbfd0d
+DIST boto3-1.35.9.gh.tar.gz 856164 BLAKE2B ff92b345ad9eeb2f74cdef93960c2aca1351b4aa5fd9a7f4d0302327269f421fa66e1804bb2536f634dc08671fd529810bc467184eb3b95bde69d818e6e58a88 SHA512 6dc461ca79753cbf875da2ef525a8c6bc12e14a5db3110cfbde81303dc27b8e5be42f468b4dc37a02b4face8344566ce9836ce69b325650dde4efcd1656e8127
EBUILD boto3-1.34.158.ebuild 1198 BLAKE2B 99a7fa08055cee13f14557124398df39119bae2e4b684265d4647ad0ec83a502bb422365e3797ff5c0440c4b1c9866ede4c62b1876510178dc2e6a0b05ed8781 SHA512 c020cc5535d63c948dd456d9f4af4e97339cb36dc0bb2b2c53d3da0c8c62737e0846ff71d9f85ca9b2936a8a7bfc43b67c3114f91440e75c9870beaa8997107a
EBUILD boto3-1.35.0.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
EBUILD boto3-1.35.5.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
EBUILD boto3-1.35.6.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
EBUILD boto3-1.35.7.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
EBUILD boto3-1.35.8.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
+EBUILD boto3-1.35.9.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
MISC metadata.xml 493 BLAKE2B 7d6324fc877ffe1d20c5369c2af0b09a7028f94d28f1841188913d0d8be7ea699c9d3f92c624992c4c96bd69615d3a1211a2483c76c56b7d3082492e43512523 SHA512 44420d8c03d5986f990b76369edfa8dfd7659b4952db3ad946fd05392ec594628a28745ad888d055d4f074d5214f61fcffafe6c04c4ab54109d45ac0371582bd
diff --git a/dev-python/boto3/boto3-1.35.9.ebuild b/dev-python/boto3/boto3-1.35.9.ebuild
new file mode 100644
index 000000000000..8cba6d95740e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.35.9.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 4f728e59ba05..8741d888f445 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -4,10 +4,12 @@ DIST botocore-1.35.5.gh.tar.gz 13303437 BLAKE2B 0a95351fbc93074bb0398871773120a1
DIST botocore-1.35.6.gh.tar.gz 13305231 BLAKE2B 1c3716883b2cc8dd98e4391ff60039f14e0e0fcd076a3780b6ee18c216f004d6f1ed2e916681d28133ae9788fd5c721abbba6c44354442a6d7862074e7f8956a SHA512 6d2ab4264886e231cb0b65ea34d2757b29ba71fe227bf8dbff3474074d612f13b3e9fcfe17b9cb2f8f420bd962f1eefe7b8038ef5017060c6732ec5ed927906e
DIST botocore-1.35.7.gh.tar.gz 13308318 BLAKE2B 4e92e22dde9a4b414a1cace9a21f8a536a0f386dd4b14bd594dc08dff3d05e8aa17c669222b07617db8b883ec79ab48a18d669619ff14400c09df26c0d3101fe SHA512 5188b485db0db1fdaf51ae1ff5c57caa114d0f08b04ef20cd821b5b13b661374dc4463694cf027c1ac25f903ea74be81464d0041c856e93315781398cfde611c
DIST botocore-1.35.8.gh.tar.gz 13321226 BLAKE2B d4808db439d9fd6be7d759d7785b788269688a288d458e37f718ddbb23f92df92113f6d8cbe44b07c8be92f6a4ac8fa5951a58d68513c8ade02355731ed9696d SHA512 a9c38c7fcb89da6164aef60f47c9882730f613f3d05ffbaeedab7167d730b80670e43288bf66dbade46829c0ef9171a7141b4ba6332937dcff29fc06a78413b1
+DIST botocore-1.35.9.gh.tar.gz 13322670 BLAKE2B a472f5f599e96a45cb985ca105731ef61907c443bf56cac760f30b18bc5392bc25ae7587b6064c2ca0d5b4bd9b29a8ee8e3ae941a033413a8b723775c6ed6154 SHA512 5b5cc9abbfb13780a256b0904a18ece350ca206cf66d12dc809f685101b3fbe3131076faabf6bbb200c38482c037374f942a21c7611dca1d354c2537231631be
EBUILD botocore-1.34.158.ebuild 1665 BLAKE2B 1171f3bdcbe2eada97adf58c2011691cb51300028737903ec51e9fea4d80943dc3e199f4a1671be350ca2cf921e5dbdd4e7c8ca4658261143646cf9c0c82f522 SHA512 db8027472dcb87b167d63ed89910783e104513361b9191f5e2e2928a2904493c22d9629aa206f61206c4f29c6a9c43e8208c57a9b9bf99b031101b915d326674
EBUILD botocore-1.35.0.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
EBUILD botocore-1.35.5.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
EBUILD botocore-1.35.6.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
EBUILD botocore-1.35.7.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
EBUILD botocore-1.35.8.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
+EBUILD botocore-1.35.9.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
MISC metadata.xml 499 BLAKE2B e5aaa7da26f200c09adfdf38b68f656bbccbec627cb5d966b280ac2165334e7eec659c89075bcace748f58e2ec3e7d2998e54a688d56ecea2d30653c67dfd35a SHA512 103c554d5dbd967bf9b6e418b3913d9235e7e910d012160909ce0715134ed2e37b06e6a345395f9d16ce08d1cf51f3ce458bce93c6a978fd3dca6610f2acdbd0
diff --git a/dev-python/botocore/botocore-1.35.9.ebuild b/dev-python/botocore/botocore-1.35.9.ebuild
new file mode 100644
index 000000000000..4f1ad852bdc1
--- /dev/null
+++ b/dev-python/botocore/botocore-1.35.9.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/cattrs/Manifest b/dev-python/cattrs/Manifest
index 1ef9610f121c..c05a5d41d5b1 100644
--- a/dev-python/cattrs/Manifest
+++ b/dev-python/cattrs/Manifest
@@ -1,6 +1,8 @@
AUX cattrs-23.2.4_pre20240627-py313.patch 2699 BLAKE2B d57e952f73f866cb72d29568e58668de378a9b25042250a0a6c3af4b44674367edf13ff7de9c174100a7ecc308456f2785d6a31ad09dc30621d870356f58c694 SHA512 e234afaa0e73d14a5bc4712afe9838f06e7aafe8f1e9660d2ae4b08d450b9e72de6fe2da808a98b80324cad16124ae998f56e26b13c7bbee9e7cd1d1ae2757a6
DIST cattrs-23.2.3.gh.tar.gz 612120 BLAKE2B a227cc50cb23a76931562f17444fcfb4a5532cac74f80b478a8abb6d113cbb0a06c471c3ca7ee256f74640486464762f4a13387ccfc1cd144cfd1a9bfecddd8e SHA512 76a75ea0893bb1549dd5178436c4823ae5b918c16f0d8195203c48e894438ec792cee77698d783f7e43c07445c46a6041a309c3d3bbcadcff95d9c4079e3d622
+DIST cattrs-24.1.0.gh.tar.gz 428347 BLAKE2B 21bb94de02b6fce1c456e0d66dbd38defdd1171d4eb815e92ddc9777b12a108e099a5ce0dce4e51c1175cc1771d517ae0d201ac7ff537fbddf2329dce6f88f51 SHA512 879fd9edef39ad325237439915aa2d92c346c9896d463a4c3835335c3b9fb8bc572834a7d7731ccf6b805e59dec481cfdfed50ae8d4899fa31118b6ac6926c1a
DIST cattrs-6290cacdb7f9d195b4f96ce0ab036c8eebf35d94.gh.tar.gz 426769 BLAKE2B 61851be04434e55d627aac6fd73d72d9d4d8a150bedb6110f4b99068dd58ed29fd23ff083c595eb508b144546d8e4d1e926831dc51985775773ab86a86d98815 SHA512 f1034ae0c57a0618c6568ebac0696928e125121431e965c0ceeda82070a21b448630e3188cc03a8d7a44447126a4a2623b8604ef856a89268e1c0802761d89b9
EBUILD cattrs-23.2.3-r1.ebuild 1798 BLAKE2B 70e936341c2184d9ac278fa09c8918e9a6f88e74803f20689afff78e00648a4ad07f0a822f862294fce2b7316565a5b3390119b9613385e0fef9693392672976 SHA512 071c341a7cb952d7b4e0d44f056a196c82a236078def096716faba86f74eb70b94cced234aac929b631a4dba471aa64d830236eb1bdb77a8e7806264f02c6c99
-EBUILD cattrs-23.2.4_pre20240627.ebuild 2775 BLAKE2B 6f4b681cbe0f3cc589592ff573f055fe4900282204d3a042bef9fee43433302ca8ba5fd0a4f029f1e302f8353017e051d85b176e7cf39fc6169b2e772b07e422 SHA512 a06f57fb52617d865078746229cc9e7a02337d3e6c35860ebec1585d7c5788a9571e1b3cd5b610cd5ebece3f093a239ba990c1bdd4c2bdb6165a0cf82ef252aa
+EBUILD cattrs-23.2.4_pre20240627.ebuild 3178 BLAKE2B e7b8a136728e246ed7b018ab0dab642bd21a7707420f79a88619855f978cf14518a45e4007b92429bb44577d2dbf8eee2b49bc8f55e60ae39057ce9b0ec13869 SHA512 cf54c418d306d0414d2bd6462a02b22673de23aacf3085469327a9c94c08f3841a53363bbc4a23849913606bd66e9587ebf1f9001f37c51596e360ed63dc50b9
+EBUILD cattrs-24.1.0.ebuild 3073 BLAKE2B 83bf63623c8bb93791bcf6f8deffa7c79d975d431b2b7d91c79a116dab67c0ce22dda69b4d8d5c3c417defc8c55e56039346716727e70e7836d65a96b2b52677 SHA512 f45fb4f2b4563b6e75db738149a2eff067f32630975b84ce4dd76dc035c925def8da4697698cc2da5c712c327aad0161ca57c4686683c905d8d0427cb4ae8ff6
MISC metadata.xml 347 BLAKE2B 94165f2a8e62f3dc7e195f872944300ffff5ba23b9a7e6c30c18d61bc469ea8ff9b70e516f854bfc52d55a0fd27daff0df58145e34bfe26dbcde8070b8a22630 SHA512 5bb37b39b9574256358a623cff942a95162f5f9dcb32ddf28bd167504c7619be54488fae10044a5c765291f8fa28a5aa346973365dcca867be0eef4e232a4999
diff --git a/dev-python/cattrs/cattrs-23.2.4_pre20240627.ebuild b/dev-python/cattrs/cattrs-23.2.4_pre20240627.ebuild
index 92b15ea9501b..69ded594038b 100644
--- a/dev-python/cattrs/cattrs-23.2.4_pre20240627.ebuild
+++ b/dev-python/cattrs/cattrs-23.2.4_pre20240627.ebuild
@@ -73,6 +73,15 @@ python_test() {
tests/test_preconf.py::test_msgspec_json_unstruct_collection_overrides
tests/test_preconf.py::test_msgspec_json_unions
tests/test_preconf.py::test_msgspec_json_converter
+
+ # tests need updating for attrs-24*
+ # https://github.com/python-attrs/cattrs/issues/575
+ tests/test_baseconverter.py
+ tests/test_converter.py
+ tests/test_gen_dict.py::test_individual_overrides
+ tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl
+ tests/test_gen_dict.py::test_unmodified_generated_structuring
+ tests/test_structure_attrs.py::test_structure_simple_from_dict_default
)
if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
diff --git a/dev-python/cattrs/cattrs-24.1.0.ebuild b/dev-python/cattrs/cattrs-24.1.0.ebuild
new file mode 100644
index 000000000000..f517b1a20aca
--- /dev/null
+++ b/dev-python/cattrs/cattrs-24.1.0.ebuild
@@ -0,0 +1,106 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Composable complex class support for attrs and dataclasses"
+HOMEPAGE="
+ https://pypi.org/project/cattrs/
+ https://github.com/python-attrs/cattrs/
+"
+SRC_URI="
+ https://github.com/python-attrs/cattrs/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.54.5[${PYTHON_USEDEP}]
+ >=dev-python/immutables-0.18[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.11.4[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.4.0[${PYTHON_USEDEP}]
+ test-rust? (
+ $(python_gen_cond_dep '
+ >=dev-python/orjson-3.5.2[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/python-attrs/cattrs/pull/543
+ "${FILESDIR}/${PN}-23.2.4_pre20240627-py313.patch"
+)
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # requires msgspec
+ tests/preconf/test_msgspec_cpython.py
+ )
+ local EPYTEST_DESELECT=(
+ # these require msgspec
+ tests/test_preconf.py::test_msgspec_json_unstruct_collection_overrides
+ tests/test_preconf.py::test_msgspec_json_unions
+ tests/test_preconf.py::test_msgspec_json_converter
+
+ # tests need updating for attrs-24*
+ # https://github.com/python-attrs/cattrs/issues/575
+ tests/test_baseconverter.py
+ tests/test_converter.py
+ tests/test_gen_dict.py::test_individual_overrides
+ tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl
+ tests/test_gen_dict.py::test_unmodified_generated_structuring
+ tests/test_structure_attrs.py::test_structure_simple_from_dict_default
+ )
+
+ if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_preconf.py::test_orjson
+ tests/test_preconf.py::test_orjson_converter
+ tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides
+ )
+ fi
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ tests/preconf/test_pyyaml.py::test_pyyaml
+ tests/preconf/test_pyyaml.py::test_pyyaml_converter
+ tests/test_converter.py::test_simple_roundtrip
+ tests/test_gen_dict.py::test_unmodified_generated_structuring
+ tests/test_generics.py::test_unstructure_deeply_nested_generics_list
+ tests/test_unstructure_collections.py::test_collection_unstructure_override_mapping
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= tests
+}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 993090e0af63..7a14bedfc234 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,7 +1,9 @@
DIST cfn_lint-1.10.3.tar.gz 2418034 BLAKE2B f889112d5572401dd5333d1a9edcb277c6150bc58ba8d6e64322d4eb732be706386b795cb4abb4ec7a03855394b7c95f1f7048d2cd499fd2717f5cbe4458ee32 SHA512 b81a8afef2c2b5fcc3e9e5557908bd6510714421cae9e0a1319019ca23ba41b904e69888b9f84dcc5f612dfacf745071a79251c773b816b9e7d7b347e4e26586
DIST cfn_lint-1.11.0.tar.gz 2414804 BLAKE2B 211dc6e9e7ad3e2ae9821753b5f1f5932fe74b9c89332e3463e58799cfcd19b7f5dbe3ff3323b26624652a2debd2e62aa135fc17c6253b32d24e88512416c3e0 SHA512 a2783d09461d4e480fffe3190aa00648568996679e0ea491ce2472276ad3bdeae3bea3fbb70d1d3e866d2b0cee18743a7b4b4163fae3db42175daaa9aa7769be
+DIST cfn_lint-1.11.1.tar.gz 2415408 BLAKE2B c164f6cd520e4106ff9cfaaffdcb66860c3e66060aad484a488f22a304c56c5a365389e63f948d647e37e10ead5f6c8e5bb435c842377e4db122805d7bab218c SHA512 c8295874345b2a561e521b732031558ff4d1de11fcd912940955301f0c4d1923d11d7d8f2cf5a90c3c540d3b28dbcd9f18fb01778fa9678e3fe6722d732d4014
DIST cfn_lint-1.9.7.tar.gz 2519610 BLAKE2B a454027a85bb55770b91ab4d801ffad807a2b9200e88872e2149485bb17196e050e0eea02db9be6bd705f7b427d825b5510cd0e78ff4d0db2cefa988be138782 SHA512 b6fff3b56f78b85d7335d33fa93e41003311c60f008ce56ae3f373ec32b2105ad40bc68210bd15ee88cc4bcb9f6cd61bfb1367773ff870cc4ec1807aec011100
EBUILD cfn-lint-1.10.3.ebuild 2176 BLAKE2B 07cacdbe24678c647596829bbfba09e70569c2b1f575c318581364c7e6cfe505cc12c0e4fe4174073e51aa123d2d5066189ff5058a008591b68b707cf36ca841 SHA512 97011ea77add065c2ff78d5cc6ced93c9e1251ee5da063afb7c957e2dde3639421e331ab31ef20571409f7f167bb4102bdbda8a4d463363c7ea34b1130ebfca6
EBUILD cfn-lint-1.11.0.ebuild 2176 BLAKE2B 0204895222e1591f9f275af74dcdac3435fa5a6cdf34c46242e63829e40b9f2fcd493db355f11454df539555da529321ebbfff2a7326c9f0a0f40beb8cbf6c43 SHA512 b82cada00e1b5238ed40b0ea35fc3a1f84f3deced456412abcd668b46aa99e29c3a88091cd0252188afdb6cf0fed38846124bf073ba3c794d934dce3a14ce46a
+EBUILD cfn-lint-1.11.1.ebuild 2176 BLAKE2B 0204895222e1591f9f275af74dcdac3435fa5a6cdf34c46242e63829e40b9f2fcd493db355f11454df539555da529321ebbfff2a7326c9f0a0f40beb8cbf6c43 SHA512 b82cada00e1b5238ed40b0ea35fc3a1f84f3deced456412abcd668b46aa99e29c3a88091cd0252188afdb6cf0fed38846124bf073ba3c794d934dce3a14ce46a
EBUILD cfn-lint-1.9.7.ebuild 2173 BLAKE2B e5d36838ac6fdbef143deed68652896c380d7d3a143a0c6f9b5e4efd38283f98a50f8169bbedba9fe826c1c306b56efc0f7f28c1a911cb85305748f996127c1a SHA512 262134549b6fa7a30a83feeed58ea5cfbb45a1f778b116238f5603c2e4e22243b5d63b2ce979c05a8d21990f3887e86dabc28f5ff08edb36cb44f2b866e53c3e
MISC metadata.xml 583 BLAKE2B 9f73e2b92e5cfa2ad59f5c8e5d91bdd3aa9eba3fa722b93b388cffea42020db7e7441bab5749432812934a4514d3e9104e6d897e1d115afa5ed237757bd48c03 SHA512 1866a349855ae4e248498b7aabd6ce4c4e10ea58731df4bfa13500f61dc041da6dbd7420e7d6a78fad46d5cf00bd7ef2d0c4c7d6819a21b3a5031b0d49588a19
diff --git a/dev-python/cfn-lint/cfn-lint-1.11.1.ebuild b/dev-python/cfn-lint/cfn-lint-1.11.1.ebuild
new file mode 100644
index 000000000000..086f03ea08df
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.11.1.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/deepdiff/Manifest b/dev-python/deepdiff/Manifest
index 93dcfdc07995..f6818a6efce6 100644
--- a/dev-python/deepdiff/Manifest
+++ b/dev-python/deepdiff/Manifest
@@ -1,3 +1,5 @@
DIST deepdiff-7.0.1.tar.gz 421718 BLAKE2B b6441b9c035db0cc6e4fa83811999e8a83b3faed2ea95bcbdad158486e583ea9d707595d2342f83d0c25f6a5c086a8070c714253e2db09fcaf43de1616d46cda SHA512 facc15beb82744a1b8baf29e0d8f06625e8d4ee4ed7ab5f1b131ad9d44134215651d1c6b19493c83532f612d81752df14aec2dbccc73cb5b994e0bafcaf5bbc2
+DIST deepdiff-8.0.1.tar.gz 427721 BLAKE2B 0725a87ef17f9e1984594ccca7d954d608cfa0a6ea2c17b03d679bf5cd67135a1c5e3f21d749c18f1f91a5537e9ddaf179fb5b0a5ea135776415f5c0d82be274 SHA512 240662fb3e2408383fae4f6d4e5707357285e0058828d754dd09a94d1ccc29b854381a542dc2042842c79a57307b02d9ad009cc3106b35b0058612fabc0bcf96
EBUILD deepdiff-7.0.1.ebuild 1222 BLAKE2B ba4e525840a21fbbfe6127134ec6f5fac8125e048193ec65883297776132cabecd81a29d2cd146b38885bfae923c2a855b8d0fb50c951a726796760ef921461d SHA512 e2b56bc6e8d6ce2fe67dd4195f018eef90d1d736d7abd2fe1c2cf5ce041b7e885bfdb8f096a16e1fe3f236eea57b4531d2c4422366662b8d8f70dfe2d3ae0eaf
+EBUILD deepdiff-8.0.1.ebuild 1516 BLAKE2B 7e8fdef4c9721c4e44d473ad4782d9c72c6f23c6825e62147dc60a542a6a8a323a54ef18d617c85b4aea7b5dc562d66d1a4337b942c5deb424ce71803c9e9039 SHA512 b3bd523059d37428f02adb65d5fac857aa810d4dffb13063a95333e0ee2725d4bfeff64859ec7314d50bbe8f285b029510c50752cd78ac4c0fab21be7809d286
MISC metadata.xml 485 BLAKE2B f26f45bd1e750536952bcedf941166ae9ed39bcaf5bd2377102fb9546f8cdca8bfe23f137fa71fc1c05adc6b602e4831c96c712f27cd45eed80801aa6d1f4daa SHA512 1b8cf1dfd77b6dcab39b1cc3385e3d1b371ac6e9074167f2ba8e43333410e671a760c25a6a4496cf45fb023243a644d15b213824bd6a33c39991ef251cc3e3da
diff --git a/dev-python/deepdiff/deepdiff-8.0.1.ebuild b/dev-python/deepdiff/deepdiff-8.0.1.ebuild
new file mode 100644
index 000000000000..f86520659dd2
--- /dev/null
+++ b/dev-python/deepdiff/deepdiff-8.0.1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2023-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="A library for comparing dictionaries, iterables, strings and other objects"
+HOMEPAGE="
+ https://github.com/seperman/deepdiff/
+ https://pypi.org/project/deepdiff/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/click-8.1.3[${PYTHON_USEDEP}]
+ >=dev-python/orderly-set-5.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+"
+
+DEPEND="
+ test? (
+ >=dev-python/jsonpickle-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23.5[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:==:>=:' requirements.txt || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # benchmarks
+ tests/test_lfucache.py::TestLFUcache::test_lfu
+ # requires polars
+ tests/test_hash.py::TestDeepHashPrep::test_polars
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # changed exception message
+ "tests/test_command.py::TestCommands::test_diff_command[t1_corrupt.json-t2.json-Expecting property name enclosed in double quotes-1]"
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/freetype-py/Manifest b/dev-python/freetype-py/Manifest
index 9eb794f4e143..22b447e9e135 100644
--- a/dev-python/freetype-py/Manifest
+++ b/dev-python/freetype-py/Manifest
@@ -1,3 +1,5 @@
DIST freetype-py-2.4.0.zip 832493 BLAKE2B f5753b2cd29aa4441cd2eed5ff421815b543826cdfb6984ad8953377f6497bcd915128a7bf5b40ceb8060257624a75e5e0262276d892139b288da424553d77c1 SHA512 f9ddde5c9a96f75df96b13f7d021916b748c625c876b4f752fe28d93c1a5ceffea514e120f3f9a98955b89bb01d9892b1c38a3cee79737c0fb61a857c055b012
+DIST freetype-py-2.5.1.zip 851738 BLAKE2B 0dcb5b277a536a07bb232a9cf7332727166fe6724cba32b185ca85649fa7503654464797b9fcf514cd6d4c6260692f4ecf83a043c330f100c32940b4ff4d0fe2 SHA512 aef857c96080486f3ec06b0d246c86c6d5eccb3f85743e25944da9bcaa632e0e084b2e711a58ad510b1715cdff562eb063fc04ca2b1c2a70981df0373991d64a
EBUILD freetype-py-2.4.0-r1.ebuild 599 BLAKE2B f09d03f57f7785b704dbd25ece4eed95d795edcd66372bc26097bc0ea2f14339c54c591fc95fb726d5bc61c19a66bd35aa67aa8c3987bc16d45a93058203e8b4 SHA512 359af9c27160f4637b4039568c8dbb28c7e2ddce91b7dbd71b3ea7a584d703aae4898ffbe8f6cd6912815c87fd40001335a7e9b04def3dd23386f0b3b0e1217e
+EBUILD freetype-py-2.5.1.ebuild 683 BLAKE2B c6f573ad52dce9db90d4f65c8c0626115649ad21f81a5516005eb3087b929bfb2f264666be53881d5ade9d0772aa7b4792328d635c1359671a233bc830bdc69e SHA512 63ad2ef9e556be5d7382aca0e043256e2f44137c75697b1e0648154b74966a18ac4d0a6d0f528d38db1a87caff13cc4e55f1494550f6a939047bcd9fac445afb
MISC metadata.xml 374 BLAKE2B 0dfeebfa1061be042992b7c7df62dcb1404abe06436ad7be1debb6aca79b704ad0acce719859e748e55bfbe644d2be42d3f67e80e4a77b3d7b7e0643f7749c1f SHA512 078ccf09f2bcc80a8b7cbea6da3f05a89ad1552fa08908cc2ad52ddaea023f8370b47c8afb436ef226f6b65cf99d20914a11db7c60c4dba68c3edbb4c7728191
diff --git a/dev-python/freetype-py/freetype-py-2.5.1.ebuild b/dev-python/freetype-py/freetype-py-2.5.1.ebuild
new file mode 100644
index 000000000000..4017152792da
--- /dev/null
+++ b/dev-python/freetype-py/freetype-py-2.5.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="FreeType Python bindings"
+HOMEPAGE="
+ https://github.com/rougier/freetype-py/
+ https://pypi.org/project/freetype-py/
+"
+SRC_URI="$(pypi_sdist_url --no-normalize "${PN}" "${PV}" .zip)"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ media-libs/freetype
+"
+BDEPEND="
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests
+}
diff --git a/dev-python/gmpy/Manifest b/dev-python/gmpy/Manifest
index 53f98b7b532f..d09727e89187 100644
--- a/dev-python/gmpy/Manifest
+++ b/dev-python/gmpy/Manifest
@@ -4,5 +4,5 @@ DIST gmpy-2.1.5-py3.12.patch.gz 1817 BLAKE2B cbea3a9c662d52c5bfddb82ab5e920474a5
DIST gmpy2-2.1.5.tar.gz 261709 BLAKE2B 50958868866fadc49c97534780fa491fadfaaea902f3fd4bd51f4e76a94602a6d030a1ee6685aac742e25b5fbe4865e1419307f7215c8fb553b166761d63607a SHA512 92e16359ee1df63faaeae4a3cbefe8cdbbc576d8eda377f08d59f12b70dfe9337a299686e85d1efee6c2f5b41fc4583643fecc68ea38a500c7f876c56fc169e7
DIST gmpy2-2.2.1.tar.gz 234228 BLAKE2B 80188c6abd30ee5b5ebc4d233d3d97dd78be7f9d21d0649429e87b23d3e6d8b5b9269c792d481f24bd3b43d28e012bdd64ee6bb5d0137e3ac759742c845186c1 SHA512 2a3dc011295a373e10455e1f133aa3063cff24cdac0151cee9f29ce5855c3e44c3e3aab61bf13c11c9df1147b9183c6c387db1cb4dcb270b9dce1a9cb521f5dc
EBUILD gmpy-2.1.5-r2.ebuild 1340 BLAKE2B c2766d29db5f879c09162038f18ac5ffeb15faf5f1a0dde37f5919f1c185cf58081e07a2ff1788e92ed83220f06a7a2c281c3539d5b66deabb69ee873114e7e6 SHA512 b491f37914e6d7dc9a37cb06338bf0b903067b537e6bc65c8a922e8a2a3ff7cb7d7097c5d7f2c22a9016cf8fd133c4de0cb9a3ff360ff497c7119939faa3fa98
-EBUILD gmpy-2.2.1.ebuild 847 BLAKE2B f79fbc6592b654d8f5971c5e34696927118e6ee5b7fe79a6967ef38a85e060c3f380ee95039c18def0d3cd9a0fc65c16aa5749b603b5626664db285f6ddc41c4 SHA512 39c3e19cc1cb723c66fb4fb03a244ca4e6beeec2da59619ccac638be8e8abcd8a24902b5de55275afd2863d650c549ff71aeab96f945125d19bc56426d7300d6
+EBUILD gmpy-2.2.1.ebuild 859 BLAKE2B 226e0950db1256272a3e469646bd2971a19024549e62cd5cb6b8dbc6f04505b6b9f12ccbce39859a0697128110feb88bdcb45449c56afc21f7cf6dba95be2d9f SHA512 9980b83389b1a1fa695f99df7b31ed3ef07a1ba1813aba537c4cf18d278d3b60d5aa87b5fee2f3657da333fa94d73f9c56a052c4bbefdb38168b783ce9f651f6
MISC metadata.xml 687 BLAKE2B 9cf9e1c3dad11819000600a2ce28b5f140101cfa37553df7bf07edeb8513d7b8d80b15d561e37ca960a23d3470fc7f83608f9163d46b54fe7c41782302c53963 SHA512 eb1aacdf09d56ac73a1ce37d4562987c900f658bc517ccb6bd34cafefdf9a790d0e0d4318f70b57d68c5ec0c2832d0960b2bd619002fe690f484cd2702b77f79
diff --git a/dev-python/gmpy/gmpy-2.2.1.ebuild b/dev-python/gmpy/gmpy-2.2.1.ebuild
index 129514138749..1506e6bce11c 100644
--- a/dev-python/gmpy/gmpy-2.2.1.ebuild
+++ b/dev-python/gmpy/gmpy-2.2.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="LGPL-3+"
SLOT="2"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
DEPEND="
>=dev-libs/mpc-1.0.2:=
diff --git a/dev-python/jsondiff/Manifest b/dev-python/jsondiff/Manifest
index bb72ef438bbb..60e16610490e 100644
--- a/dev-python/jsondiff/Manifest
+++ b/dev-python/jsondiff/Manifest
@@ -1,3 +1,5 @@
DIST jsondiff-2.2.0.gh.tar.gz 22672 BLAKE2B 64af3c3f0aa9c7c6380af30ae303c230a04ba02d9e97d25b46348134312ea53d869e74c24a1b0d72983d731dda6d74a3fee3d89df6e9a6ef083321fe9b501ec3 SHA512 a1da92a1a38047947c2ee6057c641930c1b141889f992723c250a4444871170e2b10c892595a3bce026339b1d03c91d157cdf918fb36d4b916131bee5db969e5
+DIST jsondiff-2.2.1.gh.tar.gz 22715 BLAKE2B 598d999d6d2dd9a3a6abd8b34145420b2ee9c6b5bf4a686e1c4fe605d68c3ee588efda4db0a0127a13f10e4639b43661f297e83a314ee8a0c12e9408c8dfdcbb SHA512 e10ed1f1b11b877223936586c1805cb8b8ae3f487f913f4d33030ae6e87a06a54f1f9adfb2b50485d72123f2feb6b40aa019851a6c9fd83575cc0f0b814484f7
EBUILD jsondiff-2.2.0.ebuild 827 BLAKE2B 7eb175b25ddd85feec668edfd93ad3f639c5f795ad279700531e98c2027e76aaf9bb98e202c31272af2a91aff3a82641da842b9279dee83dd53f144ac6029d00 SHA512 08bf3da86c1f7ad683963cdfe2f9dab04cc958cd07249216061f650bd146a189275203d6d2960ead9ec14cdd1cb7a9fa2e3a929c5d639942dbc77814f76417d1
+EBUILD jsondiff-2.2.1.ebuild 830 BLAKE2B 06855c48602171ab6a48d8e40fac0615d30274401c2c284b7454307bb71dc7dc8cb0c8f7bbbe957fe3a86b6608485e0b0a3e88a2bca0978a5d5a3a1462632bea SHA512 de41c4a480a657b920151e8f60f7d9730298092596cdd7aaf9e07ae442bb5d80d497383b1096f372aa006e0a4f280176d3b885e15cc15cc9288139e0490c1758
MISC metadata.xml 561 BLAKE2B f11baa5f35a81e4fd69adde15b5a39d728e8137a112ef7c794e8d008d5de829ab5a333fcfdc2e1dd2156d91bb779db204a21c73eaad424e983c7865b33a81785 SHA512 238d5cedd70a0fd887f6007cbee0e11faf4b574b346fa91c66ee6d93e06571364fb80a0fbc13fe347f34e217e7589f5b61984c5ab0ead465d5e725d1792af4c5
diff --git a/dev-python/jsondiff/jsondiff-2.2.1.ebuild b/dev-python/jsondiff/jsondiff-2.2.1.ebuild
new file mode 100644
index 000000000000..1f6ddda4fc90
--- /dev/null
+++ b/dev-python/jsondiff/jsondiff-2.2.1.ebuild
@@ -0,0 +1,41 @@
+# 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="Diff JSON and JSON-like structures in Python"
+HOMEPAGE="
+ https://github.com/xlwings/jsondiff/
+ https://pypi.org/project/jsondiff/
+"
+SRC_URI="
+ https://github.com/xlwings/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
diff --git a/dev-python/mpmath/Manifest b/dev-python/mpmath/Manifest
index aaa2fbd4869a..865713bbaeab 100644
--- a/dev-python/mpmath/Manifest
+++ b/dev-python/mpmath/Manifest
@@ -1,5 +1,5 @@
DIST mpmath-1.3.0.tar.gz 508106 BLAKE2B 9d4eebbbb6788dd3ee45c8c30068ef3512043dd09ab626cbaf69b0f6bdf057a6e8c53c34e3dda7627db923f0d536a0bebf83916d8942f4dde9546bb8e0046f33 SHA512 a68028150095d743eae9669a0f70cbe6b7bcb4d27dfad6b1a96575f0885ec7306459a2a464117bab18779883ee8b4293502b4bd0ebd8672767e1d08d38f8b202
DIST mpmath-1.4.0a1.tar.gz 2063946 BLAKE2B 0c6a86b1c8dc9addc3eb82586d4c4182ae6a9318cbe45d4fc699b9fbf9539774ae30f11c2d50137a3aa16ed4b0c328990483c2ceea812f86751cfa3ce419de5c SHA512 260afb20faaa949b89054ced3b039e346086d47c6ea018c8d226a0c42d9aa8f792611fe709c894a0df6930a0703dc8cfcf814432eba7ac977a821effd8879903
-EBUILD mpmath-1.3.0-r1.ebuild 838 BLAKE2B 42d6393a012f3b9988178df3e4bd67ba2b404456d39cb597366239a58401ac1c9008252345ba2e679426f47ef5b3029a61a607c0bc20203316747f8dfd033e5c SHA512 f3ae1ea9545479b59a84fdc0db5cb43b32676345ec3a89421d5a5aea9514311a3f3712a75376623127e395af8fce3ca6ae07dc7f88d642777a7f073042a53218
-EBUILD mpmath-1.4.0_alpha1.ebuild 1730 BLAKE2B 174fed814ccb2fad8b89d1c40bffe659bb64d2360dd5499f476a1cfa9e5972974d7075ace1186d503589ad5305254b492975e63f8a7356839ad14c7e02a4cd97 SHA512 3ae0de4e8d8977bfed52b81dd0762265a2edfcd95d6f9e08a9bbb86bbe6df3d608b97f4aad9aedecbf411e4b57d3b6dcc2f09d01ef2ccc7c5b0e8d0504cb45cc
+EBUILD mpmath-1.3.0-r1.ebuild 850 BLAKE2B f94f4f57d1ca8e71f46ff147c434144a51a68819ea30f4c386ea5ea66f0a21d4be2bae6f7115579bd93272bb07dc3f96852eb04a07443b7eda45c6b4a5f0820f SHA512 38e41b3be0a9609164afa719ea01920936bf99321ccbfb6a47a78fac59c69f6581823bf640e250fc9b2824e059f55b7d22cc96e6e4f190a6ed1ec708452baaba
+EBUILD mpmath-1.4.0_alpha1.ebuild 1743 BLAKE2B e0506eef734c4a57e27a2c907f7f534521c56d453b2abf1b416863e5de9f77d66b900d532ac54a3f25b6bb9d5625bb04181b0ed93e3a6749681e5ea5011f8fa7 SHA512 9d35ba1f8bb6852a1e5d152f51f7602cfc30ded414b14641d5787b247d1398a4919b7e2dd51b76cf9a7f210d3b0baee88cb9927f2d56074ad12569585702faf1
MISC metadata.xml 624 BLAKE2B 8526d1f6329f8cb4d2ee5a9ae73dc5bf3861adce5beaa6a0aaf5abb918de11ad1ab0c5c206331bd4eaeaa7bdeda0c6ea6a2007492825be0545caa121f41abd6c SHA512 dc4c6f5e82ce735e70bdc1bbfbc01f9c1d62c2d46c54a173287a59b90882aa09945da39bb41e7b28f6d0066851e2adf07f0b7033aa77cc5620491864e89f188e
diff --git a/dev-python/mpmath/mpmath-1.3.0-r1.ebuild b/dev-python/mpmath/mpmath-1.3.0-r1.ebuild
index d32b7d9264f8..de3fe7fa680e 100644
--- a/dev-python/mpmath/mpmath-1.3.0-r1.ebuild
+++ b/dev-python/mpmath/mpmath-1.3.0-r1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
distutils_enable_tests pytest
diff --git a/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild b/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild
index 9af7399b58f0..14b8e5ae5d42 100644
--- a/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild
+++ b/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
diff --git a/dev-python/orderly-set/Manifest b/dev-python/orderly-set/Manifest
new file mode 100644
index 000000000000..fb878e74355c
--- /dev/null
+++ b/dev-python/orderly-set/Manifest
@@ -0,0 +1,3 @@
+DIST orderly-set-5.2.2.gh.tar.gz 21460 BLAKE2B 5660d7550d5c79351fcc66e611ba776d6340d0fc1f3a5344f308cbc00a7b2c47045a1cfe8c6ac76c7976a65b17953362e91d60d87a7fbb02f36a5d67f074dfe9 SHA512 d480677c04f32e69cc9361dff383765fe2c9df971ad77cdcbab3b650a0bad27b9bd99144cd406d5185440d674bc838acb1c2ba3a4b115fcff2eba34c19589637
+EBUILD orderly-set-5.2.2.ebuild 815 BLAKE2B d89b929940823f0fe3ac4521faf7bb5e0313acb7cd9fd091fb2d5c3eee96afe3770c5c10de5ba3e516eb620af448ade74f631647803459e0d53326accc04788b SHA512 0386b9d624402ba2ca6075ab4c1991997399922dd00ebcd7ca1c62105603623b894cb33422b38ba98d7adc9df1acd882db32d1a5a13bc5cd46e021a7367e970b
+MISC metadata.xml 377 BLAKE2B 5124dc952172cd06b437978c6a582709313744a032c6c71a784965478120dd203f66846de0b873306230f40666ec9754f7e5eb48532258c0c7a6e31fe9c615a9 SHA512 6125fc7aefee5dbd6c97edd0922e530746f1d4618173d9c3cdc582c92f8a092037c7e69b4084cea47ba81cc7e38e8134dedf60dd3aec6f2dfe305be39519434c
diff --git a/dev-python/orderly-set/metadata.xml b/dev-python/orderly-set/metadata.xml
new file mode 100644
index 000000000000..7d4c31d1ff3b
--- /dev/null
+++ b/dev-python/orderly-set/metadata.xml
@@ -0,0 +1,12 @@
+<?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>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">seperman/orderly-set</remote-id>
+ <remote-id type="pypi">orderly-set</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/orderly-set/orderly-set-5.2.2.ebuild b/dev-python/orderly-set/orderly-set-5.2.2.ebuild
new file mode 100644
index 000000000000..8b0953ce7def
--- /dev/null
+++ b/dev-python/orderly-set/orderly-set-5.2.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 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
+
+DESCRIPTION="A package containing multiple implementations of Ordered Set"
+HOMEPAGE="
+ https://github.com/seperman/orderly-set/
+ https://pypi.org/project/orderly-set/
+"
+# incomplete test directory
+# https://github.com/seperman/orderly-set/pull/3
+SRC_URI="
+ https://github.com/seperman/orderly-set/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unconditional mypy dep for a test that is not even run
+ # https://github.com/seperman/orderly-set/pull/5
+ sed -i -e '/mypy\.api/d' tests/*.py || die
+}
diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest
index 95d932c22acc..80653640f5ec 100644
--- a/dev-python/pikepdf/Manifest
+++ b/dev-python/pikepdf/Manifest
@@ -1,20 +1,7 @@
-AUX pikepdf-9.0.0-py313.patch 881 BLAKE2B 4975d95cdffe2874a9c8e85a80e3906935b5a92ee935713fbdc3fc794cd603902984dc513fcc1ac38070f78579d037e534689cd43bef9ab11d44569270f24660 SHA512 4d43874e79e6b7a88299519e0b496db70d07968a388d012000a03f5bf53f15f9d1a539f64d6e150f9921bfc2bfc98e5c45ffb91e3c3a6b35130a0fe7ce1d2925
-DIST pikepdf-8.11.2.tar.gz 2870263 BLAKE2B 6cf3666baca5d20b125efc3f6d8cfe7f96b9334b8a39da67fe3f4185f41232d8a18bf902f21bfe33e4259b7fb61e7dc462a247c76bf4564a3bdf0ea987119d91 SHA512 57bf5d16aaf9367eef9407f7f406a5ee74f2060d276ab861379c74c2193d02b2e3cca0925ee29813791bb36fae8dbbba4a9b16a7f4c2d19c67c21bbe7bb3f80f
-DIST pikepdf-8.14.0.tar.gz 2870612 BLAKE2B be0fd5a8d48fccc7695c45acc28cbda8252529d0687197c261e077e8c3a63e3597e504bf2aae2ab09648c0f127228d517bfa630ed77ea90bc28c8f3463854779 SHA512 f0e073df952cd850e0529fa798743a09f249a998450be1393b109b21850cf86b80c8813b55db778dc4e265df48af7619fccfac30ec9195c3ac724b8c7724e858
-DIST pikepdf-8.15.1.tar.gz 2870723 BLAKE2B 958bb2a417e2f1c9e5e4448b47cdadffb10e82841cc8173503881a86e92e85c05f800a8ad6936f32ee53e6f7a8cd62ee9e28e251de1f32a7cdce055139ec5fa3 SHA512 ae6b0b8bdf7e395943caf503f1d498861bd2719185e6382a522b8c0d4e38413a1b070e912367852bc5735d29b8453d05c57ff384ede825830722470445a534f6
-DIST pikepdf-8.4.1.tar.gz 2853305 BLAKE2B 2298514159db17ba49b8e2fa2407d60de50273bea111ece704251d99193bdc4c8ed77f624237a49c3f4f129e3b14ac4ddd1006cf3024bcbf822bc5523e0fee35 SHA512 6989e8a3888f612e453ec1ea8425c0ca35ccfee19ae5e8c32df136ebc3fbb7728d9fe5beaacb4e392a20c9037a1009fc8f8d53d73634427fb0df9103626e34fa
-DIST pikepdf-9.0.0.tar.gz 2868331 BLAKE2B 6735938fd2c0e8bb6a5fb40896350a2caa2ee20f8982010574a4e682c8ff19d01bc6773d30f78e2d4a5d58496de9dfa8fe9584f1c954205ed4832753addbd373 SHA512 15248d523cebdfbfcd7a5f8b6144b7dc8371612bd77ba3847af1ce626b5d87780911346d3c61bfe7cef545a19f1863c1a4048b35ace56f2cb62dcb962272829d
-DIST pikepdf-9.1.0.tar.gz 2869103 BLAKE2B 39750e280caa2393b69a5c3c841afa9cbb0d5701a20ae9ca4e9a57088cae47e2dd33ca8b605b0b096df131b578a4cdc71eb8696d12b2817426b35a8b13668460 SHA512 0fbf1ca151b6a234cd23a5148c9e8e4e033c5da5c935b4786fe6167555da7016c55b124dd2f9e8dc414c9782829f38412227820229a8459cc9dbe03220620fae
DIST pikepdf-9.1.1.tar.gz 2869514 BLAKE2B b196a61d599db1355695d40ac69e09ea7a020cb10c246685792b7f6f7854b5dce63dd2f675a542fa256ac713c7a7ce49ba7ddd248fbe901fe267641df399ca74 SHA512 0b3c2c89d9226212806791e00470c2c64147f0738d26bfe9c5288414cf515760213e3cdc70a62ef3f53a0ee43b7d8e2cc0076f14fe22bdbac2ff50e0a8984164
DIST pikepdf-9.1.2.tar.gz 2869865 BLAKE2B 74b64d628f12a5335a9dfbe2e15fbbd0a39e266100bcc8b33e94c954aab91150f46649b181bf049cd1084a6d2412ea9485cc57d4d6a23a4678a5ea55ebbb7357 SHA512 676d68f05a506b6aa69e1b01d03164de6731d17b48d2cd4b123221ebe27aef04a75d458c897c53d504a0b3aa7d0bc3e78aaf707a3cfdcdf8d31ee5e537188bd3
DIST pikepdf-9.2.0.tar.gz 2905389 BLAKE2B f38335075db489007eba582d57a72fd5fa268f89105dc528131c14d53547673cbffa96b376ba27e9b04dac3bab6770e80bb0ac865e7549eb1c00e4ea4eb3ba27 SHA512 0e2c5e647ccb24691c11eeb41569a8f7250fb8ca55a5c76aa1ae250c9fc49cd2bfe73db6f599928b14d46a678ef71b6e6f430e134d9891139176b90a2f853e17
-EBUILD pikepdf-8.11.2-r1.ebuild 1731 BLAKE2B 91700e32086a03e75469137f0fb3e274bfbbe312c073dc6826bce7fbae9a3e2ce35ca4ba1e5eaf9c5922d380785dbdbae216f7da03e127b084f88c0ebeb5cb75 SHA512 5a6be61c7de31a7e7eecab18f3e63cf07229055c49def8bac7e9668110b4e813a612180e75392aea44ac1e8dbd5dfea1f6dd98b83d8d067039ee95496fe1778a
-EBUILD pikepdf-8.14.0-r1.ebuild 1732 BLAKE2B 9b5b7f80f737a410c8909b068403fe314ac5eee0e6fadcdd1dce1c60283188e39f61cc3484bcd972dba64747674a3f0adf06487a58d45b3fdd263f5e2f8e1e93 SHA512 0faa15815c04cd3b60584fcd421c19ef0e2688311ea051916456bb19ccaab2b0d950d1095f752615bfa818703ad24541eab8d7b91263569761f7a2f6b1fa0809
-EBUILD pikepdf-8.15.1-r1.ebuild 1829 BLAKE2B 3d6a77e3f8934c2902e669307dff6ba003bc0cf9f0bef5f1e9fe7255c477dc67a548ad6f836f1d0e133c7d254dbb65de597c7388a31fffe619a2e5ebfbf0938f SHA512 da843f22d717fb2d2815a0e8620c7f20e3ac317be63de75d72026fa9eabce8bef70b79a534812e38206b4e28aec1cfbaf5da388c81c36d66e36b0938b9b57097
-EBUILD pikepdf-8.4.1-r1.ebuild 1627 BLAKE2B 721f4410738d2c5d43de3d0923654a657a21da7950ecf7f47bfb918d647fe3cfa39725451ef0431a80480114e62bf3c6d941f0f8f03418c1c5a0b979049f6b72 SHA512 c6850e079ae3baff68fcb5ee0bdbac6fb60985ca3026084c5cb94f17d884531261f12ecfc24a043b61bc652205ac22dd2cf7c1359a39f84ae6f087666ad7b3ce
-EBUILD pikepdf-9.0.0.ebuild 2073 BLAKE2B b344d8d1b7e60f47ceb882079054665412f20d5edcc8c8f8bf1cc98db252b4aec48d24d77d3ccb92483268d3e9b7d53099265dd6ddca5429a24ed98b6d929593 SHA512 06759b8cdb78b6655bddeb1313bf99d951a591ad323957bf6b32066f49fb8794acf1e169ac1d6c9a3da024b9a20948b3cf945b8ffe877939f35f6b33873601a8
-EBUILD pikepdf-9.1.0.ebuild 1951 BLAKE2B 6dab9a829f96bc2c0c806942a745c1879e2005b602094fac0cb515d03404b964c6219dcff480dbc15422f470e89e06b35f6295cbcd953109a5f63a8d537a95de SHA512 dd634dd434d3e1fecd21775dfe33175ac9dca6062d6ba57264eba6fa55628230656c22f3d50d136f29e71f13af853ffb88ed0f4b412a128d5f5c2b8ec2950e0e
-EBUILD pikepdf-9.1.1.ebuild 1945 BLAKE2B 9333885e6217e81815c919785075e08967e2616e2cf480eded864bff0c1bd68291d649b6097f534572c295c41402dd153fec9e24ee04d52110598e39120cf79d SHA512 22dc6a44f40a4df4ee4acc2eb4748f565a593dc2dfae38f08fb1fbc60da11d6b6a8653de531042b996539da8eee126492dc218cd1c3f03ead83e52e78c2a0b9b
+EBUILD pikepdf-9.1.1.ebuild 1943 BLAKE2B c4cdc0ff7964d4f015913107f256ef51c5bf2a7baf787d80754f556cd05b2102b3f7bee538be5081a1bb4f7675f1c08696a736749eb2084415f134ec982beece SHA512 1ec577c0648aa625963b1d97a2c1a73d5d53be8eaa183c439aa6bdc6e7fa843517bf5ac851e2efd7c0c28b0c919f837b253c3e0044937f07aa4bce52fe975044
EBUILD pikepdf-9.1.2.ebuild 1951 BLAKE2B 6dab9a829f96bc2c0c806942a745c1879e2005b602094fac0cb515d03404b964c6219dcff480dbc15422f470e89e06b35f6295cbcd953109a5f63a8d537a95de SHA512 dd634dd434d3e1fecd21775dfe33175ac9dca6062d6ba57264eba6fa55628230656c22f3d50d136f29e71f13af853ffb88ed0f4b412a128d5f5c2b8ec2950e0e
EBUILD pikepdf-9.2.0.ebuild 1951 BLAKE2B 8dcce346d498b254e30a9de0715b6412ee6c2cf1adee252e3f709b137417db6e227e37a86414708c5620041ec474d17e5c8e3895e23a05977f82735ca0dd5e8f SHA512 3a4801545d05bd635f454bad961f4add8a1523993a4f58534efedf77114f0570060f13f091c6c9ffa18955b579f1d3ef74a461e665dadaac31141a7d94ed54f8
MISC metadata.xml 687 BLAKE2B 07c94d9dac5323202f955fd9c1e5a6fc78518a0a6f703c54c73b70e774900c41a4823beb3f8be7068d83878d1e60df0d7e30efd53bbc1ba31019477de82b092f SHA512 1be3ec00342e8079363db0c57f75ae88bd05e873869fbbb27442e9fe98eb6917c55b4eaf03ed22c4c44ca3aec9b84839cbc254202460a3266bbc42ff8f0f84b3
diff --git a/dev-python/pikepdf/files/pikepdf-9.0.0-py313.patch b/dev-python/pikepdf/files/pikepdf-9.0.0-py313.patch
deleted file mode 100644
index d0415daec69c..000000000000
--- a/dev-python/pikepdf/files/pikepdf-9.0.0-py313.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 6831e87bb94322b7ca53964a57ba575861b5916c Mon Sep 17 00:00:00 2001
-From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
-Date: Wed, 19 Jun 2024 18:35:06 -0400
-Subject: [PATCH] Fix tests with Python 3.13
-
-The exception message changed to:
-```
-property '' of 'Page' object has no deleter
-```
----
- tests/test_page.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/test_page.py b/tests/test_page.py
-index 3e5cc345..05455a93 100644
---- a/tests/test_page.py
-+++ b/tests/test_page.py
-@@ -293,7 +293,7 @@ def test_page_attrs(graph):
-
- del graph.pages[0].Resources
- with pytest.raises(
-- AttributeError, match=r"can't delete|property of 'Page' object has no deleter"
-+ AttributeError, match=r"can't delete|property( '')? of 'Page' object has no deleter"
- ):
- del graph.pages[0].obj
- del graph.pages[0]['/Contents']
diff --git a/dev-python/pikepdf/pikepdf-8.11.2-r1.ebuild b/dev-python/pikepdf/pikepdf-8.11.2-r1.ebuild
deleted file mode 100644
index bbd2842097b5..000000000000
--- a/dev-python/pikepdf/pikepdf-8.11.2-r1.ebuild
+++ /dev/null
@@ -1,67 +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
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.7.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- media-libs/tiff[zlib]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p timeout
-}
diff --git a/dev-python/pikepdf/pikepdf-8.14.0-r1.ebuild b/dev-python/pikepdf/pikepdf-8.14.0-r1.ebuild
deleted file mode 100644
index 342767bd45fb..000000000000
--- a/dev-python/pikepdf/pikepdf-8.14.0-r1.ebuild
+++ /dev/null
@@ -1,67 +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
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- media-libs/tiff[zlib]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p timeout
-}
diff --git a/dev-python/pikepdf/pikepdf-8.15.1-r1.ebuild b/dev-python/pikepdf/pikepdf-8.15.1-r1.ebuild
deleted file mode 100644
index c889e6cca1d6..000000000000
--- a/dev-python/pikepdf/pikepdf-8.15.1-r1.ebuild
+++ /dev/null
@@ -1,71 +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
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="big-endian"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- !big-endian? (
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- )
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- media-libs/tiff[zlib]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p timeout
-}
diff --git a/dev-python/pikepdf/pikepdf-8.4.1-r1.ebuild b/dev-python/pikepdf/pikepdf-8.4.1-r1.ebuild
deleted file mode 100644
index 96db3b598947..000000000000
--- a/dev-python/pikepdf/pikepdf-8.4.1-r1.ebuild
+++ /dev/null
@@ -1,61 +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
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecation[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-9.0[lcms,${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10})
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pikepdf/pikepdf-9.0.0.ebuild b/dev-python/pikepdf/pikepdf-9.0.0.ebuild
deleted file mode 100644
index 0ffb2c3ac36f..000000000000
--- a/dev-python/pikepdf/pikepdf-9.0.0.ebuild
+++ /dev/null
@@ -1,79 +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
-PYTHON_COMPAT=( python3_{10..13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="big-endian"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- !big-endian? (
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- )
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- media-libs/tiff[zlib]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
- tests/test_image_access.py::test_image_save_compare
- tests/test_image_access.py::test_palette_nonrgb
-)
-
-src_prepare() {
- local PATCHES=(
- # https://github.com/pikepdf/pikepdf/commit/6831e87bb94322b7ca53964a57ba575861b5916c
- "${FILESDIR}/${P}-py313.patch"
- )
-
- distutils-r1_src_prepare
-
- sed -e '/-n auto/d' -i pyproject.toml || die
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p timeout
-}
diff --git a/dev-python/pikepdf/pikepdf-9.1.0.ebuild b/dev-python/pikepdf/pikepdf-9.1.0.ebuild
deleted file mode 100644
index 83a7ea2c9370..000000000000
--- a/dev-python/pikepdf/pikepdf-9.1.0.ebuild
+++ /dev/null
@@ -1,74 +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
-PYTHON_COMPAT=( python3_{10..13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="big-endian"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- !big-endian? (
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- )
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- media-libs/tiff[zlib]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- sed -e '/-n auto/d' -i pyproject.toml || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
- tests/test_image_access.py::test_image_save_compare
- tests/test_image_access.py::test_palette_nonrgb
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p timeout
-}
diff --git a/dev-python/pikepdf/pikepdf-9.1.1.ebuild b/dev-python/pikepdf/pikepdf-9.1.1.ebuild
index 78302009aa2c..e104fff9ae40 100644
--- a/dev-python/pikepdf/pikepdf-9.1.1.ebuild
+++ b/dev-python/pikepdf/pikepdf-9.1.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MPL-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="big-endian"
# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest
index 46655e3318fb..cc4c9723455e 100644
--- a/dev-python/plotly/Manifest
+++ b/dev-python/plotly/Manifest
@@ -1,5 +1,7 @@
AUX plotly-5.23.0-numpy-2.patch 3564 BLAKE2B c45b31eaf9a6621780ef8a85b6aed4190bcb26c950554c2bf9c2e8bcf8c158952dfb917b8625bbd61a2a1837a871e9d8a3ae37b387c9408ceeaa655384b11e98 SHA512 deb96bdf408c58edfdba724708e527653939d353ecdeee1b9a8494eee313dc3a2ac21680349b20738b58744fafbaa2e5ac3dde2b6150ed4a1e61407a9222ea4b
AUX plotly-5.8.0-fix-versioneer-import.patch 541 BLAKE2B 51ff6cbab8d9124243445f758aa4b976b7c26e1d3ce633e943bff133b81c0a7587feeb9d5e98a63f319c6afed8dc06e06fafe765ffd51fec245215c849fb4955 SHA512 db4743e538dddfe66e4c9c766698844af4d09c68188afefe92b6419adfe7cc0b1e9c1266d702d590b0b8dfc14bffbc8f08262ead0bff4dae3b5c71fa1259a4b9
DIST plotly.py-5.23.0.gh.tar.gz 31606651 BLAKE2B f34d1df464cac49ab834674be8815b97535d8f59e4263d8f68d82f2c2c52976a26b13fe9275f4a90fe0c0848449807dcd8342c0e5309d4b39d61b39cb31d8db5 SHA512 96573bf5952b29a75d2c87029c1041f05d08f4f891d63d5999372d64c211abc5982308dcfbf7590981cd0666ae84ccbee8c9a22e8e2b97571fc8c6a4e634cdbc
+DIST plotly.py-5.24.0.gh.tar.gz 32084853 BLAKE2B 87371902c0f654a16e0d2b97655614b99e05511a298839b244d3147bd2330b70275d1235f4b75eb3bb1dc13289e4d6dab71ec68710d59f1cec467e05e998c609 SHA512 42071af552f666dcc98efe4995a156212971ca92a6320e18861c6e804ab5cd0641c8b772958d3080780aab48e779fc02a13c327c18b36c5077cd137f59f86aff
EBUILD plotly-5.23.0.ebuild 3259 BLAKE2B b2c27f40284de1ef4c198048fa51827c4d369ea28c63635be36e8ff3654f96ebeda984fe88b1d2b594cd3210fb30b5e3ac2f172e43f50c5a07975dd22af1c153 SHA512 b692b4ba981169be69be3f255d54fcfabcaafcd5f84a9543131001663628923c4d6433b73133f1038869ca1abf7b1a652f663470fab5db8e67b63e6a5122e65b
+EBUILD plotly-5.24.0.ebuild 3312 BLAKE2B f1af97627771591ddd9cf23dfbb302bc4afa1eb37d389f7850242e411829e1df2bc304fa58507b3cdd1a65b668eb72f547ff02b0c032679793b843319ee01db0 SHA512 8d02865e8505ca4dab0d3316d4a3ca637f68b3ae9fd277bf17bcb650112c5b51958d85199dfd6d56b8805132fe12e05c46877eea7bba0138f76a056af087d229
MISC metadata.xml 627 BLAKE2B 453adb04f4caba9790fe5223635245c8bca7ca5c6dc1930f09537045580b88b5fa1649e47158b13be6cc5cb09b4479a47690e37ef13208b47a95f82d14793a91 SHA512 a5183e9d217d1312e8d383ccb4ade66b92575492b6c8ed8987e3af18e9e456836b62b2d572ce62f9e01aae47b4a2bcbd12f79b4bb6acabfe69c2b63b20315bd3
diff --git a/dev-python/plotly/plotly-5.24.0.ebuild b/dev-python/plotly/plotly-5.24.0.ebuild
new file mode 100644
index 000000000000..1c80d1f50eae
--- /dev/null
+++ b/dev-python/plotly/plotly-5.24.0.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+MY_P=plotly.py-${PV}
+DESCRIPTION="Browser-based graphing library for Python"
+HOMEPAGE="
+ https://plotly.com/python/
+ https://github.com/plotly/plotly.py/
+ https://pypi.org/project/plotly/
+"
+SRC_URI="
+ https://github.com/plotly/plotly.py/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/packages/python/plotly"
+# The tests are not included in the PyPI tarball, to use the GitHub tarball
+# we have to skip npm, which means that the resulting install will
+# unfortunately lack the jupyterlab extension.
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/jupyter[${PYTHON_USEDEP}]
+ dev-python/jupyterlab[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/shapely[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ dev-python/scikit-image[${PYTHON_USEDEP}]
+ )
+"
+
+# There are sphinx docs but we are missing a bunch of dependencies.
+# distutils_enable_sphinx ../../../doc/apidoc
+distutils_enable_tests pytest
+
+# README ends up a broken symlink
+DOCS=()
+
+python_prepare_all() {
+ local PATCHES=(
+ # https://github.com/plotly/plotly.py/pull/4622
+ "${FILESDIR}/${PN}-5.23.0-numpy-2.patch"
+ )
+
+ distutils-r1_python_prepare_all
+
+ # unbundle versioneer
+ rm versioneer.py || die
+ # Do not try to fetch stuff with npm
+ export SKIP_NPM=1
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # kaleido not packaged
+ plotly/tests/test_optional/test_kaleido
+
+ # plotly-orca not packaged
+ plotly/tests/test_orca
+ )
+
+ local EPYTEST_DESELECT=(
+ # kaleido not packaged
+ plotly/tests/test_orca/test_to_image.py::test_bytesio
+
+ # fails in non-isolated env
+ test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
+ test_init/test_lazy_imports.py::test_lazy_imports
+
+ # Minor matplotlib incompatibility
+ plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
+ plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
+
+ # TODO
+ plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json
+
+ # two subtests that require 'vaex' and 'polars' respectively
+ plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_from_vaex_and_polars
+ plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_with_hover_data_from_vaex_and_polars
+
+ # the usual recursion problem
+ plotly/tests/test_optional/test_utils/test_utils.py::test_masked_constants_example
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ mv "${ED}"/{usr/etc,etc} || die
+}
diff --git a/dev-python/pycares/Manifest b/dev-python/pycares/Manifest
index 9ea4711f0b86..c2c7e0774694 100644
--- a/dev-python/pycares/Manifest
+++ b/dev-python/pycares/Manifest
@@ -1,3 +1,3 @@
DIST pycares-4.4.0.tar.gz 821630 BLAKE2B c2bddc54db9cd6ba92d7c4fb3809609a8a3526bab68e4cf48f0fee2e7473828f70ca696be11b904e9c3f9241de8b13568cd0317c8cb305a4aca7356f1b74cfb5 SHA512 db387f21975d015e0fcb01972ffb018476d51331a7a49bb4c0bf23ccfa13dff3f8b9c21d5f11da8ece3018debf36b1cddea032ef860353203cf38ab2b3d01e8a
-EBUILD pycares-4.4.0.ebuild 1224 BLAKE2B d61c30786dc7365f98f6a917aed981ba285909632f9f6dac06bc340e79aa466e5aa9edeeeea6a5a6eba6177fcd5f955376a23ed737b7de79399a7529dc2ba896 SHA512 6247dba873a6ef6d1ce22371204c981b873f1a68c8c9a042bd956ad62b62bd8fda67431cdf4a92a452f755d5e183a946bb37c3cc9c7fa4424461267a7109fb22
+EBUILD pycares-4.4.0.ebuild 1250 BLAKE2B cd5644c38eb1ef629acf29b8b55145a01ce1c6155aba46c41d0351d5444518b4c2ed66bd187e8b60b07e33faceeea2566caabcc40c6f1832ea6eabd0e72e91e6 SHA512 728ab6ac95be3c03204f8f57c8f6f96ec58006f31931d44948b0b892667173286cf6b19e21569ab6f2dab8f1f2a332055b7503a70e3d9b660111db77ec6f00cd
MISC metadata.xml 444 BLAKE2B a68f545c6f704176b98ebb3665e2f56e4879016ea4ffa4f342954d568d6fe76ad67bcf9d521f694b8fc0f199bff50969eb646554fff4a78f8644ac44edda0cdf SHA512 fe893795f2031639d9fa27efcb8afbb5a3e0ac2eb2a05f0465391813d60fba07372633e40136ce38eb429bae95d1ae5dccecd0aba228537553524343133dd202
diff --git a/dev-python/pycares/pycares-4.4.0.ebuild b/dev-python/pycares/pycares-4.4.0.ebuild
index faaac6052fe0..3cc6a95b3491 100644
--- a/dev-python/pycares/pycares-4.4.0.ebuild
+++ b/dev-python/pycares/pycares-4.4.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="test"
# Tests fail with network-sandbox, since they try to resolve google.com
PROPERTIES="test_network"
diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest
index acfad228c99a..c53e2554d946 100644
--- a/dev-python/pydantic-core/Manifest
+++ b/dev-python/pydantic-core/Manifest
@@ -71,6 +71,7 @@ DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6
DIST pydantic_core-2.18.4.tar.gz 385098 BLAKE2B 6bea502397c327f38a000e9ea3b59b7d7f9fde5336562a081c6cdf88d92fe5e420eecec696ee432f1c6c5ec5dad8173f250897c4ae681a367ad28617724843f0 SHA512 01bdf79a79468e2a6a66f41830b98dc0adfb6d87b221e57e1da5a27b4068dea906aa987b9a7eca3bdc107e97e6bfa9ea164c527bbe2ceb683419ef147747b786
DIST pydantic_core-2.20.1.tar.gz 388371 BLAKE2B d8c66cddd93fe4a56a901e5f06fe86c0c87b11397567e5400bf89e5884e13c98d37bbdc42ccd0bdd67c552370c17ed26d9a7897303544a816022d8a47ee8bc18 SHA512 fb5362a07282a54be9cbcf0773b5492dc1773c71d96979586885d920d794b13860a32a8165e7b5e023f9f0f7a3c85aa5098dc66d6626d5d290d3ab63fa70453f
DIST pydantic_core-2.23.0.tar.gz 398665 BLAKE2B 4d62c6956f8309d8e03d3838dd9da7045b64f69836117b82bc0453ca2765053f37e8760076dcb9163729fcca7cfa36b2c7750031d4b5df7eda8234e99485c0f0 SHA512 84e7f5d8c2e1085575284d9d386194abe959b09c1b3bd6f16b79ac06b2a9104b52e01d1758f6a056590e138e2a33e73eaaf9539cb24a4ffbd1916e41cf8b81b8
+DIST pydantic_core-2.23.1.tar.gz 399302 BLAKE2B 36dbdb817ae44aa19572c85f380499ae60e5722863de728b5b67c11627b352ac9dd14120cbb471f9dbd3ba8e8ad20a0356d52e950d4d6df2b01996c3fa95f97a SHA512 d09bec6d1452a6cc6b947cea7744a49860bde00b9481c37dc5c72b0ba4426fa0cd6eb73e080cdc4d69c986094d5ad0c02171d23b3199ba7ad60aafe205bc2a97
DIST pyo3-0.21.2.crate 504574 BLAKE2B 1b8bf374d1b61e3e4bedce6344338126051a6d951ea87d258e5ed92d4c0e13b0202f2e7e56500277c54743dd16c9b4587f436cf2058567501c8a9ac7c6b6c17a SHA512 5f88cda423e82b62698a74ceaa31fc27e5c1f1d417928accddb2e00337d163fda622f774ae6e24c1cb73c467d6b01e9a2ba866e4454338b1fbfc892ae14ffc53
DIST pyo3-0.22.0.crate 535742 BLAKE2B 772a4f8b718bbec32faa3dac4cad07a5b452fb366280753c3316d932663bf367192483fb5cd0bd405321128e67157b982eaa89264685739a141e021f0f7e2b72 SHA512 44e0237fd3a8d4c7b082c48a5c8a52d8f4cc4673d134f680e29504bb46d870015fa210da34de4c1998defbcd4afdf2aaea4e148fbe093e4b2c8b0d064cd48da4
DIST pyo3-0.22.2.crate 538342 BLAKE2B faf347695117f9fe0ebe5cd7f6aa1b0dcfe718343875d6c06438046deccc1075f104d2a2413dcda41ae9827bc363aa147057b45968f6634f577a6a4510a4bb8e SHA512 e8bae09059f50ffe477dad44499cedeaf3a734665f0fd8e8bd4b44f48578d21e4bdb8d55ceea00c5a27da750761842ddf89cfcecdecb2e7a4a17ab192259be9c
@@ -170,4 +171,5 @@ DIST zerovec-derive-0.10.3.crate 19438 BLAKE2B 9f7df8a4e4a0b62ab25aed967b26509db
EBUILD pydantic-core-2.18.4.ebuild 3289 BLAKE2B b9449f3cb7c97c29db006b02d3d80f7dde78bc4907d9296ab524cf2052fed4e5139af9c0430552eb9ea586e670a7c4dba31d328e7b51fe1870deb47e2dfd58be SHA512 7d125b78b32cec6ce33932013b338107f8afe85e73b07f262bcd06fabe7bf34c388393d27d8c1c645dc372b8f5d65dc3fabe28827a61419435a47f2ab5c34a80
EBUILD pydantic-core-2.20.1.ebuild 2939 BLAKE2B 9cb79f9eb31432014884bd1b817fe95f2f53cf0e07f10b4f421750b3900e8e1580b10aa0c729e75a54d9a2b2cc1204b6115d5e1ead25db074823353e93065668 SHA512 49f5e96b79b2a5b00fbec93dbe24717c083e855d389facc90a73e076c6ca42c16aaa1d04564c8f1cb55e2a27ec1593a168bdc9c6e9f52f780eaae102cc7974cd
EBUILD pydantic-core-2.23.0.ebuild 3491 BLAKE2B f744b1c2afb5b6ef5b5e7780375ef6708e72f9bb26abc6ddeb1aa85e812b53c176c5d664a3472ac266e489808975ed950c095e086274196d179654b80f7d8839 SHA512 53240efa637d6414668d55d5f91c0b26e07ffd1f307767a723d90d004d8b1940197f121c90ef58f1a36a037302e1b0f6b0bfee854142b85e3e69c9a9b60bbf47
+EBUILD pydantic-core-2.23.1.ebuild 3513 BLAKE2B d6cc852c1829d88db41bb10fc94d640445db2c88396579e818a9dca1406b117bdc113fd5299239198d0f3df7a441cc919cc19ee73156a62e64cc7242faed20c1 SHA512 4f709fb86c1a909e5218c63e124d2b99eeafb9f32337feca54884b4cbb5b3dc43c0e68ccb10a6d8c9fb718be04f3cd2929c55f168a10d96b4dff55120d36c0a4
MISC metadata.xml 379 BLAKE2B ac0fa1abd0aac6436f234dfbfdb1517cdef2f7636c019a16257619d1a1a95a31b67061daa6606b47b68332d03bd213fa9bf67017b0e4af9733a26ab4828cf206 SHA512 7e3b5785628be025efc5360924e31a5a5becab941c9db255357b966dd5d3aca733e96485e92e78533bcde95379c59c36a601d4b407550c5ff1c649f09c3a21a6
diff --git a/dev-python/pydantic-core/pydantic-core-2.23.1.ebuild b/dev-python/pydantic-core/pydantic-core-2.23.1.ebuild
new file mode 100644
index 000000000000..6c5c58be8e4e
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.23.1.ebuild
@@ -0,0 +1,167 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+CRATES="
+ ahash@0.8.11
+ aho-corasick@1.1.3
+ autocfg@1.3.0
+ base64@0.22.1
+ bitvec@1.0.1
+ cc@1.0.101
+ cfg-if@1.0.0
+ displaydoc@0.2.5
+ enum_dispatch@0.3.13
+ equivalent@1.0.1
+ form_urlencoded@1.2.1
+ funty@2.0.0
+ getrandom@0.2.15
+ hashbrown@0.14.5
+ heck@0.5.0
+ hex@0.4.3
+ icu_collections@1.5.0
+ icu_locid@1.5.0
+ icu_locid_transform@1.5.0
+ icu_locid_transform_data@1.5.0
+ icu_normalizer@1.5.0
+ icu_normalizer_data@1.5.0
+ icu_properties@1.5.1
+ icu_properties_data@1.5.0
+ icu_provider@1.5.0
+ icu_provider_macros@1.5.0
+ idna@0.5.0
+ idna@1.0.1
+ indexmap@2.2.6
+ indoc@2.0.5
+ itoa@1.0.11
+ jiter@0.5.0
+ lexical-parse-float@0.8.5
+ lexical-parse-integer@0.8.6
+ lexical-util@0.8.5
+ libc@0.2.155
+ litemap@0.7.3
+ memchr@2.7.4
+ memoffset@0.9.1
+ num-bigint@0.4.6
+ num-integer@0.1.46
+ num-traits@0.2.19
+ once_cell@1.19.0
+ percent-encoding@2.3.1
+ portable-atomic@1.6.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.22.2
+ pyo3-ffi@0.22.2
+ pyo3-macros-backend@0.22.2
+ pyo3-macros@0.22.2
+ pyo3@0.22.2
+ python3-dll-a@0.2.10
+ quote@1.0.36
+ radium@0.7.0
+ regex-automata@0.4.7
+ regex-syntax@0.8.4
+ regex@1.10.5
+ rustversion@1.0.17
+ ryu@1.0.18
+ serde@1.0.204
+ serde_derive@1.0.204
+ serde_json@1.0.121
+ smallvec@1.13.2
+ speedate@0.14.4
+ stable_deref_trait@1.2.0
+ static_assertions@1.1.0
+ strum@0.26.3
+ strum_macros@0.26.4
+ syn@2.0.68
+ synstructure@0.13.1
+ tap@1.0.1
+ target-lexicon@0.12.14
+ tinystr@0.7.6
+ tinyvec@1.6.1
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.15
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.23
+ unindent@0.2.3
+ url@2.5.2
+ utf16_iter@1.0.5
+ utf8_iter@1.0.4
+ uuid@1.9.1
+ version_check@0.9.5
+ wasi@0.11.0+wasi-snapshot-preview1
+ write16@1.0.0
+ writeable@0.5.5
+ wyz@0.5.1
+ yoke-derive@0.7.4
+ yoke@0.7.4
+ zerocopy-derive@0.7.34
+ zerocopy@0.7.34
+ zerofrom-derive@0.1.4
+ zerofrom@0.1.4
+ zerovec-derive@0.10.3
+ zerovec@0.10.4
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Core validation logic for pydantic written in Rust"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic-core/
+ https://pypi.org/project/pydantic-core/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=virtual/rust-1.70.0
+ test? (
+ >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
+
+src_prepare() {
+ sed -i -e '/--benchmark/d' pyproject.toml || die
+ sed -i -e '/^strip/d' Cargo.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/benchmarks
+ )
+ local EPYTEST_DESELECT=(
+ # TODO: recursion till segfault
+ tests/serializers/test_functions.py::test_recursive_call
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf pydantic_core || die
+ # tests link to libpython, so they fail to link on pypy3
+ [[ ${EPYTHON} != pypy3 ]] && cargo_src_test
+ epytest -p pytest_mock -p timeout -o xfail_strict=False
+}
diff --git a/dev-python/pypy-exe-bin/Manifest b/dev-python/pypy-exe-bin/Manifest
index 0c3b5f6ac2db..84769910a2f5 100644
--- a/dev-python/pypy-exe-bin/Manifest
+++ b/dev-python/pypy-exe-bin/Manifest
@@ -6,5 +6,14 @@ DIST pypy-exe-7.3.16-1.ppc64le-musl.gpkg.tar 6707200 BLAKE2B 3d3a3d0c0fef3a69c6c
DIST pypy-exe-7.3.16-1.ppc64le.gpkg.tar 11038720 BLAKE2B 1a7aa31d9ec59a3aeb57c254d2b9efde9d02aba1663683999f1ebae95b2ad0c68a2fc8e4806420b1ad9f45ce4767f8e048b9607d1f124291770a99b423ae799f SHA512 5659cdb5a4a001d9c878670b0f5e7d06e6aa55d8fab403ab80a98e6b362bb8185b01fe4af092cc9042a1762ca52cc0ce81937c84240d08ebb84071cd860559e2
DIST pypy-exe-7.3.16-1.x86-musl.gpkg.tar 9912320 BLAKE2B c6a42ce64cfda1a148af49e0876b640fb3ecaa7e70b5d5b22e58b9796c11b0e4d9fb5536927b7b20b05b9eaa2210333cb1b1be81581483a21a7a3699e5721e01 SHA512 8964ece7482218e06ab65b790f8f1fcf15a94c270daa9a2381b35ae335717a02f0b32947578fa03f0905a0783cb5fcf3ef03cb87a7ceaa7110c8593e483a971e
DIST pypy-exe-7.3.16-1.x86.gpkg.tar 9861120 BLAKE2B b83fa9e3c3bbbd7c49ea2fdceabd7125e0db36ee20c2b71969833512f69070e07a1485ab830261f34e2571dbd48b9b65ffb580e9f8ae4b667626ca81b560c493 SHA512 eb2be6886126c675fc85458d34a0bcdd1da1415c843448e39d413b80d363698cb48b3b68bf8869b5ef898f0543966ab501bd4db545d7659705c279bf4de29ae6
+DIST pypy-exe-7.3.17-1.amd64-musl.gpkg.tar 12974080 BLAKE2B 965c086bb660e50c8c58a2c4ffdb9d762d7d99a4c2bc619af4c7b5916dce263170809f75af24f34f7ea8d60f4c1aea8dace5102493363e0fc4d55bd994234cf5 SHA512 731c5f4f9680466e848ee08e3e459773fef5d36622092b4479852aed3ef069a0a544a7711312b65b2c40e3cb96e56037301d09b51ec775842d67e8416ea0200c
+DIST pypy-exe-7.3.17-1.amd64.gpkg.tar 12881920 BLAKE2B ade52bb94ef78629ca6154b8e149e4cb1af72efae3c1f30217659532b68aac50e083c378d029c25f9ec5c6d7323467fcba91af1c1d1d9f6ba375669b2df9099a SHA512 4d4861858daa9046fb036cd489dd6a13e5490034aadc60bdc49e05a3edee4b95578a41b635bc3b95a7eb5ff59375585a44956914a9003765fab2585750118848
+DIST pypy-exe-7.3.17-1.arm64-musl.gpkg.tar 10977280 BLAKE2B fc56e03dc73a2c1881f6adcfa30eee3069a3ffc7b7efc77e85703bb831f2b183f794104f39934e78b29f4e1fea42f520200e456fe9902fe13efdfcaaba5dba67 SHA512 28af13342a8f0d9c435106b0f7c991ddaecdd995ff1f3c84cdc85ae78d69e6d7088e488776eb10f933aec20b0ce0522a2c4b2ef6efddff6fdab5a5e6c3e80d63
+DIST pypy-exe-7.3.17-1.arm64.gpkg.tar 10905600 BLAKE2B f6eafea6599d466f7acf8296ef59b3b2e8ca55b9dee69088dcd13067b3b0ceeca7baeff9ebf1b316b8db8f041046f9989c37b3ce26b194cce76e702fd4957872 SHA512 e44012949a4ac94b5d5b70577de531e0c52faed280c5c4666d2fb398f24458241117fa4844b323446e4df3801e2fa16fa252f729d25e5cd4ca5adc32a995dd21
+DIST pypy-exe-7.3.17-1.ppc64le-musl.gpkg.tar 6696960 BLAKE2B 805d8fb087b8123437fc1bda16c6686d36cf51a574e3a5dd2d245a42f5bc3574315875f84bf4cb88c9c388d1cd8879332d76913228619900643b4beb592efe87 SHA512 cb886d1f14cd01f53deb5a6f80d7ee0f0298722fd43c897970179165c8aecede86526f77ad185558e9bb2fe8384d88f16d1a75d45e50f1a4f35448c545fb4dac
+DIST pypy-exe-7.3.17-1.ppc64le.gpkg.tar 11110400 BLAKE2B b8e3f503f448226c7d59942281cb64fe4bd648a5777ec483de0f549221ddcf71f347f88b9c11070f8875657851e07cfdf4e9ef634e811c0a3dda664cd04543ca SHA512 e4e2f16e2eed8946a1ad07ba3d4ba8677beeda3731b46838a5284e6309b3966ddf8fa9992c4519b19797f633d2288d4f231fc41e992e83683de0ad7b239c5d22
+DIST pypy-exe-7.3.17-1.x86-musl.gpkg.tar 9891840 BLAKE2B 3391ad3558baa88741a38549e12666ee669d5949f234e104e5687001928aaf7836573192ded6342fd690337589da10d4f45389c02d15cf3bc10ebc4a7de2d12c SHA512 cf30b7c8f779317126ced75d84b383644a4d90cc65a9d2e75019dd68bb29079fdb0e96312c26ee3f7185f6c64e3a7a0c21d66fdcf18a5c68ce87936dd49d6043
+DIST pypy-exe-7.3.17-1.x86.gpkg.tar 9850880 BLAKE2B 08487e276cf616c5c9191a0a29cc6a297f9eab5ce8382d591b01e7da3239b4bef482bba1566b17ca85f3729b4d5ae6bef6d13940b5e7b1dcd9a7b03d7eaec2ac SHA512 70f6660321483361a1de6e5ccf2854daf892282858d2a0a00ce3055103d7f90f1788cea4b5b18913f11c17ce0f6c999551ee5374f897717d33eb06e913310960
EBUILD pypy-exe-bin-7.3.16.ebuild 1981 BLAKE2B 9a1fdbb307258d44bb18d872406426ca154e3a029e5e54a06d7b420bec290b08e7d2cc12ecad688b7b67b1c4b62781c91e2eea0af2c716bfcaec698c136f60bf SHA512 74ec12199918322c5b3f14a8ac974e82c2830670cd8c3302d05c247d1a2bd57419be2222216213837937a0c2007af4c99d470b8a29a2df4d3d3f7ad8dc5ab814
+EBUILD pypy-exe-bin-7.3.17.ebuild 1979 BLAKE2B 1a61227eabd91bf8c5c55ec2615c1aeb7387eac9495236ea79b16aae374d8b1751d8b412d4f0ee58e59b19f147f5770d399180adda80f359508ddd5a83c13db6 SHA512 1af9827ac1a1a6864f2adaed742491fdd364efb8cc91359daeabfa0dc9725e4ab679a06f8ef315745d87a8af9509a69860292a2347030211fa815a09ebe776dd
MISC metadata.xml 315 BLAKE2B da5ed341c55250028587ffb479a27b7ec31eb0f8bd0e11b8a98a374e23d989f7d5bcce647ca9c78cd12f64b6b83dd0568c4f3a992a6c8c5089c52cef9de87441 SHA512 ebe1c4d655c49fd20127dd240b603f1b99d67c0a6d21c7eb37bee48f4ec6bba50648816ea2b1b746af58fcf8de576d24fe355ecfa2de07ebaa0265ade2ea38ba
diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.17.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.17.ebuild
new file mode 100644
index 000000000000..c45dc2f35843
--- /dev/null
+++ b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.17.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils unpacker
+
+MY_P=pypy-exe-${PV}-1
+DESCRIPTION="PyPy executable (pre-built version)"
+HOMEPAGE="
+ https://pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ elibc_glibc? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86.gpkg.tar
+ )
+ )
+ elibc_musl? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86-musl.gpkg.tar
+ )
+ )
+"
+S="${WORKDIR}"
+
+LICENSE="MIT"
+SLOT="${PV%_p*}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+# sys-devel/gcc for libgcc_s.so
+RDEPEND="
+ app-arch/bzip2:0/1
+ dev-libs/expat:0/0
+ dev-libs/libffi:0/8
+ sys-libs/ncurses:0/6
+ >=sys-libs/zlib-1.1.3:0/1
+ virtual/libintl:0/0
+ elibc_glibc? (
+ sys-devel/gcc
+ >=sys-libs/glibc-2.35
+ )
+ !dev-python/pypy-exe:${SLOT}
+"
+
+QA_PREBUILT="
+ usr/lib/pypy2.7/pypy-c-${SLOT}
+"
+
+src_install() {
+ insinto /
+ doins -r */image/usr
+ fperms +x "/usr/lib/pypy2.7/pypy-c-${SLOT}"
+ pax-mark m "${ED}/usr/lib/pypy2.7/pypy-c-${SLOT}"
+}
diff --git a/dev-python/pypy-exe/Manifest b/dev-python/pypy-exe/Manifest
index 118fcd6f7c77..b604977d0dbf 100644
--- a/dev-python/pypy-exe/Manifest
+++ b/dev-python/pypy-exe/Manifest
@@ -1,4 +1,7 @@
DIST pypy2.7-gentoo-patches-7.3.16.tar.xz 5312 BLAKE2B b265dd7afee097ad66bacd9df01514eed6bb30afe19410b2594ee7c2d61ababc67e11c0dd0392a0b1f81e0bc609963cde044834ab24e67d007d101b8aa8052cb SHA512 0d0309f3ed7314f6d310b0e34eedbbfdcc5a75d9bbd59b9071e567968bb10925549435776fab5bc7ec97e2b3422921dc282619427f930d89df6c7bc98ea701c1
+DIST pypy2.7-gentoo-patches-7.3.17.tar.xz 5324 BLAKE2B 866f172a6df6f0e94a98c611b37ae58635623e33a47619a5e44658d3908337a3f9029ff7de6997f760c3f1679fc83bfc6ddfb66852c492a581b3336b5eec3ed2 SHA512 6ce5266d0748f3c18a5546aa2bd8479ecb45923eb7df8a140a195e7f7b44999b9167ffdd44f7fd789ddd3a62cd77cb917863b0144180a1127befce1f290e650a
DIST pypy2.7-v7.3.16-src.tar.bz2 19843601 BLAKE2B 9c37a03561fcdf742eccde760f6cadcbc2e1b140dd6d3e67856cc072e0c3db85759c398f590ed44fb4e4ed2f5f7745d5589cb9a95cefcbec79f3b1be6c4956e1 SHA512 131635433e53d4d86730a3daf1ad81799a7dd1117511618cc2607ac7234ce3aa5c833400df09cbd3376a391e125d6d2ec3471f120f81a6d53700f5c3d087793c
+DIST pypy2.7-v7.3.17-src.tar.bz2 19907140 BLAKE2B de62ebc4e8102867effdecddca64c19c40458b112a6a56ac0c95247047b9f5437a5da68dffb51c14c21bce463c2ca489c6e6a4f86e8cc597b57df2eca707081e SHA512 82b2b9dbf0ea32c405ddc53d98a3a7a153f494d286e8719a0c40960168aadc0f49c3b313416488338f7f51c8fdb58120de41b1d47a8c8eda7db6d4ec4273b4eb
EBUILD pypy-exe-7.3.16.ebuild 4149 BLAKE2B bf785cb4c08173ea4f3a69b193b7c7945b6ef24471665c5fc7226c68b73a9083f444acd7511ec2db881980623fc9847126a8de57ff8514bd17b3997787a60929 SHA512 68db0c972d9e62985689186f59a1e1ef46402ed651a518a5438e82683fd189810460c737953ef9b14b76a4ddc7db9e588f6d53ced55e11b551c65ab40153048b
+EBUILD pypy-exe-7.3.17.ebuild 4147 BLAKE2B cec68f9b8ce62ee53e6a73f5d1050dd8cea9b8856ecb78e4f0c862209d0e4a7c1471eb3cd8de1b4aca3f290d9053f197c659e98e83cc004ac9bd4910ad6fbd83 SHA512 2088539e52ba4a8f3bbc8846db084866bccf1f944a9b842689c118d54ce28b1c6fadf5c48c2433c54933cf9e5081b1ca24b1ea264c05258b71ccb2423b5b1818
MISC metadata.xml 572 BLAKE2B cfcd1422ec312338fd876bc4747a962ac3c4bd06e28a3891489b065fba4c7be2daa6955f51e8136d9b8cf7b68bb7eb887b6f419ee9fd626ebd6db204acb7995d SHA512 c79250d47e3d5c99c2c903bfc185449cc41f88e2b923b8eae1401e83c0f23fa1a12ad85f50b6e25844e805e543ae897ccf43185a1bdf9f992dff765249e55bc1
diff --git a/dev-python/pypy-exe/pypy-exe-7.3.17.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.17.ebuild
new file mode 100644
index 000000000000..1d0e028d87c8
--- /dev/null
+++ b/dev-python/pypy-exe/pypy-exe-7.3.17.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+MY_P=pypy2.7-v${PYPY_PV/_}
+PATCHSET="pypy2.7-gentoo-patches-${PV/_}"
+
+DESCRIPTION="PyPy executable (build from source)"
+HOMEPAGE="
+ https://pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+SLOT="${PYPY_PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
+
+DEPEND="
+ >=sys-libs/zlib-1.1.3:0=
+ dev-libs/libffi:0=
+ virtual/libintl:0=
+ dev-libs/expat:0=
+ bzip2? ( app-arch/bzip2:0= )
+ ncurses? ( sys-libs/ncurses:0= )
+"
+RDEPEND="
+ ${DEPEND}
+ !dev-python/pypy-exe-bin:${PYPY_PV}
+"
+# don't enforce the dep on dev-python/pypy with USE=low-memory
+# since it's going to cause circular dep with unhelpful error message
+BDEPEND="
+ !low-memory? (
+ || (
+ dev-python/pypy
+ dev-lang/python:2.7
+ )
+ )
+"
+
+check_env() {
+ if ! has_version -b dev-python/pypy; then
+ if use low-memory; then
+ eerror "USE=low-memory requires (a prior version of) dev-python/pypy"
+ eerror "installed."
+ else
+ ewarn "CPython 2.7 will be used to perform the translation. Upstream"
+ ewarn "recommends using (a prior version of) dev-python/pypy instead."
+ fi
+ elog "You can install a prebuilt version of PyPy first using e.g.:"
+ elog " $ emerge -1v dev-python/pypy dev-python/pypy-exe-bin"
+
+ if use low-memory; then
+ die "dev-python/pypy needs to be installed for USE=low-memory"
+ fi
+ fi
+
+ if use low-memory; then
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_configure() {
+ tc-export CC
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --no-shared
+ $(usex jit -Ojit -O2)
+
+ ${jit_backend}
+
+ pypy/goal/targetpypystandalone
+ )
+
+ # Avoid linking against libraries disabled by use flags
+ local opts=(
+ bzip2:bz2
+ ncurses:_minimal_curses
+ )
+
+ local opt
+ for opt in "${opts[@]}"; do
+ local flag=${opt%:*}
+ local mod=${opt#*:}
+
+ args+=(
+ $(usex ${flag} --withmod --withoutmod)-${mod}
+ )
+ done
+
+ local interp
+ if use low-memory || has_version -b dev-python/pypy; then
+ einfo "Using already-installed PyPy to perform the translation."
+ interp=( pypy )
+ if use low-memory; then
+ local -x PYPY_GC_MAX_DELTA=200MB
+ interp+=( --jit loop_longevity=300 )
+ fi
+ else
+ einfo "Using CPython 2.7 to perform the translation."
+ interp=( python2.7 )
+
+ # reuse bundled pycparser to avoid external dep
+ mkdir -p "${T}"/pymod/cffi || die
+ : > "${T}"/pymod/cffi/__init__.py || die
+ cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die
+ local -x PYTHONPATH=${T}/pymod:${PYTHONPATH}
+ fi
+
+ # translate into the C sources
+ # we're going to build them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-0/testing_1
+}
+
+src_install() {
+ local dest=/usr/lib/pypy2.7
+ exeinto "${dest}"
+ newexe "${T}"/usession*-0/testing_1/pypy-c pypy-c-${PYPY_PV}
+ insinto "${dest}"/include/${PYPY_PV}
+ doins include/pypy_*
+ pax-mark m "${ED}${dest}/pypy-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy/Manifest b/dev-python/pypy/Manifest
index b7ef555ba2fd..43ccda9404a5 100644
--- a/dev-python/pypy/Manifest
+++ b/dev-python/pypy/Manifest
@@ -1,4 +1,7 @@
DIST pypy2.7-gentoo-patches-7.3.16.tar.xz 5312 BLAKE2B b265dd7afee097ad66bacd9df01514eed6bb30afe19410b2594ee7c2d61ababc67e11c0dd0392a0b1f81e0bc609963cde044834ab24e67d007d101b8aa8052cb SHA512 0d0309f3ed7314f6d310b0e34eedbbfdcc5a75d9bbd59b9071e567968bb10925549435776fab5bc7ec97e2b3422921dc282619427f930d89df6c7bc98ea701c1
+DIST pypy2.7-gentoo-patches-7.3.17.tar.xz 5324 BLAKE2B 866f172a6df6f0e94a98c611b37ae58635623e33a47619a5e44658d3908337a3f9029ff7de6997f760c3f1679fc83bfc6ddfb66852c492a581b3336b5eec3ed2 SHA512 6ce5266d0748f3c18a5546aa2bd8479ecb45923eb7df8a140a195e7f7b44999b9167ffdd44f7fd789ddd3a62cd77cb917863b0144180a1127befce1f290e650a
DIST pypy2.7-v7.3.16-src.tar.bz2 19843601 BLAKE2B 9c37a03561fcdf742eccde760f6cadcbc2e1b140dd6d3e67856cc072e0c3db85759c398f590ed44fb4e4ed2f5f7745d5589cb9a95cefcbec79f3b1be6c4956e1 SHA512 131635433e53d4d86730a3daf1ad81799a7dd1117511618cc2607ac7234ce3aa5c833400df09cbd3376a391e125d6d2ec3471f120f81a6d53700f5c3d087793c
+DIST pypy2.7-v7.3.17-src.tar.bz2 19907140 BLAKE2B de62ebc4e8102867effdecddca64c19c40458b112a6a56ac0c95247047b9f5437a5da68dffb51c14c21bce463c2ca489c6e6a4f86e8cc597b57df2eca707081e SHA512 82b2b9dbf0ea32c405ddc53d98a3a7a153f494d286e8719a0c40960168aadc0f49c3b313416488338f7f51c8fdb58120de41b1d47a8c8eda7db6d4ec4273b4eb
EBUILD pypy-7.3.16.ebuild 7116 BLAKE2B fe3d6e44dd3f162f7f4bc8ce3365f518db8b83573dfb0755617fdedce637540515e0f759498a1dbfc91b456db5b51461004a4a191f97153b6f2cf58f93257df8 SHA512 8a59e6cd8cf2a6839d9e831541ef49bbac6f8988636a37c2e0a38b42c5f49358114c7fb6f70c88abc2c71d4c1eb6ee42bdb087bd98c47ebd6aca907eacaa24f0
+EBUILD pypy-7.3.17.ebuild 7114 BLAKE2B 9d5674897956695bc63dc808ef2601cbd6456a2b8c97d7736a3d994725af4efc3b9b58dfbec36115e9d26e30bdc1906c1e40c60f28cadbe96977e2822dd2f226 SHA512 52d8cccb070de415cdcc425ea36a4a93a17233899c6a99393592600e0ed06b78d784fa230f369f02f6a05694fa4719ebfa8a3fe3a5cdab53bb2f4b6e831ddf7a
MISC metadata.xml 622 BLAKE2B 91a78c7c4050edc5e4f42da93c5233fbaeff11133708650ed5c29c1e44eb4b038679f4ab3f87f38f5e61eb89107def4bde09cd5d73e3dd1638b0e9565febde97 SHA512 75bddcaf5fe5c33523a78b5bd9b66a8d97b61d50f11ca8765cf7ecf4e962e88586476d1fdb8b7d33e9562a5cfd4b3fc446ccf07f62d25fe38f04c58485c8654c
diff --git a/dev-python/pypy/pypy-7.3.17.ebuild b/dev-python/pypy/pypy-7.3.17.ebuild
new file mode 100644
index 000000000000..6b22f2365c0c
--- /dev/null
+++ b/dev-python/pypy/pypy-7.3.17.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils
+
+PYPY_PV=${PV%_p*}
+MY_P=pypy2.7-v${PYPY_PV/_}
+PATCHSET="pypy2.7-gentoo-patches-${PV/_rc/rc}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python 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"
+# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")'
+SLOT="0/73"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 full-stdlib gdbm +jit ncurses sqlite tk"
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ >=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV}
+ >=dev-python/pypy-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?]
+ )
+ dev-libs/openssl:0=
+ 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_compile() {
+ # copy over to make sys.prefix happy
+ cp -p "${BROOT}"/usr/lib/pypy2.7/pypy-c-${PYPY_PV} pypy-c || die
+ cp -p "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/* include/ || die
+ # (not installed by pypy)
+ rm pypy/module/cpyext/include/_numpypy/numpy/README || die
+ mv pypy/module/cpyext/include/* include/ || die
+ mv pypy/module/cpyext/parse/*.h include/ || die
+ pax-mark m pypy-c
+
+ # verify the subslot
+ local soabi=$(
+ ./pypy-c - <<-EOF
+ import sysconfig
+ print sysconfig.get_config_var("SOABI")
+ EOF
+ )
+ [[ ${soabi#pypy-} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
+
+ einfo "Generating caches and CFFI modules ..."
+
+ if use full-stdlib; then
+ # Generate Grammar and PatternGrammar pickles.
+ ./pypy-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 pypy/tool/build_cffi_imports.py!
+ cffi_targets=( pypy_util ssl audioop syslog pwdgrp resource )
+ 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-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+ done
+
+ # Verify that CFFI module list is up-to-date
+ local expected_cksum=-7df4eab0
+ local local_cksum=$(
+ ../pypy-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)),))
+ 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_*.[co]" -delete || die
+ find -type d -empty -delete || die
+ fi
+}
+
+src_test() {
+ # (unset)
+ local -x PYTHONDONTWRITEBYTECODE=
+ local -x COLUMNS=80
+
+ local ignored_tests=(
+ # network
+ --ignore=lib-python/2.7/test/test_urllibnet.py
+ --ignore=lib-python/2.7/test/test_urllib2net.py
+ # lots of free space
+ --ignore=lib-python/2.7/test/test_zipfile64.py
+
+ # broken by expat-2.4.5
+ --ignore=lib-python/2.7/test/test_minidom.py
+ --ignore=lib-python/2.7/test/test_xml_etree.py
+ --ignore=lib-python/2.7/test/test_xml_etree_c.py
+ )
+
+ ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \
+ "${ignored_tests[@]}" lib-python || die
+}
+
+src_install() {
+ local dest=/usr/lib/pypy2.7
+ einfo "Installing PyPy ..."
+ dosym pypy-c-${PYPY_PV} "${dest}/pypy-c"
+ insinto "${dest}"
+ # preserve mtimes to avoid obsoleting caches
+ insopts -p
+ if use full-stdlib; then
+ doins -r include lib_pypy lib-python
+
+ # replace copied headers with symlinks
+ for x in "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/*; do
+ dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
+ done
+
+ if ! use gdbm; then
+ rm -r "${ED}${dest}"/lib_pypy/gdbm.py \
+ "${ED}${dest}"/lib-python/*2.7/test/test_gdbm.py || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \
+ "${ED}${dest}"/lib_pypy/_sqlite3.py \
+ "${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \
+ "${ED}${dest}"/lib_pypy/_tkinter \
+ "${ED}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+ fi
+ else
+ # install only the absolutely minimal subset of modules needed
+ # for pypy3 build
+ local lib_py_modules=(
+ # base modules needed to even start pypy (and import site)
+ codecs.py
+ copy_reg.py
+ encodings
+ genericpath.py
+ linecache.py
+ os.py
+ pkgutil.py
+ posixpath.py
+ re.py
+ runpy.py
+ site.py
+ sre_compile.py
+ sre_constants.py
+ sre_parse.py
+ stat.py
+ string.py
+ sysconfig.py
+ traceback.py
+ warnings.py
+ UserDict.py
+
+ # needed for python_optimize
+ compileall.py
+ getopt.py
+ py_compile.py
+ struct.py
+
+ # needed for rpython
+ argparse.py
+ atexit.py
+ base64.py
+ bdb.py
+ bisect.py
+ cmd.py
+ code.py
+ codeop.py
+ collections.py
+ colorsys.py
+ contextlib.py
+ copy.py
+ ctypes
+ dis.py
+ fnmatch.py
+ functools.py
+ gettext.py
+ hashlib.py
+ heapq.py
+ inspect.py
+ io.py
+ json
+ keyword.py
+ locale.py
+ logging
+ new.py
+ opcode.py
+ optparse.py
+ pdb.py
+ pickle.py
+ platform.py
+ pprint.py
+ random.py
+ repr.py
+ shlex.py
+ shutil.py
+ StringIO.py
+ subprocess.py
+ tempfile.py
+ textwrap.py
+ threading.py
+ tokenize.py
+ weakref.py
+ zipfile.py
+ )
+
+ local distutils_modules=(
+ # needed by site
+ __init__.py
+ errors.py
+ sysconfig.py
+ sysconfig_cpython.py
+ sysconfig_pypy.py
+ )
+
+ local lib_pypy_modules=(
+ # needed by site
+ _sysconfigdata.py
+
+ # needed by rpython
+ cffi
+ _ctypes
+ _ffi.py
+ _functools.py
+ _sha.py
+ _sha256.py
+ _sha512.py
+
+ # NB: we're deliberately skipping _hashlib to avoid some deps
+ )
+
+ cd lib-python/2.7 || die
+ insinto "${dest}/lib-python/2.7"
+ doins -r "${lib_py_modules[@]}"
+ cd - >/dev/null || die
+
+ cd lib-python/2.7/distutils || die
+ insinto "${dest}/lib-python/2.7/distutils"
+ doins -r "${distutils_modules[@]}"
+ cd - >/dev/null || die
+
+ cd lib_pypy || die
+ insinto "${dest}/lib_pypy"
+ doins -r "${lib_pypy_modules[@]}"
+ cd - >/dev/null || die
+ fi
+
+ dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy
+ dodoc README.rst
+
+ local -x PYTHON=${ED}${dest}/pypy-c-${PYPY_PV}
+ # temporarily copy to build tree to facilitate module builds
+ cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die
+
+ einfo "Byte-compiling Python standard library..."
+ "${PYTHON}" -m compileall \
+ -x 'bad_coding|badsyntax|make_ssl_data|lib2to3/tests/data' \
+ -q -f -d "${dest}" "${ED}/${dest}" || die
+
+ # remove to avoid collisions
+ rm "${PYTHON}" || die
+}
diff --git a/dev-python/pypy3/Manifest b/dev-python/pypy3/Manifest
index 50ad4b5bf620..8b25ec885d36 100644
--- a/dev-python/pypy3/Manifest
+++ b/dev-python/pypy3/Manifest
@@ -1,2 +1,3 @@
EBUILD pypy3-7.3.16.ebuild 583 BLAKE2B 5ba38cc1ca041e6f7cbcb152c0673ee3566d4a1eb708d5277b4ffb621c2c082fa6b3bd0f2620b6cfb310584abaafa84c84722bca7a6ec3567a4b8c4d6b8221f9 SHA512 f67c2c9d20329ca2bcd5c3044bf71b4bfac7628f21829ac7c4d9929f44aa1e849b0b418b445e35985d4e28872596971624ddebb9fc2fc16308c421faa38fd5dc
+EBUILD pypy3-7.3.17.ebuild 581 BLAKE2B 2fedd21c5c8aca099b2b63f4575ef2592a57177d82ec945d8488d292fd38a12c27bd39a305a547c7cb8ab0fbf67580197b6c18e3aba330f9ea25db2d996be703 SHA512 9fa7e2114458ace8ac3f8c8040f8d6f5e45f4fc147c9196cd7565c32a869be7582330e8a3d484ecef5d7c3e3780a8bf4c145ea6922f601ce2bf51f17d44494c6
MISC metadata.xml 317 BLAKE2B 9da451fe362dc5c1f6b3412b33065ab6e316e5ae49fd8e6a8e7485cd5cb7440c316c7c5c9b504a69c4f21a6370317edfe11f388238665133b8557a26acbfe1eb SHA512 96039ea2033b920e595e05c8749ee7e316e951bc6ff544a2f4d175d862cf7537401cbba1d4535f20245bbcac32d5ce1261d04aee412953401b513ecc5e7217bc
diff --git a/dev-python/pypy3/pypy3-7.3.17.ebuild b/dev-python/pypy3/pypy3-7.3.17.ebuild
new file mode 100644
index 000000000000..4aa3928c48c5
--- /dev/null
+++ b/dev-python/pypy3/pypy3-7.3.17.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 tk"
+
+RDEPEND="
+ =dev-python/pypy3_10-${PV}*:${SLOT}[gdbm?,ncurses?,sqlite?,tk?]
+"
+
+src_install() {
+ dodir /usr/bin
+ dosym pypy${PYVER} /usr/bin/pypy3
+}
diff --git a/dev-python/pypy3_10-exe-bin/Manifest b/dev-python/pypy3_10-exe-bin/Manifest
index 942e897f19b5..d0ba6af00c99 100644
--- a/dev-python/pypy3_10-exe-bin/Manifest
+++ b/dev-python/pypy3_10-exe-bin/Manifest
@@ -6,5 +6,14 @@ DIST pypy3_10-exe-7.3.16-1.ppc64le-musl.gpkg.tar 6819840 BLAKE2B a3ae523a26a187b
DIST pypy3_10-exe-7.3.16-1.ppc64le.gpkg.tar 10352640 BLAKE2B 53d2804ef1a95de1edf4765261deb4c53accf59b8b2d827b2dec24a279424629322a701bd3942d05e4e13f52e796c119c237d32bf334287daad8664e1e76e67a SHA512 8016ed28f076936e3477d75d47e20af79fb97d138f924c514fcd32a02ad4b9bf3eb0d09a82d08f99843b102b4a048b78a694963e223a936b029ab903a5c60a21
DIST pypy3_10-exe-7.3.16-1.x86-musl.gpkg.tar 9093120 BLAKE2B 56a349615ce67c3e581da65ac3b52cdc412760aea689d4b8bf6b9f5d2a4285ac67557ee6791363a0faaa1ba10f20b9d761529f278f3737b304e79682353bf1fc SHA512 cf9a8e4475c2d3c8d7c3756c7b4a61fd4effde3010b33f67aa40354658952dcf2ee7d05f6db7912bf8015dd76cf7bb08bfc7d9aea2f168bec23acab9a9068239
DIST pypy3_10-exe-7.3.16-1.x86.gpkg.tar 9093120 BLAKE2B ef908156f0dd9376495330fe0278aa2565c5428bfe46aaeb9f11dabee2ee998969028296cef3e5b71e6d8963bd7573ddded8583e3410f4c66b7b1f17a9cb52aa SHA512 d65132d4a89f7f0764095fee1a3f10d4b7821ba45745a3576179ff2e74f24f38538fe5df6812e654cecc71fe7feecec4e2b9518c8b51aea9b66d43dca935949e
+DIST pypy3_10-exe-7.3.17-1.amd64-musl.gpkg.tar 12103680 BLAKE2B 4b542d95bf6a3bc214b4e8adcde98d49b717676f7e22f1347b976570cc852fc70a832224fdae8093cb5b2c47b2aa3075c65dc6bba93720fd2146c6670cf97eea SHA512 b0782c86646f24856c9868a493b19fc9af3596bc703504f09c153f1d11938a6dcded68664459d4043b86638b0e30440ac272bf13b85fd91021112dc663b56c9a
+DIST pypy3_10-exe-7.3.17-1.amd64.gpkg.tar 12134400 BLAKE2B e7ddd040e6f7d0b76aeb6dce53e86924e5e72d5ea7928aba103613dd40cd7c8e4d6fb3837437b3ffd2467b117c4851a84db2e4f5eeda36c26a6450d26e7ef20c SHA512 674be340c85e23a18c5b2a7af05093949606a314042fa282b4ea2b8c8c0c99d57a511ea8623a9d2eab23be711db8fdcd3ff5dc71a71b8c59288a861e6e43aae1
+DIST pypy3_10-exe-7.3.17-1.arm64-musl.gpkg.tar 10229760 BLAKE2B c25bd05035b225b09c59ecac3c24e4c770f254b2286be4967a2e7f674c0d524e55fe66fad76ae18d1a8b2297c0d06d9757590e69900028bdbf299037327f83f1 SHA512 0f5be025d421dc822235ff0ad9c317f22671d6b20fb3ea2bdd860ca48306a854e94469f7aeaf4ca395e6ea01e6ef1969b7cae6ae311db1823b4fae1616a8c2c0
+DIST pypy3_10-exe-7.3.17-1.arm64.gpkg.tar 10229760 BLAKE2B a670d2328d248fe3c897c59af4f5b5b4e2ab86966332232053bba1585377a824a1b69b7f4608e4ac96effb17edffe00c54d00a4aada74301cb720cde7cf9ce51 SHA512 590bae38189f42a708573a6194bd074d54f2b8794d5ba0fb9139130e285528e1cf922e4f3969b17d5aff7e4f5b56809622ea145a8eb32d6fa6e1740deb00dc99
+DIST pypy3_10-exe-7.3.17-1.ppc64le-musl.gpkg.tar 6819840 BLAKE2B 1cc0c5c2c82f831526480b78dc8230305b531908c7ddb7590e07769de602b8aaa3448bc221fa8b824e6dd6a0af7d2d0be5583451004150476f71730d42462251 SHA512 65d85f8c2c4c3997dc15723b7c857fb9f781e6fb992ab18f53e49f812dea63b7e70695364abda7a866d3304e84a5c59797881b9ec5159eb86acb7e44ad31bf9a
+DIST pypy3_10-exe-7.3.17-1.ppc64le.gpkg.tar 10393600 BLAKE2B da4c97f4d5ee546d776ba937d3736033ded7f5cc0a17e39fd657952b834fe6c002d3c33cfc7b16572f07dd0421040d4bb82e897a101ac129a6082961d0d02c7d SHA512 c49c67eee76f604146aadfcc600312e028bb9f6a24560eefd1dec7e9e0c7304e0a1ce89fdf6229b50b51cd17fb50b89815d937ccac3ef5fcc1ef8ff99af5f237
+DIST pypy3_10-exe-7.3.17-1.x86-musl.gpkg.tar 9103360 BLAKE2B 80202a4f66bec51176c29f2506a28ac296e63dd89102c68f62cfb868f455ac51a1e49557962c271e2a99b41001ad21b56790bb05aead361d59b7bea2c526721f SHA512 d7345e886c0ab4c8de987f5daaaddaa9983864e6343f3f64e85607ed897530f19fae653d412eb076b232ff6e7d52fdda4da0b05b4b4767ac1ac669a512e6fe6c
+DIST pypy3_10-exe-7.3.17-1.x86.gpkg.tar 9154560 BLAKE2B c388c0bed60fafddf5edc2f0bae19e04e643cc1ca44bd99f2b7b84c8b71d1a685faa48886aab3b5b2137b90ae3ebfa7b41fc6f98bcd99203f7997299ec52f274 SHA512 5c2ab169b5ece9c7c8fb9972ac74cf2aa8c5f385fd805800183ed8c0845540185065aff388b2d0ad56d901365454979c9051e70ec5ff2a9f7059b2812555f8ff
EBUILD pypy3_10-exe-bin-7.3.16.ebuild 2068 BLAKE2B 0332db45eafd5c35c0496dea1b16a1c27c152684de0c9c1597cde5be063edd31c54490563c483aa8bf414784df83d754fe18c1b80dca37136f6b965bad443992 SHA512 0ffe92f81cce9369a52ffe44053dbda0eeed9f3ba7425a9ca85cda5513fc5cc027b8ac5f63727d9dadd5b652cc736bc6f867fda6096f024614fcc093cd1cc2ca
+EBUILD pypy3_10-exe-bin-7.3.17.ebuild 2066 BLAKE2B a80acf76af49d6590e836a79307dfa2b7952d2418e8a342142729162c7c20a57577fe8469d07140cf528d2aa53d3d77cc29935cb323d7df7e99faf75cc7fece7 SHA512 c99d04eb8bc8fd68ec559038844c43ded933492c3c5daaa234f19b08b304f9f77e74878c122926dbe68996dc2c25d84fc9bee9bd510546dc9b9bfde161df9d81
MISC metadata.xml 315 BLAKE2B da5ed341c55250028587ffb479a27b7ec31eb0f8bd0e11b8a98a374e23d989f7d5bcce647ca9c78cd12f64b6b83dd0568c4f3a992a6c8c5089c52cef9de87441 SHA512 ebe1c4d655c49fd20127dd240b603f1b99d67c0a6d21c7eb37bee48f4ec6bba50648816ea2b1b746af58fcf8de576d24fe355ecfa2de07ebaa0265ade2ea38ba
diff --git a/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.17.ebuild b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.17.ebuild
new file mode 100644
index 000000000000..19930957bb48
--- /dev/null
+++ b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.17.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils unpacker
+
+PYVER=3.10
+MY_P=pypy3_10-exe-${PV}-1
+
+DESCRIPTION="PyPy3.10 executable (pre-built version)"
+HOMEPAGE="
+ https://pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ elibc_glibc? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86.gpkg.tar
+ )
+ )
+ elibc_musl? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86-musl.gpkg.tar
+ )
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="${PV%_p*}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+# sys-devel/gcc for libgcc_s.so
+RDEPEND="
+ app-arch/bzip2:0/1
+ dev-libs/expat:0/0
+ dev-libs/libffi:0/8
+ sys-libs/ncurses:0/6
+ >=sys-libs/zlib-1.1.3:0/1
+ virtual/libintl:0/0
+ elibc_glibc? (
+ sys-devel/gcc
+ >=sys-libs/glibc-2.35
+ )
+ !dev-python/pypy3_10-exe:${SLOT}
+"
+
+PYPY_PV=${PV%_p*}
+QA_PREBUILT="
+ usr/bin/pypy${PYVER}-c-${PYPY_PV}
+"
+
+src_install() {
+ insinto /
+ doins -r image/usr
+ fperms +x "/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_10-exe/Manifest b/dev-python/pypy3_10-exe/Manifest
index 28f444794752..6f6a838ae73e 100644
--- a/dev-python/pypy3_10-exe/Manifest
+++ b/dev-python/pypy3_10-exe/Manifest
@@ -1,4 +1,7 @@
DIST pypy3.10-gentoo-patches-7.3.16.tar.xz 4752 BLAKE2B a5cd87f30c0b20bf5d49c3b5c979c12231d6b67750e777d4488093094d5998e6f0d9adba51c04704eb31d621089aeb12ee5a6b0a58dad0ecda0d60d2ecbdab6d SHA512 e2779841a3e56e384134416ce2a10e1e00a11d7c720023506370fb9f54363da6b7300b4019c121aa1874152b62d9679ebcd3dd679fd0dbd2bf524520990b6f38
+DIST pypy3.10-gentoo-patches-7.3.17.tar.xz 10340 BLAKE2B a9d7dc6a578dc50339574b2fcfff19e390293adfc8412592e4683fdd3ff415ed8da3ff809b00037659a6e218dc0b26efead7a2ae3c54b2c3487222144d5d9633 SHA512 b192685cc100cfb723492d29e89a522bb4ff041c78cbdfd170414e19713cf2a21c39ab8d4e1e9ca47da2559b2fed6df14f1122f96bc50dd117550c357046889a
DIST pypy3.10-v7.3.16-src.tar.bz2 23358556 BLAKE2B 4eddae47dea1005b9450b9d3d23bd90782dffecdc252eff4fd3195a61e0e7ebbdafaf4c4b5d318c88534f152c1110c3bc4f76f43a7e711a859dd4330841a0e0b SHA512 5b941e3b5c7b0c7a50413e16122bad3e167dcc4ee159ce53e9716e9d5af79d600823f3d7442b7562bb568ff027723e22904fc0840dc06bd26e3da38c93cc5b94
+DIST pypy3.10-v7.3.17-src.tar.bz2 23350562 BLAKE2B 0a7a091976b352de61057f238fa386f767dd4d2fbcdcc0b4376066c20c2ad35d3818fa6e9e163ab5fd341856802e8ad1e2891decf5948c13cdb26726cd42019e SHA512 46e30845bbc73cf56f5033a24d3583253ce198522f3a28ae4e789884063ba167d401fc08ae7fc8c7769feed9cd942a8ab38961c8b8794d7fae8f9955479faa96
EBUILD pypy3_10-exe-7.3.16.ebuild 2951 BLAKE2B 753525823db90ddf87c15a11be7ca912142aa595efd627eae56e69f87d460cc2b70b837c1dec3545d6c3573aeae32cfa82f9fdae7291ef4c39bded06ece2960c SHA512 b06ace901bf477a2194fa77a4701f2435ef7315db11e3d94feb8f7eb7a0744dfc67b6fd81d7310746060d51794bce38e21805cbb658e1bcf5f816945db0f44e3
+EBUILD pypy3_10-exe-7.3.17.ebuild 2949 BLAKE2B d5e8a1421cd55932ff020a94895fb4f40c1e34ba07af07c7e3e58c6523ae158d2dafe2b2f9d0864301de369d2f9c3dc4fa35a6c8a8c42aff148a77d4ae468633 SHA512 e763f991a8a1e9074b6e3069922389ce7c3426cf96530bac31f4152ff445c6847401d1423d03bfde2c749a13850c9e64a7886ff7c252f64972020528ec0f8a8b
MISC metadata.xml 572 BLAKE2B cfcd1422ec312338fd876bc4747a962ac3c4bd06e28a3891489b065fba4c7be2daa6955f51e8136d9b8cf7b68bb7eb887b6f419ee9fd626ebd6db204acb7995d SHA512 c79250d47e3d5c99c2c903bfc185449cc41f88e2b923b8eae1401e83c0f23fa1a12ad85f50b6e25844e805e543ae897ccf43185a1bdf9f992dff765249e55bc1
diff --git a/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.17.ebuild b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.17.ebuild
new file mode 100644
index 000000000000..4f66473fa95e
--- /dev/null
+++ b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.17.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs flag-o-matic pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.10
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV}"
+
+DESCRIPTION="PyPy3.10 executable (build from source)"
+HOMEPAGE="
+ https://pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+SLOT="${PYPY_PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+jit low-memory ncurses cpu_flags_x86_sse2"
+
+RDEPEND="
+ app-arch/bzip2:0=
+ dev-libs/expat:0=
+ dev-libs/libffi:0=
+ >=sys-libs/zlib-1.1.3:0=
+ virtual/libintl:0=
+ ncurses? ( sys-libs/ncurses:0= )
+ !dev-python/pypy3_10-exe-bin:${SLOT}
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-python/pypy
+ virtual/pkgconfig
+"
+
+check_env() {
+ if use low-memory; then
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_configure() {
+ tc-export CC
+
+ # Yes, yuck, but it's being worked on upstream (bug #918971).
+ # https://foss.heptapod.net/pypy/pypy/-/issues/4042
+ append-flags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --no-shared
+ $(usex jit -Ojit -O2)
+
+ ${jit_backend}
+
+ pypy/goal/targetpypystandalone
+ --withmod-bz2
+ $(usex ncurses --with{,out}mod-_minimal_curses)
+ )
+
+ local interp=( pypy )
+ if use low-memory; then
+ local -x PYPY_GC_MAX_DELTA=200MB
+ interp+=( --jit loop_longevity=300 )
+ fi
+
+ # translate into the C sources
+ # we're going to build them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-0/testing_1
+}
+
+src_install() {
+ cd "${T}"/usession*-0 || die
+ newbin "testing_1/pypy${PYVER}-c" "pypy${PYVER}-c-${PYPY_PV}"
+ insinto "/usr/include/pypy${PYVER}/${PYPY_PV}"
+ doins *.h
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_10/Manifest b/dev-python/pypy3_10/Manifest
index 8673780a7e9d..08c1570f8ab1 100644
--- a/dev-python/pypy3_10/Manifest
+++ b/dev-python/pypy3_10/Manifest
@@ -1,8 +1,11 @@
DIST pypy3.10-gentoo-patches-7.3.16.tar.xz 4752 BLAKE2B a5cd87f30c0b20bf5d49c3b5c979c12231d6b67750e777d4488093094d5998e6f0d9adba51c04704eb31d621089aeb12ee5a6b0a58dad0ecda0d60d2ecbdab6d SHA512 e2779841a3e56e384134416ce2a10e1e00a11d7c720023506370fb9f54363da6b7300b4019c121aa1874152b62d9679ebcd3dd679fd0dbd2bf524520990b6f38
DIST pypy3.10-gentoo-patches-7.3.16_p1.tar.xz 7696 BLAKE2B d51dd45ec0fd2fd2d8e8f6afb6fdb227268d86ca03885991c085aa3b374bdbe01c909cd9c25981a89955c3fcfaf258f09470b5a5649b9235a74f37dadb9a891e SHA512 b71168518a103cccff4740efb51dfad4eaaf647d81aff727805f5ee9e2fdc6971749b69c17c72e7fd04c97bbf37777180870eb17077fb742f20130b4b00ed712
DIST pypy3.10-gentoo-patches-7.3.16_p2.tar.xz 10348 BLAKE2B 93b2672e935e4a23e9fff70848f377211b4a0aff55384ffac59ba3b376af9d1ab1d1b3529a5148490dd6e8da55cc038390efa7e4120c60c7ea77d158da88b5bf SHA512 0bff294d8a0ed576204c00ef7befec0c960cef50eaf1130056aaed2a5dac63a8045db977c5fb4ff9c5eb1863e8df2cb9f4d608ab88cd6ffcc8bd4ab13f5d6ab2
+DIST pypy3.10-gentoo-patches-7.3.17.tar.xz 10340 BLAKE2B a9d7dc6a578dc50339574b2fcfff19e390293adfc8412592e4683fdd3ff415ed8da3ff809b00037659a6e218dc0b26efead7a2ae3c54b2c3487222144d5d9633 SHA512 b192685cc100cfb723492d29e89a522bb4ff041c78cbdfd170414e19713cf2a21c39ab8d4e1e9ca47da2559b2fed6df14f1122f96bc50dd117550c357046889a
DIST pypy3.10-v7.3.16-src.tar.bz2 23358556 BLAKE2B 4eddae47dea1005b9450b9d3d23bd90782dffecdc252eff4fd3195a61e0e7ebbdafaf4c4b5d318c88534f152c1110c3bc4f76f43a7e711a859dd4330841a0e0b SHA512 5b941e3b5c7b0c7a50413e16122bad3e167dcc4ee159ce53e9716e9d5af79d600823f3d7442b7562bb568ff027723e22904fc0840dc06bd26e3da38c93cc5b94
+DIST pypy3.10-v7.3.17-src.tar.bz2 23350562 BLAKE2B 0a7a091976b352de61057f238fa386f767dd4d2fbcdcc0b4376066c20c2ad35d3818fa6e9e163ab5fd341856802e8ad1e2891decf5948c13cdb26726cd42019e SHA512 46e30845bbc73cf56f5033a24d3583253ce198522f3a28ae4e789884063ba167d401fc08ae7fc8c7769feed9cd942a8ab38961c8b8794d7fae8f9955479faa96
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.ebuild 6328 BLAKE2B 9cbd5073fe863d95bd92d86086891f6fd1b1ec6ab9891ce5ca068a2e2a283554cb55931b50efe8f9161c8e266a986c916324cbdd8cf7ff6696ea95bab3c50182 SHA512 b3fbd4e63d90ee288b11e74aa19fee5dc8e248514463631364f0c57b580dfd68974708bbea15106c030aa7fcd72c4b913f44b86cf37501fb425fb02d3ca70cdc
MISC metadata.xml 529 BLAKE2B 4121978ab7ed8811781be50eb702082b54ce8e2da22b1cf24f009a64d14b1c644f1420467e7f74d48b65e9644b9100d6e55bd5da0907565a4dd0ba6fc4d029ee SHA512 c862efc8092df86bcf1399abb86081709829b9d3ce9564f8a4d0d8d5d59a4089f79a70156efc093fdf08a2b563cffc8c5aa3f51e33c87456369ae75a5cef3f1a
diff --git a/dev-python/pypy3_10/pypy3_10-7.3.17.ebuild b/dev-python/pypy3_10/pypy3_10-7.3.17.ebuild
new file mode 100644
index 000000000000..8b160362ba6a
--- /dev/null
+++ b/dev-python/pypy3_10/pypy3_10-7.3.17.ebuild
@@ -0,0 +1,212 @@
+# 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 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 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
+ 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-cinderclient/Manifest b/dev-python/python-cinderclient/Manifest
index c19533968ffc..8b3b91655d78 100644
--- a/dev-python/python-cinderclient/Manifest
+++ b/dev-python/python-cinderclient/Manifest
@@ -1,3 +1,5 @@
DIST python-cinderclient-9.5.0.tar.gz 236811 BLAKE2B 60d450ea31357d366c0c18b6715a36f51a9700393c2e5bb0967cd86706dd552fb2deaee428816019e87bd2c272b2f9342118b1f770370ce5aba062d3ebd292ce SHA512 efcc0f4b32e1d6f8d696137c416aeed6fc4f2a69b6fa59d47f0c46dc7d38d1f2bbc5ea35d1bcbac0604e9db8b75d256d47a76d17d040b6e84fca6069a65df8d8
+DIST python-cinderclient-9.6.0.tar.gz 237239 BLAKE2B 34080bcc739db3df9fbf2b45115726df6c435ade39b9d92b8752db06a661db8d6ad92005d1358ae4f0bb313db663bbb1e6e7fc1fde0373941eee39921b22a9b3 SHA512 f2dec3927063c40046c72e090f95f996a16582c09cca8de320fedf80037e4c8dea231c8b48d3fc1ad085b89f43afc413c477e162f231940616f3373d4f86d4ee
EBUILD python-cinderclient-9.5.0.ebuild 1272 BLAKE2B d4d0969e69b83e3a539ec432e1768fe6f5f4941fead678b43b1635f01b9da7efe011a1bd323683c2fedd424ca88bf82d050fb900bda01c9eb5cd5e6fab37ad2a SHA512 d894f2d437662a8f7674fa3c8c98059af426660666253944d8aaf75d0521c2097fb3d2f5631358c403d5387158e81b30fb1007adc0ca3cbb75c88c9ac689b45c
+EBUILD python-cinderclient-9.6.0.ebuild 1275 BLAKE2B 30df52bfe14c91fe586c5fa7435d95315a6d875258eac69ddd0915241af32c6304b959916a607dd17f56d8a638df028493327e54294e6cd45ded7b36a24dd345 SHA512 0758dc8bd99d4cae30a6edab7ad249e13cc84b826bf431936a6886038e8f78f1ebddc2f316ab658ffea9adc036d8f6fd4e85bfbc12262ef1f15f2d8a7ca36ef4
MISC metadata.xml 727 BLAKE2B 0017cc08edf25f27b8a2816bc3ce1374148a17522bf2c5ea643ad10cde9f5779b1b6bf1e3c91627db76d2f77b8dcbfc87a29fb2cdd8064b3140fb14d1e6e00a1 SHA512 e30e64371f7a5f5fa506396f2edbbc7f862a585c7fe9af4f6fe63e99d4bbe9f9bf3a1f002a62c40ab9d75bd90ab99446bb80bf7f2fedf5b37287eeb54e5dacbe
diff --git a/dev-python/python-cinderclient/python-cinderclient-9.6.0.ebuild b/dev-python/python-cinderclient/python-cinderclient-9.6.0.ebuild
new file mode 100644
index 000000000000..cab20f180eb5
--- /dev/null
+++ b/dev-python/python-cinderclient/python-cinderclient-9.6.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack Cinder API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-cinderclient/
+ https://github.com/openstack/python-cinderclient/
+ https://pypi.org/project/python-cinderclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/keystoneauth1-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-5.0.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-5.5.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.25.1[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-3.3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ddt[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/oslo-serialization[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b cinderclient/tests/unit
+}
diff --git a/dev-python/python-ironicclient/Manifest b/dev-python/python-ironicclient/Manifest
index 67a9555af8bf..d9dd2d7570ae 100644
--- a/dev-python/python-ironicclient/Manifest
+++ b/dev-python/python-ironicclient/Manifest
@@ -1,5 +1,7 @@
DIST python-ironicclient-5.6.0.tar.gz 229569 BLAKE2B 2db608463479fc5bb7061562d8617d96244e80276790ae2829373d9ba02412027658c33c5f22d6fd921bf84599584c588c462b4480d294e288dc063f7c73e274 SHA512 133de151e5a884c0c9840b72236f5d99e5e197889ed2e80545174d8754b09e65c370c6a97c367ed4c4ca76f593e665e6481cd45c266fdf3ba7fc348307539907
DIST python-ironicclient-5.7.0.tar.gz 230550 BLAKE2B a4571693ce95608d7403113e56df62961eb040ee924ff8d45ebacf41a924cb489157a48043d768e4e5691477bd2dbf24a658a59703e84c61871be5f4d9700dbf SHA512 f819a2be1301da821eb340da789dd188dea33fb48b2ea2f3ec740eb04b66cf121fc1f72f592e3f17cd38be30b9afedf4209dbe725eaa772938a9977a83e84506
+DIST python-ironicclient-5.8.0.tar.gz 235768 BLAKE2B 254e70bf1a007bcc1fbd5c13f8a650c473f294ab218c01b8b69b66a4518fdbd35b4dd1cdda808342efde92ebebbe25e7221b0e97492b0c2d6095d0107f05d0d7 SHA512 fa96807bb17907f9ae9a761c9dcd4e87e5fed5d73a978da0e0e8536574277032c52fd96675bf7738271616e3f2897b67dba4d8ac3731ff0785ed2b8a91acb900
EBUILD python-ironicclient-5.6.0.ebuild 1491 BLAKE2B 4957593a8aed035684f7346c36a54c1f1fb23dbe73797d041bc1a99cc60e22978041de578aad0bdf139d55a7008f94661030ceb1c0167b6e9468d1d53979e851 SHA512 2aeeb46e65cf912ec02b6ff88030a2c748f8bc50aec2c8869ed298dba0ec555e866819d8f97bf5c791420f1bd17bb25baac5ec77dd200a737021ec3a4f86d89e
EBUILD python-ironicclient-5.7.0.ebuild 1494 BLAKE2B 507e164fddb7b4f9c696f94ba74a94ffb5396357f4231d9987fa507e9bd2788def5686944d05e72ad8d634538d6ea4d8bb2ca0fd2bc43e860937929427cdceb0 SHA512 423fcd4c5e79368402c6e2561d519f16060db865aba6be0ab992b4f641ba9b7cf6987a4b2d1aab639804a88b5011f9975906c8c01f0d8990662cced70e49ebee
+EBUILD python-ironicclient-5.8.0.ebuild 1494 BLAKE2B 507e164fddb7b4f9c696f94ba74a94ffb5396357f4231d9987fa507e9bd2788def5686944d05e72ad8d634538d6ea4d8bb2ca0fd2bc43e860937929427cdceb0 SHA512 423fcd4c5e79368402c6e2561d519f16060db865aba6be0ab992b4f641ba9b7cf6987a4b2d1aab639804a88b5011f9975906c8c01f0d8990662cced70e49ebee
MISC metadata.xml 531 BLAKE2B 0dc9961528a2fda61466eace2d8069b75dbb362b32d5adc3f50dd8b6c9daf5bb2690bc145e30d96807cb063c450e98824d783d566c2db96f036cc227f025dbc4 SHA512 99b57932cfbc2fc5e6607b167991964c17376504f07e7d3741900940d512a40a9c5dda73c0f87cc9b3718159d7aced0360831ef9c11ba063d11febda0786f943
diff --git a/dev-python/python-ironicclient/python-ironicclient-5.8.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.8.0.ebuild
new file mode 100644
index 000000000000..036a407a0b35
--- /dev/null
+++ b/dev-python/python-ironicclient/python-ironicclient-5.8.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for the Ironic API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-ironicclient/
+ https://github.com/openstack/python-ironicclient/
+ https://pypi.org/project/python-ironicclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.18.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/python-snappy/Manifest b/dev-python/python-snappy/Manifest
index 265eeb91a9b0..8a8be269941c 100644
--- a/dev-python/python-snappy/Manifest
+++ b/dev-python/python-snappy/Manifest
@@ -1,3 +1,5 @@
DIST python_snappy-0.7.2.tar.gz 9108 BLAKE2B a0f23b286f97de2d61afc51dcba188d77d0c0099b7cba26c7a0e2bc4da41045fc6a4a95d3adf3ef80d16300a7d35a66955552cf5693c0a0a38b73478b864d266 SHA512 c585e9e953c2bf2cb7d3f24ae9745d267b334d681ca44b7d842de2405df19b24af0f6915f0274de2a86e74fdcfef3715e5c27765243d84459216476c31aaa437
+DIST python_snappy-0.7.3.tar.gz 9337 BLAKE2B fbc0afbf01cb97b00855e94d3f13b8a3c92dc4a6ed6f078f1838ebb90c6643548477a880c910b07a2d5a7ee59d260be6a9dfb53719c34b7884b2071724154d85 SHA512 bb4cf220a3819622038e7aebf5100ac5126b9d42db15f4e89bd123088d1e62bab56488969adccea3a45719d760b1ed77f493051859f90fb8fc397cfe0661dd74
EBUILD python-snappy-0.7.2.ebuild 547 BLAKE2B 5044828a80b49b07c94fca5acff0b569c3a84e9e6bd3fd2207ef46b79f37e435ef7b2f30ec645dc78401564626bbb17c136c7242816eeb76041021c0a5c1f9e6 SHA512 25828bceea30e4a920f641fbe798dda14fabe7158b3e26dc9d3e193cbfc18fcf92744511b4301e46288baebd53f780701b48a492d9942c1a28a6ebb9fcaa0f9f
+EBUILD python-snappy-0.7.3.ebuild 551 BLAKE2B c540d54b00a19fbaaa7cd6385eff084a4408bf5ab7a0bd5fa164450cfb53d0a11785dde33081d1f8be240566ff77a3f9db53a4d8e2ce84ee59e9b8da72a9d9a5 SHA512 a6ddc06194efb6faeb96329032765aad6bc2e184da17cdb5b6812bf6c11b06e7cf55a2c0d33cc78fe8a5bcfb2383aa94ef98ff82ae9dec350be43a2c04d8da50
MISC metadata.xml 377 BLAKE2B a539bd7584f20f7cf958969645a9c1898d7fa415d5fbab3ed0062513bedfc516342ea7d889ccf7d4f6c3eff3f6006a33355fcc9165f105f9748bc078408bfeeb SHA512 f2fae6ee6ff65e8aaa78bb2ddec004589d4ea4c5ee724fb56f009c20080d24591e64a24b0cc9b99bec04ea0d27bf92ac0aa35ebc9a4433cb2bff8ed56891d697
diff --git a/dev-python/python-snappy/python-snappy-0.7.3.ebuild b/dev-python/python-snappy/python-snappy-0.7.3.ebuild
new file mode 100644
index 000000000000..44d2eee97a7e
--- /dev/null
+++ b/dev-python/python-snappy/python-snappy-0.7.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-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 library for the snappy compression library from Google"
+HOMEPAGE="
+ https://github.com/intake/python-snappy/
+ https://pypi.org/project/python-snappy/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/cramjam-2.6.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/setuptools-rust/Manifest b/dev-python/setuptools-rust/Manifest
index 3bb7f7332f02..c3951133ecc2 100644
--- a/dev-python/setuptools-rust/Manifest
+++ b/dev-python/setuptools-rust/Manifest
@@ -164,6 +164,6 @@ DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b
DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
DIST windows_x86_64_msvc-0.52.5.crate 827905 BLAKE2B fd5dac198bfbf29878cb461a7338c289c9af16ea80b3e5fa567980d2a6a5ea6a1cd83729ce6fd67e4da171873083dbeb1d6e16a287620f0245201f9cb29c29b4 SHA512 81176090dc725d7fe3867e6322fdc4a4065168580847b35e6f8da345f685c4f66a81e35cd1880dbaabdd4cdc82446dde9d6a0e583cf0b7fe47dda8bc8002f1c6
EBUILD setuptools-rust-1.10.0.ebuild 3674 BLAKE2B e2b1b81b5f9e8b82be821db82b6a478fe3125605bc7ac2b49a0db8b3497ea0a86bab378ffdfbc1ff3d840ecd4335e03433fc9a0f1c59ade083a98ced227ab427 SHA512 f8542a6b5388922130b15067f3e746338165bff500145c398907e8a32980e1d5666d1b9e305aa8a1093d61f3f578e4f63c82a56fa807fd62595139aa93ac100c
-EBUILD setuptools-rust-1.10.1.ebuild 3668 BLAKE2B 7ca5bbc3407bf5550e4eaccab10fe51db2036a42eeee2f147ca45a752365e69b77fa519a1b3eaff100356926d6a72f875e64b5689083116e01ce56680be25d75 SHA512 78eb611305341f9c5baae37fbe2262fb020aeb14e28b8821b837402fc79fef6d81bbc1ee4a15494edef0c99f5ce88d7a7ef79d49e198dd76cc0b2a14c0adb515
+EBUILD setuptools-rust-1.10.1.ebuild 3667 BLAKE2B b443bb7d22b290ba1f03960e01cd13596099ee166e4fad78c7b4ddd5ccb70b8b4b3f2c8c681d041560d8ff3381b166f0f0ecb713a565aad0bcd77ef6900c5bcb SHA512 27a18532b60670b37441e9eafb18fed9c537d30c2fd918b654116bbd21a0a026cbd1c3c8e6b4967fb919aeff560bd48aa1c14d79f8dd1d588758001884b2cf98
EBUILD setuptools-rust-1.9.0-r1.ebuild 4124 BLAKE2B 43dfea454dedab8bf450715b7cab1d76235b99c6005e492b4236cc66b5ed0c5faffc36cabf1c4f2888dde6dc3835be88265aa89a7764797c0155c0d9e47a05c2 SHA512 d4bc8e743c33c6e2297eef9728a20ef828f2da1c367bce148a4e9231da1cfc32655fb9a52fda4f4eb509788f41708fb1fc199af6432dba27502aa02129a3739b
MISC metadata.xml 476 BLAKE2B c8f0ef0779f0a4412a7d9b97e1bb03e3bfb3c031209f489a100b30402d99224014e379712989afd0cb76c85be301dcf9a51e21e8f9195262c5920dd1db0703d1 SHA512 af74755e9e8fb61cbded2dc3e63cd20f95393ef2650bed9f81e299f7759ae79c63b45df8048cd0fe25397ec7db10156be681fa5278606a20481f78d5279b815b
diff --git a/dev-python/setuptools-rust/setuptools-rust-1.10.1.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.10.1.ebuild
index af63cc5abfa4..674e4ab204b9 100644
--- a/dev-python/setuptools-rust/setuptools-rust-1.10.1.ebuild
+++ b/dev-python/setuptools-rust/setuptools-rust-1.10.1.ebuild
@@ -116,7 +116,7 @@ SRC_URI="
# crates are used at test time only, update via pycargoebuild -L -i ...
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/sphinx-autoapi/Manifest b/dev-python/sphinx-autoapi/Manifest
index 3ac67979c32f..6ebb6f3d26f2 100644
--- a/dev-python/sphinx-autoapi/Manifest
+++ b/dev-python/sphinx-autoapi/Manifest
@@ -1,3 +1,5 @@
DIST sphinx-autoapi-3.2.1.gh.tar.gz 68891 BLAKE2B b31db0f584498a96d3bf7e57fa92abd884d3b8bb8812236a8491685f0fc81d212e114ae1663e316ba7ba14dee082dd4aeab19941f3d6ab85de95399f3736f596 SHA512 e1920a79ce8954a9da1d33fd46e5c1968990e5cfd960a8c97ac344d3d6dd97c06dbbafb3144e67d223f6504b233e0cf59328f015d918264df12b00aed8e34f8f
+DIST sphinx-autoapi-3.3.0.gh.tar.gz 70367 BLAKE2B 8e4efd0722b8ffff31816839b88fc1dadd0bbb10143a2361cd040f5bafa806d128b288a0acd77b9cc881c7e45a47e2802f666486f07f705d0aa0312ae840da9c SHA512 fec162717137ff71d196feeecdb84a3fa953471c06a0bf8a586cc5d5f6ecece09b6ac20928039e8cfbd4eeb060e6cf0c1e633ffed2509ad760f1796bd1e10a47
EBUILD sphinx-autoapi-3.2.1.ebuild 1200 BLAKE2B 6d592fea773727b4882b9a746b8ccfa698cdaad175f5f5f69c4402033f421e9f11405f705159bf0fb919c344b789a2e1b04b072f10fd6ba015b72b5c998dd56e SHA512 ad99a6e142a665cfa937f9cfbb28ade0a05c769fd21ac4f574e392c59f5e73351e463ce73320809c3c6beaa14831daec3e37615828bbc99628b9dfe2b076be29
+EBUILD sphinx-autoapi-3.3.0.ebuild 1204 BLAKE2B 3f9e2e6a0d06b2c1b4ff703f44335f08cc4ad0680e50b42061be6faf3794180cff23e708546bdca7ab79233b43d1675deaae31e19e621e524d77138d5dae312d SHA512 29b68725683c54a6e3c5a930badcf5269185b3650b7aac19d4b8302de12fb612821d86116224112fc6e1fbc8594c060801cd3a50b0adb6624285c421f426dafb
MISC metadata.xml 769 BLAKE2B 6f85e487a2d2def289bb54a6addc2338bb8af85b323ec1c95851945f9c407ec22bfadd8079ac8b6e00cfbc85caa0e2b09d82329f1f87a365fc44b69c7bcd9a20 SHA512 68f02a5f98234c2a5cb15aa04ce90077b154a7e3a7a69dc0a1d0a6b5c7b42c60624878a7e2fff1576c8b586fc15e7ef042942274d4e8473835bb3d8bfdbd8393
diff --git a/dev-python/sphinx-autoapi/sphinx-autoapi-3.3.0.ebuild b/dev-python/sphinx-autoapi/sphinx-autoapi-3.3.0.ebuild
new file mode 100644
index 000000000000..2dfb0a4c4c8b
--- /dev/null
+++ b/dev-python/sphinx-autoapi/sphinx-autoapi-3.3.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022-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="A new approach to API documentation in Sphinx"
+HOMEPAGE="
+ https://sphinx-autoapi.readthedocs.io/
+ https://github.com/readthedocs/sphinx-autoapi/
+ https://pypi.org/project/sphinx-autoapi/
+"
+# sdist is missing docs, as of 2.1.0
+SRC_URI="
+ https://github.com/readthedocs/sphinx-autoapi/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/astroid-3.0.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-6.1.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND+="
+ test? ( dev-python/beautifulsoup4[${PYTHON_USEDEP}] )
+"
+
+DOCS=( README.rst CHANGELOG.rst )
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/python/test_pyintegration.py::TestPEP695::test_integration
+ tests/python/test_pyintegration.py::TestPipeUnionModule::test_integration
+ "tests/test_integration.py::TestExtensionErrors::test_extension_setup_errors[dotnetexample"
+ )
+
+ distutils-r1_python_test
+}
diff --git a/dev-python/sphinx-autodoc-typehints/Manifest b/dev-python/sphinx-autodoc-typehints/Manifest
index ddadc59121e6..75382512fb59 100644
--- a/dev-python/sphinx-autodoc-typehints/Manifest
+++ b/dev-python/sphinx-autodoc-typehints/Manifest
@@ -1,3 +1,5 @@
DIST sphinx_autodoc_typehints-2.2.3.tar.gz 40394 BLAKE2B eece3fd99898bf6c93561b0269a7cae2d9b5bd7868ef3d9cd61868b57b9435ef255731db7fdbde2cf05b1f1ed1c8864060fd15ad5b44bbd122f2c2d4fd264aeb SHA512 8a39129ae3e90703c7de8d25c7616256b4d203f6e3c6971f382265361236e7606fa16169e189ca47cd4f1dfdf27a98a16c7b92ce409e2431886e4dacd0159fcf
+DIST sphinx_autodoc_typehints-2.3.0.tar.gz 40709 BLAKE2B ef1b606cf6a643f87271fb033bac4d06f83b2be9f73b765064757ff0c1dceb2124841b2f6bb674deb20e39a4d19386fea8c85f0cdb417eeb3d84da19e2bf609e SHA512 f4ee3e0eb51fd63d4cf31f2eed9b9d06cc2dc48a3f3427763e86dba8910ea02c9e31bd8d30e8d0b3494e71fb104d51904400ce96d71270e1e422f44a317de80a
EBUILD sphinx-autodoc-typehints-2.2.3.ebuild 1067 BLAKE2B 218eb8d8c6d1fc4b5458751c276e99de75efd1d4466452910499021cdc1f1a9418f97203a4ddd163aad458ad81d89973e26ff8b401e660b925137e840d832cb3 SHA512 a17094710d36c11e9c4f0eb656fab4464277019dcd2f88baf131e4dfc580bcc9cb002f94bcb2c1aeba2d38d6d0d3c7893eafd07c8502a7ecebe94c85fbfcc1bf
+EBUILD sphinx-autodoc-typehints-2.3.0.ebuild 1074 BLAKE2B c22a1519062f4fd3cd5e9fa4e2f9d71ee093fa358ebf6b9e000b243d92251fb366c76099c9e95be13e2e542d4e91a3ea180a9a6293781dab0d5db1b6aa04b537 SHA512 3774856f78cd0f7d64067af2a8409986b3df143eae5010eaa15403434fcd5f4e9ab2029e180dd290b32a3f21de330f962f3617585c1dbc714fae8b247f7bc31d
MISC metadata.xml 682 BLAKE2B f8b48894f28411a17c73956bb75d43906c893b33d3dc611dfcc46e7a71ac43824aa54f660ab4f49c9870248b2b9ff405a2a3229f92975337e69201868eed3378 SHA512 87a0ea2b2e4cb2b5f0d1593b2c4bd96b46dabb8baae71a6ba18cfd83dedb2a1d5f0ae0f8711144967a5d44015e9ae7ca013dc0aa54e20604633ae062d95649ef
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.3.0.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.3.0.ebuild
new file mode 100644
index 000000000000..f6053e2167f7
--- /dev/null
+++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.3.0.ebuild
@@ -0,0 +1,44 @@
+# 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 pypi
+
+DESCRIPTION="Type hints support for the Sphinx autodoc extension"
+HOMEPAGE="
+ https://github.com/tox-dev/sphinx-autodoc-typehints/
+ https://pypi.org/project/sphinx-autodoc-typehints/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/sphinx-7.1.2[${PYTHON_USEDEP}]
+"
+# skipping optional test dep on dev-python/nptyping as that package
+# is horribly broken and on its way out
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/sphobjinv-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # this package is addicted to Internet
+ tests/test_sphinx_autodoc_typehints.py::test_format_annotation
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/spyder-kernels/Manifest b/dev-python/spyder-kernels/Manifest
index 233047bf7818..23b5dac5b9c4 100644
--- a/dev-python/spyder-kernels/Manifest
+++ b/dev-python/spyder-kernels/Manifest
@@ -1,5 +1,7 @@
DIST spyder_kernels-2.5.2.tar.gz 99972 BLAKE2B 178f175fe03fd2b7871681ae30d10b62a4daf9ee606477eab4f88a4d81d2692b80cdcf4f9b6d46c4cfc0394b98d798e93dda870a3f1cbe6f77e243fd2b06d97c SHA512 4cf5462d6a6e72bf13f9890fbc5a4008788e132ee3315b0ad01a00beff6b78c63f47b7b5d19be601b64984196cc1a5c4706a4c5bbe878d938e487ae9ddd9f1fc
+DIST spyder_kernels-3.0.0.tar.gz 242868 BLAKE2B 7cf667ce42d9f0a1c6b0df337c98a702588c546eeedfeb8150cea560c7ba5f0049ccb76f1342584f7a6cf9bf400ed2d1dbbad12f5b39ae3a3343e3449aed3414 SHA512 42c176d6c8c410b375342c2fed07dd5ff6440e857dac06097d55c1f3d34bed6d51873833523b798316f100d3f226f78cf76d661a30c7e968683eaad622d5c994
DIST spyder_kernels-3.0.0b9.tar.gz 242468 BLAKE2B b85c35f3b0fdffcb9105a6ff15388aeb0ea08f22647d654c37b9b7003d516310039dcb2d0cb41668f0903302b330dae289d9a7063ad9f970ac757f549b871a8d SHA512 c3c68b3a7c5bbd337b4461cedc388e8a9196e9ee72c2208036abe376d1621ab5db93c23935d1bf2d711a2d0de99d06599e2e0f102dc7a5d75d5c55f13cdb2a2e
EBUILD spyder-kernels-2.5.2.ebuild 1938 BLAKE2B 85ae2fa2e266e20923cb90294ed0a91dd1f729c0e46483278527381dff6d948ddedcf09686194490f2fb045b2a9b3abcedb25ba5a3855323660b40eeebee8aa0 SHA512 7b29642447e6923f811be91a0ca7c09dec9d832f37cde4e927e5a9999179025566ba8b2e96233765a601d9754eec9831290c4243dad685609c907abd604ae374
+EBUILD spyder-kernels-3.0.0.ebuild 2882 BLAKE2B adf24d7b2746fb27df16e3cd5502d9830fcd2b1498486afb72e4e4e55929df65c3cb1102119dda92120d255baf4974782b2b4d9900fe6789b830731bf2dd9a97 SHA512 aed5bb88974594d894b67e1599d0c26f440c90500f02f85bfc3a1d461f7f7a0e60b303d711448f907b833e910c9e8fdadd1a8f8277df56b640e3271bf9b698b2
EBUILD spyder-kernels-3.0.0_beta9.ebuild 2701 BLAKE2B 2a434017cadbf4c4b5962b6457ee4a51baa914253c2a21f4e388a4cb704cdf72d77aad767751d306f8abe151a979e24f0ae1de20199ee38b9d20a1bef3cb9aef SHA512 1cc51a63842cff621a6afc90e572abe1903d45005faa4356f021a808f8309731504064788628c03a511ec7f97ead1a0cd0348db47771d9e22f6067e98651cab8
MISC metadata.xml 545 BLAKE2B 52be79edfbfdd86e7f895c53d088399b649901b76c7b69cf6363dfba6954971ce75b14624c2fc4254810112e32721e215255d59035f70850e1c1073f9784e65b SHA512 62ad725aab52d7071ccd5297bd15fcdd5e02e97854fc412a43b5c97b7995c77661251994850616743ce39eee0d0673b3bd4189b00876ed6124bf1871f6fb100c
diff --git a/dev-python/spyder-kernels/spyder-kernels-3.0.0.ebuild b/dev-python/spyder-kernels/spyder-kernels-3.0.0.ebuild
new file mode 100644
index 000000000000..0ff0db0d70d8
--- /dev/null
+++ b/dev-python/spyder-kernels/spyder-kernels-3.0.0.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-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..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Kernels used by spyder on its ipython console"
+HOMEPAGE="
+ https://github.com/spyder-ide/spyder-kernels/
+ https://pypi.org/project/spyder-kernels/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ <dev-python/ipykernel-7[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.29.3[${PYTHON_USEDEP}]
+ <dev-python/ipython-9[${PYTHON_USEDEP}]
+ >dev-python/ipython-8.13.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter-client-9[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-7.4.9[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24.0.0[${PYTHON_USEDEP}]
+ >=dev-python/wurlitzer-1.0.3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # we no longer package distributed, and also removed dependency on dask
+ spyder_kernels/console/tests/test_console_kernel.py::test_dask_multiprocessing
+
+ # RuntimeError: There is no current event loop in thread 'MainThread'.
+ # https://bugs.gentoo.org/834893
+ spyder_kernels/console/tests/test_console_kernel.py::test_cwd_in_sys_path
+ spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing
+ spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing_2
+ spyder_kernels/console/tests/test_console_kernel.py::test_runfile
+ spyder_kernels/console/tests/test_console_kernel.py::test_np_threshold
+ spyder_kernels/console/tests/test_console_kernel.py::test_turtle_launch
+ spyder_kernels/console/tests/test_console_kernel.py::test_matplotlib_inline
+
+ # pydicom only packaged in ::sci at the moment
+ spyder_kernels/utils/tests/test_iofuncs.py::test_load_dicom_files
+ )
+ local EPYTEST_IGNORE=()
+
+ if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ # require pandas
+ spyder_kernels/utils/tests/test_nsview.py
+ )
+ fi
+
+ if ! has_version "dev-python/h5py[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ # require hdf5
+ spyder_kernels/utils/tests/test_iofuncs.py::test_save_load_hdf5_files
+ spyder_kernels/utils/tests/test_dochelpers.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index 36aee3509df0..3208ec193f7f 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -4,7 +4,7 @@ DIST SQLAlchemy-2.0.29.tar.gz 9543967 BLAKE2B 04425618b6e0bcf98a7a32a4a6b1c09212
DIST SQLAlchemy-2.0.31.tar.gz 9524110 BLAKE2B 521137ceaedd91a063bd336001e25a2946a3fefbc61c619b9b18c32f6e4dd2ff541e7cf3f0e0144024c0a6fe2c7aec743d1315b66c7da752d47abd81a6ab8ab4 SHA512 2e5f559ee2d1f28003a7436a6cb1997f22348447765422f4847adb3c5fc20b759d8c5c99ad4dae1c1f7863f3bc72f699e19b48d7797917a9a64ff4050e61d3d1
DIST SQLAlchemy-2.0.32.tar.gz 9546691 BLAKE2B b6b28fa513e9dc6066db210cee8cbc94dd7c5dfd4f391d4a0ac6987241213afa547458b99df6373b2d1771e264fcedd1186fbd5a483382a7d09185f0f2fa9052 SHA512 12ac1804ba2ad9218d5307f4da87bf7c78b75525bd4b32770e77326eff6fc2ea679e595a1d367f8def3ab7e02ca954622ff16490c277ba6b8edca21efda7da62
EBUILD sqlalchemy-1.4.52.ebuild 3436 BLAKE2B 60b2e39902de5052fefb003514f3fb232cfd23ade139e8c5fc4d2b625d8fd65a40b22d6ae2593c7ee6ea12d1ce1dd4b192dc95cde3485671f292d96e3bd8999f SHA512 1c3c8bbd5459690c689ada1cfa9c89cf58298c6ade58117b9331ce99f3a7df8307f8976baaf03911ba3c828da05cd6c8b743cd2bd5120a7dbcf9e42b35fcc7a1
-EBUILD sqlalchemy-1.4.53.ebuild 3438 BLAKE2B 605188ce1c6b4f09199f6cb497cb2336b7825d8dfc856efcc86013bc4afea44f44e2109bc4ca41b8773fedde1940bacbcdb840c34eba87944e4aadbdc355dde7 SHA512 d55cf6da538cd2737a425d0d302f2364cc81c32e90d1a8e75f4a5565d956c92e225d73295b2a6d77de13ee4e2d50af8e61faeccfab688153623232f4b433a32d
+EBUILD sqlalchemy-1.4.53.ebuild 3437 BLAKE2B 47754cd23746113310cc0042cce769cd923205a62874521b53f9cc7bdbe0dcc3e2a384c2ca7c1c060b657e28872be4d7500d74946efae43006cfcd0949b0f57e SHA512 83519c2618215d5d35560277a30927693209f532816fa4912f8dd73b7881f98b81c4cc18ecf6d8d9e6a979b4b9610f6d4784167800ed758b112a4a9d95946b9a
EBUILD sqlalchemy-2.0.29.ebuild 3954 BLAKE2B 9bce2efb81f5909ecb56762d4ab38fa16384109148131c76389b5bdf4f7644e1a6ed01a388d11a1cc975d7b55380e17cc7256bd38237f3b1cfe3c4634067ae97 SHA512 b655ead9dbfd58766b379a9f6f546185fd497ef478de0e323a5d87d8d5bd5698e5d503cb151a5c57c3b60241800826d53ec9779a38a2f4ac629b567809379c33
EBUILD sqlalchemy-2.0.31.ebuild 3997 BLAKE2B 2f4a659420129953f37cdd70de61707e1161dd88400318d2d701c32aab4e647b2cbf2f26a0a5a76beb9d351830b2e762e9a675fc3e423908da324c816003284b SHA512 c66c8f7d0512cfc4f9612bdea6738fe8d68eb1e49004f7b0aac2d1af6e9443927a82ba0a8e1e14dc5d9a800dd8b0b5bc5751ee7a5652a39915bc0c7f14500449
EBUILD sqlalchemy-2.0.32.ebuild 4104 BLAKE2B c622833ac25e1315ebb1d8db4d7c656619e08043d2313005533bbc2375eeaf8db8ff1616b6ad2abb0ec6cf6b69085740bfd422d0744223e599c2c7803464b2fd SHA512 b8d1e0eb7ab4638ffc4ca88851ed9f6a12b595a91a70650a531d2923c67d58ce17b542d8d48ab04a9733a14941f507b5ef2ebae0d55ee67a2de2ae19bc5c95b3
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.4.53.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.53.ebuild
index 252f78d3c4b0..c0eebfd288af 100644
--- a/dev-python/sqlalchemy/sqlalchemy-1.4.53.ebuild
+++ b/dev-python/sqlalchemy/sqlalchemy-1.4.53.ebuild
@@ -22,7 +22,7 @@ S="${WORKDIR}/${MY_PN}-${PV}"
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"
+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"
BDEPEND="
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index 588cfcb46d62..07d04ae9b70f 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,5 +1,7 @@
DIST stripe-10.7.0.tar.gz 1311319 BLAKE2B c593f9478e180b8965e6d4c93c58f0e539c0821b79c48893d65fa59f4a31d29eece26ab74113f251fa5da0620358bb45e9030e1a64aa17d189974f7c6250cfcf SHA512 2f0c6082cf292068a8790c7080e60c2b7fef2a16b5cf9fd31dabd1e7428b6317941cb64b32c7710d165a5b6b2da1c5899e5cfa88e354bc88c49c9513c25c58a4
DIST stripe-10.8.0.tar.gz 1312236 BLAKE2B 72c8c111f86388a0e19ed5c5688ac8c8e5437251b1972aa4316dadccbecad03ad7db625c73110d6c617553eae15e1a5a7c571ff209ffa1ca4fa40f091c171361 SHA512 520df4a0866defc2efdaf4ad0aa5351df04669e9283298ff862a78f4d5894e5422eba48b4bb0654e1a1a41973dcd245bc4e37c3166210135c5864470fc0f7db8
+DIST stripe-10.9.0.tar.gz 1312738 BLAKE2B 6be3b40695842c164620a8abab4a8753c44cb68dcd39b7e8f62e5a359ae5ffa0faa6a8890a1b0965dd1b1f32c95fa857abe44003c94043d2e76c59a9d52fc152 SHA512 39946c7efcf7597347835495f80810987f6812be337b2f9d84bebe029b2f6d326c9a73ef0c06f3c86786f59a1fb7d227e6a0cb800b8101216df6d0fb05709ea8
EBUILD stripe-10.7.0.ebuild 2479 BLAKE2B cd82ab86384acbeb76004d802a3d4f9f340f1fa1deb652e2cc18be4330c90dbce911925b0ae818f2e77569159ee9317995fa442b6fcc3f499b1d39ccd949101d SHA512 33ee1c037303d01e6b46961c28a890d6e8dcddb4ab07621db0bf6e347cc98d393b246077a9da4c6031b8871152fd2c520a8d63761def4e971a213e31f4885d1a
EBUILD stripe-10.8.0.ebuild 2482 BLAKE2B d41cf1130ba524c02435e623798554a866081bd5b1932ad5bac674b789ae68df6cb444b3a968ab13cefd73da7205c69860939f4cebdc28ad62680cea45dd53a9 SHA512 ece77ea1c315f239297549734c61b1e9645ba881bc2eb487ebf50cfe213f847e3fbc5551a148e8ad2d43db5ddb66e1d05d49732192204ee94881b1cca7d2b7e7
+EBUILD stripe-10.9.0.ebuild 2482 BLAKE2B d41cf1130ba524c02435e623798554a866081bd5b1932ad5bac674b789ae68df6cb444b3a968ab13cefd73da7205c69860939f4cebdc28ad62680cea45dd53a9 SHA512 ece77ea1c315f239297549734c61b1e9645ba881bc2eb487ebf50cfe213f847e3fbc5551a148e8ad2d43db5ddb66e1d05d49732192204ee94881b1cca7d2b7e7
MISC metadata.xml 673 BLAKE2B 6b85b1f88713d2365274fcff21648748039b48028b3c34c1192e16ca12d0f3b4d14ab13c7c2a744c381898ea0c1304bda8be52d3fadddc1a1b787f010b001398 SHA512 e3178927a69d14f59673acc5eaedda59db5a07e2145ed6fb0597363b60183cb3e7a7b0feefc1d4c9095d52ed96e0be32ef5dc23ad0c20fd6e6b33c830177c0be
diff --git a/dev-python/stripe/stripe-10.9.0.ebuild b/dev-python/stripe/stripe-10.9.0.ebuild
new file mode 100644
index 000000000000..dce53ce91aee
--- /dev/null
+++ b/dev-python/stripe/stripe-10.9.0.ebuild
@@ -0,0 +1,92 @@
+# 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} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Stripe Python bindings"
+HOMEPAGE="
+ https://github.com/stripe/stripe-python/
+ https://pypi.org/project/stripe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="telemetry"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.188.0
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ if ! use telemetry; then
+ sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # exception message mismatch with aiohttp-3.10.0
+ "tests/test_integration.py::TestIntegration::test_async_timeout[asyncio-aiohttp]"
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests -p anyio -p pytest_mock
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/twisted/Manifest b/dev-python/twisted/Manifest
index 30b1585a620e..2e8e9050984c 100644
--- a/dev-python/twisted/Manifest
+++ b/dev-python/twisted/Manifest
@@ -7,5 +7,5 @@ DIST twisted-24.3.0.tar.gz 3500456 BLAKE2B b2cebb2f3482dbeba250786b1977ddbb09e1a
DIST twisted-24.7.0.tar.gz 3516844 BLAKE2B 169347260b473ea1c50806ce50324ebd51388186098886ccaad1f94e55f6b14eb7a7fc42728dbeaf4b5649d0e6dc1e4624cd5ab6d79feeaa733e18d09cfd689f SHA512 cd5a993c8f1dfdc82597bdc095e07c1016a2a86d1ce5b011b27f9f760db428fcba4579dda5733244979827f9c772c2480d1d419d2d24ae7af8697e2b8e852f62
DIST twisted-regen-cache.gz 911 BLAKE2B ffd3fcda6c67ffe6fd3ef581c8d507548396b66ed0708e9a5c790095e579c0d5f0f71596acf05712989da2ddef2b8d437eca973bc4d80ef8a9fa852915f38305 SHA512 95a9b931c73017d16d1b5e6b41345dddffe62b6af1a8e93b5e40d06d3d15be17b0dd0181c767ffeeb791534d463764ef9e066fa6c2ee2ac4b53c86d1da8fce03
EBUILD twisted-24.3.0.ebuild 4272 BLAKE2B 7781c1b0d434f67a36f64cea21bff67d3afd92f7636bc1d39429cff3537f1707963f03494721d210f311f3c4482cbe3d140290e25bc6932a72f501a86638453e SHA512 9c38da941311f9ac89e30933d6513ca79d8f1dd0a0c348757715bc82d4affcf911783eb6b7661b1b01b57f66ad8981dbf57a4851c82e1ea7ed9e6ae5040cd54d
-EBUILD twisted-24.7.0.ebuild 4704 BLAKE2B 2af2edb34d4673cb4ea6356c6092802960380b0c9dbd7e9c7fe8f962d52a95277c37b4dc83280537ea48aecbcfaf3dcdbb42254f0edc1ead9ab1dd5d51ecec10 SHA512 20a6c0b8a1baadffc169e7b67f8aa6d90a6cf189e41a81a5f8eb00f5a66cde16975811000fee20802f4aca17c53ac8314b2146432c00d65c35bd632587836d22
+EBUILD twisted-24.7.0.ebuild 4703 BLAKE2B 21fa9710ee102061095e005a2e0cf81172dcaafeb24e6cffe5a1cb7015d67a93c5e7f6289f674133a843d488ef618cef359a85bd00de464b5416ac58abbf98cf SHA512 31ab6c46ef0819166211e07edcefba37814cbc7c012f5e411810163b3342ad1fcd9d839a96b344bab4aad28ff01ee8d0da8c0dcefece8dc117ca4d18ba932b0a
MISC metadata.xml 1231 BLAKE2B 60cd09e34c32152e6f08727c1281c65e871a51e64310a62a3104342fcb0e87e96b10cd4c7601668f054f9a2cb01fdf8ebeca3ed86b61ae2496a4d941897aa296 SHA512 800d9cd783d95cecb268362619deb346783149fa9226df714f9ce990da2d45edd3c8e5669e24ad15dfdf986a5816a5361c00f13719bb0dee3e6ae1578a889339
diff --git a/dev-python/twisted/twisted-24.7.0.ebuild b/dev-python/twisted/twisted-24.7.0.ebuild
index ace722083e85..c8ea06995968 100644
--- a/dev-python/twisted/twisted-24.7.0.ebuild
+++ b/dev-python/twisted/twisted-24.7.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI+="
LICENSE="MIT"
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="conch http2 serial ssl test"
RESTRICT="!test? ( test )"