summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin275161 -> 275106 bytes
-rw-r--r--dev-python/absl-py/Manifest3
-rw-r--r--dev-python/absl-py/absl-py-2.1.0.ebuild24
-rw-r--r--dev-python/absl-py/files/absl-py-2.1.0-py313.patch60
-rw-r--r--dev-python/aiohttp-cors/Manifest2
-rw-r--r--dev-python/aiohttp-cors/aiohttp-cors-0.8.0.ebuild40
-rw-r--r--dev-python/aiohttp/Manifest2
-rw-r--r--dev-python/aiohttp/aiohttp-3.11.14.ebuild135
-rw-r--r--dev-python/async-lru/Manifest2
-rw-r--r--dev-python/async-lru/async-lru-2.0.5.ebuild40
-rw-r--r--dev-python/bitstring/Manifest2
-rw-r--r--dev-python/bitstring/bitstring-4.3.0.ebuild2
-rw-r--r--dev-python/boto3/Manifest2
-rw-r--r--dev-python/boto3/boto3-1.37.14.ebuild53
-rw-r--r--dev-python/botocore/Manifest2
-rw-r--r--dev-python/botocore/botocore-1.37.14.ebuild67
-rw-r--r--dev-python/clang/Manifest2
-rw-r--r--dev-python/clang/clang-21.0.0_pre20250317.ebuild53
-rw-r--r--dev-python/coverage/Manifest2
-rw-r--r--dev-python/coverage/coverage-7.7.0.ebuild112
-rw-r--r--dev-python/dbus-python/Manifest2
-rw-r--r--dev-python/dbus-python/dbus-python-1.4.0.ebuild1
-rw-r--r--dev-python/deepdiff/Manifest6
-rw-r--r--dev-python/deepdiff/deepdiff-8.4.1.ebuild (renamed from dev-python/deepdiff/deepdiff-8.2.0.ebuild)2
-rw-r--r--dev-python/deepdiff/deepdiff-8.4.2.ebuild53
-rw-r--r--dev-python/django-auth-ldap/Manifest6
-rw-r--r--dev-python/django-auth-ldap/django-auth-ldap-4.8.0.ebuild43
-rw-r--r--dev-python/django-auth-ldap/django-auth-ldap-5.0.0.ebuild42
-rw-r--r--dev-python/django-auth-ldap/django-auth-ldap-5.1.0.ebuild4
-rw-r--r--dev-python/django-bootstrap5/Manifest4
-rw-r--r--dev-python/django-bootstrap5/django-bootstrap5-24.3-r2.ebuild (renamed from dev-python/django-bootstrap5/django-bootstrap5-24.3.ebuild)9
-rw-r--r--dev-python/django-bootstrap5/metadata.xml3
-rw-r--r--dev-python/django-polymorphic/Manifest3
-rw-r--r--dev-python/django-polymorphic/django-polymorphic-4.0.0.ebuild42
-rw-r--r--dev-python/django-polymorphic/files/django-polymorphic-4.0.0-test.patch23
-rw-r--r--dev-python/ensurepip-setuptools/Manifest2
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-76.1.0.ebuild20
-rw-r--r--dev-python/frozen-flask/Manifest2
-rw-r--r--dev-python/frozen-flask/frozen-flask-1.0.2.ebuild4
-rw-r--r--dev-python/gfloat/Manifest4
-rw-r--r--dev-python/gfloat/gfloat-0.3.ebuild4
-rw-r--r--dev-python/gfloat/gfloat-0.4.ebuild4
-rw-r--r--dev-python/googleapis-common-protos/Manifest2
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.69.2.ebuild31
-rw-r--r--dev-python/hypothesis/Manifest4
-rw-r--r--dev-python/hypothesis/hypothesis-6.129.3.ebuild110
-rw-r--r--dev-python/hypothesis/hypothesis-6.129.4.ebuild110
-rw-r--r--dev-python/jinja2-pluralize/Manifest2
-rw-r--r--dev-python/jinja2-pluralize/jinja2-pluralize-0.3.0-r1.ebuild4
-rw-r--r--dev-python/keyutils/Manifest2
-rw-r--r--dev-python/keyutils/keyutils-0.6-r2.ebuild13
-rw-r--r--dev-python/libtmux/Manifest2
-rw-r--r--dev-python/libtmux/libtmux-0.46.1.ebuild53
-rw-r--r--dev-python/lit/Manifest2
-rw-r--r--dev-python/lit/lit-21.0.0_pre20250317.ebuild45
-rw-r--r--dev-python/logutils/Manifest3
-rw-r--r--dev-python/logutils/files/logutils-0.3.5-py313.patch90
-rw-r--r--dev-python/logutils/logutils-0.3.5-r1.ebuild20
-rw-r--r--dev-python/loky/Manifest2
-rw-r--r--dev-python/loky/loky-3.5.1.ebuild59
-rw-r--r--dev-python/magic-wormhole/Manifest2
-rw-r--r--dev-python/magic-wormhole/magic-wormhole-0.18.0.ebuild2
-rw-r--r--dev-python/meshio/Manifest3
-rw-r--r--dev-python/meshio/files/meshio-5.3.5-numpy-2.patch52
-rw-r--r--dev-python/meshio/meshio-5.3.5-r1.ebuild (renamed from dev-python/meshio/meshio-5.3.5.ebuild)9
-rw-r--r--dev-python/mkdocs-material/Manifest2
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.6.9.ebuild71
-rw-r--r--dev-python/mkdocs-pymdownx-material-extras/Manifest2
-rw-r--r--dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.8.ebuild23
-rw-r--r--dev-python/ml-dtypes/Manifest2
-rw-r--r--dev-python/ml-dtypes/ml-dtypes-0.5.1.ebuild2
-rw-r--r--dev-python/multidict/Manifest2
-rw-r--r--dev-python/multidict/multidict-6.2.0.ebuild61
-rw-r--r--dev-python/nnpy/Manifest2
-rw-r--r--dev-python/nnpy/nnpy-1.4.2-r1.ebuild4
-rw-r--r--dev-python/numpy/Manifest2
-rw-r--r--dev-python/numpy/numpy-2.2.4.ebuild196
-rw-r--r--dev-python/outputcheck/Manifest2
-rw-r--r--dev-python/outputcheck/outputcheck-0.4.2-r2.ebuild4
-rw-r--r--dev-python/patatt/Manifest2
-rw-r--r--dev-python/patatt/patatt-0.6.3.ebuild4
-rw-r--r--dev-python/pecan/Manifest4
-rw-r--r--dev-python/pecan/pecan-1.5.1.ebuild4
-rw-r--r--dev-python/pecan/pecan-1.6.0.ebuild31
-rw-r--r--dev-python/pelican-minify/Manifest2
-rw-r--r--dev-python/pelican-minify/pelican-minify-2.0.0.ebuild4
-rw-r--r--dev-python/plotly/Manifest2
-rw-r--r--dev-python/plotly/plotly-5.24.0.ebuild119
-rw-r--r--dev-python/pydantic/Manifest2
-rw-r--r--dev-python/pydantic/pydantic-2.11.0_beta2.ebuild71
-rw-r--r--dev-python/pygresql/Manifest2
-rw-r--r--dev-python/pygresql/pygresql-6.0.1.ebuild4
-rw-r--r--dev-python/pylatex/Manifest2
-rw-r--r--dev-python/pylatex/pylatex-1.4.2.ebuild4
-rw-r--r--dev-python/pypax/Manifest4
-rw-r--r--dev-python/pypax/pypax-0.9.5-r2.ebuild4
-rw-r--r--dev-python/pypax/pypax-9999.ebuild4
-rw-r--r--dev-python/pypdf/Manifest2
-rw-r--r--dev-python/pypdf/pypdf-5.4.0.ebuild56
-rw-r--r--dev-python/pyqt6/Manifest2
-rw-r--r--dev-python/pyqt6/pyqt6-6.8.1.ebuild2
-rw-r--r--dev-python/pysimdjson/Manifest2
-rw-r--r--dev-python/pysimdjson/pysimdjson-6.0.2.ebuild12
-rw-r--r--dev-python/pyspf/Manifest3
-rw-r--r--dev-python/pyspf/files/pyspf-2.0.14-py313.patch23
-rw-r--r--dev-python/pyspf/pyspf-2.0.14-r3.ebuild9
-rw-r--r--dev-python/pytest-mpl/Manifest4
-rw-r--r--dev-python/pytest-mpl/pytest-mpl-0.16.1.ebuild35
-rw-r--r--dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild30
-rw-r--r--dev-python/python-cinderclient/Manifest3
-rw-r--r--dev-python/python-cinderclient/files/python-cinderclient-9.7.0-py313.patch22
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-9.7.0.ebuild7
-rw-r--r--dev-python/python-ironicclient/Manifest1
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.10.0-r1.ebuild49
-rw-r--r--dev-python/python-ldap/Manifest2
-rw-r--r--dev-python/python-ldap/python-ldap-3.4.4.ebuild2
-rw-r--r--dev-python/python-neutronclient/Manifest1
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-11.4.0-r1.ebuild76
-rw-r--r--dev-python/python-novaclient/Manifest1
-rw-r--r--dev-python/python-novaclient/python-novaclient-18.9.0-r1.ebuild60
-rw-r--r--dev-python/python-openstackclient/Manifest1
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-7.4.0-r1.ebuild60
-rw-r--r--dev-python/ropemode/Manifest2
-rw-r--r--dev-python/ropemode/ropemode-0.6.1.ebuild4
-rw-r--r--dev-python/rtslib-fb/Manifest2
-rw-r--r--dev-python/rtslib-fb/rtslib-fb-2.2.2.ebuild2
-rw-r--r--dev-python/setuptools/Manifest2
-rw-r--r--dev-python/setuptools/setuptools-76.1.0.ebuild133
-rw-r--r--dev-python/snaketrace/Manifest2
-rw-r--r--dev-python/snaketrace/snaketrace-0.3.1-r1.ebuild4
-rw-r--r--dev-python/sphinx-lv2-theme/Manifest2
-rw-r--r--dev-python/sphinx-lv2-theme/sphinx-lv2-theme-1.4.2.ebuild4
-rw-r--r--dev-python/sphinxemoji/Manifest2
-rw-r--r--dev-python/sphinxemoji/sphinxemoji-0.3.1.ebuild4
-rw-r--r--dev-python/sqlglot/Manifest3
-rw-r--r--dev-python/sqlglot/sqlglot-26.11.1.ebuild96
-rw-r--r--dev-python/superqt/Manifest2
-rw-r--r--dev-python/superqt/superqt-0.6.7.ebuild49
-rw-r--r--dev-python/twisted/Manifest5
-rw-r--r--dev-python/twisted/files/twisted-24.3.0-skip-dsa-tests.patch75
-rw-r--r--dev-python/twisted/files/twisted-24.3.0_p20240628-skip-py313-test.patch35
-rw-r--r--dev-python/twisted/files/twisted-24.7.0_rc1-skip-py313-tests.patch54
-rw-r--r--dev-python/twisted/twisted-24.7.0.ebuild167
-rw-r--r--dev-python/types-gdb/Manifest2
-rw-r--r--dev-python/types-gdb/types-gdb-15.0.0.20250308.ebuild2
-rw-r--r--dev-python/unearth/Manifest4
-rw-r--r--dev-python/unearth/unearth-0.17.3.ebuild (renamed from dev-python/unearth/unearth-0.17.1.ebuild)4
-rw-r--r--dev-python/uv/Manifest3
-rw-r--r--dev-python/uv/uv-0.6.7.ebuild166
-rw-r--r--dev-python/xvfbwrapper/Manifest2
-rw-r--r--dev-python/xvfbwrapper/xvfbwrapper-0.2.9-r1.ebuild4
-rw-r--r--dev-python/yaxmldiff/Manifest2
-rw-r--r--dev-python/yaxmldiff/yaxmldiff-0.2.0.ebuild6
153 files changed, 2699 insertions, 764 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 26a9c28d3df0..f1e5ed8b5407 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/absl-py/Manifest b/dev-python/absl-py/Manifest
index ad045223d42f..544b7393950d 100644
--- a/dev-python/absl-py/Manifest
+++ b/dev-python/absl-py/Manifest
@@ -1,3 +1,4 @@
+AUX absl-py-2.1.0-py313.patch 2764 BLAKE2B 832149ae273f28f74fbe86c3b9c8f3497df44e685ed626f531d4015826e58e5d34af038dd4191b38960cd87acd18e226b6bf13a4bf08abf41010304b59d0030b SHA512 b6b71ceb86f9863d65428b9d31259a30831c122f2c6497a3e76b864e58d9e6eca951f4b2d0b1ea7935abf15d4613781e90f4a69922604144efdaf3ba94ce8faf
DIST abseil-py-2.1.0.gh.tar.gz 235261 BLAKE2B 85232156e722cb874e29e1f92513b24836553476d5ff379e8df32d307ca21709b5869edd80a3bb7fe757ae585bb45df21c89ae6f2218147a5812f171d946e094 SHA512 298a876ed850085836cb1ff6fddf98aca6a3283780bece8c0a7d118fd4e16cc258e51f721e4a5fcbe62b23d2da05638475d426bb650b0694ff7c1d0119e3be97
-EBUILD absl-py-2.1.0.ebuild 2758 BLAKE2B 328917084528efc1b6c1f51ccc901bb6ff18e3d5eacbb33a299e1fd179a56ce078aa4544315c0a711ee85116e2e4cda3c7c0bbbb94a4390064d6825d352bd9a6 SHA512 06f30cb48244d64f3458d4d327697f7ce84c9e7876a36b2fc78d1e473d0075d3f35a0284bc13dbab2dd912cd66f9abe8ce55d853fc38a8e249be96dc3d205d81
+EBUILD absl-py-2.1.0.ebuild 3173 BLAKE2B 0502cdd7b594d6375ec69d47eae04bd90e2ad9c734930f0491e37bf96b4ff2a0a160dd226848fc9b5e122fc7df8daa9aca18ee176f042b3e951d88e0641234ea SHA512 92cef29ff05c8533196c02deca5a887fc2b53eb79d80a91195074af72114243d1fec90f3f33d441074ff6b8718f2778caf8907f19be506ef689362cbfbc9bdd6
MISC metadata.xml 577 BLAKE2B dd0e02b24bdb42f24bd675cadf13e99f861a6dc9be2879f671b9bc4e9e078ef81759909e81e3063cb54c71ff71d6609624f0cf2645bf6ec055c643fbb0f3ab5c SHA512 7cfa86cac5d38b10aedacdb4bafc7acbd11cf4a98a873a2435ef5761d5186c5128171eb286b2d2568a1a353eb4de815303eae225cf5823a5292ac362633b67c7
diff --git a/dev-python/absl-py/absl-py-2.1.0.ebuild b/dev-python/absl-py/absl-py-2.1.0.ebuild
index 93edca72b17f..eb498851db10 100644
--- a/dev-python/absl-py/absl-py-2.1.0.ebuild
+++ b/dev-python/absl-py/absl-py-2.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -29,6 +29,13 @@ RDEPEND="
"
src_prepare() {
+ local PATCHES=(
+ # https://github.com/abseil/abseil-py/commit/78fb38cea7ffd1329f6455c997302529ce6fc6ce
+ "${FILESDIR}/${P}-py313.patch"
+ )
+
+ distutils-r1_src_prepare
+
# what a nightmare... well, we could have called bazel but that would
# even worse
local helpers=(
@@ -55,12 +62,15 @@ src_prepare() {
done
# i don't wanna know how these pass for upstream with wrong helper names
- sed -i -e 's:\(app_test_helper\)\.py:\1_pure_python:' \
- absl/tests/app_test.py || die
- sed -i -e 's:\(logging_functional_test_helper\)\.py:\1:' \
- absl/logging/tests/logging_functional_test.py || die
+ sed -e 's:\(app_test_helper\)\.py:\1_pure_python:' \
+ -i absl/tests/app_test.py || die
+ sed -e 's:\(logging_functional_test_helper\)\.py:\1:' \
+ -i absl/logging/tests/logging_functional_test.py || die
- distutils-r1_src_prepare
+ # parts of 617ce2c8b9976aa9e32c079c625fa6d864b2bbee
+ # (don't sed the one case containing ", suiteClass=...")
+ sed -e 's:unittest\.makeSuite\(([^,]*)\):unittest.defaultTestLoader.loadTestsFromTestCase\1:' \
+ -i absl/testing/tests/{absltest,parameterized}_test.py || die
}
python_test() {
diff --git a/dev-python/absl-py/files/absl-py-2.1.0-py313.patch b/dev-python/absl-py/files/absl-py-2.1.0-py313.patch
new file mode 100644
index 000000000000..81406734980c
--- /dev/null
+++ b/dev-python/absl-py/files/absl-py-2.1.0-py313.patch
@@ -0,0 +1,60 @@
+From 78fb38cea7ffd1329f6455c997302529ce6fc6ce Mon Sep 17 00:00:00 2001
+From: Oleh Prypin <oprypin@google.com>
+Date: Wed, 11 Dec 2024 04:19:00 -0800
+Subject: [PATCH] Declare support for Python 3.13
+
+PiperOrigin-RevId: 705056014
+
+diff --git a/absl/flags/tests/argparse_flags_test.py b/absl/flags/tests/argparse_flags_test.py
+index 679a1cce..cfc364f0 100644
+--- a/absl/flags/tests/argparse_flags_test.py
++++ b/absl/flags/tests/argparse_flags_test.py
+@@ -227,7 +227,10 @@ def test_help_main_module_flags(self):
+ # Only the short name is shown in the usage string.
+ self.assertIn('[-s ABSL_STRING]', help_message)
+ # Both names are included in the options section.
+- self.assertIn('-s ABSL_STRING, --absl_string ABSL_STRING', help_message)
++ if sys.version_info >= (3, 13):
++ self.assertIn(' -s, --absl_string ABSL_STRING', help_message)
++ else:
++ self.assertIn(' -s ABSL_STRING, --absl_string ABSL_STRING', help_message)
+ # Verify help messages.
+ self.assertIn('help for --absl_string=%.', help_message)
+ self.assertIn('<apple|orange>: help for --absl_enum.', help_message)
+diff --git a/absl/testing/tests/parameterized_test.py b/absl/testing/tests/parameterized_test.py
+index 609c5571..4c024927 100644
+--- a/absl/testing/tests/parameterized_test.py
++++ b/absl/testing/tests/parameterized_test.py
+@@ -1128,6 +1128,9 @@ def test_successful_execution(self):
+ self.assertEqual(2, res.testsRun)
+ self.assertTrue(res.wasSuccessful())
+
++ @unittest.skipIf(
++ sys.version_info >= (3, 13), 'makeSuite was removed in Python 3.13'
++ )
+ def test_metaclass_side_effects(self):
+ ts = unittest.makeSuite(self.MyParams, suiteClass=self.MySuite)
+
+diff --git a/absl/testing/tests/xml_reporter_test.py b/absl/testing/tests/xml_reporter_test.py
+index ba8a88f7..e0b61a98 100644
+--- a/absl/testing/tests/xml_reporter_test.py
++++ b/absl/testing/tests/xml_reporter_test.py
+@@ -85,14 +85,16 @@ def xml_escaped_exception_type(exception_type):
+ FAILURE_MESSAGE = r"""
+ <failure message="e" type="{}"><!\[CDATA\[Traceback \(most recent call last\):
+ File ".*xml_reporter_test\.py", line \d+, in get_sample_failure
+- self.fail\(\'e\'\)
++ self.fail\(\'e\'\)(
++ ~~~~~~~~~\^\^\^\^\^)?
+ AssertionError: e
+ \]\]></failure>""".format(xml_escaped_exception_type(AssertionError))
+
+ ERROR_MESSAGE = r"""
+ <error message="invalid&#x20;literal&#x20;for&#x20;int\(\)&#x20;with&#x20;base&#x20;10:&#x20;(&apos;)?a(&apos;)?" type="{}"><!\[CDATA\[Traceback \(most recent call last\):
+ File ".*xml_reporter_test\.py", line \d+, in get_sample_error
+- int\('a'\)
++ int\('a'\)(
++ ~~~\^\^\^\^\^)?
+ ValueError: invalid literal for int\(\) with base 10: '?a'?
+ \]\]></error>""".format(xml_escaped_exception_type(ValueError))
+
diff --git a/dev-python/aiohttp-cors/Manifest b/dev-python/aiohttp-cors/Manifest
index 17f5ff888c86..a72f092ac8f6 100644
--- a/dev-python/aiohttp-cors/Manifest
+++ b/dev-python/aiohttp-cors/Manifest
@@ -2,5 +2,7 @@ AUX aiohttp-cors-0.7.0-py3_11.patch 845 BLAKE2B 896c500c515b2eaea059ad9c07170106
AUX aiohttp-cors-0.7.0-py3_7.patch 991 BLAKE2B e2a08dab701bd31e4a9008c8f89ae97508fb6b99b89db69a05b731849e09c6f04e8b148d82d38f2093e00bb9bee03e45f230cfc8eff4b71ca7797a95524732e2 SHA512 efe7c488d9f30da7eebbe355d86c603657bddc75c88f5cd1bb4b0e76b17f26f5827cc2f42ab8766767a4ad16c08fa636a4f61e50a8c478e7f32eb2567e26427c
AUX aiohttp-cors-0.7.0-tests.patch 2422 BLAKE2B 4660be793987dd0cd5c945703aa4d6d4b499ba0ab1c305b80e26bac9cc87d811131f6ab179e402821740f193bbfc86a384b58e35aaa453fdfd5d4db3bcc44b23 SHA512 b3fa463b87a112529443f516fe1c37ffda092e8a0133a6d37f407519e32842f65773c87e939082591edb969ee243170be3a4828896ec5ffc1150c3f43aedd9d5
DIST aiohttp-cors-0.7.0.gh.tar.gz 39728 BLAKE2B 747499856272f551cf8e2e0911ff7cbb2c7cb8a1f3159327dd8f0d40cabbbd9713a1a9e30ef9c99f3f9642567c99025e049db837c89f907d6698a27005ac2632 SHA512 72e0b365b952c08a02c1123d7672cfea01063e2ff01743a71e10f804d22178edc0f1c6b7f87b7ed484ca7c24e89a32de90d0d279f2f5c060427319182f9bdd3b
+DIST aiohttp-cors-0.8.0.gh.tar.gz 40794 BLAKE2B 92a88f55b49e8cbc86bf970af336ffe742950f2ca2f15667edd37e4ec4daad7c70e3243bd10974569c618978d20a0cdd9b25f95942808d3de06de778dd4d5663 SHA512 6f4b648b62511dfa0ccfbfcb24bed8308576edc801496b34a4541f8f43a23edd04ea7881400e5550e756a422f63aa7935307cdda0a096612a6d66b0161e4a588
EBUILD aiohttp-cors-0.7.0-r2.ebuild 1293 BLAKE2B 51c98b823d971332d3551661ed9d42a2d461e2cf31bfb3da49cb74aaf6242b5590d81bbb6e947c930c7e5edba216da5fe11ea51386705fe991c12ab4c22dfd65 SHA512 b23ef2920d7cd5a882d81664ff71492e6ffe0f1c2c91f599df0076b1ea5657f2a4b47834f1017832ef7d16eff2df2be25b1cb247e61f947279a9f83d403eab49
+EBUILD aiohttp-cors-0.8.0.ebuild 948 BLAKE2B 3a7979508668a03849f44c8df53393ba7e11b6c1cc47f98a7c6674b677d134b2bbbed3a17f65f71c57f74321c6a56ed68d25e5365c866a327f72dead6ba2e8e3 SHA512 0dd0133158475cd6dfbe279cdce8f6cc1bf5f2c53153833672e2b970161b872083af967a3a917dc9c55d691dbe62e7f11036b300bf613adf9d1d95e92b4174b8
MISC metadata.xml 401 BLAKE2B 4669aaa143f64eda196ec47946837fa903a4da679d169652d563d2067bb57be4355c34a6ad11daed1196d40e63f8898945fe77dac0fc5d5c89e649af1b58b435 SHA512 407c22d215f0cad69bd55c95a4842ddd5baf362461c38b1b7992446f171e1f65fc1c2b59c3dff611ffb14430a58278f1314fd4770bd9c637b7fca36624c89b22
diff --git a/dev-python/aiohttp-cors/aiohttp-cors-0.8.0.ebuild b/dev-python/aiohttp-cors/aiohttp-cors-0.8.0.ebuild
new file mode 100644
index 000000000000..234716d11dbb
--- /dev/null
+++ b/dev-python/aiohttp-cors/aiohttp-cors-0.8.0.ebuild
@@ -0,0 +1,40 @@
+# 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_{10..13} pypy3 pypy3_11 )
+
+inherit distutils-r1
+
+DESCRIPTION="Implements CORS support for aiohttp asyncio-powered asynchronous HTTP server"
+HOMEPAGE="
+ https://github.com/aio-libs/aiohttp-cors/
+ https://pypi.org/project/aiohttp_cors/
+"
+SRC_URI="
+ https://github.com/aio-libs/aiohttp-cors/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/aiohttp-3.9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ dev-python/selenium[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -p aiohttp -p asyncio --asyncio-mode=auto
+}
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
index b1c59c8f0151..a2e36c5fd131 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -1,7 +1,9 @@
DIST aiohttp-3.11.11.tar.gz 7669618 BLAKE2B 148c15503ca2b5449b8afe4d0cadb054625cd12c7e3d958547c7ba6b46ca4d4da1b4091db0f97e2003c8bc7a582c36f4c6aba062a8fe0b0894740042853b68e9 SHA512 7b5c6fdf15a3bdae49b28f6955f31f528aff29f635b8bbbe60f0677dea8fbbe5de8e09b3cbb85f8a846942470b9e44c9d287aaf9eb08f8e8d9fab3bd64079edf
DIST aiohttp-3.11.12.tar.gz 7673175 BLAKE2B 56f511d5bf10c60823bf3fef9552add3c8cac4e68dc6848931bc875417067bf61a0437adce0ffa13a47c595546f31b497f9044b0b3f2c6d48b31bff7a7b75905 SHA512 9f770f5182394acace994d40ca3b7028698242ce5e0caecd16b2e511c9463ae43e3fac9aabfc21afcbb7e17a44e324d19d88f7e1c81d0b4646f81923f9b4f160
DIST aiohttp-3.11.13.tar.gz 7674284 BLAKE2B 1975baf20e3d1b7fa5b6b5fbdf4fb916fea57fbfb2dbe9295300fa2952b1cd7fb8aaa814e37bb5c403e43ea9930ca35f9ca17bba5359e8c07e535dfc1d71d607 SHA512 cd9745ea07041e438bb42508ed86095582b7121d233719e9d16033c34d567063c2fd091536ab45ea1695ba118d49b955c56153fe7d6b51c2ee0a4760bfd816a9
+DIST aiohttp-3.11.14.tar.gz 7676994 BLAKE2B e8e048c01db9600df3bdc7bdc6e5066094b4575d08fef3ec7d0a78763a701cd3501dce435b80d3fbea28d2e7bf4110a5cc9e0ccec2bc3745835cadcb27528404 SHA512 38e51d3640b533d9bd639a59657bf7affbfc0b1a9dc40d77175d6528044e23b1e524589b9a10e0159eb8f9ba29e96b3e67529a9d11f1c53760a70800d813d13f
EBUILD aiohttp-3.11.11.ebuild 3712 BLAKE2B 5fe6de0d80ecd3748a134fc3e3dd15f0530130763013d23701d263826602d43f3c816fd16bdc89705992a51727ffecdf44a084143e2ebc836a51be5b3fa6245f SHA512 1a7009057873b662edfb21efa5d6aa417341065ef382a53ef9d22b35bc8ed5e365e097854f6fe0ed56d66841a1f94c2e20c40516e2da38667ad05797cf1b4923
EBUILD aiohttp-3.11.12.ebuild 3730 BLAKE2B a394ba83cf6ac26fcba10bab4ee6c1602b481f5a86cf8d3d8b0d2668821bf83bc6ff6fac53b58f00a2a9d5a51c67f6671aa6e5d35df8ad7a111b10fce98e3943 SHA512 6ab7e36f3c9f0dc33b117964b9c11133e23aa83d022235d7c992a05cdcabd76720a1cd4fbb690b77bfc4e46ae6d0b928394b5bc0711634514452beb869759590
EBUILD aiohttp-3.11.13.ebuild 3730 BLAKE2B a394ba83cf6ac26fcba10bab4ee6c1602b481f5a86cf8d3d8b0d2668821bf83bc6ff6fac53b58f00a2a9d5a51c67f6671aa6e5d35df8ad7a111b10fce98e3943 SHA512 6ab7e36f3c9f0dc33b117964b9c11133e23aa83d022235d7c992a05cdcabd76720a1cd4fbb690b77bfc4e46ae6d0b928394b5bc0711634514452beb869759590
+EBUILD aiohttp-3.11.14.ebuild 3730 BLAKE2B a394ba83cf6ac26fcba10bab4ee6c1602b481f5a86cf8d3d8b0d2668821bf83bc6ff6fac53b58f00a2a9d5a51c67f6671aa6e5d35df8ad7a111b10fce98e3943 SHA512 6ab7e36f3c9f0dc33b117964b9c11133e23aa83d022235d7c992a05cdcabd76720a1cd4fbb690b77bfc4e46ae6d0b928394b5bc0711634514452beb869759590
MISC metadata.xml 379 BLAKE2B dd6b8001c95e4f845c0519d9674158355566938e9e4aaad3234d3ee2a252ebbb4b6ffe3e8272145a39b2b9e59f6b9d19413547789a5873726581040e413f6b8c SHA512 5ea85743abacb6c4ace3ff45d4949ed787055c738afac892f24bf3770c3bba8fe8e5db4267719300d89e610daf334838a1964beab649730427a12007ddcf5e9e
diff --git a/dev-python/aiohttp/aiohttp-3.11.14.ebuild b/dev-python/aiohttp/aiohttp-3.11.14.ebuild
new file mode 100644
index 000000000000..2c0d281aa753
--- /dev/null
+++ b/dev-python/aiohttp/aiohttp-3.11.14.ebuild
@@ -0,0 +1,135 @@
+# 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_{10..13} pypy3 pypy3_11 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTTP client/server for asyncio"
+HOMEPAGE="
+ https://github.com/aio-libs/aiohttp/
+ https://pypi.org/project/aiohttp/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions test-rust"
+
+RDEPEND="
+ >=dev-python/aiodns-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/aiohappyeyeballs-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
+ >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.17.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ <dev-python/async-timeout-6[${PYTHON_USEDEP}]
+ >=dev-python/async-timeout-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ www-servers/gunicorn[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python3*')
+ test-rust? (
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # increase the timeout a little
+ sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
+ # xfail_strict fails on py3.10
+ sed -i -e '/--cov/d' -e '/pytest_cov/d' -e '/xfail_strict/d' setup.cfg || die
+ sed -i -e 's:-Werror::' Makefile || die
+
+ distutils-r1_src_prepare
+}
+
+python_configure() {
+ if [[ ! -d tools && ${EPYTHON} != pypy3 ]] && use native-extensions
+ then
+ # workaround missing files
+ mkdir tools || die
+ > requirements/cython.txt || die
+ > tools/gen.py || die
+ chmod +x tools/gen.py || die
+ # force rehashing first
+ emake requirements/.hash/cython.txt.hash
+ > .update-pip || die
+ > .install-cython || die
+ emake cythonize
+ fi
+}
+
+python_compile() {
+ # implicitly disabled for pypy3
+ if ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # proxy is not packaged
+ tests/test_proxy_functional.py
+ # python_on_whales is not packaged
+ tests/autobahn/test_autobahn.py
+ # benchmarks
+ tests/test_benchmarks_client.py
+ tests/test_benchmarks_client_request.py
+ tests/test_benchmarks_client_ws.py
+ tests/test_benchmarks_cookiejar.py
+ tests/test_benchmarks_http_websocket.py
+ tests/test_benchmarks_http_writer.py
+ tests/test_benchmarks_web_fileresponse.py
+ tests/test_benchmarks_web_middleware.py
+ tests/test_benchmarks_web_response.py
+ tests/test_benchmarks_web_urldispatcher.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_client_session.py::test_client_session_timeout_zero
+ # broken by irrelevant deprecation warnings
+ tests/test_circular_imports.py::test_no_warnings
+ )
+
+ # upstream unconditionally blocks building C extensions
+ # on PyPy3 but the test suite needs an explicit switch
+ if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin
+ rm -rf aiohttp || die
+ epytest -m "not internal and not dev_mode" \
+ -p rerunfailures --reruns=5
+}
diff --git a/dev-python/async-lru/Manifest b/dev-python/async-lru/Manifest
index fe6d03a46969..d0de0cf76739 100644
--- a/dev-python/async-lru/Manifest
+++ b/dev-python/async-lru/Manifest
@@ -1,3 +1,5 @@
DIST async-lru-2.0.4.gh.tar.gz 13084 BLAKE2B dc3316e63783f36a446fc0d3565e018340787822b4a2663b9759d8bf5222277526b9a1285a34c3d84ccd245f75c6a53d9a693cc13c2b101bcb4bc97fa31835bf SHA512 aed4a043bfb323c1fc01f93def11fe597141778bd8437bd90189e2b6da26b0bb412fa72fb0d12a40b771571f3cb5f06fed8302379aec2e8e0318eab179b64912
+DIST async-lru-2.0.5.gh.tar.gz 13537 BLAKE2B 22adf45b8014d2a2ebd0983805b2478f75d3e22ff5498e79b76f45bee868aae159afc57b119051ad24661a300ade943dfbe2f1ad0e2db3949a091755e28e2131 SHA512 25d4684c0101c51b92a1173984bc6da3f4baaa2f5ac7bd6fb6ede64dc1ede5635f0f1ff3837e17e38c37f3d8a5e3268ffe2e92b6e9cf51d0f9470887dffe93c4
EBUILD async-lru-2.0.4.ebuild 764 BLAKE2B c867c720da4bbfacc153af93f0f8467ae77a610352eebb45d16a51021e67beb3b9f4f12d03fad8c08186e1372e3c48d176f55b124ae19e062f36f034c3a05918 SHA512 6fd527420ab27271f1a751f1d8611e54be265b8f82d7d9b780555738b1e11d5aaf502fe7de10b85751255b81cb76fc85fecd4390d131a0f5e23b180e38bcb627
+EBUILD async-lru-2.0.5.ebuild 769 BLAKE2B 844b8cc694ee265873d75fcba8c8d1c59b337a061c4d2057e461f4f9a77453c5c54fa543ada58c58ac7bbc9992ceac1c8cea34bc1c321a5f3290e452dd5717a3 SHA512 4c507251e582968b4d1930e54bc580f294fa3c6bdb3c89360e1a5df0a9ebe9023d090c5c622a80b158f4dd40bf32ba263c71f22ba944939faa36e60f77bae18d
MISC metadata.xml 373 BLAKE2B bb8b67d9df0a86ac3a7d834e79bbc8a907d467e567f353b29427c9a36b11cc79eaa4d1b6f8cef9a43e632f7d333af72dcc1bc579922a1aabfc47cdffc7bd922a SHA512 c6c089b381a5c572b6ecc2907f2e90ee2f581516ac66a6f901d32990db5c8086eefcc97f80a90c9b83504934489c3440cac86ebbc0cbd76801510fba1a9f0ed3
diff --git a/dev-python/async-lru/async-lru-2.0.5.ebuild b/dev-python/async-lru/async-lru-2.0.5.ebuild
new file mode 100644
index 000000000000..6fe65304069b
--- /dev/null
+++ b/dev-python/async-lru/async-lru-2.0.5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple lru_cache for asyncio"
+HOMEPAGE="
+ https://github.com/aio-libs/async-lru/
+ https://pypi.org/project/async-lru/
+"
+SRC_URI="
+ https://github.com/aio-libs/async-lru/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/bitstring/Manifest b/dev-python/bitstring/Manifest
index afb8c9cb3d5d..ea12d4c4d6dc 100644
--- a/dev-python/bitstring/Manifest
+++ b/dev-python/bitstring/Manifest
@@ -1,3 +1,3 @@
DIST bitstring-4.3.0.tar.gz 251408 BLAKE2B 62e4e28752758a149d8b612efcfaa67cf379e5b426034146b4163182edc5be158bc26b8ecefd0dc44c034c4b901354a3ffc372360c20d3955876667c60eeb87f SHA512 72a4b343d5035ed6f88a165466337d7b519b10bde58a91ebb001e74e81ad1eaeb03ad643958a4956ffbe012da237533eaec9bb8c18cc546030a7306172dbd826
-EBUILD bitstring-4.3.0.ebuild 681 BLAKE2B a992912843b33307026a8e9475fbc03179b838bc5713c326fafab449579e1875601c5b406fbf3f408da32e987814e643c5ba9f28a8893b03304ae08a3610a715 SHA512 1859134bd52b2b51d6171e30d29aaf1bc5a01b4e97914e55283d54878e870dd4448c923d1a341e2cf69047ccfd89eaa20860f640c00a59d3239fee7bc3d22bf0
+EBUILD bitstring-4.3.0.ebuild 681 BLAKE2B 88d423ea27f34eab34cbcde42843932c58f697c5fc1e436af99a30e95e256b1e30113b5db868cfecc43c36a041364d0a9d759b00e96c5bcef68058cf34486ca8 SHA512 b25273cabf68ce41a68606135b2072ff9ec59c38ccc2c51ca51048127f304e8f8ce5a0b0dcec5ac1fdee787f416dd12c4afb2b74ac35bdf843532f8f1f68aa04
MISC metadata.xml 733 BLAKE2B 5d978fb3a90e33422df3c35986386d83e38b7760a2cac0708894c8c58c41002b8c7e1fe16bc1e9c707d8009afd0613d4afccf459770d40ec7c9223ede6a34e05 SHA512 ba4a8fb544c13bce8b31eb1dc3c4c5f5beff5f883f922479ccf809d81532719353ef322a26cdf16a0ef499dcdfb300b4a3fd0812edcb62651f8b617f0e391930
diff --git a/dev-python/bitstring/bitstring-4.3.0.ebuild b/dev-python/bitstring/bitstring-4.3.0.ebuild
index 24e26ac67a93..b723353e2d62 100644
--- a/dev-python/bitstring/bitstring-4.3.0.ebuild
+++ b/dev-python/bitstring/bitstring-4.3.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 8a57a03bd0a8..9db81f83d0e0 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,7 +1,9 @@
DIST boto3-1.37.13.gh.tar.gz 913692 BLAKE2B cc8b3dbe1f30d5969b8d0abb64b0ff6b7b6c72596c23dee90ad3ca08a0ac09b0b509dfb038ca4434461dd7375f155e5afaf541ed4224610f14793d5cf9a15ed6 SHA512 25fc69799cbabf7e834ddfda5e1a1dadaab42731721a64a09020a58b2c12ddae489eef5a28c687a7f04d39a3fb3ef007739acb3c59882f7d1cc04d64f6211e67
+DIST boto3-1.37.14.gh.tar.gz 914511 BLAKE2B 0c175c4213ccb02e338fa42733032c6578983a313d3f1a6b0efdc90d1cd99b736af0a241959afe48ed16a4e16ca6202e2e4de4efe0a8b38b42a830f76001d794 SHA512 a238502382f19c697f6d6a1b8ea3293ead6232654a20a193fde6866a7a1915b3355bd0dec810eecad2b9023640623ae5ce1fdfa473743eeda89936eebd959ded
DIST boto3-1.37.4.gh.tar.gz 908620 BLAKE2B ed63365ccd6da9b97715e4110be2b562285a123139a90ddb10c1411d5bd5ba0de9c110177a31f03ecb7e257fd79a0de89a8be97493a83f3207050676f7022e04 SHA512 dbf40cb809ee1d3ef352b97f62c111d113293211226a63298979d8ea14833c83ac2e321714dac349bfe095f75120c2752d08a01c19e51d9b0fc947e27a910005
DIST boto3-1.37.9.gh.tar.gz 911836 BLAKE2B d190525b9c5e39b445042aba6d8e57da5e49165775901ceebe44b76fd2780ec85a2f5a8a08d3a9a5e451d42bbae19b679e565a7a9acc663258ea0b7909a9a798 SHA512 12cba48d5f2c158b372eaf4e44903e22ca963e5712c3c463fbfd20626a771efe30530852b6c9ab70132a26472ff1b4656095675a5de37524f6b489c25175f8fe
EBUILD boto3-1.37.13.ebuild 1212 BLAKE2B fecfa738c561d1cc8851eef482992a276efc114e47fad372693f9e6896da4b9636b04990a1be9de221d95361e34e35026ec52d234093788354b9c2a1a10e1be1 SHA512 27684bfc9dd8f7d85b5b0dbd879fbe742454c3cd6ebe86666e3214822f42aa4f7cb4e00752aa6baacadfa2b2cb9a1d358e158ea136a6ef62acf36c9fe178ae12
+EBUILD boto3-1.37.14.ebuild 1212 BLAKE2B fecfa738c561d1cc8851eef482992a276efc114e47fad372693f9e6896da4b9636b04990a1be9de221d95361e34e35026ec52d234093788354b9c2a1a10e1be1 SHA512 27684bfc9dd8f7d85b5b0dbd879fbe742454c3cd6ebe86666e3214822f42aa4f7cb4e00752aa6baacadfa2b2cb9a1d358e158ea136a6ef62acf36c9fe178ae12
EBUILD boto3-1.37.4.ebuild 1205 BLAKE2B ba88d00e8ea05d27260511e6110158d1f305ce8bde0aaf3385814b38f6b977bd8fae2b092659d5765d6c3bcf80cd75fe5f2bea95374a3105c23cdfbf04bd8ec8 SHA512 6cf3155f855f19611a770cf2db452b139af4869a39f2e07d1040a9c45a3cfd13341f3a7eadb2e13da7c38d29492d68307a9e88b62c22704ef15a5c082da651fd
EBUILD boto3-1.37.9.ebuild 1212 BLAKE2B fecfa738c561d1cc8851eef482992a276efc114e47fad372693f9e6896da4b9636b04990a1be9de221d95361e34e35026ec52d234093788354b9c2a1a10e1be1 SHA512 27684bfc9dd8f7d85b5b0dbd879fbe742454c3cd6ebe86666e3214822f42aa4f7cb4e00752aa6baacadfa2b2cb9a1d358e158ea136a6ef62acf36c9fe178ae12
MISC metadata.xml 493 BLAKE2B 7d6324fc877ffe1d20c5369c2af0b09a7028f94d28f1841188913d0d8be7ea699c9d3f92c624992c4c96bd69615d3a1211a2483c76c56b7d3082492e43512523 SHA512 44420d8c03d5986f990b76369edfa8dfd7659b4952db3ad946fd05392ec594628a28745ad888d055d4f074d5214f61fcffafe6c04c4ab54109d45ac0371582bd
diff --git a/dev-python/boto3/boto3-1.37.14.ebuild b/dev-python/boto3/boto3-1.37.14.ebuild
new file mode 100644
index 000000000000..b087a88814e8
--- /dev/null
+++ b/dev-python/boto3/boto3-1.37.14.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_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~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.11.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 931117aaf434..97155b8d0b83 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,7 +1,9 @@
DIST botocore-1.37.13.gh.tar.gz 14365580 BLAKE2B 5dac1351dde66b7a2591faedd6ff9f0a05b02d7fa5f2d9f212a25e979f8b6f2a177c23843ee9d5949e83ce9cb44cdb1c9b75a9ee3e9e21ad69fa99458d733fcf SHA512 6635b42a6c29e6fc8293535f939463a77bcfb9abd7211a3043d9da60ecf291fc7bd8704902bfca0667be37448b1d5230393afaf1d32ef5be821d8d60a8578144
+DIST botocore-1.37.14.gh.tar.gz 14368684 BLAKE2B 43d5adc8f5fa3647246a2bd581f3ac1f14f90f96e8ece75e678d2a468baaaa3e1045698a09b8c41a5134028a4b6cb59b5a6cbc394b928d9309269784a3f3b1f9 SHA512 1df5055f3bedcc7f7120f041b707eff5622071b3ba6aa6954c239ec1a6b8295014961e99d6ceb817b051d15144ef0064262d1c2dc1768e48273875993a5a2e8d
DIST botocore-1.37.4.gh.tar.gz 14291786 BLAKE2B ab55a62f2291e623e61a0ec6712241815279ae6d8f25e678adbf6cf167265d216f44b0eae78f2b66a454253dc4ef977b90c38f1aa329c855b38fa844eaa478b7 SHA512 07921ca8d51ff2afd8a4dafa77b40b5c24afa0351d71dbf68cef716573ba1f695a331634734fb6d9822eee55c91829128dbf215920e3da92ea2b40b727d0a0f6
DIST botocore-1.37.9.gh.tar.gz 14346488 BLAKE2B 29ac550ad462ab7c83bad7989588ec62fb57959586a8ec91be9756d90712ad86e3dfd813a347e619b7cac3fd7afb56affcd81926e15d91b8d0ceae2cd4436a8d SHA512 e191c9485e95188049c02020fcb32c4429de6cfd78f237a2026200b7240890d5759f5cdd96166cd2aec035dac82d32db155fe00d9ec6be482c655cfdb44265f9
EBUILD botocore-1.37.13.ebuild 1491 BLAKE2B fcbd1d768fa7cef66b459149005cdc3c61b9f4890401b522514ad892b3d580e6a81ebd848f4a03e56986500b4e609fd79e1d72a5b5fda534945535f86bed8b6d SHA512 66e5ab74feb520f3e55cd3b5285b2ed204299aa5c5ebe9d33c0cd2a4054aa61be0a140004e613d2612d60c2f33ef82d37d778bb43a5850d63da39d664dc819ae
+EBUILD botocore-1.37.14.ebuild 1491 BLAKE2B fcbd1d768fa7cef66b459149005cdc3c61b9f4890401b522514ad892b3d580e6a81ebd848f4a03e56986500b4e609fd79e1d72a5b5fda534945535f86bed8b6d SHA512 66e5ab74feb520f3e55cd3b5285b2ed204299aa5c5ebe9d33c0cd2a4054aa61be0a140004e613d2612d60c2f33ef82d37d778bb43a5850d63da39d664dc819ae
EBUILD botocore-1.37.4.ebuild 1484 BLAKE2B e69b432b70d99a29bce6a148a732df49694427d669ea669c64482ec58959f640650b02635f34a613c6a87fed9e4c199cc971b4c811e1ced6db9db1c3e4fc384b SHA512 81c31e65ddea2c9d721e540e6b63c0d76bd7f3f847d06d2cb021bc02449373268cfe08b262db804d1cf65f77bd5bef6fb25cf4a070ee106cd7a231531d6d1130
EBUILD botocore-1.37.9.ebuild 1491 BLAKE2B fcbd1d768fa7cef66b459149005cdc3c61b9f4890401b522514ad892b3d580e6a81ebd848f4a03e56986500b4e609fd79e1d72a5b5fda534945535f86bed8b6d SHA512 66e5ab74feb520f3e55cd3b5285b2ed204299aa5c5ebe9d33c0cd2a4054aa61be0a140004e613d2612d60c2f33ef82d37d778bb43a5850d63da39d664dc819ae
MISC metadata.xml 499 BLAKE2B e5aaa7da26f200c09adfdf38b68f656bbccbec627cb5d966b280ac2165334e7eec659c89075bcace748f58e2ec3e7d2998e54a688d56ecea2d30653c67dfd35a SHA512 103c554d5dbd967bf9b6e418b3913d9235e7e910d012160909ce0715134ed2e37b06e6a345395f9d16ce08d1cf51f3ce458bce93c6a978fd3dca6610f2acdbd0
diff --git a/dev-python/botocore/botocore-1.37.14.ebuild b/dev-python/botocore/botocore-1.37.14.ebuild
new file mode 100644
index 000000000000..9e1580d45581
--- /dev/null
+++ b/dev-python/botocore/botocore-1.37.14.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_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/clang/Manifest b/dev-python/clang/Manifest
index 7a4da7c95698..5cbd661df64d 100644
--- a/dev-python/clang/Manifest
+++ b/dev-python/clang/Manifest
@@ -10,6 +10,7 @@ DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d22
DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764
DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818befdee20fd8bed4d2dc2c2c6f6f56451fd43d35ac03a0a5a406e142d22b25137999dc5b17471c196f8fcf79f20a8296832d900f6d SHA512 c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8
DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
+DIST llvm-project-1c3a9a853ce68c3c539e7cab21380b9d8b18f426.tar.gz 229448743 BLAKE2B c1eacc2ed05c460f56cf83f16b982e3fa4ac530483d7cf003034239aff3b3dbffbdd3042a3f295a83ec94fcf32f802714e4937fd3761a5e03d4ed1b4093e81bf SHA512 98b7e9fa330a6fce33ca9757caf5d2e41d0b73117cb24b2aed880274c2d6f8a8c1a0028dd0e773fa42deb61dbe3b9dd4fb2f44e50814b966fcdeae8e5b417e6d
DIST llvm-project-20.1.0.src.tar.xz 147206476 BLAKE2B 8e8bd8aa995a84d17ac7d634098a6b72a47c30f1752029b620f4541a2de4039edf09117286094ae7bc59c4e84374dcffb8e5ee6ef5feaf4ea7ddb58dd04ea803 SHA512 c90fbc43c40e148357912adc40d799a79cce3d3a929136c137421f6342ed7338659e651f1dedfa8e10b94b9f2897e25b2962e17709add02857f89f10615a2397
DIST llvm-project-20.1.0.src.tar.xz.sig 566 BLAKE2B 98979ce89f3fe6e95eef6096066cf855245a585608e7d1fddb5bbb2c73077f3ee28204260e18d7e45e3051daae3639520c39bc3d0dc51524873ac213e2511456 SHA512 68da1c2a13aaa48a67bbb9e716f9f030cf372edc651bca2861453378a6a9172a207ff59e29b175001f042888bf1f9c118fbf938f757e1f4c966943baa7e2696a
DIST llvm-project-cb7298f66d62a3548fcf3bd230304067ecf30d17.tar.gz 229200711 BLAKE2B 1910569812e7423cf566b0dec67269404ba8db8232ab293bc603a88914f2b756e3088bf2133c0fca612cc58d39691c7b813b3c5839a7ac9a3d177fe6bde766c6 SHA512 07c3f6ce34e7d32c5ebce1d2efb77e6a1dde49f9eedf7191733a20bdcb6ffd0c03f8fc8de85fd00bd9465b209f140639a68a367d2218c028bfa6e06067cc3e14
@@ -22,4 +23,5 @@ EBUILD clang-19.1.7.ebuild 1203 BLAKE2B b90c78858fd1b7cc52cc102dd5dd6ab55ddade7c
EBUILD clang-20.1.0.ebuild 1205 BLAKE2B dd467f483f7193e12bc197b67568cc45ad43aedf3ae7817f7b130c4e2bea2f145ed9109260f7ca5739c0786e05dd7b450f364959a275c73a414255066146707b SHA512 1279a2d9dea1610d1aa6a939773ad0bcdcff4796ccec83516fd7bc8723c6213c136faf748537826781f0e0f986667bbf72198a52938d3d50ae0bfceee3ee3396
EBUILD clang-21.0.0.9999.ebuild 1170 BLAKE2B 02975ed9dfb353f2476703300b67ca5012bb81dd8158ebd8c7540556d7adbd5165b6440a90b7d9ccc9e2e79a00df8a62dbdb32ff9f4ef80efdba8bb110d76545 SHA512 dc6681a344f3464984702ddc1c9378ee2a571c1399670dd204c75272a11062729e2d3301fa49c58b46ff1339eb770581325c5445f3373de84852aa0cbe6ec3a2
EBUILD clang-21.0.0_pre20250311.ebuild 1170 BLAKE2B 02975ed9dfb353f2476703300b67ca5012bb81dd8158ebd8c7540556d7adbd5165b6440a90b7d9ccc9e2e79a00df8a62dbdb32ff9f4ef80efdba8bb110d76545 SHA512 dc6681a344f3464984702ddc1c9378ee2a571c1399670dd204c75272a11062729e2d3301fa49c58b46ff1339eb770581325c5445f3373de84852aa0cbe6ec3a2
+EBUILD clang-21.0.0_pre20250317.ebuild 1170 BLAKE2B 02975ed9dfb353f2476703300b67ca5012bb81dd8158ebd8c7540556d7adbd5165b6440a90b7d9ccc9e2e79a00df8a62dbdb32ff9f4ef80efdba8bb110d76545 SHA512 dc6681a344f3464984702ddc1c9378ee2a571c1399670dd204c75272a11062729e2d3301fa49c58b46ff1339eb770581325c5445f3373de84852aa0cbe6ec3a2
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/dev-python/clang/clang-21.0.0_pre20250317.ebuild b/dev-python/clang/clang-21.0.0_pre20250317.ebuild
new file mode 100644
index 000000000000..694150a44a53
--- /dev/null
+++ b/dev-python/clang/clang-21.0.0_pre20250317.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for llvm-core/clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+DEPEND="
+ >=llvm-core/clang-${PV}:*
+ !llvm-core/llvm:0[clang(-),python(-)]
+ !llvm-core/clang:0[python(-)]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ llvm-core/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/bindings/python )
+llvm.org_set_globals
+
+python_test() {
+ # tests rely on results from a specific clang version, so override
+ # the search path
+ local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
+ local -x CLANG_NO_DEFAULT_CONFIG=1
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest
index 8db4d4bc44e1..eee58e2e94b0 100644
--- a/dev-python/coverage/Manifest
+++ b/dev-python/coverage/Manifest
@@ -2,7 +2,9 @@ AUX coverage-7.6.12-pypy311.patch 1053 BLAKE2B 3a3057665724f9b16a8d455c87a4176ad
DIST coverage-7.6.10.tar.gz 803868 BLAKE2B 88ab379f33ca3056b03020befa56406b3e4d8ce57f9152abddefbf77186dbccd993e855078ea6f61ed2da3d198aab9b63e65fb9db3789a80bb080b1907e9de80 SHA512 3badf42f8f1f1dc19ff7dd7cca7fe57cd738364fea71b1fee52ec7774fbebd2bb241154d2ca06adb6ed87766179bcf0b6eb9a5120af5ec8f3df7b6fd0c27fa02
DIST coverage-7.6.11.tar.gz 805460 BLAKE2B f035dfb27242926727875a806acd6725720d8828de0285cdcdc3aac406395b2648b00c75b206338ff282d0c98e70d2abf4fc13c4a1862317c7fd88c5d83de1b4 SHA512 83ce4fd99900bb4902fc25ecf386e0128f0c073f5c1ce3403149e175d8a55b177209c9413ae33b1ab3d2f6decdd4614f5a5a3c3f36d326cfc0d62c13e64d1250
DIST coverage-7.6.12.tar.gz 805941 BLAKE2B bebcd2f29706445ac73ca1e1ba7a80b88eb7b71ee0f475ea6fe4d7e2bd535b709af6cc5e1dda9734e9487cdcf8d3b6f24c96eb2e7161a9d8356afe733b162339 SHA512 6f5f089938b0d107796ec7f5eb62047533bb45377612845cc044f44ceb10285252783d5ad1aefde698374d8330c012ff59007d21b00e4cee79c268fac70f6a71
+DIST coverage-7.7.0.tar.gz 809969 BLAKE2B fd55156b50d44c4ff4304cc0b14a634cb74a170d7558c33479618f4d402c5d0cbf3fe1c37f5f25062a02ac32c07d26ff7c821acba8cbb44f398c10d777739988 SHA512 5025d1305d0d4ff6cfc9d7494c5c027c26645a94f572d99026a24d497d8c9f43ad9df230f864fc92e88ebb0f95b0a377206cbbb15548dd7da5a1c4ddb4d77d63
EBUILD coverage-7.6.10.ebuild 2670 BLAKE2B 82d6f897fedf2ee5f3ff2d8d4bffee68171323e88f5d6d2884d98a5244ad27039191aeedc6cab496e4b76ce30a1f932339260a835a2c83bb1a4e7882cf60c9de SHA512 e68400b32764656c1828e6eae3d1e644c450f592e8c29a84f181ca33c532128993ca326419ae9c35d7056103ccc25a3ef2458ec98ee045cbd2d39791bc9c1ce4
EBUILD coverage-7.6.11.ebuild 2827 BLAKE2B c5cb399eb12c478e2f6784a78460c61b11300237f10d7a2daa4c20209640ca0521bf90c8a691988f5b04fbba43c0cb90cd3443d3886bc52e4ec33b86b482292f SHA512 1eaff258db93848b059a9cd496e346259e0eea2fbb134e653e3a204d80fa40be89af0c571d560744adc32eb3cbdb9e1a1a0292cb216c5b8096c20fd01a6181d5
EBUILD coverage-7.6.12.ebuild 2953 BLAKE2B 784735709b0f075b3fafd9d7358cc020aecce5a126491231513440b99c368f0d9e95a9a28fab1c1d62dfb4bebe04c656cd4621feeda533b950bd87249ab70f91 SHA512 69190636fac2848fdeaf6241fe2ca7c451fbe7a0f4e67db79034f54620af558224a9ebbb7b83c3746536d334aa5fbc9f0e62849c5858f0381c3b4958b9201b8d
+EBUILD coverage-7.7.0.ebuild 2853 BLAKE2B 05d6b078e270038435f9e711a1f19ce113c65ea0457896aa3ec6a0b4c90aa427bb1b1ab3644a48808c8d50bcfc57068d3003f429fa1b29dd7f50cf56bd619873 SHA512 fd995a4bcf82fe7512a3c2c45d8afc830fce79fd4861a7a748e0b9bb41656d8d7e0447f2cc5b7a9e035a13882c0e48750476af20ce6e16a2bc6b170c38c7ecb4
MISC metadata.xml 771 BLAKE2B 38e9680d0851f70050aad987714a9dd2f95178b0bc3d794dc08726c0618d1ea98be32a413ac397f4b222e8a5d8fdc747b7f1677bcfe842bac4080537e85a03a9 SHA512 8c44c40348fe5d416d8b4016fe22cc9ae0b94fbaf181deb79aa737f87271992521b710c1208d0eeb7ef92d96fc8a7daac1ec6feb1ae081a80f13327b5b094064
diff --git a/dev-python/coverage/coverage-7.7.0.ebuild b/dev-python/coverage/coverage-7.7.0.ebuild
new file mode 100644
index 000000000000..6a520d84a258
--- /dev/null
+++ b/dev-python/coverage/coverage-7.7.0.ebuild
@@ -0,0 +1,112 @@
+# 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_{10..13} pypy3 pypy3_11 )
+PYTHON_REQ_USE="threads(+),sqlite(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="
+ https://coverage.readthedocs.io/en/latest/
+ https://github.com/nedbat/coveragepy/
+ https://pypi.org/project/coverage/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="+native-extensions"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
+}
+
+python_compile() {
+ if ! use native-extensions; then
+ local -x COVERAGE_DISABLE_EXTENSION=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+test_tracer() {
+ local -x COVERAGE_CORE=${1}
+ einfo " Testing with the ${COVERAGE_CORE} core ..."
+ epytest -p flaky -p hypothesis -p xdist tests
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: fails because of additional "Terminated" print on SIGTERM
+ tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data
+ # broken because of pytest plugins explicity loaded
+ tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
+ # these expect specific availability of C extension matching
+ # COVERAGE_CORE (which breaks testing pytracer on CPython)
+ tests/test_cmdline.py::CmdLineStdoutTest::test_version
+ tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
+ # mismatch of expected concurrency in error message
+ # TODO: report upstream?
+ tests/test_concurrency.py::ConcurrencyTest::test_greenlet
+ tests/test_concurrency.py::ConcurrencyTest::test_greenlet_simple_code
+ )
+ local EPYTEST_IGNORE=(
+ # pip these days insists on fetching build deps from Internet
+ tests/test_venv.py
+ )
+
+ "${EPYTHON}" igor.py zip_mods || die
+
+ local -x COVERAGE_TESTING=True
+ # TODO: figure out why they can't be imported inside test env
+ local -x COVERAGE_NO_CONTRACTS=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ local prev_opt=$(shopt -p nullglob)
+ shopt -s nullglob
+ local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
+ ${prev_opt}
+
+ if [[ -n ${c_ext} ]]; then
+ cp "${c_ext}" coverage/ || die
+ test_tracer ctrace
+ fi
+
+ test_tracer pytrace
+
+ case ${EPYTHON} in
+ python3.1[01]|pypy3|pypy3.11)
+ ;;
+ *)
+ # available since Python 3.12
+ test_tracer sysmon
+ ;;
+ esac
+
+ if [[ -n ${c_ext} ]]; then
+ rm coverage/*.so || die
+ fi
+}
diff --git a/dev-python/dbus-python/Manifest b/dev-python/dbus-python/Manifest
index d17e52746f43..d24c09d05ef7 100644
--- a/dev-python/dbus-python/Manifest
+++ b/dev-python/dbus-python/Manifest
@@ -1,5 +1,5 @@
DIST dbus-python-1.3.2.tar.gz 605495 BLAKE2B 6c60217b3837d655ab4f833b9f21d8f76eb4129cfeaa26586ef7adc8be8f8c5f03464428ff9f281b2566fb0f89cbb5e4b5618bf7cc961faf9f638d9011874839 SHA512 9b2885c9c2914142c72487f766b1cdd28a255d9f5a87eaf8f4eb420c6e096a77f210ac5a4fac9843c6531974872880cc28b7e45940e198856e984dcc0715519a
DIST dbus-python-1.4.0.tar.xz 168268 BLAKE2B 17ed4ed1d6f76acf4dc55dc9d281081d0bb412811f0b340edd8c2ef767802dd0386ffa39cdbc7a61870b916b20c89bee0d6a5b6b8e9355c84d2fdc846575e465 SHA512 defd5fba8348635ce52654b7e93e6cacf52966f6facfb7bb04fc77f2f82129e0b7673d4f3d483ef3321985172987d8c3265b27b9200c68c39c729567ffa21456
EBUILD dbus-python-1.3.2.ebuild 1934 BLAKE2B a99c6a4af45513350f05e87e72f3893e8796caa8ea4a14bdbb35c654151c24f0a785b11c877191b5f5c76c6d5dc1eea2b6a4ddd9015f719ef914b6dd9b801783 SHA512 2f1ac06fc12b5ea1c219b2e2151dd67675fe7be59311dbf6b81c82c6d18cac1c5965ac8330a4f5919d36d7021e91a18c3cf2e00c60683bafd412481518bd2ba3
-EBUILD dbus-python-1.4.0.ebuild 1946 BLAKE2B 769e4226b13eeccc9de655ff40be14cbc4993ffe494667060aa033a1816c2e940731111116b8b5adba261711e09a99640813ba8e326374b485ccaeadceebc514 SHA512 49d22a17f61b1629a4c4fa13eb7eaa95b3ac91aa1e768dbd98149d608e552f664c589085e499438c23c9d3e1b580dfd3c7638d384be4310b58d7fa0b5ca15c65
+EBUILD dbus-python-1.4.0.ebuild 1974 BLAKE2B aad5de48b24597cc2ca59ff58fb08cd5202fb145a67a7748f3ac6e46ba6d81ce323d4100d0adb0f7d19450c4d947e94fca7c1d4f46cb06a0f5e52db6ecc7775d SHA512 176912474d6df8f4089fe834202a72b41b7fc250cca1ed81b52d7cd8cdfab313f76ebddeee42ccbc4ec32a713cc7c066f9039cf6e5e5ea412e6b8c11e0ed16ab
MISC metadata.xml 404 BLAKE2B 14fb120b562c66c35e57d6686f87d2515d6e7a33e4a3027e2edde743ca533d8be63c8c3c4596de913c86091b2d768c997a1c25282efa657cab08131090cec588 SHA512 7a22b8fccd4715f6d817d528eadff1eaf126158f02113b318a4cf99b5a9bf7a05e67ad0ef1258399a937599bec23cb52f8fb42652948313fb8c8ba63bc5d22b6
diff --git a/dev-python/dbus-python/dbus-python-1.4.0.ebuild b/dev-python/dbus-python/dbus-python-1.4.0.ebuild
index d639a5a6848e..76be0a96c1ee 100644
--- a/dev-python/dbus-python/dbus-python-1.4.0.ebuild
+++ b/dev-python/dbus-python/dbus-python-1.4.0.ebuild
@@ -31,6 +31,7 @@ RDEPEND="
${DEPEND}
"
BDEPEND="
+ dev-build/autoconf-archive
virtual/pkgconfig
doc? (
$(python_gen_any_dep '
diff --git a/dev-python/deepdiff/Manifest b/dev-python/deepdiff/Manifest
index 4ca799087808..eab446c264e6 100644
--- a/dev-python/deepdiff/Manifest
+++ b/dev-python/deepdiff/Manifest
@@ -1,5 +1,7 @@
-DIST deepdiff-8.2.0.tar.gz 432573 BLAKE2B 6259761631b7706dc9143e6ff941b79ea956270e332f9c3026e35752ff921647e19ecfa50ca7f68fce40c1f6c9643b3f64f008168dbdca0ffaa322acf9a8a9d8 SHA512 ef1883b5300eba4f99f5fed84fc63c22f5473f1cbc5790cef9c0ce7b1a65c28537756f4266259133a4b808734b2cba295c542630a2f0b8a0e4d8c5b58c14028d
DIST deepdiff-8.3.0.tar.gz 509468 BLAKE2B 24e6f610c1d90fdb2b9d20939e2bb053db690b284ce00d76f0859e504dfa6dd434c52c424b7da2b01688647791e336a53209dc31dab5adb51b48a92e598da7da SHA512 5327a738d182a9e546d5a827d3a5d1e04323e7765d49f9f7d51dc20c8fc13869bb16b84ee193c478f43bb47901e16cc6ec45c890967de061a839a33d636040eb
-EBUILD deepdiff-8.2.0.ebuild 1210 BLAKE2B 835b639d57d53f5488c881f2b5a492da702d6b81f1a9cb391f04c0bf5d569f6dbed49837e8b95b35422e76770e6a4af41a3cecf01cd5ef4fd1cdb655cb96dd1a SHA512 8178a3511a7d61e484ae3fc43d8c5e8a574ecfeb11ace69a7e1846b37ccdc8c0dd52df10091e23035c07d18540c87e228bdeaa6dfc254b2ce31c2bf5c820b6d3
+DIST deepdiff-8.4.1.tar.gz 514141 BLAKE2B f2dd5910c35f949f34c7846228a04eeb16a90315181bccdaf53a7fd5e518c79ea67da6da60481ba3f39515f226c2fb71ebf25a12b31cef59f80c7fa8f4f36687 SHA512 fc7f16c4dd5b66430a6aaa5e2ecb089ad7b5713ef57b190a4d74f686ac101baf6fd7d5e6655f15b526b410666d0fd05b7b369f473d2f8f7de3731c044fdcd0dc
+DIST deepdiff-8.4.2.tar.gz 515380 BLAKE2B e044d45c4a2ba68e399d506a801912ef0169be3b6a41df9a9f47a5ffb2dfc588d0eed35e984f8e36616709235f26537290bc7e5953d61823291eebfc52951574 SHA512 ec0b495afb57bbaf7b4785dda5367a1f87e5940afb801e2e71aa478562cda597005780bf2733b2e913dce5932996fdb548203922b4b6613e3daed751aa89d885
EBUILD deepdiff-8.3.0.ebuild 1217 BLAKE2B da65d99ca26f4b8a170536a90366a8806499920824e3e863b9827b275e942bc1edfc1cbfc8269f6226d651463c486ec505d265d7ceb95af2c0844243bae727b8 SHA512 b68c9936cb4896defc06962d189b14262b5eaf2118e3f05752fca69296dff3906b96e414f65835521910d0937e0e5d6c26a067f221dd78f06ba1a881f960a0b3
+EBUILD deepdiff-8.4.1.ebuild 1217 BLAKE2B da65d99ca26f4b8a170536a90366a8806499920824e3e863b9827b275e942bc1edfc1cbfc8269f6226d651463c486ec505d265d7ceb95af2c0844243bae727b8 SHA512 b68c9936cb4896defc06962d189b14262b5eaf2118e3f05752fca69296dff3906b96e414f65835521910d0937e0e5d6c26a067f221dd78f06ba1a881f960a0b3
+EBUILD deepdiff-8.4.2.ebuild 1217 BLAKE2B da65d99ca26f4b8a170536a90366a8806499920824e3e863b9827b275e942bc1edfc1cbfc8269f6226d651463c486ec505d265d7ceb95af2c0844243bae727b8 SHA512 b68c9936cb4896defc06962d189b14262b5eaf2118e3f05752fca69296dff3906b96e414f65835521910d0937e0e5d6c26a067f221dd78f06ba1a881f960a0b3
MISC metadata.xml 485 BLAKE2B f26f45bd1e750536952bcedf941166ae9ed39bcaf5bd2377102fb9546f8cdca8bfe23f137fa71fc1c05adc6b602e4831c96c712f27cd45eed80801aa6d1f4daa SHA512 1b8cf1dfd77b6dcab39b1cc3385e3d1b371ac6e9074167f2ba8e43333410e671a760c25a6a4496cf45fb023243a644d15b213824bd6a33c39991ef251cc3e3da
diff --git a/dev-python/deepdiff/deepdiff-8.2.0.ebuild b/dev-python/deepdiff/deepdiff-8.4.1.ebuild
index 1e3794bf05c7..5acdd2ea2012 100644
--- a/dev-python/deepdiff/deepdiff-8.2.0.ebuild
+++ b/dev-python/deepdiff/deepdiff-8.4.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
RDEPEND="
>=dev-python/click-8.1.3[${PYTHON_USEDEP}]
diff --git a/dev-python/deepdiff/deepdiff-8.4.2.ebuild b/dev-python/deepdiff/deepdiff-8.4.2.ebuild
new file mode 100644
index 000000000000..5acdd2ea2012
--- /dev/null
+++ b/dev-python/deepdiff/deepdiff-8.4.2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library for comparing dictionaries, iterables, strings and other objects"
+HOMEPAGE="
+ https://github.com/seperman/deepdiff/
+ https://pypi.org/project/deepdiff/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/click-8.1.3[${PYTHON_USEDEP}]
+ <dev-python/orderly-set-6[${PYTHON_USEDEP}]
+ >=dev-python/orderly-set-5.3.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+"
+
+DEPEND="
+ test? (
+ >=dev-python/jsonpickle-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23.5[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # benchmarks
+ tests/test_lfucache.py::TestLFUcache::test_lfu
+ # requires polars
+ tests/test_hash.py::TestDeepHashPrep::test_polars
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/django-auth-ldap/Manifest b/dev-python/django-auth-ldap/Manifest
index 2e4984632ed1..812c3633fb6e 100644
--- a/dev-python/django-auth-ldap/Manifest
+++ b/dev-python/django-auth-ldap/Manifest
@@ -1,7 +1,3 @@
-DIST django-auth-ldap-4.8.0.tar.gz 53906 BLAKE2B 76542bfb59c998a681f5e4a4ec0fcae406a672e2fea6b20ef6f59a91987626bec0186d853b789ce0006ace8d0fdbb3b8b2e5855eb84d6d6c93c7040056e4a397 SHA512 4ca16bd5d11680127d2cecfeb7d1d48175e1b9b02e13f84d6845b76a4f52be3ef6c72d5b4bef4418b4f48b441830d3b593fef6cc08a8cd4221c78cfd8464ac8a
-DIST django_auth_ldap-5.0.0.tar.gz 54873 BLAKE2B b310d96bcb034644acd97626bda214074547033685785b6a90b0785fe93297b79b5d0b3199259220a0f40186996d6c990a4163d8c0bf8e9af1a52b7eedf5f26c SHA512 043ad6b6b9d36456975833433bf088f8d41d203a8eeec2e5db5edf4ac2d4cc62aaccd52ee45ca8ca47882986f47048467e88a88c6fac51a515e44a3d560c7e44
DIST django_auth_ldap-5.1.0.tar.gz 55059 BLAKE2B 4c1cf5cf7113b90be392b519c0ecfceeb72568a6e50803bd276becca22fffb3ec7222069b374e311156d2e4c559b65985af2a740e0a78ec66b398622db66da47 SHA512 3b1257c91d1651df83c1c0343b8f0658d1e9e6b23cbb161ec2f5c847d9c924609509b28f3d1efde9c09e890b73191f0a6a6e9bd802cb4c6985c0c36b5955a9dd
-EBUILD django-auth-ldap-4.8.0.ebuild 953 BLAKE2B e9286e942280d3fade5e152b54cf395339c27cbeb047d4efb1885c8710544018a6cf75acf25f306256dbe0a920bc7e2f4f25dbdf7e55583a2da257dd61b901a7 SHA512 fc3c7d6c1f675e6f18b0140be4006ce44007d6963fe132dd465f351a64d7db746f5000a123e8ed3f1f4b08cc4825c2e509ba8118852b9431407b92512582ae8e
-EBUILD django-auth-ldap-5.0.0.ebuild 933 BLAKE2B 3dac982b166f07d45c37ee32520061bcb7b362b469df62c1d90d8eb11475b47ddc1011980e51c67f6385796b5b6141d3a809ea060e3c56cd09e1fb5719fb29cd SHA512 e777ff72bc13aeeff180aa7158696ae8dc2aa2d645e3dfe72645c556277397264bf7b20458da295c6ae20bc0d5785876dcc8344eea41bcc8051638ea36ca297d
-EBUILD django-auth-ldap-5.1.0.ebuild 933 BLAKE2B 3dac982b166f07d45c37ee32520061bcb7b362b469df62c1d90d8eb11475b47ddc1011980e51c67f6385796b5b6141d3a809ea060e3c56cd09e1fb5719fb29cd SHA512 e777ff72bc13aeeff180aa7158696ae8dc2aa2d645e3dfe72645c556277397264bf7b20458da295c6ae20bc0d5785876dcc8344eea41bcc8051638ea36ca297d
+EBUILD django-auth-ldap-5.1.0.ebuild 933 BLAKE2B c9b427de74fe990d4d1adba40e288474c84390c0dfccfbd40f077561fd439a502e4e06f2d17fa3bd30d3eb4951f6b4d68b57afca45a588d55c5118908dcf0990 SHA512 ad45aaeedeaa856b278074ea93db254b1fb36ce3504a2d1ecbccde659568c0594a36d17b2f8c57430f765e7907192a2f8b1c1a33230296c25e3a5870874c76e2
MISC metadata.xml 405 BLAKE2B e9d6f5ca53505cbfa7f9cd1cdc47bd58ba15ea972bdf342874c031ec151a053025b8f63a8d9c96de90ae0798e77d0db019a70d21e8746449543bfa5d91e3fec0 SHA512 453100976204f0b32042a1711d257ae76214452579d3008f403efc11cdf5e080e3663b43c1946b9da91086de580c0a8cf860fc99c00138c9d1bd4a01a5d1dcc3
diff --git a/dev-python/django-auth-ldap/django-auth-ldap-4.8.0.ebuild b/dev-python/django-auth-ldap/django-auth-ldap-4.8.0.ebuild
deleted file mode 100644
index 75c0a161d526..000000000000
--- a/dev-python/django-auth-ldap/django-auth-ldap-4.8.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Django LDAP authentication backend"
-HOMEPAGE="
- https://github.com/django-auth-ldap/django-auth-ldap/
- https://pypi.org/project/django-auth-ldap/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-2.2[${PYTHON_USEDEP}]
- >=dev-python/python-ldap-3.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- $(python_gen_impl_dep sqlite)
- net-nds/openldap[-minimal]
- )
-"
-
-distutils_enable_sphinx docs --no-autodoc
-
-python_test() {
- # for slapd and slapdtest
- local -x SBIN=/usr/sbin:/usr/$(get_libdir)/openldap
- "${EPYTHON}" -m django test -v 2 --settings tests.settings ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/django-auth-ldap/django-auth-ldap-5.0.0.ebuild b/dev-python/django-auth-ldap/django-auth-ldap-5.0.0.ebuild
deleted file mode 100644
index 7da953673b01..000000000000
--- a/dev-python/django-auth-ldap/django-auth-ldap-5.0.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Django LDAP authentication backend"
-HOMEPAGE="
- https://github.com/django-auth-ldap/django-auth-ldap/
- https://pypi.org/project/django-auth-ldap/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
- >=dev-python/python-ldap-3.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- $(python_gen_impl_dep sqlite)
- net-nds/openldap[-minimal]
- )
-"
-
-distutils_enable_sphinx docs --no-autodoc
-
-python_test() {
- # for slapd and slapdtest
- local -x SBIN=/usr/sbin:/usr/$(get_libdir)/openldap
- "${EPYTHON}" -m django test -v 2 --settings tests.settings ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/django-auth-ldap/django-auth-ldap-5.1.0.ebuild b/dev-python/django-auth-ldap/django-auth-ldap-5.1.0.ebuild
index 7da953673b01..6c91bf6689a8 100644
--- a/dev-python/django-auth-ldap/django-auth-ldap-5.1.0.ebuild
+++ b/dev-python/django-auth-ldap/django-auth-ldap-5.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/django-bootstrap5/Manifest b/dev-python/django-bootstrap5/Manifest
index 3277e70ee776..56b366f74f21 100644
--- a/dev-python/django-bootstrap5/Manifest
+++ b/dev-python/django-bootstrap5/Manifest
@@ -1,3 +1,3 @@
DIST django_bootstrap5-24.3.tar.gz 54344 BLAKE2B a1a793266190eaccc44f683ce3a12ea9a6076d44498b477ba1ada5b8158bdbf4ca02fcd7db214eedb492ac1219cbf11a886107417f9571f64cb3dc68f433a8b0 SHA512 087ad0d79e1fcbd2a8506080e0d137c721572f322290969310265039ac19eee8d9e1909f421e5a4d3a6b10c669785fa9565d6d14fc7d1a31152f87f1677f2e8d
-EBUILD django-bootstrap5-24.3.ebuild 492 BLAKE2B 603d65f89c429f5295daee58d5a100e732d358923c8671d7ac700ac68cde6ed9f719b0d7fdbb88a4dfd94df581e85644c75680aa9a81c3f17da83ee505889ddb SHA512 c55820af5cfaecbe5a3312c31fd39ce01902529f984d7adba7282bf47575fcd3a5f2b2f4d0f3f419fd8eb358646baf5144621863394e67e8295f20947af5b5fc
-MISC metadata.xml 431 BLAKE2B 177707fcbc8c09dbf031266f2a09b409c8f643abe0edb28cd6cd7ded20b07d40126a068f49fd9a1d94f6c8253b97606f73cd130733325ec70e5c93426c72f6ac SHA512 1bd707febb37f49ce76561922e3adffd2cdfd3ab98521c45635883cc399ae9c3c4ab74879a3c1d8bbdadfbf148fab32884a113dfc6c69cc73e9717cde4b3acb6
+EBUILD django-bootstrap5-24.3-r2.ebuild 638 BLAKE2B 0d223397f28b49f09767e9a4b82edeafdcfa27a192cfdb61337b591360acee74ced7cb2466c437842a0004edd3b194f6b20bb72e73bf042e32d07cb38a984dbf SHA512 10ad6210c2128d495bebabfd5180e1a1ea8f7cd9701f7227ff15ba250ee56fddac290be419e4b3c580fda97d5a5b0677d9a559de25e7cc0897cd167a0de8cde9
+MISC metadata.xml 352 BLAKE2B 693ebba04290c61472cbdebe1228095378b3cd6bc2c3d687fe705691c58e1c9b1fed514694e918875428c52f51eef09d48ec95ad731b45906f7e49e938342817 SHA512 54ea6421d37cc01635adfcfa5679bf912f9112c6ef6685d180fb0ea297f52a98fa8407dcfff17347fbcd0edcb133f044c51147ffecb030324103691973f9c053
diff --git a/dev-python/django-bootstrap5/django-bootstrap5-24.3.ebuild b/dev-python/django-bootstrap5/django-bootstrap5-24.3-r2.ebuild
index 3ba722716ceb..ecc98380c9e0 100644
--- a/dev-python/django-bootstrap5/django-bootstrap5-24.3.ebuild
+++ b/dev-python/django-bootstrap5/django-bootstrap5-24.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2024 Gentoo Authors
+# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,6 +17,13 @@ LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
+RDEPEND="
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( sci-libs/gdal )"
+
distutils_enable_tests pytest
python_test() {
diff --git a/dev-python/django-bootstrap5/metadata.xml b/dev-python/django-bootstrap5/metadata.xml
index 1a2c1dee94bf..c8ff0e4fe6bc 100644
--- a/dev-python/django-bootstrap5/metadata.xml
+++ b/dev-python/django-bootstrap5/metadata.xml
@@ -1,9 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
<maintainer type="person">
<email>tupone@gentoo.org</email>
<name>Tupone Alfredo</name>
diff --git a/dev-python/django-polymorphic/Manifest b/dev-python/django-polymorphic/Manifest
index 5a08bc67ff9e..839cb75aae71 100644
--- a/dev-python/django-polymorphic/Manifest
+++ b/dev-python/django-polymorphic/Manifest
@@ -1,3 +1,6 @@
+AUX django-polymorphic-4.0.0-test.patch 947 BLAKE2B f8e8fc30ff7cac44f7bce71485538199e487d6142f9c10008e35cfb99b4d8fa1f25dd1acf952b1af6642b45bf4dcfd9680174fe7a7a5a2bdf5dfe4f75aaeea27 SHA512 4b36128ceee57c5910b48151f434fbee95bac8a22d9c6525e12cfec4d2eaa8a249207922789bd00567fff0b080b3b520721dc534c12d5a2148bc096105f95292
DIST django-polymorphic-3.1.gh.tar.gz 104090 BLAKE2B de2a2b38f338a10198d00e70d1813e541bf627e2ba2f5e29f0844c9ec7034badba39c077a195fc8c2f71105f1b4e546b91218b95d2ac47020f0dc2e3a5b0baa8 SHA512 730f617009007f94e935870941fdd8973d0cd5995060afbd138622345de77fa48bf2afe037bfa2ad476cef0a31e90cab1eb55109c470ae815a98e1facfa8f125
+DIST django-polymorphic-4.0.0.gh.tar.gz 104146 BLAKE2B 10b80b40e93048df9e116e0c6a5f9b38e6e31c2c40644d2066176f8d17649b8af7091a4fa8fdff3c16a32163707adbcb52d6a247592630d85336cd2c9ff11321 SHA512 ca21831a2acc6775568898d53d47b221c8b971eb2a41c3b621ea8af3ae52875cfa2b98d04bd4cd8f1d556fe2c9932a3de44bdb8554302cb82ce0dc19d06abdb2
EBUILD django-polymorphic-3.1-r1.ebuild 822 BLAKE2B 8a4cd6a9175bd7693ace73861005333a731327eeeb8734c2c560bd7e4d26bba1ff15b6ca4c9c9416e5d6e8b7991668b2b8dea0ce5102dbcc29cd1c111caafb69 SHA512 1d5469ad32dc4f2b66ca496d562a746d4b7a2cebed779fdba1595905a5ce1c8d7a83c03b6e6ba3211e3c13080ccf36099790684c43a3cf7cbf76d8617c514045
+EBUILD django-polymorphic-4.0.0.ebuild 866 BLAKE2B a4c5e6e442574672eda8b2902944242a170cc9e1511621de86fab7064dc4b57e28381b925b3f8e12b3565d5600a5ef2800484580cca84f29024693a6714fa2cf SHA512 c585c44aabbfa4796abc925ec4dcea1df926447294e00fd8e62149312df9d933ad95d37bc10f2dc22f084fac0236a69496ca09c269733eafcacf9c50a7421e98
MISC metadata.xml 413 BLAKE2B e8f8445ce135557d92f29082672c571a96325763cf5bd92908cb3c7ad6744190d2f33dbf7a679ac5443dfac116366b3b91b8ad47b3c487fded657c55a00d8236 SHA512 157637720cc89bdd332c0d2cc1a338a119b0372a426de41998df3e78add121423ad4a94f10e0e7ffca1a3185c7a4cde709385756cc009de86d790851fdd4ca87
diff --git a/dev-python/django-polymorphic/django-polymorphic-4.0.0.ebuild b/dev-python/django-polymorphic/django-polymorphic-4.0.0.ebuild
new file mode 100644
index 000000000000..fa9b114f3680
--- /dev/null
+++ b/dev-python/django-polymorphic/django-polymorphic-4.0.0.ebuild
@@ -0,0 +1,42 @@
+# 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_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Seamless Polymorphic Inheritance for Django Models"
+HOMEPAGE="
+ https://github.com/jazzband/django-polymorphic/
+ https://pypi.org/project/django-polymorphic/
+"
+SRC_URI="
+ https://github.com/jazzband/django-polymorphic/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/django-3.2[$PYTHON_USEDEP]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ dev-python/dj-database-url[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # ecb85b3539c71e376eb0a111e98b5b374d5c9532
+ "${FILESDIR}/${P}-test.patch"
+)
diff --git a/dev-python/django-polymorphic/files/django-polymorphic-4.0.0-test.patch b/dev-python/django-polymorphic/files/django-polymorphic-4.0.0-test.patch
new file mode 100644
index 000000000000..022c0b3881d9
--- /dev/null
+++ b/dev-python/django-polymorphic/files/django-polymorphic-4.0.0-test.patch
@@ -0,0 +1,23 @@
+From ecb85b3539c71e376eb0a111e98b5b374d5c9532 Mon Sep 17 00:00:00 2001
+From: Jonathan he <jonathan.he@oracle.com>
+Date: Wed, 5 Feb 2025 16:02:04 -0500
+Subject: [PATCH] PolymorphicQuerySet: Prevent NoneType error in test___lookup
+
+---
+ polymorphic/query.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/polymorphic/query.py b/polymorphic/query.py
+index 8e93281..ba67529 100644
+--- a/polymorphic/query.py
++++ b/polymorphic/query.py
+@@ -277,7 +277,8 @@ class PolymorphicQuerySet(QuerySet):
+ tree_node_test___lookup(self.model, a)
+ elif hasattr(a, "get_source_expressions"):
+ for source_expression in a.get_source_expressions():
+- test___lookup(source_expression)
++ if source_expression is not None:
++ test___lookup(source_expression)
+ else:
+ assert "___" not in a.name, ___lookup_assert_msg
+
diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index 44874561b0cc..e6f0e1326cf8 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -1,5 +1,7 @@
DIST setuptools-75.8.2-py3-none-any.whl 1229385 BLAKE2B e2890604e9acbf23aefc94ee99927bafdc189e45c84b0e4e0b48737d120ba60590438603195e180988b26e3e8fb378812507e2a0b513bf886c3b1eb673853da5 SHA512 083447a6bd375ca99e017ec4c5e3083ee4eee32b65d911b4d5ccadfa587ec213d43562d21d0f238753cc5c54354027b8425880d7248fbbd170b0c006613f4327
DIST setuptools-76.0.0-py3-none-any.whl 1236106 BLAKE2B 783411ca7c3ee2f2aaaba2d40abb010f7014eb640e6ebee125e0d80afd863634eb01a10343c086b46a7b928db14d5edc6270c92129d2b20bbf0ce36229de932a SHA512 6b2af35acbd3c73f19a5eac91cc13329ef6b0c9b9dbad18fdcfabb0625215a661d320d164a08018a08a3578c5bc3aedfd9ed9ecdaaf62ef08e30fcae34a3eefb
+DIST setuptools-76.1.0-py3-none-any.whl 1236933 BLAKE2B c8e1d368f50aea8ed819d6c828505bbbecfd1d2f320c108df3910f8f49133aa12cbafbed5e626572232812671650cb4398a6771a21ed37d7d1ea882e87a08dbc SHA512 44330c0b2bf22a6cdc9b3cf087fbd7695a5e15a4e0e013c88252258fabb69ed89d9550b35b407f01711c66b45a964f687ce7c8f373ed0860e93842e70aa9e55b
EBUILD ensurepip-setuptools-75.8.2.ebuild 556 BLAKE2B 5138ddfa90e162a6dc484612350e793edc923cad71d8f43e5457f784d7e1ba107f8f62f088a2fc3f0c4180059322b1585cb24b216b25fc7f9417e216ff2529b6 SHA512 b5e241d65368ef1d8e84ee67007ae531c4304f63d3350c8d383ac57159d377e45a0f2de30e3bfd18d582b15051e833b8344d3329948cca020a5bdc3f36de8bfe
EBUILD ensurepip-setuptools-76.0.0.ebuild 564 BLAKE2B b599f1aeb6752b3ccf752b125f787d7a2a4b88f6cd729b039955823fec3646b4d96a60644a1522d0d26f04e8cf1c5d578f751169cfca0bf5bc02fb40976076b2 SHA512 bfb21908f534637c7df72921ef6e420d1748bf5db83d0b9fa3655496e5ba86d3b84e7967ed6a21b3b5779fd4083351a3b367c0daac1912c904abfd2c24c147a9
+EBUILD ensurepip-setuptools-76.1.0.ebuild 564 BLAKE2B b599f1aeb6752b3ccf752b125f787d7a2a4b88f6cd729b039955823fec3646b4d96a60644a1522d0d26f04e8cf1c5d578f751169cfca0bf5bc02fb40976076b2 SHA512 bfb21908f534637c7df72921ef6e420d1748bf5db83d0b9fa3655496e5ba86d3b84e7967ed6a21b3b5779fd4083351a3b367c0daac1912c904abfd2c24c147a9
MISC metadata.xml 316 BLAKE2B 17947c657b45cb01758e222aa6051a459bf0bd9a026a73c0df0ae0c3a0c901f6e2315d459ee37036ecd283481a8d97791d64688c108a0706e745a739e3f9e8f8 SHA512 af18f4ae51b253552752e14210789988c815d0dbf0e1d8ff7057e48a09303c4abc1fb240d6f7f15fc0993b33e4c8ee395c2755754b3a2cbfd4c3a3f0dad41cfe
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-76.1.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-76.1.0.ebuild
new file mode 100644
index 000000000000..b76c3f6972d8
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-76.1.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/setuptools/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/frozen-flask/Manifest b/dev-python/frozen-flask/Manifest
index a13e22bdcc8f..93223ae34d6c 100644
--- a/dev-python/frozen-flask/Manifest
+++ b/dev-python/frozen-flask/Manifest
@@ -1,3 +1,3 @@
DIST frozen_flask-1.0.2.tar.gz 101832 BLAKE2B e07bc483ed9a927fff526b3b3009ef9c42b2a21bca33207c0cfad3b252c80eaf3d874e2a5ee888342136d3294767ce296b2a61d1e093d020cdb4a92e996c4772 SHA512 f708346bcbfefaab234f095212aea4df6b942ffd3226ed3419299b11f7757eccc6c4235426d488cfa693b8b927a23705788bc2aa44a798d289cc116360f14337
-EBUILD frozen-flask-1.0.2.ebuild 601 BLAKE2B 790668fa0df8b6901fbd46e68cafd32a5ce40761157c6cf84b8eec7c5682c0402f538725d607ad8ae6f1508559a7a77cafaddbea7f89ecaac3b469611317c654 SHA512 b2b5c50076c49b95e2b377b2ed53965dd30cb41f9630451dff97c939d6ba1f142689d42ebc3af926a80b2a3f774a180f241076aee57c1357683466614ddbc6c0
+EBUILD frozen-flask-1.0.2.ebuild 601 BLAKE2B a3859cb78e5d9ae1bee038a3e5164702ed5fcd75f3a57028fd5707e4a22bf1835f119469f52dfbad9db65ae41c36d206def750aceda8ae780c5f10e1ef2d847a SHA512 7a3ebd000ce7bf1c5053f84037568242f31fcc748160730a7bc6adc12787c5c474d164de70806f7354c8875744b4fe112b2d9e347a6e75eb5188548efd383210
MISC metadata.xml 418 BLAKE2B da73d29cda242f659f85fc281c49682670f0de29fb6d5edae6df2e2ed0bf7fafb080221f7512f27eb48b3210eaeb363371e70b8299aa650d5c901fbd7a6680f5 SHA512 95a895607e43532bb5e9e88499b86ca0d43aa3c9a310b960ff8ed7438548d62c1a2758e0ac97b7200399c6cef5ef317029dd4f56d5636175aa285880731e01a1
diff --git a/dev-python/frozen-flask/frozen-flask-1.0.2.ebuild b/dev-python/frozen-flask/frozen-flask-1.0.2.ebuild
index 9a23458de553..eaf4e82d58b7 100644
--- a/dev-python/frozen-flask/frozen-flask-1.0.2.ebuild
+++ b/dev-python/frozen-flask/frozen-flask-1.0.2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
PYPI_PN=Frozen-Flask
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/gfloat/Manifest b/dev-python/gfloat/Manifest
index 3ebea941e145..6fb6cc517da7 100644
--- a/dev-python/gfloat/Manifest
+++ b/dev-python/gfloat/Manifest
@@ -1,5 +1,5 @@
DIST gfloat-0.3.tar.gz 43790 BLAKE2B 3b6628dd6410090a684bc253965e167297f4105e3690b9ac38c0192c202fbc7e02026103723721494d4826d835b70a217114335201ab1c329d6bac02412f9e7f SHA512 2df65a3a188e99d1aa3da1b067aa3eaa9aabc22f42414b773c312d9c8dae9baf34d797f947a1646ea89e1db8f2bdb5f97a9672c292e2e0a2a8312e0e6f2fc496
DIST gfloat-0.4.tar.gz 590165 BLAKE2B 18545cf02f301839599171552b8a031f4c0c20bdf9be4263f8b2b43d6fa9316e10370421d96476dc538a5a751b4e00abf08261a898846459d6d38bce5778bfa7 SHA512 7a9ae161d25ba4349966a04bb6fa29e6c703d7e0303bfbf9702ec93613e03b4d83c85c27766adb171da3b8ea6059371fbb2815c21ad91dd1ba9c97ee088ea1a3
-EBUILD gfloat-0.3.ebuild 643 BLAKE2B 810e4e8c35f057ef38b582b3a4e6b54a31994499203da1c3f645add8f44dad32c3dd499cae81804aae318b0b9d10d6a95f5301c6c8955c34b15fa2ed44610190 SHA512 05d5b8da42dac240c0fec79d8c224b5702c1c2016682fc2d904bb14531a32f34374192a8b56a26a14a83ec5b410e70c159d21332c49b2bb65ee4e733a85efc4f
-EBUILD gfloat-0.4.ebuild 1090 BLAKE2B 00f39f672052ee7bd5e6bb81eacfbf207dae180598e239e87060736d4a1c923ed01ff9020397c33bfc9ed6c77c53db37c1e9b04ef0b3a64209249314009030ad SHA512 f0fec6ac2f3c84ab87e6953acd7a2388578f092cb6a6b8f67ce1a368b19da031b5eb6574085332f49a44438e21a19fd2ed37e19ef2b98e7ff8134256673a5f99
+EBUILD gfloat-0.3.ebuild 648 BLAKE2B 54be38c461f9b9bb2a028a4dd6611adf9bd4c75e31f394a94cea69aed884c7bd557344c1b592531bda6b74fe61e59e9178b927da2472d6d6540d9a227bea4cdb SHA512 1ec115a79eefe8d9591de99ec78ed313c5afd681c423087ac93135cf1c4278cb76bc61d2690954bff9634fbcfa02e63932fc10543be7b327d508ac7a880e706b
+EBUILD gfloat-0.4.ebuild 1095 BLAKE2B ed3a9578be230e1592effe5efe0ec52117247405cb636146d694024b5d6ad938dd9bc1d08f9f01ade05be400e3edee8dd052179d5973c718a42590e9e8f54dba SHA512 ded8a227a67e03070119d4fc1673a65c7fcf302d252ce959554a6d4795dba5ce748e0b46bf58f245ac4ac2caa4418e49b70566d6ae9d56c67b93c99d4224beff
MISC metadata.xml 353 BLAKE2B 7d99f8b4d1b169146dab1605d391c9db63777d6a07af8308d0df982ff0848fc8f27dd2186f4c0f33f1fb73b1e091c8cee007e2d5157afe4cc863b1178b6034f8 SHA512 e17c967db7e216a060f9b2d16e6e395bfca5074a32386f738e7484afad08fd06794ac0015dec856053c2d8ec3ae17e6e1751b393e788a770f778589abdf2d78a
diff --git a/dev-python/gfloat/gfloat-0.3.ebuild b/dev-python/gfloat/gfloat-0.3.ebuild
index 8ab9ff2664b2..dae15ee996fb 100644
--- a/dev-python/gfloat/gfloat-0.3.ebuild
+++ b/dev-python/gfloat/gfloat-0.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2024 Gentoo Authors
+# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/gfloat/gfloat-0.4.ebuild b/dev-python/gfloat/gfloat-0.4.ebuild
index add81aed77af..b1d0e265bf4b 100644
--- a/dev-python/gfloat/gfloat-0.4.ebuild
+++ b/dev-python/gfloat/gfloat-0.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2024 Gentoo Authors
+# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/googleapis-common-protos/Manifest b/dev-python/googleapis-common-protos/Manifest
index 47afd820d57d..c7e8ef252f8d 100644
--- a/dev-python/googleapis-common-protos/Manifest
+++ b/dev-python/googleapis-common-protos/Manifest
@@ -1,5 +1,7 @@
DIST googleapis_common_protos-1.68.0.tar.gz 57367 BLAKE2B 65888384edbe6b246fe8c6e17f13e3cbd8079f042914ead9c5315ab80889d72ce619e42089c5aa2aed528a38f99953d73be0ec5daf04aea5f2221d2bf09a2e1b SHA512 a602ca0d2daef9c265eb4654adeb698ce66fa26db707650d09c7da3474e263b995431a89d0908c70a9d356f0bdcccd1d6b7b5f51f05ae2c98f58b8a41f782d35
DIST googleapis_common_protos-1.69.1.tar.gz 144514 BLAKE2B 0e3a57a916202d7831e41081c5af759ba3976c2db349ad7def08bb9c9e085850182a5fc5e5d969498129f01c4275d7817e66015de29f9bbc96c8495402cb1ba7 SHA512 5f11d230e0d5503e32aee5832481a1ff3241a987911b0e3ca44c083f9e53eca916f9b07a9d02743fbe7508da478c1b87743c1c18c0afa0f92fb8f81481ddc385
+DIST googleapis_common_protos-1.69.2.tar.gz 144496 BLAKE2B 0f6eeef6fc124062db6214fa4d90b9717e4c4fce6b61faa0864ba8946a6c1de4ff7941b8dae6e1a0fb09821ae79927cd1a45eb5768a7ea22a7d866e58fc9b489 SHA512 a8f6f6ab551813e05db06af9ec404e4e87dcf2ebdeeecc6976b11a7cf0ccf0e6ca500ba0c263dcb6b71290b3919c84e5af8c2705ae3f4a5b630831aea8ddb668
EBUILD googleapis-common-protos-1.68.0.ebuild 719 BLAKE2B 559a822c694d024c604365b950b6be505d080a05af34d8b28e631aed095af91b1cb000be364cf8a0a352a191d869f1d3c0338f9a357b11dc393644451fbabdcf SHA512 f71edb1968fc73baa485242ea782da0811f25a972e8c2af8b833086f8b40896afad5451b4a647365ed124109e4c459cc4bd0a7e0a1dd2390354ba2d844e9dbf8
EBUILD googleapis-common-protos-1.69.1.ebuild 722 BLAKE2B ed6911137e215229ffd817d451014dc21c67ba132c234d7dbb38833fe7ae06e3aff275d206809973ce3a7427ec10395b745b48a31ab974e0d75603c41ee805cd SHA512 d06ed9390bb17071908e63fc8f5a97856b0f0ddceaf74446004ccb8598f4c2834b44853b0b36e55be14a375f399a81f1f49d59840b6710ec2b0e7a3013e7f7c6
+EBUILD googleapis-common-protos-1.69.2.ebuild 722 BLAKE2B 02d34869d26931ff6cb18b95263b2e15b9730559c73af64f15bc864b51de9b5f9bbf036917a7ead5c529ca84c3915163e6eb15fdb0208b4d4debf376e1d65077 SHA512 f82f492f3afe81d419bdb693c8ee83f4ac1a2f3cc2df80bf4f96f778cd64b0659fdc0f041bbb9957c1e493d6ecde3fcc7f72b779a4378ace2156cb55eb16bd53
MISC metadata.xml 537 BLAKE2B 7b81f41f34a3c0fa53340ad298440f67727eb1830009899ffa10835485f66e727844735a88bed94b8a0bba14fa01a78d8a04f5ca3edf48a72781c7e1a797459e SHA512 6013da3540915e13a0cc60336bbefada12fbf71c04d4f40634f24015ada732d0d8b86600401bdadb2c7df2ea84f7097669f4efe6cf176ccca5efe46e9a3869d9
diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.69.2.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.69.2.ebuild
new file mode 100644
index 000000000000..bf74597b6649
--- /dev/null
+++ b/dev-python/googleapis-common-protos/googleapis-common-protos-1.69.2.ebuild
@@ -0,0 +1,31 @@
+# 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_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python classes generated from the common protos in the googleapis repository"
+HOMEPAGE="
+ https://github.com/googleapis/python-api-common-protos/
+ https://pypi.org/project/googleapis-common-protos/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/protobuf-7[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-3.15.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 40390ccc21bc..72692d72eba7 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -4,10 +4,14 @@ DIST hypothesis-6.128.2.gh.tar.gz 9522813 BLAKE2B cc466d24bf45b5a0916f47d6a7ed12
DIST hypothesis-6.129.0.gh.tar.gz 9526187 BLAKE2B 632fa6dfa60725caab11e12682389d48cd54b0bbe093a86a8cbda8a251d4b969e394afe32a6d439266a0b226c474879afcbda565f9cfbf81d3b3871c2a06e2f4 SHA512 e0d0e79631d26c4f9813f750185568fc8c19d37cb5cbcd6ebac69a4da73338a28cd54408753d2c3a200855e710142582f7057b24331d7233aea221740db66d6e
DIST hypothesis-6.129.1.gh.tar.gz 9526811 BLAKE2B fe69773a70d8c6615f586dda7acacfbc2f9309659faedcecfd12317124c5c868f53987f9e56670f09a44de96d9baec08a43823d15ad7dc847f4260ed8deb0486 SHA512 3745d590dcfc968a96eb62a6f159214b5741f2de1e03bd57bb22663237801f7d4d5df98c0da9f798d1b127e7c43039527f903994e3b9a884d1f654d2a842fea8
DIST hypothesis-6.129.2.gh.tar.gz 9527087 BLAKE2B 675261d8ed0c77ead1555e0ae26b6a199886b3189cb46f193af492313428c171d129b5aefd6f52e3f6ecd634302c4356643b0324547aa19cd4bb190114887354 SHA512 c71342ea5f53ca7374b0311a8185b7ab40802cc68c76225d87db7a8f2911942768bca37a6f229b22c6f2c53fcf531d4d5a7a72de69d4172db598a298d4aa8681
+DIST hypothesis-6.129.3.gh.tar.gz 9527091 BLAKE2B e4baafe9e9af45d940a207d55d1a03bd2998d9bdabcdc724830d52bf9fd6ded528606fd7d82a17684fc58ed2ea3db3ae96f7da342fdf45aacd354a99af18ffd3 SHA512 7a3fdc7e7353a2b5fb8c5e98008218d1ed58112839f1afc88678eb0fb5bde7efd77a763bb2174e5b6acdc3edd3043d69eed74f2453e5fddb1bdf05efd07ee442
+DIST hypothesis-6.129.4.gh.tar.gz 9528147 BLAKE2B c85806af24ddd934338f99c9d62a577fb35c8809d71ddf23aea0d613f33e690c70662279e88f4680d48c0c3b51fa10ff99c29fde7cf2d3c094cfaa0aa65b7612 SHA512 aec846f34e3a66da8a79929da681bd41ac7deb4a83934a51ee69bf989ddb8f3f7bd8f612571e625d3334cf786e3841b4e4d05fe4368e930e5975077e0f027a7d
EBUILD hypothesis-6.126.0.ebuild 2772 BLAKE2B 326aa9f28f91cf8b3a89fedd7ef3d47138c25e09465e4ad9a448e5421e5de0b6c332c2a5afaa333c77aedd2caaca321d4ea46497c7bfa9dabfdb7c3ff202fc0d SHA512 a8508fc3b8f5751e186988d226908324947072e5723d05742fab0ecf218a82ce44c77c6e921f9fec79538741dda1da9b4abed24f1002b83b837d68438685a951
EBUILD hypothesis-6.127.9.ebuild 2780 BLAKE2B 8ba5773e6c37903b4a7190eada0c9cfc98bd65b319db9d474e495386fab3d40c8f2ca47435b5a51ab6a3da1a11f016c54696aa6ac7e42691d9c15070e1af8075 SHA512 d9e0347c5ae910007e0f0baa1926460d81b6bc301f98b9251b16cd26ec7533640416549c9f53c254c22c270f8f5bfa940c086169261c9dfec435a2c7ddc96afc
EBUILD hypothesis-6.128.2.ebuild 2780 BLAKE2B 8ba5773e6c37903b4a7190eada0c9cfc98bd65b319db9d474e495386fab3d40c8f2ca47435b5a51ab6a3da1a11f016c54696aa6ac7e42691d9c15070e1af8075 SHA512 d9e0347c5ae910007e0f0baa1926460d81b6bc301f98b9251b16cd26ec7533640416549c9f53c254c22c270f8f5bfa940c086169261c9dfec435a2c7ddc96afc
EBUILD hypothesis-6.129.0.ebuild 2780 BLAKE2B 8ba5773e6c37903b4a7190eada0c9cfc98bd65b319db9d474e495386fab3d40c8f2ca47435b5a51ab6a3da1a11f016c54696aa6ac7e42691d9c15070e1af8075 SHA512 d9e0347c5ae910007e0f0baa1926460d81b6bc301f98b9251b16cd26ec7533640416549c9f53c254c22c270f8f5bfa940c086169261c9dfec435a2c7ddc96afc
EBUILD hypothesis-6.129.1.ebuild 2780 BLAKE2B 8ba5773e6c37903b4a7190eada0c9cfc98bd65b319db9d474e495386fab3d40c8f2ca47435b5a51ab6a3da1a11f016c54696aa6ac7e42691d9c15070e1af8075 SHA512 d9e0347c5ae910007e0f0baa1926460d81b6bc301f98b9251b16cd26ec7533640416549c9f53c254c22c270f8f5bfa940c086169261c9dfec435a2c7ddc96afc
EBUILD hypothesis-6.129.2.ebuild 2780 BLAKE2B 8ba5773e6c37903b4a7190eada0c9cfc98bd65b319db9d474e495386fab3d40c8f2ca47435b5a51ab6a3da1a11f016c54696aa6ac7e42691d9c15070e1af8075 SHA512 d9e0347c5ae910007e0f0baa1926460d81b6bc301f98b9251b16cd26ec7533640416549c9f53c254c22c270f8f5bfa940c086169261c9dfec435a2c7ddc96afc
+EBUILD hypothesis-6.129.3.ebuild 2780 BLAKE2B 8ba5773e6c37903b4a7190eada0c9cfc98bd65b319db9d474e495386fab3d40c8f2ca47435b5a51ab6a3da1a11f016c54696aa6ac7e42691d9c15070e1af8075 SHA512 d9e0347c5ae910007e0f0baa1926460d81b6bc301f98b9251b16cd26ec7533640416549c9f53c254c22c270f8f5bfa940c086169261c9dfec435a2c7ddc96afc
+EBUILD hypothesis-6.129.4.ebuild 2780 BLAKE2B 8ba5773e6c37903b4a7190eada0c9cfc98bd65b319db9d474e495386fab3d40c8f2ca47435b5a51ab6a3da1a11f016c54696aa6ac7e42691d9c15070e1af8075 SHA512 d9e0347c5ae910007e0f0baa1926460d81b6bc301f98b9251b16cd26ec7533640416549c9f53c254c22c270f8f5bfa940c086169261c9dfec435a2c7ddc96afc
MISC metadata.xml 492 BLAKE2B c9e9bbd59af55d1f47e5b7a86933c02b47f832122d03eaca56bd3ec9476cf260d91d4fd2da5068845d4525b7cc9f702b515e8d6a0dffa7923f5898cfd44e12a1 SHA512 166b33d6ac887f52d54fb9d556102038c00650a597d2de1c3aad3f8b5e136e9b6b7db31f05f3379435e4c5f943156d5839d78fc95461af411037a3162ea6705e
diff --git a/dev-python/hypothesis/hypothesis-6.129.3.ebuild b/dev-python/hypothesis/hypothesis-6.129.3.ebuild
new file mode 100644
index 000000000000..5e0df5815a5e
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.129.3.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( "${CLI_COMPAT[@]}" pypy3_11 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # TODO
+ 'hypothesis-python/tests/cover/test_reflection.py::test_clean_source[case-5]'
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= -p rerunfailures --reruns=5 \
+ tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/hypothesis/hypothesis-6.129.4.ebuild b/dev-python/hypothesis/hypothesis-6.129.4.ebuild
new file mode 100644
index 000000000000..5e0df5815a5e
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.129.4.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( "${CLI_COMPAT[@]}" pypy3_11 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # TODO
+ 'hypothesis-python/tests/cover/test_reflection.py::test_clean_source[case-5]'
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= -p rerunfailures --reruns=5 \
+ tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/jinja2-pluralize/Manifest b/dev-python/jinja2-pluralize/Manifest
index 1ebb4b2f5786..7e4a203dbf3f 100644
--- a/dev-python/jinja2-pluralize/Manifest
+++ b/dev-python/jinja2-pluralize/Manifest
@@ -1,3 +1,3 @@
DIST jinja2_pluralize-0.3.0.tar.gz 12638 BLAKE2B bb7399d287cf0d1bfed5398c0ad7e6994dfe1d8e942d82190570d0b40d8bec4939d497cb2d9d4415c913f3f3f9c11b017035941755219effa8d92a6ef188dac9 SHA512 8830c01ff82befa353302cadc305147a950038fdf3808632f22dfce9a564a6ba7967781f579a2d94fecb1b5bb01f80d2a53ff082332b94c6e6e3f5f4106e7313
-EBUILD jinja2-pluralize-0.3.0-r1.ebuild 542 BLAKE2B b26672aaef6ed4d7b210c08ba8bc4b2dc908f9cd233edd1aef163752a244f76de7594370aaa78bbac9a47815e9a7fde4f237ed13530cab1d3188bee1073f77c2 SHA512 184b8338c82776acdfb18b345752254e45975d783c36d58a0205a3fd9de206fc53102b65c0edfb69dead40cece1b49c7cef2592fa74942ad1c7c22e1c6e1e100
+EBUILD jinja2-pluralize-0.3.0-r1.ebuild 542 BLAKE2B 6c986410aba58eb8dcefbb7ee7e9bab8f7bd2357c35348ecd532b4a9b64ecae2bb5b35e083a5e64d79a34dad838584f96e305d269ee1ad771b16941de50e7b56 SHA512 fa9d5ac2e94e2446355d671bea8b9fd9080356e954c925874b8dd816ddd218e7e36412cc5bc5422e2ea310730588a85955acd1cf9a5693eaa4bf4404109c96a1
MISC metadata.xml 495 BLAKE2B 92432500add47e3e65573cf3d6ce69f97ed5765c16190fb102d77829e34cec938c8e587b39fcc95dee157fa8b8048eae0708147ad79431eb9bc3aa0214b926c0 SHA512 7bd616c66dcd43150b63203ff1b069b216eb721222103df46ddb459ecf521c342820c4dde2d386d2b0621d4c17e64c7c0b8edb9509b87cc032010ced34752252
diff --git a/dev-python/jinja2-pluralize/jinja2-pluralize-0.3.0-r1.ebuild b/dev-python/jinja2-pluralize/jinja2-pluralize-0.3.0-r1.ebuild
index be8d696f49fc..4cf623b010e9 100644
--- a/dev-python/jinja2-pluralize/jinja2-pluralize-0.3.0-r1.ebuild
+++ b/dev-python/jinja2-pluralize/jinja2-pluralize-0.3.0-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_PN=${PN/-/_}
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/keyutils/Manifest b/dev-python/keyutils/Manifest
index 1c340777962a..6218cc466c9d 100644
--- a/dev-python/keyutils/Manifest
+++ b/dev-python/keyutils/Manifest
@@ -1,3 +1,3 @@
DIST python-keyutils-0.6.gh.tar.gz 45427 BLAKE2B b62a1194bad87fe42c658c0603ff236e8e5594e8d19dbf8b29bac5b2ef5b3c6a6d19eae3d529c9408e06802c883fad365d41d27c656776a4994b58a43b8bf1fc SHA512 e282d553a644d9b38c6256e027ee553a123bf21e4222491e22699ca5bc5041dedc4e9a9a8c1bafa44985f3b1d5fafd85ded9ed5332b6d94d6c62f3fa6bcb6d0d
-EBUILD keyutils-0.6-r2.ebuild 894 BLAKE2B 9835ded3aa29fbbcc93db4c05c3dca6ffb5f1ed52037a4302e44a19ebd93a876027b3368ac6b60a0499165673382efa80a7c165e673c545d9353d7efc9391c20 SHA512 fe2b4fdaee6dd9adc3c172da416813910f92d85432a1019997a8d46e130bc6a1122722060ffc6df662d82c8b8bdd2221f26cbfe86ffe80812f3c1289ab904739
+EBUILD keyutils-0.6-r2.ebuild 890 BLAKE2B c0fd5ea7e64df977a5292630f6e5dc9008ddec83636ed3ec6a64f59701d4e00da00a53a8ffeb006f84bb59850b06997877bb4c7ef4daf26bf14ffc55b5f9ec19 SHA512 2d47bd39440bb9e1681f3520073e2bd77c5a2f7412bd64fe3dab1c5ae814041b3523d8f8ded5c02dccd41ab01d3e4d0fe321843b3fa64d043db205c7c8a2dcf9
MISC metadata.xml 383 BLAKE2B c88a0df9232a36db1f568579905d43c26fbdf5e2bd119e6ae9e7e4ff54f85bf7e247d57edaa6f9a364a938ccd6401f7e617515381f3fb4f9ad1f739f93d016ae SHA512 769de9462b430f810c33781b059d24da4d006b1e47ce1e57ca529a8a240442120fbe8b03c38f4e189e045593192b23cb0f4c5e0e1e63b4e43051da64129f63e4
diff --git a/dev-python/keyutils/keyutils-0.6-r2.ebuild b/dev-python/keyutils/keyutils-0.6-r2.ebuild
index b745cedffdc8..f16babeaa599 100644
--- a/dev-python/keyutils/keyutils-0.6-r2.ebuild
+++ b/dev-python/keyutils/keyutils-0.6-r2.ebuild
@@ -1,16 +1,21 @@
-# Copyright 2021-2024 Gentoo Authors
+# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..12} )
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
inherit distutils-r1
DESCRIPTION="A set of python bindings for keyutils"
HOMEPAGE="https://github.com/sassoftware/python-keyutils/"
-SRC_URI="https://github.com/sassoftware/python-keyutils/archive/refs/tags/${PV}.tar.gz -> python-keyutils-${PV}.gh.tar.gz"
+SRC_URI="
+ https://github.com/sassoftware/python-keyutils/archive/${PV}.tar.gz
+ -> python-keyutils-${PV}.gh.tar.gz
+"
+S="${WORKDIR}/python-keyutils-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
@@ -22,8 +27,6 @@ RDEPEND="${DEPEND}"
distutils_enable_tests pytest
-S="${WORKDIR}/python-keyutils-${PV}"
-
src_prepare() {
default
sed -i -e '/pytest-runner/d' setup.py || die
diff --git a/dev-python/libtmux/Manifest b/dev-python/libtmux/Manifest
index c9d545c1466e..c26d85b3fa30 100644
--- a/dev-python/libtmux/Manifest
+++ b/dev-python/libtmux/Manifest
@@ -5,6 +5,7 @@ DIST libtmux-0.42.0.gh.tar.gz 318655 BLAKE2B 5d462bd78e81bd38cfb0c42a2100287fc79
DIST libtmux-0.44.2.gh.tar.gz 326828 BLAKE2B ac2441ac13157bdce2465b1388f3e1570eb48193f26a37cfe6d68e56e93f659410af2851be20cd2f94011298c2b93a54eee20f5d07b4fbff15d26e00bbae6c0c SHA512 383784bb335c0f6e8200e20e8afd5b643658ee081a2c07cb9df2ee682d4b411b3ea17c7607587b8855f7d6571f5db7dd75318eefdd8946e6e38560309b5fa35f
DIST libtmux-0.45.0.gh.tar.gz 329763 BLAKE2B 3c8184b9e7ab874b4a85e3d3c3be3e96e48bfb14a02bf26a683062374c0a5258d911026a8c994639514668c775ab3855201d1daa466a20041635aeb978cffe24 SHA512 e1f921bddabcc26f034c331d3b9e7082c3d6d4cdbd8f0173e1499d8a05fd80ca79317409b29cb9ac95827ccb6e9127c58dffa6198ea5a2dee547fdaef23ba2ee
DIST libtmux-0.46.0.gh.tar.gz 337117 BLAKE2B 23caa10584c943ee1e7c162ce97d9d18d297a52fa15a4ac66be2e29314499d2f99bfa5a3061cef6ad80dc94ba8bf9362725d92e74385973aa717849a78388ac4 SHA512 4143639f0219c5751e69718d79c08efec8f9a6f5229aa48f6a7f7fe6c32486ee4b92f6d962fa6ef8f396852a688e373daf0d416f29b95036d015b3fcbba063a9
+DIST libtmux-0.46.1.gh.tar.gz 337302 BLAKE2B b0e086aab882c9ec82ee5606a7ea02e81a549d3009bf8b0f4bc736d8ba8cc7130afd024781c95e332527bdb72202346558d90a4989c5ff2cbb7f6836960e88ef SHA512 41b526d40373d1251260cea8e4fc94cb176275f2c399030b66266663e831f733fb017bebc32e92b9809212c064b21e539853ec780b8f75f0afe01db8b5cb2236
EBUILD libtmux-0.36.0.ebuild 1585 BLAKE2B e33ae414aba51bcdb17db8d81f50af53a60b6ec2abbb006e9c386e5c5e583d4773860345b2666a548f3e9d560604e9b95a8700e622ed4b934e1580f27285205e SHA512 7024476368b6630a09c925a17a0ec7cfd97d22a0133e346fb7725e43945eb3f630531f252449d89f63e88e3fcd2210fa0e7f08bd4588d1d7a95d31be4a18ee8c
EBUILD libtmux-0.39.0.ebuild 1358 BLAKE2B 0974051ca285abd068fef179a93208640e0867dbeeb1b200976c5c94f0f363e4c8c291a8109b4d4eda26648f2cf65c7bddc4f7660e7a242de63c1710980ab5d7 SHA512 1acb46c2ce2ebd6c492bdfb2cfde01db0b8b03254a518b28bff54c8c96bf9e242399c6634f707846c592b9fc532476fe0792e9de2ea3213e9142c28fe8465e64
EBUILD libtmux-0.40.1.ebuild 1360 BLAKE2B 8dc305ff0eed09e821cd4a0b34a9a75ee857b34d4358ae83d211e6fee44a473810475b4aac8390593b7d67e60b9ae7318dd1b463de6dc4cabb9e847707d8cc16 SHA512 24e559466024a28f58dfcfe469945e809873a6a05b31549355f3d29c433e56246c7cf2c698b60829fa3c6f59c27a39ea8ed6714909df17fea7be583a4b2f8fd4
@@ -12,4 +13,5 @@ EBUILD libtmux-0.42.0.ebuild 1360 BLAKE2B 7a8787b03d4192ad6b0356f21092c1a109f726
EBUILD libtmux-0.44.2.ebuild 1360 BLAKE2B 7a8787b03d4192ad6b0356f21092c1a109f72629e5d192af7e2ff868558d8905a1130c222d72d0532c380ee19e77b4b2682d54049f8f447bbe12be192dd57104 SHA512 d27b46d3240b9850126c1f46dfacec96d2a5778555f29dd3f353c053b5922aad01edf140a7935dbf7ea63a6b8a9120d42a1ae6300666056f9a2e0e5926af8b53
EBUILD libtmux-0.45.0.ebuild 1277 BLAKE2B b8453fe34bb652ea651d9c3cd43eceaa2fb7ceb07e05e9398ede015cdfeece5a0bb31dbfe9a836e0389c5129a2d69567e2c97fa6bc7967d6646cbfc89991b00a SHA512 f9a6d662234369e539d97fd1c02038f8ccadc734e522b38f35e583f76fac44f4f87e5926c2cd9da6635b87dfb5c57e23b7dc516094985ee2174b2662b7876636
EBUILD libtmux-0.46.0.ebuild 1286 BLAKE2B ef3b3785545834b4a35c7cb3c3b2751f76773d39c9a45d53cb3fa645b9ae0b538c3a8f8f7ce93a98a2253efd0fa923f7d14e03663f2cbbea23e9c33f14d92cdc SHA512 509358cfad7a02b1b3681e0bd26aa3525bbf3e01d088342c5383c1133e15a73948ebce1f9d65fb7fe96d2bc781c2853e43a7d933b07783b88205702a7f521301
+EBUILD libtmux-0.46.1.ebuild 1286 BLAKE2B ef3b3785545834b4a35c7cb3c3b2751f76773d39c9a45d53cb3fa645b9ae0b538c3a8f8f7ce93a98a2253efd0fa923f7d14e03663f2cbbea23e9c33f14d92cdc SHA512 509358cfad7a02b1b3681e0bd26aa3525bbf3e01d088342c5383c1133e15a73948ebce1f9d65fb7fe96d2bc781c2853e43a7d933b07783b88205702a7f521301
MISC metadata.xml 403 BLAKE2B 68af7251349c8999bbdbfb7b55ca4632f8752468d7e478fd985097af86d00afe93b231667a25e3c997a3bc86b708d4e6d6ef5c35a783871cdc83519fc1db1ab1 SHA512 2a88df695e94f1da966bb72f7e90d00f2e343e40fe1924837f8c087dfc9a9a84fe0b2909a98f2f41ba72f6ba01796888a80cbac3f1bf9f05984a06385037d977
diff --git a/dev-python/libtmux/libtmux-0.46.1.ebuild b/dev-python/libtmux/libtmux-0.46.1.ebuild
new file mode 100644
index 000000000000..f07f9333b0d0
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.46.1.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=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
+
+inherit distutils-r1
+
+DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer"
+HOMEPAGE="
+ https://libtmux.git-pull.com/
+ https://github.com/tmux-python/libtmux/
+ https://pypi.org/project/libtmux/
+"
+SRC_URI="
+ https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ >=app-misc/tmux-3.0a
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local issues="https://github.com/tmux-python/libtmux/issues/"
+ sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
+ # https://bugs.gentoo.org/927158
+ local -x TMUX_PANE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=libtmux.pytest_plugin
+
+ epytest -o addopts= -p pytest_mock -p rerunfailures --reruns=5 tests
+}
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index 02718d8e69a5..944e521c7e7f 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -10,6 +10,7 @@ DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d22
DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764
DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818befdee20fd8bed4d2dc2c2c6f6f56451fd43d35ac03a0a5a406e142d22b25137999dc5b17471c196f8fcf79f20a8296832d900f6d SHA512 c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8
DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
+DIST llvm-project-1c3a9a853ce68c3c539e7cab21380b9d8b18f426.tar.gz 229448743 BLAKE2B c1eacc2ed05c460f56cf83f16b982e3fa4ac530483d7cf003034239aff3b3dbffbdd3042a3f295a83ec94fcf32f802714e4937fd3761a5e03d4ed1b4093e81bf SHA512 98b7e9fa330a6fce33ca9757caf5d2e41d0b73117cb24b2aed880274c2d6f8a8c1a0028dd0e773fa42deb61dbe3b9dd4fb2f44e50814b966fcdeae8e5b417e6d
DIST llvm-project-20.1.0.src.tar.xz 147206476 BLAKE2B 8e8bd8aa995a84d17ac7d634098a6b72a47c30f1752029b620f4541a2de4039edf09117286094ae7bc59c4e84374dcffb8e5ee6ef5feaf4ea7ddb58dd04ea803 SHA512 c90fbc43c40e148357912adc40d799a79cce3d3a929136c137421f6342ed7338659e651f1dedfa8e10b94b9f2897e25b2962e17709add02857f89f10615a2397
DIST llvm-project-20.1.0.src.tar.xz.sig 566 BLAKE2B 98979ce89f3fe6e95eef6096066cf855245a585608e7d1fddb5bbb2c73077f3ee28204260e18d7e45e3051daae3639520c39bc3d0dc51524873ac213e2511456 SHA512 68da1c2a13aaa48a67bbb9e716f9f030cf372edc651bca2861453378a6a9172a207ff59e29b175001f042888bf1f9c118fbf938f757e1f4c966943baa7e2696a
DIST llvm-project-cb7298f66d62a3548fcf3bd230304067ecf30d17.tar.gz 229200711 BLAKE2B 1910569812e7423cf566b0dec67269404ba8db8232ab293bc603a88914f2b756e3088bf2133c0fca612cc58d39691c7b813b3c5839a7ac9a3d177fe6bde766c6 SHA512 07c3f6ce34e7d32c5ebce1d2efb77e6a1dde49f9eedf7191733a20bdcb6ffd0c03f8fc8de85fd00bd9465b209f140639a68a367d2218c028bfa6e06067cc3e14
@@ -22,4 +23,5 @@ EBUILD lit-19.1.7.ebuild 1032 BLAKE2B 3190df4c09ad1b8ad8156db060ffb952f6b913702e
EBUILD lit-20.1.0.ebuild 1035 BLAKE2B b51f19005212e12018ef050722a17403b40dd0a01f5a212edff8bd2071ef7e947b8ebc98b9d77d94cae2b4d45b0e89a08b0d5790f80802420ba7d6c4ad1bfc13 SHA512 25768eb4f96a5c8f34d75368c1d044505f59a944b579a79b06f6230b4baacbe304f278ef263ef23536dfc5997be2e31a852416682c23a8e276021bd39a80dcb3
EBUILD lit-21.0.0.9999.ebuild 961 BLAKE2B 011aefa40e4fb39da08a33390910fd4115a7eeb681dcd60a5aae7bbafa3d9bfe52b02eb3d6ab06a8cf2e3f5ba39cd0c1d6caef17210d3c256cf40539f2e6c1a7 SHA512 ee2428960413d2baf441674de3f585cb41af0b37da6cd0d14391fddd641e716a7a22592891c9b75ea26d88589beaaf670b44af6b0a20951b2d672dd99b9eef63
EBUILD lit-21.0.0_pre20250311.ebuild 961 BLAKE2B 011aefa40e4fb39da08a33390910fd4115a7eeb681dcd60a5aae7bbafa3d9bfe52b02eb3d6ab06a8cf2e3f5ba39cd0c1d6caef17210d3c256cf40539f2e6c1a7 SHA512 ee2428960413d2baf441674de3f585cb41af0b37da6cd0d14391fddd641e716a7a22592891c9b75ea26d88589beaaf670b44af6b0a20951b2d672dd99b9eef63
+EBUILD lit-21.0.0_pre20250317.ebuild 961 BLAKE2B 011aefa40e4fb39da08a33390910fd4115a7eeb681dcd60a5aae7bbafa3d9bfe52b02eb3d6ab06a8cf2e3f5ba39cd0c1d6caef17210d3c256cf40539f2e6c1a7 SHA512 ee2428960413d2baf441674de3f585cb41af0b37da6cd0d14391fddd641e716a7a22592891c9b75ea26d88589beaaf670b44af6b0a20951b2d672dd99b9eef63
MISC metadata.xml 340 BLAKE2B c9ca851e49b4ab48c015686e983ec988f60c34ed0af77abd7bc03d046002f79f74b9b463ecb97db89f2230c1593af7acdaf6651fc51fed4aa92a459d07aabf18 SHA512 3fe8262ce6b971364162fbdbac3b02bf02f0a64896c8a2564e2a2998bd6e6bc74463bf9104e3f4ffaa9f5c1a16c877fc864b8a4f056ca0022f741799bc00f217
diff --git a/dev-python/lit/lit-21.0.0_pre20250317.ebuild b/dev-python/lit/lit-21.0.0_pre20250317.ebuild
new file mode 100644
index 000000000000..3dfabbc0d46e
--- /dev/null
+++ b/dev-python/lit/lit-21.0.0_pre20250317.ebuild
@@ -0,0 +1,45 @@
+# 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_{10..13} )
+
+inherit distutils-r1 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ llvm-core/llvm
+ )
+"
+
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+# TODO: move the manpage generation here (from llvm-core/llvm)
+
+src_prepare() {
+ # flaky test
+ # https://github.com/llvm/llvm-project/issues/72022
+ rm tests/progress-bar.py || die
+
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/logutils/Manifest b/dev-python/logutils/Manifest
index 1c5e604f5585..af62c76dc952 100644
--- a/dev-python/logutils/Manifest
+++ b/dev-python/logutils/Manifest
@@ -1,3 +1,4 @@
+AUX logutils-0.3.5-py313.patch 3352 BLAKE2B d37694bd5b76204804e96fe2ec8140750381bb9d4f618cb488dc811deb7e47eaf7cea3d34b5a7e2843f337ccf06468b829b6cc2ea6f1fb8b339a36ca8ca0d766 SHA512 c627d2bb9f41b7e1695ac6719c951a1d107a526d41b994cf07ca682bb9e54aa974646d8864317ed55ddca8a9084bb9ac24bf0c5fec8ee9db612c2214c9588597
DIST logutils-0.3.5.tar.gz 27703 BLAKE2B ceeabbc64603da949e771531fd1a7cff6bc760ffa98fcb952eddc5da39d019e202949dc596398ea68397c573cb9c2bace77f8e5462030e68d2f5768444a23b45 SHA512 0194bf4f01e7a29d4211495dc5fead9d4bd5bc1b791d25ff38ad28960a229a9bcdbaa7e6d3b5a4105eef6c9aa159459d6529c2615df113e7ec1ae93aac5cce6c
-EBUILD logutils-0.3.5-r1.ebuild 560 BLAKE2B c36408552fe2e9cca711c95cab5f2f842eb61244f1c6447e85a6107f59b2986b82cb83c77f83fe1de6585f40bae80e2f99b24ea0bc45f95a5fffb3bbdf026b48 SHA512 c35b4b16d1f7ceed501208309de8c58243282c70bcd133a0700ee8c4bc8f84b1cbf00192486bdfe94f20edf5416c954f7f118fc797df4b9b8c882bae146352f6
+EBUILD logutils-0.3.5-r1.ebuild 813 BLAKE2B ee0f60fababca498816b5910ac790822baa9d3b7942f490d2bf418714201e6d47e95098571d30d836b15139323de9984d7b5e5eaac4ad288b4c5aaa3a8c0d46a SHA512 89df7bfdb60529acd90b914bcf01293b29b79c84964ec6af0e54a74529f487c01c0b96c42e8037983836f56909b0096e070167c429395faa6adc8570f7ea5727
MISC metadata.xml 413 BLAKE2B 16ece3abbba037671f0d686414f4024446e5853a167408209c90bdd09ef1adad1ae6f1dc868ce50e274b9e269bf547c56d94ba5e38e7580e3de1727db4361299 SHA512 1ce1af6cca69c7879f8d2c915fc7223f7c11ad94f22c5c8545a2f44a1de7595c829526aac12ba01e17f913e9016848e9dbc052a07961aeeacc86a11637ccda96
diff --git a/dev-python/logutils/files/logutils-0.3.5-py313.patch b/dev-python/logutils/files/logutils-0.3.5-py313.patch
new file mode 100644
index 000000000000..e6b804f2e042
--- /dev/null
+++ b/dev-python/logutils/files/logutils-0.3.5-py313.patch
@@ -0,0 +1,90 @@
+From f33a518fc04bcb4f875b2c741c7bbee8db9e01d8 Mon Sep 17 00:00:00 2001
+From: Arne Keller <arne.keller@posteo.de>
+Date: Sat, 11 Jan 2025 11:27:21 +0100
+Subject: [PATCH] Fix Python 3.13 compatibility
+
+---
+ logutils/dictconfig.py | 9 +++++++--
+ tests/test_dictconfig.py | 14 ++++++++++----
+ 2 files changed, 17 insertions(+), 6 deletions(-)
+
+diff --git a/logutils/dictconfig.py b/logutils/dictconfig.py
+index c774552..2e33031 100644
+--- a/logutils/dictconfig.py
++++ b/logutils/dictconfig.py
+@@ -290,7 +290,12 @@ class DictConfigurator(BaseConfigurator):
+ raise ValueError("Unsupported version: %s" % config['version'])
+ incremental = config.pop('incremental', False)
+ EMPTY_DICT = {}
+- logging._acquireLock()
++ # Python 3.13+ renamed these functions
++ try:
++ acquire, release = logging._prepareFork, logging._afterFork
++ except AttributeError:
++ acquire, release = logging._acquireLock, logging._releaseLock
++ acquire()
+ try:
+ if incremental:
+ handlers = config.get('handlers', EMPTY_DICT)
+@@ -431,7 +436,7 @@ class DictConfigurator(BaseConfigurator):
+ raise ValueError('Unable to configure root '
+ 'logger: %s' % e)
+ finally:
+- logging._releaseLock()
++ release()
+
+ def configure_formatter(self, config):
+ """Configure a formatter from a dictionary."""
+diff --git a/tests/test_dictconfig.py b/tests/test_dictconfig.py
+index 3aee984..e56d267 100644
+--- a/tests/test_dictconfig.py
++++ b/tests/test_dictconfig.py
+@@ -30,6 +30,12 @@ def handlerFunc():
+ class CustomHandler(logging.StreamHandler):
+ pass
+
++# Python 3.13+ renamed these functions
++try:
++ acquire, release = logging._prepareFork, logging._afterFork
++except AttributeError:
++ acquire, release = logging._acquireLock, logging._releaseLock
++
+ class ConfigDictTest(unittest.TestCase):
+
+ """Reading logging config from a dictionary."""
+@@ -39,7 +45,7 @@ class ConfigDictTest(unittest.TestCase):
+ self.adapter = LoggerAdapter(l, {})
+
+ logger_dict = logging.getLogger().manager.loggerDict
+- logging._acquireLock()
++ acquire()
+ try:
+ self.saved_handlers = logging._handlers.copy()
+ self.saved_handler_list = logging._handlerList[:]
+@@ -50,7 +56,7 @@ class ConfigDictTest(unittest.TestCase):
+ self.saved_level_to_name = logging._levelToName.copy()
+ self.saved_name_to_level = logging._nameToLevel.copy()
+ finally:
+- logging._releaseLock()
++ release()
+
+ self.root_logger = logging.getLogger("")
+ self.original_logging_level = self.root_logger.getEffectiveLevel()
+@@ -58,7 +64,7 @@ class ConfigDictTest(unittest.TestCase):
+
+ def tearDown(self):
+ self.root_logger.setLevel(self.original_logging_level)
+- logging._acquireLock()
++ acquire()
+ try:
+ if hasattr(logging, '_levelNames'):
+ logging._levelNames.clear()
+@@ -75,7 +81,7 @@ class ConfigDictTest(unittest.TestCase):
+ loggerDict.clear()
+ loggerDict.update(self.saved_loggers)
+ finally:
+- logging._releaseLock()
++ release()
+
+ message_num = 0
+
diff --git a/dev-python/logutils/logutils-0.3.5-r1.ebuild b/dev-python/logutils/logutils-0.3.5-r1.ebuild
index fd886838498d..230f6aeac8f5 100644
--- a/dev-python/logutils/logutils-0.3.5-r1.ebuild
+++ b/dev-python/logutils/logutils-0.3.5-r1.ebuild
@@ -1,15 +1,18 @@
-# Copyright 1999-2024 Gentoo Authors
+# 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..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="The logutils package provides a set of handlers for the Python standard"
-HOMEPAGE="https://bitbucket.org/vinay.sajip/logutils"
+HOMEPAGE="
+ https://bitbucket.org/vinay.sajip/logutils/
+ https://pypi.org/project/logutils/
+"
LICENSE="BSD"
SLOT="0"
@@ -24,6 +27,17 @@ BDEPEND="
distutils_enable_tests unittest
+PATCHES=(
+ # https://bitbucket.org/vinay.sajip/logutils/pull-requests/5
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e 's:assertEquals:assertEqual:' tests/*.py || die
+}
+
python_test() {
eunittest -s tests
}
diff --git a/dev-python/loky/Manifest b/dev-python/loky/Manifest
index 5c2d7d7dc862..5fa89f4571ad 100644
--- a/dev-python/loky/Manifest
+++ b/dev-python/loky/Manifest
@@ -1,3 +1,5 @@
DIST loky-3.4.1.gh.tar.gz 143933 BLAKE2B b55dc9fe431769de6bc7f8d9854c40a361566d9c0325c7037255c5ce2b9875ff071743892ec5db53be7744955558195eb40fc5467917eeba3d533c68f285a1ec SHA512 435dc24a0532e6a40a67613fd1e13a06439ffe00c28b90fa36ff02255b67e0dd99d515f5659a36aa1049a9df73b16c1088989a1379a8492ebc5dbf1e53a37a06
+DIST loky-3.5.1.gh.tar.gz 145759 BLAKE2B 3fd1a254051a25e0556c29c50d9153e6894150d0eb39094fa3b7128439889777026aea6e001b73d825b6c18c8d7e6e49e0feb6e7fb508696c0694cf5321fa6fd SHA512 9c90fda5af45a89142866a3ec4a2e77425b20f248d55a56f5e78acf09dbf3b61ba04cf4b72c416e1eb343e23ab0d73a0139804a9fd92e27044debf97b8920635
EBUILD loky-3.4.1.ebuild 1799 BLAKE2B 42f3b795390b660e46415a60f12dbac5b8bd189cc1023cf903a62799cb2e61c3baa396fc1ccfe5589765cb0453a847b54e88a2da313c0e29b79386af349f739e SHA512 21e973ed6ad8cb79cae5ff5570e4ed75f38e9580038da225c9d78fbe3a4557250908c266219fb2ff25d25b7ab71a02071ba1fbf1df403ea87871ff5f1b30b9f9
+EBUILD loky-3.5.1.ebuild 1803 BLAKE2B e0c1946ad59e64146442ab2dbf90ba3fd627d7605fbff1b18949f805a7c53f4db4fe12645d1b439610586aea819f69db6ce9f0613bcfe1802afbc9108a84cc57 SHA512 7a9ef00a643a51df901c919c8910c4a80dbe6002818c59fed422ccd3178def2ba876046cc03a1aa9ecf87c6a1ffeb228b23968ce753cc40fd523bb1657fe57f3
MISC metadata.xml 383 BLAKE2B 9d990e2f5b4fbf959925d9d7c1f03ecb3acddcc8564c9362f14741d531d79f3e4c6d98a8c84695d8b1f761fa11a80e768b8e8b48ff8be314732d7f574d767223 SHA512 89d9a1f5c253bf99992d16b974d81175d1ae0d17649ffe1a485430735bec38f45e8e1a35c9ba2d99cb1610db3b200adb5af847b2a161c348e29f0cfa89f8076f
diff --git a/dev-python/loky/loky-3.5.1.ebuild b/dev-python/loky/loky-3.5.1.ebuild
new file mode 100644
index 000000000000..83c410be5f19
--- /dev/null
+++ b/dev-python/loky/loky-3.5.1.ebuild
@@ -0,0 +1,59 @@
+# 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_{10..13} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="Robust and reusable Executor for joblib"
+HOMEPAGE="
+ https://github.com/joblib/loky/
+ https://pypi.org/project/loky/
+"
+SRC_URI="
+ https://github.com/joblib/loky/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ EPYTEST_DESELECT=(
+ # docker, seriously?
+ tests/test_loky_module.py::test_cpu_count_cfs_limit
+ tests/test_loky_module.py::test_cpu_count_cgroup_limit
+ # hangs, and even pytest-timeout does not help
+ tests/test_reusable_executor.py::TestExecutorDeadLock::test_deadlock_kill
+ tests/test_reusable_executor.py::TestResizeExecutor::test_reusable_executor_resize
+ # Python 3.12 raises an additional warning due to the use of fork()
+ # in a multithreaded process, the additional warning breaks this test
+ # since the expected warning is no longer the first.
+ # This is harmless, skip test for now
+ tests/test_worker_timeout.py::TestTimeoutExecutor::test_worker_timeout_shutdown_no_deadlock
+ tests/test_reusable_executor.py::TestResizeExecutor::test_resize_after_timeout
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # high memory test needs a lot of memory + is broken on 32-bit platforms
+ epytest --skip-high-memory \
+ -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/magic-wormhole/Manifest b/dev-python/magic-wormhole/Manifest
index 96404c36e52c..2115cfc78797 100644
--- a/dev-python/magic-wormhole/Manifest
+++ b/dev-python/magic-wormhole/Manifest
@@ -1,5 +1,5 @@
DIST magic-wormhole-0.18.0.tar.gz 289799 BLAKE2B ff786e3247dcc382fa35175d6439c6273b420968100cc6e54a06e365b8d6db5a9a5145878d4025f51fe59cf75e18507d5114d04a13123ef62b255a61b3c55698 SHA512 095be448fb654a32ea45808f03b1a0bffd74ee683448085f1e6f14f054c0d2f19f9048270be4ec7b6a0b46872d20613a36e984a0a137bd68ba3d0a237a83d1b2
DIST magic_wormhole-0.17.0.tar.gz 284056 BLAKE2B f8bd45be5fca5015c7c0b601512ba823025d164172368f60309b74d078dead0f0b7a67bd548974811279728210bee542de1bbd6d7e8e3b568115e8b1d72795ac SHA512 12866b544b375b29cf2f58c59aa0e65000cfae0025b5e7a773b1f57a35c98b38629aaec9cc30cf4232f745b76db642e8bd15c41e8d8ba1a8e112c50b33293eff
EBUILD magic-wormhole-0.17.0.ebuild 1972 BLAKE2B 41a7ac979a9e76e564b2171b53bc28dd4c2a93d5c11d4214b3123c22817895c62b401cb01f0fa410d6979a60925547432f373d8baedfa1afb55024fbf4d73774 SHA512 a00138d5d0d3690a6ba7d23878d2851ec4783c7b7c92a2f3679bc1cc7fabb71c8c0c9f60c82e11e4f5742d4260fe70e8ad04fd649f1145e592b6e8b1c9a60f08
-EBUILD magic-wormhole-0.18.0.ebuild 1967 BLAKE2B 83ee302add76a689587b5a062bbb2179ed36afcd30a2d47f30915007a4adff1d4c418e206918a0aa7cffc6a23fd5af0a158b2679966cbdf8c0a04e0167207308 SHA512 c7e3d5510f36cceab97167a365ee771764ae1e0922a13a226a788b4f8933c44494c7cd22bb85359c4294ed3dd02d63305987a675afdbeed1c09346105147f968
+EBUILD magic-wormhole-0.18.0.ebuild 1967 BLAKE2B 5dd223f4ea449958c76af38f62bdb2dd81ce90a46ad4952fbaedc4459e75d7bc5e37c1c01cfaf8c44e734d39b7bc59bf91770435032e9676ff1fb7fa9de55b2b SHA512 07ea139816ff4ad532afa78d1ab37d2497aa4bbcb8f54c2cbdf6668253aeddf235f36d68a987b095580d15c59475bc03e09605402695e7ef98fa560746f734d2
MISC metadata.xml 411 BLAKE2B 259729a6ba640873646aa581e7aaef9a171149776cdc775b6ad92bc4d8f4309300c65bf76b5a826e69067da33f604ae7657fae4f802740a45ff9ab5eb2388b62 SHA512 efcfc6279dceebe2dd56fde795e8cb674104780c59dea8d5ec4c651c1da0d016cab0fc463737e94fc792ed864a034735b1fa72c733625c274d969195bb53c656
diff --git a/dev-python/magic-wormhole/magic-wormhole-0.18.0.ebuild b/dev-python/magic-wormhole/magic-wormhole-0.18.0.ebuild
index d826581acf00..200e5d93db02 100644
--- a/dev-python/magic-wormhole/magic-wormhole-0.18.0.ebuild
+++ b/dev-python/magic-wormhole/magic-wormhole-0.18.0.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi shell-completion
diff --git a/dev-python/meshio/Manifest b/dev-python/meshio/Manifest
index cebc7c247c77..bee9fee3d53b 100644
--- a/dev-python/meshio/Manifest
+++ b/dev-python/meshio/Manifest
@@ -1,3 +1,4 @@
+AUX meshio-5.3.5-numpy-2.patch 2031 BLAKE2B 01608f6634b54a8767d3c8d8c289e6662ab662f8e5663fc194b1d29be0d229dedd407e0f0869c8580abf4495357e67d6e116b8dff7d6400485690feb655e669b SHA512 6877691aefc053e6b5d284c21f07c7a1ac29becc3564d5fa9e623ef0e865311097bee0e7fce475b737104d97c0ba6cdf478c61810d94b60940e9a304809a0fae
DIST meshio-5.3.5.tar.gz 490922 BLAKE2B ff6635db062b5e4041d7a4389f1e2fefc20cf55c1c0e70be1796c9e65e87daf503c7446224130eee94a3a2d0fb52dcd57ce3fa169afe7ca7fe32c3037fa21e00 SHA512 dcf6b914536b5b109ead378b7314de8f6f65ca7eb9b8c1092ce51308c32175c92a8f6386087b00770cd64eddcbc3fa80232dd30b370880894c0fa0b074bd7313
-EBUILD meshio-5.3.5.ebuild 684 BLAKE2B bdddf8eaecbe4a7f75069cba830427cf75487f97eefc1aa475eca78f67315af85d480aee22067f435cbbafa1fc539b3d4e3e65b8ef37e6908fde9c0925b46257 SHA512 206f798f5a15d06dd86b1a4c16bfd6188d184f34cdef2519c1783d36a79f32bfab72caf2201626ddb6155d6fb3898d99afaeed51ffd5c659bef0e4cd6f7f3850
+EBUILD meshio-5.3.5-r1.ebuild 778 BLAKE2B ceba5b84edef762afc4be8eddfe86f4220bc37288a1189e460a71cf43cfbde35eab657392abca2f1a83946a22c48069a8ebfdbbfd02d4d2998741f15a413a50a SHA512 9d9b31c71968ebf2353f0b7aa09d162b27eb25ed9359fc3467be32b16f2c3a28f8bd6616f999a3424a305d66abb78bd0cc1656620a4ceb52922264c63e097a40
MISC metadata.xml 388 BLAKE2B 3fcedf4e5502bf7d117a8ad654b2639d497ce093eadca30fe2d0084574cb772d8aa4c5b0b5dd5400340fdd8aa081f9cbfd2ec61b1e36e60d1ccbe46a0128cd18 SHA512 73d3857688eea884233ef05adc4a9e496e51008710d900243d5699a36b37b1025c95afec2f29c043fe20dd26c8af7a2cc79c011539fd60c4ffadd5d80666fdf3
diff --git a/dev-python/meshio/files/meshio-5.3.5-numpy-2.patch b/dev-python/meshio/files/meshio-5.3.5-numpy-2.patch
new file mode 100644
index 000000000000..dc7662c3042f
--- /dev/null
+++ b/dev-python/meshio/files/meshio-5.3.5-numpy-2.patch
@@ -0,0 +1,52 @@
+diff --git a/src/meshio/dolfin/_dolfin.py b/src/meshio/dolfin/_dolfin.py
+index e43dbd54..0a2c1eaa 100644
+--- a/src/meshio/dolfin/_dolfin.py
++++ b/src/meshio/dolfin/_dolfin.py
+@@ -207,7 +207,7 @@ def _write_cell_data(filename, dim, cell_data):
+ )
+
+ for k, value in enumerate(cell_data):
+- ET.SubElement(mesh_function, "entity", index=str(k), value=repr(value))
++ ET.SubElement(mesh_function, "entity", index=str(k), value=str(value))
+
+ tree = ET.ElementTree(dolfin)
+ tree.write(filename)
+diff --git a/src/meshio/gmsh/common.py b/src/meshio/gmsh/common.py
+index 717e82ee..adcae241 100644
+--- a/src/meshio/gmsh/common.py
++++ b/src/meshio/gmsh/common.py
+@@ -273,7 +273,7 @@ def _write_data(fh, tag, name, data, binary):
+ tmp.tofile(fh)
+ fh.write(b"\n")
+ else:
+- fmt = " ".join(["{}"] + ["{!r}"] * num_components) + "\n"
++ fmt = " ".join(["{}"] * (num_components + 1)) + "\n"
+ # TODO unify
+ if num_components == 1:
+ for k, x in enumerate(data):
+diff --git a/src/meshio/mdpa/_mdpa.py b/src/meshio/mdpa/_mdpa.py
+index afa39eca..e49358af 100644
+--- a/src/meshio/mdpa/_mdpa.py
++++ b/src/meshio/mdpa/_mdpa.py
+@@ -418,7 +418,7 @@ def _write_data(fh, tag, name, data, binary):
+ data = data[:, 0]
+
+ # Actually write the data
+- fmt = " ".join(["{}"] + ["{!r}"] * num_components) + "\n"
++ fmt = " ".join(["{}"] * (num_components + 1)) + "\n"
+ # TODO unify
+ if num_components == 1:
+ for k, x in enumerate(data):
+diff --git a/src/meshio/ugrid/_ugrid.py b/src/meshio/ugrid/_ugrid.py
+index 6fa57c09..f1d5818d 100644
+--- a/src/meshio/ugrid/_ugrid.py
++++ b/src/meshio/ugrid/_ugrid.py
+@@ -145,7 +145,7 @@ def read_buffer(f, file_type):
+ def _write_section(f, file_type, array, dtype):
+ if file_type["type"] == "ascii":
+ ncols = array.shape[1]
+- fmt = " ".join(["%r"] * ncols)
++ fmt = " ".join(["%s"] * ncols)
+ np.savetxt(f, array, fmt=fmt)
+ else:
+ array.astype(dtype).tofile(f)
diff --git a/dev-python/meshio/meshio-5.3.5.ebuild b/dev-python/meshio/meshio-5.3.5-r1.ebuild
index 8bb43bf2183b..5a1ea9faf150 100644
--- a/dev-python/meshio/meshio-5.3.5.ebuild
+++ b/dev-python/meshio/meshio-5.3.5-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -30,3 +30,8 @@ BDEPEND="
"
distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/nschloe/meshio/pull/1513
+ "${FILESDIR}/${P}-numpy-2.patch"
+)
diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest
index 110159ff320a..75f1b9cc38ed 100644
--- a/dev-python/mkdocs-material/Manifest
+++ b/dev-python/mkdocs-material/Manifest
@@ -3,7 +3,9 @@ AUX mkdocs-material-9.6.7-backrefs.patch 1584 BLAKE2B 1704eb4db6533e2e48e2f78593
DIST mkdocs-material-9.6.5.gh.tar.gz 14920108 BLAKE2B 50b7565c2a170e62e27b33fffa1bce3536d0b090162d30f113ca45101ab63f4a2f972a01962f362bd267f627e9f62a392b0bba5b21d464c9aaa94dd9580acb3b SHA512 472f07c1f4986062b785af026e5c7c7645bf16bfa172fc5813c6ba9a03ebc0c5d43f099ef7a04c5494dbe4f8a628397c4bff2a16c0e4632ebc439e77697c4785
DIST mkdocs-material-9.6.7.gh.tar.gz 14923962 BLAKE2B 52ca0a74100f0fac0722bbf030d2ea95d62e98017135f1bd29853dea7e17e3f1cd8254bc96da4c06b9498896b99b5134a816a5c686fc8e0a42afbc133dbfb2e1 SHA512 638fd9e61675378343da6f61762046d299a775932ebdf8b5a24cdef25e42ff0689d5189532adaf81987900470b85a8e5fa65557ace24c3a416e2e42ada190224
DIST mkdocs-material-9.6.8.gh.tar.gz 14926223 BLAKE2B ce5f0ccc1f19787bbf631f0e71f1b252920e32b6e99616066c18d417e5086f8f612411fb8ba41909df8ee1fc24907879ec87234c42cd8fd6088555b46b7c7d67 SHA512 26d9677d95903c4c3a7890decb11557168dbf26c1fbd7ba1406bebf29a813283ccf43c7173a69136508ff753d61fad2ee3f49a897514fb7f6fa914070d2570b6
+DIST mkdocs-material-9.6.9.gh.tar.gz 14809122 BLAKE2B 14c07f44c93de9c74ca6ee64b9be0ef2b7c06f40fa3bca95fbd935cec783ee16d02c50c77ed6b0b62fddaa9f0dcba769db1d86ca4da4363aa48c4940d5eb83f9 SHA512 166c7a5fe445e07286ccc36040a3caf4e070ad86fbcb556fa380ed91b6adfd96c881762f0cb7b96ee1f5d04ff4d65018ad119973e07920c8dd037f32c1322c46
EBUILD mkdocs-material-9.6.5.ebuild 1850 BLAKE2B c5b9e6bfb7695e13f7fa4a8ed348bdd7843db1b5a012133c07c91549403c50a60fb0a5fdc04b8c2e76b0b07cb0369e0b4f408f94217be6d8c8fce0ee595c4a36 SHA512 6d3a9720607b4aa434736b94481b11f52bff3351f6026666c3efd517b9fbe15326c276d12117a16edfa627d7b2ea5fd1dade1a20fbd1146404be7ef742b16c0d
EBUILD mkdocs-material-9.6.7-r1.ebuild 1942 BLAKE2B bdfaac9173e1987a8f60f23008901a3f30d9f0489bee35a979d8d22e3666bfad86a7fb7cf476d6be73ddec71ade69a4bd6b8aa32287aa1b73aa6294eebdc5ef9 SHA512 87ad2205e2b3c9f369f7cac7049f278737e42e268523a12570bf365ab4823ab354644ac9871882b70a91adcfcddc4dc7fe408c25767fe72a17287eeaafc9b439
EBUILD mkdocs-material-9.6.8.ebuild 1942 BLAKE2B bdfaac9173e1987a8f60f23008901a3f30d9f0489bee35a979d8d22e3666bfad86a7fb7cf476d6be73ddec71ade69a4bd6b8aa32287aa1b73aa6294eebdc5ef9 SHA512 87ad2205e2b3c9f369f7cac7049f278737e42e268523a12570bf365ab4823ab354644ac9871882b70a91adcfcddc4dc7fe408c25767fe72a17287eeaafc9b439
+EBUILD mkdocs-material-9.6.9.ebuild 1942 BLAKE2B bdfaac9173e1987a8f60f23008901a3f30d9f0489bee35a979d8d22e3666bfad86a7fb7cf476d6be73ddec71ade69a4bd6b8aa32287aa1b73aa6294eebdc5ef9 SHA512 87ad2205e2b3c9f369f7cac7049f278737e42e268523a12570bf365ab4823ab354644ac9871882b70a91adcfcddc4dc7fe408c25767fe72a17287eeaafc9b439
MISC metadata.xml 1133 BLAKE2B 539649e3b6efda18535738e45078b7b35f8226034b18c40ff5feae249a4dc5aa6b4a1247a712564ab5b7cee1f62eda4e3bbb709ea7970d2fc279bc48ab1ee934 SHA512 72a58ba3f100cea6653406c3a314b1b67225d118fdb8323e54b6ae9bcd2224a00d01cee96b6564fbbf19de6e5fe5db54143aaa56ca2b7cf8c56fcd8c8c5cf6ef
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.6.9.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.6.9.ebuild
new file mode 100644
index 000000000000..60f0fcd96617
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.6.9.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=hatchling
+PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/mkdocs-material-extensions
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs-redirects
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="A Material Design theme for MkDocs"
+HOMEPAGE="
+ https://github.com/squidfunk/mkdocs-material/
+ https://pypi.org/project/mkdocs-material/
+"
+SRC_URI="
+ https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="social"
+
+RDEPEND="
+ >=dev-python/babel-2.10.3[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}]
+ >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.16[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}]
+ >=dev-python/readtime-2.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}]
+ ' 'python*')
+ >=dev-python/requests-2.26[${PYTHON_USEDEP}]
+ social? (
+ >=dev-python/pillow-10.2[${PYTHON_USEDEP}]
+ >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}]
+"
+# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
+PDEPEND="
+ >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ # simplify pyproject to remove extra deps for metadata
+ "${FILESDIR}/${PN}-8.5.7-simplify-build.patch"
+ # import backrefs only when used (i.e. never)
+ "${FILESDIR}/${PN}-9.6.7-backrefs.patch"
+)
+
+src_prepare() {
+ echo "__version__ = '${PV}'" > gentoo_version.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/mkdocs-pymdownx-material-extras/Manifest b/dev-python/mkdocs-pymdownx-material-extras/Manifest
index b75857207f92..2165f5e4d240 100644
--- a/dev-python/mkdocs-pymdownx-material-extras/Manifest
+++ b/dev-python/mkdocs-pymdownx-material-extras/Manifest
@@ -1,3 +1,5 @@
DIST mkdocs_pymdownx_material_extras-2.7.tar.gz 25619 BLAKE2B 5be865ef8d4c5dbcdebaee9ee36d239b40e5bc3df5241c9f3fc036a26fc54cc93f328b4dfdfdbb8e5df018e72c783c5a6c7ec80831e1aba95cdf1fc2be7a13ce SHA512 3fac8fed8e045e8e98eaf024a53d5522a4cd42b62c140ece98f2c6615fcfdaf5e2670d91aa90abe9e3c9dcea56657c0f0379b24b08eda0cca263034f006dcb46
+DIST mkdocs_pymdownx_material_extras-2.8.tar.gz 26512 BLAKE2B 09982c3ebaa916259e5b1dcfbcb83ca3cbbad62faf71f44ef6a67d9fc61932ac3332b95507c1114c8873d5bbc016719fa510432ef8dd95eb681bf4fcda87f51d SHA512 f6c9d8990eabef9fb790d42fc38fa5b9b8d7ddc62c2a02f1ca114f85d7a793f885b8be9eedc5302abe35f7e3eedda2c5eb98c9fd0c6f5a2600d60bdc73b4f8ac
EBUILD mkdocs-pymdownx-material-extras-2.7.ebuild 545 BLAKE2B fefd1a201526fc4c55c07af33a3d1de6530fa65f052747d904e82e498a730361db04a533c699db3932c86dc4d4be00c99680317a5e39d7e662c4ea3e44366cfd SHA512 3e9cb859d7e543dce16bd4a034eab57ffe0868e4474e34612f08599bdcfad6af393bc1299c36132433d909c6b1d15779d406cb763fb02c181c5ca49d94303d21
+EBUILD mkdocs-pymdownx-material-extras-2.8.ebuild 548 BLAKE2B 991533c2b05b38fe26afceb7072f55721bb356bd28af7aa0027a2527fa303d92bf4594c1c8d099c9498110cb234059dec58edbfd83489ec87244ff6a783ccbd4 SHA512 3c1b3c9d34b07a72b49cb4f665cb81f06306f2abed213c22864dd92847808053f8b5ed1c7020cc8f20501adfe9f4edb337849203f12d0c1c0442b5174d49505a
MISC metadata.xml 887 BLAKE2B 3c17bee7b29d5da4ee7ba358874968e309b870572f6939688ee01cd0a3e43e7084d9d598b2b63ac0a75163d99a117f91d3c8a18e1e1a8cbaead91d2dbbfe594b SHA512 4c4e4c02ad9a290ef7c436bbc36453b53bcbb1de632a27a24c33d3c1e54385500c22e01ed4a572005169672f40f2229c45298eede8d6195aa03fc7375d4887d3
diff --git a/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.8.ebuild b/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.8.ebuild
new file mode 100644
index 000000000000..446ec3a86409
--- /dev/null
+++ b/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.8.ebuild
@@ -0,0 +1,23 @@
+# 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_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Custom alterations based on Mkdocs-Material"
+HOMEPAGE="
+ https://github.com/facelessuser/mkdocs_pymdownx_material_extras/
+ https://pypi.org/project/mkdocs-pymdownx-material-extras/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/mkdocs-material-8.3.3[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/ml-dtypes/Manifest b/dev-python/ml-dtypes/Manifest
index ec554ee5267d..870fa0c254eb 100644
--- a/dev-python/ml-dtypes/Manifest
+++ b/dev-python/ml-dtypes/Manifest
@@ -1,4 +1,4 @@
DIST eigen-7bf2968fed5f246c0589e1111004cb420fcd7c71.tar.bz2 2239233 BLAKE2B 3a7e81c302cb11ae1d6ef9433a9ec41506c1f37d04cfb8744ac3fcf7dbe9430c1b48d7197ca3b8e1f9354398bac3d0dbc3e0599c0b649acd6175e906befe2973 SHA512 29ee89770726e6e0f5135b7fab24649f3e69223caed90d2daa6f0014783e69fe98f0551de49bd4e393d7b7938f2943caf1ed00f3933fa771ac14fae3c63fd5dd
DIST ml_dtypes-0.5.1.gh.tar.gz 86384 BLAKE2B 1989df40221262784983732067946bc1ac51c44db27e54d30471884508f080403107c811d33940b2de27a1cea5d5928bebdfc96b987c36d71b7f8f81f68c4615 SHA512 d0fab3492ad9f8caeec665c026baca9eca7a15fcb032267ff57d9c9b6eccb852e6659b4f7bd25f64b50974b5a93f5be9ec68ab1746ede286f22d60c13a7d2d4c
-EBUILD ml-dtypes-0.5.1.ebuild 1243 BLAKE2B 70c7bd7549760047a0bf2eab23121e27e857e841da9a2af4e59edb0dc8b629995ab555fc43bdbd036f4bfabe4b3d0a2a9556ebdcbb873f3211e2807e8d3bb0d5 SHA512 12424c21be747460d728ece81ff9f3402ffdfd9509531688baf40bb8651a879fb28c914c9dc20aed32ad5c54d7c682465dd4d98180c284621dbfc3872de70f62
+EBUILD ml-dtypes-0.5.1.ebuild 1243 BLAKE2B 1565d5dd0a24e30954837e8d6f9dfa4cf49597d43c43b378a4a0feb3924304db05dcaa01cb5cfb7d93b915efa00a77b203d3a8e9bdbb6ee60fc3bfee00f5e525 SHA512 5a0fcfa1f3dbe8a51fed848dcf1ad6fd9c3a1b4c0d7c51ab41941affb93aa2d4e1b1568b16caa39e00576dbca5e4919beab608fc1b0575afaebda24251ecf4aa
MISC metadata.xml 477 BLAKE2B 44f6a0ce4d72decaa46b5abb95171407696236128f02db6e1ea92a7b2f11dc45e36ed218174b25dfa3c2b41ec467d39274f9a8f935946db792c454113e37c43a SHA512 c64ae92f013e38b93cabe7848cd39fbbaf6844791fee5cc7e396b7b1cd6f89aefa5705f69a648d3c75302f9226928067ff52d94e5eb078720868a9b9a681c52f
diff --git a/dev-python/ml-dtypes/ml-dtypes-0.5.1.ebuild b/dev-python/ml-dtypes/ml-dtypes-0.5.1.ebuild
index 731d92b860d9..592c1aaf98d7 100644
--- a/dev-python/ml-dtypes/ml-dtypes-0.5.1.ebuild
+++ b/dev-python/ml-dtypes/ml-dtypes-0.5.1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/multidict/Manifest b/dev-python/multidict/Manifest
index 8406558f80b5..453d3e43738a 100644
--- a/dev-python/multidict/Manifest
+++ b/dev-python/multidict/Manifest
@@ -1,3 +1,5 @@
DIST multidict-6.1.0.gh.tar.gz 73800 BLAKE2B 9e3531633b0a35bbb8a97ec2dfe040080fe67efae3b3a16436b0984d6c3a4dc38df1cf5b91bd7b1f750f7a27bd2726667935fa30eefa7b070534fd70f390ee8a SHA512 48e97f442c28c2dfc0b5e19376ae9c8c46b20939ac4f72c07b650450286156dcbe03166f7d238d7a77b438a154022e9d98a38a4c0596aefab7d40fbdda0687dc
+DIST multidict-6.2.0.gh.tar.gz 82115 BLAKE2B 37b509d409278396f52e39d63b671b3b447039f2f98fa6f1b80b1ff4189105ca5a80b9027e8fcfbb95734b3c5531c1fd4a0cbfd778cdfab85ea5c127fb735717 SHA512 211dfe4900d815be1365284e18183f82f34783b777cbca929e2f8468b6748e237825febe9baa7a6d3e2a97476a8c6e061d2d7d2de94c48a2c526809224379656
EBUILD multidict-6.1.0.ebuild 1228 BLAKE2B 462ad43bd9151cbc4d00eba175393b40db3b744ce4557b618d5fffec82075f0437e2ea831b59a4e5901d416a4fcf3d9ed2a74d0ad47a4cdee2b78c0e9a2d0682 SHA512 24b6780b899f2dbe0c8f613b4e010849ed7fcce61911882ad8abf94e97a86b8a44497e1edbfc5c51a9c6c2e5eec1c553dd56a9911323e31d1a6a55e4919f0fd7
+EBUILD multidict-6.2.0.ebuild 1301 BLAKE2B 626de9b910aefd5d2cc51465b2e15c105a9fb3f4f4d89ded586424aace36486da9244682d9b0714133be7daa64d81f3f9c0cb173e2f00e44979b4099424530e8 SHA512 7d81eb11e08cedfa69905e4327bb6f39ef7b9d070261fb02d4a4c1a63265eb697ead8ae27766f5bba2642fe140992edf62c67152d862e71e6595db5f8b77fba8
MISC metadata.xml 620 BLAKE2B 7d4dcf63e1d4fdc3725be371b49bf49fc0241e16572cb83de1b8f8e6dd89b070bc723a4f62d14a723179e6e07140e2abd5411db92ed25703c9d31c34864ff4d3 SHA512 6c6abebeda31e025359b8b46840d7220fb8633cf62596da471ab3b8ce8a2f717d6b8f94dc7878a1ebe2b2efe63579ee28ad7283e37af9dd89b59ae03faa32fd2
diff --git a/dev-python/multidict/multidict-6.2.0.ebuild b/dev-python/multidict/multidict-6.2.0.ebuild
new file mode 100644
index 000000000000..fa7d6c76a3de
--- /dev/null
+++ b/dev-python/multidict/multidict-6.2.0.ebuild
@@ -0,0 +1,61 @@
+# 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_{10..13} pypy3 pypy3_11 )
+
+inherit distutils-r1
+
+DESCRIPTION="multidict implementation"
+HOMEPAGE="
+ https://github.com/aio-libs/multidict/
+ https://pypi.org/project/multidict/
+"
+SRC_URI="
+ https://github.com/aio-libs/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="+native-extensions"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't enable coverage or other pytest settings
+ sed -i -e '/cov/d' pytest.ini || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
+ local -x MULTIDICT_NO_EXTENSIONS=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_multidict_benchmarks.py
+ )
+
+ rm -rf multidict || die
+
+ local cext=--c-extensions
+ if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
+ cext=--no-c-extensions
+ fi
+ epytest "${cext}"
+}
diff --git a/dev-python/nnpy/Manifest b/dev-python/nnpy/Manifest
index 889fc2ff2d3d..2de4323939d4 100644
--- a/dev-python/nnpy/Manifest
+++ b/dev-python/nnpy/Manifest
@@ -1,3 +1,3 @@
DIST nnpy-1.4.2.gh.tar.gz 4830 BLAKE2B 7e1e3d3ade400e96e43504e490f22e5595850d54e80d4591fa0a519a47a492aaf569d9937c4ee05fc9504c4beb5cb2ef8496a65874e64b6162087eade6762906 SHA512 b0908e3b53ac62d8a41ecadd412b2c4bff69773d5eeecc2eb72cad2667c3a14405dc1dfa6f2cdf4f81cf76b9eadbcdca5bdfa1499a2f0c3beddbacbd3e21b7d7
-EBUILD nnpy-1.4.2-r1.ebuild 609 BLAKE2B 17ca8cc766df2e7ed62ae34df3be7ae87de91bdece3b9b8ce5edfa24f06043e31f1a61d69a7bf698baf6405e816fab76c971ab0a575ffb61a01df22fa781fdf5 SHA512 578adcbb04441320cd964111daf65ea3abcc5a6b7536c276317f837f4ef1ab2a89640362c82383d486cdfdd73cbb150ddf9696561d73bcf2d4199bec25b89ab9
+EBUILD nnpy-1.4.2-r1.ebuild 609 BLAKE2B e97b75703b40900806601a88fb131a9b200098bfed79651f2e0df627398e91065cb08913c8d2713c17b8d63ae084394d7cd112cebd9a7b36abf50b0f918cb58f SHA512 b5cd64c8e2d504eee7f68bbe9df9267659785c3844aa5b2e3419c7327b50e45f802c619c22ad9a170158df22ec608744e131c88e1df0d8735ed717bd264a97a2
MISC metadata.xml 369 BLAKE2B c9429ba7287fd4c4e4dd0d51607745568c0f8110f6504b72bb83a0baa12b8c16c95b41a683c48cbf87141973fb1789ab0fa84a1445c4db8f3e87ce54110dc92a SHA512 30b4d591ca1213c6a360f2b6a1732df23540fa93695a06ebdc1fa7b147b7c7b869a167ee76ca66de398fa9a2d4563e3055846652c21f85a922c03af6b9e632cf
diff --git a/dev-python/nnpy/nnpy-1.4.2-r1.ebuild b/dev-python/nnpy/nnpy-1.4.2-r1.ebuild
index d1c01baf037c..c23904b8a2a5 100644
--- a/dev-python/nnpy/nnpy-1.4.2-r1.ebuild
+++ b/dev-python/nnpy/nnpy-1.4.2-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest
index c5d9dbc3a1ab..d46cf68d0a33 100644
--- a/dev-python/numpy/Manifest
+++ b/dev-python/numpy/Manifest
@@ -4,9 +4,11 @@ DIST numpy-2.0.2.tar.gz 18902015 BLAKE2B 63f993e3429bff1dac1ff79fad23a36a2493fd2
DIST numpy-2.1.3.tar.gz 20166090 BLAKE2B 746d343b17039d58738358168a613a2b85d6fb9cad1eeb367b851cd8d46fd42647990b47f0b4fb794ce5c4da2fa0a5d61e3ba42ea2f1945680f36cff31bb7b0d SHA512 59568acda3a77160908a23c354f0574970cb3daeea79ab535762a75a5f3a52a5cedd5754bb507cc238cf5948b37f0045523ed59c04cf6fc4a94ed22b9b77b8c1
DIST numpy-2.2.2.tar.gz 20233295 BLAKE2B 5b95ae4ff511468e55c0367066e9d4b8939fd1da2dd7ce39e5c7cb5897789599ba622c3c7ad53e787903042c1fcfd6225205f0da3d54110410b635e4179f9941 SHA512 f30c400b0a0296ac7990bfe143d4e01e9429e14a09f0525843c6f8e29d2e589289774e4c803fc9de640bf920749dcb3e50663da812b3541f4dc1b7046ab27b40
DIST numpy-2.2.3.tar.gz 20262700 BLAKE2B 9e165ea70a49dfd4f361438575433b4cec9d202282408f1710cb1b16316c34ba59964d9665d782689cf129dc49a314fd2958b37cbd3587121e0530ca6ba658d1 SHA512 78c876d8ecc13aa0f802460f6c1462b53162dfdf85c658e32f1cf9823eeef829b6f1af8285a6c0c75719f5a2e05ff8b987dab88a416df6a8371c16fd032f5e6a
+DIST numpy-2.2.4.tar.gz 20270701 BLAKE2B 608ec0002af890cee76c0d09d1c96ea320c297f8dcb11dc186c1ad7e5b1ab3e8f0023bc14a508ecc97baf74cb388e067824abaf1a6a22e362b34ab4625e07fe8 SHA512 7500cb7a336c2e7762a87d902fecc7153cd991f05a638e1b6740598c044abe3b49d06819b66fa29d99644b3a4efc281fda726795f751ba8c65191f61e7d0d511
EBUILD numpy-1.26.4.ebuild 5160 BLAKE2B 52a7676802baa6c09d2c61445253434394b20cd7c12e7c2d17ceab3f391e15c9e40ee3e1c0e37ee7fc300840910d79f070104aa99169040eb21cec6678ce5ac7 SHA512 daa4452207419e0fa283844a6c7fffb58b508db0be25a09087ea36dd8de476ca0c0b3b2dee16f47738a7e00e17a5efb288b64e558d649da71d3a47dbca7d8443
EBUILD numpy-2.0.2-r1.ebuild 5981 BLAKE2B 5adc5fa3b06c8e00cd79304b874d659ad00effcbff7062531ce4d4a6779b37ad2d7bf5b6eb6d7730d5ab6fa607cf79adac8ea9467a131aaad2ba210bd76d0e11 SHA512 088cd7cd334601dd1f8a0fc3c08d40c4a0ec1a539e00c7d8c99a9f0a6aa24b44f721499af3052ace1bd46d2c62b0d0238b5046a9a769bec9317b6d8e20d347d5
EBUILD numpy-2.1.3.ebuild 6246 BLAKE2B 0d1a013f45e3d444df736b81f3869a174f30752005e97cebfaadd9a8fd5f968d5fb76b107f884d2492114ddd46a3ed28c6329ccaef6100ba0eea8779e4c97fba SHA512 254d3bc757cd6811ba75f84f02258361af6e11f341a3ecb445cb943f39d04caf5ccc1054a44afa69e48fa9174749e2245594fe411bcf196a5b84dca6e61a7459
EBUILD numpy-2.2.2.ebuild 5801 BLAKE2B 1a4468ca65ef26bd303ab4189ba13885465ef9da29284a4bb73bd16bda7fb131139d54cbef7f03838229badbb2ee618dfe63b7871fdf8e4201613af822344f29 SHA512 1b335d129435a337f01ac245c9252b14fe0cd18c44acce5d4ff6aefe69c3b56dadc5d0750a18e776c420e6af4ab23c1db446f1b954d8f776365826e4542eb69e
EBUILD numpy-2.2.3.ebuild 6217 BLAKE2B 931cb7299bcf9983e971d907915a7e2f47a4e709672f9b0990802d1d6a7577365ba38a95814ae50cb420b52b8002d63285301c4d06c6bc4ada34903a382280cf SHA512 408efd60526526f17ef0f10b939f551081e782b3fc570c0ac7a915a624dd840f0f39e4ce135ff07e4d285848a1e1cf0d9a3c317cc64aad2d7194db7a1306e167
+EBUILD numpy-2.2.4.ebuild 6222 BLAKE2B ac9740b2602315fe3e124969d691891e4e521dd09fe8401c12dc5279eb4ac66b606aa7576ab552137a91b09d88ce0488f24782ca126e063fa0b59d3d8cccca50 SHA512 b83f5c3bb5743592273bde79148741ec9911cfd80779c62457597533d8133c45d6426829764bd814f617518784c37422ec54a29592b3c834e084b021fd45d995
MISC metadata.xml 932 BLAKE2B 7a4af31f613bab05ff542da48bf6ff1484d9df2459f559516e71329451dd739d3df0fead507c8033d94ab9ed516b68efe7f21819a8cd6ca303643d8c8bc34e86 SHA512 32cb8c1ab61521a02cbec38f6ea383f074e50d46aa3462ddcb85710f9d348e8e628cf2a5725e3cd921cc32f02885a1b5f02125639f0ec885384eeeff7f468a06
diff --git a/dev-python/numpy/numpy-2.2.4.ebuild b/dev-python/numpy/numpy-2.2.4.ebuild
new file mode 100644
index 000000000000..e69b6f56513f
--- /dev/null
+++ b/dev-python/numpy/numpy-2.2.4.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
+PYTHON_REQ_USE="threads(+)"
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 flag-o-matic fortran-2 pypi
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="
+ https://numpy.org/
+ https://github.com/numpy/numpy/
+ https://pypi.org/project/numpy/
+"
+
+LICENSE="BSD"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# +lapack because the internal fallbacks are pretty slow. Building without blas
+# is barely supported anyway, see bug #914358.
+IUSE="big-endian +lapack"
+
+RDEPEND="
+ lapack? (
+ >=virtual/cblas-3.8
+ >=virtual/lapack-3.8
+ )
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-build/meson-1.1.0
+ >=dev-python/cython-3.0.6[${PYTHON_USEDEP}]
+ lapack? (
+ virtual/pkgconfig
+ )
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ )
+"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # https://bugs.gentoo.org/925367
+ vrndq_f32
+)
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # bug #922457
+ filter-lto
+ # https://github.com/numpy/numpy/issues/25004
+ append-flags -fno-strict-aliasing
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ -Dallow-noblas=$(usex !lapack true false)
+ -Dblas=$(usev lapack cblas)
+ -Dlapack=$(usev lapack lapack)
+ # TODO: cpu-* options
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Very disk-and-memory-hungry
+ numpy/lib/tests/test_io.py::TestSaveTxt::test_large_zip
+ numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_fid
+ numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
+
+ # Precision problems
+ numpy/_core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
+
+ # Runs the whole test suite recursively, that's just crazy
+ numpy/core/tests/test_mem_policy.py::test_new_policy
+
+ numpy/typing/tests/test_typing.py
+ # Uses huge amount of memory
+ numpy/core/tests/test_mem_overlap.py
+ )
+
+ if [[ $(uname -m) == armv8l ]]; then
+ # Degenerate case of arm32 chroot on arm64, bug #774108
+ EPYTEST_DESELECT+=(
+ numpy/_core/tests/test_cpu_features.py::Test_ARM_Features::test_features
+ )
+ fi
+
+ case ${ARCH} in
+ arm)
+ EPYTEST_DESELECT+=(
+ # TODO: warnings
+ numpy/_core/tests/test_umath.py::TestSpecialFloats::test_unary_spurious_fpexception
+
+ # TODO
+ numpy/_core/tests/test_function_base.py::TestLinspace::test_denormal_numbers
+ numpy/f2py/tests/test_kind.py::TestKind::test_real
+ numpy/f2py/tests/test_kind.py::TestKind::test_quad_precisionn
+
+ # require too much memory
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]'
+ )
+ ;;
+ hppa)
+ EPYTEST_DESELECT+=(
+ # https://bugs.gentoo.org/942689
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[int]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[float]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[datetime64]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[timedelta64]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[<f]"
+ "numpy/_core/tests/test_dtype.py::TestPickling::test_pickle_dtype[dt28]"
+ numpy/f2py/tests/test_kind.py::TestKind::test_real
+ numpy/f2py/tests/test_kind.py::TestKind::test_quad_precision
+ numpy/tests/test_ctypeslib.py::TestAsArray::test_reference_cycles
+ numpy/tests/test_ctypeslib.py::TestAsArray::test_segmentation_fault
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_scalar
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_subarray
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_structure
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_structure_aligned
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_union
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_padded_union
+ )
+ ;;
+ ppc|x86)
+ EPYTEST_DESELECT+=(
+ # require too much memory
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]'
+ )
+ ;;
+ esac
+
+ if [[ ${CHOST} == powerpc64le-* ]]; then
+ EPYTEST_DESELECT+=(
+ # long double thingy
+ numpy/_core/tests/test_scalarprint.py::TestRealScalars::test_ppc64_ibm_double_double128
+ )
+ fi
+
+ if use big-endian; then
+ EPYTEST_DESELECT+=(
+ # ppc64 and sparc
+ numpy/linalg/tests/test_linalg.py::TestDet::test_generalized_sq_cases
+ numpy/linalg/tests/test_linalg.py::TestDet::test_sq_cases
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]"
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]"
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]"
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]"
+ )
+ fi
+
+ if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
+ # depends on importing numpy.random from system namespace
+ EPYTEST_DESELECT+=(
+ 'numpy/random/tests/test_extending.py::test_cython'
+ )
+ fi
+
+ if has_version ">=dev-python/setuptools-74[${PYTHON_USEDEP}]"; then
+ # msvccompiler removal
+ EPYTEST_DESELECT+=(
+ numpy/tests/test_public_api.py::test_all_modules_are_expected_2
+ numpy/tests/test_public_api.py::test_api_importable
+ )
+ EPYTEST_IGNORE+=(
+ numpy/distutils/tests/test_mingw32ccompiler.py
+ numpy/distutils/tests/test_system_info.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest -p rerunfailures --reruns=5
+}
+
+python_install_all() {
+ local DOCS=( LICENSE.txt README.md THANKS.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/outputcheck/Manifest b/dev-python/outputcheck/Manifest
index bebbb32eb523..cca09eea429e 100644
--- a/dev-python/outputcheck/Manifest
+++ b/dev-python/outputcheck/Manifest
@@ -1,4 +1,4 @@
AUX outputcheck-0.4.2-Driver.patch 738 BLAKE2B 972452f782966bc0237c4bb134ecb31c4d6126e08fda3630899f51e7028120d8cc0a9a89a33018648369a84e64e335b6520bf4e220c0fcde5257ad90640deb12 SHA512 1d0a3b694261a3ffa3fc51add70c3f6a0888120da1ef5aa4b09c57777b4b9497cdb44c03e294018c3f4c70d35aed7050638bc77101aa3e99fd0367ee03358118
DIST OutputCheck-0.4.2.gh.tar.gz 16436 BLAKE2B 8c1678746b9fc11cf7b554da83a2e5a51c7095931894a543340e905ccff1e7240f1bb8ec12d348af9662ce7e515d70d6e8a93d1e6ab15629545aa5019a7fe648 SHA512 0abd1ca69c4ef683cc455c222979b313ed8b4906725cc534b80906cc4fb9a0acad855d4a6c39aa4777bbdc35309857082197a0cacdc191e4afb8a8a9a4bb2bed
-EBUILD outputcheck-0.4.2-r2.ebuild 1080 BLAKE2B af177a4a04b39124581ff5d3f9ade3265234fc3a38c40f151c612f43c8bdac960e94ef669b5e15da144bf612366b73523318d6e4afc54783daa269d99c6bd122 SHA512 b82c3c65f43b69c8e85de9758dd9eabca1eb4209f3e9a0d53a7025f54fa07472d58ff07ac10929394866e3d5e5416f326b063f87d89de9488043ca7349597b10
+EBUILD outputcheck-0.4.2-r2.ebuild 1080 BLAKE2B a72bcecb0c3fd81ea61d85437504a1c77c75347be3777314a26f76cdb1039d4e3ae6abdc2ad467a66e5d844eee953630b52542ed154e12a63cf648b56ca98b12 SHA512 021da8dcdbcb0913e0c71fb9539d4537d62eead62c3859d9aff1a31b648564d545e77f8447e9c0af9f6d1373084cb0b6b959fe597fab3bb104d12b9e3e5e50ea
MISC metadata.xml 899 BLAKE2B fb3372208ef75e4cda72be765d15426707f4879f5ac55ac79adc6991dfc61d624e33b30f549d83877f02cb6aa9a3f1b64a9aff6eb922e8de5221036808ae14d2 SHA512 265f6dfca1e7b83a72a6b9edb4399e49bd91eb7273bcd3b2d92f32d647963bb05ae2408b011a397d26772b5016c6b40809afb56090c36b449c263a5fa5b3dd05
diff --git a/dev-python/outputcheck/outputcheck-0.4.2-r2.ebuild b/dev-python/outputcheck/outputcheck-0.4.2-r2.ebuild
index 9ba13e596a42..19cf7c6aa62e 100644
--- a/dev-python/outputcheck/outputcheck-0.4.2-r2.ebuild
+++ b/dev-python/outputcheck/outputcheck-0.4.2-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/patatt/Manifest b/dev-python/patatt/Manifest
index 1278fb9974c3..7819da5ef481 100644
--- a/dev-python/patatt/Manifest
+++ b/dev-python/patatt/Manifest
@@ -1,3 +1,3 @@
DIST patatt-0.6.3.tar.gz 34827 BLAKE2B ff9ac8bf9fd6c8b950bac1a97a57e5d413a579e004d690d17d6a1dff107f284e1abc51e649b14ff148c5cbb0816838c66bd3e33313deb2d1d05d18da174bc843 SHA512 c8947f5d2351a06f544e88aa334294f28b6cfb51302009dd6f462579b98f154e7d6e49197b49e2545e93d6b8339bd72408e79a998d934ebde42dda44c4c4cbf8
-EBUILD patatt-0.6.3.ebuild 446 BLAKE2B 34e838ec44c232731e870893b6ee41a047b8325b30d52b3ac7da64ab680c1ba2b5f0ccd0be2d8b987c2e8429476d1124ebcc3afe9a925de91354abf6c55279fb SHA512 f87dfd83a0a27d8817121fb5aad22de0ef892a2832956edc216aada00c93c75e8dff3d058d6585ebcad5596c7f9cbf14381c9553c7cfc7a54926fc8b0c43a384
+EBUILD patatt-0.6.3.ebuild 446 BLAKE2B 05bb87c24ca5c1e5262c67688fd6020a0efb9cb9c2ea4d8daa918d7c78a414bc65fe105e755868e46c77c674f5ef3a9ac5b25aec3828b35e32b61a1ec1cccc7b SHA512 0fdb5904fee502c5971eae09065d011e0e23debc2c0d44e8be70c51649ba415c12db495546d07c5224f072481a6ec51162a26c86bb16c6190decbc03b28e67ef
MISC metadata.xml 426 BLAKE2B 043da2ff915d4f8774e2cbf141794625ab747d00859c0083e04f7f51603e296f2727dc52b7a8e8dd59f418aff58a44fdcc0082aa96810e5f7a53ff8c93fe91e2 SHA512 4d0b54b767233838ad41924c65c8315b1d96f4db9756c2d07b91783014da5850321de85a76ac2d0613363d125f36eb0d45be3543107d8d7f6edd3775010b6ea1
diff --git a/dev-python/patatt/patatt-0.6.3.ebuild b/dev-python/patatt/patatt-0.6.3.ebuild
index dc772ce9ac93..757f529c2f2a 100644
--- a/dev-python/patatt/patatt-0.6.3.ebuild
+++ b/dev-python/patatt/patatt-0.6.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2024 Gentoo Authors
+# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/pecan/Manifest b/dev-python/pecan/Manifest
index 126ac7d4e55f..45978910275e 100644
--- a/dev-python/pecan/Manifest
+++ b/dev-python/pecan/Manifest
@@ -1,3 +1,5 @@
DIST pecan-1.5.1.tar.gz 124161 BLAKE2B 441c4fcc94409aef93324ab8dfb727fc09a3e0f8802ba804d3d5f52237d4f089c3eed23f55a8ad82a9d372d28d622faf8b196b59936e7fc9feb69c4f87883084 SHA512 87fff8657268accda3a53f156338332e3d23df8055cc62d77d9f1641f692c1d7e4013f564b0108541e5df69e1d3d2c8e3df87486e0b4316e437f67d010013fa9
-EBUILD pecan-1.5.1.ebuild 687 BLAKE2B 13a1309f2d3c4665777d9056f2338b7ac67ceef736f58a06c7877d32dec2ad9009dc69872901f991a414065d239c6147158a648ec08462ce1b6f7ca36a2d3b64 SHA512 226f33b22a70b446fbe6858fa85ab36edb6af57db96433987d21869118200d1ea505b5e5fc5d2ef471ec52b9f8981ba6dbcd1370df2d8343ba7e490634830082
+DIST pecan-1.6.0.tar.gz 123756 BLAKE2B 779705fed5c0832feac98469f6e873996332ce2376929ed819dfc228a0b99aaaef09e9b531698f5fed07675d1f13f0cdd9cd8a742977acf83ee3d9c963b3436e SHA512 f10878fb219086cc34109e9c4b1ce201da28c648120affbb890579e2d8f4d18231c5784ede6c465738aa2066fc54fecade41d2d4681ed1b6f376d0912afc60b4
+EBUILD pecan-1.5.1.ebuild 687 BLAKE2B f2d36bd46faa656c428861d0b7307cb795239a81b4fa7288d560af3b269c4fdb26d71c21c5d83f1b6404efe7157d786f8d0a542552d19c366ecd97f6d3617301 SHA512 18fe21a76af0a4fce9e9c54e8e8e70b00d430122bf1bb9a551728b7b263a8b8b8fd2fee3afce8fd84c53feceaaf4c86f12bd53a84b6f07b7c9f093d55e83de45
+EBUILD pecan-1.6.0.ebuild 644 BLAKE2B aff0574379e0dff98bb2f92b0a4356c1501abace3add48c9664638eba9622f9d2effeb86dd0097d0ffb49429d6c884067d0afd6799343a27d73d0e646326a6e6 SHA512 400a670cae13abe2ecebdbcb5373954c1cd10a2b7f398e3deb56d7c28513e7ce8080540a0866a0c1c462713777327970191d8d97e62eca101a9c330473e0b749
MISC metadata.xml 398 BLAKE2B 3633491bdf0a6d7ee60f39bbd1d9213ce9749bf8c54f3afafbd01d6059ac995e8f10a1995d2390188f677d196cbc2c2d4dc58d4365794932ae6b190ed6d41eaf SHA512 f3abccbbf33c1b98b7e1e936979d40103cbbc322a31c10106b270d3fc2c591d053b0bbffb565a5de542d9724ce7e600342760b9451f71d033fc9a1810ebb5642
diff --git a/dev-python/pecan/pecan-1.5.1.ebuild b/dev-python/pecan/pecan-1.5.1.ebuild
index 7a799d1e3fdc..e6dd2ac7bffd 100644
--- a/dev-python/pecan/pecan-1.5.1.ebuild
+++ b/dev-python/pecan/pecan-1.5.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/pecan/pecan-1.6.0.ebuild b/dev-python/pecan/pecan-1.6.0.ebuild
new file mode 100644
index 000000000000..fe75db0e37a9
--- /dev/null
+++ b/dev-python/pecan/pecan-1.6.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A WSGI object-dispatching web framework, lean, fast, with few dependencies"
+HOMEPAGE="
+ https://github.com/pecan/pecan/
+ https://pypi.org/project/pecan/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/webob-1.4[${PYTHON_USEDEP}]
+ >=dev-python/mako-0.4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/webtest-1.3.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pelican-minify/Manifest b/dev-python/pelican-minify/Manifest
index 94886ce817de..d9f282756c77 100644
--- a/dev-python/pelican-minify/Manifest
+++ b/dev-python/pelican-minify/Manifest
@@ -1,4 +1,4 @@
AUX pelican-minify-2.0.0-hatchling.patch 812 BLAKE2B 8d0e222dda8f04fd564dbb432a3d33988e182a0c3fe3f2f82fcb7b6d0e7c877f1a76c8dc45c020dbffafd7ebe00318ad86749fd20c397c0badf96d99356a13f0 SHA512 1b767fe7d76a3066440951bd9b146d5c77d26e74c2b78bb60d4d210afd709af6e34414c90fef86a31263cbacfdf0f9e82ee3f21ba4ac7c9041ff64674bb62ec0
DIST pelican_minify-2.0.0.tar.gz 9566 BLAKE2B 2345f9b053a4b79fbeba9741b4eb64d5d490d455bc25f869e6479ceca951c64d88aa962ef28a04a39c480299882a6c5354c2b4b4c221e64f3281987dda20bd10 SHA512 bcf6cd497fc8c42d9a63b869f04a7bcec6a115ed52698ae9cac5e117d075b16dee904173a577f793f4e74367527d8841d9e6db69e4a2ba70bb79434e4a776c34
-EBUILD pelican-minify-2.0.0.ebuild 674 BLAKE2B 3882b94025ccedae3ec64c75e8caa1bbe7692900589422511ea2c6115779b482e82d4fa2a6ab4f793d1dbb01916323430aea040dac7763ce312608c77e8662e4 SHA512 e12127d732a4b7d28ec675238dcd5949413e7ed37cc54c3d7a3b091771ebfb31c4b6fcb6aa85cac2c565e89fa3c4f4a5f728bb935450607f5f6235ec6e26096b
+EBUILD pelican-minify-2.0.0.ebuild 674 BLAKE2B a2bff547f0cfd91edacd55b375d39734bcf162c7ce6a76a8d696f04ddbdff9561921506f92a5699e8402b1a8416a04f162001dbb84d8818652220ffddcf039f1 SHA512 a1211ecea2657da2553ea0ca9bd91573b57794a24f32dfff8ecf3e94965d8485ff720803f6cef3dd76ca7d5426a017e8dfcf6d8e414a72c30bc177ea87a28360
MISC metadata.xml 519 BLAKE2B ab63cc80f485e260b217f70f7c02ef228656147f304aab80b3ff8471409b817fa7059234228b756fb08cacc46d1e2f811b697c524d0a2a6c297627684ae820b1 SHA512 afe0529e759a3b3f11d31b360020bec447a6fc964d018d0be2ed7632b9b4ae095be370387003e7b7f817a0e4fa7ecc82c320cb3b081fb1de8dbbdfd7428a6779
diff --git a/dev-python/pelican-minify/pelican-minify-2.0.0.ebuild b/dev-python/pelican-minify/pelican-minify-2.0.0.ebuild
index 04ecab5a8dcc..24f2417b65b0 100644
--- a/dev-python/pelican-minify/pelican-minify-2.0.0.ebuild
+++ b/dev-python/pelican-minify/pelican-minify-2.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest
index ce41f21467bf..0417f99a341d 100644
--- a/dev-python/plotly/Manifest
+++ b/dev-python/plotly/Manifest
@@ -1,6 +1,4 @@
AUX plotly-5.23.0-numpy-2.patch 3564 BLAKE2B c45b31eaf9a6621780ef8a85b6aed4190bcb26c950554c2bf9c2e8bcf8c158952dfb917b8625bbd61a2a1837a871e9d8a3ae37b387c9408ceeaa655384b11e98 SHA512 deb96bdf408c58edfdba724708e527653939d353ecdeee1b9a8494eee313dc3a2ac21680349b20738b58744fafbaa2e5ac3dde2b6150ed4a1e61407a9222ea4b
-DIST plotly.py-5.24.0.gh.tar.gz 32084853 BLAKE2B 87371902c0f654a16e0d2b97655614b99e05511a298839b244d3147bd2330b70275d1235f4b75eb3bb1dc13289e4d6dab71ec68710d59f1cec467e05e998c609 SHA512 42071af552f666dcc98efe4995a156212971ca92a6320e18861c6e804ab5cd0641c8b772958d3080780aab48e779fc02a13c327c18b36c5077cd137f59f86aff
DIST plotly.py-5.24.1.gh.tar.gz 32096988 BLAKE2B 79c1f3350bb43780f5f5f2f54955591875c2819a4b819e667e8df14ae72e42cf2939167a3425bd725e80af8823c8578a9cf286f4e4d82881578ca13f7e1cd860 SHA512 dc1484f5b0630bd4d936ab23231be7a577b887701f1f3c33d8f6501dc65718d871bee7af9f467fe130d2e7dcdded22717562352ce4ec70d25bc368faeb51d0e8
-EBUILD plotly-5.24.0.ebuild 3312 BLAKE2B f1af97627771591ddd9cf23dfbb302bc4afa1eb37d389f7850242e411829e1df2bc304fa58507b3cdd1a65b668eb72f547ff02b0c032679793b843319ee01db0 SHA512 8d02865e8505ca4dab0d3316d4a3ca637f68b3ae9fd277bf17bcb650112c5b51958d85199dfd6d56b8805132fe12e05c46877eea7bba0138f76a056af087d229
EBUILD plotly-5.24.1.ebuild 3312 BLAKE2B f1af97627771591ddd9cf23dfbb302bc4afa1eb37d389f7850242e411829e1df2bc304fa58507b3cdd1a65b668eb72f547ff02b0c032679793b843319ee01db0 SHA512 8d02865e8505ca4dab0d3316d4a3ca637f68b3ae9fd277bf17bcb650112c5b51958d85199dfd6d56b8805132fe12e05c46877eea7bba0138f76a056af087d229
MISC metadata.xml 627 BLAKE2B 453adb04f4caba9790fe5223635245c8bca7ca5c6dc1930f09537045580b88b5fa1649e47158b13be6cc5cb09b4479a47690e37ef13208b47a95f82d14793a91 SHA512 a5183e9d217d1312e8d383ccb4ade66b92575492b6c8ed8987e3af18e9e456836b62b2d572ce62f9e01aae47b4a2bcbd12f79b4bb6acabfe69c2b63b20315bd3
diff --git a/dev-python/plotly/plotly-5.24.0.ebuild b/dev-python/plotly/plotly-5.24.0.ebuild
deleted file mode 100644
index 1c80d1f50eae..000000000000
--- a/dev-python/plotly/plotly-5.24.0.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-MY_P=plotly.py-${PV}
-DESCRIPTION="Browser-based graphing library for Python"
-HOMEPAGE="
- https://plotly.com/python/
- https://github.com/plotly/plotly.py/
- https://pypi.org/project/plotly/
-"
-SRC_URI="
- https://github.com/plotly/plotly.py/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/packages/python/plotly"
-# The tests are not included in the PyPI tarball, to use the GitHub tarball
-# we have to skip npm, which means that the resulting install will
-# unfortunately lack the jupyterlab extension.
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/versioneer[${PYTHON_USEDEP}]
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/jupyter[${PYTHON_USEDEP}]
- dev-python/jupyterlab[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/shapely[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- dev-python/scikit-image[${PYTHON_USEDEP}]
- )
-"
-
-# There are sphinx docs but we are missing a bunch of dependencies.
-# distutils_enable_sphinx ../../../doc/apidoc
-distutils_enable_tests pytest
-
-# README ends up a broken symlink
-DOCS=()
-
-python_prepare_all() {
- local PATCHES=(
- # https://github.com/plotly/plotly.py/pull/4622
- "${FILESDIR}/${PN}-5.23.0-numpy-2.patch"
- )
-
- distutils-r1_python_prepare_all
-
- # unbundle versioneer
- rm versioneer.py || die
- # Do not try to fetch stuff with npm
- export SKIP_NPM=1
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # kaleido not packaged
- plotly/tests/test_optional/test_kaleido
-
- # plotly-orca not packaged
- plotly/tests/test_orca
- )
-
- local EPYTEST_DESELECT=(
- # kaleido not packaged
- plotly/tests/test_orca/test_to_image.py::test_bytesio
-
- # fails in non-isolated env
- test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
- test_init/test_lazy_imports.py::test_lazy_imports
-
- # Minor matplotlib incompatibility
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
- plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
-
- # TODO
- plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json
-
- # two subtests that require 'vaex' and 'polars' respectively
- plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_from_vaex_and_polars
- plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_with_hover_data_from_vaex_and_polars
-
- # the usual recursion problem
- plotly/tests/test_optional/test_utils/test_utils.py::test_masked_constants_example
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- mv "${ED}"/{usr/etc,etc} || die
-}
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index 9cc33982ad5c..b598a075a1aa 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -1,7 +1,9 @@
DIST pydantic-2.10.6.tar.gz 761681 BLAKE2B 1ddb057cd40f50d09dc870aae937bc4d5d41529601c26b84bbd5223d75adca43e14e779ef40ef88dbeab3dc66ae960b662a3244ffa38bf8718d6f9d50b966aed SHA512 69c5cdfb9047875497cf2ac0107f0aaa8d1d91a354d514277e913cc13081e1a76f72a154b50339c95240c82d2a262f4b8dcf71c1e5762449bd344054dba449ce
DIST pydantic-2.11.0a2.tar.gz 768863 BLAKE2B 2da69490f8dc711e3835a902789cce9fac9a6eba5d827bd8efa7ea8498a5661dd31a17734408d693d78a0b0588170302c76905228aa05dd771a62f581862971c SHA512 9ad26a85c659b5b5d76c1ff7b9267c641deb91b5f3f4c6f65e1ef4035dc73599e300c03b76770ec958847f89040e38bdad87f4119c585d159e95920805c826b7
DIST pydantic-2.11.0b1.tar.gz 774826 BLAKE2B 047f4075760fa679b8e183c5450c3cd423d17672372b9c306a7e1e3e8fc4ce087c781aa905924659ca6be0cfdba6614ce04028c8715156b6fa297c323d68cef3 SHA512 0eda99f3a296a3dee7db0bd65918a97780fdb19850b6138405fb2ed320fb4efb7d484b2c1a2fa1b3199684c49917f30c6bd7abb60d594d7e760fdcf2eda7f9c7
+DIST pydantic-2.11.0b2.tar.gz 776762 BLAKE2B 6632a96d46b71519527bacffe99e07c0a548b03bfda1980dbab005bf7bc2169b89140ba894eb1fab1216b5ad9155ade13ded32606ed5a781549c59da949db6ea SHA512 8bcdf95a1a90a4b7b7c42e338f16ee3268e2bdf5d7c1c72df6ab81db82a79a273c858103068cfc13a3728b1f3c720faf4118e6ae2a4fd762f12eb7dea36b7d5f
EBUILD pydantic-2.10.6.ebuild 1581 BLAKE2B 22d5bde2779d0f92fcf3237ba1a979ff3ebf7489a4ed784e39bbd0499095f2fa47c45e5b350449854a79bc6a35c68b7fa2b6dbe04d6e56ba791540c974aaf9ff SHA512 fc6b0aa9842ab4597beddaf5dbfad2441305268d35dd52f4559839a60d6e2aec051bb68de5f87bf0de022ce1ac1be0d7290cda7a583cfd9684406cedd1c6217a
EBUILD pydantic-2.11.0_alpha2.ebuild 1646 BLAKE2B 4460194b64390ae442f0546a72fd3bb588697b217c5caadb8d5891e4bd1b33c84479f7fd10df36385535e175ac648eb0f1aaab43f77e297bf14c68a519f74a0a SHA512 b1e3fbf28bdd11adc11c28b698c4c3c30dddb7a810fe36a7ab286cf3822d71623d66867d34d8778c1827465b6dafa4e476b889bfa783e5b7953cf384ddf643c6
EBUILD pydantic-2.11.0_beta1.ebuild 1769 BLAKE2B 102bcd0c69c963b88b99595af9f56fdedcad8466afccdce62d3578287ed68b809866c84439ce5fe6b15e4a75f572d6eb947fd920160352f8ebf72b203cfe2030 SHA512 86481c8e5567fdb17f8df35820ee15b4a0c41d2beba1070f0ce86e5d95e185464dd2077537d8ee6eb9469d85560b14467f65c11c6242395ba73d8b3dcf952925
+EBUILD pydantic-2.11.0_beta2.ebuild 1769 BLAKE2B 79eb17289037ae15b9b8f5fb975c90dc3b0adc1eb7c0cbebd285da8cc1fe3f723b26edc98557eaef8246a77c7e2fdf63eadade36e9493d8ef6b1980b67020a86 SHA512 f7990f3aa8fb841501229505d1d4e07d05e2e025d91c095813fbe8591f84f96055395c5deed279224888f95ee138d5c73e4b31c57eb084bec8cc51f27af931ac
MISC metadata.xml 550 BLAKE2B ca3a62e01a928ac12964e9a8f291073465c66951082b68cb408a8dec48eeab226c1955782fbb6c82d95c495a790b7d5b84b8f69ab7d3b0acfd2883d3ad2d8e5e SHA512 247144ea1634fd80f8ec461fcb2f8e7383b65185426d0df283ec5345d7612abc3ceee7b6d0df7a3ba858ba8483884507fb443b75cd812bab8d0e6a8293cbb855
diff --git a/dev-python/pydantic/pydantic-2.11.0_beta2.ebuild b/dev-python/pydantic/pydantic-2.11.0_beta2.ebuild
new file mode 100644
index 000000000000..acd3751b1886
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.11.0_beta2.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=hatchling
+PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-2.32.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+ >=dev-python/typing-inspection-0.4.0[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ ' 'python3*' pypy3)
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/faker-18.13.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/benchmark/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # -Werror, sigh
+ tests/test_types_typeddict.py::test_readonly_qualifier_warning
+ )
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ # benchmarks
+ tests/benchmarks
+ )
+
+ if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_pickle.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/pygresql/Manifest b/dev-python/pygresql/Manifest
index b8aa8420f368..4fdf46642fec 100644
--- a/dev-python/pygresql/Manifest
+++ b/dev-python/pygresql/Manifest
@@ -1,4 +1,4 @@
AUX pygresql-5.2-CFLAGS.patch 333 BLAKE2B caa18ab6ba4da14437637faf6cea4d27e829c4f547f9c08e33a452b1e5912a24235af823c9ea385bbd1516c0c80a08d3225e373ad64ad4d13873ff4dc5155695 SHA512 ddafaadb4ebfb68af71727f840f36800d3dd78323f8ab0324a16b50498206c8ac33c76a80f24fff7984195ed5ac0fc383bdcacb9ea334f4b47e5046864728cd0
DIST pygresql-6.0.1.tar.gz 271855 BLAKE2B 76d3f18d2bdbe7aa1d4459784fd5f1d3d76feaaeb911f1679c66d1a579cef27a00af619416f03cfcd69804e4f5a997d82765c3e32d9ab371c6011b0915e3e018 SHA512 47b0296596d5d914ccd48e09f352f8da38ed82a0861a148525a675431df51b1261d03e7bbb158947d4d525d82e1790d0a4d4c4d293b29550c50965e2a4e89847
-EBUILD pygresql-6.0.1.ebuild 1384 BLAKE2B 0ab8b98ea255b15d1ff340a2498df914e7e0c9ab8f66e32d2cff8140a8daf3fd3b59f42a97fc22ce6519211dc70425b5bdb2e009157f1ab3232d48472c35d355 SHA512 417fc9e65adca9d8ba5fb4a15222f0ce0922738e7f1c2c81684c64cf77672cd2e2d90b6874325a76acef2f17ad48188e95c875a69410fc69d8479cf1ced7fef9
+EBUILD pygresql-6.0.1.ebuild 1384 BLAKE2B 8adff6ebfbed91412a4598bd095bc9b1c1beb264d13b67b61a2ca3259b683393fe4dac78480585fb5c74f92c97020f8217d2eecd4e2a8d49d1c53a9240e076cd SHA512 78592d35ff96be46f1bcb07a68606d8f0a97811913c23d96f34fedd8e50dcfe2d796c869f29ffd8e975c852aade8a4dfc59b741c218d2bd8a836d94aae0dafe5
MISC metadata.xml 510 BLAKE2B cde75458658f9434322620377e1f5b99c9a0aa484e164ab5dcdbee94e4beebe646ff052783984c95245791bb4006545037768928a6e2664e1bb72df5aea49ae7 SHA512 e5750c6fc17dc5368142847318bf1842a17e2f46ac1ef01aa4658ec1c51705c5f160e75018567f83f41b0b4fd226ef019779f406513cc2d5b9e68bf420b51b81
diff --git a/dev-python/pygresql/pygresql-6.0.1.ebuild b/dev-python/pygresql/pygresql-6.0.1.ebuild
index 53f77388f23e..89062a8dbb98 100644
--- a/dev-python/pygresql/pygresql-6.0.1.ebuild
+++ b/dev-python/pygresql/pygresql-6.0.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
@@ -7,7 +7,7 @@ DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_PN="PyGreSQL"
POSTGRES_COMPAT=( 9.6 {10..16} )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 postgres pypi
diff --git a/dev-python/pylatex/Manifest b/dev-python/pylatex/Manifest
index e109b8993000..2466b797f3ac 100644
--- a/dev-python/pylatex/Manifest
+++ b/dev-python/pylatex/Manifest
@@ -1,3 +1,3 @@
DIST PyLaTeX-1.4.2.gh.tar.gz 307158 BLAKE2B bc20478759fc8315fd7fa2161d1638035c0dad4731c4cb254c78dfc45da2b361b3864d2ec04d6eb8fd7947e9908610eb0104444edff95666abba6a9f6da4cb4b SHA512 dcbe58de0ab715d6fbb571a7ad3981c875eacd08d06244b8715fa240df6f8f072417ae076a5caee204e000bf7eb55097b9ba49eddb5ce666470e494c15aa88ed
-EBUILD pylatex-1.4.2.ebuild 1456 BLAKE2B da6d59276a14de9e8adae593fd5b0de3d82fb2583bf3cf08b118a735b4a61475f2cbcc032077aa2d0a4d196e9b6eb244e7d6e54629ce1a2b934eb7f121a12d78 SHA512 af12d5ba35d823b5648b3af150ce926cb68db2cb06caf55d404d84fce86e5ff8bf4e5c86aa122473360fd0a4d4e16fa6854551f83ad0c569dde5971eeba41995
+EBUILD pylatex-1.4.2.ebuild 1456 BLAKE2B 5a60d5ca4d6db6829d618ab27392f6a0c5f05568529a70502d7213b883a31589171247ad2540671012bc605ace5b3ff625369677dd3efb5192da75dc73c711a9 SHA512 29e60fdd481b64fffed6052d24170e98915157db1d5a6c2725c3406e11b83e507e142bf3cee89b24286820995fc7465e05442b21d2dcb99cb762d1863feb7db5
MISC metadata.xml 772 BLAKE2B 4be85c7cd4f0b794fb5af51784d40961156954320046cb773520f6898430cea11ebf367e84ff593ed8c95b23c741ad32b3e9920f06fcd719e05d153981009ba6 SHA512 54e51c201eb124c8ccfc44dba8c47fe77bde86090219e8f38e1aaba9392598eac991bb134a5f98ea585829f9d6d362f237866898f2ef898d6faaeea05354d9af
diff --git a/dev-python/pylatex/pylatex-1.4.2.ebuild b/dev-python/pylatex/pylatex-1.4.2.ebuild
index ee6078ffc292..f96b2e6a52dd 100644
--- a/dev-python/pylatex/pylatex-1.4.2.ebuild
+++ b/dev-python/pylatex/pylatex-1.4.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 optfeature
diff --git a/dev-python/pypax/Manifest b/dev-python/pypax/Manifest
index ad86ca10d71b..8d1ee0323447 100644
--- a/dev-python/pypax/Manifest
+++ b/dev-python/pypax/Manifest
@@ -1,4 +1,4 @@
DIST elfix-0.9.5.tar.gz 401722 BLAKE2B 184f8944c62412675819ca86f13bcf23039ebcf069df528267f3e4272859e6cc442a1e05a7a121d88987c282d7e2f513d02f28ce41a8e3c0c226b456fa256aa6 SHA512 e15ab664357796f3a63ac54912eb43ae659947088a10ef16aafcbdd713cc3670fb0319cb2b95a2d29092866d322ef69df1d63847dfc0c4ab2cdd49e6eaa4635e
-EBUILD pypax-0.9.5-r2.ebuild 1097 BLAKE2B 83988b2a24c969386d6c6983a0f5b971d6b94e01c9d4c25c13be633bebd2846d835e78ddf92b8d1b7a04220229c7c1384346375c84a3121753f8fcdc0b8d4f70 SHA512 6f6ccd83c38b18a6fec6f96c45949ab0c44c003a735911809606660d03d65db7e2e6f1366540be21eb78fa4e3548acc45723b17b169795ab24be6d4ca343cdc2
-EBUILD pypax-9999.ebuild 1091 BLAKE2B 3b1eaa49aaee4e157ce1e2bf7a2327447beacbefb618468224f5f4d3cbce2d67736f357bff545e6b3bb6f818db6191df4a92836966fa20cc1e9f272b01b47a92 SHA512 70f92977e9d71cbb21b38d5ed0eaa9ad56ddb02e78976e66a93705b5bd75a5560ff6ed577f6700353c333ac09bd4a9439245e5642379bbd2133e27145a27f702
+EBUILD pypax-0.9.5-r2.ebuild 1097 BLAKE2B 3a6b8064d522657f4d4c28ea231086a86c86f40bb4e8f96f90448470b6ac198ea69890a37f5da73e74f8e37b5473d3aeeeba4ede58113742071ad9a621ebd34d SHA512 737299a14aecc6216483e818ee8d5e191dc50a9344e7e143aebf8e806b2f9b82cf653b5e1a2169df70d272a782f7499f8ea14c58a0763be896d56e1c1eebfbd9
+EBUILD pypax-9999.ebuild 1091 BLAKE2B 85c7dc68c02da25805fa039b9d7f7ff8cd21771adc5f7cb58458669403e27d6c05797d5a500273f097677abfb3ac2dc066bb3224dd118aab2067787fa23552da SHA512 95df9f90896cfbea0a5cf93c95ce52491fd719321cdee4861258522a56e81c09a65ee5af6d4d1e524611c5fb3c2af140073ed27a0c2119d39313312e8f5dca78
MISC metadata.xml 612 BLAKE2B 098958af51ca2eda318701a6e321400131ff0c34ae84353d46a42e2271681eeac9a6bede38284a678b1d25aec579dcafca93ce1257f0c24980ff95a7a455ed36 SHA512 0668039cd6310b64d905c8dc5c9b2ed1ea237a049a076e7b62588118a0c772e4f8142e63ce452cac6357f31488fb00cdca02a14e4945bcc4cc7275fdd4fff9c1
diff --git a/dev-python/pypax/pypax-0.9.5-r2.ebuild b/dev-python/pypax/pypax-0.9.5-r2.ebuild
index 6b2a33220c9d..ea653795922f 100644
--- a/dev-python/pypax/pypax-0.9.5-r2.ebuild
+++ b/dev-python/pypax/pypax-0.9.5-r2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# 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..12} )
+PYTHON_COMPAT=( python3_{9..13} )
inherit distutils-r1
diff --git a/dev-python/pypax/pypax-9999.ebuild b/dev-python/pypax/pypax-9999.ebuild
index dc2d50b83db1..1789e3c43709 100644
--- a/dev-python/pypax/pypax-9999.ebuild
+++ b/dev-python/pypax/pypax-9999.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index 921b07596797..14f885fdf936 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -1,6 +1,8 @@
DIST pypdf-5.3.0.gh.tar.gz 8036039 BLAKE2B dfdbcf5112da7e82aaa87753433cd236dbfbac20e5c83194d18da13b878713bb7c8b102f0c62e35f157bb28bc125fdc491a0720fd59d1a0a30c8a13476d24a9d SHA512 c656fb766d6e7d550768150c83b289450e8da8632353aa90ce9f355a99b613dbb6be84f1d0742b53ca093dc747dee6ac56f243a96ad60ad7764b1e66e0cca3bd
DIST pypdf-5.3.1.gh.tar.gz 8045063 BLAKE2B 03af1f1ac8be5ac63899515c21d1821a38b225923825ea0075a689cf299c0b8e73a66e8e8d2c8bd3c45ce1a01777c1fce0c5eaacdb2df1c59fef6b154b3c8714 SHA512 5f9b0efdb51f9d56d9c10f7660718755c0bb731c77337530ebdf47472e837a97d0516b105c657881e424d1cded2fc6b44a5c5415600f4dc562d56faf66551b2b
+DIST pypdf-5.4.0.gh.tar.gz 8046505 BLAKE2B 8816362edd28d0c0dc0ed2abbec56f0adfdf9377fe3770f494cf1dc301a2636a4ca579c86a6fa8ee65532965f347cc2b8c08df074131f7373d1ef6f9ab5125e6 SHA512 530853e2839164c3159c5d6b466ddd95859af2ed5473d7d1c1fbf8350d2860685439565cc50bf093fa4c662a04775660fd3e6e70f5fd134fcb9cdea93c88eac2
DIST pypdf-sample-files-8c405ece5eff12396a34a1fae3276132002e1753.gh.tar.gz 11748093 BLAKE2B c5989200893b28a3c2062bb024a5cfc6f3389dc259ec129857979fa43469e1274559612b4d555499e2c7e16cf34be07825229932bf4d147fa6d7324d043e97d5 SHA512 c9771129b7668a2fd1fa79bb859ae9213f3d60341cf1b9937ff0eaab0de9bf4c35adcb7b896e93329038dc0f3809a0c697c523f8fe41b43030b0b029a88058e3
EBUILD pypdf-5.3.0.ebuild 1211 BLAKE2B 28fe82b939c9462275d62b4fb72e9dcd9611eaf73e38691d000c4336cea6ca9fe7183b9a5bc08f1b15382b77d2a1b7aa007b2931057a447bd4c2417c5378d218 SHA512 46e3b91f8736e3bc0af4624186235e8af505218835c3ad0cfc889b907c2053702752b628eafe54c344330d02cbce0a869e516b55cfedb0a2aff48456a4319ca6
EBUILD pypdf-5.3.1.ebuild 1214 BLAKE2B c8e7cbc7059cbebd15737943975411ce8871c532bbbb69d16f1cd71a278cb4b2ce30f2314e0745fe00f4b9041ba6fad188731c133cab0d5a9de342027225435f SHA512 7462db459a01a49260b03f6df0cd1ad844da222d3513bf132dc0e07a56537a0da747b57ca76bb59339d42e49dd3376481774e13ca6cd5dde806b72a92eaf834f
+EBUILD pypdf-5.4.0.ebuild 1214 BLAKE2B c8e7cbc7059cbebd15737943975411ce8871c532bbbb69d16f1cd71a278cb4b2ce30f2314e0745fe00f4b9041ba6fad188731c133cab0d5a9de342027225435f SHA512 7462db459a01a49260b03f6df0cd1ad844da222d3513bf132dc0e07a56537a0da747b57ca76bb59339d42e49dd3376481774e13ca6cd5dde806b72a92eaf834f
MISC metadata.xml 373 BLAKE2B a829b7048eb3a95caeb1be83b6172603df6a031d40995294f2687bf3c3cb70e66fafb9ba8339d9979fc85f5936b9552963a8fcd072a20661fa78f3aa3c4b89c0 SHA512 775ac2de487f11fba1ea8d283b42b9ef56e42cd95ea11f50a06b099420e69c0567f65c506b14891ac641da90ea05ca70da4f8a3e4a028cf41bdbc823021dccfe
diff --git a/dev-python/pypdf/pypdf-5.4.0.ebuild b/dev-python/pypdf/pypdf-5.4.0.ebuild
new file mode 100644
index 000000000000..a177ecd49219
--- /dev/null
+++ b/dev-python/pypdf/pypdf-5.4.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+SAMPLE_COMMIT=8c405ece5eff12396a34a1fae3276132002e1753
+DESCRIPTION="Python library to work with PDF files"
+HOMEPAGE="
+ https://pypi.org/project/pypdf/
+ https://github.com/py-pdf/pypdf/
+"
+SRC_URI="
+ https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
+ -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ default
+ if use test; then
+ mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
+ fi
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -m "not enable_socket"
+}
diff --git a/dev-python/pyqt6/Manifest b/dev-python/pyqt6/Manifest
index 845a652ff96e..d642c625d536 100644
--- a/dev-python/pyqt6/Manifest
+++ b/dev-python/pyqt6/Manifest
@@ -3,5 +3,5 @@ AUX pyqt6-6.8.1-qt690.patch 2050 BLAKE2B d2c35f0e84435ca5933643fd30eb426605e4805
DIST PyQt6-6.8.0.tar.gz 1061357 BLAKE2B da944a8ec6c5632cb24d56b5a268521cbf3ae17d307ec5aba292bf5f25e33cb2e92fef28c1bcc506c4e5ea60c9e2f714bfd2a95aefe2cc40726b4ec9fccb36cb SHA512 da57be66ede5fe1355ab1fd95e436c139e0d1dffc75f23f3933c20623d62fc9b9fad573d876e90d066588d2dc2f01e83771a0f05fe3b668fbb69a889ddfbcc15
DIST pyqt6-6.8.1.tar.gz 1064723 BLAKE2B 99ac44fe250b6ff7a1762df5d668b69ad424dc1b563147be7ba94ce7f00729c29ce17be4cd7c39b276549199b66d877dec69e9eeb6b394ed42f944f9155825fa SHA512 87727369168fde6e3edc488f96dd13d537f026e207e4b4ab1c95d09bf85859512a117dfc801249e0891425a6b5579830724e4145f370e2ef9909788f56eb4df6
EBUILD pyqt6-6.8.0.ebuild 5966 BLAKE2B 268bb16327be36ed5f8e9f8f01fdb5071845348ac8960d1410180c8025bd2ef176abf9468afab01563c4257011934605196f45cd92b36b55460339a6de06bb4b SHA512 cd5c43cebde064a78bb3c552a116a99666c85a744141a748af62ae6bc07cfd23091ca2d3b7463e7c5f89a38b79bc106347036a7b72daa098482a5a95c7d1ec69
-EBUILD pyqt6-6.8.1.ebuild 6036 BLAKE2B b9163da6e46a9e0c551f9d059f3f85c8664bd1d675248853c1a93c98d439f2aac2ec851cc47258392f8d4148a7ec2d957ac2c385f6a9e003b7554b445985f776 SHA512 f0cd69e6dd96f0b5278d609ee62e436af441ebfb519af3d5a0c3df0a6e498d1c8643e2f39b0e2674791769da9b5c41d51b55000dcfa015ec1cded8985d0db130
+EBUILD pyqt6-6.8.1.ebuild 6041 BLAKE2B 2b158cab4e5e19242e293d64675003b0c131bdf4d87fdcb129321fc1dd0cbf3fe20842fd2cd2f17c9009c40c06a80dba476c7400202ee9197176f924984b0435 SHA512 908018a5a5874c1db55a65bdcb0cb949b32e03c2835380a48f73774dbab81e5301ae5fdf46844b002c439bdd780fcc951eb1df8bcabc324732c89f42e6f4f133
MISC metadata.xml 2539 BLAKE2B 3a9f0274ffd41a0debd982cfe5bf5eb68350521947840c80c1064354cd7d219f30f2b1b56e25855bcc7f415d8d0260c52833f450cc663df6f6226092b7ff456d SHA512 5cb15c64ffbccd347a5ca5211f48587bb491cd51f29cf6bb6173f697b73014e1d0e3975daec488cc82231fe663a262bd8462230d8fbab8a4d330e5829173c360
diff --git a/dev-python/pyqt6/pyqt6-6.8.1.ebuild b/dev-python/pyqt6/pyqt6-6.8.1.ebuild
index dd05b34a7311..3a6ea3e3b905 100644
--- a/dev-python/pyqt6/pyqt6-6.8.1.ebuild
+++ b/dev-python/pyqt6/pyqt6-6.8.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
# defaults match what is provided with qtbase by default (except testlib),
# reduces the need to set flags but does increase build time a fair amount
IUSE="
diff --git a/dev-python/pysimdjson/Manifest b/dev-python/pysimdjson/Manifest
index cfbb0c99cca4..e9aa415dfa04 100644
--- a/dev-python/pysimdjson/Manifest
+++ b/dev-python/pysimdjson/Manifest
@@ -1,4 +1,4 @@
AUX pysimdjson-6.0.2-system-lib.patch 564 BLAKE2B 8d1a4391ce73312552801b34fe1550ac3459dd586da3399b22648f672d2fe284ffaff3bdcda4841ad062bcdcea7698f74050319496cee1e6e65d4d1d07478866 SHA512 348d7b2bb8837b6718cbd103e2f3bc70c049b9f6f9eaac0bb39d44b009e7964f4554c6fa3861bb3f66bd1fbf6a914b1d630b3b5aefae8e4d3b4620df8962aaba
DIST pysimdjson-6.0.2.gh.tar.gz 4493696 BLAKE2B 18f107fa5db762813e90dbf788d54ee24f823e177d2529f5311ef2b35320a45fd698ef6f8863c45ffad96c116ad5240eaf5a6724a3030578f89111cc40f24897 SHA512 ef8856dd137780a4345539b1604af34757b58a4b4d11854e420ad2e855f3e3f251b2ba6296c04d1bf2b71f095ca95fe95e9076e8740e98c7c4404a57df3617ba
-EBUILD pysimdjson-6.0.2.ebuild 1075 BLAKE2B f909b19c119dc699bd293e0cba777369e2e5ed269bad7d682713ede025542f54596ddd37f1cbb9b4a189a17601bbcffb8444c16cf07eb3a55b14ff742ef041e8 SHA512 3a227bf4fb3313efd87e6c5ef175ef7105a4748ef8ec3c4ff453782d0d55ea265f97f9f3025ebcd7d61cef887f1ac8325fa0876412e48b29792676264ccbfa3f
+EBUILD pysimdjson-6.0.2.ebuild 1323 BLAKE2B e527ffbccf837161e8e3508762b9a1991735851a4d7cf4cedb7dc4b9618a189c8339f0280c1c1212aa87a93f7427b37047cd122d97edf37aaf69fa2818f2d83c SHA512 d8be098fb220105ec5ba60ee3de1420e30e764da8b48649fba1397cbb2ecc458ebd3be1f10ab463f49c5329f957104050dc3dc071d56ef0a73623d4bce79b2c9
MISC metadata.xml 481 BLAKE2B 003dcb11f0a4855cd8dd86dad350442af6d410e7e1a9eb73ed986f970f12296c9fb48534c15b838a782eef814c2525e26cebf1de3e8cc31fc985d0d7d266d985 SHA512 4bfb851c32fbe0691f89e9fe18e03a96d54bb165e6853b75cef1c03645d562c8ebd33bf220966fe3e645d807cc68944a7d9732f363eb9e8fc686e9056c33c4d7
diff --git a/dev-python/pysimdjson/pysimdjson-6.0.2.ebuild b/dev-python/pysimdjson/pysimdjson-6.0.2.ebuild
index 96d0ec9517e1..158f0da3f580 100644
--- a/dev-python/pysimdjson/pysimdjson-6.0.2.ebuild
+++ b/dev-python/pysimdjson/pysimdjson-6.0.2.ebuild
@@ -1,11 +1,12 @@
-# Copyright 2020-2024 Gentoo Authors
+# 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_{10..12} )
DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
inherit distutils-r1
DESCRIPTION="Python bindings for simdjson"
@@ -46,6 +47,11 @@ src_prepare() {
rm simdjson/simdjson.cpp || die
echo "#include_next <simdjson.h>" > simdjson/simdjson.h || die
+ # regressions (new simdjson version?)
+ rm jsonexamples/test_parsing/i_number_very_big_negative_int.json || die
+ rm jsonexamples/test_parsing/i_number_too_big_pos_int.json || die
+ rm jsonexamples/test_parsing/i_number_too_big_neg_int.json || die
+
distutils-r1_src_prepare
export BUILD_WITH_CYTHON=1
diff --git a/dev-python/pyspf/Manifest b/dev-python/pyspf/Manifest
index 9e5f642b2323..540d1ebad32a 100644
--- a/dev-python/pyspf/Manifest
+++ b/dev-python/pyspf/Manifest
@@ -1,3 +1,4 @@
+AUX pyspf-2.0.14-py313.patch 722 BLAKE2B a134615e2be650d25edc7248b3500c034ee2f4bfca9e6ddf797c122b93a8200b7dea09244dfa38b70722798eeef6cae472251a390c2355c651b4bdd55089c97f SHA512 fa0bed100ad9586186d17e66fe6c1595da639347127a3f183f2c9d570f1e5c66d923e1a518d52a04f3046473153ad4a520e37927f3467622eb98f7d8e8bbfc97
DIST pyspf-2.0.14.tar.gz 69446 BLAKE2B 95a3bf89ab85aad84dcbbe81ada7f19d23cc689893df1d1317c0e06eb1f6b6d21b1e805d68e7c0c84161d711b9c6067f115d78c8786ce384036f7d0c425269b9 SHA512 ca801a899a80c18cd2c6bb8c125817c29898189805040cce8d29ace7a5aa34b43b9d10545150a1f39abd7bc49cd8da4fe753a04ac9b911e7bb9d77473753eeee
-EBUILD pyspf-2.0.14-r3.ebuild 743 BLAKE2B 6e21e734f464ad5104b785145384f4c417029971381d5269edeb75b9a6b87b3e6b68f16b84550148f3de0026c3935426dfd5d93816a7bfaf62f1609a6871f4c5 SHA512 766cdd11bc0acc545a0b32a0d21ea1973f113da6b20f04b5bb92c91610c6a59e32c15009c5e18f280e0f5328ce96c3f59041d657a6345d395ba28e41b167a3fa
+EBUILD pyspf-2.0.14-r3.ebuild 834 BLAKE2B 1780a465a4ca2ccbf7ac3751e1aa25ce976cac0a9b39802ae0d6f4a9527d7e5f753d22b8933e37a0b368aff255e2e77434894e4c9b132dee3b8a9b167b8d4350 SHA512 ada9cc1958009d0c6fee273f5de7291acd72c22ef9105e68ac8069a87c94773d841cd9096982ad0caff7b0670a771660ddfc7b45fab21986ed5b1599a2d12683
MISC metadata.xml 401 BLAKE2B 01df5b8e875b37e5da6d6d3032a64261b92b5a0c36cd7e44ce6c813fa0c73d5c8b6d0975cae2fcae68d34f66d90c8132362971b5a45b71b7bf06728cfe2eff5a SHA512 291226b8e5260db1af6a968989aeb2c11dcedbd3d228f33d61ac1f94ec5802504578018c6d346eeded732557c3402eae0ccc18247f14bfb3440b8e4572c82605
diff --git a/dev-python/pyspf/files/pyspf-2.0.14-py313.patch b/dev-python/pyspf/files/pyspf-2.0.14-py313.patch
new file mode 100644
index 000000000000..d6f71759fa49
--- /dev/null
+++ b/dev-python/pyspf/files/pyspf-2.0.14-py313.patch
@@ -0,0 +1,23 @@
+From 7c92c9db299a466aad981dd747bbfd2a57db6827 Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson@debian.org>
+Date: Sun, 12 Jan 2025 15:40:39 +0000
+Subject: [PATCH] Fix doctest registration for Python 3.13
+
+`unittest.makeSuite` was deprecated in Python 3.11 and removed in 3.13.
+---
+ test/testspf.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/testspf.py b/test/testspf.py
+index eb8d933..beac450 100644
+--- a/test/testspf.py
++++ b/test/testspf.py
+@@ -225,7 +225,7 @@ def makeSuite(filename):
+ return suite
+
+ def docsuite():
+- suite = unittest.makeSuite(SPFTestCases,'test')
++ suite = unittest.defaultTestLoader.loadTestsFromTestCase(SPFTestCases)
+ try:
+ import authres
+ except:
diff --git a/dev-python/pyspf/pyspf-2.0.14-r3.ebuild b/dev-python/pyspf/pyspf-2.0.14-r3.ebuild
index 1b466cea4b4c..b22628d6fc11 100644
--- a/dev-python/pyspf/pyspf-2.0.14-r3.ebuild
+++ b/dev-python/pyspf/pyspf-2.0.14-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="ipv6(+)"
inherit distutils-r1 pypi
@@ -33,6 +33,11 @@ BDEPEND="
)
"
+PATCHES=(
+ # https://github.com/sdgathman/pyspf/pull/42
+ "${FILESDIR}/${P}-py313.patch"
+)
+
python_test() {
cd test || die
"${EPYTHON}" testspf.py || die "Test fail with ${EPYTHON}"
diff --git a/dev-python/pytest-mpl/Manifest b/dev-python/pytest-mpl/Manifest
index 68778647dbdf..d916b0d0280d 100644
--- a/dev-python/pytest-mpl/Manifest
+++ b/dev-python/pytest-mpl/Manifest
@@ -1,5 +1,3 @@
-DIST pytest-mpl-0.16.1.tar.gz 663585 BLAKE2B aad171260a10417aab15e7e55115c2fe02aa33dcf8336634281e1a1dad4d1c5ff08293fd9a67be025ec6cbb18c42bc9eb7ccb86275c0fcc7f4bf33a035fc0927 SHA512 64c1689f1698f9223082bc5c6817a1d4f9b413cb193894c23b1e0302254a6358cb3e354ac92ec47677acf460a41d05b2b527c834fd0fbbde04c070b0af8f46e1
DIST pytest-mpl-0.17.0.tar.gz 885613 BLAKE2B d1a6d4551052eeeb7ecbf9722c782796aa74215a3241d1c037fca98972777dd35d7616ec8ef2bd4f00b6428f5dea516243244b61f56ec38d72a4805a75c91a50 SHA512 968397b1d75482729ad73f4844970c3c335c009e689f4163bd5a028c84627455a7d20563e62c6940b27c62229e5744496bec36c2440d402c0aee0a7853550f9b
-EBUILD pytest-mpl-0.16.1.ebuild 799 BLAKE2B 0ab2f74467b1c5f73a210908243a91f4c6b9e1ecc988e7e44657f48e087755a9f0bbfed997c18b41dcc9a2c47d94806ed71d2184eb0bdec63eef49aa389a1119 SHA512 961f8e87d1faa58ed70e7af405e607a632b85e38930563789bddad8b6848dfb769af9ac9f91b172ec1629672b51dc5154dcaa62d56883f2bcb18b57cbe3c58a9
-EBUILD pytest-mpl-0.17.0.ebuild 971 BLAKE2B d2f28418b27260512e38b8ffe8429b23567bb4a92631fbb37d3981f39b162a4ddeb4d7af079a9d2ad4379cfe9259edd817999be53196b0288476cb522667da0a SHA512 7b5ae7b9028e19baee752ed1fb4cebe98cc87e84c1ebaef95966f61a0e2b4deeb82e320f35a825a0df7b256f5e2d3bca2c3ee485c360564e3c024cdc5ae1447e
+EBUILD pytest-mpl-0.17.0.ebuild 1132 BLAKE2B 649d4c4dd29b9682ec3e2bcd578f1a7174933df7b5cc512bafd88438dccad5269fd5608b5ef86f93e97b2d17f0bc734e9048cd86f4f29f93d26de60ca0d60ec1 SHA512 b627499cf8aeb3b416119303282094cd45f6ebb5ef6c6d4836cd2842d4a037b7c00cc56b8b058443e1e0cf164dfc99c95ae24a49239265610d970180599eca13
MISC metadata.xml 399 BLAKE2B b2dd8993ce1e55737997ac3e6c0d26edecad7721c319073b8bc12117b1387dd3b6a1049837b5f97d97f5539d1253bf888f00caca6f0bbb46a73292ee6bd08f0f SHA512 5e3c8b4c47771acf6fe345f3e1d1ae59e66a2bd028ff57969cd3a93aef971b7103a7b0d847f1e53af54075603f9868d5c09895f4ea3a1d93009b07449496d317
diff --git a/dev-python/pytest-mpl/pytest-mpl-0.16.1.ebuild b/dev-python/pytest-mpl/pytest-mpl-0.16.1.ebuild
deleted file mode 100644
index b5cf7dfe71a3..000000000000
--- a/dev-python/pytest-mpl/pytest-mpl-0.16.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Facilitate image comparison for Matplotlib figures"
-HOMEPAGE="
- https://pypi.org/project/pytest-mpl/
- https://github.com/matplotlib/pytest-mpl
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/jinja2[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
-"
-
-EPYTEST_DESELECT=(
- tests/subtests/test_subtest.py::test_default
- tests/subtests/test_subtest.py::test_html_images_only
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild b/dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild
index 7e134c37c359..b11e14491d0f 100644
--- a/dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild
+++ b/dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -27,13 +27,21 @@ RDEPEND="
dev-python/pytest[${PYTHON_USEDEP}]
"
-EPYTEST_DESELECT=(
- tests/test_baseline_path.py::test_config
- tests/test_pytest_mpl.py::test_formats
- tests/test_results_always.py::test_config
- tests/test_use_full_test_name.py::test_config
- tests/subtests/test_subtest.py::test_default
- tests/subtests/test_subtest.py::test_html_images_only
-)
-
+EPYTEST_XDIST=1
distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # these tests are pinned to specific output image hashes
+ # and none match nowadays
+ tests/subtests/test_subtest.py
+ tests/test_baseline_path.py::test_config
+ tests/test_pytest_mpl.py::test_formats
+ tests/test_results_always.py::test_config
+ tests/test_use_full_test_name.py::test_config
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_mpl.plugin
+ epytest
+}
diff --git a/dev-python/python-cinderclient/Manifest b/dev-python/python-cinderclient/Manifest
index 15922495530a..3198c39e4d3d 100644
--- a/dev-python/python-cinderclient/Manifest
+++ b/dev-python/python-cinderclient/Manifest
@@ -1,5 +1,6 @@
+AUX python-cinderclient-9.7.0-py313.patch 1118 BLAKE2B c2173b95cf30f123a9646eb7563ee692e7dfc24b8c17dc852ff6d6e412f85e6afb434bb03eab0be922ce6c3b61de08833ed992ec3e32ca5ed06f5b6f8ecadea8 SHA512 f7eb40aed2c8fb8aad262c03effdf0d707e090c5c05ee18209a68f69ca05e68ee5cbbee7b5111adf3815dc7713161968193c19ed4e6ae32b8736f6a3fae6bac0
DIST python-cinderclient-9.6.0.tar.gz 237239 BLAKE2B 34080bcc739db3df9fbf2b45115726df6c435ade39b9d92b8752db06a661db8d6ad92005d1358ae4f0bb313db663bbb1e6e7fc1fde0373941eee39921b22a9b3 SHA512 f2dec3927063c40046c72e090f95f996a16582c09cca8de320fedf80037e4c8dea231c8b48d3fc1ad085b89f43afc413c477e162f231940616f3373d4f86d4ee
DIST python_cinderclient-9.7.0.tar.gz 236901 BLAKE2B 9cf188fd8960a99dfee68ec943b0e4124a78c2a8d9bc990f8bbe98646886e462e3bdd3449772492d07a1d8697423f57ae06d55daba5ce2ac44205407dc554d3b SHA512 b1a0222b7d67cda221086c469f76dc757905ca2b92645389603b0ba28c1a6b5eedd0049dbc09b6da1fc097e4ab7826c11927c88cf7c314757cdde1826cf55d1c
EBUILD python-cinderclient-9.6.0.ebuild 1272 BLAKE2B d4d0969e69b83e3a539ec432e1768fe6f5f4941fead678b43b1635f01b9da7efe011a1bd323683c2fedd424ca88bf82d050fb900bda01c9eb5cd5e6fab37ad2a SHA512 d894f2d437662a8f7674fa3c8c98059af426660666253944d8aaf75d0521c2097fb3d2f5631358c403d5387158e81b30fb1007adc0ca3cbb75c88c9ac689b45c
-EBUILD python-cinderclient-9.7.0.ebuild 1255 BLAKE2B 2eac62128c6aa9ac26ab58f39a9cd45b4decab3b2a5f69fbd7be28b78e816f0b60dff7a86e9603bb9ddd0c4e323bda4ef5a645b42d35640c106f1a3a8f941279 SHA512 ced88c042db4a85a5ce1a5151aaa2dc99830c5af6e7a07a786fc7da5a14686986016e9e55faca9c0a859239edaa4790f8d5ccfdb5e1fa6334daaa846ef887985
+EBUILD python-cinderclient-9.7.0.ebuild 1373 BLAKE2B e3038e066aa179b93745825686c4886a7d4006556665247cf77d18b896b60c30c4e725cc89fc83e3175ed59ff843f27d0b80b536082cbc657a420c6d92191e18 SHA512 d28b8f778051c3b474dd4c49ff028af5fc6415bba6686b0a4e62ad35b7c762e0986d16af3dc84a0794610c7829aaec7bdb9cc7f24056c8e00ddcef7549f8de3d
MISC metadata.xml 727 BLAKE2B 0017cc08edf25f27b8a2816bc3ce1374148a17522bf2c5ea643ad10cde9f5779b1b6bf1e3c91627db76d2f77b8dcbfc87a29fb2cdd8064b3140fb14d1e6e00a1 SHA512 e30e64371f7a5f5fa506396f2edbbc7f862a585c7fe9af4f6fe63e99d4bbe9f9bf3a1f002a62c40ab9d75bd90ab99446bb80bf7f2fedf5b37287eeb54e5dacbe
diff --git a/dev-python/python-cinderclient/files/python-cinderclient-9.7.0-py313.patch b/dev-python/python-cinderclient/files/python-cinderclient-9.7.0-py313.patch
new file mode 100644
index 000000000000..0cfc8df62cd5
--- /dev/null
+++ b/dev-python/python-cinderclient/files/python-cinderclient-9.7.0-py313.patch
@@ -0,0 +1,22 @@
+diff --git a/cinderclient/tests/unit/test_shell.py b/cinderclient/tests/unit/test_shell.py
+index c5d64af..6b67a8e 100644
+--- a/cinderclient/tests/unit/test_shell.py
++++ b/cinderclient/tests/unit/test_shell.py
+@@ -437,12 +437,14 @@
+ expected_help = ("help message (Supported by API versions "
+ "%(start)s - %(end)s)") % {
+ 'start': '3.0', 'end': '3.3'}
+- expected_desc = ("help message\n\n "
+- "This will not show up in help message\n ")
++ self.assertIn('help message',
++ mock_add_parser.call_args_list[0][1]['description'])
++ self.assertIn('This will not show up in help message',
++ mock_add_parser.call_args_list[0][1]['description'])
+ mock_add_parser.assert_any_call(
+ 'fake-action',
+ help=expected_help,
+- description=expected_desc,
++ description=mock.ANY,
+ add_help=False,
+ formatter_class=cinderclient.shell.OpenStackHelpFormatter)
+
diff --git a/dev-python/python-cinderclient/python-cinderclient-9.7.0.ebuild b/dev-python/python-cinderclient/python-cinderclient-9.7.0.ebuild
index e30e56b5a3bc..63ad7127f15b 100644
--- a/dev-python/python-cinderclient/python-cinderclient-9.7.0.ebuild
+++ b/dev-python/python-cinderclient/python-cinderclient-9.7.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -41,6 +41,11 @@ BDEPEND="
distutils_enable_tests unittest
+PATCHES=(
+ # https://review.opendev.org/c/openstack/python-cinderclient/+/930218/1
+ "${FILESDIR}/${P}-py313.patch"
+)
+
python_test() {
# functional tests require cloud instance access
eunittest -b cinderclient/tests/unit
diff --git a/dev-python/python-ironicclient/Manifest b/dev-python/python-ironicclient/Manifest
index d547086bcb62..a8d02e9ad59e 100644
--- a/dev-python/python-ironicclient/Manifest
+++ b/dev-python/python-ironicclient/Manifest
@@ -1,3 +1,4 @@
DIST python-ironicclient-5.10.0.tar.gz 222766 BLAKE2B d1b7d828dbab733d5f414976b72a1ce3d223f5e6889624786e17a0693b07aaea3a7b2c0d723cf978b7f0c385ba4890cb79af5924fcea1506932ab07281181eaa SHA512 937da841ce8466a104eae0468f47793e69fd708aab1dfc4d903da56e387ae01c08ddeaf6affb9993a337e66d4410df6dc9e943c04cac7cba1db712fbc438a9a8
+EBUILD python-ironicclient-5.10.0-r1.ebuild 1494 BLAKE2B 9b7efbefe8a1ea3f2587b6b09472f22cf2598d9ce5c6ecc8ed3af926a42266005cfe1d17a038ba834fbaf768b06afd9da59559458849ee9b466e2caf099f95b5 SHA512 d8f7f75419b8873190a0bf48f653d5d37ca7e52e2a61fe4d43825911bec190c8a631103fb32eeffcdb78aeca23d8ed7e9e97db6c50b3b109fb041e90a57cba63
EBUILD python-ironicclient-5.10.0.ebuild 1491 BLAKE2B 57b9d82fe8e304d84f099d2fbe6dabbe8746887e37e2e77d5d8724297867aa26443b3305f63cdf582e2d925bc430358b97a1074c32482634f047d17b58ba20a8 SHA512 c0ea8e95413f9e9a95142dd12213c141b8c856ea579e79386bdbf084da777be30eb4897c70f4577a87c0380b9ad3a174514733ee44243b8a5be0a6a05f9f716a
MISC metadata.xml 531 BLAKE2B 0dc9961528a2fda61466eace2d8069b75dbb362b32d5adc3f50dd8b6c9daf5bb2690bc145e30d96807cb063c450e98824d783d566c2db96f036cc227f025dbc4 SHA512 99b57932cfbc2fc5e6607b167991964c17376504f07e7d3741900940d512a40a9c5dda73c0f87cc9b3718159d7aced0360831ef9c11ba063d11febda0786f943
diff --git a/dev-python/python-ironicclient/python-ironicclient-5.10.0-r1.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.10.0-r1.ebuild
new file mode 100644
index 000000000000..732c2bdc0960
--- /dev/null
+++ b/dev-python/python-ironicclient/python-ironicclient-5.10.0-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for the Ironic API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-ironicclient/
+ https://github.com/openstack/python-ironicclient/
+ https://pypi.org/project/python-ironicclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.18.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/python-ldap/Manifest b/dev-python/python-ldap/Manifest
index f34331394645..621452bdc53d 100644
--- a/dev-python/python-ldap/Manifest
+++ b/dev-python/python-ldap/Manifest
@@ -1,3 +1,3 @@
DIST python-ldap-3.4.4.gh.tar.gz 378862 BLAKE2B 05a0f9696b888f56ea51f4cdfc21e3c67b10aec8d1d300c1f6b26d23285d81e7a126e0e56e4a8343a5c1f35c919ef340287dc9109d26ed146e1d64a0831b722b SHA512 de87bc6f64540969d1a0ec003f2518c4e8a1899798085371ed017209702fe0c580eea235def8208a5aea42541011b2515c982924f6a75558a84b3f01785254ae
-EBUILD python-ldap-3.4.4.ebuild 1715 BLAKE2B 6571ccf13e22c55cfe1dd9f2316e6ec8afadd0049b294f9b15695078cba379c7f39680e4c3416bd787879888855a475e5c639cea8bf1613aafe46a41542922f2 SHA512 c448ca5634d64eeb9c9082ef4629b6dcb1f85d304204403320a64d2989785b1a949c51781c9a10506467de33a8aa7dc50846e1d97a0e6c4697f07e10db4c4747
+EBUILD python-ldap-3.4.4.ebuild 1715 BLAKE2B a858d8715c5b59289462f405734889805450099de70fcb8469ba92fddb7abfc49383848df9c084872574034274afb0769e7bd3642113581cccf2f42fc36dc634 SHA512 7df84968c9825bc6095a5cca24679dd8b715f2eb9bc4ec29a1b98ab53765a127a0ce8f2796d118e77068412f877495fb73fe8d926d6223746e357f03dab40f93
MISC metadata.xml 449 BLAKE2B 14ffa18ca09eb663d3ef4ff5bd0ebc8511fa408a4e96c93885ba2beaccdf3bb82a9733a01149e088c8b66d6cb938f94fc3940c0c0cca5685599191e772443cb6 SHA512 2f5c014e55f838b84abf6ba630b000620a01e2fca6d1f1bd1b30db309f820df50c2ef7feddc17c69ee0188c3cbc91a388933b4bccfc8d2ea0cb18c6dae85cda6
diff --git a/dev-python/python-ldap/python-ldap-3.4.4.ebuild b/dev-python/python-ldap/python-ldap-3.4.4.ebuild
index d7c9e4a2572a..842d992ab561 100644
--- a/dev-python/python-ldap/python-ldap-3.4.4.ebuild
+++ b/dev-python/python-ldap/python-ldap-3.4.4.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/python-neutronclient/Manifest b/dev-python/python-neutronclient/Manifest
index d7ea0d0e660d..f3326ed46126 100644
--- a/dev-python/python-neutronclient/Manifest
+++ b/dev-python/python-neutronclient/Manifest
@@ -1,3 +1,4 @@
DIST python-neutronclient-11.4.0.tar.gz 211796 BLAKE2B 5e34719a525d9744fe74fd9433b587433d594886f0518462159f8e495eb7fdace7e28c3f2e3a2b8efb4a184e9a367dcf12b7eb94f826eaf800b0aa319d956751 SHA512 6b53551dcfb897b0751797a7380e3b01d2b0b473513db78c06d8b57f1900aa6a8af7f8579db1646dc05b91d35979d743449e7b488bce5d5e2fb28fd6fc9668b5
+EBUILD python-neutronclient-11.4.0-r1.ebuild 2306 BLAKE2B 578f19be1d69c4afac1f4f4469266f107afe23253e037ee290a8868f8f9cf99c8ad888931efcd4556512a97e1473e82fd57db2ebda0681fac3e2912c05e0b3b7 SHA512 fd4c2900f7fe397d7cf3c2f5546155594692af08f9c5389e1186189d3b52683a9fd420379210988f7ccf42b22cf766731f12cd86485f7395ddf504f33678c24a
EBUILD python-neutronclient-11.4.0.ebuild 2303 BLAKE2B 219398b44d8302122d2d5c545e12cdd9260fab4587bb3ccb9afd01ca0ce864142b37fcda585a3e1fa7244a4bd44800c0c0611784685e3e462526b47afaae6818 SHA512 c4ae7fee46bee302aacfbd83377579a94dd391abb0070544726d94ec0cc877a498531e28184b31c6399be06ad94911615de2de9fa6f92cac341ade628b3204b9
MISC metadata.xml 717 BLAKE2B 75f33edaa71a10416b2b714a8cf11293977a15c6f2480b1606836d2dff0a5833e0ae10080acc5da0d665b466b6487f01e9bb911b4099f68c45bd0509eec811ed SHA512 39e07805e8c08291ddee7b569f092bfd2c2b7bad520bb076d724427e939b3e33b0a83007fce2f43a075fb53606bb611bdf2dd56cb5ddf0dcc7a26ad71f086cea
diff --git a/dev-python/python-neutronclient/python-neutronclient-11.4.0-r1.ebuild b/dev-python/python-neutronclient/python-neutronclient-11.4.0-r1.ebuild
new file mode 100644
index 000000000000..6dd60e130b99
--- /dev/null
+++ b/dev-python/python-neutronclient/python-neutronclient-11.4.0-r1.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
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack Quantum API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-neutronclient/
+ https://github.com/openstack/python-neutronclient/
+ https://pypi.org/project/python-neutronclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/os-client-config-1.28.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/bandit[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/oslotest[${PYTHON_USEDEP}]
+ dev-python/python-openstackclient[${PYTHON_USEDEP}]
+ dev-python/python-subunit[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Needs osprofile
+ rm neutronclient/tests/unit/test_http.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b neutronclient.tests.unit
+}
+
+python_install() {
+ distutils-r1_python_install
+ # stupid stupid stupid
+ local SITEDIR="${D}$(python_get_sitedir)" || die
+ cd "${SITEDIR}" || die
+ local egg=( python_neutronclient*.dist-info )
+ [[ -d ${egg[0]} ]] || die "python_quantumclient*.dist-info not found"
+ ln -s "${egg[0]}" "${egg[0]/neutron/quantum}" || die
+ ln -s neutronclient quantumclient || die
+ ln -s neutron quantumclient/quantum || die
+}
diff --git a/dev-python/python-novaclient/Manifest b/dev-python/python-novaclient/Manifest
index 279aef043bf4..a6f13ee7073c 100644
--- a/dev-python/python-novaclient/Manifest
+++ b/dev-python/python-novaclient/Manifest
@@ -1,3 +1,4 @@
DIST python_novaclient-18.9.0.tar.gz 340629 BLAKE2B d98e9a755c27dd83344bc4545fac370b9e6a344ab213c3bd9aeca0c8d3ba94f9b92eb7fb45ebd1aca93fc85e2c35202ac8806c35bda4af0e5629ac026c8cf832 SHA512 bbccde847290faebd7dab7bf7f99c70ac8b24789d867b277b5f91c2a465b8f35a1435103df0915108340af8f881a57aa2b60a7c7be4b3a6fdb9f5e29396b2593
+EBUILD python-novaclient-18.9.0-r1.ebuild 1791 BLAKE2B e0dfe320bc09169578d559661ed20cad7024f74f38b49d598d0ae0b993a0b34e956ad4c543561762011795b7dd9db4dbc549a4c69465863e4485ed96dd448c1e SHA512 75d609c5383c1fb29c3814b4d8d57f84bbd96b9bf8e94c39513f15abbf640e49e87cc7e10bb3595d5b8d9be2a3de5954a3956181c09d50ea45537a5df473fade
EBUILD python-novaclient-18.9.0.ebuild 1788 BLAKE2B dfec89bac15a70a43ddca069117fc15816f2e93c6cd5901f05aea20ad01972d4cfddf1445d86cd3ea3a2805fc246c2b2ccea658651f87604924bb684194fa01e SHA512 1f673cc9567d954d9a7bcc26ec203cc9c23966c32ded09b46839f74359081545388356bad928c61159eaf62eac51433c999496a8cd5d17970565199d69360b23
MISC metadata.xml 893 BLAKE2B 42037d5052de72a81e2aac430fd14d107a0fa723c4288cd7f599bef817975ecc6b1dfc82b754ace2a50e4f9e0f5870cc6a43a3f0722d7647a38322e6cfde7eb8 SHA512 f89bf49eddaa5803ab953abc2dac189252095e529071cbd6412c15885e0a890a8e73a71295d3c3f9ebfb16bfe321316693c104d330037d112d03e04eadbf5a4d
diff --git a/dev-python/python-novaclient/python-novaclient-18.9.0-r1.ebuild b/dev-python/python-novaclient/python-novaclient-18.9.0-r1.ebuild
new file mode 100644
index 000000000000..1ab134169472
--- /dev/null
+++ b/dev-python/python-novaclient/python-novaclient-18.9.0-r1.ebuild
@@ -0,0 +1,60 @@
+# 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_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-novaclient/
+ https://github.com/openstack/python-novaclient/
+ https://pypi.org/project/python-novaclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.5.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ >dev-python/requests-2.12.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/bandit[${PYTHON_USEDEP}]
+ dev-python/ddt[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/python-keystoneclient[${PYTHON_USEDEP}]
+ dev-python/python-cinderclient[${PYTHON_USEDEP}]
+ dev-python/python-neutronclient[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/openstacksdk[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ dev-python/tempest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ sed -e 's/test_osprofiler/_&/' -i novaclient/tests/unit/test_shell.py || die
+ sed -e 's/novaclient\.tests\.unit\.//' -i novaclient/tests/unit/test_api_versions.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b novaclient/tests/unit
+}
diff --git a/dev-python/python-openstackclient/Manifest b/dev-python/python-openstackclient/Manifest
index 114f3b695f5c..ae6fd9737f66 100644
--- a/dev-python/python-openstackclient/Manifest
+++ b/dev-python/python-openstackclient/Manifest
@@ -1,3 +1,4 @@
DIST python_openstackclient-7.4.0.tar.gz 952845 BLAKE2B e8d736bcb520386913e9ce342bb2d27c34d379e3c182ea794bb44d4589971cbe1970c3ea0768508e8a338039a534558eac25cec458b8016004f61d4af6e2ddf6 SHA512 50382e4bc763448e1cfabd691cd758b85b1d35ea1cf21850a8476e2b44d7b4838130d2d083c0e2ff0594665e20825ac08408d97ffbaeac27bb968bd11384dba9
+EBUILD python-openstackclient-7.4.0-r1.ebuild 1726 BLAKE2B c8912ac141f068c5de1b304d49c13d58c33cecc698a6d4edd9c7549ba596fa23845739f5f2727c9ec4e32b6c443c8f6895dce4ad341a8633ee0d3d3775d758c9 SHA512 67cead756bb6a0fea27f33bcf27a771603be81c83513707633883b063249538347cbe38d6ce1439e54d9a51623c830f895e5cd94b2cccd09338e1e21ed586347
EBUILD python-openstackclient-7.4.0.ebuild 1723 BLAKE2B b4553b2c60cad63c0305a17b9508b527e4cd3bd04cc909fc03e6610e7198e023ea4b825a679abe2f09afd806d72ecf7c140452039667a2cd03a749016ddffb92 SHA512 bbc53bccc044492d47157e02122d98c90906ce959d8a459075e049ea18f3cc0712fbbb3cc19e9eb5fa8724ce482d3773e946b7afa00e2aa09963f2b507ab9003
MISC metadata.xml 562 BLAKE2B e4f7a3fccc9c2c798962efb6dda973ad71c19e5db8efd57869b6a8cd565784d5f4a6c581bf11a28eed826bb8c3451b5938e43974b91291609d177050fc654603 SHA512 3fdb3a9300dcaa310ec02266127a998ac4587fa9fde5e381342a5c18d0435442dfdafd0b326730e1cee26f72b43fccb6a15df7d5d1fd8f5a9bb3783983b0dcca
diff --git a/dev-python/python-openstackclient/python-openstackclient-7.4.0-r1.ebuild b/dev-python/python-openstackclient/python-openstackclient-7.4.0-r1.ebuild
new file mode 100644
index 000000000000..f414f59a1301
--- /dev/null
+++ b/dev-python/python-openstackclient/python-openstackclient-7.4.0-r1.ebuild
@@ -0,0 +1,60 @@
+# 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_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack APIs"
+HOMEPAGE="
+ https://opendev.org/openstack/python-openstackclient/
+ https://github.com/openstack/python-openstackclient/
+ https://pypi.org/project/python-openstackclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-3.5.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.27.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Depends on a specific runner
+ sed -e 's/test_command_has_logger/_&/' \
+ -i openstackclient/tests/unit/common/test_command.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstackclient/tests/unit
+}
diff --git a/dev-python/ropemode/Manifest b/dev-python/ropemode/Manifest
index 47efb2272352..b00cd202c948 100644
--- a/dev-python/ropemode/Manifest
+++ b/dev-python/ropemode/Manifest
@@ -1,3 +1,3 @@
DIST ropemode-0.6.1.gh.tar.gz 17062 BLAKE2B fb7dd0d4b4874bcf8ccad5b9b759a46b17cb8a0c6e473b4402db3df0ad8e1cd0f1d42b07822d0bcd4113e8590bb49a7acc735d1bb923b1525e4aa8864a18e10f SHA512 c56a9306ab60a16a18186c28221d297ca1bb350ad64dc02d679e61f575fb88835c091a9fb02754f54cc7af8d0f311313a3435dd7018c912f43417fdfd78035f9
-EBUILD ropemode-0.6.1.ebuild 589 BLAKE2B e6dd970fc07a85c4c28378dea87eb7abcf75b7ad8087545c9ffb16005dfc0e28d86d5f4dbaede362903f2d904eb54343dff25205b188d1feecff2a98c6c457e1 SHA512 ca0bcc7911152f42096976ab016d9d42594bde4852b88ae3f5008f0c251d4b4f6d923571b351ede17b6069c88a19a6296eb495b3fe73156e1c74c2f3df3db666
+EBUILD ropemode-0.6.1.ebuild 589 BLAKE2B ee24c9ad5f4c488a9b8f2d013e1569ddede50e142d43cdf95c1846baf02728d10c500c99532c196e1be2bb1589884ab374a49d9efabc4237c625dd4cb90e90dd SHA512 cce0530ebba7fc6a59bee6740e46484b6de820410f4f4361bc644515a07531397914092ca051bbd5e3046e21449a5255f4f8ca7de0c347620866a5bad5f08cac
MISC metadata.xml 396 BLAKE2B ad072854ad81b01511677e6f49fbc97753029799e9dbece75a1377c93d2a3bc45d50440f96915209abdde0045c10bac45ca36fa61971b3c86840c6a01a2f7238 SHA512 35c5e003d08e7cdf5278a5ace85da647c853021f765b8bde082a5fb6d48a4ec8097d8ca9d9f6c944ca94f3c5aed446c601573250319d26f452506e5a3d15ee67
diff --git a/dev-python/ropemode/ropemode-0.6.1.ebuild b/dev-python/ropemode/ropemode-0.6.1.ebuild
index 4c050d4f2716..17cd461ae148 100644
--- a/dev-python/ropemode/ropemode-0.6.1.ebuild
+++ b/dev-python/ropemode/ropemode-0.6.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/rtslib-fb/Manifest b/dev-python/rtslib-fb/Manifest
index 1beaa13d5e82..3c6d059fa013 100644
--- a/dev-python/rtslib-fb/Manifest
+++ b/dev-python/rtslib-fb/Manifest
@@ -2,5 +2,5 @@ AUX target.service 330 BLAKE2B 81d01885925feeef2a1fe9214b520d0d4035b971fea22f4ef
DIST rtslib-fb-2.1.76.tar.gz 78055 BLAKE2B df22093072a7e7b12a080db8253eff9e6aff1efb44a8bdb6c37a21601fd10beea03b665d1e1621904a9a0c1d1299e7f9e5f61682669f75a06f4e050c503da9a7 SHA512 fee3087702e44ede59b9635d7cbe7af06da104d6aeffc3fbb584ce6e8170b7856650a006ee574940448801a67e9f7d9610ccb9ad632dd6d0c378fe7c6cd1c159
DIST rtslib_fb-2.2.2.tar.gz 45508 BLAKE2B e233bd7b346e7da98d8d6237f1cfc976a4963a13802c06175612c9c5497b20fb708228561b8a7a03dfd31e24359c1c339bae9c09228d2c3df5f1a5d9fbad6b08 SHA512 e64b0cc32520c19747c4e752a33aef9e27557f34a695d321b699bfd12feaba9749b32b5e292c96258bf0e6bf87fc4bb56287257691a7dccd786d12c9bec72964
EBUILD rtslib-fb-2.1.76.ebuild 851 BLAKE2B db06637960f21b60ceac6742e4e6da819322b44440d0769bf3b40ba32d63c23181a855d435845fb4fa721079b0d96c9aedebb17715fe1f4fbfbbbe69f2e51c2e SHA512 7352cc17e554344da059dec07c4a96fede54ff34c6a4075b78c092d003a06d9b35b0b3b552dbca67af5b0f7f49d05a3853ddcd299a927c30ed9eeae245aa522b
-EBUILD rtslib-fb-2.2.2.ebuild 722 BLAKE2B b62705703192ff050a89b8d7746e4cdd9302ecc4e11d740d0f74f2a8627baa917e976e0c857c8bbaf163bddd6cbba81f75954fbc09d90a6def321bb8922da5b5 SHA512 b5d835aa3b4d8699c595a98a436d2e812aa678c8283e0cd432e9504f7c50fee178ca53bb08d818d8cbea43e59ed7fe88673286e9e63b23dbe89bb5a14fa5b1d6
+EBUILD rtslib-fb-2.2.2.ebuild 722 BLAKE2B 0f806c2a6b21dfd6915a9f7fd8f2f11982970bcd8fab8c311da6fd95354d7d5f6735c601c7e9aa82fb04f0a59553332d73c5a341fa38df937eb25e11b378ee3c SHA512 daf468fcf65bb78bc0f5b5a82b0ec68a9a814c240cfc38e3e8f50cc0b3eaf904bfa393e5d07b8fce0f152aec4783d0c911576a38f33e2a4fae86500d6411ac20
MISC metadata.xml 736 BLAKE2B 64b99b472db20ec267f4aa40915fe347e1e74d18ff8914707714cf73cadf7999bb81521b4a801b17bfd4bb4463c63419792e1b9c869deed9181de540a9c8e30b SHA512 fdec71348b4f944de9f009571f8097a1758ef0a6072571b3fac21b6dea7330626a06cc9e72447a8efe0425bbf7a24d08fe10b193653cffef9195c1acdc997a42
diff --git a/dev-python/rtslib-fb/rtslib-fb-2.2.2.ebuild b/dev-python/rtslib-fb/rtslib-fb-2.2.2.ebuild
index ac12f02e6d77..8b6ab6e6f2e6 100644
--- a/dev-python/rtslib-fb/rtslib-fb-2.2.2.ebuild
+++ b/dev-python/rtslib-fb/rtslib-fb-2.2.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 systemd pypi
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index 6b44aa5b6f89..787a31c6a8b5 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -2,6 +2,8 @@ AUX setuptools-62.4.0-py-compile.patch 3704 BLAKE2B 9a5e70d2556b059be0ef060abd1d
AUX setuptools-75.6.0-disable-trove-classifiers.patch 1383 BLAKE2B fa3bc1822badca21e102ea4f360ba4975906aced16a274622f69cfbb3a720d67cbbdb8f4d7a15e4545f3b96528f2e284e85116139ba0788c80ab6eb5cd4d3414 SHA512 9011ef7551479d9512f880a91c27ee1327fca2d19eb5e97bcbadbdf243f8de2cffd6351d4a03f5ee5a6b2442953b544d70e1c30106618582758290568d3af6e7
DIST setuptools-75.8.2.tar.gz 1344083 BLAKE2B 7d4dff2c0948bb411ef5f70e5f5f91bc0e230b155a97419d263f88e54a94390fd7dcadad14105f4d886a25024bf4c95e776ae7b25e4b1d6f17e45e6060b99da2 SHA512 adf7f5d2eab7621b03c86e3f96857b176631108dc8a0eba2b16b87e394bff0b607998bc24cc074cd3f7b0ed6dbe0bd753cce5af2f108fce2473fb50b22f32913
DIST setuptools-76.0.0.tar.gz 1349387 BLAKE2B 4293d1b0719c70c17bde8b6091f394420a300175b787f0a1aa5a42cc81b4dfad186f1d0927b32124f37f78a730a049e16cfd87dbc71fa1ed5c1bb632634ece84 SHA512 8272f0f2823d8f093d24eeb12270f978dab52d1a609c08275248024decf2b47bc5b1ce352f22ea198bd93eb3375c829757e573921721e05f5269651669df9b2e
+DIST setuptools-76.1.0.tar.gz 1350273 BLAKE2B ba4a2b83b793394fdddaa1ce817b8ea65db395d9f5ef5b2293f54b56d88570bc5db307d609c1f1531d720ece5333808a38fc1788832b2d5783ffd2b498a2b7ee SHA512 3e937bbf68c313ac8fe7dedbd3f644598dca623d564a943edc53fddf6726c3d8dd1f6efcd5bc9350ee1c98e0d8005c9854eefc162baefb1aaabd7d8cff9893d9
EBUILD setuptools-75.8.2.ebuild 4833 BLAKE2B d19b3bb071735c23e3c777535016e85f5d2ac1e494868dcd1f532aad9ca260372f64d203bb020abb8dd35edfa0fbcfe82479ecb477e338a9061de2eb415eaff9 SHA512 56d6b27ab4fb2eb1b663ab456826add2dbb7be282dc623a7a6db5463c44fc64677d7083aee423666a2b77cf39e7c8c3aa255310b62e55949a35774a62150a0c6
EBUILD setuptools-76.0.0.ebuild 4841 BLAKE2B 17795c39b5f7c103f82abd9e76e4f8bc87d8105af29827378a18cdbf8a42c1b1fe616100701e3cad2ee8f27ec9d523a2bd188fda4fc57615e696357b0ffd959d SHA512 df2fa10ce348c963ae8cc9f392469c09d5d73dc2b5b44523390b2182e13266607aeabafd533a430a2f80a30f669c31e0418abe88d6a09bea5d6d180bab4f6e96
+EBUILD setuptools-76.1.0.ebuild 4841 BLAKE2B 17795c39b5f7c103f82abd9e76e4f8bc87d8105af29827378a18cdbf8a42c1b1fe616100701e3cad2ee8f27ec9d523a2bd188fda4fc57615e696357b0ffd959d SHA512 df2fa10ce348c963ae8cc9f392469c09d5d73dc2b5b44523390b2182e13266607aeabafd533a430a2f80a30f669c31e0418abe88d6a09bea5d6d180bab4f6e96
MISC metadata.xml 469 BLAKE2B 4a26769b09a3785586b22db850b7fc5c4818f31c3ace9cc94476d35df05e50edf6721f3c95ec615c3b2efe071ef284a54ea2d53566316ba653f7830bb48f80bf SHA512 dd682c4ad2e59a97094ebdabe4d1063e2319ed05e1fe9d8c2fafe069badb3b4cf8bb6d9f50e09d2128e2a081c1c69827407ac8aed644ebf70eb4ca1bc9a57319
diff --git a/dev-python/setuptools/setuptools-76.1.0.ebuild b/dev-python/setuptools/setuptools-76.1.0.ebuild
new file mode 100644
index 000000000000..dac8b7007e55
--- /dev/null
+++ b/dev-python/setuptools/setuptools-76.1.0.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{10..13} pypy3 pypy3_11 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13t )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !<dev-python/setuptools-rust-1.8.0
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-4[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+ !<=dev-libs/gobject-introspection-1.76.1-r0
+ !=dev-libs/gobject-introspection-1.78.1-r0
+ !=dev-libs/gobject-introspection-1.80.1-r1
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.7.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-subprocess[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+# setuptools-scm is here because installing plugins apparently breaks stuff at
+# runtime, so let's pull it early. See bug #663324.
+#
+# trove-classifiers are optionally used in validation, if they are
+# installed. Since we really oughtn't block them, let's always enforce
+# the newest version for the time being to avoid errors.
+# https://github.com/pypa/setuptools/issues/4459
+PDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}/setuptools-62.4.0-py-compile.patch"
+ # https://github.com/abravalheri/validate-pyproject/pull/221
+ "${FILESDIR}/setuptools-75.6.0-disable-trove-classifiers.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # breaks tests
+ sed -i -e '/--import-mode/d' pytest.ini || die
+
+ # remove bundled dependencies
+ rm -r */_vendor || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ setuptools/tests/test_build_meta.py::test_legacy_editable_install
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_editable_install.py
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # TODO, probably some random package
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
+ # broken by unbundling
+ setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata
+ # fails on normalized metadata, perhaps different dep version?
+ setuptools/tests/test_build_meta.py::TestBuildMetaBackend::test_build_with_pyproject_config
+ # TODO
+ setuptools/tests/test_sdist.py::test_sanity_check_setuptools_own_sdist
+ # relies on -Werror
+ setuptools/_static.py::setuptools._static.Dict
+ setuptools/_static.py::setuptools._static.List
+ )
+
+ local EPYTEST_XDIST=1
+ local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH}
+ epytest -o tmp_path_retention_policy=all \
+ -m "not uses_network" setuptools
+}
diff --git a/dev-python/snaketrace/Manifest b/dev-python/snaketrace/Manifest
index d5a2f8ee9e34..fe358608101a 100644
--- a/dev-python/snaketrace/Manifest
+++ b/dev-python/snaketrace/Manifest
@@ -1,3 +1,3 @@
DIST snaketrace-0.3.1.gh.tar.gz 6885 BLAKE2B 19201532a3189e981c88343c67920c9275e41c23cd42ac416d6deda037de6dcdee0346a3ea487cd32311aa97596803b907266a3c1d643bdb679206e64d45b078 SHA512 9efb16309e638b9472a6b7fd8415ca5c40b3b498ba0676767ffea4bcd07cfdba23345b5cd53a0b9d88f7d81f454035f126cdcbf2a51f9a04e1e7aa6e833a20fc
-EBUILD snaketrace-0.3.1-r1.ebuild 523 BLAKE2B 2c97afdf2f35c6cfc6d9445f08831f948253ce9cbcb125a95c99e6bbc84cf2e542523894b5df6ed91fb8fed5b9f20c8eacb12347f76d23a46418765eec28d74c SHA512 79ed0fb0affa4acf0892994d0fce28fbda8eabc12342363b6fc5a353c7397fee3448f472d07609d5f33fd227d7c0007456c9daae5fba81431a3d695a2fc462e1
+EBUILD snaketrace-0.3.1-r1.ebuild 523 BLAKE2B ba9cb36f08706e6fba136c8e23d872084e97167325bcd8154576ca6e00344817b0e581ad6f143cf5e1a03232a4b0adfe33b8c97b910664a46683b6686576b1aa SHA512 cda76a4a55f069b24f4fb49eff7adb54bdd13ef02ccb0e1ce53b6c9fe4755a880dff2bab10ebc5eaa2533962ab26786209bf9849f1022ea42b67f2a7adb4f83e
MISC metadata.xml 380 BLAKE2B 979151e92ffdc3888f795527d3bb19a3bfbc988a3060f14154dccfd644e6818b1bcf1b620a01ff0bf3cedbd0c370dc91d8c938d338498ffdfcab074284f7b725 SHA512 30a934b067afde23e8ade56387b43e9cebfa6db6dfbc4cbcc33d249879eaba4bf4cac209c70fba6e2406d0b961031dfb6ff173a6dbfb315e7f02dd0f4eaa6453
diff --git a/dev-python/snaketrace/snaketrace-0.3.1-r1.ebuild b/dev-python/snaketrace/snaketrace-0.3.1-r1.ebuild
index 3cec1d2000d3..3f0eeaefe749 100644
--- a/dev-python/snaketrace/snaketrace-0.3.1-r1.ebuild
+++ b/dev-python/snaketrace/snaketrace-0.3.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2023 Gentoo Authors
+# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/sphinx-lv2-theme/Manifest b/dev-python/sphinx-lv2-theme/Manifest
index a14b78439c83..abc3bfacbba7 100644
--- a/dev-python/sphinx-lv2-theme/Manifest
+++ b/dev-python/sphinx-lv2-theme/Manifest
@@ -1,3 +1,3 @@
DIST sphinx_lv2_theme-1.4.2.tar.gz 14331 BLAKE2B 3d0e40af9a48c0595b1b99b87ca6fc35a557d0f7543609ab71deb277563c9c460ac6310179f0384510143fa4056bce1c1338e481f812393ffa82e063c14bc067 SHA512 51c9cca9cd28878496706a4716ec722b695257392ab09adfbfe70e3dadeb72c7620cdbb56562411e8b99d3af942cec63a346781512ead188c6b2d6eae3623336
-EBUILD sphinx-lv2-theme-1.4.2.ebuild 489 BLAKE2B 0667a02486166e7813079261b1ebac88a28cd076b2e674170c53e2f9dd0ec7e699039934130e78cea9dcc48c55d9354bb6eb3477c53a6a1fd58ec82f942b2c59 SHA512 09db7ad4d3e8be5808fc9c278322b6e769e7b4f8ec0d034b65cf09b626e4b39f721a8bbbef2e9b92b89127ced953c88605619a25d7840b63357fdff1fb630c35
+EBUILD sphinx-lv2-theme-1.4.2.ebuild 489 BLAKE2B f5b529e74c2900ca1ffded3ba4902ece9226c9cd9a03a94d587b5f50591378da36e08fe11fe91934b4801f44da84bed076b22f455c3862820c1a0d571d5e932e SHA512 c32c0508eb71b0e8dfc511bc8eae0679232dde562dba475535e9a5b2a5f03a3a87fae63c36dad7e2c68cf3040c0637f87c233c7a17e7b7fa5a5696872d113343
MISC metadata.xml 429 BLAKE2B b4e7eb03faabacbb5a7b41f1b0b04ae1580f7a00959b0d0e575577cf0b93f1551773c492826c7635c6cfd18af0e608a23e7fceedb76ef99920c1f09fcd51ee17 SHA512 ac2b159c1a66cf08d5d4990150b0e930b40bfe8ab7f016e3b7d0d479110c0b8c402f33b46175dc31b56e6136a26fc84223e82fe5bdd87cf3de1a6b175254c62a
diff --git a/dev-python/sphinx-lv2-theme/sphinx-lv2-theme-1.4.2.ebuild b/dev-python/sphinx-lv2-theme/sphinx-lv2-theme-1.4.2.ebuild
index 798012dfe357..face2719bde6 100644
--- a/dev-python/sphinx-lv2-theme/sphinx-lv2-theme-1.4.2.ebuild
+++ b/dev-python/sphinx-lv2-theme/sphinx-lv2-theme-1.4.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/sphinxemoji/Manifest b/dev-python/sphinxemoji/Manifest
index 851f56606918..cfd862102b06 100644
--- a/dev-python/sphinxemoji/Manifest
+++ b/dev-python/sphinxemoji/Manifest
@@ -1,3 +1,3 @@
DIST emojicodes-0.3.1.gh.tar.gz 47298 BLAKE2B 95dc98f737d66005e101955d9da8e4a1509fbf780316a9be8050f086c4d951144de6fa016fbf7215b48e1f4f0155c11001ccc689f4537cf93bda9d4c61d3340a SHA512 1253845bd6a9ffc53a9a649a795b29fab8980f2020e86802479f886b819e8b345f94e6c1fc5f4597c5096cd3fb8bdf31389c7ba02839d7fc145d43ce914e235e
-EBUILD sphinxemoji-0.3.1.ebuild 763 BLAKE2B 86568e5f19a7626867c4eef882f9f01df7c0ed648cc47051dc5dcd2c0459a08bc69b24cab84b458d36b1b3ab4145101bd7470829c96e03216bd05f0432ff7b5c SHA512 0691bb5c4d7bf94d5adba8094c82721f3f7cf010cd80d12753d5193d677ec4d0867a9e1a96e3a2c55f5f9e0688738e3f76089be51215bb0b43b2c51b3e461f59
+EBUILD sphinxemoji-0.3.1.ebuild 763 BLAKE2B 763c7232a6998643d807358b6ae93f6ef652975d62553a33fcee0246d5cbb6dc23c38862831a5c631fd757b9e4c9ff049f8a3b047c42115778d18b7be4fcc54b SHA512 8ee09af898ed4c87af66944a67b3bff68d8cb24e6d4724935735d19354b8fcc94fe7755ea439dd0f80d5f3c39515ec2ef17fbd6c4d5112f472f70ca701a8e2f2
MISC metadata.xml 404 BLAKE2B 5a14c2f756212767626a1787201b21b8a89a6c555baa9b7edfd22a9b5638c0897512d736916cae9b95dacc4483465b38c601f53098425c384ad7a941816d5678 SHA512 ddc72d3a945910f3ff30172ad888305a50b42599cd92e61ec39d141bfee3135ea68fbae3855d0cbbc725f4608b99de7b8f4af354ebbb108db7940a8ec6592fd1
diff --git a/dev-python/sphinxemoji/sphinxemoji-0.3.1.ebuild b/dev-python/sphinxemoji/sphinxemoji-0.3.1.ebuild
index 2de0d2ff7a0e..e457eff86f57 100644
--- a/dev-python/sphinxemoji/sphinxemoji-0.3.1.ebuild
+++ b/dev-python/sphinxemoji/sphinxemoji-0.3.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index f13060e8ca67..02460afba56d 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -1,4 +1,7 @@
DIST sqlglot-26.10.1-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e
DIST sqlglot-26.10.1.tar.gz 5334132 BLAKE2B 09050744362cd6096b761f97d67230e9908b88f074958b23c3c5eeae10adc5319a69134d68f41d5d181fea0e7d16aaaed224a6c786426da36a60fba5b6bbda16 SHA512 cee6ff027bbeb21d1a325f90f2d64f9d87bd221e2e5a1c0a9f11ddb3f11a898dc570b278be157ebd1050cb810338057bd6595fec322c97a98937c2c9ee008a09
+DIST sqlglot-26.11.1-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e
+DIST sqlglot-26.11.1.tar.gz 5335079 BLAKE2B fad8c5cf7f9e4b092bdcb73d3ed476b9e9d8260db3fff6679d8b325529b2164cdc0ca6368f45f7e351ebd31062037e1c78c9070b84a8347caaa5968d1108a2be SHA512 b7db28026c5f28b6e23e3f517daed08158315acb5965975ecf8ce43cb3cdaeeda8799ca60606037197d09c23338d9f6a10c95a33212c1106576860b1b17974f7
EBUILD sqlglot-26.10.1.ebuild 2141 BLAKE2B 87f39d45373f2f24dfcb0da32f7f9e19215f11bc17eb2a9151b021394a00810046c520c0fd7cb896845a4fd5cbf6a5cae481c471791207e7fb40f830c84c1f33 SHA512 a69c62252796c5e7c17c78f3c57c06bc3f770a2be0263ba156aead53ee48e692e8b6e76ce6f2a01689ce3422af6de8f84fef82a2b5a0bbcc56e449b3674681ed
+EBUILD sqlglot-26.11.1.ebuild 2141 BLAKE2B 87f39d45373f2f24dfcb0da32f7f9e19215f11bc17eb2a9151b021394a00810046c520c0fd7cb896845a4fd5cbf6a5cae481c471791207e7fb40f830c84c1f33 SHA512 a69c62252796c5e7c17c78f3c57c06bc3f770a2be0263ba156aead53ee48e692e8b6e76ce6f2a01689ce3422af6de8f84fef82a2b5a0bbcc56e449b3674681ed
MISC metadata.xml 611 BLAKE2B 10bf684677182565c9932d51ed9b3b9c80d376d6db945bd7b0dd0d9a19a85dc0d10cb169ff2048ae5f7f73d0f438d259b6231c13c525b5374ec99377f4ffdd10 SHA512 2b26d0f77962807052b94ad78addcfdce9859042af3be34df267dc6e70b6231dd779563935fd21955cd8646fd0cce3fee8c939387ac8056194a0b777743dd2ae
diff --git a/dev-python/sqlglot/sqlglot-26.11.1.ebuild b/dev-python/sqlglot/sqlglot-26.11.1.ebuild
new file mode 100644
index 000000000000..c6e324721e65
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-26.11.1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES=" "
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+CARGO_OPTIONAL=1
+
+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${PV}/${P}-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}]
+ )
+"
+
+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
+ 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/superqt/Manifest b/dev-python/superqt/Manifest
index d0fd7982e29b..15bd1eef42af 100644
--- a/dev-python/superqt/Manifest
+++ b/dev-python/superqt/Manifest
@@ -1,5 +1,3 @@
-DIST superqt-0.6.7.tar.gz 96733 BLAKE2B 3c189989c1bdbd1dd35bcb5a80951c817fefe19b61e4c8d44878fbfc7cc850b272149219b995a1a1b808e11063c8c16e4dafc7eaafa772c4912936a3708971e9 SHA512 054df016442cb72327218f4d73fbcfd2335178c10cb09f7c5e645721189403580f082ad2853527f84bf1513b1605b470b16fc08848bff077b5a5e1746df60f24
DIST superqt-0.7.0.tar.gz 97558 BLAKE2B 7210f0b96858a78d6798fbf19ff260d9954ced05f2e82902acc6c897fef64dd604282a435c2a8d06c085bbc88f286e5ac93682e7bf08c1c332646842e389f2be SHA512 3594ecff511285f7df0a44be5f6fb97128a2724c0d90053a3fa008f47237dee294ad062997053abcba6d54ddb73a0c21f9a0f51e824ebf22cad97e686d5e54c1
-EBUILD superqt-0.6.7.ebuild 997 BLAKE2B 16ed6e7a39f9700f43c48663d3e627744d9635f73bafffdb304af89071c44d95c09999d20d29761c1fac83a22ae0f7acb449af21d983dd94cde7e9a3d67d3ea5 SHA512 abb94cfb2b5373e39a2182d0d00b9eac736871dec6d2cb73e2104857f88d797530d1a6a253895aba4e40e8d2a2da18af3409d79f3be71679871ea664dc9dbab8
EBUILD superqt-0.7.0.ebuild 1004 BLAKE2B 7b86535c0f54987e4bd58c374134c998ad4961edec34aabbfa6d7cf1655076a5aec94af2f1b9e65ce256d91167fdfe29b3d70b61b6ca48612429ca336675f5e0 SHA512 773995502be4dd3029b886b43aa85ace44af37b01d21de5edc31465023391f1cc8ebf89bd7d883549c16686ed20b535b569e8891f42a99e18323d898301e520b
MISC metadata.xml 517 BLAKE2B 6e044f1753c331748f9955cb7c4b10023c7b96852ace220c44b7c7f71fad02d3bf0fcfc4a7649a60e9633ebe82c01d872916f1a4459c6619f1c3052bd65d9094 SHA512 65ec404379ceab6c7788e9c0539c3d7eaa888eb603cee7479c025ef42d379fab37adc2e21baad72bed00df6bd46cf0eee0615be0e6051d630d33b3985a4f7fe4
diff --git a/dev-python/superqt/superqt-0.6.7.ebuild b/dev-python/superqt/superqt-0.6.7.ebuild
deleted file mode 100644
index da6d0dd5939c..000000000000
--- a/dev-python/superqt/superqt-0.6.7.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="Missing widgets and components for PyQt/PySide"
-HOMEPAGE="
- https://github.com/pyapp-kit/superqt
- https://pypi.org/project/superqt/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
- >=dev-python/qtpy-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-3.7.4.3[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # pint and pyconify not packaged
- tests/test_quantity.py
-)
-
-EPYTEST_DESELECT=(
- # fails in the sandbox, but works outside of it
- tests/test_eliding_label.py::test_wrapped_eliding_label
-)
-
-distutils_enable_tests pytest
-
-python_test() {
- virtx distutils-r1_python_test
-}
diff --git a/dev-python/twisted/Manifest b/dev-python/twisted/Manifest
index f8d4f08dcae7..badcd4ae59cc 100644
--- a/dev-python/twisted/Manifest
+++ b/dev-python/twisted/Manifest
@@ -1,13 +1,8 @@
AUX twistd.conf 277 BLAKE2B 78ca35b410a6597c9afe6a9c8d3dfb1de113411634901f936794e8a59c0644233d0673e710bd0870ecf4312d079c46f62f43928605700559134f1fb62490559a SHA512 76d44caebab8404f16937c2515ad9ae8236732a48c7127366f7fa22c6ed3d88ace2d33b832a6d95f775973d41b7caf75344805fe5b01e964c04eb710bf3c89fb
AUX twistd.init 563 BLAKE2B 24488118b025bf2068bbf07af900064ff6a7ee99106c3da30f15f2b3f85af7443212afebc6b52a12645488b85656f87b653df9263fc2be6bd09707917899f252 SHA512 7860601beba1efda2b0a045b2a044ec33caff9ee915d45225c05e281760a68da349b4c45080600177aab32aa806714327acf3cf5dda92be0874f781f129bb129
-AUX twisted-24.3.0-skip-dsa-tests.patch 2821 BLAKE2B cb3458d0a25fbfbe2c6f6ba0678de34c4776ff3b0007cb148886178914888ab85dfa84260053233d75143aca1cd4fae98b65010fc5315a5d2c1d64e4e8f65346 SHA512 0decf83cad5cc725dcb44993a6c688b06ba20f72a4b906281fd2bfbfcc1f9a043777e4574119224fe6d16964be7c8977224a1233d6a48db6aa9c232a18c5157e
-AUX twisted-24.3.0_p20240628-skip-py313-test.patch 1275 BLAKE2B f2b0f08635de429e1fe780cc0176e1590db5f2f290f89cb2796ad5f2b5728382c22a2470e7fe1140071a94356dc2a0e15084008124fa5185e314252e75702469 SHA512 e1b7b7602658576d61a7a79592f839d5cf514571d56d51a53cf6fdcf7ab889cec510081e59ac813ac68908990f26303d30f70f7ec393fa2a1e995e41a380fd2d
-AUX twisted-24.7.0_rc1-skip-py313-tests.patch 1927 BLAKE2B f2647c913cf594eaed6bc9c270930cfe6f0b91275bd4701249dce4922aa2868764311ccce1323565ddcbc1b65bb7fedee34bfc57eadaf8827a78cdbe8e25b401 SHA512 1a5972d4b8d575758c0dc824b90c53f8317f52e40f1893264e21743a3cbf6705043bfbd9d35d82518f91f578f2e5ba7458be5a7839e4e2657ae5ab8ecb73a4fb
DIST twisted-24.10.0.tar.gz 3525999 BLAKE2B 4d274a4b5989597c2789e05774bad3595ac5284f5da25fb488d46b87a4bb0e0ab311fcab228eaf070530451a28098bbefc326f6d4806378b2fe076adf5b07199 SHA512 dad7c1301c3b31f096db8c4796e064e864c2c28107c46c202b4f4b123c99a0e69f9b43afbf582997dd2c15a08e95b41213e4bc67ea1fe9fd8137c76656a20162
DIST twisted-24.11.0.tar.gz 3526722 BLAKE2B cd874da038e3cbc369283de5d598b99680e3122ed9bdd0bbb8e541793b739b88281708c618c8f0cf9b4bf13684188b0b893ec5f744ae510c1af446822652a866 SHA512 cfd17cad9573b47b43761625ab529a1a0b27ce75545d9bc277622a7ce138b5dccf554d3c8764de1baafc07192e1172e50f4c6d19dc65590b5318a603a808efb9
-DIST twisted-24.7.0.tar.gz 3516844 BLAKE2B 169347260b473ea1c50806ce50324ebd51388186098886ccaad1f94e55f6b14eb7a7fc42728dbeaf4b5649d0e6dc1e4624cd5ab6d79feeaa733e18d09cfd689f SHA512 cd5a993c8f1dfdc82597bdc095e07c1016a2a86d1ce5b011b27f9f760db428fcba4579dda5733244979827f9c772c2480d1d419d2d24ae7af8697e2b8e852f62
DIST twisted-regen-cache.gz 911 BLAKE2B ffd3fcda6c67ffe6fd3ef581c8d507548396b66ed0708e9a5c790095e579c0d5f0f71596acf05712989da2ddef2b8d437eca973bc4d80ef8a9fa852915f38305 SHA512 95a9b931c73017d16d1b5e6b41345dddffe62b6af1a8e93b5e40d06d3d15be17b0dd0181c767ffeeb791534d463764ef9e066fa6c2ee2ac4b53c86d1da8fce03
EBUILD twisted-24.10.0.ebuild 4619 BLAKE2B d0e05212e9e030c6822042f482508b140d55264b9707676e40740f98a14ad8513d2e7bc46697899b082034cc773bcf1428804e86658d9ddb873d6aad9ce8f1df SHA512 5aad5f15d1d79056c5f9e2362d6c53cf44d7056e1e8ddd5ceab175c77384e4487ea27c7f54faf74c73b74a1668945ba8d41e4c9d1e20063d7118530fff849592
EBUILD twisted-24.11.0-r1.ebuild 4489 BLAKE2B c3d5f8cd78d9b0688f1d2d01f28a3fa57c3215aacdf53769deb880c30d5ee3e21248443b53665a9053ca5d69976a276112998bef39e442ba677b7a2e2f4a153d SHA512 ff8d3caf1a9d7aa66c984aa04e87eddd2e43448f7aecd5f9f6be7b629013263cdd8c8949f4f070fd875759379c202018d704b9f61d3265034654f4792a7b0b65
-EBUILD twisted-24.7.0.ebuild 4752 BLAKE2B bdcdcbd9afe7d08f86927de59a28db8146718ab0f7c62a75de2d46f7d0244a3f54dbe31880060c2a73221badfa3864035ddc76e52447cf52b62bb8536adbce4e SHA512 cd5832096b11f002696d43e0bb9429bbaed2db36856056a23239606d47337fc98eca779432ae86708c0cf0dc661f75ee69335761bc0a609b276c4a16fbad86ab
MISC metadata.xml 1231 BLAKE2B 60cd09e34c32152e6f08727c1281c65e871a51e64310a62a3104342fcb0e87e96b10cd4c7601668f054f9a2cb01fdf8ebeca3ed86b61ae2496a4d941897aa296 SHA512 800d9cd783d95cecb268362619deb346783149fa9226df714f9ce990da2d45edd3c8e5669e24ad15dfdf986a5816a5361c00f13719bb0dee3e6ae1578a889339
diff --git a/dev-python/twisted/files/twisted-24.3.0-skip-dsa-tests.patch b/dev-python/twisted/files/twisted-24.3.0-skip-dsa-tests.patch
deleted file mode 100644
index 9dabba43391a..000000000000
--- a/dev-python/twisted/files/twisted-24.3.0-skip-dsa-tests.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From b948467c3f01cc46b5dcda8802b913295b7c8999 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@atlas.cz>
-Date: Wed, 31 Jul 2024 18:05:01 +0200
-Subject: [PATCH] Skip tests requiring DSA if SSH does not support DSS
-
-Modern OpenSSH no longer supports DSA/DSS. We need to skip tests that
-use DSA if it is not supported by the installed SSH. The availability of
-DSA can be checked by querying `ssh -Q key`, which includes `ssh-dss` in
-the output if DSS is available, as suggested in [1].
-
-[1] https://github.com/twisted/twisted/issues/12273#issuecomment-2260799255
-
-Issue: https://github.com/twisted/twisted/issues/12273
-
-Based on upstream PR https://github.com/twisted/twisted/pull/12274
-
-diff --git a/src/twisted/conch/test/test_cftp.py b/src/twisted/conch/test/test_cftp.py
-index 40b2deaedb..51a978de4b 100644
---- a/src/twisted/conch/test/test_cftp.py
-+++ b/src/twisted/conch/test/test_cftp.py
-@@ -20,6 +20,7 @@ from zope.interface import implementer
-
- from twisted.conch import ls
- from twisted.conch.interfaces import ISFTPFile
-+from twisted.conch.test.test_conch import HAS_DSA
- from twisted.conch.test.test_filetransfer import FileTransferTestAvatar, SFTPTestBase
- from twisted.cred import portal
- from twisted.internet import defer, error, interfaces, protocol, reactor
-@@ -1436,6 +1437,7 @@ exit
- @skipIf(skipTests, "don't run w/o spawnProcess or cryptography")
- @skipIf(not which("ssh"), "no ssh command-line client available")
- @skipIf(not which("sftp"), "no sftp command-line client available")
-+@skipIf(not HAS_DSA, "needs ssh supporting dsa")
- class OurServerSftpClientTests(CFTPClientTestBase):
- """
- Test the sftp server against sftp command line client.
-diff --git a/src/twisted/conch/test/test_conch.py b/src/twisted/conch/test/test_conch.py
-index 45b357c995..9e77c9b2e9 100644
---- a/src/twisted/conch/test/test_conch.py
-+++ b/src/twisted/conch/test/test_conch.py
-@@ -59,6 +59,21 @@ except ImportError as e:
- else:
- StdioInteractingSession = _StdioInteractingSession
-
-+def _has_dsa():
-+ has_dsa = False
-+ try:
-+ output = subprocess.check_output(
-+ [which("ssh")[0], "-Q", "key"], stderr=subprocess.STDOUT, text=True
-+ )
-+ keys = output.split()
-+ if "ssh-dss" in keys:
-+ has_dsa = True
-+ except BaseException:
-+ pass
-+ return has_dsa
-+
-+HAS_DSA = _has_dsa()
-+
-
- def _has_ipv6():
- """Returns True if the system can bind an IPv6 address."""
-@@ -551,6 +566,9 @@ class OpenSSHClientMixin:
- if not which("ssh"):
- skip = "no ssh command-line client available"
-
-+ if not HAS_DSA:
-+ skip = "needs ssh supporting dsa"
-+
- def execute(self, remoteCommand, process, sshArgs=""):
- """
- Connects to the SSH server started in L{ConchServerSetupMixin.setUp} by
---
-2.44.2
-
diff --git a/dev-python/twisted/files/twisted-24.3.0_p20240628-skip-py313-test.patch b/dev-python/twisted/files/twisted-24.3.0_p20240628-skip-py313-test.patch
deleted file mode 100644
index c469f7883f71..000000000000
--- a/dev-python/twisted/files/twisted-24.3.0_p20240628-skip-py313-test.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 2f14c47947206d7f2e53af85567938601728abbd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@gentoo.org>
-Date: Fri, 28 Jun 2024 06:48:23 +0000
-Subject: [PATCH] skip failing test in py3.13
-
-Let's skip failing test for now, Fedora does it as well [1].
-
-[1] https://src.fedoraproject.org/rpms/python-twisted/blob/c8c63fe475594326f50fd748b40ae65f925c1325/f/0010-Skip-failing-tests.patch
-
-Upstream-Issue: https://github.com/twisted/twisted/issues/12099
-
-diff --git a/src/twisted/test/test_failure.py b/src/twisted/test/test_failure.py
-index 9a3daae306..a7a3ce29bd 100644
---- a/src/twisted/test/test_failure.py
-+++ b/src/twisted/test/test_failure.py
-@@ -17,7 +17,7 @@ from io import StringIO
- from traceback import FrameSummary
- from types import TracebackType
- from typing import Any, Generator, cast
--from unittest import skipIf
-+from unittest import skipIf, skip
-
- from cython_test_exception_raiser import raiser
-
-@@ -990,6 +990,7 @@ class ExtendedGeneratorTests(SynchronousTestCase):
-
- self.assertEqual(traceback.extract_tb(stuff[0][2])[-1][-1], "1 / 0")
-
-+ @skip("Fails with Python 3.13")
- def test_findFailureInGenerator(self) -> None:
- """
- Within an exception handler, it should be possible to find the
---
-2.45.2
-
diff --git a/dev-python/twisted/files/twisted-24.7.0_rc1-skip-py313-tests.patch b/dev-python/twisted/files/twisted-24.7.0_rc1-skip-py313-tests.patch
deleted file mode 100644
index 9be4283567ec..000000000000
--- a/dev-python/twisted/files/twisted-24.7.0_rc1-skip-py313-tests.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 314fb5e18cbcaa11040a129d6ffaee3c376f55e7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@gentoo.org>
-Date: Wed, 31 Jul 2024 15:08:20 +0200
-Subject: [PATCH] skip py3.13 incompatible tests
-
-Based on upstream changes in PR https://github.com/twisted/twisted/pull/12092
-
-diff --git a/src/twisted/internet/test/test_inlinecb.py b/src/twisted/internet/test/test_inlinecb.py
-index 355572b566..11c09c6996 100644
---- a/src/twisted/internet/test/test_inlinecb.py
-+++ b/src/twisted/internet/test/test_inlinecb.py
-@@ -6,11 +6,13 @@
- Tests for L{twisted.internet.inlineCallbacks}.
- """
-
-+import sys
- import traceback
- import unittest as pyunit
- import weakref
- from enum import Enum
- from typing import Any, Generator, List, Set, Union
-+from unittest import skipIf
-
- from twisted.internet import reactor, task
- from twisted.internet.defer import (
-@@ -1122,6 +1124,9 @@ class NonLocalExitTests(TestCase):
-
-
- class ForwardTraceBackTests(SynchronousTestCase):
-+ HAVE_PY3_12_OR_OLDER = sys.version_info < (3, 13)
-+
-+ @skipIf(not HAVE_PY3_12_OR_OLDER, "Needs Python 3.12 or older")
- def test_forwardTracebacks(self):
- """
- Chained inlineCallbacks are forwarding the traceback information
-@@ -1171,6 +1176,7 @@ class ForwardTraceBackTests(SynchronousTestCase):
-
- return d
-
-+ @skipIf(not HAVE_PY3_12_OR_OLDER, "Needs Python 3.12 or older")
- def test_forwardLotsOfTracebacks(self):
- """
- Several Chained inlineCallbacks gives information about all generators.
-@@ -1218,6 +1224,7 @@ class ForwardTraceBackTests(SynchronousTestCase):
- self.assertIn("Error Marker", tb)
- self.assertIn("in erroring", f.getTraceback())
-
-+ @skipIf(not HAVE_PY3_12_OR_OLDER, "Needs Python 3.12 or older")
- def test_forwardLotsOfTracebacksCoro(self):
- """
- Several chained inlineCallbacks mixed with coroutines gives information
---
-2.44.2
-
diff --git a/dev-python/twisted/twisted-24.7.0.ebuild b/dev-python/twisted/twisted-24.7.0.ebuild
deleted file mode 100644
index 0e23e33e40a0..000000000000
--- a/dev-python/twisted/twisted-24.7.0.ebuild
+++ /dev/null
@@ -1,167 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_TESTED=( python3_{10..13} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 multiprocessing pypi virtualx
-
-DESCRIPTION="An asynchronous networking framework written in Python"
-HOMEPAGE="
- https://twisted.org/
- https://github.com/twisted/twisted/
- https://pypi.org/project/Twisted/
-"
-SRC_URI+="
- https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-IUSE="conch http2 serial ssl test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/automat-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/constantly-15.1[${PYTHON_USEDEP}]
- >=dev-python/hyperlink-17.1.1[${PYTHON_USEDEP}]
- >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/zope-interface-5[${PYTHON_USEDEP}]
- conch? (
- >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-3.3[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- )
- http2? (
- <dev-python/h2-5.0[${PYTHON_USEDEP}]
- >=dev-python/h2-3.0.0[${PYTHON_USEDEP}]
- <dev-python/priority-2.0[${PYTHON_USEDEP}]
- >=dev-python/priority-1.1.0[${PYTHON_USEDEP}]
- )
- serial? (
- >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
- )
- ssl? (
- >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
- >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
- >=dev-python/idna-2.4[${PYTHON_USEDEP}]
- )
-"
-IDEPEND="
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/constantly-15.1[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/zope-interface-5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
- >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}]
- <dev-python/cython-test-exception-raiser-2[${PYTHON_USEDEP}]
- >=dev-python/cython-test-exception-raiser-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/idna-2.4[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.56[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- >=dev-python/pyhamcrest-2[${PYTHON_USEDEP}]
- >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
- virtual/openssh
- ssl? (
- >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
- >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
- )
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-24.3.0-skip-dsa-tests.patch"
- "${FILESDIR}/${PN}-24.3.0_p20240628-skip-py313-test.patch"
- "${FILESDIR}/${PN}-24.7.0_rc1-skip-py313-tests.patch"
-)
-
-python_prepare_all() {
- # upstream test for making releases; not very useful and requires
- # sphinx (including on py2)
- rm src/twisted/python/test/test_release.py || die
-
- # multicast tests fail within network-sandbox
- sed -e 's:test_joinLeave:_&:' \
- -e 's:test_loopback:_&:' \
- -e 's:test_multiListen:_&:' \
- -e 's:test_multicast:_&:' \
- -i src/twisted/test/test_udp.py || die
-
- distutils-r1_python_prepare_all
-}
-
-src_test() {
- # the test suite handles missing file & failing ioctl()s gracefully
- # but not permission errors from sandbox
- addwrite /dev/net/tun
- virtx distutils-r1_src_test
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- # breaks some tests by overriding empty environment
- local -x SANDBOX_ON=0
- # for py3.13, see
- # https://github.com/twisted/twisted/pull/12092#issuecomment-2194326096
- local -x LINES=25 COLUMNS=80
- "${EPYTHON}" -m twisted.trial -j "$(makeopts_jobs)" twisted ||
- die "Tests failed with ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
-
- # own the dropin.cache so we don't leave orphans
- > "${D}$(python_get_sitedir)"/twisted/plugins/dropin.cache || die
-
- python_doscript "${WORKDIR}"/twisted-regen-cache
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- newconfd "${FILESDIR}/twistd.conf" twistd
- newinitd "${FILESDIR}/twistd.init" twistd
-}
-
-python_postinst() {
- twisted-regen-cache || die
-}
-
-pkg_postinst() {
- if [[ -z ${ROOT} ]]; then
- python_foreach_impl python_postinst
- fi
-}
-
-python_postrm() {
- rm -f "${ROOT}$(python_get_sitedir)/twisted/plugins/dropin.cache" || die
-}
-
-pkg_postrm() {
- # if we're removing the last version, remove the cache file
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- python_foreach_impl python_postrm
- fi
-}
diff --git a/dev-python/types-gdb/Manifest b/dev-python/types-gdb/Manifest
index cad6696ac158..4c1f1513da8f 100644
--- a/dev-python/types-gdb/Manifest
+++ b/dev-python/types-gdb/Manifest
@@ -3,5 +3,5 @@ DIST types_gdb-15.0.0.20250306.tar.gz 20140 BLAKE2B e2cd08a1696c8bff596aec8d1aa1
DIST types_gdb-15.0.0.20250308.tar.gz 20122 BLAKE2B d13a87811b924514c63497e1b39888040af7daebed05dc38adf8b13da814b230bc00f709a52bc489e3b197451db6dd5382981d2ad04532165a946b940cbeddbe SHA512 6b85dd612dc63786bddb60f6c6850d520a41227994691f600f54010b64b4bbab883526463578812a655fb7ad578d4ea707b361da634ae3caa0d6ccdd889eb068
EBUILD types-gdb-15.0.0.20241204.ebuild 349 BLAKE2B b2a17de12d81b58918035aee0f6f27c7b974a67d10dbce29b9f4ed4006dd07d656b78e2a72ecaebb5ea96dfd227bd8f5ccad2efbe4ea27533cf4e7c153944b50 SHA512 9ac97e7b4243b04b58382c6d8f4fd214af3c711343dc605cf5259cc6a5ba46f38fb13a3fc65f8ec9786e9813781fa4b7b7ae28163058d006eda33551625faa64
EBUILD types-gdb-15.0.0.20250306.ebuild 351 BLAKE2B 74c2d0f2fb9662cb23528df1a799106c1c41e48b8e067e7e01a5c9464c82d9917e2b3dee617bcd3dc7fda48911616be890aa76e754a2343893570a062d5a31fe SHA512 6806af937aa0ba9b7b970183e1e1911175d6ee4c9ad51e2118bd2fdf265ca624450e22c21b43db74695ff6bd1229f41b7a0d0cdd04f240a10a875f05906fd39c
-EBUILD types-gdb-15.0.0.20250308.ebuild 351 BLAKE2B 74c2d0f2fb9662cb23528df1a799106c1c41e48b8e067e7e01a5c9464c82d9917e2b3dee617bcd3dc7fda48911616be890aa76e754a2343893570a062d5a31fe SHA512 6806af937aa0ba9b7b970183e1e1911175d6ee4c9ad51e2118bd2fdf265ca624450e22c21b43db74695ff6bd1229f41b7a0d0cdd04f240a10a875f05906fd39c
+EBUILD types-gdb-15.0.0.20250308.ebuild 351 BLAKE2B 934dbb66b62d26ef29248d0ef250f716255bec790dbd1954b997172a5e42a18a5011ce115e4fe6da11d1ff9214dba50825b1866f2873086797ef2c9df3d233da SHA512 7fcb6fa06fcc27440601f77b4a480d99c7d2f93ed2ed05111f58daf550c603c87856d56e73b18e873251159824787937aa750f9babbf00914cafe1aab458f8fd
MISC metadata.xml 320 BLAKE2B e7216faeb2957322c501efcfe35a1ddd197b253f74e4e1674f188d700c9ae765c94cd9609a1aa0c6033608b32e357a827e5ca906d0f4fdf6aeb9fefcdeb8c6ef SHA512 5ebabc196994d0616193657af0766733efc672cf823ac908df138fcad13c510716fd261bfced7986d6170044fa46cc3fbc42760ccb863e26b34ec3920b234061
diff --git a/dev-python/types-gdb/types-gdb-15.0.0.20250308.ebuild b/dev-python/types-gdb/types-gdb-15.0.0.20250308.ebuild
index 5ce260e87b57..edc94042c1d4 100644
--- a/dev-python/types-gdb/types-gdb-15.0.0.20250308.ebuild
+++ b/dev-python/types-gdb/types-gdb-15.0.0.20250308.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/unearth/Manifest b/dev-python/unearth/Manifest
index 887a4c4ceaa7..731e0766ac12 100644
--- a/dev-python/unearth/Manifest
+++ b/dev-python/unearth/Manifest
@@ -1,5 +1,5 @@
-DIST unearth-0.17.1.tar.gz 284159 BLAKE2B 55b8f18f06613f0398316bbcadee6b928e6f20fdc978bdde6c0c1ce3b75a46e1cd2734d036302b8b5a98e9ec5a92aa7d00b00ff01ae815149d507cdab2f6dd5f SHA512 3e451d6f40b16520d4a6e1f4ca6f3997bc346f189330c7373089701d9203543f159b5af843aa8144c2b0ca871a84909292b34b5a666e3a0b541fdbc643340050
DIST unearth-0.17.2.tar.gz 284430 BLAKE2B ca55cd4feb50a3803400bc70f499cfb26c6dd951966f0a37cddde5c186a1f91aa3d041f504d1b85cf632478caaf33a9b4da472070fce1e7b51ea1436d1b7b95a SHA512 927ba9004d8e893bb461a0dd8741476e39cabefca47885708b5d155514726946898dd9eb9870d86982b191aeb189490310108fbb2a70e8983dae4974d711384b
-EBUILD unearth-0.17.1.ebuild 973 BLAKE2B 954d1d0a965598bd6a1ea438a54575d7d902638b9da5631b5babca972885cb29ad338ee5392502730784d707bba730ea788c6df2d11072e51c635ea73a49250f SHA512 02ae8087266e8d28d9717e3e5acf3291172f4eb733547a5bad3402153aa5b53ec437c2c91b0259f5bab02b0aff38e4a19c493578cdbb5111bcc91593c64a7eac
+DIST unearth-0.17.3.tar.gz 284628 BLAKE2B c9163afe1a7c57e3d3afc3643ee0e55f0cc71093369c0a7225988f12b945eb8ab3cbb7226bccecca5f1bd2d0423ff3f1342286d6123d12631059321c6886eeff SHA512 c7f68efc2efe11eb85c2b835a021996980e1b839ec6303058ff2e5f4186d3867db1e72e899b28e1fea722b4f1a0c2c33851768b89ef176c44a7c63478b5ea686
EBUILD unearth-0.17.2.ebuild 982 BLAKE2B 9c37dc6277b694e51fd5a2e36c29437a2c9482cd17d411143392f8ca64446d40bd7645706d9954aa81b860661bdc9ffe6f4ce8b9d25ddd8fa908d322e2a2ab30 SHA512 29d897016e6b4f2111eedaa9b0116abb0a6b74c8da6712eb7e2ac8aa63c9ba105a68a8d15a77b6b8084eba3e86af165a9d30625ca8b631f320eb6a8f1748a4aa
+EBUILD unearth-0.17.3.ebuild 982 BLAKE2B 9c37dc6277b694e51fd5a2e36c29437a2c9482cd17d411143392f8ca64446d40bd7645706d9954aa81b860661bdc9ffe6f4ce8b9d25ddd8fa908d322e2a2ab30 SHA512 29d897016e6b4f2111eedaa9b0116abb0a6b74c8da6712eb7e2ac8aa63c9ba105a68a8d15a77b6b8084eba3e86af165a9d30625ca8b631f320eb6a8f1748a4aa
MISC metadata.xml 480 BLAKE2B 489aab9c338887392b943b48593bd9d752083d82fcf89a419e3677f2d24939af51cabe16641c3a16942f9658fe79f804af61cffc807cdeb909d44a6cff5ced5b SHA512 9fe2154826a2399f5570fa150445220f7490e10741275f77791b1d29522336912812e3f8905c026cb748845d2f2a005196185db6576708b47f1cdf582216182f
diff --git a/dev-python/unearth/unearth-0.17.1.ebuild b/dev-python/unearth/unearth-0.17.3.ebuild
index a135cb39bbf1..15f99a42a25b 100644
--- a/dev-python/unearth/unearth-0.17.1.ebuild
+++ b/dev-python/unearth/unearth-0.17.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023-2024 Gentoo Authors
+# 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=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 63717c184bb8..1bac1bee6029 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -7,7 +7,10 @@ DIST uv-0.6.4-crates.tar.xz 60120880 BLAKE2B 67e7cba1df7e8c18e55d7d1a5748db7995c
DIST uv-0.6.5.gh.tar.gz 3782938 BLAKE2B 82528fbd5c65cc07dd4ba647dd86d81673370afe8568690601e54faa54ad0ffa42db375b63580b0ae67f1fda67a66f54d990ce97704c614e80bf54666ed3e11e SHA512 cb1564905d56ac5873db91476b9a0a09e450c2cfaf386d9d04b1861d1e798ec43d7f28e03099d732e03cc58f79820a7f825d7d8869b40f71fab4308412e401b5
DIST uv-0.6.6-crates.tar.xz 60230976 BLAKE2B 9b0dcb0d8246fc275f5b508c48661f0844622ee9280b9000e0131e6101d548b92f983502fa21070fd41aa20854aa0931b3a5be13fc96def5bafab6d0eebe943f SHA512 b1925417eb34135e9e9d92a8d832055cd3677142ac9e7369d9e1f64ceba02632914c6ddc669257a5d75dd27b8cea4612db2bb295d2b747a74e169a8e23fc5a6b
DIST uv-0.6.6.gh.tar.gz 3767860 BLAKE2B 09bcb296f10ecebc9bda81091ea9c7f589b9b44169981676b5013088c001301d2302bab8514d4c6fb9542ba0bc0d07377e68a46c35f667a6a408f86e499a1a89 SHA512 49ad9fdb411e719b5a2aae6d48750932c8ad65bace2b0a747a54b475bcd0a40da368712d074b4b3afdf28cc8003532aca712b3714d54323f184ee1358521d7c5
+DIST uv-0.6.7-crates.tar.xz 60339544 BLAKE2B 5bde165c809ee9a66c23a1811d461502021b2038c747deaa250b2f30e947712e6ccad23f188fc93b000edaaf53b657d90971803acff94ade6c61a29684cf5601 SHA512 d339b9cc8b4b19ba802d203f476da311d060962e07cffaeedd0aed05b21125b6a959a971d3654db3e26087c15331588dd6ebba2ab9e52fcd91b1a38a2dc8e9e7
+DIST uv-0.6.7.gh.tar.gz 3791242 BLAKE2B ca24f6945d6a442c32a574b901cf47dac3ede08603255b62feded82d36179a578aada04fca402d7738d2b3b78adfe22e4d1dbded502cafb2c5d4eb0407a5b5d4 SHA512 992f8a64f3d0c8f57be6959f91242ce7420c6ee94839f067dc142f895fb2c0b9ab4161b6a51112241e30c8836eefb7e5bc747f867c28bf09b95e0aaa52de8350
EBUILD uv-0.6.2.ebuild 4368 BLAKE2B 87c7ac7edf8953cf06598aa038bbb117f3c30610dbeb5569faafb1a5c92633271aeebce927e9fec932276ed4b6574b4eb8504655db46b469882c4199a383165b SHA512 d28ecebaf6a2fd9cd90541f86df70f0d0d99d45841cbe48d379f614eccc8b21be8e1b79a258f3fcb84ef0f6d82b7ad4bd98b913e45cd49ed379d06b11fd1f80b
EBUILD uv-0.6.5.ebuild 4373 BLAKE2B f697f95ea8ad4ea6222fab39b7f4f5b174d32f83274b616adcd98b38014f8d010c14474bb878e392ab1aa7a15e9c2267c25fff72761c742f0364f278d1d69ac5 SHA512 f67084decdd960048501d461a3bd71a82cdf61bc8f0a41703ebfb97438d26441556da39ea759734796c03695dded350ba51537703d3e0ed4f75d4cc3c92fc533
EBUILD uv-0.6.6.ebuild 4373 BLAKE2B d3ad55fb8a18f2d6416186df692373bac1eeb19158ff86dc69dfb37c8ba2eaa98de16547a5075ba264ec515faf9fd84ac735e11a19a4c5947a96ed1e2418582a SHA512 b8afbb60bd276d35c9f6a263a74846026a9b42f62740bb04e3274eb879ff85129ea51e288aa0cabc5005d3df28fe255e9241d8b34a140430186e2543735a9a66
+EBUILD uv-0.6.7.ebuild 4315 BLAKE2B 1884edd37b7a438bb3a519c3357cb06ca95f883cfc2f2782ee4b674db454a5ce15ea4d9b3d0f482457944775add9be8af939bbf3fdd5145a57b8e5261a9539c6 SHA512 690f7c91a8608e97eb1832da35e09dddf4023b6138d445f1d03fb696fd002fa618e1cd84fb1564ebd4b37974790b0dcc5582c383176830190980f23d88c9f9a7
MISC metadata.xml 336 BLAKE2B 4b5933e24e3e9450dde5da099185dcdf3afb5916b55cffa7c2f3f6fac77e439197cbe4ba529a87f83442d8f87d238e8abef06dc052ce9a62659060ffea9fdb47 SHA512 9910fd10ebbc395b9c330774b74798c9ffdba3bb368347658380a22e01d6dc9d1961ea50fbfb4a904c9db84b94c713c054e418a7294425b86ff41a607fd3e310
diff --git a/dev-python/uv/uv-0.6.7.ebuild b/dev-python/uv/uv-0.6.7.ebuild
new file mode 100644
index 000000000000..3a051e0e30a2
--- /dev/null
+++ b/dev-python/uv/uv-0.6.7.ebuild
@@ -0,0 +1,166 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;b70cf707aa43f21b32f3a61b8a0889b15032d5c4;pubgrub-%commit%'
+ [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+ [version-ranges]='https://github.com/astral-sh/pubgrub;b70cf707aa43f21b32f3a61b8a0889b15032d5c4;pubgrub-%commit%/version-ranges'
+)
+
+RUST_MIN_VER="1.83.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+"
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT
+ MPL-2.0 Unicode-3.0 Unicode-DFS-2016 ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-lang/python:3.8
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+}
+
+src_configure() {
+ local myfeatures=(
+ git
+ pypi
+ python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+ local -x PYTHONDONTWRITEBYTECODE=
+ # fix tests failing because of our config
+ local -x XDG_CONFIG_DIRS=${T}
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}
diff --git a/dev-python/xvfbwrapper/Manifest b/dev-python/xvfbwrapper/Manifest
index 93896fafdce4..f06da8c2e4dd 100644
--- a/dev-python/xvfbwrapper/Manifest
+++ b/dev-python/xvfbwrapper/Manifest
@@ -1,3 +1,3 @@
DIST xvfbwrapper-0.2.9.tar.gz 5575 BLAKE2B a973e6ca6dd85713e7b350397113d63c15fd284c07d3a0d5c0b8b8dceed65c3a17a3e8222b79ec88fb124175259d51fcd31d09a95183f1cbd091ba11d9bbec3b SHA512 800f3489b2e1bbc884d7651e344ed73783d6c00856f3ab7ccfa6b9058dd6d3bb98d38f11172ba89dff5773d6c5b773bc000786c1f6c6aae5a27179b37017851e
-EBUILD xvfbwrapper-0.2.9-r1.ebuild 502 BLAKE2B bd573f10ce05e4ee94a61546c3ef77f0c20f23374031faa405935caa3297dd6934a1ee58df265009b76df33c2a2e6c31de1ea2bdc2239cdc25883c73552d7f87 SHA512 8c756db089b4f5bf5223121f107ba14b4517db6d8904539dbc3fceba1a15af5ff3fb61fe2928e91210dc7212184f4d5effdf5f8360796a6a1f9a82374a6dc3bf
+EBUILD xvfbwrapper-0.2.9-r1.ebuild 502 BLAKE2B ecb0ba96de617c01be0711c59bdc3a4f9ba48980c16ab9e33ba0f7379e61e54639bcfb7b87da2d436a75187ccc2bd1c0cf2805a4e5f5635496a10f7329e54083 SHA512 ec9409ebc618f1c7874741748208193747b5caf217ff2c246c874ba236ea7515e8c2f94637ff0c1b903b0cdd8ddd34cf5131c0583bcb9da168d5bea618120d24
MISC metadata.xml 388 BLAKE2B a0091cb6b81fb47d0ddf6833ac096228e8b300817707efd392a88e165794438392b3e7eea118a9a2329f0396471ab2e4a4423ea43bc9f9269f06247deadbbf56 SHA512 99983bef60e393369b500810ac1aa7046d1011b7d59f94abbc8bfe0dd513fb2c29fb3c3a19ed5566c55d48645f0363a78e5f2a16501de8d1750c15b5763f01cf
diff --git a/dev-python/xvfbwrapper/xvfbwrapper-0.2.9-r1.ebuild b/dev-python/xvfbwrapper/xvfbwrapper-0.2.9-r1.ebuild
index 18b86c7f74b1..bedcadc14a68 100644
--- a/dev-python/xvfbwrapper/xvfbwrapper-0.2.9-r1.ebuild
+++ b/dev-python/xvfbwrapper/xvfbwrapper-0.2.9-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/yaxmldiff/Manifest b/dev-python/yaxmldiff/Manifest
index 58372c7baf73..eb41685854a9 100644
--- a/dev-python/yaxmldiff/Manifest
+++ b/dev-python/yaxmldiff/Manifest
@@ -1,3 +1,3 @@
DIST yaxmldiff-0.2.0.tar.gz 30530 BLAKE2B 011e2ae06d8348c4c45dd6f6f58f61c1ade4a371a5b2f1b6e2cd9970016e96494ac08783551d964731553868c16a8084c96a8143f6338a29ced1eefb8533d060 SHA512 d8a00565d9ec084c9d6ab482317abe65dc44cf80641085fdcbf3464461b7066d56e7153c09198649222c29d9a8a4311d9d7fbf9a1b85ec428e86637601584aa2
-EBUILD yaxmldiff-0.2.0.ebuild 521 BLAKE2B 53cb3cc85ac2b99557c4bb64e7c5b2c015de6e3dcb39e5a1f0cb5f9b65f204688dbcce7581c60e312d86d811e1596fc767ffbe08a6f01d79a77742e32f8bddfc SHA512 17d363cc43982b081d21823bf8c74c23e9f9f77f086e1954bc8db6ce39c1274bbd3f4f60bfa8c699944694138ad8abeed6a845b5640486081457275cf3e08de4
+EBUILD yaxmldiff-0.2.0.ebuild 561 BLAKE2B ca9b84ab984b90001a06b01d776fd31a579ba263cae5da8c06d862a1b799b81c619b941a851404557d4d7893d20966286bd1ec17eb0e7f759255c68e9c37a96a SHA512 75f7555424cd8a8770428e5b97b4fd41e43af862bda25ad8e9ae99a6323adedceb1e92564e927ccff571752e9bfba33220463896fe935b80a308927bc2a8890b
MISC metadata.xml 379 BLAKE2B 87ae57ffa686f5ac9f6db0bcaa5f38d12861baba90ec7da784d3de52afa4dad2fff3150b9b89a3a927ff826e4c120cdec92349af74c0e4b39574311c676d4c38 SHA512 7ee3eaf6cd1f697f3f2fb7ffc499f55e5015527f16c17d8b4d8a2b412c65a9c13ca03dac59ab7d9f470415d25e968573df246799046abadb7205b37dd55507d2
diff --git a/dev-python/yaxmldiff/yaxmldiff-0.2.0.ebuild b/dev-python/yaxmldiff/yaxmldiff-0.2.0.ebuild
index dd0f09e5c16f..5e3674038213 100644
--- a/dev-python/yaxmldiff/yaxmldiff-0.2.0.ebuild
+++ b/dev-python/yaxmldiff/yaxmldiff-0.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
inherit distutils-r1 pypi
@@ -24,3 +24,5 @@ RDEPEND="
BDEPEND="
>=dev-python/hatch-fancy-pypi-readme-24.1.0[${PYTHON_USEDEP}]
"
+
+distutils_enable_tests pytest