summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-08-15 10:09:34 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-08-15 10:09:34 +0000
commit7c36d35694fd06c0e9f330becf10a77238ce45f9 (patch)
tree33b67f567a4e4a531958aa3b30f6b97ed5a343d7 /dev-python
parentc8ea68d359366c9bb2f6f7f0f9d8b1d60eb45f99 (diff)
downloadbaldeagleos-repo-7c36d35694fd06c0e9f330becf10a77238ce45f9.tar.gz
baldeagleos-repo-7c36d35694fd06c0e9f330becf10a77238ce45f9.tar.xz
baldeagleos-repo-7c36d35694fd06c0e9f330becf10a77238ce45f9.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.1.ebuild59
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.40.10.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.40.10.ebuild67
-rw-r--r--dev-python/cbor2/Manifest1
-rw-r--r--dev-python/cbor2/cbor2-5.7.0.ebuild44
-rw-r--r--dev-python/fastjsonschema/Manifest1
-rw-r--r--dev-python/fastjsonschema/fastjsonschema-2.21.2.ebuild26
-rw-r--r--dev-python/filelock/Manifest1
-rw-r--r--dev-python/filelock/filelock-3.19.1.ebuild29
-rw-r--r--dev-python/fonttools/Manifest1
-rw-r--r--dev-python/fonttools/fonttools-4.59.1.ebuild68
-rw-r--r--dev-python/griffe/Manifest1
-rw-r--r--dev-python/griffe/griffe-1.12.1.ebuild46
-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/mkdocstrings-python/Manifest3
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.16.10.ebuild51
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.17.0.ebuild (renamed from dev-python/mkdocstrings-python/mkdocstrings-python-1.16.11.ebuild)21
-rw-r--r--dev-python/numpy/numpy-2.3.2-r1.ebuild2
-rw-r--r--dev-python/openstacksdk/Manifest1
-rw-r--r--dev-python/openstacksdk/openstacksdk-4.7.0.ebuild91
-rw-r--r--dev-python/pbs-installer/Manifest1
-rw-r--r--dev-python/pbs-installer/pbs-installer-2025.08.14.ebuild35
-rw-r--r--dev-python/pdm/Manifest1
-rw-r--r--dev-python/pdm/pdm-2.25.6.ebuild83
-rw-r--r--dev-python/protobuf/Manifest2
-rw-r--r--dev-python/protobuf/protobuf-6.32.0.ebuild156
-rw-r--r--dev-python/pygame/pygame-2.6.1.ebuild7
-rw-r--r--dev-python/pyproj/Manifest1
-rw-r--r--dev-python/pyproj/pyproj-3.7.2.ebuild56
-rw-r--r--dev-python/python-tests/Manifest6
-rw-r--r--dev-python/python-tests/python-tests-0.3.13.7.ebuild71
-rw-r--r--dev-python/python-tests/python-tests-0.3.14.0_rc2.ebuild73
-rw-r--r--dev-python/python-tests/python-tests-3.13.7.ebuild71
-rw-r--r--dev-python/python-tests/python-tests-3.14.0_rc2.ebuild72
-rw-r--r--dev-python/trimesh/Manifest1
-rw-r--r--dev-python/trimesh/trimesh-4.7.4.ebuild76
-rw-r--r--dev-python/types-docutils/Manifest1
-rw-r--r--dev-python/types-docutils/types-docutils-0.22.0.20250814.ebuild16
-rw-r--r--dev-python/xarray/Manifest1
-rw-r--r--dev-python/xarray/xarray-2025.8.0.ebuild129
46 files changed, 1381 insertions, 78 deletions
diff --git a/dev-python/ansible-compat/Manifest b/dev-python/ansible-compat/Manifest
index 9fc8891762cc..00677444ecd8 100644
--- a/dev-python/ansible-compat/Manifest
+++ b/dev-python/ansible-compat/Manifest
@@ -1,2 +1,3 @@
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
+DIST ansible_compat-25.8.1.tar.gz 90142 BLAKE2B 39c98e2e4f7fe9da00543b1ba2fce24e303c25aa269c1a4f86ed96a7e29ebb9f31fa40516fba78017e940ddcea5f6fba95bf0b4eccebc77fd0c13d282bf6df97 SHA512 b0bc8ef6f614e7c41becba6090ebd4a5c09bb9ac957a56652eb59d18eb2d03398e149af21071883a7b236e0ee724b354322a043f8d45c23b4db6d1864f871130
diff --git a/dev-python/ansible-compat/ansible-compat-25.8.1.ebuild b/dev-python/ansible-compat/ansible-compat-25.8.1.ebuild
new file mode 100644
index 000000000000..fbc9b34c1183
--- /dev/null
+++ b/dev-python/ansible-compat/ansible-compat-25.8.1.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/boto3/Manifest b/dev-python/boto3/Manifest
index 27f5bf861b64..d32030c1cf6f 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,5 +1,6 @@
DIST boto3-1.39.14.gh.tar.gz 974493 BLAKE2B 14c6295f20cab6390c81d399585c9bd8291163a206e212400f44a23d871f43f02c76c0fae5201855cdd77cf45b598b5ceb86320b584fb48a5acb142133aa9d22 SHA512 332cc223c87f0823fded9c885c47892e0dd0abdd4346968425cbdec8e9eacd1d3d22720cb3a615876c47ba031b8b1f4a592d325c812e37f86690b0554438e9a4
DIST boto3-1.40.1.gh.tar.gz 978197 BLAKE2B c93f3550d41c13292dd8f4dcaab9d896faca127684a3ca72c253aa42ac44277c27ff0d68f47754c408701e97f0cefeda81e94565fba808544d5c16efaabb00d9 SHA512 c94eb4584161932f2d03ca9bf402a6e55358124e48fea94b71a5e22774aac6312f8ba7c69a18824c306b16a494cb3ed613cb96244c2718adbd53dd3b5829f934
+DIST boto3-1.40.10.gh.tar.gz 984242 BLAKE2B 3d51a264c47daea902d580911a72f6539f7051a3efded16cea995e2b46c948d90be8998ea3810cdc5118d24251fcdfce64d6b64e58060640401694100d9d41ac SHA512 ebe751526f4237f5a6ad2fe4cbd6317f81f456bc59787a89cfe57e4f3ab4ebcb9e68109e506fd06293642fe85372600adbbba2ad2484805cd3ecebe951e776e5
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
diff --git a/dev-python/boto3/boto3-1.40.10.ebuild b/dev-python/boto3/boto3-1.40.10.ebuild
new file mode 100644
index 000000000000..bd6e26787db4
--- /dev/null
+++ b/dev-python/boto3/boto3-1.40.10.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 1fbe3a8f4605..8df9969ca50a 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,5 +1,6 @@
DIST botocore-1.39.14.gh.tar.gz 15002421 BLAKE2B a054f85ee0076f1445e122e497683b31387323f52036f914ab1474eb14b32f923459079c539d0a1109c7f622e93e614b8550f9d5ce6e34a0e0a581561e12c9d5 SHA512 716c68404b06b24442da1b1018cfe06256a2b2855f846bd061ef44332db8a624cfd8f16a06169b2337d1c8e54c034aa46f3f3063f6e8d6c4020d1e50d30b6910
DIST botocore-1.40.1.gh.tar.gz 15055179 BLAKE2B 0fd7e4f74e51fe45284fe550bb853964e3f6039c2d5904996bc3f40e3912b75af4eab4c378edbc85b61fb6b3f5d1583493ad71540c7170c5a0ffb7ffefc5d99f SHA512 4a0b5d075f8335c5b9c08bad1088c31ded92deced98a7f606cf07853657f41d8f3ab224b13172d007c8de6d2127edce662c4deadcb8d4ed8693432d77b8e38e6
+DIST botocore-1.40.10.gh.tar.gz 15122814 BLAKE2B bf89d87f5e5f550bf45dee6bf827b99d12ce5e3240f47449a5e67eb5735323d92ac768bdb9b3de96dd8df8738ba21b357edee94750543686378eee119804418f SHA512 e855a5166dfcbd3562d1ca1192444967484306d93b71861ff4c238376b719482522825da7dd42556cf7fc2ffed5584f1b817db0c2f5ccbd225a2a8d65251abb8
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
diff --git a/dev-python/botocore/botocore-1.40.10.ebuild b/dev-python/botocore/botocore-1.40.10.ebuild
new file mode 100644
index 000000000000..a931fcaefec4
--- /dev/null
+++ b/dev-python/botocore/botocore-1.40.10.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cbor2/Manifest b/dev-python/cbor2/Manifest
index 6c1df122dd7c..fef411ffccdb 100644
--- a/dev-python/cbor2/Manifest
+++ b/dev-python/cbor2/Manifest
@@ -1 +1,2 @@
DIST cbor2-5.6.5.tar.gz 100886 BLAKE2B cb929f7d5389e572008d0c494f3ca13c6c62638366286a64ef8432a683b58f8e92805cd1c68543ae14d9f8ce178542efae2884237d5d00ac12a86ffb598df5d6 SHA512 9c3fc14b579e8c687b3e955452fcf9056fcfcce8ebe72b89c7d6e74e0ba5a29e0a61a225bbb6040f73285dfcc9f3bb37758badbbf45bd723ead8ecdf7e64b685
+DIST cbor2-5.7.0.tar.gz 102374 BLAKE2B 8f7ce5220217d926a3a171baef8b4cbfb5b3d8609e01a5ad63c56898449b192be082c1c8f833a6cb8cf48de6ee8668d572297242d0ab6367e8943195b515d499 SHA512 9ec2c8c3de5220c9c6c6197d09c6c627dbd56fc3531ca09bab8f76bdcd00127dadb0e0b5faf61619859327440c7f356b68c1e9ff9ef43876e61627d1a44b8069
diff --git a/dev-python/cbor2/cbor2-5.7.0.ebuild b/dev-python/cbor2/cbor2-5.7.0.ebuild
new file mode 100644
index 000000000000..9357e0cd051b
--- /dev/null
+++ b/dev-python/cbor2/cbor2-5.7.0.ebuild
@@ -0,0 +1,44 @@
+# 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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pure Python CBOR (de)serializer with extensive tag support"
+HOMEPAGE="
+ https://github.com/agronholm/cbor2/
+ https://pypi.org/project/cbor2/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ >=dev-python/setuptools-61[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( hypothesis )
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # remove pytest-cov dep
+ sed -i -e "s/--cov//" pyproject.toml || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local -x CBOR2_BUILD_C_EXTENSION=1
+ # pypy3 not supported upstream
+ if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then
+ CBOR2_BUILD_C_EXTENSION=0
+ fi
+ distutils-r1_python_compile
+}
diff --git a/dev-python/fastjsonschema/Manifest b/dev-python/fastjsonschema/Manifest
index 740e3e3b089a..b3c6b27a2ecd 100644
--- a/dev-python/fastjsonschema/Manifest
+++ b/dev-python/fastjsonschema/Manifest
@@ -1 +1,2 @@
DIST fastjsonschema-2.21.1.tar.gz 373939 BLAKE2B 2cd91b1ff6aa6e9996faf93d3f0d49cacb7f1b2bbb7001e0e01ce8bf385ac8ff84ce6d1c1c5f8607d05d675b0d42f3f5caee781547907f96717d504312d0902b SHA512 935c68ede28f7026825114ec588ae39713cf28eba9bafc68e106111da92f7cf1f25101a06c4b841f7198f55540af719853efe04f5e25f0cc92ef6638d638c54e
+DIST fastjsonschema-2.21.2.tar.gz 374130 BLAKE2B 198cca481d765b43b21101020718b59e3ccba2728a0a2a0ce56c7b73ce1ff6102c2e3916c9fd4c8fe8f2f3e931d87fd7ffc76e6d7983c5a2d87eca2cfa5aa721 SHA512 9e16f533065267ba48eeda70e8a41fdc10b1b99832a3ddaa0d48d01a783e4555d2fb790201ca3f47b959d3e1f06f68b9f83672f90cc1969355d28f0f24cb9837
diff --git a/dev-python/fastjsonschema/fastjsonschema-2.21.2.ebuild b/dev-python/fastjsonschema/fastjsonschema-2.21.2.ebuild
new file mode 100644
index 000000000000..bcf2ef96f3fe
--- /dev/null
+++ b/dev-python/fastjsonschema/fastjsonschema-2.21.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2020-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="Fast JSON schema validator for Python"
+HOMEPAGE="
+ https://github.com/horejsek/python-fastjsonschema/
+ https://pypi.org/project/fastjsonschema/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ tests/benchmarks
+)
diff --git a/dev-python/filelock/Manifest b/dev-python/filelock/Manifest
index 0d39563c6449..1f437b86e06c 100644
--- a/dev-python/filelock/Manifest
+++ b/dev-python/filelock/Manifest
@@ -1 +1,2 @@
DIST filelock-3.18.0.tar.gz 18075 BLAKE2B ce7c29397e56c527721378f9c2c5005b94c4b3a1978c4969e01c690d4efe59f6a8a0de3f8e13543c2fae09beb52fc80de6214c2799a366714330ba0b29140ed7 SHA512 c74684754eb2ac2b36839c12907f6a9ba7c6cb7049f991638ec910fd20cd41caafbbc67d59460e38012161d52b1a9b5966e9fa85665f9e028fef86cecd9358e0
+DIST filelock-3.19.1.tar.gz 17687 BLAKE2B 1023b3058e3c495e4cc296ddcba923fa64c706c28442300a7f29f905f22f060a901aedb19923f9884591505a16f959c714502415797b721f4a2fb7b839cebe57 SHA512 9091a051c60c82c236fa02d817525024dd88a169c98b3261be78fc36a92bb10bffd1eddd1a037de717342d42b2b14360ec2241fcce682d9d3e7c0d8632b26563
diff --git a/dev-python/filelock/filelock-3.19.1.ebuild b/dev-python/filelock/filelock-3.19.1.ebuild
new file mode 100644
index 000000000000..7c6aa139074a
--- /dev/null
+++ b/dev-python/filelock/filelock-3.19.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2018-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 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A platform independent file lock for Python"
+HOMEPAGE="
+ https://github.com/tox-dev/filelock/
+ https://pypi.org/project/filelock/
+"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,mock,timeout} )
+distutils_enable_tests pytest
diff --git a/dev-python/fonttools/Manifest b/dev-python/fonttools/Manifest
index 5f269565c293..a1f8397c0b1c 100644
--- a/dev-python/fonttools/Manifest
+++ b/dev-python/fonttools/Manifest
@@ -1,3 +1,4 @@
DIST fonttools-4.58.4.gh.tar.gz 3964173 BLAKE2B a4813bb4bb2929c0e3f95389fd2da5729b9b484f3c19c975b2392fa6d6a489d432c86f4ac3dc7bc58e75238b1ab87292e0dd99b1cadda143bf8df61d4770e10f SHA512 746eb64dee02e77321ca60752e1dd77ff0eb4411bf907968c5118de36618f4bc857d5782c289768fee8c43f9e410f225061736509f6a5c25a829a8ee30a0995b
DIST fonttools-4.58.5.gh.tar.gz 3964953 BLAKE2B 55604a10796af825a71e0937032285d4a03c061408474f3af3172aea9155fbccafd314282ca357e539e24f32235927adbbe4e3e1b62c2d6a4a50c2492924a802 SHA512 02a5796b6041561c9f6b7f5a27a5b8de926f5243288ce28f98ec175d890e011427e3be1e0d1a2f259e556225ef0d6f24c7fc5ee03983692beb5486120fb8acc5
DIST fonttools-4.59.0.gh.tar.gz 3973909 BLAKE2B 7b53b12b37be67cb764bfe2a0bcc7af85650431277678e63976d2a1d82a9386c6d1fa07485307fa114b0067c170998c31713cbe67a88b4ddab380d308570ff41 SHA512 552c7ebb5d8d6ce8cc37d2d20a52a213a5ccf52d532c166ad07182e3a2e5f5ac82b3ab9b45787fd1e7cfc3b588568507a006fd1b0b763402064b89ae71a86e91
+DIST fonttools-4.59.1.gh.tar.gz 3975993 BLAKE2B 7e56e6e72e74318466b7ee673e4a9d057072413b1f2e68ae01708fa3bf2bec8c0972389e22629cc1705a7e141e7480df2203f4ab51dbc5dbc8d644924e7cf30b SHA512 834a8df4c30d75d9028ef799fa5eae5de97fce8fd3723997a537d90a4f4e4bcbd5a6f5bf62aecb902b8f547fa211bf8a401d7c77602d9ec504ecf46f5db8c749
diff --git a/dev-python/fonttools/fonttools-4.59.1.ebuild b/dev-python/fonttools/fonttools-4.59.1.ebuild
new file mode 100644
index 000000000000..f53160e710d9
--- /dev/null
+++ b/dev-python/fonttools/fonttools-4.59.1.ebuild
@@ -0,0 +1,68 @@
+# 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_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
+HOMEPAGE="
+ https://github.com/fonttools/fonttools/
+ https://pypi.org/project/fonttools/
+"
+SRC_URI="
+ https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions"
+
+RDEPEND="
+ >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ test? (
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ dev-python/munkres[${PYTHON_USEDEP}]
+ app-arch/zopfli
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-rerunfailures )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_compile() {
+ local -x FONTTOOLS_WITH_CYTHON=$(usex native-extensions)
+ [[ ${EPYTHON} == pypy3 ]] && FONTTOOLS_WITH_CYTHON=0
+ distutils-r1_python_compile
+}
+
+src_test() {
+ # virtualx used when matplotlib is installed causing plot module tests to run
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # flaky test
+ Tests/ttLib/woff2_test.py::WOFF2ReaderTest::test_get_normal_tables
+ )
+
+ # nonfatal for virtx
+ nonfatal epytest --reruns=5 Tests fontTools ||
+ die -n "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest
index 0c65ba0fc737..442bb8e5462f 100644
--- a/dev-python/griffe/Manifest
+++ b/dev-python/griffe/Manifest
@@ -1,3 +1,4 @@
DIST griffe-1.10.0.gh.tar.gz 413051 BLAKE2B 261cfa96f1dd2e2157ff2ddedab50d4df500a05bb801a5f59da74279b6858a6c478933063ac0515892d9fae7298cb6a24d51479f722e9825b018b9fba0b50cc4 SHA512 ee7fc9aff2f0bfee6f8fbc07e2b6374a546ef9194c59c1d720d5930707dc6ae771c30119fd95345e3a93457bf8ce29155237eb6b5482fbc56f39a219b2dad948
DIST griffe-1.11.0.gh.tar.gz 413868 BLAKE2B 6e071d8f6ae816a6fa334c249e2ded1bcef63ff9846fb464c0ed95e55fa73b3155ce3d80d80af54f09317235bf71d269b927e0f3e57bbded6e0ba93a00ffd80f SHA512 86476488cbfd28a49b02eac668f26c7cd605b8273b90edfec30efc83dd6168398b48a581f5bf47191b8e70709966e9bd47a36cf3b2043643687780049fe26eaf
DIST griffe-1.11.1.gh.tar.gz 413977 BLAKE2B 437c2c294c6cd1f7f891c3c9119cb76fb5d57d667505d1ac901b953a59f035594a6554a463292bd9e166c14eef89a1fdc7217f7994ce992c03d4f9cd68f0cfcb SHA512 a7a01a955c1a46420077915fee4b7b15253e20d519b659450b530fee0ac7c851e7b8f264676845d3c369b4964f3b9fdf4e4f0640e6cda1eb7d54b6a1a8fb4939
+DIST griffe-1.12.1.gh.tar.gz 414545 BLAKE2B b36e0cbfbd21bb300428b7f67e71535aed9674ab000d00963de450d86e40175ccd94590310f849da34d634d7bcc002718a03bbd58376393d43f0e2a9b06867bb SHA512 87758d04410307635a23a25f84bbada28b588ea134d3d70ce106b7f2bdc2ac9e176c79fc7a25597aa3ca0fec379c8c0d18b393a977a96d1534230cb423db7ac9
diff --git a/dev-python/griffe/griffe-1.12.1.ebuild b/dev-python/griffe/griffe-1.12.1.ebuild
new file mode 100644
index 000000000000..34986ff350cc
--- /dev/null
+++ b/dev-python/griffe/griffe-1.12.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Signature generator for Python programs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/griffe/
+ https://github.com/mkdocstrings/griffe/
+ https://pypi.org/project/griffe/
+"
+# Tests need files absent from the PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
+ >=dev-python/mkdocstrings-0.28.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fragile to installed packages
+ # (failed on PySide2 for me)
+ tests/test_stdlib.py::test_fuzzing_on_stdlib
+)
+
+export PDM_BUILD_SCM_VERSION=${PV}
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/mkdocstrings-python/Manifest b/dev-python/mkdocstrings-python/Manifest
index fdc2a1d1e987..344e01491073 100644
--- a/dev-python/mkdocstrings-python/Manifest
+++ b/dev-python/mkdocstrings-python/Manifest
@@ -1,3 +1,2 @@
-DIST mkdocstrings_python-1.16.10.tar.gz 205771 BLAKE2B 3eca060176ea85e0191ad618ebf274e741a740ebf0da2d1c3b0ef6bcca4129a8f6486fda940ee161cea54f167a26122b55cb1105359dea17508a9c02e4dec638 SHA512 761a616654b3986feaeaa75e3faf5d6cc19786f740086c5c654444679be54fba4ad1a85d227a51e9798030cef889009a4f51d9461ea00c7ffb0e87fba8e1047c
-DIST mkdocstrings_python-1.16.11.tar.gz 205392 BLAKE2B 9442f60570b70912ed9fcb067b8ae507f4c7fe02e209c60e9a9f52171a77552857c01288f1f63f7c48d13857409136ee1c2de70889c7802af6876087eb70a64d SHA512 beb6da8c3fe19b0ffd69cabfb622f03bdc7b5727b628dcb7c7370a24e166fa5e759324585e3b6147521b706d18e2e2037c60ada25bebd7ec2a8ef6fd86978ab7
DIST mkdocstrings_python-1.16.12.tar.gz 206065 BLAKE2B 444d4208f804423b60e7ca70c5488d8871210d9b83f53ffa99b6bf76adbbc541ab63a6a57fe488ff625a82b42a445e0adbeef33acfc62e208c51cda5e6154b01 SHA512 62ce0960059d0fd307e2d31516b53f79a68726d79ac196e016934778fca4c85b82653e85d75c9fbf89f93f7da9d814837ed930477d2fa207207f8ba20212521c
+DIST mkdocstrings_python-1.17.0.tar.gz 200408 BLAKE2B 102bf167ab9084cda346e165dcd897a2e8494c6c562dfa343cedd48ad8c7f12990eb90916a88d25d5cf0c588e822ce940b2a56c8913084fb01312f45b2facc38 SHA512 469bf8928878badbacaac015e850a97fbab5d8793894634f18d76ad1db197add93ab1ac3cfdedf2bf9b2622f46cfcfc2155e660dd8b69744345388eb154c9b7f
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.10.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.10.ebuild
deleted file mode 100644
index 203607bac2d8..000000000000
--- a/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.10.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python handler for dev-python/mkdocstrings"
-HOMEPAGE="
- https://mkdocstrings.github.io/python/
- https://github.com/mkdocstrings/python/
- https://pypi.org/project/mkdocstrings-python/
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
-
-RDEPEND="
- >=dev-python/griffe-1.6.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocstrings-0.28.3[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-autorefs-1.4[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- >=dev-python/beautifulsoup4-4.12.3[${PYTHON_USEDEP}]
- >=dev-python/inline-snapshot-0.18[${PYTHON_USEDEP}]
- dev-python/mkdocs-material[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export PDM_BUILD_SCM_VERSION=${PV}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # "None" meaning particular formatter not installed
- "tests/test_rendering.py::test_format_code[None-print('Hello')]"
- "tests/test_rendering.py::test_format_code[None-aaaaa(bbbbb, ccccc=1) + ddddd.eeeee[ffff] or {ggggg: hhhhh, iiiii: jjjjj}]"
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p inline_snapshot
-}
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.11.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.17.0.ebuild
index d185dcc7a6d0..79fecdffdbaf 100644
--- a/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.11.ebuild
+++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.17.0.ebuild
@@ -20,29 +20,24 @@ SLOT="0"
KEYWORDS="~amd64 ~arm64 ~riscv"
RDEPEND="
- >=dev-python/griffe-1.6.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocstrings-0.28.3[${PYTHON_USEDEP}]
+ >=dev-python/griffe-1.12.1[${PYTHON_USEDEP}]
+ >=dev-python/mkdocstrings-0.30[${PYTHON_USEDEP}]
>=dev-python/mkdocs-autorefs-1.4[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
>=dev-python/beautifulsoup4-4.12.3[${PYTHON_USEDEP}]
- >=dev-python/inline-snapshot-0.18[${PYTHON_USEDEP}]
dev-python/mkdocs-material[${PYTHON_USEDEP}]
)
"
+EPYTEST_PLUGINS=( inline-snapshot )
distutils_enable_tests pytest
export PDM_BUILD_SCM_VERSION=${PV}
-python_test() {
- local EPYTEST_DESELECT=(
- # "None" meaning particular formatter not installed
- "tests/test_rendering.py::test_format_code[None-print('Hello')]"
- "tests/test_rendering.py::test_format_code[None-aaaaa(bbbbb, ccccc=1) + ddddd.eeeee[ffff] or {ggggg: hhhhh, iiiii: jjjjj}]"
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p inline_snapshot
-}
+EPYTEST_DESELECT=(
+ # "None" meaning particular formatter not installed
+ "tests/test_rendering.py::test_format_code[None-print('Hello')]"
+ "tests/test_rendering.py::test_format_code[None-aaaaa(bbbbb, ccccc=1) + ddddd.eeeee[ffff] or {ggggg: hhhhh, iiiii: jjjjj}]"
+)
diff --git a/dev-python/numpy/numpy-2.3.2-r1.ebuild b/dev-python/numpy/numpy-2.3.2-r1.ebuild
index 1888658efcaa..e756109c70f5 100644
--- a/dev-python/numpy/numpy-2.3.2-r1.ebuild
+++ b/dev-python/numpy/numpy-2.3.2-r1.ebuild
@@ -108,7 +108,7 @@ python_configure_all() {
# these two imply ASIMDHP
if [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == ASIMDHP ]]; then
- for flag in asimdhfm sve; do
+ for flag in asimdfhm sve; do
cpu_baseline+=(
$(usex "cpu_flags_arm_${flag}" "${flag^^}")
)
diff --git a/dev-python/openstacksdk/Manifest b/dev-python/openstacksdk/Manifest
index 1ce6407d8e31..0f60312f426e 100644
--- a/dev-python/openstacksdk/Manifest
+++ b/dev-python/openstacksdk/Manifest
@@ -1 +1,2 @@
DIST openstacksdk-4.6.0.tar.gz 1287222 BLAKE2B cd2af29901c89bee15ed01fc2d19d75c75a5e2bacd860f999f6696292d171967e7f129ad295fc4556222ba4bf7786cccc4e20bd612b19bf3b6c6507752a88e25 SHA512 9c11a537734e11a25a8e4c664fa700071a47743b12bd8656ce6b91294650c2cd9e119d1f9fe2e68b230c46c1435040ca6b33e28f6e750f3bf88d1686dc66a42c
+DIST openstacksdk-4.7.0.tar.gz 1297106 BLAKE2B 65a351ad27f73751cafb968f2c7071402f1fc1415dafd768f30fe099a665d9c3718626b3d61f1fa7fba420c6d847c84385d7914a7e4128a364d2568979387227 SHA512 64a1e9ec712d24543ee84f67bb18320ff55adf10a35943070871d53ba4c210d13069cce33a3416df495394f3ac8f9d990c1efdfc02930a6215c83a94deeba4fb
diff --git a/dev-python/openstacksdk/openstacksdk-4.7.0.ebuild b/dev-python/openstacksdk/openstacksdk-4.7.0.ebuild
new file mode 100644
index 000000000000..00aae8278bb2
--- /dev/null
+++ b/dev-python/openstacksdk/openstacksdk-4.7.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A collection of libraries for building applications to work with OpenStack"
+HOMEPAGE="
+ https://opendev.org/openstack/openstacksdk/
+ https://github.com/openstack/openstacksdk/
+ https://pypi.org/project/openstacksdk/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/decorator-4.4.1[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.6.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonpatch-1.21[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-5.10.0[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+ >=dev-python/requestsexceptions-1.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.4.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Internet?
+ sed -e 's:test_create_dynamic_large_object:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+
+ # TODO
+ sed -e 's:test_generate_form:_&:' \
+ -e 's:test_create_static_large_object:_&:' \
+ -e 's:test_object_segment_retries:_&:' \
+ -e 's:test_object_segment_retry_failure:_&:' \
+ -e 's:test_slo_manifest_retry:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+ sed -e 's:test_servers:_&:' \
+ -i openstack/tests/unit/test_stats.py || die
+
+ # unhappy about paths due to test runner
+ sed -e 's:test_method_not_supported:_&:' \
+ -i openstack/tests/unit/test_exceptions.py || die
+ sed -e 's:test_repr:_&:' \
+ -i openstack/tests/unit/test_resource.py || die
+
+ # requires hacking
+ rm openstack/tests/unit/test_hacking.py || die
+
+ # fragile warning-based tests
+ sed -e 's:test_unsupported_version_override:_&:' \
+ -i openstack/tests/unit/test_missing_version.py || die
+ sed -e 's:test_create_unknown_proxy:_&:' \
+ -i openstack/tests/unit/test_connection.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstack/tests/unit
+}
diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest
index b8069841f54f..b806fc0f3844 100644
--- a/dev-python/pbs-installer/Manifest
+++ b/dev-python/pbs-installer/Manifest
@@ -1 +1,2 @@
DIST pbs-installer-2025.08.08.gh.tar.gz 91778 BLAKE2B 348dd70c255d769de49f023aea5b1a0cd7bae1791109443b943fcabfd8a4bd472194ce924971f44c1afa28d6764589ff261b2f976c4d7f0af9798db34fc61682 SHA512 07d39cecc1d09d2988c85b0459d89232292ec934839cc8b5fa43115157ef101231ef493afa769bf2cfe67154ffe9c87d5f36d4b2f5c1fdabb2326e779c2e8076
+DIST pbs-installer-2025.08.14.gh.tar.gz 91760 BLAKE2B 2c501130847c128cc8dd816eb1ef543954ff88f1d3d1e5dfc6e1413e0380c5f10978004a7aae65af07108af41b9189f52ac8570e233e4dcbf705a3a3a7ca0033 SHA512 b5d80eaa3c365624c41772b857d2406a700ed82f9c63c04e2fb1bb524cbdace40e4272505ecf28242d63b947b0a3cf627bb0172b5611dfc9fc8961f97461134f
diff --git a/dev-python/pbs-installer/pbs-installer-2025.08.14.ebuild b/dev-python/pbs-installer/pbs-installer-2025.08.14.ebuild
new file mode 100644
index 000000000000..272948979211
--- /dev/null
+++ b/dev-python/pbs-installer/pbs-installer-2025.08.14.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Installer for Python Build Standalone"
+HOMEPAGE="
+ https://pypi.org/project/pbs-installer/
+ https://github.com/frostming/pbs-installer/
+
+"
+SRC_URI="
+ https://github.com/frostming/pbs-installer/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ dev-python/zstandard[${PYTHON_USEDEP}]
+"
+
+# upstream does not provide any tests
+RESTRICT=test
+
+python_configure_all() {
+ export PDM_BUILD_SCM_VERSION=${PV}
+}
diff --git a/dev-python/pdm/Manifest b/dev-python/pdm/Manifest
index e6a531de8b53..0153d83a55e8 100644
--- a/dev-python/pdm/Manifest
+++ b/dev-python/pdm/Manifest
@@ -1 +1,2 @@
DIST pdm-2.25.4.tar.gz 2663701 BLAKE2B 41bf5446b125788c9f136aea47f5911a173197868afc9bbb587820fae5c65c4621ad75369a4b6959c125e1a08428473f242e199c24ec50f8f8246b9312ee3d7a SHA512 afe6c0305ee41871e99ac03099376795072732b99697cb30edd06b1f36ec0bed6ce27396f445865f4395ed11c0e3f6bd4c7afc0bf0631c396636865257a5424a
+DIST pdm-2.25.6.tar.gz 2664707 BLAKE2B b8dd9ed141cc70494882626e27b6434cc9d8583dbec20ebf2eb417845e4501125780e70c3d81e9308b774dd6cce008e0fa676573590239d453175581e647b384 SHA512 6c768ab05973daf703d3ee417ba0d5919a050f3451bf8b53ef8246101e3258c85b993caa7898e64fa13abddbaec08c90ac147d966fc9d9d2eb6e68ade9d33d79
diff --git a/dev-python/pdm/pdm-2.25.6.ebuild b/dev-python/pdm/pdm-2.25.6.ebuild
new file mode 100644
index 000000000000..49287b7a295f
--- /dev/null
+++ b/dev-python/pdm/pdm-2.25.6.ebuild
@@ -0,0 +1,83 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python package and dependency manager supporting the latest PEP standards"
+HOMEPAGE="
+ https://pdm-project.org/
+ https://github.com/pdm-project/pdm/
+ https://pypi.org/project/pdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/dep-logic-0.5[${PYTHON_USEDEP}]
+ <dev-python/findpython-1[${PYTHON_USEDEP}]
+ >=dev-python/findpython-0.7.0[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ >=dev-python/hishel-0.0.32[${PYTHON_USEDEP}]
+ >=dev-python/httpcore-1.0.6[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ >=dev-python/id-1.5.0[${PYTHON_USEDEP}]
+ dev-python/installer[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22.1[${PYTHON_USEDEP}]
+ >=dev-python/pbs-installer-2025.06.06[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.2.0[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/unearth-0.17.5[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/uv
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{httpserver,httpx,mock,rerunfailures} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:,<[0-9.a]*::' pyproject.toml || die
+ # remove pkgutil namespace magic, as it doesn't work and makes
+ # dev-python/pdm-backend tests test the wrong package
+ rm src/pdm/__init__.py || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]'
+ # unhappy about extra packages being installed?
+ # (also fails randomly in venv)
+ tests/cli/test_build.py::test_build_with_no_isolation
+ # TODO: random regression?
+ tests/cli/test_python.py::test_find_python
+ # TODO
+ tests/test_formats.py::test_export_from_pylock_not_empty
+ )
+
+ epytest -m "not network and not integration and not path"
+}
diff --git a/dev-python/protobuf/Manifest b/dev-python/protobuf/Manifest
index 1358c221b7d6..741ce24613d0 100644
--- a/dev-python/protobuf/Manifest
+++ b/dev-python/protobuf/Manifest
@@ -1,6 +1,8 @@
+DIST protobuf-32.0.gh.tar.gz 9692366 BLAKE2B 37e09bec62a5c35a3ca45d4bd4fd27e719a4f04b95f049b265ca7c231459d8333eafc13cfd1126dda5ccf799ab2e2e9f305fcae5525a64b4b1eb45b1fb3a897b SHA512 89806b219fa2132e46bf01b7a5831c2977ad7ebe06750956d0e17bcdc028498e883704445fca56bb813f4b78e935709f67f8fa1b46b597840c58a843483cdafb
DIST protobuf-5.29.4.py.tar.gz 424902 BLAKE2B 54941b008ff5ebd007076448828564128d98e9a6a4613c87057c359124940d341358fe28107b929e3e842ac7e1b34ed54c30219ed95cbb418826592e2458a01f SHA512 634faf103ed8320762593689796d26e6b988e1b40277b12dc7356983c07d5d1da8cac1530e4f16c0a1494abfb885f26bf9884988029e863515cf535c62d96c77
DIST protobuf-5.29.5.py.tar.gz 425226 BLAKE2B 1d7461e94ba8bc097d6f52170678665e3cd97ef44e4757e6c20bcb1bdfbfe673d26cd4a63f8e6972af964e381dfffedeb9a4959ec7a7d5a3a3f87f917c8aa329 SHA512 cbb39efe7f6499362b3e4cc9f073df921c8b83d3aafde245a2ca3432f3e744a428e946799c48b2797e08312342e164eced0bf2b8865b8d042b54913855abb1c8
DIST protobuf-6.30.2.gh.tar.gz 9523913 BLAKE2B d3950abfe8b3b61dc2bb61f683b014de29451252c46b670dee75a81eb0b8ed30a3209227aa9483800244af16058469deb281521609d769a3456a798ca8a9a4a3 SHA512 f2ee857a36b49f87257a306b3f3c361770d74aaf24c4650b9d00994e1e1a0b09079fb0ce5ffb4d5a4a32d8ca46e3247d6db454918fa0b104fc8d58e8a0546a96
DIST protobuf-6.30.2.py.tar.gz 429315 BLAKE2B 6b56e23a8a962ce9da282ec49c4807877f4bfb677ad84bb6930b83cc436e9839f5791cfb19105678881c8361e27d62d3dde51e5e6c42f7a0e146d9e469282780 SHA512 48ddb2b63acc91759ba4243926c50bb0d16601aace9019129975701634b77a59415659751c69b06464afe994a0fbbd8da6640a208b743ba7df8bf6d60c5ec2b9
DIST protobuf-6.31.1.gh.tar.gz 9602805 BLAKE2B 349a528acaad6bae8c39be2888fcfe855dc71605d2b52e20c24e63b3171a855b0f16c60e4fa8a69bcad8b484edd46232132e7b0256634f420aea2dd207da129e SHA512 9138ac1b1c248246ed9840ab3879a6e18da60c709454ede2cb8e45e66e949998ab6e2c8aba557f0bb0b650ec430caeb546695b23387321ced5bc288866e04ad7
DIST protobuf-6.31.1.py.tar.gz 441797 BLAKE2B 867ee81473a733020098f76c2ccf22161a73b3a1219e08f0f339f202cff871447d874cc6c13d42ef314a0134d65c56631ba4ab6feb806749f3d18443f666f5d9 SHA512 595c125a116020344d5706adf444e1a3259eae5bce3ca61b92c1ab4cb63c167f97210c71e5e24b8c49c6489777ca6de95abdd398125ba3925313ad5ebe09cc18
+DIST protobuf-6.32.0.py.tar.gz 440614 BLAKE2B 615338e96a26c5a9f254b41da41598d9826fa039cff088c94fe3693a1f042631a7b48ac9a3a9bf6de2f6c5d61209796e227df080f4388f46d76afa9fecc94ddd SHA512 c29d1b01984e0cc204bffa5c757e4df4eb8ee696b6f5557414e65310b15956192fc73db5daae176f2b4db03e98c36a46cc74ca8b377df193bc9461142c8269cf
diff --git a/dev-python/protobuf/protobuf-6.32.0.ebuild b/dev-python/protobuf/protobuf-6.32.0.ebuild
new file mode 100644
index 000000000000..e8381c83a1bf
--- /dev/null
+++ b/dev-python/protobuf/protobuf-6.32.0.ebuild
@@ -0,0 +1,156 @@
+# Copyright 2008-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Default implementation currently is upb, which doesn't match dev-libs/protobuf
+# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+GH_PV=$(ver_cut 2-3)
+GH_P=${PN}-${GH_PV}
+
+DESCRIPTION="Google's Protocol Buffers - Python bindings"
+HOMEPAGE="
+ https://protobuf.dev/
+ https://pypi.org/project/protobuf/
+"
+# Rename sdist to avoid conflicts with dev-libs/protobuf
+SRC_URI="
+ $(pypi_sdist_url) -> ${P}.py.tar.gz
+ test? (
+ https://github.com/protocolbuffers/protobuf/archive/v${GH_PV}.tar.gz
+ -> ${GH_P}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-3)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+# need protobuf compiler
+BDEPEND="
+ test? (
+ dev-libs/protobuf
+ dev-python/absl-py[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ unpack "${P}.py.tar.gz"
+
+ if use test; then
+ mkdir "${WORKDIR}/test" || die
+ cd "${WORKDIR}/test" || die
+ unpack "${GH_P}.gh.tar.gz"
+ fi
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # strip old-style namespace
+ rm google/__init__.py || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # TODO: figure out how to build the pybind11 test extension
+ google/protobuf/internal/recursive_message_pybind11_test.py
+ )
+
+ case ${EPYTHON} in
+ python3.11)
+ EPYTEST_IGNORE+=(
+ # syntax error...
+ google/protobuf/internal/json_format_test.py
+ )
+ ;;
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ # exception message mismatch
+ google/protobuf/internal/json_format_test.py::JsonFormatTest::testInvalidTimestamp
+ google/protobuf/internal/well_known_types_test.py::TimeUtilTest::testInvalidTimestamp
+ )
+ ;;
+ esac
+
+ cp -r "${BUILD_DIR}"/{install,test} || die
+ local -x PATH="${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}"
+ cd "${BUILD_DIR}/test$(python_get_sitedir)" || die
+
+ # copy test files from the source tree
+ cp -r "${WORKDIR}/test/${GH_P}/python/google/protobuf/internal/." \
+ google/protobuf/internal/ || die
+ # link the test data for text_format_test.py
+ # (it traverses directories upwards until to finds src/google...)
+ ln -s "${WORKDIR}/test/${GH_P}/src" ../src || die
+
+ # compile test-related protobufs
+ local test_protos=(
+ # from src
+ any_test.proto
+ map_proto2_unittest.proto
+ map_unittest.proto
+ unittest.proto
+ unittest_custom_options.proto
+ unittest_delimited.proto
+ unittest_delimited_import.proto
+ unittest_features.proto
+ unittest_import.proto
+ unittest_import_public.proto
+ unittest_legacy_features.proto
+ unittest_mset.proto
+ unittest_mset_wire_format.proto
+ unittest_no_field_presence.proto
+ unittest_no_generic_services.proto
+ unittest_proto3.proto
+ unittest_proto3_arena.proto
+ unittest_proto3_extensions.proto
+ unittest_retention.proto
+ util/json_format.proto
+ util/json_format_proto3.proto
+ # from python
+ internal/descriptor_pool_test1.proto
+ internal/descriptor_pool_test2.proto
+ internal/factory_test1.proto
+ internal/factory_test2.proto
+ internal/file_options_test.proto
+ internal/import_test_package/import_public.proto
+ internal/import_test_package/import_public_nested.proto
+ internal/import_test_package/inner.proto
+ internal/import_test_package/outer.proto
+ internal/message_set_extensions.proto
+ internal/missing_enum_values.proto
+ internal/more_extensions.proto
+ internal/more_messages.proto
+ internal/no_package.proto
+ internal/packed_field_test.proto
+ internal/self_recursive.proto
+ internal/test_bad_identifiers.proto
+ internal/test_proto2.proto
+ internal/test_proto3_optional.proto
+ internal/well_known_types_test.proto
+ )
+ local proto
+ for proto in "${test_protos[@]}"; do
+ protoc --python_out=. -I"${WORKDIR}/test/${GH_P}/src" -I. \
+ "google/protobuf/${proto}" || die
+ done
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # pytest-forked prevents segfault on py3.13
+ # https://github.com/protocolbuffers/protobuf/issues/22067
+ epytest -p pytest_forked --forked
+}
diff --git a/dev-python/pygame/pygame-2.6.1.ebuild b/dev-python/pygame/pygame-2.6.1.ebuild
index f84e3115a6c7..a3669efcb01c 100644
--- a/dev-python/pygame/pygame-2.6.1.ebuild
+++ b/dev-python/pygame/pygame-2.6.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -78,6 +78,11 @@ python_configure_all() {
}
python_test() {
+ # Seems(?) there is no way to easily skip individual tests, but
+ # an msys2 hack exists which we can re-use for now (bug #951940).
+ # https://github.com/pygame/pygame/pull/4267
+ local -x PYGAME_MSYS2=1
+
local -x SDL_VIDEODRIVER=dummy
local -x SDL_AUDIODRIVER=disk
script -eqc "${EPYTHON} -m pygame.tests -v" || die
diff --git a/dev-python/pyproj/Manifest b/dev-python/pyproj/Manifest
index 61f1b364c104..f91b355d6c20 100644
--- a/dev-python/pyproj/Manifest
+++ b/dev-python/pyproj/Manifest
@@ -1 +1,2 @@
DIST pyproj-3.7.1.gh.tar.gz 239121 BLAKE2B 42502c9230d11988c0b14b94226b043bb83bab4885e7490b786b78883a8b73081604dd856bd64b0baf5e241774cc3d384fcc9c1bbecfce10e0fcb3f82fcfadaa SHA512 43582a052e80d1d89120a79ec2ee1b4ae9cc24d65031275286791f2bad7efc0827831d2a7482d9a37988359a26c662d38144a372fc23a45a8edd814fd78fc1b7
+DIST pyproj-3.7.2.gh.tar.gz 238905 BLAKE2B 10b3e1865273aa9371ae1593e8e1a7d6fc75176acf56895a832d88718b051c48538d6fd6e5ffabd4824d99826f6e88b9aacb89869d73f88bcf92f3c06538e27f SHA512 dc51e48809ccafb898353e2e497f93bb9dabb867cc4a10304fd8d25f9b8f9002741446e7387b6a0a9d77d7ee27329397eef14a6ff906032d5016b5509f46ef46
diff --git a/dev-python/pyproj/pyproj-3.7.2.ebuild b/dev-python/pyproj/pyproj-3.7.2.ebuild
new file mode 100644
index 000000000000..89e4c970fc5c
--- /dev/null
+++ b/dev-python/pyproj/pyproj-3.7.2.ebuild
@@ -0,0 +1,56 @@
+# 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_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to the PROJ library"
+HOMEPAGE="
+ https://github.com/pyproj4/pyproj/
+ https://pypi.org/project/pyproj/
+"
+SRC_URI="
+ https://github.com/pyproj4/pyproj/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux"
+
+DEPEND="
+ >=sci-libs/proj-9.0.0:=
+"
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-python/cython-3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/shapely[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_configure() {
+ # Avoid greedily trying -L/usr/lib, etc
+ # https://github.com/pyproj4/pyproj/blob/main/setup.py#L76
+ export PROJ_LIBDIR="${ESYSROOT}/usr/$(get_libdir)"
+ export PROJ_INCDIR="${ESYSROOT}/usr/include"
+}
+
+python_test() {
+ rm -rf pyproj || die
+ epytest -m "not network" test
+}
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
index 7b31843b3264..6706d47cb25b 100644
--- a/dev-python/python-tests/Manifest
+++ b/dev-python/python-tests/Manifest
@@ -8,10 +8,14 @@ DIST Python-3.13.5.tar.xz 22856016 BLAKE2B 9caacad8745dcd238b208022cb140a6655ae5
DIST Python-3.13.5.tar.xz.asc 963 BLAKE2B 2db0162d18129ec42b48393108a72c28e7f8f8c3fa40b2e231c87fe0bdc3c166fb6ca4a1c1dfb3fffe1aa0c2618c7ccb245513beb7a0919b4aaca5ec7eb23b36 SHA512 07c1a2ec2d6ba2805680b7f1dc262fdc5dc3eec4503780ecdc08cd570ccbb5f1efa736ee03c83d36bdb33ce87db06be5892cf5a6eaf4018d5fe78fff99e615ae
DIST Python-3.13.6.tar.xz 22761268 BLAKE2B 9f025130ffbedfb105a33abf47a85c598f31df25f39c1c2b18d9a778d62cce8005b7716618d094e38b30670855a388d18e90cbc2ba25d22c8a6e7728fdbbd0d8 SHA512 fca724dbb4f3fed889d0b51c86ee0559c70ee2c7aba1d8b089b08538d82411ec9e6bc9c7a39c1dc4bb4f13b5cf0d9a332f7759412fa540a1940477cb47052316
DIST Python-3.13.6.tar.xz.asc 963 BLAKE2B 7c360c7fb269e36bb886e9adcbbf667a781ee6abe2c0b133d3470f9ec0568aa376cb42d6760f3e836caf5f91c96243a0c42619d6dcd7afd3f7d4e0df617cc924 SHA512 133b2c017f9f8cf93209f11bb398908528dabf9b66ece034cb8a26fc9550b84a3589f85deb1acfe322b01db20da083c039ce91db1452bdda9fb885a948d53c50
+DIST Python-3.13.7.tar.xz 22769492 BLAKE2B 8654588ed12e8cd1d691a1869ed1db0d4b9dbb8e265bb0189cfb3cd1f21a298c1d8e9678e27c23b31e6c7f86478f33f3fc6bb66488a550bed60d64b7a801e65a SHA512 73fa04db860e8b98c204f84d403598fcb802b19bfc8f2675df2fddb6b153b1643daf081746a043f57c8fa71b950a439581aa5204c2bfadb8cfd8864ca4f42f0d
+DIST Python-3.13.7.tar.xz.asc 963 BLAKE2B ae8721488c7ce01c9c6fe1b184526044900b39d033b0ba1ac573c742cf99a902b32cfefc9b73af8573667b47c71b8356fced5abf0a4b581ef8d0aff1bbcacf47 SHA512 71cd002c18ebb47861abd3309c8cf38972d3d916cca5595d895ba3940719243c66fa28595c2370a8846d9d1c4b3cb4ac5baeda9e9cf94be30302892d01df5e87
DIST Python-3.14.0b4.tar.xz 23641472 BLAKE2B e894c115d50371e2ecfd5c0cf79f37d3bff230338524bbb2352af8e42d256cd8fe17a38c68769d3125ddcae33500fd151ed64b5641d7f35f4b8968fcae9e31b4 SHA512 faaea000a474430a4ee41bdc95f9a77aa6573354698bc987a7617a6d36eae4b8e7f02ac945eb5b97df8dc62a256725ccd59fec08d4af2bd7b6e8a31ef4f92e2a
DIST Python-3.14.0b4.tar.xz.sigstore 5038 BLAKE2B 95bd040d9be4d746b8d1a5a7486d309783248093b032b85ac5e7e7eaf35caa99b43bf3bf7c3ad69635a7b4f14bf6e42a9ba0b54d19986069b5dc075d17a8ddd5 SHA512 3e2a7a73d5cd98e4e8139ef89bf75c1213459db7634bb57ea2de126ff403e7f9244ec6fca525bcb55b9cd5342cbc80d659772709ebf405d330dcd4f14f93a7cc
DIST Python-3.14.0rc1.tar.xz 23661916 BLAKE2B 77657bb87fe5a8ef538d97ca5ab39be8243d222400f0439ae6a719f528f19d79a22b3c0832c8e0ed9650e8d18a546cec4f40dd881d142b0739e97add688662be SHA512 6f34f593713282e105f9cf0396c523f738f3e4e8c2d4bcc4051c9febff96ab521e67abfe5fd072d7f584c3afcc7acb96a42939f51259ea411308a48468f7fd4e
DIST Python-3.14.0rc1.tar.xz.sigstore 5134 BLAKE2B 10f93540d5acfcd1509826b606d5a2ded0b40c5c60951c893d18c1baa39d8189ac15fa586fcd34318ac6cfeb4c9ad51a86936849a8cdcbb179a11cc86f5f3189 SHA512 0ecd23bf303e42be6f639d55e2b00c13a87caf512923fd529b2661de6e73f76491def062037befbefd6c2fcf2608ae8cb27faae7431137b53e60c8cc20fec740
+DIST Python-3.14.0rc2.tar.xz 23566140 BLAKE2B 6871d31eba6167f2d0b2d098b1582e465b1bb8df90ede41bba57b8dbdcb087ceba7cc047e93e43cf93c3c36d3166f4f99ab4c321566ec64cdc4c0e65c0abd1da SHA512 8021dc8e23239fd9e53fafd1fcaa1108da41ef376ee5b5e9c8dfd74995537131990239cd83de45b8bd5fb52b44c4dc08df1c837f69ce82c5b2d99ddf3ea5ef77
+DIST Python-3.14.0rc2.tar.xz.sigstore 4942 BLAKE2B 650404fe155c874f05d114dda6ff47ef90b9ed09f6d40f7a3757a3f0fe4420380cb2e52696dda76badccd86b31117e6f8b906a61881b8f65949d00d692abd959 SHA512 2cce5b68b32f9f0f400e5c2d571ad9ce479cff904690ddd454ea69b612cd8c5c003f632f8866a220be46e5e56b92a1dfb12c4e12b381fc7c58710635be5ea715
DIST python-gentoo-patches-3.11.11.tar.xz 10604 BLAKE2B 6be4c66b0458f7a7085aef976cff3dcb4d114ac0b64fb27327a5693e8d41a77f7eeed718b9c5a1b1961278235ee4cd43497aa3dc27e6e6bed65804b95f667a15 SHA512 ab8113a94949cead34d976179f80c3e0a6686bf2476079a74f97b4d08c24a237500dc7ee09dc3b0ec98d2fbcb138397c73d7e2252e617a957a13999e59115158
DIST python-gentoo-patches-3.11.13.tar.xz 16492 BLAKE2B 8b188742dd3f25974cead290e5793c31f02741a901dce65137c596045fa2fbd5baaef332204af90f95ddcd864ee542b252c00b190e15c25af60a7bda771b116f SHA512 b5abad341d2eede81df445b56a98720466ec23df40a8a2e99a04dba5a106205655c8e2b64df0ca2630f036c8fe457ba64524280d137bbc99f52e4fd8e6bbd5ae
DIST python-gentoo-patches-3.11.13_p1.tar.xz 27748 BLAKE2B 26e0b5397d7927711bcc40330f72f54fb16c660c56a2f87166c5336eb2f53ccd4e920b906854ee122d64360b414e11a38a31a410936b4a49f6610626203f4322 SHA512 7c7eca7bf827255925e073c0ed5c69e9036b79e35e8f6ccb2684709bdc41fec80823a1df192c3decf56ba6d53e2c9feaf7fb81f3a214da69773da6a2997ca19b
@@ -24,7 +28,9 @@ DIST python-gentoo-patches-3.13.5.tar.xz 8916 BLAKE2B 9d985b12af62b8a917cac1dab9
DIST python-gentoo-patches-3.13.5_p1.tar.xz 19756 BLAKE2B ecc594573bbe3a28364d541d5e1014778c342b6e8ecb09e5e9def238ce73d51f178d02ae91bedce3f7aee4a753f2653aee4f4035f238fa60d603baa59ce4e89b SHA512 a60f3cf65b57aa6c85f59dc5f36fbabe1fa19a5225c3e224c99696bb3d1186b54bdad94627638a3a73b66ceb5958b3a5dcb2b83d13357c71ded04c98ad7da0b9
DIST python-gentoo-patches-3.13.6.tar.xz 7100 BLAKE2B 71f3a4dd65ccfbd25ec9655fdff0a6d8cd4f0ac73e2589658ec321e67672e3ab2b95bd8b99dd2998deb5af9fa41470e1ced46eceefd565b741015beb52e613aa SHA512 0c9b3dd60d1038154f1a5e5a1e5e45ef548f2cc065fcc5012eabb3d3776b0703c39cea17a7360f182392efc4b3490f77fb919687d13c5be7a50c680497424643
DIST python-gentoo-patches-3.13.6_p1.tar.xz 9152 BLAKE2B 3ded5d6e48d4f000376c782e099b333345f7e2c873c4a10413e8d49d12a4a5d0a5b18e1406f2a42a2f9aa9022c5952c30bc650d1952f9d18310ac9f022737e61 SHA512 c1ae5f4ab6083fab60ae73cbdd8eda640b7af8cc88c4c691eb0a17083eee3323e6b15d0032f7058c2a45c3d62106da3ec2bbdbec77875091558684ad699b856e
+DIST python-gentoo-patches-3.13.7.tar.xz 7088 BLAKE2B 07acf2a1cc25f95131875e0282f33ce4710094bcb75b8ac1c383aa88456194d19ede17b41dda1b29bbb194a467f56e8fe976e387128aa82507529cba6ba315b7 SHA512 d79a450db4678bb494e85167e5f035ec146f9b8c400e34cbfa1211cda19aef517ffc624b11687425b1e0ff7a63c22129c649aba663fb9cfec12512b09b64d6a6
DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7
DIST python-gentoo-patches-3.14.0b4.tar.xz 3780 BLAKE2B ad67e213b21bc039bf33c0a2e6d3a4ce5e06179ce167f89d56561834dfb5c5b5b5d7f43f6fe2597e94e4ea5d544bb0b60d38b847bb0c32277a0151f2084f3618 SHA512 e5e6fa02d2d24e46848fa5a79ba7fd8a6703473e3bee257fee7b5c55d5c82fedb29f0ba6de1117c6ca738df3841bae5bb00962ae0290d553020e3617dc557c6d
DIST python-gentoo-patches-3.14.0rc1.tar.xz 3776 BLAKE2B 4f2cf7598dac08c3118bbca6c111684fe68fa7c8749ef394eae35c50bc7d78e30f6c54a77199fc87270ccdafa7725dad974226964841d666ceab7cb34d7bd778 SHA512 323586bfd662ff4ed41b7f5f34d1dc394e7e7e1ad87e8a9283b99a14e226cc73d7ff7fb510e772319e361f2ad2becfe4ac246cc0be34d0a981df286cb20c9734
DIST python-gentoo-patches-3.14.0rc1_p1.tar.xz 5436 BLAKE2B 04a7e01c758e7e162ab05607e1a5f035c4bd77ad09cdbdfee183f02af396140f3b4f7cc0c627fbfeb05e076d4bb763afd77502a35178ec2eb0f4050d7d829734 SHA512 3795d4aa89d433196da74361b0b7ea9fa52966409667f88e8b069ec85674286068cfa3666a5503c62597c5cff4aa5ebf360b907c7571ced269a38019e593cf45
+DIST python-gentoo-patches-3.14.0rc2.tar.xz 3776 BLAKE2B 122a49783f12cf0274ab74ff06edfc483971fca125085914dbc69c2a147a91178b8e573aac6567f5f540aec968e04af6e76a5dec0028b7a8abaac599ce1ae9b4 SHA512 3a16fbbf9e1d71ac87c79f0940634ab299b9f68f98928ac7fde44eae47b5a3f89232e63366bd8fda4484eb6721dcf05e17f92459f95b5786f3649d5ae499df4d
diff --git a/dev-python/python-tests/python-tests-0.3.13.7.ebuild b/dev-python/python-tests/python-tests-0.3.13.7.ebuild
new file mode 100644
index 000000000000..926f8d2cdfe2
--- /dev/null
+++ b/dev-python/python-tests/python-tests-0.3.13.7.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit python-r1 verify-sig
+
+REAL_PV=${PV#0.}
+MY_PV=${REAL_PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 2-3)t
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# enable by default to help CI handle it (we have no additional deps)
+IUSE="+python_targets_${PYTHON_COMPAT[0]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/python-tests/python-tests-0.3.14.0_rc2.ebuild b/dev-python/python-tests/python-tests-0.3.14.0_rc2.ebuild
new file mode 100644
index 000000000000..cd2982439a58
--- /dev/null
+++ b/dev-python/python-tests/python-tests-0.3.14.0_rc2.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+VERIFY_SIG_METHOD=sigstore
+
+inherit python-r1 verify-sig
+
+REAL_PV=${PV#0.}
+MY_PV=${REAL_PV/_/}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 2-3)t
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# enable by default to help CI handle it (we have no additional deps)
+IUSE="+python_targets_${PYTHON_COMPAT[0]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+"
+
+# https://www.python.org/downloads/metadata/sigstore/
+VERIFY_SIG_CERT_IDENTITY=hugo@python.org
+VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/python-tests/python-tests-3.13.7.ebuild b/dev-python/python-tests/python-tests-3.13.7.ebuild
new file mode 100644
index 000000000000..7ffb0bc18a44
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.13.7.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# enable by default to help CI handle it (we have no additional deps)
+IUSE="+python_targets_${PYTHON_COMPAT[0]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.13.0_rc1_p3-r1:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/python-tests/python-tests-3.14.0_rc2.ebuild b/dev-python/python-tests/python-tests-3.14.0_rc2.ebuild
new file mode 100644
index 000000000000..0e785845b31b
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.14.0_rc2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+VERIFY_SIG_METHOD=sigstore
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV/_/}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# enable by default to help CI handle it (we have no additional deps)
+IUSE="+python_targets_${PYTHON_COMPAT[0]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+"
+
+# https://www.python.org/downloads/metadata/sigstore/
+VERIFY_SIG_CERT_IDENTITY=hugo@python.org
+VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index e4f47464a371..0b5533431bf8 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1,2 +1,3 @@
DIST trimesh-4.7.1.gh.tar.gz 13638994 BLAKE2B 4dfc3585decf462b0c9b62336ada80f07b71e2fa66596a828f42978c7957ab336424d3d6d96d430656cff9d7db6ab8bb29b55f70150c90579b22298013546ae1 SHA512 a62e56709800525b1292c607e4ad251c7703dd03c636e82fed52b3ef92cf59a9230ce8bb2c00a8e5ac78e7b41bb34bb29c272bb2fe9f60974e18eb13761f43be
DIST trimesh-4.7.3.gh.tar.gz 13640391 BLAKE2B 16228912f1f95dcadef0fa1fede4567129059cec78ac64a49fd17a4e68f54503538577854e6d4860c62536c477c58ef518241d3759c1b0a188d2cd92250a5049 SHA512 dada2fd9890700d39741cd1d10c1fe1cfc907055281e9e0ead6f5c017141019d10bb20b580d0ad9e33ff9693f311efdd0c5ae5c52ffce2e7cb69bb5f9f05133e
+DIST trimesh-4.7.4.gh.tar.gz 13640438 BLAKE2B 657d69e3ce886167c9c8b4e2080b961dda41c7420da7f5e4dfeb8bfba5aa3cd1a83c9e44eebdf8c27770fad3bc712874becf37f98307973ec2f1707f32106699 SHA512 4b51e642eb4dbfe6898082dbd9017b9da70093036cb826d909e55295d65e43a4933c8a94d8a1f653a713e235b7bc48bb30f30f4df7a36ae115302c031ee0f03e
diff --git a/dev-python/trimesh/trimesh-4.7.4.ebuild b/dev-python/trimesh/trimesh-4.7.4.ebuild
new file mode 100644
index 000000000000..062f57fd3b56
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.7.4.ebuild
@@ -0,0 +1,76 @@
+# 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 optfeature
+
+DESCRIPTION="Python library for loading and using triangular meshes"
+HOMEPAGE="
+ https://trimesh.org/
+ https://github.com/mikedh/trimesh/
+ https://pypi.org/project/trimesh/
+"
+SRC_URI="
+ https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pycollada[${PYTHON_USEDEP}]
+ dev-python/pyglet[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
+ dev-python/svg-path[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ dev-python/rtree[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mapbox-earcut[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # requires manifold3d
+ tests/test_boolean.py::test_multiple_difference
+ # timing nonsense
+ tests/test_bounds.py::BoundsTest::test_obb_mesh_large
+)
+EPYTEST_IGNORE=(
+ # require pyinstrument
+ tests/test_sweep.py
+)
+
+EPYTEST_PLUGINS=()
+: ${EPYTEST_TIMEOUT:=1800}
+EPYTEST_XDIST=1
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature_header "${PN} functionality can be extended by installing the following packages:"
+ optfeature "making GUI applications with 3D stuff" dev-python/glooey
+ optfeature "2D triangulations of polygons" dev-python/mapbox-earcut
+ optfeature "loading a number of additional mesh formats" dev-python/meshio
+ optfeature "figuring out how much memory we have" dev-python/psutil
+ optfeature "marching cubes and other nice stuff" dev-python/scikit-image
+}
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index ed131f5f7c3f..4f428020a2ea 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -1,3 +1,4 @@
DIST types_docutils-0.21.0.20250722.tar.gz 54539 BLAKE2B 37440cb849697c3d58cc6187f7fb040615fe4c68dc1e800f10b46b6a2bdb562296263e779d9abe4482eda8cb952d00b730d8bfd4afa25da73862a251e69d6fdf SHA512 8e61afe8ce447d53ec5511f1e2556200e0f1bfe2a701852f4ff4ce2a9685736d359c13d3a13d3c88b22b190291554c087420395c715b6ef821e6f24aef7708a6
DIST types_docutils-0.21.0.20250728.tar.gz 54656 BLAKE2B 843f2615f22fd5420901f87d1cdbe5c6dcb844d062b3ab51c8b001a32c113a864e254c659922201dcc3a41cd95c35acc5c66692ff700fb7ebfd27c8cccbee2bd SHA512 02071d877c8e433c6b091694caca50741d2d13b8702d591fbe68139d417120c94ddcc222a34e08bcc861447813926f477492cdf61cd449073fe3250d1642dc55
DIST types_docutils-0.21.0.20250809.tar.gz 54770 BLAKE2B 63b30cc8496f885c3ad13d7e69602bec5d0d033c551b2e9e3717577d3f84bd8e5065c90e657220a17f36ccd15ae427d575b8ca0824b2bd964c6e47b272f4f72c SHA512 a73ffb705dff7be79c97c3783b34802b9bd0ae4bdff58580adadeb1326ee9c1932c233b2088316b7f366e6891fb35e952d095f21ec2b3804fb1930f5ca7fb17d
+DIST types_docutils-0.22.0.20250814.tar.gz 56376 BLAKE2B 75690dfe8d479fdb97b39391e813e4858feead0604dcba94355a66641100ac6a45ca61f6e231bde7cbcdfabb1e2866d30b1ea8bb98cf3e19b7b85eeaddb57813 SHA512 a064c117929e85fdae33276dfd72caa268aef9620c3144000f2660dd0e3d900d169534896599cad1f295a7bbb1de176a65da71f7096dbce5015c895eaefb7cab
diff --git a/dev-python/types-docutils/types-docutils-0.22.0.20250814.ebuild b/dev-python/types-docutils/types-docutils-0.22.0.20250814.ebuild
new file mode 100644
index 000000000000..9fdbbf2b35dd
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.22.0.20250814.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for docutils"
+HOMEPAGE="https://pypi.org/project/types-docutils/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
diff --git a/dev-python/xarray/Manifest b/dev-python/xarray/Manifest
index b005800bbc6e..0306bbfb30a8 100644
--- a/dev-python/xarray/Manifest
+++ b/dev-python/xarray/Manifest
@@ -1,3 +1,4 @@
DIST xarray-2025.6.1.tar.gz 3003185 BLAKE2B a75f68947922e922dad94dc6ab5454d9d2b2ec993e5fd06d760b2e3685b3feda2a88fb879e7ebb353b35dea5540fa8899eb8cba33ab0e5f9b59cb3fd885de1af SHA512 4fc7980f843f86c8e83015fbf9ea2c8440b046faaa1589a605cf1e2f64f9380e28e157c8afda5c0058b3fe8cfe01122ba8582f5d61b9f0eabdf7107ce6d81c0c
DIST xarray-2025.7.0.tar.gz 3005754 BLAKE2B 5e1cf6f1a845a9d38fee6f639016c79b14c10922fa96d241cea0a0a35d2c784ce98cfeb70ea49e03de0fd82d966e9656482caa380b48dbace7cf26b31a34b2fb SHA512 3cfe560c261cdd6a6c64cf100951e92cf63fff835dfa82ee7d1c7578ff808706905fbc2a1ae65a0db1c5abead203be43aff4771420f6851bfc357bacca4ffc95
DIST xarray-2025.7.1.tar.gz 3013717 BLAKE2B 37abbeec6736745a9a0cc098bfdb36b76c5b07a1f762a3207e7a69bda1670ad464c328daabcb5845f65dcb0b9901f045c633fb12fed4524bcc7dacfcc259e65b SHA512 446e50cfa16a3ba54124dc9417203ea96f6232e05515de38dc191b06ee417e165fd2faefaf4718eddb9620d32675abc6c2125ac7555759eb003263a70662cb7e
+DIST xarray-2025.8.0.tar.gz 3034425 BLAKE2B 089eecd4b8928bcc4cae2aa590a06f4d8b45b2886f1cb7f26114f97ea55914fecf83e58eec637c83123e1d81ff2bfb92f1d4ac18161b39495beb4975af71f255 SHA512 2ace4ae6736a5cde298f7d0da6b704326fa5b28d758744e0db022cc3e9ea6514ac447c5d7762fc273bc192ad7b31517edc0cda7a16302c3e9a63d5c952b1bcd2
diff --git a/dev-python/xarray/xarray-2025.8.0.ebuild b/dev-python/xarray/xarray-2025.8.0.ebuild
new file mode 100644
index 000000000000..0dc4a4299df0
--- /dev/null
+++ b/dev-python/xarray/xarray-2025.8.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=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="N-D labeled arrays and datasets in Python"
+HOMEPAGE="
+ https://xarray.pydata.org/
+ https://github.com/pydata/xarray/
+ https://pypi.org/project/xarray/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="big-endian"
+
+RDEPEND="
+ >=dev-python/numpy-1.26[${PYTHON_USEDEP}]
+ >=dev-python/pandas-2.2[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.1[${PYTHON_USEDEP}]
+"
+# note: most of the test dependencies are optional
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/bottleneck[${PYTHON_USEDEP}]
+ dev-python/cftime[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ !riscv? ( !x86? (
+ >=dev-python/netcdf4-1.6.0[bzip2,szip,${PYTHON_USEDEP}]
+ ) )
+ dev-python/toolz[${PYTHON_USEDEP}]
+ !hppa? ( >=dev-python/scipy-1.13[${PYTHON_USEDEP}] )
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # indirect pin, sigh
+ sed -i -e '/numpy/d' pyproject.toml || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: these fail with filter errors even if netcdf4 is built
+ # with blosc/zstd support
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[zstd]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4hc]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zlib]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zstd]'
+ # requires h5netcdf package
+ xarray/tests/test_backends_datatree.py::TestNetCDF4DatatreeIO::test_open_datatree_specific_group
+ )
+
+ if ! has_version ">=dev-python/scipy-1.4[${PYTHON_USEDEP}]" ; then
+ EPYTEST_DESELECT+=(
+ 'xarray/tests/test_missing.py::test_interpolate_na_2d[coords1]'
+ )
+
+ if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]" ; then
+ EPYTEST_DESELECT+=(
+ xarray/tests/test_calendar_ops.py::test_interp_calendar
+ )
+ fi
+ fi
+
+ if use big-endian ; then
+ EPYTEST_DESELECT+=(
+ # Appears to be a numpy issue in display? See bug #916460.
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-20-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-09-21T00:12:44.145224808-ns-float64-1e+30-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225216-ns-float64--9.223372036854776e+18-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225-us-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-01-01T00:00:01.000001-us-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:21:52.901038080-ns-float32-20.0-True]'
+ )
+ fi
+
+ if [[ ${ABI} != *64* ]]; then
+ EPYTEST_DESELECT+=(
+ # these tests hardcode object sizes for 64-bit arches
+ # https://github.com/pydata/xarray/issues/9127
+ xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex
+ xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex_long
+ xarray/tests/test_dataset.py::TestDataset::test_repr
+ xarray/tests/test_dataset.py::TestDataset::test_repr_multiindex
+ xarray/tests/test_datatree.py::TestRepr::test_doc_example
+ xarray/tests/test_datatree.py::TestRepr::test_repr_truncates_nodes
+ xarray/tests/test_formatting.py::test_array_repr_dtypes_unix
+
+ # converting timestamps into ns, causing an overflow
+ xarray/tests/test_cftimeindex.py::test_asi8
+ xarray/tests/test_coding_times.py::test_decode_cf_time_bounds
+ xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_in_range
+ xarray/tests/test_coding_times.py::test_decode_cf_datetime_non_standard_units
+ )
+ fi
+
+ case ${ARCH} in
+ arm64)
+ EPYTEST_DESELECT+=(
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[dtype0-create_unsigned_false_masked_scaled_data-create_encoded_unsigned_false_masked_scaled_data]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[dtype1-create_unsigned_false_masked_scaled_data-create_encoded_unsigned_false_masked_scaled_data]'
+ )
+ ;;
+ esac
+
+ if ! has_version "dev-python/seaborn[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ xarray/tests/test_plot.py::TestContour::test_colors
+ )
+ fi
+
+ epytest -o addopts=
+}