summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-08-14 07:03:59 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-08-14 07:03:59 +0000
commit9affcf678cda026d08ac691ee5f2dfefd29fe967 (patch)
tree11bf927b264f4623edb2c8c07e64a0cf6ff686fc /dev-python
parentde7fa9c41ec64be7f82b1241e35a550461771db0 (diff)
downloadbaldeagleos-repo-9affcf678cda026d08ac691ee5f2dfefd29fe967.tar.gz
baldeagleos-repo-9affcf678cda026d08ac691ee5f2dfefd29fe967.tar.xz
baldeagleos-repo-9affcf678cda026d08ac691ee5f2dfefd29fe967.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/ansible-compat/Manifest1
-rw-r--r--dev-python/ansible-compat/ansible-compat-25.8.0.ebuild59
-rw-r--r--dev-python/bitarray/Manifest1
-rw-r--r--dev-python/bitarray/bitarray-3.6.1.ebuild24
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.40.9.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.40.9.ebuild67
-rw-r--r--dev-python/google-api-python-client/Manifest1
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.179.0.ebuild51
-rw-r--r--dev-python/indexed-gzip/Manifest1
-rw-r--r--dev-python/indexed-gzip/indexed-gzip-1.10.1.ebuild62
-rw-r--r--dev-python/ipykernel/Manifest1
-rw-r--r--dev-python/ipykernel/ipykernel-7.0.0_alpha2.ebuild74
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild6
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/msgspec/Manifest1
-rw-r--r--dev-python/msgspec/metadata.xml10
-rw-r--r--dev-python/msgspec/msgspec-0.19.0.ebuild55
-rw-r--r--dev-python/pbr/Manifest1
-rw-r--r--dev-python/pbr/pbr-7.0.0.ebuild69
-rw-r--r--dev-python/pytest-regressions/Manifest1
-rw-r--r--dev-python/pytest-regressions/pytest-regressions-2.8.2.ebuild71
-rw-r--r--dev-python/rich-click/rich-click-1.8.9.ebuild2
-rw-r--r--dev-python/rtree/Manifest1
-rw-r--r--dev-python/rtree/rtree-1.4.1.ebuild38
-rw-r--r--dev-python/sphinx-prompt/Manifest1
-rw-r--r--dev-python/sphinx-prompt/sphinx-prompt-1.10.1.ebuild44
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-27.7.0.ebuild180
-rw-r--r--dev-python/types-gdb/Manifest1
-rw-r--r--dev-python/types-gdb/types-gdb-16.3.0.20250812.ebuild16
-rw-r--r--dev-python/virtualenv/Manifest1
-rw-r--r--dev-python/virtualenv/virtualenv-20.34.0.ebuild129
36 files changed, 1039 insertions, 11 deletions
diff --git a/dev-python/ansible-compat/Manifest b/dev-python/ansible-compat/Manifest
index 2d8249ba8cff..9fc8891762cc 100644
--- a/dev-python/ansible-compat/Manifest
+++ b/dev-python/ansible-compat/Manifest
@@ -1 +1,2 @@
DIST ansible_compat-25.6.0.tar.gz 88447 BLAKE2B 6431b22bc50d09f865d39046df55fd2a3fe03576cb640f0febc8f108b0ff7b190ef3014904e56f8cd50f37fd6db61da4cd71ab8d52619f8f4c42bac6344b95ed SHA512 3f60f0f6035c17eafa976d77cf811553ce018c3857ded05921a7f3378856cc1e8e5945a57080755cfa86deac52de67bd085834b334d597afc257b78c249f4ad8
+DIST ansible_compat-25.8.0.tar.gz 89228 BLAKE2B 752ecdbd3974f8317e5621a936883654f99a0e030d954f978a9b98ce7259f97575c18e4e65d376ad8b4f4430c5a721bf12d03bd95216849d04e8cbf56b8ca4e7 SHA512 ab36870d57f50d57bb8c4026fd3629907447f1afd4bd044fe7f1efac0bbeda6c07bc678d0ac55dd44cd6cf23fe4b174d3e5f8400463c3e9d1a643b59f841b1e7
diff --git a/dev-python/ansible-compat/ansible-compat-25.8.0.ebuild b/dev-python/ansible-compat/ansible-compat-25.8.0.ebuild
new file mode 100644
index 000000000000..fbc9b34c1183
--- /dev/null
+++ b/dev-python/ansible-compat/ansible-compat-25.8.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517="setuptools"
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Contains functions that facilitate working with various versions of Ansible"
+HOMEPAGE="
+ https://pypi.org/project/ansible-compat/
+ https://github.com/ansible/ansible-compat/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=app-admin/ansible-core-2.18.6[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/subprocess-tee-0.4.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-{mock,plus} )
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # All these tests attempt to connect to galaxy.ansible.com
+ test/test_runtime.py::test_install_collection
+ test/test_runtime.py::test_install_collection_dest
+ test/test_runtime.py::test_prepare_environment_with_collections
+ test/test_runtime.py::test_prerun_reqs_v1
+ test/test_runtime.py::test_prerun_reqs_v2
+ test/test_runtime.py::test_require_collection_no_cache_dir
+ test/test_runtime.py::test_require_collection_wrong_version
+ test/test_runtime.py::test_require_collection
+ test/test_runtime.py::test_upgrade_collection
+ test/test_runtime_example.py::test_runtime
+ 'test/test_runtime.py::test_load_plugins[modules]'
+ # pip, failing due to internets
+ test/test_runtime_scan_path.py::test_scan_sys_path
+ test/test_runtime_scan_path.py::test_ro_venv
+ # internets?
+ test/test_runtime.py::test_runtime_has_playbook
+ # TODO
+ test/test_prerun.py::test_get_cache_dir_relative
+ )
+
+ epytest -o addopts=
+}
diff --git a/dev-python/bitarray/Manifest b/dev-python/bitarray/Manifest
index 974fa0301988..4a65d9a3052a 100644
--- a/dev-python/bitarray/Manifest
+++ b/dev-python/bitarray/Manifest
@@ -1,2 +1,3 @@
DIST bitarray-3.5.2.tar.gz 148393 BLAKE2B 8c1b8aff8c30a0178916eee0b74aa8bc3e7b7300d466d8eba2c7295516d97e4860c5ac093009edd716e18b9c5460634b99b37277ef5bf37ed9adfc23799deac7 SHA512 2f730217146e69ff6d8eca3f46c57e43305518a6f263f10acd7302591990f565780747c88f62d0d2b11648f8d35977ec011697088778b02416edf532e7f2770b
DIST bitarray-3.6.0.tar.gz 147946 BLAKE2B e41ed2e177d4ae71c98e05d5456f8599727c80804983cbfb3e362a53d4ae7ab864fce569b16a07f54de24bbeb99a0a7b44877e124deff18fe80a37c0415872ce SHA512 1a46762912f54bc6aa226a53f99a9ede6155168ce145bfee686ba27ea5ddeb608ca2af8a934ccccf1f1b2894d423de49781dfac6c3a07a167b36b7f84e905e34
+DIST bitarray-3.6.1.tar.gz 148620 BLAKE2B 16c884f32ac5c1e5a1a258312d50ca3031b2500b23ca0ee34de6b125069c357584b91a997b30cb3ccc63f9dba3608d93b9126db45ae24a10a95ac2fe9caecec0 SHA512 6de261d27ca103195ed76c94a4dccff4cccb84af9d00661131e617ad8e9ba730d012d8ca807a3d02c650eb17e53988c5f54321f4d2efdddc308272e598746bf6
diff --git a/dev-python/bitarray/bitarray-3.6.1.ebuild b/dev-python/bitarray/bitarray-3.6.1.ebuild
new file mode 100644
index 000000000000..a510687dc8fd
--- /dev/null
+++ b/dev-python/bitarray/bitarray-3.6.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Efficient arrays of booleans -- C extension"
+HOMEPAGE="
+ https://github.com/ilanschnell/bitarray/
+ https://pypi.org/project/bitarray/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+python_test() {
+ "${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index bd7987a54191..27f5bf861b64 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -3,3 +3,4 @@ DIST boto3-1.40.1.gh.tar.gz 978197 BLAKE2B c93f3550d41c13292dd8f4dcaab9d896faca1
DIST boto3-1.40.6.gh.tar.gz 981330 BLAKE2B 929b4326d8d48e46750128e6236776b86fd5e59f0aab113e3ec797f18f138c7f52b30a79724f97de8083fd8e8baa04169e68e219ef5acf592561dabb838b4374 SHA512 65431a0d084298f51e0eee1753119f811261e9e57fdc5fa0491c9ce8d4fc745e705aed22527c8c06e003227c5c0bccc1a659e04bcc96a68fafb61bc53ec70a84
DIST boto3-1.40.7.gh.tar.gz 982158 BLAKE2B 36ab4722eab1c76514138e93e4ebf5ebf50714649d02c7465ecdbc74fdf32921270d3a71d67ffc788940ba0ef1b4c4b9e588c7c7777171de91dceecde18f7559 SHA512 48b237fb61d28f44543dbb6e4ea19e2dfd8c766ca9e7c17ef0d7728af72eed09a7ecb6354427d6aacf89a28a6dc54391c665a5aa248b65680918f9518f33dbbf
DIST boto3-1.40.8.gh.tar.gz 982609 BLAKE2B 2078913b650e09d356efb8c79c1a916c1574472b94e787d8e961fb3cdf8b646800bc4d01792c333f04117b877d51c3387054b3146482228c77265bb47936409b SHA512 1ea19fbb142400e8b17c345f2f94c14f6a7f13e12cdcf76714c7a28eb50a9cb038784b0c79d20587586bb0c1c21b0a42e12b8687beae364c6bd3b5b5b5fc51ed
+DIST boto3-1.40.9.gh.tar.gz 983018 BLAKE2B aa3b538175fc2e4b1418f6959ed1d643816fb3727140c14c1721abc8819a1cd912716743b25437724fc250836cfc2cf4b8fce5aa37d2f125e61a33b588739eed SHA512 88e291a805edd5c1a3fd40eef345e14ad5a0a985fa5378b785dfb45a73ee3ab4d70147f0816844281a5a9d768577ab651c5de39d19b4df4f5d58b2e1710cd503
diff --git a/dev-python/boto3/boto3-1.40.9.ebuild b/dev-python/boto3/boto3-1.40.9.ebuild
new file mode 100644
index 000000000000..bd6e26787db4
--- /dev/null
+++ b/dev-python/boto3/boto3-1.40.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..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 20e6aae52035..1fbe3a8f4605 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -3,3 +3,4 @@ DIST botocore-1.40.1.gh.tar.gz 15055179 BLAKE2B 0fd7e4f74e51fe45284fe550bb853964
DIST botocore-1.40.6.gh.tar.gz 15096678 BLAKE2B fb76ace4058c814bb8ef17bb216f5f7355eec401e4108d8a6569e07f97b14becb9e99652364dacb7e46e62f3ffaea2e5e1cd241ae832fe0a359ed58bbcfe3500 SHA512 faa311f29da484083f49a9ae7beda844b8878750c7474916ff7200b4a5fdc01e26295923c7a0f0bc4e4b1c22e5381f69546b8685fdeb2112f1c61810d3c9b58d
DIST botocore-1.40.7.gh.tar.gz 15098734 BLAKE2B d1ac4800e3cdce6a47f4c9da23b30768df3acad0113bf9da87ae2523d74840a79ee29775c072615e2080f7e98b268060801fe9cec653f5b1251c3b6d592422f6 SHA512 e1e81e4d0d0224614680244e4f7986f47a3042039b50ad61ceb4c589a14d11eaacfa1aa501a5791174a202813bd1db256802a73fb8d66c2b517d75ddfa67760b
DIST botocore-1.40.8.gh.tar.gz 15100807 BLAKE2B 0ecd33358b2d6edd6646b092fbc50d90ce4a5accf5427f9296a6bf66f610018659a75abf7f80375e40a561ca7b09139736b1cab0920810f97e65d6060adb20e7 SHA512 18db4b3c2f546700eccebc92e13b0e0ad57c98a0e2f1a5aeab0ea5f710d952d0206e8e4a9ce8f91da756c4f9589f6c5be80341dd6d5ed052ce9ae205a8dec2dd
+DIST botocore-1.40.9.gh.tar.gz 15108535 BLAKE2B ed85bab198a3223c2ab8fb5d2e19d751190f80d489c55bc80d6a8de909a38df020e7969b1ad0826cde6596a270dc877aa1323d80f3e65003b199ebf9b6a1ba1f SHA512 989f2aa598b1ad863d58489fbf1fb102af5fbeb3d3d3aaa72c9e3a2219c9ee1aa382f9e6ff5249945fed36f303e6e3806bc34a045fe0d82b7105eb0a444c4ee9
diff --git a/dev-python/botocore/botocore-1.40.9.ebuild b/dev-python/botocore/botocore-1.40.9.ebuild
new file mode 100644
index 000000000000..a931fcaefec4
--- /dev/null
+++ b/dev-python/botocore/botocore-1.40.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..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 54f3433e976d..1ec814eb60c0 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,2 +1,3 @@
DIST google_api_python_client-2.177.0.tar.gz 13184405 BLAKE2B d3aca5b038ada6556c8697d87f6907386412c7e0ae8fbbe7c45cdc17b2d2f37b5e61ae7b541b92519c46a1a3d6770cf158e27ebdc3712d6eaf2995eabdf14ef3 SHA512 e3ece581c2c4005671b2f03de92b1d775d500e2c0ad565e711c5ecd52c327dda495fe39d7f4f0b62ef35afd99ffbf8c63449f9e9051b63784946bd4204bd6e85
DIST google_api_python_client-2.178.0.tar.gz 13282628 BLAKE2B 3ba2eb05b940bb01a47ad735b5d8f0ca4a01fa77e9d3603698ef03b34177f85b2a2a8068b82ef0c6a64c7fb36fa3220ef2b29246ebcfe9dee539ca57929976fe SHA512 574c656ba6b62f2ebae08ea6b4e0d34e320e00f83ea6ed899c0a5b64ad3d025133ad357c3450c479359210b56b04675c7554b6a903ca4fe84fa32a5b03e278b4
+DIST google_api_python_client-2.179.0.tar.gz 13397672 BLAKE2B 6e1064aa6fadf3fe896a8ea3f4847c5e41a44e6a8a599b66cec0e0a65926f38c88be88fadccb439afeff942073736ffc765591941efd8a891d48a2345152198d SHA512 d82134dced76100be8b1547401bb1d546620f42ca0eb12aeff50703ce6c87f8c2560ccf971a7301eae03fe030471a703560c541bbb375bb5bc3e31567b011481
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.179.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.179.0.ebuild
new file mode 100644
index 000000000000..83f75ed3d688
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.179.0.ebuild
@@ -0,0 +1,51 @@
+# 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_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="
+ https://github.com/googleapis/google-api-python-client/
+ https://pypi.org/project/google-api-python-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
+ <dev-python/httplib2-1[${PYTHON_USEDEP}]
+ >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/uritemplate-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet access (and credentials)
+ tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
+ tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
+ tests/test_discovery.py::Universe::test_client_options_universe_configured_with_mtls
+ tests/test_discovery.py::Universe::test_universe_env_var_configured_with_mtls
+ )
+
+ epytest tests
+}
diff --git a/dev-python/indexed-gzip/Manifest b/dev-python/indexed-gzip/Manifest
index dd0ac2d02531..618f7475a3e1 100644
--- a/dev-python/indexed-gzip/Manifest
+++ b/dev-python/indexed-gzip/Manifest
@@ -1,2 +1,3 @@
+DIST indexed_gzip-1.10.1.tar.gz 267180 BLAKE2B 0ee462826424ba1fd920969355d976167a9278b0a247493dc4d79510101a7b14a8db056fe329f3d6fb2ac40ab08e783b1f3e638a172555b8e3b70122576d8405 SHA512 950317796adc125d2ed22573b573d98fcbaefed1d973126f7fb886575f8413338041d0f28027de2265434b54d2fffe32107c52d52ad6d19c0a0087f10824eac1
DIST indexed_gzip-1.8.7.tar.gz 74172 BLAKE2B a3feddb50a165a73dcf5af79f1470c0ec2933002ef162fc323a66d8d4782b318f52dd92ca81f413b6b4571f2fcc5be7f74e088de6876bd180a2cf7d3360f18b9 SHA512 89b902d3511927d45d424ea09dfcec3037ec1f295cdac30aa5ae50d664bdb75ef1bdaad6e12f317a51bb9c01485aa09d2c0a07923b544307f762dc280048327a
DIST indexed_gzip-1.9.5.tar.gz 75925 BLAKE2B f1ac3e81ebe15188c50ac71a9d91877741209d76b1f54713034f15af7869c5366a3d436da0ba4d4f1784cb8accf83a464949370d99cdfdffd8c47536e1a3e2e1 SHA512 7268923406014ed9ed7ed34b0fd87997f2cb9a90cb354c0beb3f689bba3f7e220090682e1c93b0dc338eaac6d31a76fa6e2441ac3f52c7c631b44355161eae61
diff --git a/dev-python/indexed-gzip/indexed-gzip-1.10.1.ebuild b/dev-python/indexed-gzip/indexed-gzip-1.10.1.ebuild
new file mode 100644
index 000000000000..73c6bff18a77
--- /dev/null
+++ b/dev-python/indexed-gzip/indexed-gzip-1.10.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fast random access of gzip files in Python"
+HOMEPAGE="
+ https://pypi.org/project/indexed-gzip/
+ https://github.com/pauldmccarthy/indexed_gzip/
+"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ sys-libs/zlib:=
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_compile() {
+ # This actually enables line tracing, so it fits USE=debug more.
+ if use debug; then
+ export INDEXED_GZIP_TESTING=1
+ fi
+ # Fix implicit dependency on numpy that is used to build test
+ # extensions.
+ if ! use test; then
+ local -x PYTHONPATH="${T}:${PYTHONPATH}"
+ cat >> "${T}"/numpy.py <<-EOF || die
+ raise ImportError("I am not here!")
+ EOF
+ fi
+ distutils-r1_src_compile
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)/indexed_gzip/tests" || die
+ epytest -m "not slow_test"
+ # temporary files and test extensions
+ # (to achieve equivalence with USE=-test)
+ rm ctest*.{c,gz,so,tmp} || die
+}
diff --git a/dev-python/ipykernel/Manifest b/dev-python/ipykernel/Manifest
index 19598490aeea..9590386b2a59 100644
--- a/dev-python/ipykernel/Manifest
+++ b/dev-python/ipykernel/Manifest
@@ -2,3 +2,4 @@ DIST ipykernel-6.29.5.tar.gz 163367 BLAKE2B ac1a48093b68a79c9b656cc3960f35ae2e28
DIST ipykernel-6.30.0.tar.gz 165125 BLAKE2B 363d508e0a8bca66d8ccf26ec2806aa75e41b1a27db63366eabc64bee5e861328fcb5a0d33642d956d4f43666e1966978c5fe3fcb624ad4e43c466142d96ce72 SHA512 a5d1bd45b8e9f7fcd876a845a49c6f86cff6063ae351779f628baf9a84cc99e4012d40afea0bb4c432acc4c86d90bdeda60287aa99b48a425f5e34bd5d4fc44f
DIST ipykernel-6.30.1.tar.gz 166260 BLAKE2B 77af93248f25479aae9082ef6e73dcab23b0724e53029a8b52fa99f217ea6482e1a2ed7e21a7b95ea88065acc8530e159d19b2a5c3b2fe5ef72c513059f2a524 SHA512 45bd9e79f3a74d3694034de3f367b913171b027e913e9f7cd1fdcfb17db09927e0ee300253ad9061d668559c5bf353bddbaf01ea52bcf5a9624a0a4a21050759
DIST ipykernel-7.0.0a1.tar.gz 169472 BLAKE2B 0377a630d16b9aa481f516e09dea4510eecb35e3dc6d69943c28048f8c6fa9bc28ff960909dd47a701981e24f412ce4e1aab60804252fe1b9e8f526e0aaefa27 SHA512 2b9b1b4e25e9d8e188008b9f11396862bdf36c4525e849f6962ce3468963b9f13ac2d20e6776fc895e51e4062a74a0da2d94fd226c4ae3c750c3a20841743d25
+DIST ipykernel-7.0.0a2.tar.gz 170826 BLAKE2B 1964f89f00c4bbc87d1fd349660de673ee75dd799feeceb2dd39508c3dad5926f9d379ae378363f32637e5fb881143cdba8d0f7025c84b9a49175e6888f85bbd SHA512 2b66533f3fc34876d53d1bd5bdc6941b6f6f5544ff1d0b6d51552a8512b8b6c2d4bc1b3f6147df3b7aadef77ba5e6ef30998dfdaafa67836778a29a246517067
diff --git a/dev-python/ipykernel/ipykernel-7.0.0_alpha2.ebuild b/dev-python/ipykernel/ipykernel-7.0.0_alpha2.ebuild
new file mode 100644
index 000000000000..fe57017deff2
--- /dev/null
+++ b/dev-python/ipykernel/ipykernel-7.0.0_alpha2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="IPython Kernel for Jupyter"
+HOMEPAGE="
+ https://github.com/ipython/ipykernel/
+ https://pypi.org/project/ipykernel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-8.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.12[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-inline-0.1[${PYTHON_USEDEP}]
+ >=dev-python/nest-asyncio-1.4[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.7[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-25[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.4.0[${PYTHON_USEDEP}]
+"
+# RDEPEND seems specifically needed in BDEPEND, at least jupyter
+# bug #816486
+# pytest-8 runs a small subset of tests, we allow newer for 3.13
+# since a few tests are better than skipping entirely
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/ipyparallel[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,rerunfailures,timeout} )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # hangs?
+ tests/test_eventloop.py::test_tk_loop
+ # flaky
+ tests/test_eventloop.py::test_qt_enable_gui
+ # fails without pytest-cov; apparently "time-sensitive" too
+ tests/test_subshells.py::test_run_concurrently_sequence
+)
+
+src_prepare() {
+ # debugpy is actually optional
+ sed -i -e '/debugpy/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ # Use python3 in kernel.json configuration, bug #784764
+ sed -i -e '/python3.[0-9]\+/s//python3/' \
+ "${BUILD_DIR}/install${EPREFIX}/usr/share/jupyter/kernels/python3/kernel.json" || die
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index d12ab8aeaca8..a11d7c268c91 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1,3 +1 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
-EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e
-MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
new file mode 100644
index 000000000000..637368d2f237
--- /dev/null
+++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
@@ -0,0 +1,13 @@
+Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
+
+--- a/setup.py
++++ b/setup.py
+@@ -18,7 +18,7 @@ setup(
+ author_email='michal.danilak@gmail.com',
+ url='https://github.com/Mimino666/langdetect',
+ keywords='language detection library',
+- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
+ include_package_data=True,
+ install_requires=['six'],
+ license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index 56733bbffc48..99577c43fc3e 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -19,4 +19,6 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
+
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index 020e07f2a3dd..c0f74ac187e2 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,11 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
</maintainer>
- <upstream>
- <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
+
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/msgspec/Manifest b/dev-python/msgspec/Manifest
new file mode 100644
index 000000000000..db5fe85d96e9
--- /dev/null
+++ b/dev-python/msgspec/Manifest
@@ -0,0 +1 @@
+DIST msgspec-0.19.0.gh.tar.gz 1313340 BLAKE2B c6e0757e4fbd2c2afbd239e483eed09fd872d8c85d14153b13ada3ef39adcd41b2f2b8f249e9747e6eef7627b4c238973593d87733cc8d5c36c5a14c15142279 SHA512 bd44052e58afc0c2653780b4dee75d20de93210950d4cd408abc810e3935d1bfdd30b926c34cd48f3095d4b3c1f45ac7aa4a957dcbc562ebd8b817c81abd16d8
diff --git a/dev-python/msgspec/metadata.xml b/dev-python/msgspec/metadata.xml
new file mode 100644
index 000000000000..853174b8f2ab
--- /dev/null
+++ b/dev-python/msgspec/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/msgspec/msgspec-0.19.0.ebuild b/dev-python/msgspec/msgspec-0.19.0.ebuild
new file mode 100644
index 000000000000..f75bcff39329
--- /dev/null
+++ b/dev-python/msgspec/msgspec-0.19.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fast serialization and validation library, with builtin support for many formats"
+HOMEPAGE="
+ https://jcristharif.com/msgspec/
+ https://github.com/jcrist/msgspec
+ https://pypi.org/project/msgspec/
+"
+# No tests in sdist
+SRC_URI="https://github.com/jcrist/msgspec/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # Lint tests
+ tests/test_cpylint.py
+ tests/test_mypy.py
+ tests/test_pyright.py
+)
+
+EPYTEST_PLUGINS=()
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # remove outdated bundled versioneer
+ rm versioneer.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ rm -rf msgspec || die
+ epytest
+}
diff --git a/dev-python/pbr/Manifest b/dev-python/pbr/Manifest
index 138a74b2c410..5bd037e9f079 100644
--- a/dev-python/pbr/Manifest
+++ b/dev-python/pbr/Manifest
@@ -1 +1,2 @@
DIST pbr-6.1.1.tar.gz 125702 BLAKE2B ee675c029f1ccf66ffb3b92fec67802f1a3d49735e08ec72658e7b3b528014109ec2a4ee0672b7c320d70a3b56b9a0a7929a7ae85915d941ce0e170e0cdc92a7 SHA512 db898469dad4d0ccfa90ee9a8faee83db0897e7451c30561d7e1f92163c82c81586853b8aaabcf80569d1cbdf5177da927ed79b0c393f6c5b2a910de0354a471
+DIST pbr-7.0.0.tar.gz 129146 BLAKE2B 3a290a90bc6ac9b2162cd5b28cb43c4c1f28efe1141e86b731bad5c727b8370f04fe37031931edfaec075de6c1fe418a6f657c12132a34414158ce66045939b9 SHA512 31e2a5554e46bb4734b5dd7a08ea6080b99a8b61c06463c496be89fb4a73e89435e476bb7c5090949267e4c11c2882ab36ea1f4a667c313006234b203d3eb479
diff --git a/dev-python/pbr/pbr-7.0.0.ebuild b/dev-python/pbr/pbr-7.0.0.ebuild
new file mode 100644
index 000000000000..7112eeb607bf
--- /dev/null
+++ b/dev-python/pbr/pbr-7.0.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Inject some useful and sensible default behaviors into setuptools"
+HOMEPAGE="
+ https://opendev.org/openstack/pbr/
+ https://github.com/openstack/pbr/
+ https://pypi.org/project/pbr/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/setuptools-64.0.0[${PYTHON_USEDEP}]
+"
+
+# git is needed for tests, see https://bugs.launchpad.net/pbr/+bug/1326682 and
+# https://bugs.gentoo.org/show_bug.cgi?id=561038 docutils is needed for sphinx
+# exceptions... https://bugs.gentoo.org/show_bug.cgi?id=603848 stestr is run as
+# external tool.
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/wheel-0.32.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.0.3[${PYTHON_USEDEP}]
+ dev-vcs/git
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests unittest
+
+python_prepare_all() {
+ # TODO: investigate
+ sed -e 's:test_with_argument:_&:' \
+ -e 's:test_wsgi_script_run:_&:' \
+ -i pbr/tests/functional/test_wsgi_scripts.py || die
+ # installs random packages via pip from the Internet
+ rm pbr/tests/functional/test_pep517.py || die
+ rm pbr/tests/functional/test_requirements.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Testing on ${EPYTHON} is not supported at the moment"
+ return
+ fi
+
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ eunittest -b
+}
diff --git a/dev-python/pytest-regressions/Manifest b/dev-python/pytest-regressions/Manifest
index 99a0d7c76fb8..c6cc097c8bd5 100644
--- a/dev-python/pytest-regressions/Manifest
+++ b/dev-python/pytest-regressions/Manifest
@@ -1 +1,2 @@
DIST pytest_regressions-2.8.1.tar.gz 116486 BLAKE2B 3c70a62249b8b255f980f8ae3b83979c5850859a6497f7341266751cfd0588792f53afd80397fbfbe7567059076765dac2212ee7d12c87130149f61c51b7f77e SHA512 0dd244b1a186371decb6efb1e593cf1047ba34c57696400393f410d66c16918fb3b2eb7f7cf5dca78c48baf445c29d48cbe1e128d1b909dfd0320ef9e1efafed
+DIST pytest_regressions-2.8.2.tar.gz 116642 BLAKE2B 7c46291cdbad722c3bc00328a4f2865891dfd76a3e808a8be5cb9e10b7ecec7d6fcb6876f578d4c6589c3f6e97523d04232c84b11e52868e9a787ee408ebd6af SHA512 1d37aa106c451470e541beda3254954d24135158e813bc3ffc37287a8364da45930a00729b37e6fc79d6353781a7158b69ca96950a3c540b2cd6e0e455b74027
diff --git a/dev-python/pytest-regressions/pytest-regressions-2.8.2.ebuild b/dev-python/pytest-regressions/pytest-regressions-2.8.2.ebuild
new file mode 100644
index 000000000000..a854d9e66171
--- /dev/null
+++ b/dev-python/pytest-regressions/pytest-regressions-2.8.2.ebuild
@@ -0,0 +1,71 @@
+# 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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Easy to use fixtures to write regression tests"
+HOMEPAGE="
+ https://github.com/ESSS/pytest-regressions/
+ https://pypi.org/project/pytest-regressions/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-datadir-1.7.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+distutils_enable_sphinx doc dev-python/sphinx-rtd-theme
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=()
+ if ! has_version "dev-python/matplotlib[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_image_regression.py::test_image_regression
+ )
+ fi
+ if ! has_version "dev-python/numpy[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_ndarrays_regression.py
+ )
+ fi
+ if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_filenames.py::test_foo
+ tests/test_filenames.py::TestClass::test_foo
+ tests/test_filenames.py::TestClassWithIgnoredName::test_foo
+ )
+ EPYTEST_IGNORE+=(
+ tests/test_dataframe_regression.py
+ tests/test_num_regression.py
+ )
+ fi
+ if ! has_version "dev-python/pillow[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_image_regression.py
+ )
+ fi
+
+ if [[ ${EPYTHON} == python3.14* ]] ; then
+ EPYTEST_DESELECT+=(
+ # Sensitive to warnings
+ tests/test_data_regression.py::test_regen_all
+ )
+ fi
+
+ local EPYTEST_PLUGINS=( pytest-{datadir,regressions} )
+ epytest
+}
diff --git a/dev-python/rich-click/rich-click-1.8.9.ebuild b/dev-python/rich-click/rich-click-1.8.9.ebuild
index 97e51788bebf..9ac01c19ac68 100644
--- a/dev-python/rich-click/rich-click-1.8.9.ebuild
+++ b/dev-python/rich-click/rich-click-1.8.9.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://github.com/ewels/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
RDEPEND="
>=dev-python/click-7[${PYTHON_USEDEP}]
diff --git a/dev-python/rtree/Manifest b/dev-python/rtree/Manifest
index 97f14c5b580a..24c10db89b77 100644
--- a/dev-python/rtree/Manifest
+++ b/dev-python/rtree/Manifest
@@ -1 +1,2 @@
DIST rtree-1.4.0.tar.gz 50789 BLAKE2B b3897a0c5332843c4c938a4ff494d17f006e05891bb6af70cae19ac323aec21bb5f42fdb3066c2a26007dbcd171258566f5ec67fba7ad9945f30c8929a005d17 SHA512 8306d519169f067d6c97adeb7a18d5053c192437b8a2b7288c2bfb379d2bdd885ac3b400d37ecdad224d1aaee542f6b9f50567baae5a8b02a23419f1da562b5e
+DIST rtree-1.4.1.tar.gz 52425 BLAKE2B 13de59e0ccf95e700e935cf803419898fd2b5db0ac333c7a1ca4ebf970720c24fa19547f51da0f6e9ee99ac646faa5b07780c867330b7b6755a47387d22a0a90 SHA512 d881a2ba11014cc96ca86414ab5cacb9f05d3c6dc8c8da0700b538737a270c1d94c5e6593a4976a9bfe219bdfc2f3ed003a60ac65f580cfa9f7459ca75091d7d
diff --git a/dev-python/rtree/rtree-1.4.1.ebuild b/dev-python/rtree/rtree-1.4.1.ebuild
new file mode 100644
index 000000000000..127df3be056e
--- /dev/null
+++ b/dev-python/rtree/rtree-1.4.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN^}
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="R-Tree spatial index for Python GIS"
+HOMEPAGE="
+ https://rtree.readthedocs.io/
+ https://github.com/Toblerity/rtree/
+ https://pypi.org/project/rtree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ sci-libs/libspatialindex
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ dev-python/sphinx-issues
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/sphinx-prompt/Manifest b/dev-python/sphinx-prompt/Manifest
index 263fb4042982..02c5fb264f7e 100644
--- a/dev-python/sphinx-prompt/Manifest
+++ b/dev-python/sphinx-prompt/Manifest
@@ -1 +1,2 @@
DIST sphinx-prompt-1.10.0.gh.tar.gz 34718 BLAKE2B 463c3320e96b02336bc0b726cee6be1458ddccf61b484083f1694db9d00807650c555e1969a31e13c1e7ed8a92783d9275e7b54766d9e5ae77e617187debb4b5 SHA512 2253896d64a03598743268d3433321032911ce25a40d8a950750fcbd6586425e049c309116bc46b3cb982166f313b579b81dcd0087c8036a55f85d26e1d58cc6
+DIST sphinx-prompt-1.10.1.gh.tar.gz 35004 BLAKE2B 64aadbc8391cd20bac8af4127b706228e8556e9bd1cc702b478e2d5f4b7bdff918118b8bdd1d82e0f7f3865b9d500155a97ab435dae46f3159d976dab618bfd5 SHA512 3ef18ec24ddfd73dc71f0f1bb34926e74d0bb44b63044da7e33e2fd5e23fefe51e17b1f73047fae8f2263ae2ff30fea5675ca821bf7fb1377c849f36e7dc85a0
diff --git a/dev-python/sphinx-prompt/sphinx-prompt-1.10.1.ebuild b/dev-python/sphinx-prompt/sphinx-prompt-1.10.1.ebuild
new file mode 100644
index 000000000000..c7037f8c6971
--- /dev/null
+++ b/dev-python/sphinx-prompt/sphinx-prompt-1.10.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx directive to add unselectable prompt"
+HOMEPAGE="
+ https://github.com/sbrunner/sphinx-prompt/
+ https://pypi.org/project/sphinx-prompt/
+"
+SRC_URI="
+ https://github.com/sbrunner/sphinx-prompt/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # version number relies on git repo, sigh
+ # also all dependencies are pinned to exact versions, sigh
+ # also hack to install as "sphinx-prompt"
+ sed -i \
+ -e "/^version =/s:[0-9.]\+:${PV}:" \
+ -e '/^\[tool\.poetry\.dependencies\]$/,$s:"[0-9.]\+:"*:' \
+ -e '/include.*sphinx-prompt/d' \
+ pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index f7ac8273f1b3..2bfd501c6546 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -4,3 +4,4 @@ DIST sqlglot-27.5.1-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df7
DIST sqlglot-27.5.1.tar.gz 5406588 BLAKE2B cdd541c15c314b96c52610fbbae4fba4bda96e76983ead1d2f145c234d6b54bb267c8dec342dde83d3b691233956288f6accc26ee5fa53cd4ead64cd76e1cd74 SHA512 435ce78f58bffe402d859c995d503142b83ea96dbe259c5d1e7037d33c1cf49f4b604da3b3cd1f77652334bd4482c8929f3d35f8174b0b258f5d5e3edac7596b
DIST sqlglot-27.6.0-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df7076819a26dcdaa89fa3760559a79578db01e86943c2d0ffb8006263c2dca3aa50d20023eae9d772f8ebd12a8a2d3266cdd SHA512 7cca439a06433a62bcd4a2af33d240f46e9b5240cc158edbc654efb37a464aa0f1ebbe9749b2fc6352127b4809b63af2341fac6240050c414e578ae99444ba5d
DIST sqlglot-27.6.0.tar.gz 5409152 BLAKE2B 4de40e48e39842903c082d52fa57af8db99726abbbb47af1b618f651460a6c01f8b7233cc481412d2f0cc5d214a7723a8eb83de26e508a4d1eee75b7aa2c9622 SHA512 8033fbce129ff7f32865bbb6f3121a4c0a74d097e424458ddce494492bd8fa4a905f022275bdca49bd4d62c5f1f8774cdb5be6d57c273fc1fdfe40793f22e66a
+DIST sqlglot-27.7.0.tar.gz 5414964 BLAKE2B 2efcebbe2934dd998383a73712e42b06100897c3414c95f9b9b6c31672e93dc3a610a68bbd5876e83c79bb38d59c24341de8399b74112b2aa20249a5b72ce360 SHA512 c373d23389ba52b69fa82ac48c116db98706aab7c9309207c9057e6bca2c11378d6281658cdd1a1535f66954b0c599aecbfa218f697c329bf637dc1d43262817
diff --git a/dev-python/sqlglot/sqlglot-27.7.0.ebuild b/dev-python/sqlglot/sqlglot-27.7.0.ebuild
new file mode 100644
index 000000000000..dd19ceb9d941
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-27.7.0.ebuild
@@ -0,0 +1,180 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@1.1.3
+ anes@0.1.6
+ anstyle@1.0.10
+ autocfg@1.1.0
+ bumpalo@3.16.0
+ cast@0.3.0
+ cfg-if@1.0.0
+ ciborium-io@0.2.2
+ ciborium-ll@0.2.2
+ ciborium@0.2.2
+ clap@4.5.23
+ clap_builder@4.5.23
+ clap_lex@0.7.4
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-deque@0.8.6
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.21
+ crunchy@0.2.2
+ either@1.13.0
+ half@2.4.1
+ heck@0.5.0
+ hermit-abi@0.4.0
+ indoc@2.0.4
+ is-terminal@0.4.13
+ itertools@0.10.5
+ itoa@1.0.14
+ js-sys@0.3.76
+ libc@0.2.169
+ log@0.4.22
+ memchr@2.7.4
+ memoffset@0.9.0
+ num-traits@0.2.19
+ once_cell@1.19.0
+ oorandom@11.1.4
+ plotters-backend@0.3.7
+ plotters-svg@0.3.7
+ plotters@0.3.7
+ portable-atomic@1.9.0
+ proc-macro2@1.0.89
+ pyo3-build-config@0.25.0
+ pyo3-ffi@0.25.0
+ pyo3-macros-backend@0.25.0
+ pyo3-macros@0.25.0
+ pyo3@0.25.0
+ quote@1.0.37
+ rayon-core@1.12.1
+ rayon@1.10.0
+ regex-automata@0.4.9
+ regex-syntax@0.8.5
+ regex@1.11.1
+ rustc-hash@2.1.0
+ ryu@1.0.18
+ same-file@1.0.6
+ serde@1.0.216
+ serde_derive@1.0.216
+ serde_json@1.0.133
+ syn@2.0.87
+ target-lexicon@0.13.2
+ tinytemplate@1.2.1
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ walkdir@2.5.0
+ wasm-bindgen-backend@0.2.99
+ wasm-bindgen-macro-support@0.2.99
+ wasm-bindgen-macro@0.2.99
+ wasm-bindgen-shared@0.2.99
+ wasm-bindgen@0.2.99
+ web-sys@0.3.76
+ winapi-util@0.1.9
+ windows-sys@0.52.0
+ windows-sys@0.59.0
+ windows-targets@0.52.6
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_msvc@0.52.6
+ windows_i686_gnu@0.52.6
+ windows_i686_gnullvm@0.52.6
+ windows_i686_msvc@0.52.6
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_msvc@0.52.6
+"
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+CRATE_PV=26.33.0
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ https://github.com/gentoo-crate-dist/sqlglot/releases/download/v${CRATE_PV}/sqlglot-${CRATE_PV}-crates.tar.xz
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+pkg_setup() {
+ use native-extensions && rust_pkg_setup
+}
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ local DISTUTILS_UPSTREAM_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # timing, sigh
+ # https://github.com/tobymao/sqlglot/issues/3961
+ tests/test_generator.py::TestGenerator::test_generate_nested_binary
+ )
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/types-gdb/Manifest b/dev-python/types-gdb/Manifest
index 307169141d39..83e0fcb98748 100644
--- a/dev-python/types-gdb/Manifest
+++ b/dev-python/types-gdb/Manifest
@@ -1,3 +1,4 @@
DIST types_gdb-15.0.0.20250713.tar.gz 24478 BLAKE2B 2aa5ed6644ea3c1afef8751805196228041c772e247992205297da69a5dbda2fab6edd8f6ba9897733372c6a0c14720f80019175c3a7f5d9e26c1e80a4f0eeab SHA512 9e0c90b34721be0b3d5bb3c876ccddd58d67c5c20cc5fcdca0f7704f8f51d36940322465d2e66e616a0feaea4b2ef0d69fe0f503f2e7b803c267208a18354920
DIST types_gdb-15.0.0.20250801.tar.gz 24464 BLAKE2B 5ba33664f5357aec795d65467d2453075295a9babad0debb204196cd07906249b57ae5f6430788065d223bdd43b194654f3bb7f1e5d39f879cdff17837c75382 SHA512 3a789c322fe33dbc9a3b50dddef37b493e1b2d0cb9dd034b80d4e9f476580bf06e93b0132b3d5b93c877bd80403d2833060db21f6fe9eb149b4fe1148ad520c9
DIST types_gdb-15.0.0.20250809.tar.gz 24555 BLAKE2B 60d0eac1356734b27930ec8159befd382d2cd1498e7e0d024194e81ef7017d6e61bd6360b856839945d0c4c87ba5a9a9f9a2fdd13a99aac5861e97e640307c41 SHA512 a6de16e9d9a5ec327eeed9acc8582aa90753b192d1302c02ef6a8fad16d4836fd54e8f65f0b01ee43c92b03ef758620b9185426d4e0b6d07265ccfb8970f73fc
+DIST types_gdb-16.3.0.20250812.tar.gz 25002 BLAKE2B 867f0df90526701f56367f32cdaf534b096561b912a41c6e0ecb78a506a2574ef05407417bb2349d709b0328644bbbaaa3940405bb5cdd5b854a564adf12f6c3 SHA512 6032c6107cd4f310e9e5783d48644f74d4fb5a3816e3959fad7f4c47ea89dc095a35e707be8d43c8e6859cc00706a1baaacbbe9d4e8157c25c1ea79dfcda18f7
diff --git a/dev-python/types-gdb/types-gdb-16.3.0.20250812.ebuild b/dev-python/types-gdb/types-gdb-16.3.0.20250812.ebuild
new file mode 100644
index 000000000000..5249cc2ff879
--- /dev/null
+++ b/dev-python/types-gdb/types-gdb-16.3.0.20250812.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for gdb"
+HOMEPAGE="https://pypi.org/project/types-gdb/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest
index edd4f572d3cd..2c899cb4d941 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -1,2 +1,3 @@
DIST virtualenv-20.32.0.tar.gz 6076970 BLAKE2B 09c7aab4c056cc89c2f50101cf68924d55bf26dbf3853ca3f537bfa2b8bf3ca178f0209f63597560c307458d8f3c8f19084d1cbd0a37e1cb3c71df49ff3b313d SHA512 fe2fbedb22eb30e52c401de827107e94f66c6f5f0425f42e4d5be59bf26da670a4daa705be23799b25fef0a2031c1f84e35a5376f7de06d4fe0275434645b7c1
DIST virtualenv-20.33.1.tar.gz 6082160 BLAKE2B 9473c2d96442e3c2f98c41ef3762be279f0559f4b7982783426f974a5f64ad4eb7bb70b0fcf92baf344f53ffe2ba0c20346970a10106fca0c90edc3fad6caaba SHA512 e9324e0a6985447f2f630571e58408507458d28ef98facabbcaa65c4acc1f4e91ab909126d9b5694a20f1edc00bcfc1148c5bf404b8dfd341c3253c2dd42953b
+DIST virtualenv-20.34.0.tar.gz 6003808 BLAKE2B ea13d8952b67c1b9fc1547d726b014d8d971fc83341fbd471c0697adf3d616e12b1d9f1eda9aee18b9abee15bedbfb1e6abddfb25c6bf0bb8ff8a036647b626b SHA512 0dbea6cc8ea4f2bd5fae5560e87d6fae1bc1230c4f04992749c6a274f1740b1bf262767329b667670d642501ef3c3ac1eecff5ce4c95a1d943db110bea0079b2
diff --git a/dev-python/virtualenv/virtualenv-20.34.0.ebuild b/dev-python/virtualenv/virtualenv-20.34.0.ebuild
new file mode 100644
index 000000000000..55d44ca4c224
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.34.0.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Virtual Python Environment builder"
+HOMEPAGE="
+ https://virtualenv.pypa.io/en/stable/
+ https://pypi.org/project/virtualenv/
+ https://github.com/pypa/virtualenv/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}]
+
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+"
+# coverage is used somehow magically in virtualenv, maybe it actually
+# tests something useful
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/coverage[${PYTHON_USEDEP}]
+ >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${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..14})
+ $(python_gen_cond_dep '
+ >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}]
+ ' 'pypy3*')
+ )
+"
+
+src_prepare() {
+ local PATCHES=(
+ # use wheels from ensurepip bundle
+ "${FILESDIR}/${PN}-20.31.1-ensurepip.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # workaround test failures due to warnings from setuptools-scm, sigh
+ echo '[tool.setuptools_scm]' >> pyproject.toml || die
+
+ # remove useless pins
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+
+ # remove bundled wheels
+ rm src/virtualenv/seed/wheels/embed/*.whl || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping testing on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data
+ # tests for old wheels with py3.7 support
+ tests/unit/seed/embed/test_pip_invoke.py::test_base_bootstrap_via_pip_invoke
+ tests/unit/seed/wheels/test_wheels_util.py::test_wheel_not_support
+ # broken by different wheel versions in ensurepip
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_string
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_exact
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_none
+ tests/unit/seed/wheels/test_acquire.py::test_download_wheel_bad_output
+ # hangs on a busy system, sigh
+ tests/unit/test_util.py::test_reentrant_file_lock_is_thread_safe
+ # TODO
+ tests/unit/create/via_global_ref/test_build_c_ext.py::test_can_build_c_extensions
+ # random resource leaks or xdist
+ tests/unit/test_file_limit.py::test_too_many_open_files
+ )
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # these don't like the executable called pypy3.11?
+ tests/unit/activation/test_bash.py::test_bash
+ tests/unit/activation/test_fish.py::test_fish
+ tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
+ )
+ ;;
+ esac
+
+ local -x TZ=UTC
+ local EPYTEST_PLUGINS=( pytest-{mock,rerunfailures} )
+ if [[ ${EPYTHON} == pypy3* ]]; then
+ EPYTEST_PLUGINS+=( pytest-freezer )
+ else
+ EPYTEST_PLUGINS+=( time-machine )
+ fi
+ local EPYTEST_TIMEOUT=180
+ local EPYTEST_XDIST=1
+ epytest -o addopts=
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ # remove bundled wheels, we're using ensurepip bundle instead
+ find "${ED}" -name '*.whl' -delete || die
+}