summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin274212 -> 274227 bytes
-rw-r--r--dev-python/boto3/Manifest2
-rw-r--r--dev-python/boto3/boto3-1.38.9.ebuild53
-rw-r--r--dev-python/botocore/Manifest2
-rw-r--r--dev-python/botocore/botocore-1.38.9.ebuild67
-rw-r--r--dev-python/google-auth/Manifest2
-rw-r--r--dev-python/google-auth/google-auth-2.40.0.ebuild73
-rw-r--r--dev-python/ipywidgets/Manifest2
-rw-r--r--dev-python/ipywidgets/ipywidgets-8.1.7.ebuild57
-rw-r--r--dev-python/jupyterlab-widgets/Manifest2
-rw-r--r--dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.15.ebuild24
-rw-r--r--dev-python/meson-python/Manifest2
-rw-r--r--dev-python/meson-python/meson-python-0.18.0.ebuild68
-rw-r--r--dev-python/narwhals/Manifest3
-rw-r--r--dev-python/narwhals/files/narwhals-1.38.0-opt-polars.patch32
-rw-r--r--dev-python/narwhals/narwhals-1.38.0.ebuild46
-rw-r--r--dev-python/pytest-timeout/Manifest2
-rw-r--r--dev-python/pytest-timeout/pytest-timeout-2.4.0.ebuild50
-rw-r--r--dev-python/python-stdnum/Manifest2
-rw-r--r--dev-python/python-stdnum/python-stdnum-2.0.ebuild34
-rw-r--r--dev-python/pytools/Manifest2
-rw-r--r--dev-python/pytools/pytools-2025.1.3.ebuild31
-rw-r--r--dev-python/virtualenv/Manifest3
-rw-r--r--dev-python/virtualenv/files/virtualenv-20.31.1-ensurepip.patch34
-rw-r--r--dev-python/virtualenv/virtualenv-20.31.1.ebuild138
25 files changed, 731 insertions, 0 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 634581a30053..5496ee655807 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 7894ede682c3..2dd23a3e1b0e 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,7 +1,9 @@
DIST boto3-1.37.37.gh.tar.gz 930327 BLAKE2B 93ed4e903189a9620f13e71fe64557ebcfa5c696688b4a21fc4de0f9d21f51fd3b9c9dafa4a5dc91fc88165c14207b17b3f121e9eebdf1c1ab7e55472573d2ec SHA512 e19700633ccf6be76ab1baa0811c24d36aba7e0b8f1933fc10d1dc67d73ec0cd66a4c45ace1f2bdf815c3b35ffafaff2ce7ce9a4678e7f57984039f96d0f9fa0
DIST boto3-1.38.3.gh.tar.gz 934010 BLAKE2B f5008a63aec620385e06c15e97ea37335bba190e5a29920c14389ae0dfc0e09a70ce70f8b50c0d25feda3defd9e855739305d19df7759688c156f53fc698b533 SHA512 8f300e38c7912f5df00431c1b70494521ac49500512b4aba7dc18f6bf0e570508d6a00fe8a98eb3c8607af39744a67e3b47d69507dbaf25d44dd02085f24bf95
DIST boto3-1.38.8.gh.tar.gz 937130 BLAKE2B 4158573a032957c33f62c6406937a45956f4ccf972be4a223e16a327b0b476402a1e7bf7d9b6a5b83005fc324f6c0062ed73008972cabed9247790225c4d4e5a SHA512 3c3854ed132ad4c81cd868848a370cdc73101ac3c578f8ae70bc53c9a98b1d85dcd364258027adef976b3c6d220aa45f865928c055c9320d3a268e0e29d5af63
+DIST boto3-1.38.9.gh.tar.gz 937730 BLAKE2B 6b1a68095601d9b32be0679171a73b204897a7f632c1825ee203d27b46c625b196739b9c6ed8f19e84e0f0d2ba3a777539d9474cbaaa526fd499655e62ce9def SHA512 37960c90bb8de6328dc08cabb98a71e0dbb9303137410a1e44efdd650d6d0009398a4c4fb75ab53f8c8dfa7f566925c03de10012092967e661157f6bdc12e583
EBUILD boto3-1.37.37.ebuild 1205 BLAKE2B ba88d00e8ea05d27260511e6110158d1f305ce8bde0aaf3385814b38f6b977bd8fae2b092659d5765d6c3bcf80cd75fe5f2bea95374a3105c23cdfbf04bd8ec8 SHA512 6cf3155f855f19611a770cf2db452b139af4869a39f2e07d1040a9c45a3cfd13341f3a7eadb2e13da7c38d29492d68307a9e88b62c22704ef15a5c082da651fd
EBUILD boto3-1.38.3.ebuild 1212 BLAKE2B 330ae5aa88cd37eb5c427614f09837176179dbbc876517f346f4d39f584c63cacf7864d9b06b198aa275da9069c86a2788482d16eae855d441554015bc43f541 SHA512 b52a0c5cc6e1a95e203c7f09aa624e7929896b0ab594289f79d95dbdbc696e5c816387aa1a5cbf6d69bb6d362be1121c9638c5cd62eaabaf3c18e1243f841f4d
EBUILD boto3-1.38.8.ebuild 1212 BLAKE2B 95a287aa75911e695b12b9e12efe2a08f4c9f3ca843455c313d0675fca4effe9c06bbd23a7d36337c8f3562a6cde872c80d8dd2abb891543bac6decb9bf1266d SHA512 45c6e4186e3e4c92a3cc26c728a243a6a7b67c9087d46a39fec1ba5830934e6d7a0df34c61504efe73dd7afe62e336766a35a740a618b35e06c4718faf600ea8
+EBUILD boto3-1.38.9.ebuild 1212 BLAKE2B 95a287aa75911e695b12b9e12efe2a08f4c9f3ca843455c313d0675fca4effe9c06bbd23a7d36337c8f3562a6cde872c80d8dd2abb891543bac6decb9bf1266d SHA512 45c6e4186e3e4c92a3cc26c728a243a6a7b67c9087d46a39fec1ba5830934e6d7a0df34c61504efe73dd7afe62e336766a35a740a618b35e06c4718faf600ea8
MISC metadata.xml 493 BLAKE2B 7d6324fc877ffe1d20c5369c2af0b09a7028f94d28f1841188913d0d8be7ea699c9d3f92c624992c4c96bd69615d3a1211a2483c76c56b7d3082492e43512523 SHA512 44420d8c03d5986f990b76369edfa8dfd7659b4952db3ad946fd05392ec594628a28745ad888d055d4f074d5214f61fcffafe6c04c4ab54109d45ac0371582bd
diff --git a/dev-python/boto3/boto3-1.38.9.ebuild b/dev-python/boto3/boto3-1.38.9.ebuild
new file mode 100644
index 000000000000..719cd03bd71d
--- /dev/null
+++ b/dev-python/boto3/boto3-1.38.9.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..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 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.12.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 9c89b2e9a94b..e01a7ada7549 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,7 +1,9 @@
DIST botocore-1.37.37.gh.tar.gz 14563135 BLAKE2B 290689f13333ab7ebdbac0bccf6568035776482dbab62c542a41ce6bf93b9d5e01400526c50534fb068798dc5626408c039f8746f091fe881cb70629c6ccd6e4 SHA512 3e020f6f264ef19a71f812733536812abe92e5998f3c19766782e01cdd235a17648b330bdb64289ea8b87a520625e0c7ece9436e014ade111d66bc4181f5bec9
DIST botocore-1.38.3.gh.tar.gz 14578552 BLAKE2B 4766db1ba2651ebe65c79f8a37c91cf95875a20c0cc51c1886cd394b90d50109738daa79b398e0c4b80031cfab69e1338dfaafbc0ae796fffa3348f6b13fc1ce SHA512 ad69e119d5bbc98a0c14c1c927badeecc1f57d31305e6a07af41d4d4bf6755f5abc150e36321f71b9495221ad93052d84a1dc964fb9ef6fdd791d4c37e75a01a
DIST botocore-1.38.8.gh.tar.gz 14606167 BLAKE2B cb92f6014349f5188d62ddeb043e7532c50c7edc984cabae918825cdace981694c37ba656afcbbb64e65e275da4980d5f256a945bbcc63f9609272b08690c3d5 SHA512 bc9096051fde740a908ef0912a0c205595e7df653a349c167f616a788423578ba6b3aed6fe6213f528faa32b1c946abf0ac66dd81afdc05d41d12a4af4f7e818
+DIST botocore-1.38.9.gh.tar.gz 14612563 BLAKE2B 10a0e43846393c06c808e306cde1398ea9374712d07b71d16270cd3238d3063f66ff532fab465acb5a87065002b7ca7394d0c77a25c83b9f8b8ecad7823042a2 SHA512 748c373a1be84a123968444316de7ab6f34b548d7619183d23ae07d0b0aeeeebc8ba1d25bb5517f0491144f7578fa9a7e9fbca066f6aa0da7b2d7439138bb8fd
EBUILD botocore-1.37.37.ebuild 1484 BLAKE2B e69b432b70d99a29bce6a148a732df49694427d669ea669c64482ec58959f640650b02635f34a613c6a87fed9e4c199cc971b4c811e1ced6db9db1c3e4fc384b SHA512 81c31e65ddea2c9d721e540e6b63c0d76bd7f3f847d06d2cb021bc02449373268cfe08b262db804d1cf65f77bd5bef6fb25cf4a070ee106cd7a231531d6d1130
EBUILD botocore-1.38.3.ebuild 1491 BLAKE2B fcbd1d768fa7cef66b459149005cdc3c61b9f4890401b522514ad892b3d580e6a81ebd848f4a03e56986500b4e609fd79e1d72a5b5fda534945535f86bed8b6d SHA512 66e5ab74feb520f3e55cd3b5285b2ed204299aa5c5ebe9d33c0cd2a4054aa61be0a140004e613d2612d60c2f33ef82d37d778bb43a5850d63da39d664dc819ae
EBUILD botocore-1.38.8.ebuild 1491 BLAKE2B ddf309cd14925e7c4da8586580b6c9a721cd1d56883edddbe34106573e37a298867576d2a4097e56a660bf300ccbb78ce4a199d3a465258355983c8f19686640 SHA512 0ac5d57f6037ad41126858d12b90ffd266e82b93fa48b0756dcd67d658571e2ae0a2e5e37ac0503f01aeb9921ebf0ce34c1fbe2029c051dda972a0c30b34dba8
+EBUILD botocore-1.38.9.ebuild 1491 BLAKE2B ddf309cd14925e7c4da8586580b6c9a721cd1d56883edddbe34106573e37a298867576d2a4097e56a660bf300ccbb78ce4a199d3a465258355983c8f19686640 SHA512 0ac5d57f6037ad41126858d12b90ffd266e82b93fa48b0756dcd67d658571e2ae0a2e5e37ac0503f01aeb9921ebf0ce34c1fbe2029c051dda972a0c30b34dba8
MISC metadata.xml 499 BLAKE2B e5aaa7da26f200c09adfdf38b68f656bbccbec627cb5d966b280ac2165334e7eec659c89075bcace748f58e2ec3e7d2998e54a688d56ecea2d30653c67dfd35a SHA512 103c554d5dbd967bf9b6e418b3913d9235e7e910d012160909ce0715134ed2e37b06e6a345395f9d16ce08d1cf51f3ce458bce93c6a978fd3dca6610f2acdbd0
diff --git a/dev-python/botocore/botocore-1.38.9.ebuild b/dev-python/botocore/botocore-1.38.9.ebuild
new file mode 100644
index 000000000000..b75511187ff5
--- /dev/null
+++ b/dev-python/botocore/botocore-1.38.9.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..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 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_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
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest
index 02385effeb7c..19b764f4941c 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -1,3 +1,5 @@
DIST google_auth-2.39.0.tar.gz 274834 BLAKE2B f924291ba51799c4560849f61c30419110c786bfe12bade26ecd6940c952ad91a515770997008a2dd0b82f42771695500b951e036b2387b43e57c76ca2e6e04e SHA512 3bee0b649fdec2e9972afc47cd863f58c2b5e451a3970d85674d3d0572b1cbfd39d355af8c7648bb79aea2b41bd177da03dd01cb146681ed651de2d06bf355c0
+DIST google_auth-2.40.0.tar.gz 280934 BLAKE2B a70b27a417e08e7d0edbc0ec09049aca6035582c9dc0bcc9b0d29acbc17f137beb2a9c145e783b356720b3327fd426025bef236a63dab83e98399a9bfd0dda36 SHA512 0e4587bde4076fcf8f905f1f8de6aa3b145424be2b8a36108f4f1fad12f024ea47e1b0bc5c877fa119b6a0dd7fa7fcb6a48e6cfbe4dacf72d04c23938cd66dbb
EBUILD google-auth-2.39.0.ebuild 1822 BLAKE2B f1203931daa0c53b97ecaa29db5459d44a6aaa006afd3b14eb73167e93193013c2af7902b56112bffdfaf099f07a038087e639a662bf583b9f02ef3700184320 SHA512 01d29b40edda007b2c2991343fa719527d13441541e82aad526bf3852601c973199207cefd8eabd96648fe438a482eb78390df2e4a49de9d6510c4ddb3132177
+EBUILD google-auth-2.40.0.ebuild 1859 BLAKE2B 002f568891854300d633025272f926f35efa67c61c2fb4be4ba29d0b174db43acfe6fdcc45fe60384d69ff7c45c9a37883a4e5aaf6f4c00e58c59652b0614a09 SHA512 7831c928bcf5db5c6167b1fc7008c91dd95ed5e39a8654026bba395bed052fa3aad205e385c75f578f79ca4a9e5955b65e41726b38568ea05fe4680d3da285a2
MISC metadata.xml 416 BLAKE2B ff9c2769eace434eefea368c37dbbecf552df1ea0dbf1da1912cd8fdf6d6dda7f4f06a5f580ed1f6472d8d7d65d764bc731b1a8da3344f3822f66008621860b5 SHA512 9feef3f07231f790abf8701f38b0c258db96ef9da7df5fbbe04b68e2549464365872fb284d27c24fdc9c82ea38e4b991474e9946d928bbae5e7744a5266ad1e7
diff --git a/dev-python/google-auth/google-auth-2.40.0.ebuild b/dev-python/google-auth/google-auth-2.40.0.ebuild
new file mode 100644
index 000000000000..a878804db8d8
--- /dev/null
+++ b/dev-python/google-auth/google-auth-2.40.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google Authentication Library"
+HOMEPAGE="
+ https://github.com/googleapis/google-auth-library-python/
+ https://pypi.org/project/google-auth/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/cachetools-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aioresponses[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-38.0.3[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/pyu2f[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:,<[0-9.]*::' setup.py || die
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # tests are broken with up-to-date pyopenssl
+ tests/transport/test__mtls_helper.py::TestDecryptPrivateKey::test_success
+ )
+ local EPYTEST_IGNORE=(
+ # these are compatibility tests with oauth2client
+ # disable them to unblock removal of that package
+ tests/test__oauth2client.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ distutils_write_namespace google
+ epytest -p asyncio
+}
diff --git a/dev-python/ipywidgets/Manifest b/dev-python/ipywidgets/Manifest
index 1cce24f7edf5..802c515f83d1 100644
--- a/dev-python/ipywidgets/Manifest
+++ b/dev-python/ipywidgets/Manifest
@@ -1,3 +1,5 @@
DIST ipywidgets-8.1.6.tar.gz 116764 BLAKE2B 74e3b82cfdbeec3da00acf1fc55f4351975f431e7b62fabaa9871d9240880aec77c28e67d79cc17ca01e3f979ee6a7a4be1f1fe22be4a5d72c8d118af8e43ce5 SHA512 4997cf17a99dad022e3f625a1392db3f6edd82e829c0aa6eeb140a8554f8ba5e53a6ba745d70a117ab25577a085d3fe103b4cec022a24618b862b89e508ebe71
+DIST ipywidgets-8.1.7.tar.gz 116721 BLAKE2B 425557d840d4ddb904d22b0680a7e4ad6156adc3e129f0a95b0e8d2c55de0055b53bba213e40452af11da061d51878c03257fe38adaa3e6f7d102bbbe14033e0 SHA512 8085be87f0c2f2c334e9965d21e16c71009b260216e84ff1e5faaa81a5b9f0709a28150a8eac52bed7aeed4a3dc87b0d0632ae4ff62b15512be521b2e5be22aa
EBUILD ipywidgets-8.1.6.ebuild 1306 BLAKE2B 85d572b8af5476c121c47cc108c86b8b0eca8413236c3325a7f4a3b9e224d042cf4e022b9192fc9f9ed454f8b5423db279794d147ac0157a05d1001e7f54ae25 SHA512 7e8ccb7491fd53b1ded786720d3f7b7219778e37886dd1c87c61b71c45a8e628b8d980f3fb1b28be70a13b19b636823d0226f32b7ba96225516765c7e3677c9e
+EBUILD ipywidgets-8.1.7.ebuild 1305 BLAKE2B b81ed2c6eba4873324886490c533fb942ddeec69b0aff0713de48e08bc5a43717fe0fb997589b5308783536ca107e185293a170330ab75c73ae75afb9279015a SHA512 515bc949b3084de6104641fbd5481aa3070fd6fad239fea9cff11522a6464175b0f3e4e552c3d5bc2af5f351b1aaf91bdba33617e34b859af40b0838f3efffda
MISC metadata.xml 537 BLAKE2B 1f3b91be328b958870a72b5ce438c3e5bf67efd072b59dcb5ae77a9b89334e726af4fe8771221a7b728905cef4175cf7e0a49b11c651a7c0520b5cb032085985 SHA512 cb8092ea7a06e309a26abb78f5ddfd4a91f416e15374d2b59fb5086a64cc13f3dd408e18caa6719d12b1f18f762469a72a1027b2a047db626c51d22a5f304e54
diff --git a/dev-python/ipywidgets/ipywidgets-8.1.7.ebuild b/dev-python/ipywidgets/ipywidgets-8.1.7.ebuild
new file mode 100644
index 000000000000..12a521d819fe
--- /dev/null
+++ b/dev-python/ipywidgets/ipywidgets-8.1.7.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="IPython HTML widgets for Jupyter"
+HOMEPAGE="
+ https://ipywidgets.readthedocs.io/
+ https://github.com/jupyter-widgets/ipywidgets/
+ https://pypi.org/project/ipywidgets/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/comm-0.1.3[${PYTHON_USEDEP}]
+ >=dev-python/ipython-genutils-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/widgetsnbextension-4.0.14[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-widgets-3.0.15[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ >=dev-python/ipython-6.1.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # https://github.com/pypy/pypy/issues/4892
+ ipywidgets/widgets/tests/test_interaction.py::test_interact_noinspect
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/jupyterlab-widgets/Manifest b/dev-python/jupyterlab-widgets/Manifest
index 7368b13597b9..d2ad69b3b79c 100644
--- a/dev-python/jupyterlab-widgets/Manifest
+++ b/dev-python/jupyterlab-widgets/Manifest
@@ -1,3 +1,5 @@
DIST jupyterlab_widgets-3.0.14.tar.gz 203815 BLAKE2B a1a6c39722fd2d781a809833719a5206e5eef838a58e87067ff8494ce6826b6956184378eb4ded7075ec79df2a45446786353c77f43b4a65cc8855b8c9d28377 SHA512 5f87d63d590a3c48359c1b81688edfff1b36149f969c7edffc5d9cfc2d0cbffc755dc0f5691bdd369f8481dae6fd4f4055631b06fcfa81b43f92218026f70bfc
+DIST jupyterlab_widgets-3.0.15.tar.gz 213149 BLAKE2B eae5a123166e7cc0d1716218f8705955c5b520b54e0e3dbae3c92700f62b714c60109afc13d7358e6f6dc2e1dd01c36a93cc57dc574a5a3ea8ea46e64819d7ae SHA512 0e6f570e2e3a419db9a81e46566dc961ac904f30957d9326788ea2e94c915da1ec49e08dd93a17c5b49338ed84baaeae259a9c1923a3f135abb2a1b6d4e0f2f3
EBUILD jupyterlab-widgets-3.0.14.ebuild 522 BLAKE2B b184c5ca6611fdad254ecc204fc44e677d0e9c5813f2933daddfdb264c229912d4621fdade1df746ee5836e775e39ccb891628eae902bee68127d7f68684ddda SHA512 55f128c8549d9d3f56ba66335c96b24d79e34a6f21c3bfaf78835ba13a564c0f9ce190fec87a0c016c13769fb511efb6130f5ee3e9b290b098e41bb79e075a1c
+EBUILD jupyterlab-widgets-3.0.15.ebuild 527 BLAKE2B 1012851201eced85f6017a4ad4d76d698b9419a413330742c2def5d1c12ddb5a99ac380545f12c810461088a48af3b7479973c38223d148d77d74ad8af3994ea SHA512 2ac056e5356c1b220450d3a310164d26bf2adc76c16e3c81cc1eebf9fbee66e9ecb4bf779c36d801f7cc93ce68fbb4d1f67bc1a5eea58ef4ed24eecb617b8d1f
MISC metadata.xml 545 BLAKE2B e118a018413f28e1e793c14f26b1446f756ed0a17f4b8d7f93e3271300ce02ebffdff931356378f49c846aea0f3d01ebaa1aa13fbe4b914dfb47ca9cdff61ca8 SHA512 84e8c0c8fc095dff538d2acbe47065490228b2a833e8823e5462395aded8860472bf854389faf58ceeac758cd8d2256da58c738db6c86e22e9bb0f93dfefabfe
diff --git a/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.15.ebuild b/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.15.ebuild
new file mode 100644
index 000000000000..6ddbcf8e4c7e
--- /dev/null
+++ b/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.15.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Jupyter interactive widgets for JupyterLab"
+HOMEPAGE="
+ https://ipython.org/
+ https://pypi.org/project/jupyterlab-widgets/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/meson-python/Manifest b/dev-python/meson-python/Manifest
index 733726df1021..4338915f7403 100644
--- a/dev-python/meson-python/Manifest
+++ b/dev-python/meson-python/Manifest
@@ -1,3 +1,5 @@
DIST meson-python-0.17.1.gh.tar.gz 79456 BLAKE2B 88bda9aadc74d186aab41c9b3a2fe5ba7d51b5997c1c043cf4ea9448395d0c5c5763ccf35358ab867d32a4537a4041a3cf480d82c9ec5cd8d1b5d6bc67d35fc8 SHA512 bd5f4c807468b81b3630eeb6973c2a574473c22298eb2c43d30b67b7503ce77fd79d4509a8f1b0186197622d281279a9c3aa5d9d1c2286d46b7aea1ff2461ae5
+DIST meson-python-0.18.0.gh.tar.gz 88056 BLAKE2B b8379a6cd37c3b4e89884e21ebb85ebed6a5d86575ea57388564659a0fcfab3d0f6b71bd49fc8014486118cf31af3a0a1c67a37afa1b9b93d634622a1bc40570 SHA512 f32f02851cdfc13f29550b297b3bce9038bdaf02381b15064e36442104e93624e090abeae23b9de97dfa971aa456716cae65dbe04784beee13b510db12de1000
EBUILD meson-python-0.17.1.ebuild 1555 BLAKE2B 622049554cc5253f929e8baab818184d076308680fb86ab263e5089688f4d4c864db360bebbbb908ccb3c47270931ecf4c479a2ca7e52591234b3bfc6351649b SHA512 da33f1321fc90851b85cdf1ccce86dffa2cf201e3b1e363ebfbb52cfafc01aa31b567600da81fb2c300374f3c20dee17cf46dc4b3da0ae90b491bd7270f8cb3e
+EBUILD meson-python-0.18.0.ebuild 1557 BLAKE2B 69452f7da970a89e09d2e6c66e6f30bf082b387bc5aae6a0c2c91836c5103f180b868d16a78c20ea03bbcec17c713847029c075801a0d0ad09f3323ca1618920 SHA512 ebfbf925168990e404d9b709025d484ee682c24cb2dc875d7e22fc62d876390be441405c55d3f551da4efbcd161cc48345a137784b9a17a7200b51d5b98a11c3
MISC metadata.xml 411 BLAKE2B 8a7344d7bab741106c4eaf5ccabbbdbe359e3c4f4b4a1a94390820392e0508244652b23a170739d43ccff2e82d1593274bfdaf94171cfcd5a6ec748b2ade482c SHA512 05b9171f27ee6707c893c4f3efbac5c16ca9899134b54e94ef3cad9cce620a03cbbadfbdc134f066abc139631c9b6637614ff5e135e0944dc61c5447ec70c129
diff --git a/dev-python/meson-python/meson-python-0.18.0.ebuild b/dev-python/meson-python/meson-python-0.18.0.ebuild
new file mode 100644
index 000000000000..5c71dc2fda46
--- /dev/null
+++ b/dev-python/meson-python/meson-python-0.18.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{11..13} pypy3_11 )
+
+inherit distutils-r1
+
+DESCRIPTION="Meson PEP 517 Python build backend"
+HOMEPAGE="
+ https://pypi.org/project/meson-python/
+ https://github.com/mesonbuild/meson-python/
+"
+SRC_URI="
+ https://github.com/mesonbuild/meson-python/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/pyproject-metadata-0.7.1[${PYTHON_USEDEP}]
+ >=dev-build/meson-0.63.0
+ !kernel_Darwin? ( dev-util/patchelf )
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ >=dev-python/cython-0.29.34
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # required by tests/test_sdist.py::test_reproducible
+ git config --global user.email "test@example.com" || die
+ git config --global user.name "The Test Suite" || die
+ git init -q || die
+ git add -A || die
+ git commit -m init -q || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ unset NINJA
+
+ local EPYTEST_DESELECT=()
+ if ! has_version "dev-build/meson[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_wheel.py::test_vendored_meson
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/narwhals/Manifest b/dev-python/narwhals/Manifest
index ae261759557a..b69845bd510f 100644
--- a/dev-python/narwhals/Manifest
+++ b/dev-python/narwhals/Manifest
@@ -1,3 +1,6 @@
+AUX narwhals-1.38.0-opt-polars.patch 1097 BLAKE2B 117aa3e4ce8f78fa50583b17a851cc4db86d506612e1e5fcc1c68803373a038e578a6c8328100a335af21ac179387cf23732cd28972e503f7451897c9b2a5c14 SHA512 615d1afd5a7b9c35e724933e76ca4b49ab0d610437641469308c42e1c0b323b69e4530e22be03b02e4294da7ef8ab9f84a56511aecd87b92f653956617b28a6d
DIST narwhals-1.37.1.gh.tar.gz 708868 BLAKE2B 0cda4e6febb2407b12db34068ba5419cfacc2003a6e4c9a62f713db8ab9994128ac6a739d09a8eb40ab543eb689c3867f3069841f761786a221eff5ef1b37b39 SHA512 3aeb15341f525397aff4ca389cafcdce3b433c0cdd7d0ad389592cfaf0c3837019660895b3a52923b84ce4f2b3f9d29670a962dcd5687dca1a4fe99977e49e20
+DIST narwhals-1.38.0.gh.tar.gz 714872 BLAKE2B f60b828c20849866ac2b0a48a4d3cdd21c80c1f2d48beb1cfe1f519e09f9ea7e045ab3824de886a880e3e5385786e73208bc69a6bd8c1c06b94c3161f3be4d6c SHA512 668f57d7830d70992477f5ac7d917abaf95b36ade8c0b60c93d1ed6eb5f4aa892c83812aedd5056b32d6498d727804d835d880ddc41a2e6a0630fee05e30e581
EBUILD narwhals-1.37.1.ebuild 935 BLAKE2B a740f40ee2eb4a1fb34a232f6afb195d58e27361e2d88ba00ebe1281b538c18221ef52ac5d9293c03c3faf6201a61ca43aa62d7ef3d4724294b3cbfe69c3d82f SHA512 afe798cfa16ad6ad1d4218aabeb5f97294329ea9835d70b0deed585421e53a7875bbb35dc90d578f0444b2c623e9523c85b944a7f33f92cb88b4b667396b0891
+EBUILD narwhals-1.38.0.ebuild 1056 BLAKE2B 7ddb4d37c45e7e8116d41d669aa243b796a88c0a8403aab0879bfc421e9f720c7c942a32fc43ca27c0beaaa3db9fb26e0712245e2937cd7f16162431f97cf155 SHA512 97dab259b730a6e045534982a9404705c3d8bd5b7780eaea0dcf861ef1a1f8f8c2ba709de8e32aa1361f78f4326e922f853181389265cb2584e33a4740c36477
MISC metadata.xml 375 BLAKE2B 43899f809d21747dc74741e435f36f840aa771fde070a69f37c8a424429378e1cd48afcb360ea1741e0229c9fb49da2aa4cb5cf2d5bba7bcbf7c3c1bb8245051 SHA512 9990ca94b4ae86d497fc2ae82ab8b1fe66c79a0eb4543abf695903a3cea9a90e21941cd3c41e4ee602211834afed035dd7b4036abe1303001f8e3131cf16bf5a
diff --git a/dev-python/narwhals/files/narwhals-1.38.0-opt-polars.patch b/dev-python/narwhals/files/narwhals-1.38.0-opt-polars.patch
new file mode 100644
index 000000000000..96de66908a42
--- /dev/null
+++ b/dev-python/narwhals/files/narwhals-1.38.0-opt-polars.patch
@@ -0,0 +1,32 @@
+From add7beafc8394ae76309bcb93443aee840d8e5f0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 6 May 2025 07:12:45 +0200
+Subject: [PATCH] test: make `polars` optional in `truncate_test`
+
+---
+ tests/expr_and_series/dt/truncate_test.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/tests/expr_and_series/dt/truncate_test.py b/tests/expr_and_series/dt/truncate_test.py
+index 3e51a796..d2a2e960 100644
+--- a/tests/expr_and_series/dt/truncate_test.py
++++ b/tests/expr_and_series/dt/truncate_test.py
+@@ -3,7 +3,6 @@ from __future__ import annotations
+ from datetime import datetime
+
+ import pandas as pd
+-import polars as pl
+ import pytest
+
+ import narwhals as nw
+@@ -227,6 +226,10 @@ def test_truncate_custom(
+ ],
+ )
+ def test_truncate_polars_ns(every: str, expected: list[datetime]) -> None:
++ pytest.importorskip("polars")
++
++ import polars as pl
++
+ df_pl = pl.DataFrame(data, schema={"a": pl.Datetime(time_unit="ns")})
+ df = nw.from_native(df_pl)
+ result = df.select(nw.col("a").dt.truncate(every))
diff --git a/dev-python/narwhals/narwhals-1.38.0.ebuild b/dev-python/narwhals/narwhals-1.38.0.ebuild
new file mode 100644
index 000000000000..a5895f097c1e
--- /dev/null
+++ b/dev-python/narwhals/narwhals-1.38.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Extremely lightweight compatibility layer between dataframe libraries"
+HOMEPAGE="
+ https://github.com/narwhals-dev/narwhals/
+ https://pypi.org/project/narwhals/
+"
+# https://github.com/narwhals-dev/narwhals/issues/2284
+SRC_URI="
+ https://github.com/narwhals-dev/narwhals/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pyarrow[${PYTHON_USEDEP}]
+ dev-python/pytest-env[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/narwhals-dev/narwhals/pull/2501
+ "${FILESDIR}/${P}-opt-polars.patch"
+)
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --runslow --constructors="pandas,pandas[nullable],pandas[pyarrow],pyarrow"
+}
diff --git a/dev-python/pytest-timeout/Manifest b/dev-python/pytest-timeout/Manifest
index 0603825a097d..f2383271c641 100644
--- a/dev-python/pytest-timeout/Manifest
+++ b/dev-python/pytest-timeout/Manifest
@@ -1,3 +1,5 @@
DIST pytest-timeout-2.3.1.tar.gz 17697 BLAKE2B 5f0ffa2fdda59ef28a92bfd5742891f63c1fa400db4ef89077fa13d917932d83e76d543c4c326a27df582a025122d8a75f1f7adf0daebbecc42273d4323ff93a SHA512 f200d625d11f76173521f4e2e4e09d57f6613d9b1420c57893b454ec496d5f11b32390b95eb995b403d15f8563b742a58fa0e0cbad42246b4049787a389ad83e
+DIST pytest_timeout-2.4.0.tar.gz 17973 BLAKE2B 97408cf5c9b49d809ef7a5d057afd22dfd856b64043879fa8e7d9f3996f76f5554bfed62bc8f40f4e5f28f058067b29b582953bf977fd1f6de95dfc7184ce41c SHA512 ca37754c20517024cb88e88e9c4d8497ff5c235d1bae4bc082d21b5807b43aac8294757900f9bc29e3e34a4b8c671136468793f47baadebf086f924b59b0bd0c
EBUILD pytest-timeout-2.3.1.ebuild 1165 BLAKE2B 3c5f1e88acee58ada888ec3138d80c1b5a2eb7924b9bfed11d1dcd992728c6e0849ddee1c7c85e4c8953f1f0e8350083ea3f10e6b52aa31c529813ffba6e986d SHA512 0636ceab2188bd0ddbc33a99472faa106587ff00c4b9f96912d606d84e0acaf63ce5c90e57934f97d64a0d204ae7ec2eac27cc7e97a005cc525b6d0f8335b01e
+EBUILD pytest-timeout-2.4.0.ebuild 1147 BLAKE2B 89812449bf2cc47a2520114314081cbc1bd4406e0e84e05815c6895d65b63a1b24f60ce9cddf1de39a39628729c295424e40888dc149f87490957595a431dd70 SHA512 ff61f067a6404f34ba8f8fb718c9c521e42df9f383840c80f3c9857a5be3b6866267d8733bd96d8222c50e5c93f62fdd912e49e3b24b904175cb782fff8901d7
MISC metadata.xml 420 BLAKE2B ff56de441243acbf2c7332acf224c8f64427378a8cd5f56c040eca1bcaae467459d8ae09409a963d0053a95035a4e7cfcda067d5be78bcd24ba222b2ce56d6f4 SHA512 c6b4ebdd5bd59452d0952e50526ca9b7cb5b88b12d989947a4775d60cdc9315d594ca7c37cb17c0cd4b2708d08db625f678fd577ac9031e0b0e6dbb364a6ad3a
diff --git a/dev-python/pytest-timeout/pytest-timeout-2.4.0.ebuild b/dev-python/pytest-timeout/pytest-timeout-2.4.0.ebuild
new file mode 100644
index 000000000000..f3649cb4aafc
--- /dev/null
+++ b/dev-python/pytest-timeout/pytest-timeout-2.4.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} python3_13t pypy3_11 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin to abort hanging tests"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-timeout/
+ https://pypi.org/project/pytest-timeout/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+# do not rdepend on pytest, it won't be used without it anyway
+# pytest-cov used to test compatibility
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ !hppa? (
+ $(python_gen_cond_dep '
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ ' python3_{11..13} 'pypy3*')
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_timeout
+
+ if has_version "dev-python/pytest-cov[${PYTHON_USEDEP}]"; then
+ PYTEST_PLUGINS+=,pytest_cov.plugin
+ else
+ EPYTEST_DESELECT+=(
+ test_pytest_timeout.py::test_cov
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/python-stdnum/Manifest b/dev-python/python-stdnum/Manifest
index 1aa5aa836cb5..1ad38f08c6ce 100644
--- a/dev-python/python-stdnum/Manifest
+++ b/dev-python/python-stdnum/Manifest
@@ -1,3 +1,5 @@
DIST python-stdnum-1.20.tar.gz 1191978 BLAKE2B 8395106d155c1f4642a74691d219230b42e81b521db41c57d5e978eb8e1769ca51598a1ad061356a1997fac5a60ca21796d1e8f79fa7d737e70fbbfe78dbfcc6 SHA512 92ec9fcb3bf71405569e93668ab1d089225da74a33095e63ee8f0116c868a4b937d093ba98e29085889d1745cc55eab13936d6ed9ceb24beecbc193c722a515e
+DIST python_stdnum-2.0.tar.gz 1237342 BLAKE2B d1a0f163b5ef97827aab579bbb12d669923b466a29a4e6799dc950126fcc823e91ea9f1426b8239085355893cd588cd7504424a57e7fc783972b3087a94078af SHA512 583379fec66dd507429b1740edd5c9c66fc1a7bcefc3af608535f86265c375dea2b7e004ac9aae6b4757c3e085c501b64d4e8a7a6c55bed7c452f49d873c2f08
EBUILD python-stdnum-1.20.ebuild 741 BLAKE2B 513676b8aaae54afc0b909851ea1b531392e6182912052aa0bde7b359fca47010794dfe979fb3fd1c4f9265d6f52da9c8d3146c70634771c9b898a4b15117814 SHA512 f10b69e66a9afe02a46d1d8e7d304a932c443e49f8ff5898198ac09283d7907a3f090a1487775ae29ccdb00bab5d0816a2a72bf961a60c55f04af8b881b02a2c
+EBUILD python-stdnum-2.0.ebuild 665 BLAKE2B 4ebcb1acb1de436caa7896507478fc910a52a36e2a3980a2cbbad1f4a7baec8d293ccf0681245f4ae1cfd800d3e9c276f36a4ca43a7684aab91c68944fabfa86 SHA512 089d5a858fce9fb24de5aa400cd73492fe89de77767cded0ff96ee251d9672f22ae87e368e2ee1865f1a450f35f20ed90409efefb9e82b2b51bd06c2617f1a1b
MISC metadata.xml 461 BLAKE2B ca459eeb4a49d155ee0e1f53a3830f500607e7b412c9546c05e54c99fb2d74982e4bb3815fb5373b627d09c580f3f6807737b33022542f0fb13ed45c085e57e1 SHA512 66ebd3c6792e7bc35df1b77171179191a98c476c38827fb11cfff1e0c003317a2eb296ae12cea484bdcfbfd364dfafb0abc60cf0886c993b66860f7d9efe6013
diff --git a/dev-python/python-stdnum/python-stdnum-2.0.ebuild b/dev-python/python-stdnum/python-stdnum-2.0.ebuild
new file mode 100644
index 000000000000..d8eb018cc297
--- /dev/null
+++ b/dev-python/python-stdnum/python-stdnum-2.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A module to handle standardized numbers and codes"
+HOMEPAGE="
+ https://arthurdejong.org/python-stdnum/
+ https://github.com/arthurdejong/python-stdnum/
+ https://pypi.org/project/python-stdnum/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="vies"
+
+RDEPEND="
+ vies? (
+ dev-python/zeep[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e 's:--cov.*::' setup.cfg || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pytools/Manifest b/dev-python/pytools/Manifest
index 7386a206f4d3..3b510a8220cf 100644
--- a/dev-python/pytools/Manifest
+++ b/dev-python/pytools/Manifest
@@ -1,3 +1,5 @@
DIST pytools-2025.1.2.tar.gz 80400 BLAKE2B e07379f1c954ece6d9b2e5c7db5a84758d5d85a5955990cf730a135bc961321132c36c7e1402c4684d50957069f839bb732bda849f3d46513ddb5533b9a88b88 SHA512 74fc858aed5043cab9aa2210f071aa3aaf60008ec60b63133dac870ff257981284f66b40ccbedfdcf68969b1e1476cb012dbf83fa9397bb1b857ae5db09f99f6
+DIST pytools-2025.1.3.tar.gz 80509 BLAKE2B 448de6bb5ddedd905ee002ee4f6c0a49c657fce546e99c8ccdc5ddc119db9b8e0d40a138be9b3f25a63c5beab1602ff862805b175f927bea2ca306d6155d2499 SHA512 cdf9562f9dbc916fc0c21f363e7f34c1bdee3fd5adc5b499461ce40e887100d39ab0f8dddc50ade6c85120c74da3330d487eda112b7bf6d7e567fcdcabbe6e9b
EBUILD pytools-2025.1.2.ebuild 787 BLAKE2B 41ae73d2fdde12547f00d7aa9d7f3a032ff1032fe2c456079fb3d8a64ade9c5c7f4a6b7c1666b595276e5c4fd01e94c2ce1f6b672602d5c4fbb768aaa50579e8 SHA512 a1bfb48992e238a446c36e92d59d96841454491d590e7ef527b14387f472a9d75c2609d43b4c3d8cd8e0f10a5c9a4d96df28ad73b00e1c9e557c3bd3f474d767
+EBUILD pytools-2025.1.3.ebuild 777 BLAKE2B 93742e69740fdf2f930a0ab941b7d77c3d3cc943f63a29c06ccfc31df33bc6bf2f4e95a861237eedf452360ee861a449e756a4e261d903eafe8f31a9a4de811b SHA512 f954b4272c7c08cadd23a7963c7dda1ccd488c0e843dd2ef315ce299cf87801e6dd42667aa48f59266c1bb26c24b2dcde08aff432da1a43305a5ccb9e8e7648c
MISC metadata.xml 390 BLAKE2B 3cd3f1c6df2c112e3828b55f4a4282495c24fb5f1869ee1c105710e517de738a767e30388c808432ce7e41ad5d14be4d56fb6ee7bcd62f9990262b145413ab20 SHA512 c28d8640d0b0c7d77ba18367ae5379b11747a67ace55a6f5910c2f5a4dd5d5816bb1a256a27e78fdad909de2947e5db84c16283604e216b393b5cde5c39e6b24
diff --git a/dev-python/pytools/pytools-2025.1.3.ebuild b/dev-python/pytools/pytools-2025.1.3.ebuild
new file mode 100644
index 000000000000..aabf4a0c8003
--- /dev/null
+++ b/dev-python/pytools/pytools-2025.1.3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_REQ_USE='sqlite'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of tools missing from the Python standard library"
+HOMEPAGE="
+ https://mathema.tician.de/software/pytools/
+ https://github.com/inducer/pytools/
+ https://pypi.org/project/pytools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+
+# NB: numpy are an "extra" (optional) deps
+RDEPEND="
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/siphash24-1.6[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest
index 0a269be016f9..81fa0a2628d6 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -1,4 +1,7 @@
AUX virtualenv-20.26.3-ensurepip.patch 1231 BLAKE2B e70cb1a5f8dc8ccf6e08fce67aa3485c0f584937d8e7b693f0d0859d6ec9d9b16bf1492b9abe96d4c8c8eb12814eaa54f76ed8e318f3871ee956189ce08b3dff SHA512 86c98d7ce4a9ea073c72cd103cbce66ed720794fa4fa2b68ac19382e3c4f53303613aed80a6984a68cab513cb198d648c5c6f103308eacb3c7306b72e4321129
+AUX virtualenv-20.31.1-ensurepip.patch 1215 BLAKE2B 1fdd0e242d1e47b313b667b46f78e0f542fbc15be353253f95dba79b8d5d1ba071d687f64d58b33bf347c9fe2a3a0c6c7f719e9fd6cfd3ec4d522426f5099b7b SHA512 00ebb77f6f7530af0ad91243b80d66ff6b2072180c47b7471702d432869648318acbf8467ede8e172ec8a54cd6ce6b70262915c09a433620621810ecb4f2b155
DIST virtualenv-20.30.0.tar.gz 4346945 BLAKE2B 67e78ae9e0b51799da4d3b1f981b70e4727d43f044cb699fcf93c00af181457f0bce8f5519e2b9b36b7713608a14da21bc1a8767d5c10a7791830f52580af70c SHA512 c7a43fe7ba1fa5224252d4d0982120b5ef353a20fd3b48c52f62a0ef46f63a795dcf2c5388449cdec3f24316dda77724f801358330baa71501e1dfd16dcda2ab
+DIST virtualenv-20.31.1.tar.gz 6076234 BLAKE2B d97adc477cf09d8944289d7e395428454e3867516bf3a84da08b598299b0a293eff5d6ea3a25dc906b1023d32eefcb0aa37f8515a68ab338de8d61c3c998df8f SHA512 1bac09af8a8db0104332e129f2a7a6623408547a1af63a2168a3e1519ff708c33d0665be489085548c0ae17962d787c5eec81d02920e32e256085ea4de5e7774
EBUILD virtualenv-20.30.0.ebuild 3954 BLAKE2B 9305c52c36b15c4a6fa9ae76b254d4e191c25c4242f9ca71930651a8fc1b9f1153cd1ca2ba08fde4f9e6cf0ca325a485229d2ad5561f2b229546aa909fe17fbb SHA512 9f60c98ce5d71f6e53cdedbe9060e4575d8cb455a99eb5bd70f47af4fdcf14ff40c98a4b959e227d7af404285ca679125fca88965f3c6fad0e93c8b6f324896d
+EBUILD virtualenv-20.31.1.ebuild 4062 BLAKE2B cc0986338feec5b8ccf2459cf88f4a3245c0b102f0f17a02ad6e4f973a7cf947cfe29666624c77639c306228d3f279075dd2fae9ca275d29c98cc1e4dbe8e8b4 SHA512 96ed4539211cd94550634026100c07358e6eb4cf51221a4be6b45bb7e2a18cdb25c35645568e30b21fff8695385bfa23e841cbcb3350ce61679b4da71edaa451
MISC metadata.xml 406 BLAKE2B 97fee04c2662c5c36b6e16538284def46eb2454424770f42edf2567ed804ca15c4e969c714c57573f897b0946246577ab6e35204ed1f3f1735713d8ab5d24667 SHA512 356d42db463b63a3b3a55c1e98eb661de0a10aa6a5fde4f8b3f888ec73020c6679e86efd8dbb0b3e4a5a720af95e658612ba460fe548e081a90beec75fb9c1b2
diff --git a/dev-python/virtualenv/files/virtualenv-20.31.1-ensurepip.patch b/dev-python/virtualenv/files/virtualenv-20.31.1-ensurepip.patch
new file mode 100644
index 000000000000..54a989fecb9d
--- /dev/null
+++ b/dev-python/virtualenv/files/virtualenv-20.31.1-ensurepip.patch
@@ -0,0 +1,34 @@
+From ab30a98f4bb53b7aad6fd130cf723271e2b7f638 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 22 Jun 2024 14:28:23 +0200
+Subject: [PATCH] Use ensurepip wheels instead of local bundle
+
+---
+ src/virtualenv/seed/wheels/embed/__init__.py | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/virtualenv/seed/wheels/embed/__init__.py b/src/virtualenv/seed/wheels/embed/__init__.py
+index 6b3ef263..37c114f8 100644
+--- a/src/virtualenv/seed/wheels/embed/__init__.py
++++ b/src/virtualenv/seed/wheels/embed/__init__.py
+@@ -1,5 +1,6 @@
+ from __future__ import annotations
+
++import sysconfig
+ from pathlib import Path
+
+ from virtualenv.seed.wheels.util import Wheel
+@@ -40,6 +41,13 @@ MAX = "3.8"
+
+
+ def get_embed_wheel(distribution, for_py_version):
++ # Gentoo hack: get wheel from ensurepip directory
++ bundle_dir = Path(sysconfig.get_config_var("WHEEL_PKG_DIR"))
++ try:
++ return Wheel.from_path(next(bundle_dir.glob(f"{distribution}-*.whl")))
++ except StopIteration:
++ return None
++
+ mapping = BUNDLE_SUPPORT.get(for_py_version, {}) or BUNDLE_SUPPORT[MAX]
+ wheel_file = mapping.get(distribution)
+ if wheel_file is None:
diff --git a/dev-python/virtualenv/virtualenv-20.31.1.ebuild b/dev-python/virtualenv/virtualenv-20.31.1.ebuild
new file mode 100644
index 000000000000..affd12204e66
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.31.1.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{11..13} pypy3_11 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13t )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Virtual Python Environment builder"
+HOMEPAGE="
+ https://virtualenv.pypa.io/en/stable/
+ https://pypi.org/project/virtualenv/
+ https://github.com/pypa/virtualenv/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}]
+
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+"
+# coverage is used somehow magically in virtualenv, maybe it actually
+# tests something useful
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.8[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' python3_{11..13})
+ $(python_gen_cond_dep '
+ >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}]
+ ' 'pypy3*')
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # use wheels from ensurepip bundle
+ "${FILESDIR}/${PN}-20.31.1-ensurepip.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # workaround test failures due to warnings from setuptools-scm, sigh
+ echo '[tool.setuptools_scm]' >> pyproject.toml || die
+
+ # remove useless pins
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+
+ # remove bundled wheels
+ rm src/virtualenv/seed/wheels/embed/*.whl || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping testing on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data
+ # tests for old wheels with py3.7 support
+ tests/unit/seed/embed/test_pip_invoke.py::test_base_bootstrap_via_pip_invoke
+ tests/unit/seed/wheels/test_wheels_util.py::test_wheel_not_support
+ # broken by different wheel versions in ensurepip
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_string
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_exact
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_none
+ tests/unit/seed/wheels/test_acquire.py::test_download_wheel_bad_output
+ # hangs on a busy system, sigh
+ tests/unit/test_util.py::test_reentrant_file_lock_is_thread_safe
+ # TODO
+ tests/unit/create/via_global_ref/test_build_c_ext.py::test_can_build_c_extensions
+ )
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # these don't like the executable called pypy3.11?
+ tests/unit/activation/test_bash.py::test_bash
+ tests/unit/activation/test_fish.py::test_fish
+ tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
+ )
+ ;;
+ python3.1[23])
+ EPYTEST_DESELECT+=(
+ tests/unit/create/via_global_ref/test_build_c_ext.py
+ )
+ ;&
+ python3.11)
+ EPYTEST_DESELECT+=(
+ # TODO
+ tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x TZ=UTC
+ local plugins=( -p flaky -p pytest_mock )
+ if [[ ${EPYTHON} == pypy3* ]]; then
+ plugins+=( -p freezer )
+ else
+ plugins+=( -p time_machine )
+ fi
+ local EPYTEST_TIMEOUT=180
+ local EPYTEST_XDIST=1
+ epytest "${plugins[@]}"
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ # remove bundled wheels, we're using ensurepip bundle instead
+ find "${ED}" -name '*.whl' -delete || die
+}