summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorCrucible <crucible@localhost>2026-09-29 03:05:07 -0500
committerCrucible <crucible@localhost>2026-09-29 03:05:07 -0500
commitc5a9b07f13fb47e9869f0433ea92068acfe47038 (patch)
tree8c396ce4977a3fd723ae6f022ce2adec69385016 /dev-python
parent97f0accadef9006a8eaa198a93d9d8c2de538b63 (diff)
downloadsrcux-c5a9b07f13fb47e9869f0433ea92068acfe47038.tar.gz
srcux-c5a9b07f13fb47e9869f0433ea92068acfe47038.tar.xz
srcux-c5a9b07f13fb47e9869f0433ea92068acfe47038.zip
Publish srcux candidate 0000000520-20260929-030310HEADdevelop
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.43.104.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.43.104.ebuild80
-rw-r--r--dev-python/cfn-lint/Manifest2
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.57.1.ebuild61
-rw-r--r--dev-python/cftime/Manifest2
-rw-r--r--dev-python/cftime/cftime-1.6.6.ebuild34
-rw-r--r--dev-python/cloudflare/cloudflare-2.19.4.ebuild2
-rw-r--r--dev-python/cloudflare/cloudflare-4.3.1.ebuild2
-rw-r--r--dev-python/cloudflare/cloudflare-5.1.0.ebuild2
-rw-r--r--dev-python/configargparse/Manifest2
-rw-r--r--dev-python/configargparse/configargparse-1.8.0.ebuild33
-rw-r--r--dev-python/cysignals/Manifest2
-rw-r--r--dev-python/cysignals/cysignals-1.13.0.ebuild35
-rw-r--r--dev-python/dbus-python/Manifest1
-rw-r--r--dev-python/dbus-python/dbus-python-1.5.0.ebuild93
-rw-r--r--dev-python/dropbox/Manifest1
-rw-r--r--dev-python/dropbox/dropbox-12.2.2.ebuild51
-rw-r--r--dev-python/faker/Manifest2
-rw-r--r--dev-python/faker/faker-40.40.0.ebuild (renamed from dev-python/faker/faker-40.36.0.ebuild)3
-rw-r--r--dev-python/filelock/Manifest2
-rw-r--r--dev-python/filelock/filelock-4.0.6.ebuild38
-rw-r--r--dev-python/fqdn/Manifest1
-rw-r--r--dev-python/fqdn/fqdn-1.6.0.ebuild27
-rw-r--r--dev-python/google-auth/Manifest2
-rw-r--r--dev-python/google-auth/google-auth-2.59.0.ebuild63
-rw-r--r--dev-python/imageio/Manifest3
-rw-r--r--dev-python/imageio/imageio-2.38.0.ebuild (renamed from dev-python/imageio/imageio-2.37.3-r1.ebuild)4
-rw-r--r--dev-python/isort/Manifest2
-rw-r--r--dev-python/isort/isort-9.0.2.ebuild69
-rw-r--r--dev-python/librt/Manifest4
-rw-r--r--dev-python/librt/librt-0.16.0.ebuild (renamed from dev-python/librt/librt-0.13.0.ebuild)2
-rw-r--r--dev-python/materialyoucolor/materialyoucolor-9999.ebuild2
-rw-r--r--dev-python/msgpack/Manifest4
-rw-r--r--dev-python/msgpack/msgpack-1.2.3.ebuild (renamed from dev-python/msgpack/msgpack-1.1.2.ebuild)4
-rw-r--r--dev-python/oauthlib/Manifest2
-rw-r--r--dev-python/oauthlib/oauthlib-4.0.0.ebuild30
-rw-r--r--dev-python/opentelemetry-exporter-otlp-common/Manifest1
-rw-r--r--dev-python/opentelemetry-exporter-otlp-common/metadata.xml9
-rw-r--r--dev-python/opentelemetry-exporter-otlp-common/opentelemetry-exporter-otlp-common-0.66_beta0.ebuild40
-rw-r--r--dev-python/opentelemetry-exporter-otlp-proto-common/Manifest2
-rw-r--r--dev-python/opentelemetry-exporter-otlp-proto-common/opentelemetry-exporter-otlp-proto-common-1.45.0.ebuild (renamed from dev-python/opentelemetry-exporter-otlp-proto-common/opentelemetry-exporter-otlp-proto-common-1.43.0.ebuild)3
-rw-r--r--dev-python/opentelemetry-exporter-otlp-proto-grpc/Manifest2
-rw-r--r--dev-python/opentelemetry-exporter-otlp-proto-grpc/opentelemetry-exporter-otlp-proto-grpc-1.45.0.ebuild (renamed from dev-python/opentelemetry-exporter-otlp-proto-grpc/opentelemetry-exporter-otlp-proto-grpc-1.43.0.ebuild)0
-rw-r--r--dev-python/opentelemetry-exporter-otlp-proto-http/Manifest2
-rw-r--r--dev-python/opentelemetry-exporter-otlp-proto-http/opentelemetry-exporter-otlp-proto-http-1.45.0.ebuild (renamed from dev-python/opentelemetry-exporter-otlp-proto-http/opentelemetry-exporter-otlp-proto-http-1.43.0.ebuild)3
-rw-r--r--dev-python/opentelemetry-instrumentation-threading/Manifest4
-rw-r--r--dev-python/opentelemetry-instrumentation-threading/opentelemetry-instrumentation-threading-0.66_beta0.ebuild (renamed from dev-python/opentelemetry-instrumentation-threading/opentelemetry-instrumentation-threading-0.64_beta0.ebuild)2
-rw-r--r--dev-python/opentelemetry-instrumentation/Manifest4
-rw-r--r--dev-python/opentelemetry-instrumentation/files/opentelemetry-instrumentation-0.61_beta0-wrapt-2.patch123
-rw-r--r--dev-python/opentelemetry-instrumentation/opentelemetry-instrumentation-0.66_beta0.ebuild (renamed from dev-python/opentelemetry-instrumentation/opentelemetry-instrumentation-0.64_beta0.ebuild)2
-rw-r--r--dev-python/opentelemetry-proto/Manifest2
-rw-r--r--dev-python/opentelemetry-proto/opentelemetry-proto-1.45.0.ebuild (renamed from dev-python/opentelemetry-proto/opentelemetry-proto-1.43.0.ebuild)0
-rw-r--r--dev-python/pikepdf/Manifest2
-rw-r--r--dev-python/pikepdf/pikepdf-10.15.0.ebuild61
-rw-r--r--dev-python/platformdirs/Manifest2
-rw-r--r--dev-python/platformdirs/platformdirs-4.12.1.ebuild62
-rw-r--r--dev-python/plexapi/Manifest1
-rw-r--r--dev-python/plexapi/plexapi-4.18.2.ebuild37
-rw-r--r--dev-python/pyjwt/Manifest2
-rw-r--r--dev-python/pyjwt/pyjwt-2.15.1.ebuild42
-rw-r--r--dev-python/pysnmp/Manifest2
-rw-r--r--dev-python/pysnmp/pysnmp-7.1.30.ebuild (renamed from dev-python/pysnmp/pysnmp-7.1.28.ebuild)6
-rw-r--r--dev-python/pyudev/Manifest1
-rw-r--r--dev-python/pyudev/pyudev-0.24.5.ebuild71
-rw-r--r--dev-python/regex/Manifest1
-rw-r--r--dev-python/regex/regex-2026.9.29.ebuild37
-rw-r--r--dev-python/stone/Manifest2
-rw-r--r--dev-python/stone/stone-3.5.5.ebuild (renamed from dev-python/stone/stone-3.5.3.ebuild)0
-rw-r--r--dev-python/tagpy/files/tagpy-2025.1-fix-setuptools-0.84.patch26
-rw-r--r--dev-python/tagpy/files/tagpy-2025.1-fix-taglib-2.3.2.patch44
-rw-r--r--dev-python/tagpy/tagpy-2025.1-r1.ebuild13
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.12.20.ebuild100
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.12.20.ebuild151
-rw-r--r--dev-python/zeroconf/Manifest4
-rw-r--r--dev-python/zeroconf/zeroconf-0.151.5.ebuild (renamed from dev-python/zeroconf/zeroconf-0.150.0.ebuild)17
79 files changed, 1435 insertions, 173 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 4b22b9607d43..5edbb04d928d 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,4 +1,5 @@
DIST boto3-1.43.103.gh.tar.gz 1242075 BLAKE2B 907fe54732510a077b049526c5524b1d774c411656aacf5f8ab26619c449fa81b16502aca7a1e69f22d87d12e1deeef526fb55d07ddec432e743df36a514b6ac SHA512 85156ed2492c4eac9dd9c52e71cf6d33431adeb9969f584cbfb0aab9c15080a34f1561f9077f509811daa6561d3ae869d4518764ce7a7f0b3d1a74c15073bb74
+DIST boto3-1.43.104.gh.tar.gz 1244023 BLAKE2B 7534126599f77fcbb7c4223cb961d753491a24b3ad377cf41fc87a844e46f40c7d7e148747a3b60a137b1e768a42ca52500db77be0f30b3501b6da974d95b119 SHA512 8219aa7a87a7840c4b81ff063888b8cf6300e17474aff320e794a7d9128247b167ada9b68811813b355c370398bd7b41b698a4930836da8e29637a4c0a4833eb
DIST boto3-1.43.78.gh.tar.gz 1213393 BLAKE2B b3e4188ba53609873bf6613d5667792d24634d728dfe0e0588917ade93c4d6c9a5a28d2e46bd5ca314723604a9cab9a4fae7ca1e6f9e496cc29671bc68849d7e SHA512 c98ede06cf4934089ba4a62c4fb03da692a5f9e2a415728e9f51979e33942229d8f4cd6fa02ac229b360b63a930fd91890f2ed645d17011d4a42e236943fd780
DIST boto3-1.43.83.gh.tar.gz 1218064 BLAKE2B 0758e28dd9b086615b045e107aece2ef46bee541110e51fdcd231c60cac0452f4cdfec58ea4041757835c195cd2b8becb3c4e9fd24ad7bc306d90b16af082f63 SHA512 ed110edd551138c5d63ab7ead46a4c9ddb410dea1b5e642045102936af22c4208f357f79fc994434fc6a7df7c16aba99052508103bad7599f8cc558ae1c5f842
DIST boto3-1.43.89.gh.tar.gz 1225424 BLAKE2B 625bb37a542644c8fe37aab42a115bf8be2e36373d7f6149dcc7e150e327c75b334ef480897be1d4954809b233a47e02854d7b28b4a3904f0e5cdcea3f0440d7 SHA512 1c04fd6df819abbe60d551c6d706f7254fe6d6758e95fd53ec70d4dd892b6f7bf69981cb001fc6ca5bc5885f083718b80a4fd045b146e7f4add16a50ac3a9d38
diff --git a/dev-python/boto3/boto3-1.43.104.ebuild b/dev-python/boto3/boto3-1.43.104.ebuild
new file mode 100644
index 000000000000..93fbbe6dd59b
--- /dev/null
+++ b/dev-python/boto3/boto3-1.43.104.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 1c0c8f085304..02cfc8c470dc 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,4 +1,5 @@
DIST botocore-1.43.103.gh.tar.gz 17299294 BLAKE2B d589d82cd6d0e1cb53280c606e04159291910f0eb5276d8dc158ae5bdae9e8b866a36f29eb87e7d545c63f73880c4b93edb6690f35c64bdacc48ca8f8825f4e0 SHA512 2d6f2991428ee3d6fd7fd7cc2d1cf28eabcd0732c73d8fda48da8a28c2c2d1a89296800c20ba3769e2b85ad5663484532428d6906eef48f825b8bdcaaababa92
+DIST botocore-1.43.104.gh.tar.gz 17309295 BLAKE2B c57dd3732e4970d0071aea6aa2587802ea62570d0ef51a0de450580e5c1bfa2f09597124cf59c342b6b7670c6b74bffa867154e4deed66fb633a18cff9582a00 SHA512 e00fc7568b208a32f8eb0ba301c121ff43eec522d8ee3719c1825d4609dc4f5be5131ad8160e02b908310f6566fa9897f40b70beb99bf9bc4c29a09b893585d5
DIST botocore-1.43.78.gh.tar.gz 17008224 BLAKE2B 137656d64f62025ca47f03c48ba84aa7eccae9dbc752c81f909c3c3f12dd843bb40173075fc7e255492385d8ea8824da08e5d3155bb5ff1dbfd62c858c0a057f SHA512 bd65c7fe451ef0b3bef21e25e557aa37748ca01f71e567b31b852ac356d323f1cfa6dd0e920eff7c52e0db879a34cf99eed6c1b841dfa6065e139362702f9d13
DIST botocore-1.43.83.gh.tar.gz 17038145 BLAKE2B f74b399b04f9b259e1a2f424719c4b80cc279627174ac96f9b79d85418ecc0442fbd27d7e79ccdf12526ac02489fde4254e360f216103f3cd5ff050b3cf1a838 SHA512 618c0ef0fc89879ee6900606e3378b2876901c4a63ede52529de12898a65e34fc41a8f0ad8ab682b7788626176f9b86904e257b63d88be9d58c53116918b1d12
DIST botocore-1.43.89.gh.tar.gz 17111395 BLAKE2B 25837125b5d9477b011c065594ffa1b49a2f5d0cf76e1c664aa5401d50dfe8dd9573d0ab3a60f739c796c32965a7dd7608e302a284bfcc97d9f7f4a8a2b698e3 SHA512 c9c0b7636fb7595d4ff3ee2ec7e1ef8ad3000e9e453ce6edb827a1152109fc2fb6b226bd08f27653fc1436444c39be6f160fa4f7c34eb50a7384988686933590
diff --git a/dev-python/botocore/botocore-1.43.104.ebuild b/dev-python/botocore/botocore-1.43.104.ebuild
new file mode 100644
index 000000000000..14ad5b2d1f27
--- /dev/null
+++ b/dev-python/botocore/botocore-1.43.104.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ # The test suite can eat up a lot of memory when running via xdist,
+ # and slow down some tiny tests. Let's just run a safe subset
+ # of tests known to be slow-ish in parallel, and the rest in series.
+ local parallel_tests=(
+ tests/functional/*/
+ tests/functional/test_event_alias.py
+ tests/functional/test_[cds-z]*.py
+ tests/unit/
+ )
+
+ epytest "${parallel_tests[@]}"
+
+ local EPYTEST_IGNORE=( "${parallel_tests[@]}" )
+ EPYTEST_XDIST= epytest tests/functional
+}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 0931a8aeef07..bde02f08e674 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -8,3 +8,5 @@ DIST cfn_lint-1.56.3.tar.gz 4782328 BLAKE2B 4428f330d2e21fefd7254c3e062b6af23187
DIST cfn_lint-1.56.3.tar.gz.provenance 10034 BLAKE2B 40af29c8024029066a39c6dfb07380e26fedc4dd75d4a89f7e6e6edacac35a6fa6534f68a09e2b93b74ac1a1d829e4c0c14cd94ce077921b37e761f65e6097b8 SHA512 24f89afdcc5afec8a258297b474cfc5798a2c0cdeb414c5ef3cd3dad382f8606d8832501eb8042326f906dd2de46c5387a4b74159505b697ead87f2fcf60007e
DIST cfn_lint-1.57.0.tar.gz 4865987 BLAKE2B 5d38fcc5a73abe8c28bec18d1454e681387f2fe4230605cdb982c60d8f4ddcae4755bafe0865645089f4fce1f873c2646479dd83a0645415b326483001104aca SHA512 fd5d806effdd5ca2593c208e9a50469668076a07acc183bb76441555818b9806bb0433bb196c099c2f9a9c3607dcf8a71ce144affd61c7f69eb411ce61d7981d
DIST cfn_lint-1.57.0.tar.gz.provenance 9756 BLAKE2B 9cc8e94f7d8c31ad889576f3797beb3009d59d290522fb95ddc0c769442a6adbabc4c510ba7d8678cc35e836bfcf7dd61357d45cf79b9d740cb2d693f29e0a2b SHA512 e1f02d3246b374381d1b2789ed56e0f626f5bac8737e9ea1d0b7a4fb6e0f206123dc1652109b75ab468c7e8d78ccb7cdef8abfcc64b0fb41e3c1a3008fc2725f
+DIST cfn_lint-1.57.1.tar.gz 4951978 BLAKE2B a6b573e538264617ef812fd50a98b5ad29613d21c2a5f4035bfb9eebb8f5f9bf2f1ac1507f14b953cc493970b4120d21d038fd7edb66c47ce97b969859b18cd0 SHA512 89357db3947f3692440595bad7424d43b6aac8c4057cc17406321ee9df6f3535e152d9b7affdabf496f3386929c7099bd07a7f376c2f6ea5d99de83fe72f28d8
+DIST cfn_lint-1.57.1.tar.gz.provenance 10222 BLAKE2B 5eb02b1d5c81bca5e8bcbbd23fd43be91151d0438fd2c5ffe544ed6690270d1ef7ccc4bdbd8056abc73d4a346af75d4285a0c48022bade78b61f2f19a58dcee3 SHA512 3f5b2d63d7751d534dffa9588d913ba37db6f875485285174bdaf77e4437876a8db7f508238d2286f6019f0277a6fccdf28243667ff0349af631c9f880f958b4
diff --git a/dev-python/cfn-lint/cfn-lint-1.57.1.ebuild b/dev-python/cfn-lint/cfn-lint-1.57.1.ebuild
new file mode 100644
index 000000000000..8ffb91672902
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.57.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/aws-cloudformation/cfn-lint
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.3[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.14.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-77.0.3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # different line wrapping somehow
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # crashes on 3.12+, probably pygraphviz
+ test/unit/module/test_api.py::TestLintByConfig::test_graph
+ # scripts missing from sdist
+ test/unit/module/maintenance/test_update_specs_from_pricing.py
+ # Internet
+ test/unit/module/schema/test_manager.py::TestUpdateResourceSchemas::test_update_force
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ epytest test/unit
+}
diff --git a/dev-python/cftime/Manifest b/dev-python/cftime/Manifest
index b204b878cfe7..3d4d3718360f 100644
--- a/dev-python/cftime/Manifest
+++ b/dev-python/cftime/Manifest
@@ -1 +1,3 @@
DIST cftime-1.6.5.tar.gz 326605 BLAKE2B 41971028ce294e69a9b67d9adc0d8346d9656faa05abd9b156d13441c459ee63f1b74f085081e8b7066fa8fc4e64f8d319a545bdda85d0dac29c2bc2e3da28ad SHA512 ccb19d9216536094a3fff4f9f396d284971647f55e3239fba358342e4afc8a4c5449bda2b6c3d930ed43b9cf9f2756c62d2f66b8356a341189f590625b721621
+DIST cftime-1.6.6.tar.gz 380802 BLAKE2B 2513dde7d96698509aa655d62473fca0d588cee346f933f283966c9a291fdafc41a50dcbba713f682511a6f8971225c2bd37a3b2ee1f2a02c82348cdda89c7df SHA512 f24924bcdd930079f8af6e3bdcfeb7e8768177a38fb07625ba02b7eac23eefb5c7eeff153fb0ac69b382b00558cc65c7930ef0ea7025dfa09061005fba1828a6
+DIST cftime-1.6.6.tar.gz.provenance 9762 BLAKE2B a4deebc020594b0abf1f1b0f70f2f884f61bad6c22509af49cc56fd9a773b66a627916d29ad16e1436bdc83236fc3920a22cac042ec6358a8bcfb2f6418e0fb0 SHA512 92f43350ae1c824959acd08b1ef3436ce8d02063d4c3fc373a3774e9c099f9580c5eff101e69bf40b198b874e2e83999abde19cc819234fe699be5a892edfee7
diff --git a/dev-python/cftime/cftime-1.6.6.ebuild b/dev-python/cftime/cftime-1.6.6.ebuild
new file mode 100644
index 000000000000..849614a695f4
--- /dev/null
+++ b/dev-python/cftime/cftime-1.6.6.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2020-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/Unidata/cftime
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Time-handling functionality from netcdf4-python"
+HOMEPAGE="
+ https://github.com/Unidata/cftime/
+ https://pypi.org/project/cftime/
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~s390 ~x86"
+
+DEPEND="
+ >=dev-python/numpy-1.26.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-python/cython-0.29.20[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/cloudflare/cloudflare-2.19.4.ebuild b/dev-python/cloudflare/cloudflare-2.19.4.ebuild
index 0a90bf91cee2..0ddfeabf2bb1 100644
--- a/dev-python/cloudflare/cloudflare-2.19.4.ebuild
+++ b/dev-python/cloudflare/cloudflare-2.19.4.ebuild
@@ -38,7 +38,7 @@ python_prepare_all() {
}
python_test() {
pushd CloudFlare/tests
- if [ -z "${CLOUDFLARE_API_TOKEN}" ]; then
+ if [[ -z "${CLOUDFLARE_API_TOKEN}" ]]; then
ewarn "Skipping some tests which require an actual cloudflare api token"
ewarn "To run them, provide the token in the environment variable CLOUDFLARE_API_TOKEN"
ewarn "The permissions needed are zone dns edit and user details read"
diff --git a/dev-python/cloudflare/cloudflare-4.3.1.ebuild b/dev-python/cloudflare/cloudflare-4.3.1.ebuild
index d437ed3e160b..302b0894a0d0 100644
--- a/dev-python/cloudflare/cloudflare-4.3.1.ebuild
+++ b/dev-python/cloudflare/cloudflare-4.3.1.ebuild
@@ -9,7 +9,7 @@ DISTUTILS_USE_PEP517="hatchling"
inherit distutils-r1
DESCRIPTION="Python wrapper for the Cloudflare v4 API"
HOMEPAGE="https://pypi.org/project/cloudflare/"
-if [ "${PV}" == 9999 ]; then
+if [[ "${PV}" == 9999 ]]; then
EGIT_REPO_URI="https://github.com/cloudflare/cloudflare-python"
inherit git-r3
else
diff --git a/dev-python/cloudflare/cloudflare-5.1.0.ebuild b/dev-python/cloudflare/cloudflare-5.1.0.ebuild
index dd30400e9fd0..bd53335cc711 100644
--- a/dev-python/cloudflare/cloudflare-5.1.0.ebuild
+++ b/dev-python/cloudflare/cloudflare-5.1.0.ebuild
@@ -8,7 +8,7 @@ DISTUTILS_USE_PEP517="hatchling"
inherit distutils-r1 eapi9-ver
DESCRIPTION="Python wrapper for the Cloudflare v4 API"
HOMEPAGE="https://pypi.org/project/cloudflare/"
-if [ "${PV}" == 9999 ]; then
+if [[ "${PV}" == 9999 ]]; then
EGIT_REPO_URI="https://github.com/cloudflare/cloudflare-python"
inherit git-r3
RESTRICT="test"
diff --git a/dev-python/configargparse/Manifest b/dev-python/configargparse/Manifest
index 965c6add6153..d5527d7321b2 100644
--- a/dev-python/configargparse/Manifest
+++ b/dev-python/configargparse/Manifest
@@ -2,3 +2,5 @@ DIST configargparse-1.7.5.tar.gz 53548 BLAKE2B 4ec999d7e5ac68189b6642b15d2bd2eba
DIST configargparse-1.7.5.tar.gz.provenance 9317 BLAKE2B eb08f865429758ab64c6982f51b8d1ef4d85e1c1fd344976e4a1146bc4e98336bbc56205f8ed08ece34e314eb5459d0a00c1a96733f0c7c046025bfcf0a42f1b SHA512 f1b87d21b556e4c59ed2ce74d5507c2af296ebaba7a0dc6a31f67492ca04305a5f93d3e7f751207c3094f2526e7815ecac0080d1c3eebbe2d7e6479f1a78c0d6
DIST configargparse-1.7.7.tar.gz 73397 BLAKE2B e2362ab5e391f11fd434289e75da15143f612be75fa2bd44605006dc3ed928a03f460dfdceded173c272d5f12c497eee2b6a70361b8a7b25cd68aaac74f68dfd SHA512 3b1e21a8b4fdcdf357ab0c74fe5db09a405dab13e4b84090ef1217e90f82ed84f6e286e56124292d57e4685d47c48afae90fccaa4acb56bb6ea69e0afeb8e31c
DIST configargparse-1.7.7.tar.gz.provenance 9585 BLAKE2B df4a7c15dfbc2656a501e73af5401c554f1de40e7d632193cfbc613ea819573b92b4150fdb0a4c20bfff11b994ccef7a8038d2b724ec330a768fab85e2c56f45 SHA512 1998aa807c619bd106e86aae5243e619e8e08581968821ae7ee2c598ea2d7085d1b68503ef1eac3029dc28c50bb8de39a9c30b67c1b1d7e5fac80e3a88cf130b
+DIST configargparse-1.8.0.tar.gz 74830 BLAKE2B c92939688e10e67660727a185d9baa31cd44889c469e0029f31c6dc649dfbeb41fd5f8089f77ab278f4227284fdb8db1d705d47d568b63bcdb967f07df22c4e5 SHA512 0403d793aed9357f86dd0da9208b9ac81d95bde3371560de7ddf9f836e5295786f011a47275c28ed1ce77d329e3c8f078dfeee509b17f9d112156e179ec8297d
+DIST configargparse-1.8.0.tar.gz.provenance 9444 BLAKE2B 95fb404132275353d0c8adbfc6394c7d9ee288fbca600ed708adc38c76c989074724bcaf1cb921aed51343feb2c01ce6ee0592edc86a755450175862f0ab88fa SHA512 21464b1765db90ca2fb6ccfb006af7e4e77405b23193bcba28661b522855788e7b0d2ba464d4a4d23b759fa27865b78d2e1b31695dc0a1311709b332fa849ac9
diff --git a/dev-python/configargparse/configargparse-1.8.0.ebuild b/dev-python/configargparse/configargparse-1.8.0.ebuild
new file mode 100644
index 000000000000..3aaef923b444
--- /dev/null
+++ b/dev-python/configargparse/configargparse-1.8.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/bw2/ConfigArgParse
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Drop-in replacement for argparse supporting config files and env variables"
+HOMEPAGE="
+ https://github.com/bw2/ConfigArgParse/
+ https://pypi.org/project/ConfigArgParse/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local -x COLUMNS=80
+ epytest
+}
diff --git a/dev-python/cysignals/Manifest b/dev-python/cysignals/Manifest
index f149e8507d7c..cc90f1da5143 100644
--- a/dev-python/cysignals/Manifest
+++ b/dev-python/cysignals/Manifest
@@ -1,2 +1,4 @@
DIST cysignals-1.12.6.tar.gz 79583 BLAKE2B 2b743fe0a1ec17443df484aef441fef73f8f49beac5160d3f4f95b7fc2ba25f3870670589807b1b11e27574bd190d652ded85920c030c1236f64f1134e47f64a SHA512 bfad82a6aed3627385abaf74a5e915970bb8d540d0d84a20d3f8722c6c235e35499ed966fe593c804480d8103f67a8e2d951324730176a92799f26175c2d79e5
DIST cysignals-1.12.6.tar.gz.provenance 9356 BLAKE2B 51a9f2a4e1c0a639b0c13db22eea4cdc513ea60795f2519991c6d13290c359a1fa20c0ab684a3d9c57e01eaac4e00ffd12585e085878abd60ca91c14e851d7d0 SHA512 2cb4075012971d69e285bd7ce504343c5697c2cd77ed1e2e9f4d763d73102cfd9e897ca93d6f1fb8d4758a5e8adb68700f5b0eedfc57084939c45e2121595c56
+DIST cysignals-1.13.0.tar.gz 77411 BLAKE2B 4785be76bffc0c6b5d11c47225323ec2c515f7ff5e4821f0e2d4b2cdcceb3ff3587995aa4e3611e1b43651c3581e2ff0d7d36593d50a9874581924b5d244bf3c SHA512 032b4f56f86c42dc7be59b857eb481b7b71846144897c6d81c53c8c1098a46bc7406129894af1dd77fac44cee3fdff428c8f30cdf37cbbc976ea028e9424629a
+DIST cysignals-1.13.0.tar.gz.provenance 9568 BLAKE2B ff0abc247f4e3c1bdb884dcdbc716f88d17d2acf92a79d57806514279bff05e0411a738402b23a020cdac11fe522fd44de0d5eb4b535ad5723b8d58a25f50f2a SHA512 bea5580fa79d0991c164ae0214e7d6183aa48fd872bdf6fb384b550561f47f93b107712fd4597be0ca5c0af3e59cdb8741e15c1aaeecd660febc0af72a7a82fd
diff --git a/dev-python/cysignals/cysignals-1.13.0.ebuild b/dev-python/cysignals/cysignals-1.13.0.ebuild
new file mode 100644
index 000000000000..76cb27e37648
--- /dev/null
+++ b/dev-python/cysignals/cysignals-1.13.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYPI_VERIFY_REPO=https://github.com/sagemath/cysignals
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 flag-o-matic pypi
+
+DESCRIPTION="Interrupt and signal handling for Cython"
+HOMEPAGE="
+ https://github.com/sagemath/cysignals/
+ https://pypi.org/project/cysignals/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+BDEPEND="
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_RERUNS=5
+distutils_enable_tests pytest
+
+src_configure() {
+ # bug 918934
+ append-cppflags -D_GENTOO_NO_FORTIFY_SOURCE
+ distutils-r1_src_configure
+}
diff --git a/dev-python/dbus-python/Manifest b/dev-python/dbus-python/Manifest
index 3ae74e8aa36b..8f8826d66ed8 100644
--- a/dev-python/dbus-python/Manifest
+++ b/dev-python/dbus-python/Manifest
@@ -1 +1,2 @@
DIST dbus-python-1.4.0.tar.xz 168268 BLAKE2B 17ed4ed1d6f76acf4dc55dc9d281081d0bb412811f0b340edd8c2ef767802dd0386ffa39cdbc7a61870b916b20c89bee0d6a5b6b8e9355c84d2fdc846575e465 SHA512 defd5fba8348635ce52654b7e93e6cacf52966f6facfb7bb04fc77f2f82129e0b7673d4f3d483ef3321985172987d8c3265b27b9200c68c39c729567ffa21456
+DIST dbus_python-1.5.0.tar.gz 203989 BLAKE2B 1c11bfc701acbe80573117c69f221b17e95210a8711e2cc6d36ce3f441a30953fc3ea10ce384ddce82f06d74b4294b6c7608e4ec46a02aca28467dfa23a69ea6 SHA512 f2de006030df74490df808ed5fe3041a1a0a97ff3ee3d38ecf9e8bd271487d7eca6c1dcd134c646aad0dd4bab7329d7b308ed3045d7e7d8fb3a5e36e1c5507ce
diff --git a/dev-python/dbus-python/dbus-python-1.5.0.ebuild b/dev-python/dbus-python/dbus-python-1.5.0.ebuild
new file mode 100644
index 000000000000..f79c626e941c
--- /dev/null
+++ b/dev-python/dbus-python/dbus-python-1.5.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit meson pypi python-r1
+
+DESCRIPTION="Python bindings for the D-Bus messagebus"
+HOMEPAGE="
+ https://www.freedesktop.org/wiki/Software/DBusBindings/
+ https://dbus.freedesktop.org/doc/dbus-python/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="doc examples test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ >=sys-apps/dbus-1.8
+ >=dev-libs/glib-2.40
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ ')
+ )
+ test? (
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/tap-py[${PYTHON_USEDEP}]
+ )
+"
+
+python_check_deps() {
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" \
+ "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
+}
+
+src_configure() {
+ use doc && python_setup
+ local SPHINX_IMPL=${EPYTHON}
+
+ python_configure() {
+ local emesonargs=(
+ -Ddoc=disabled
+ $(meson_feature test tests)
+ )
+ if use doc && [[ ${EPYTHON} == ${SPHINX_IMPL} ]]; then
+ emesonargs+=(
+ -Ddoc=enabled
+ )
+ fi
+
+ meson_src_configure
+ }
+
+ python_foreach_impl python_configure
+}
+
+src_compile() {
+ python_foreach_impl meson_src_compile
+}
+
+src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ python_foreach_impl meson_src_test
+}
+
+src_install() {
+ python_install() {
+ meson_src_install
+ python_optimize
+ }
+
+ python_foreach_impl python_install
+
+ if use doc; then
+ mv "${ED}"/usr/share/doc/dbus-python{,-${PV}} || die
+ fi
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/dropbox/Manifest b/dev-python/dropbox/Manifest
index 4810a5c0a92d..d003c09fa7c2 100644
--- a/dev-python/dropbox/Manifest
+++ b/dev-python/dropbox/Manifest
@@ -1,2 +1,3 @@
DIST dropbox-12.1.0.gh.tar.gz 1152840 BLAKE2B 61614cefcf4a7bafa5c7f68d906ff6afe772fe9a4a587f0f0eebbd880f152bd191aebccab0dc723c1c58f8fb772b6a956b03312e3b16d94754c21437207fe46b SHA512 8108efcf9bbd979807787bc545b0711e41356dc8a1a421df8eaa643bf0281e339d417e75a48b09ab2f3cd5894cf8c731c21e2d6ab3f5fe75349caf4422c8c28e
DIST dropbox-12.2.1.gh.tar.gz 1252631 BLAKE2B 45673f0845aa60bcb00a9fad2e5e0f2d6b843ddfd77c7db814dda2a17483264ff3473273829684163e589d759f791550030df9cce1be9adde000bd2335370dd1 SHA512 7247b94dfa97e1225d5e2f60c5dd55e25b3454610621781c4e097cce4cc402cd2eb96261e32990364b6d5eafbef2dd4b0df54b3e93bfa2cf07191ea46414a788
+DIST dropbox-12.2.2.gh.tar.gz 1292207 BLAKE2B 768b9b2dcfb496c2135bd5a4d4a84422126000b8e8b4dbf3e9fd89ba4a808a1485dc376ce40840b402a25b210545ea1c8c70b833e7c96a521b6105a83054ce07 SHA512 10d11f3d4258a36650da8a1e49845c9c906d31ca30bae3b601381e081b1d25acb6e343762d552914eb5a9dd12836facd68f524107edfd86f383a28e5f533cc67
diff --git a/dev-python/dropbox/dropbox-12.2.2.ebuild b/dev-python/dropbox/dropbox-12.2.2.ebuild
new file mode 100644
index 000000000000..1da37ff88e07
--- /dev/null
+++ b/dev-python/dropbox/dropbox-12.2.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2021-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_PN=dropbox-sdk-python
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="The offical Dropbox SDK for Python"
+HOMEPAGE="https://www.dropbox.com/developers"
+# pypi does not have tests, stick with gh
+SRC_URI="https://github.com/dropbox/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/requests-2.16.2[${PYTHON_USEDEP}]
+ >=dev-python/stone-3.5.3[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+"
+
+# disable tests that need SCOPED_USER_DROPBOX_TOKEN
+# and tests that fail
+EPYTEST_DESELECT=(
+ test/integration/test_dropbox.py
+ test/unit/test_dropbox_unit.py::TestClient
+ test/unit/test_dropbox_unit.py::TestOAuth::test_NoRedirect_whole_flow
+)
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ if [[ ${PV} == *_p* ]] ; then
+ local MY_PV=$(ver_cut 1-3)
+
+ sed -i -e "s/__version__ = '0.0.0'/__version__ = '${MY_PV}'/" dropbox/dropbox_client.py || die
+ fi
+
+ sed -i -e "s/^import mock$/from unittest import mock/" test/unit/test_dropbox_unit.py || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/faker/Manifest b/dev-python/faker/Manifest
index dc59ab34a53b..714b62fb4ef4 100644
--- a/dev-python/faker/Manifest
+++ b/dev-python/faker/Manifest
@@ -1,4 +1,4 @@
-DIST faker-40.36.0.tar.gz 2025903 BLAKE2B fb7877800cd1f2baf4ab5497d5996b968721396da21ead130d419537490c8bfe7d1d9a14c8799b70144e84be311b0c3ed6e5d6638f4a01802507ea5baca264bd SHA512 889e96ba9497dea82a909b47a183b6a6872b5b9f47fca4cc52285968b8f00f0898fd9e6b831769f775b4f298d0ec7e0ba19eafa2ffe3d0b08a9d023a7a131ba9
DIST faker-40.37.0.tar.gz 2025920 BLAKE2B 2b9456eaaa83cc0904a03462f9407a639126dd36820246b75fce3687287ac1b323a27ccec1390816628f13901bb2ce5cf767f85d73d6cffe038aa6d724a80bc4 SHA512 35458e864afadc9ee73b3ed40e3f99387f46ec122e6a1a29efa0dae47a4535c733bd61a72f5aa5629aef9c63de0696404512b1dff32ba9014cb056483309ed12
DIST faker-40.38.0.tar.gz 2029190 BLAKE2B 5cf20928b68bb9bfd899e4e2a597cf4e61ad606036b03632f9b2cb9ae853ecdabd3be0201c878bf8c0f6f68b17e45def090500c687e89187880a60358044c9bc SHA512 40007ace30ca733e0a7a8f5dfd4aeda628ee9a889b47f4e7f8bcfcc19630ce17da908856b15e6d9a07141dceb4da89bc8af10d070a0ed36b11170851cd05d981
DIST faker-40.39.0.tar.gz 2029463 BLAKE2B f4d5df1d00b456d973153a33b7642b0bee11c1439191d179914f54365a1302fe8e0a01cecb77ec61c7d567b672cd03ec28367431c05fdcd6ba5bffd9ed2e6ef2 SHA512 7a7b85f598940bd0b8f1a4dc01b49ad917cff593eff54f33a6a6ceb3a647c12a74e836778c5947fe04c7bdb67167455f413b3ba33335715c1e59ff4adfb337a3
+DIST faker-40.40.0.tar.gz 2029985 BLAKE2B 4d385b57376ce8732ff30d288acef671635050cf22b6ec77df42580c6986935625124bd7d86739eddc3d10a9088de90a361e158c81b14e7727ce169677876a12 SHA512 db5b29dfe440020586396d339074b3ac46e3629a959fb9e22ab645c9da36cfacdb336de33b5c64d82bc7acf418b13e77351b9dc767f913de9c77e30713d2c234
diff --git a/dev-python/faker/faker-40.36.0.ebuild b/dev-python/faker/faker-40.40.0.ebuild
index a2455830ee3f..aba1396e5071 100644
--- a/dev-python/faker/faker-40.36.0.ebuild
+++ b/dev-python/faker/faker-40.40.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
!dev-ruby/faker
@@ -26,6 +26,7 @@ BDEPEND="
test? (
dev-python/freezegun[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP},tiff]
+ dev-python/python-stdnum[${PYTHON_USEDEP}]
dev-python/validators[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/filelock/Manifest b/dev-python/filelock/Manifest
index 758e8be470a4..dcdfd76cf3cf 100644
--- a/dev-python/filelock/Manifest
+++ b/dev-python/filelock/Manifest
@@ -10,3 +10,5 @@ DIST filelock-4.0.3.tar.gz 244309 BLAKE2B 2aab4f046d725ffe46cd27397a0b516e0286bc
DIST filelock-4.0.3.tar.gz.provenance 9837 BLAKE2B 33b41794f69ee186863d93a9dabf62efd0a1e77c6790ab02506e5853decf99c54d58f2c660754896c6017128d20da72dc0f1ed9f22622ec4562eb92dcf93a385 SHA512 c53042feccf33df09589300ad1ce8ee9cce85ab65a8a964f6ed95b42f659d632c82cfecdc6e5463d1a2ed76454898ae98439e7192ea0ba04e2b3ab6855884d96
DIST filelock-4.0.4.tar.gz 244639 BLAKE2B b6ad81938887361bec2d0ff60470467e26e20e97523973c96e1eb211a7b46918f8f70357002ec169d56db1d942486e0abfe4e2c79efbd05b37d50c0d4ee0339b SHA512 6f092fe7a52ee4de0df0209bed7658a4f146b59d3b83fbbf2c5db82a89c70e447e9c8b6445b12120082ca2218db1c1ca78317e1ef2ec1280ee00ee83a0ab40f9
DIST filelock-4.0.4.tar.gz.provenance 9751 BLAKE2B b47776fe572d7d93b6e66be7193e3072086618683c49b81dfe3557ccc5e4d00ed27e3ee19564d328db4f2ccd78b590fb1c1860987a91d7d27b451465348127ec SHA512 6ce658d65cd665a56105319a861fd2cb27f0550793cd9ee81ca32c3643c3a6c7c3c5c04b62aae740db60494f1e3de79188d947adb3defe7108789d04b3a79e1a
+DIST filelock-4.0.6.tar.gz 248237 BLAKE2B 08cab4cea0d7fe8ed9c1ebc2d362d50876bb062530e6bd1051aa40a835355a8a1389722e2d1caade856cad8d4bf0615a108c1be58b5ad947ffdae476ad827b32 SHA512 f3260793d88e8aa14edde97b42b73bffe413424595e99da240bc3d00f0ddb3e066023c9260abfbe0041113f0fee18902a69777e09c516e2015187e2d3752e953
+DIST filelock-4.0.6.tar.gz.provenance 9602 BLAKE2B 9eb7759a37e631eee2ec6abfe52c8051f2c633a66a9448519be7ff6bbd32a12753f564e11c92b91f07bdfc46e074bb19853d8de737fa14fa0152b159e8e19cde SHA512 c926e1fd4389df1d7ba6245850ff5672afb7fab80dcfae41f0344a6c2243d7446e6107c864a3d1335229132bf07837445eac070496955d52450787d19b917229
diff --git a/dev-python/filelock/filelock-4.0.6.ebuild b/dev-python/filelock/filelock-4.0.6.ebuild
new file mode 100644
index 000000000000..51d73c002e05
--- /dev/null
+++ b/dev-python/filelock/filelock-4.0.6.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2018-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/tox-dev/filelock
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A platform independent file lock for Python"
+HOMEPAGE="
+ https://github.com/tox-dev/filelock/
+ https://pypi.org/project/filelock/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,mock,timeout} )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # TODO
+ tests/soft_rw/test_soft_rw_async.py::test_async_leaked_singleton_is_closed_on_teardown
+ tests/soft_rw/test_soft_rw_sync.py::test_leaked_acquired_singleton_is_closed_on_teardown
+)
diff --git a/dev-python/fqdn/Manifest b/dev-python/fqdn/Manifest
index 9b67bc7d2ce7..c6eea3312d28 100644
--- a/dev-python/fqdn/Manifest
+++ b/dev-python/fqdn/Manifest
@@ -1 +1,2 @@
DIST fqdn-1.5.1.gh.tar.gz 18334 BLAKE2B 24dfd88a8176e67209350fe20e446cfee848c392795cde09725526a52af0a9adc6908a4eb6d5dd3ad6f8a11546acb6b82a7b2ad591997010dfdd0a1d235f57ae SHA512 d9d7d1bb8798c63973534bf45fb9bc0ab57b1600c6597212129debb97a908140401f5477f33b83ea273e3f9a2a852072110245a09596ab9a58a10be8043c57fc
+DIST fqdn-1.6.0.gh.tar.gz 126757 BLAKE2B 929df703b2cb622446661ca585c190cfe471ac9f985e301a5b7fea8e6ebdfb0233df63fbc6b1376eaccacbce188cea62a2864d04b5341e895f4d1d00b06fa800 SHA512 d1a18c8dde49abb64e846f46763ab808930049ce323b5691825c7f465307797947e8af2764e17beb1dbd2c4ae5788ee5a46d2315f594235df12cb28ea35558f2
diff --git a/dev-python/fqdn/fqdn-1.6.0.ebuild b/dev-python/fqdn/fqdn-1.6.0.ebuild
new file mode 100644
index 000000000000..39d5c199f77a
--- /dev/null
+++ b/dev-python/fqdn/fqdn-1.6.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2018-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="RFC-compliant FQDN validation and manipulation for Python"
+HOMEPAGE="
+ https://github.com/ypcrts/fqdn/
+ https://pypi.org/project/fqdn/
+"
+SRC_URI="
+ https://github.com/ypcrts/fqdn/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+distutils_enable_sphinx docs
diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest
index 077a834ee250..637a5470ac77 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -6,3 +6,5 @@ DIST google_auth-2.58.0.tar.gz 380018 BLAKE2B 7c78844e9a180221a7d4b666bf3126d36e
DIST google_auth-2.58.0.tar.gz.provenance 5866 BLAKE2B 6adc541e80e6d127a03000cefb2de80c607e606463e2bc6c81b7be5350dbf1762723f999c5bbd97fda4a7bac536b1d3c76eb6068105f0fddb5e704535c112952 SHA512 a3d0c6d024fc9eee6fff677a81bc27028a4aac2d7cf281a32f84d961d885a8c5da015a12e29b2bf8de22e22d1ed731b590674aa89a22dd5dc8fe593c04d70289
DIST google_auth-2.58.1.tar.gz 380459 BLAKE2B 81171f1be6af057391a0922e2f507bbf347f1e6b4e912f128988a6137d725c3e43b13e80ef59b8105a4166ebec49f4308b30406e39f5e43de634dbceaa7e81d3 SHA512 ca1a6237d95eef44d3f04edc99b53c59c9838fe9e575d2048df164b511223fa33aa456b8461dc1f526adb395892c94937cc940c8d5e8e86fc243cb5c80542173
DIST google_auth-2.58.1.tar.gz.provenance 5819 BLAKE2B a2ee8c34de0687e231037f52b705216ab84eb21000d214ccfbdf759307210f4ce2d483d7ca14e8f4cea8678712317bac8c1ffff275df82890db69c53ed02aefc SHA512 51fb242f5e4d425c1bb4c6a8012e8aac456be952c4e20609456ff8198a8761d3006db68f530c7c094f9ceca63d8142aeb46fc6132d03b490f5f2ea9802ea981b
+DIST google_auth-2.59.0.tar.gz 381025 BLAKE2B c9d80ed92e21b83fbf04d9c81a705573c1d0e2191f8ebc5b9364b30ee137e65f81adbd0c7b1b576cbd947f3d08cb70379cf0f1d8587bac3e891feb1031d0370f SHA512 f2c9ead8a9f6c398656a4c995a1f1c60a53ee22b19df2fe0da5a0d6e61b7ccadca86576d20e0b7252eecb3b16e3295a57b924df6dfb0b3a397b1a450b274e580
+DIST google_auth-2.59.0.tar.gz.provenance 6148 BLAKE2B 0c1ef17d9a22b223293fbdd365cf46fb4a620d3838160ea00213a41b15c958d1a4698d8b4cca45743cab43dcebb896e2cd5baaf1ed032ea56092af4f33c4ee1a SHA512 f9c45a31766e584fba8e3d6d58aa1843150c164749036be7b57b1db074bd1981cbae488583da457d198f7577d89916572431a394f76c1be6cd505f4e01ea64b8
diff --git a/dev-python/google-auth/google-auth-2.59.0.ebuild b/dev-python/google-auth/google-auth-2.59.0.ebuild
new file mode 100644
index 000000000000..e460c792a87a
--- /dev/null
+++ b/dev-python/google-auth/google-auth-2.59.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google Authentication Library"
+HOMEPAGE="
+ https://github.com/googleapis/google-auth-library-python/
+ https://pypi.org/project/google-auth/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# TODO: rsa is now optional
+RDEPEND="
+ >=dev-python/cryptography-41.0.5[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/aioresponses[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pyu2f[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,localserver} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # tests are broken with up-to-date pyopenssl
+ tests/transport/test__mtls_helper.py::TestDecryptPrivateKey::test_success
+)
+
+EPYTEST_IGNORE=(
+ # these are compatibility tests with oauth2client
+ # disable them to unblock removal of that package
+ tests/test__oauth2client.py
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:,<[0-9.]*::' setup.py || die
+}
diff --git a/dev-python/imageio/Manifest b/dev-python/imageio/Manifest
index 90ed2b65f709..e02dd7eeed3f 100644
--- a/dev-python/imageio/Manifest
+++ b/dev-python/imageio/Manifest
@@ -1,4 +1,3 @@
-DIST imageio-2.37.3.gh.tar.gz 583529 BLAKE2B 6b48eda8cd2f07c8a4fdfaf2d34c3ed7a24fbe48965a3996ca63e7be7389806b5e6f5565a171d98b4891c3bc4394c807ac6d851567a0c9aa677e171a719c0f80 SHA512 5b35ba5997321e88e0ff8c9953c579f1c6b16259a7a97f7a8ee0d921b5e8464de24000596e0a9df26efad20716ddb21a0caafba29cfd9744e724327629aa7cdb
DIST imageio-2.37.4.gh.tar.gz 586659 BLAKE2B 29823368f9c9ef520e28b7d219f60266d9ce68e06a9fad39117d3dffee0bd154eade2150e3b4e5d0b78d3e4b6f04cd35d233b11cfd74faa89351ad16d2ec6912 SHA512 43a902ee537fb3ca4b626b7fe9762e5bdee88ada59a5ac7c725c1ca5b29d10d0c7b27a5a9600354990cfa003fbfd513341db0ae80a0d09c065e9b1fb75a4f3f7
-DIST imageio-test_images-1121036015c70cdbb3015e5c5ba0aaaf7d3d6021.gh.tar.gz 195497374 BLAKE2B 0083212fd63c196dc2e721bff8f89c177b6741317b6b1c6ae9d00a8dd5fb6366efa3f01b9bffafafac7177cfdaa4d700077a2bad42ada735f5553e97f651c4ad SHA512 1bb1f36a069bfaa0d0ffe5258534e02e49237fc6ce85fe3d3648650130165abc9b3d5ff0e7e5861ee1d94add00d4258575f9c2f8556debecf597bdaa5499efe0
+DIST imageio-2.38.0.gh.tar.gz 602304 BLAKE2B 5e9cf667b05b7cb10ff164b86999ba6a09bb8e9c059fc7559d95a094642f632ded297da833ce4ec0aaee36a5cc0887952dd5c9e05d7de471469de4d4942dc365 SHA512 748d05592d9fbcd41e043c99946008dec5947ab7eefe97c99414203651bd2e9b26ea665c1c1799f56a2b3da42f4ae69d4e3afa3f1c0980abebed8b1e9585cf88
DIST imageio-test_images-f676c96b1af7e04bb1eed1e4551e058eb2f14acd.gh.tar.gz 195639504 BLAKE2B 54e6788a70e111aa1864b7bc6117bf13e3fe016aa0a8c1fda3f776f78050b793e778868847f02bfa644e7a7fe0209d15acac5d97590f4a220d016d8d00bbefc5 SHA512 351731e741d103da4c7b9ddc4c8e4dfb7fd3791fa0290d428417d63726623ffe6b61c0111ca34ccd0fcd086de7cb41146fbfe714eb8d860b82f7a79df430d898
diff --git a/dev-python/imageio/imageio-2.37.3-r1.ebuild b/dev-python/imageio/imageio-2.38.0.ebuild
index 8d29630f191b..aa1054d835cc 100644
--- a/dev-python/imageio/imageio-2.37.3-r1.ebuild
+++ b/dev-python/imageio/imageio-2.38.0.ebuild
@@ -8,8 +8,8 @@ PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1
-# teh test suite always clones the newest version
-TEST_IMAGES_COMMIT=1121036015c70cdbb3015e5c5ba0aaaf7d3d6021
+# the test suite always clones the newest version
+TEST_IMAGES_COMMIT=f676c96b1af7e04bb1eed1e4551e058eb2f14acd
DESCRIPTION="Python library for reading and writing image data"
HOMEPAGE="
https://imageio.readthedocs.io/en/stable/
diff --git a/dev-python/isort/Manifest b/dev-python/isort/Manifest
index 51e47040a0fd..387755a6aa2f 100644
--- a/dev-python/isort/Manifest
+++ b/dev-python/isort/Manifest
@@ -3,3 +3,5 @@ DIST isort-9.0.0.tar.gz 665294 BLAKE2B 892eee505354e52121b10ee4b65ab331420605a41
DIST isort-9.0.0.tar.gz.provenance 9605 BLAKE2B 02cb3f45398da5dd432c719c12d5456055ff94c89cb3a1bafcbcdfdfa4010f305c8e8fe9fe740ab534edaece1972052510d0531cf56637983f6dd38e23c8ca00 SHA512 b386487e2e2667d14c2efa638230323c91d817b5d509161da794dc9727f1275b4fef6c51aa5f720a32b32a8644be97067b0516d56398fda9534fc7ce86fd6a2e
DIST isort-9.0.1.tar.gz 667724 BLAKE2B 78892358e7e8c21a442541ef212517fef1742bba45b890cb7f1a38a25a8115edd1ceb1e5974345804b0cf145db6bc35d49a50c91da15e0dab4b73e965450a0e1 SHA512 edf386ec3497c1b9e540015dea76f8328593f43d2aa391acad459f175fe1b3a552d4ca0e75187bc92ef1319cb4c77bb774cb22ef9b46cf89daacc754bb454f93
DIST isort-9.0.1.tar.gz.provenance 9323 BLAKE2B 4910211d4f53834fae20740638f32b117ba19260c73e7408b5ca4d26ed65246571d35d9d3636b5213e3270c0406e70ba404812f85604f8c90c371a5f9775d8d0 SHA512 1b5e6ce351db6a9dae510eb4525f2f1cd6083ff55673d055be73367b02a92bd66fb47727e92a8189aff617bf857fb2632a490145f49762673a16706698ab7c57
+DIST isort-9.0.2.tar.gz 685196 BLAKE2B 5b45c7dba7a7a313716acc5dc2c26a50ddb7993879beff746dc80f558098f9bedfdebb92890a3e946d2f1a6fff757df19358562a440ef9d2555a6748fea2b1bf SHA512 78274fb9876684abed3821673245d061bf3fb2b884fca487c8920a96736fed573fa7747284dd6c075f2712b83513de08352d46697d4b7b863b63d4fbbb21322a
+DIST isort-9.0.2.tar.gz.provenance 9832 BLAKE2B e10c5975a84d8d891676930b2852f91339d4a3e7417b7309ab557500b3ef36defcd9be1af4601279781e228195679ed9c523b355f823deea8dd67a064342b6fb SHA512 f81a189b42a3487b009af335f750fc1400b55b18af8ac10f20d373c530f1e09bb0d269e6f7314d9b586fc3a2c353a588fc15ec17b08b139f7903d579f94b9545
diff --git a/dev-python/isort/isort-9.0.2.ebuild b/dev-python/isort/isort-9.0.2.ebuild
new file mode 100644
index 000000000000..f0e75dd60fda
--- /dev/null
+++ b/dev-python/isort/isort-9.0.2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/PyCQA/isort
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A python utility/library to sort imports"
+HOMEPAGE="
+ https://github.com/PyCQA/isort/
+ https://pypi.org/project/isort/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/black[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4.6[${PYTHON_USEDEP}]
+ >=dev-python/mypy-extensions-1.1.0[${PYTHON_USEDEP}]
+ dev-python/natsort[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+EPYTEST_PLUGINS=( hypothesis pytest-mock )
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unbundle tomli
+ sed -i -e 's:from ._vendored ::' isort/settings.py || die
+ rm -r isort/_vendored || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ # Install necessary plugins
+ local p
+ for p in example*/; do
+ pushd "${p}" >/dev/null || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+ popd >/dev/null || die
+ done
+
+ local EPYTEST_IGNORE=(
+ # Excluded from upstream's test script
+ tests/unit/test_deprecated_finders.py
+ )
+
+ if ! has_version "dev-python/pylama[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/unit/test_importable.py
+ tests/unit/test_pylama_isort.py
+ )
+ fi
+
+ epytest tests/unit
+}
diff --git a/dev-python/librt/Manifest b/dev-python/librt/Manifest
index 3b0fa29e2a72..d5cbdaa4077a 100644
--- a/dev-python/librt/Manifest
+++ b/dev-python/librt/Manifest
@@ -1,4 +1,4 @@
-DIST librt-0.13.0.tar.gz 211402 BLAKE2B 765dad1880048eee8884b87623f664f8b641f418dbb5c3a4e9906cae9f1f0827d67259016e7391b311c1bc6213dbdce8d9f8b3d377a0118210873a2492f1fc62 SHA512 c86e17b5a06193b7e937b0a496adbecb0a76c2ccc0d58a833050e5d47c748f0677356befdc315e90b81e015e83c0418d2e5782c3061e64acfd061f6f80d91e97
-DIST librt-0.13.0.tar.gz.provenance 9729 BLAKE2B b6e38cf63e41464b44a0ec3b1264c95d43e4870becbaf0cfd9340e67572f52c2ab326a93dc772b06865dfe2097a9ccdc58f6ddf0a846df2d2f56cbbf1ef721e9 SHA512 51132f126419e1d690390ddc44583eb82de0475a47a86b6af09ea643c63d4028be7ad35f92b55e7d43e9daa8d302b032c7c1d2529a59329166df3f8bf118305f
DIST librt-0.15.0.tar.gz 214338 BLAKE2B 9b5e0ff51afa377aebbff37552bf498269eeab12bd5df39d8c3bb1512d9050280f934e28e9bebbc3007a5dd292a87503e4821860f294f727dda585c992d94b4f SHA512 29ed67971b6c452be6a5b4c60c16f9e9cbb0af4aa6be670bca6072801c6de192a777a1d82ad3c721f0ab8d05cc546899cfdc72a8a666d1dbb8d22d0e13f98a12
DIST librt-0.15.0.tar.gz.provenance 9733 BLAKE2B 61378ef2ff8a4a2889a6805b97faa71550f0de1878a3732352a5a4bf298cd65f4965ca4d6b606342ebe0f620211151415e5275009ad5b5591f2a46824addeb90 SHA512 99913591daa2988bfbd832d85bcc4dbbdf89e891cc652c579677831499d73278609163f2cf3248c2d07e0e16d334f6b5640256ab272cfb210313e26e94ce56f5
+DIST librt-0.16.0.tar.gz 219839 BLAKE2B 8d102d1f75b2428340148b66a334691cba6b063fcf067485404805722ac74bded0750af0845d93bd40fc63be25bb238de7272ce47eb6486c8859eb9f2996a509 SHA512 2ac956675262de2cadb1f30e7bb573eba83a3d07470df470e2b9fb965465cfc1f6619e12a5fcb83e28948fb468ec3bc8a0b6466cee34f81c881f429769e7bea6
+DIST librt-0.16.0.tar.gz.provenance 9641 BLAKE2B 517810bcccb6e4bcd0d7da1af0b64651abea1f786e354ebf27a3c4172f304759063174259f551b2850942530a2d5943c138310f328c3a7a4dc6d697a32b0ee05 SHA512 c876a55f40f44a1eec82bb194897513858a3854b64b82bae56d81a2abf43dc703d0a949e79fd50560604456e0aa13ffa6dcdcee46315f77635c3fce86dd43520
diff --git a/dev-python/librt/librt-0.13.0.ebuild b/dev-python/librt/librt-0.16.0.ebuild
index 82ffccb0bec0..458c72634e70 100644
--- a/dev-python/librt/librt-0.13.0.ebuild
+++ b/dev-python/librt/librt-0.16.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT PSF-2.4"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
BDEPEND="
test? (
diff --git a/dev-python/materialyoucolor/materialyoucolor-9999.ebuild b/dev-python/materialyoucolor/materialyoucolor-9999.ebuild
index 09e6e0e9a9c7..676b122d80aa 100644
--- a/dev-python/materialyoucolor/materialyoucolor-9999.ebuild
+++ b/dev-python/materialyoucolor/materialyoucolor-9999.ebuild
@@ -16,7 +16,7 @@ PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1
-if [[ "${PV}" = *9999 ]]; then
+if [[ "${PV}" == *9999 ]]; then
inherit git-r3
BDEPEND="dev-vcs/git"
EGIT_REPO_URI="https://github.com/T-Dynamos/materialyoucolor-python.git"
diff --git a/dev-python/msgpack/Manifest b/dev-python/msgpack/Manifest
index 979e9d0746e6..ff7e505c6f86 100644
--- a/dev-python/msgpack/Manifest
+++ b/dev-python/msgpack/Manifest
@@ -1,6 +1,6 @@
-DIST msgpack-1.1.2.tar.gz 173581 BLAKE2B f1631eef4699525d58f258194a9ca216294eb0c4966b264eb2bd0cc175400793d2228941d7035ec7b37a49a2b2a1cdc3478f677940b262275248963e1f811798 SHA512 75b1536e180f6cdd2cb7b525d7c4bd79ddbe8807a5276b2e119f499769497552b682a7ef76df9a82957832b7646853be8c6df5bf2881c61d716fa3de9042e4fd
-DIST msgpack-1.1.2.tar.gz.provenance 9256 BLAKE2B 0b8cb372ad31aae1a03e9c9467264b0eea53849a3d291c16426f91eaa8ee61eae69f313da9bad8cd64ed355e787553cfc7deed7aa709671e4296aa153c9c7988 SHA512 64eef61e138039043d7610d3718fb9374bb65704f1c2b7cccabf37c44f316f2cfa9b1695fd5918c1f2b6526332bb570293019a0e59c3aa5f2918905c904b8c53
DIST msgpack-1.2.1.tar.gz 183960 BLAKE2B 3fca10a89d0259ba6bcc26d9e98a69e64b82662f3bec852e26073d581c4df7f6d5f9655d94e23c172d9d8e57de5850da9df87de61fc7ffeae13a9870f21e1488 SHA512 3e018978b2b3ec04508c6b8a12a16daf23e95f7d7c1f846e09e27082197a92566e3c4c5a8a6db51c52b1c8ab66bb55d4d1498373bab99a7fd193efaba53834eb
DIST msgpack-1.2.1.tar.gz.provenance 9819 BLAKE2B 2f03d8e995865b73eaf4cf51ba502082f44b16b13960163153e9dfc14019b42fc4678ff7af923642198c7a128afa4388640de4a626c825f82469216fce369cce SHA512 1b9f4202669c4ffa29ef6bb985d860a6b6f58f1b24fd46cc3720eb53beeea629db5d3b627386b2980cb4bcfae51e83d246e0eaceef20b5e92c231f7432d20fac
DIST msgpack-1.2.2.tar.gz 187025 BLAKE2B 7072dad7e36529fb1999c4beeebe714b4120b1fb0ff930f400c379dfccdcb6d7e99233fa222602e3186ddf04b06e3fa8daae0205a4b3b7c847b3a5df3a0a207c SHA512 9cd93a2251328602f6a44a1e110ce637181863508e5a794b78aa78355e0fc129d585766eee8e862aeed9ae5c3f4f7729ca73a618ee30639d31e975e0823b6a38
DIST msgpack-1.2.2.tar.gz.provenance 9813 BLAKE2B 5960a9b6dbbd7be67f1447cbd7e8eaf099c4c3576aec8e8ec8b52e9b775cd2a40625b2c8ea2bec9aa410d3ce703455e8174e5ad04d79981b32108be45992c976 SHA512 c9e19591ed9f72c1e21226cd02e3db616eda44caeb9cd7845ba83cff0847d435948d4770ef9fe5b746ebc2ee6fb189f3de4efd802d278f82cbb075c478530889
+DIST msgpack-1.2.3.tar.gz 196517 BLAKE2B d5369b551918b4234399b7922879006332602059186be2bcd01203cf232a4bf05b30658a41c76dc8320960dc9c25eba423d626203bfcfd699fbd054f5ab9051e SHA512 eb18277932ef589b7e3024ae2eeabc0bbf6c6cb13b576838c325c4acd0d040e5378ede8dd334748a0840c0b5a67631cc14dbc52359167fc85e513e37aeee6a5e
+DIST msgpack-1.2.3.tar.gz.provenance 9868 BLAKE2B c3d880b9ca48bcc390580d857037126e8d3abdfd4874668f2b78596c9ee57096319dc90c3a04231e11c70764da6e5c9c020a03bd80239486f834d7f96d8fa891 SHA512 0d838d43aec5bdbb954e924ab253887c64d2e58167103358e90664630a23fc780aab5d9d74f3ede13869b7a56c6eb43401685f2f6966d5d0719cb85b5204a7fe
diff --git a/dev-python/msgpack/msgpack-1.1.2.ebuild b/dev-python/msgpack/msgpack-1.2.3.ebuild
index 7d4fd7d28e4f..250ffad98a61 100644
--- a/dev-python/msgpack/msgpack-1.1.2.ebuild
+++ b/dev-python/msgpack/msgpack-1.2.3.ebuild
@@ -19,14 +19,14 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
IUSE="+native-extensions"
# extension code is relying on CPython implementation details
BDEPEND="
native-extensions? (
$(python_gen_cond_dep '
- >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
+ >=dev-python/cython-3.3.0[${PYTHON_USEDEP}]
' 'python*')
)
"
diff --git a/dev-python/oauthlib/Manifest b/dev-python/oauthlib/Manifest
index 9221b5cdc29b..da20baa5daf7 100644
--- a/dev-python/oauthlib/Manifest
+++ b/dev-python/oauthlib/Manifest
@@ -1,2 +1,4 @@
DIST oauthlib-3.3.1.tar.gz 185918 BLAKE2B fd83cf349e0ecbb132049b6b8d2c124b2385396e5cf1c9828cb4885e53c905613fcaf397786eedfae5cc535f3faf82fe2e9c21cec82bd3afbbac2326dd186288 SHA512 f9894a2ef2413505a89a86e0f008310a9e38f4c662b1590816e051d563fd283a94dbe8e8dd61d0e9b01143801d7e747ac9a67a704a4267ba21d8c8382b1a2a41
DIST oauthlib-3.3.1.tar.gz.provenance 9612 BLAKE2B 2772eeabbdb8e767a9f6b59a3304de6333df368f2c87c997f86d8208d28ccb7f4ccc224ecaba7bae2953fab662c2f3dd833500e6dc4c56a6c7cc23e264094052 SHA512 eea7bac42d8e0e279e7904970883b6ac18c1a4b27483d21be6e1d8d1f3ed7ebbf69dde39773b2bd5031fc932405c02fb5109bea19c5f810412da0b9f8c68782c
+DIST oauthlib-4.0.0.tar.gz 187232 BLAKE2B 6018af38ad16fb768232f49b7ed8c045ccb2244460792ddbae634336a805680363ce266796cea85a0b34589d9a2dcc6423f6d39e3cbf6b9280ed826496651502 SHA512 38327549a02899ea4a3bb1c20e45e42ae75df30a3846b6eb4bf3a96440023c15cb2f582de115cccab5163353e6ca1a7bcfea14dc8446a3d7849cab44ef60e5f5
+DIST oauthlib-4.0.0.tar.gz.provenance 9633 BLAKE2B 98d20c49956aa691dbe9cf0af8650df9fec9ae354b313dc2ec0a8e566725bac6bdab4896e6361ac608e3cc7611433305d610f12f6be5f9c07729d5edec6e702e SHA512 16f7c3cbbb8ca07d1d9c3d5d7751e8b21a81086830fcd3f944aaeb5a2a96f7003e71fd11bdb3e7a0251d908cc6b84f0f0fe82e31414182b833bda3fc8a3d3ed3
diff --git a/dev-python/oauthlib/oauthlib-4.0.0.ebuild b/dev-python/oauthlib/oauthlib-4.0.0.ebuild
new file mode 100644
index 000000000000..f393c3d43eb9
--- /dev/null
+++ b/dev-python/oauthlib/oauthlib-4.0.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/oauthlib/oauthlib
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Spec-compliant and thorough implementation of the OAuth request-signing logic"
+HOMEPAGE="
+ https://github.com/oauthlib/oauthlib/
+ https://pypi.org/project/oauthlib/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+# optional extras hard set as RDEPs. See setup.py
+RDEPEND="
+ >=dev-python/pyjwt-1.0.0[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/opentelemetry-exporter-otlp-common/Manifest b/dev-python/opentelemetry-exporter-otlp-common/Manifest
new file mode 100644
index 000000000000..300afb2aed4b
--- /dev/null
+++ b/dev-python/opentelemetry-exporter-otlp-common/Manifest
@@ -0,0 +1 @@
+DIST opentelemetry-python-1.45.0.gh.tar.gz 1715368 BLAKE2B 6a70a94f38df7b038eca1cf815ca93deaf58c94aac0996a24d08a0f9243651dd1e0c8c4f7daf9b1bc6274677ed1519fa0e9e72243fe266765a43fc6d50a4301a SHA512 c05f1fd1f6b2f8de830d2d2bdbaac01c47aa0b4615091f6fd78c39ef7e4aba10c2bd23ef4906e5b9e4ab46b2e55f8321f917c900bb930988d1cdfc85e9a77527
diff --git a/dev-python/opentelemetry-exporter-otlp-common/metadata.xml b/dev-python/opentelemetry-exporter-otlp-common/metadata.xml
new file mode 100644
index 000000000000..230485b2b012
--- /dev/null
+++ b/dev-python/opentelemetry-exporter-otlp-common/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>falbrechtskirchinger@gmail.com</email>
+ <name>Florian Albrechtskirchinger</name>
+ </maintainer>
+ <origin>srcux</origin>
+</pkgmetadata>
diff --git a/dev-python/opentelemetry-exporter-otlp-common/opentelemetry-exporter-otlp-common-0.66_beta0.ebuild b/dev-python/opentelemetry-exporter-otlp-common/opentelemetry-exporter-otlp-common-0.66_beta0.ebuild
new file mode 100644
index 000000000000..826ca955ef67
--- /dev/null
+++ b/dev-python/opentelemetry-exporter-otlp-common/opentelemetry-exporter-otlp-common-0.66_beta0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+# Package follows contrib versioning, but is distributed via the main repo
+MY_PV=1.45.0
+MY_P="opentelemetry-python-${MY_PV}"
+DESCRIPTION="OpenTelemetry OTLP HTTP export utilities"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://pypi.org/project/opentelemetry-exporter-otlp-common/
+ https://github.com/open-telemetry/opentelemetry-python/
+"
+SRC_URI="
+ https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${MY_PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/exporter/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ ~dev-python/opentelemetry-sdk-${MY_PV}[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # missing opentelemetry-exporter-http
+ tests/test_http_client.py
+)
diff --git a/dev-python/opentelemetry-exporter-otlp-proto-common/Manifest b/dev-python/opentelemetry-exporter-otlp-proto-common/Manifest
index 9b67d89df94a..7c0b17310c63 100644
--- a/dev-python/opentelemetry-exporter-otlp-proto-common/Manifest
+++ b/dev-python/opentelemetry-exporter-otlp-proto-common/Manifest
@@ -1,2 +1,2 @@
-DIST opentelemetry-python-1.43.0.gh.tar.gz 1601072 BLAKE2B 9ea017308ecc0e3d4b00b86bf384c8737341babe5690defd33f0455af248052a4492bcaa793ea5a2bdc7a2d1cc27a708631651b232bda788fb535a7581bf844a SHA512 ec8b5862f9bc8aaa60ff765cbdf72ce488ea8b04efa49549901d73b909f5f66a187e8e345ac8b085fdff03207787539ff6a6f75ceb8fdbc056a5de5c3c3619ab
DIST opentelemetry-python-1.44.0.gh.tar.gz 1651335 BLAKE2B 9b1e6b9dbabaeccfc1e9fc267de0c882c78816abdec6d5344deccecca2c6d41736e1eb2fa7b5d85ed2e0047fa8fe23db1f4d2ae8e561f9c44ea1413754dde7f9 SHA512 310fa4d7b11aa6a4cfb498294e3c71e082e8fe2a9899c855f0968eb0b6eff91fc66921a0dad3b2075944a6f21b8802aea7d58baefd916f7909f1dae30bc7ad61
+DIST opentelemetry-python-1.45.0.gh.tar.gz 1715368 BLAKE2B 6a70a94f38df7b038eca1cf815ca93deaf58c94aac0996a24d08a0f9243651dd1e0c8c4f7daf9b1bc6274677ed1519fa0e9e72243fe266765a43fc6d50a4301a SHA512 c05f1fd1f6b2f8de830d2d2bdbaac01c47aa0b4615091f6fd78c39ef7e4aba10c2bd23ef4906e5b9e4ab46b2e55f8321f917c900bb930988d1cdfc85e9a77527
diff --git a/dev-python/opentelemetry-exporter-otlp-proto-common/opentelemetry-exporter-otlp-proto-common-1.43.0.ebuild b/dev-python/opentelemetry-exporter-otlp-proto-common/opentelemetry-exporter-otlp-proto-common-1.45.0.ebuild
index 331c7cc1514d..85525704c776 100644
--- a/dev-python/opentelemetry-exporter-otlp-proto-common/opentelemetry-exporter-otlp-proto-common-1.43.0.ebuild
+++ b/dev-python/opentelemetry-exporter-otlp-proto-common/opentelemetry-exporter-otlp-proto-common-1.45.0.ebuild
@@ -8,6 +8,8 @@ PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1
+OTLPC_PV=0.66_beta0
+
MY_P="opentelemetry-python-${PV}"
DESCRIPTION="OpenTelemetry Protobuf encoding"
HOMEPAGE="
@@ -26,6 +28,7 @@ SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
+ ~dev-python/opentelemetry-exporter-otlp-common-${OTLPC_PV}[${PYTHON_USEDEP}]
~dev-python/opentelemetry-proto-${PV}[${PYTHON_USEDEP}]
"
BDEPEND="
diff --git a/dev-python/opentelemetry-exporter-otlp-proto-grpc/Manifest b/dev-python/opentelemetry-exporter-otlp-proto-grpc/Manifest
index 9b67d89df94a..7c0b17310c63 100644
--- a/dev-python/opentelemetry-exporter-otlp-proto-grpc/Manifest
+++ b/dev-python/opentelemetry-exporter-otlp-proto-grpc/Manifest
@@ -1,2 +1,2 @@
-DIST opentelemetry-python-1.43.0.gh.tar.gz 1601072 BLAKE2B 9ea017308ecc0e3d4b00b86bf384c8737341babe5690defd33f0455af248052a4492bcaa793ea5a2bdc7a2d1cc27a708631651b232bda788fb535a7581bf844a SHA512 ec8b5862f9bc8aaa60ff765cbdf72ce488ea8b04efa49549901d73b909f5f66a187e8e345ac8b085fdff03207787539ff6a6f75ceb8fdbc056a5de5c3c3619ab
DIST opentelemetry-python-1.44.0.gh.tar.gz 1651335 BLAKE2B 9b1e6b9dbabaeccfc1e9fc267de0c882c78816abdec6d5344deccecca2c6d41736e1eb2fa7b5d85ed2e0047fa8fe23db1f4d2ae8e561f9c44ea1413754dde7f9 SHA512 310fa4d7b11aa6a4cfb498294e3c71e082e8fe2a9899c855f0968eb0b6eff91fc66921a0dad3b2075944a6f21b8802aea7d58baefd916f7909f1dae30bc7ad61
+DIST opentelemetry-python-1.45.0.gh.tar.gz 1715368 BLAKE2B 6a70a94f38df7b038eca1cf815ca93deaf58c94aac0996a24d08a0f9243651dd1e0c8c4f7daf9b1bc6274677ed1519fa0e9e72243fe266765a43fc6d50a4301a SHA512 c05f1fd1f6b2f8de830d2d2bdbaac01c47aa0b4615091f6fd78c39ef7e4aba10c2bd23ef4906e5b9e4ab46b2e55f8321f917c900bb930988d1cdfc85e9a77527
diff --git a/dev-python/opentelemetry-exporter-otlp-proto-grpc/opentelemetry-exporter-otlp-proto-grpc-1.43.0.ebuild b/dev-python/opentelemetry-exporter-otlp-proto-grpc/opentelemetry-exporter-otlp-proto-grpc-1.45.0.ebuild
index 1c0a39c817d2..1c0a39c817d2 100644
--- a/dev-python/opentelemetry-exporter-otlp-proto-grpc/opentelemetry-exporter-otlp-proto-grpc-1.43.0.ebuild
+++ b/dev-python/opentelemetry-exporter-otlp-proto-grpc/opentelemetry-exporter-otlp-proto-grpc-1.45.0.ebuild
diff --git a/dev-python/opentelemetry-exporter-otlp-proto-http/Manifest b/dev-python/opentelemetry-exporter-otlp-proto-http/Manifest
index 9b67d89df94a..7c0b17310c63 100644
--- a/dev-python/opentelemetry-exporter-otlp-proto-http/Manifest
+++ b/dev-python/opentelemetry-exporter-otlp-proto-http/Manifest
@@ -1,2 +1,2 @@
-DIST opentelemetry-python-1.43.0.gh.tar.gz 1601072 BLAKE2B 9ea017308ecc0e3d4b00b86bf384c8737341babe5690defd33f0455af248052a4492bcaa793ea5a2bdc7a2d1cc27a708631651b232bda788fb535a7581bf844a SHA512 ec8b5862f9bc8aaa60ff765cbdf72ce488ea8b04efa49549901d73b909f5f66a187e8e345ac8b085fdff03207787539ff6a6f75ceb8fdbc056a5de5c3c3619ab
DIST opentelemetry-python-1.44.0.gh.tar.gz 1651335 BLAKE2B 9b1e6b9dbabaeccfc1e9fc267de0c882c78816abdec6d5344deccecca2c6d41736e1eb2fa7b5d85ed2e0047fa8fe23db1f4d2ae8e561f9c44ea1413754dde7f9 SHA512 310fa4d7b11aa6a4cfb498294e3c71e082e8fe2a9899c855f0968eb0b6eff91fc66921a0dad3b2075944a6f21b8802aea7d58baefd916f7909f1dae30bc7ad61
+DIST opentelemetry-python-1.45.0.gh.tar.gz 1715368 BLAKE2B 6a70a94f38df7b038eca1cf815ca93deaf58c94aac0996a24d08a0f9243651dd1e0c8c4f7daf9b1bc6274677ed1519fa0e9e72243fe266765a43fc6d50a4301a SHA512 c05f1fd1f6b2f8de830d2d2bdbaac01c47aa0b4615091f6fd78c39ef7e4aba10c2bd23ef4906e5b9e4ab46b2e55f8321f917c900bb930988d1cdfc85e9a77527
diff --git a/dev-python/opentelemetry-exporter-otlp-proto-http/opentelemetry-exporter-otlp-proto-http-1.43.0.ebuild b/dev-python/opentelemetry-exporter-otlp-proto-http/opentelemetry-exporter-otlp-proto-http-1.45.0.ebuild
index 89f665e2022d..9877288f53fe 100644
--- a/dev-python/opentelemetry-exporter-otlp-proto-http/opentelemetry-exporter-otlp-proto-http-1.43.0.ebuild
+++ b/dev-python/opentelemetry-exporter-otlp-proto-http/opentelemetry-exporter-otlp-proto-http-1.45.0.ebuild
@@ -25,6 +25,9 @@ LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
+# TODO new test dependency 'mocket'; add package
+RESTRICT="test"
+
RDEPEND="
>=dev-python/googleapis-common-protos-1.52[${PYTHON_USEDEP}]
~dev-python/opentelemetry-exporter-otlp-proto-common-${PV}[${PYTHON_USEDEP}]
diff --git a/dev-python/opentelemetry-instrumentation-threading/Manifest b/dev-python/opentelemetry-instrumentation-threading/Manifest
index 5a4bc1c3beea..2be154fdc5f5 100644
--- a/dev-python/opentelemetry-instrumentation-threading/Manifest
+++ b/dev-python/opentelemetry-instrumentation-threading/Manifest
@@ -1,4 +1,4 @@
-DIST opentelemetry-python-1.43.0.gh.tar.gz 1601072 BLAKE2B 9ea017308ecc0e3d4b00b86bf384c8737341babe5690defd33f0455af248052a4492bcaa793ea5a2bdc7a2d1cc27a708631651b232bda788fb535a7581bf844a SHA512 ec8b5862f9bc8aaa60ff765cbdf72ce488ea8b04efa49549901d73b909f5f66a187e8e345ac8b085fdff03207787539ff6a6f75ceb8fdbc056a5de5c3c3619ab
DIST opentelemetry-python-1.44.0.gh.tar.gz 1651335 BLAKE2B 9b1e6b9dbabaeccfc1e9fc267de0c882c78816abdec6d5344deccecca2c6d41736e1eb2fa7b5d85ed2e0047fa8fe23db1f4d2ae8e561f9c44ea1413754dde7f9 SHA512 310fa4d7b11aa6a4cfb498294e3c71e082e8fe2a9899c855f0968eb0b6eff91fc66921a0dad3b2075944a6f21b8802aea7d58baefd916f7909f1dae30bc7ad61
-DIST opentelemetry-python-contrib-0.64b0.gh.tar.gz 1983357 BLAKE2B 5889183d317ac2afcbb44f6df7ffabf20094b9fb56aa8f2c578b6fa66b76ded2cf63b0488594719cc231997e9d6b6d042fd7d83df8f192b9904367e65c623333 SHA512 78bc185a0d41c0dfd261d6cc4204e98c09b1bc8598cbab77890f559c5a84fdfacc95952c1358790f2b588540b60016f7ffea6d80b398e07d73af888e4c4bbfa9
+DIST opentelemetry-python-1.45.0.gh.tar.gz 1715368 BLAKE2B 6a70a94f38df7b038eca1cf815ca93deaf58c94aac0996a24d08a0f9243651dd1e0c8c4f7daf9b1bc6274677ed1519fa0e9e72243fe266765a43fc6d50a4301a SHA512 c05f1fd1f6b2f8de830d2d2bdbaac01c47aa0b4615091f6fd78c39ef7e4aba10c2bd23ef4906e5b9e4ab46b2e55f8321f917c900bb930988d1cdfc85e9a77527
DIST opentelemetry-python-contrib-0.65b0.gh.tar.gz 2031667 BLAKE2B 2e932229b81d9958fd6941c90315977c9d28b4652a8ec1b1b32bda064b70d059611a0a2142ec63739eebaed92ee7744f8fbba38a251aed7f16451f8180831fa4 SHA512 0086da20862b5be310594313e59927e508fbbfe36a3dee1ef8759f44b37ac8b2e7dbd31c1d27bd44a86a413c7aa8ec6a0c24ca31584433913fdd4b83fd089693
+DIST opentelemetry-python-contrib-0.66b0.gh.tar.gz 1875879 BLAKE2B e92e5d89674197cbed378c3c48eb78bbfc87cd6f0ab97881b0f990c5fa5294d94aea49953e9db384a3c6b4853c0cb3a3f8d3f16a49dc6e3eec426837ed4cdc28 SHA512 58da31c4cda5c0464f3dcd3ec99b97575a7742ec7e419a88279cb1ba830041659118e9d62a8e6d22205bbd2c7b8130859babe5faa626ec107b61c9130b79c087
diff --git a/dev-python/opentelemetry-instrumentation-threading/opentelemetry-instrumentation-threading-0.64_beta0.ebuild b/dev-python/opentelemetry-instrumentation-threading/opentelemetry-instrumentation-threading-0.66_beta0.ebuild
index 01e41f551057..33c2fa08fa62 100644
--- a/dev-python/opentelemetry-instrumentation-threading/opentelemetry-instrumentation-threading-0.64_beta0.ebuild
+++ b/dev-python/opentelemetry-instrumentation-threading/opentelemetry-instrumentation-threading-0.66_beta0.ebuild
@@ -11,7 +11,7 @@ inherit distutils-r1
MY_PV=${PV/_beta/b}
MY_P="opentelemetry-python-contrib-${MY_PV}"
-OTLP_PV=1.43.0
+OTLP_PV=1.45.0
OTLP_P="opentelemetry-python-${OTLP_PV}"
DESCRIPTION="Thread context propagation support for OpenTelemetry"
diff --git a/dev-python/opentelemetry-instrumentation/Manifest b/dev-python/opentelemetry-instrumentation/Manifest
index 5a4bc1c3beea..2be154fdc5f5 100644
--- a/dev-python/opentelemetry-instrumentation/Manifest
+++ b/dev-python/opentelemetry-instrumentation/Manifest
@@ -1,4 +1,4 @@
-DIST opentelemetry-python-1.43.0.gh.tar.gz 1601072 BLAKE2B 9ea017308ecc0e3d4b00b86bf384c8737341babe5690defd33f0455af248052a4492bcaa793ea5a2bdc7a2d1cc27a708631651b232bda788fb535a7581bf844a SHA512 ec8b5862f9bc8aaa60ff765cbdf72ce488ea8b04efa49549901d73b909f5f66a187e8e345ac8b085fdff03207787539ff6a6f75ceb8fdbc056a5de5c3c3619ab
DIST opentelemetry-python-1.44.0.gh.tar.gz 1651335 BLAKE2B 9b1e6b9dbabaeccfc1e9fc267de0c882c78816abdec6d5344deccecca2c6d41736e1eb2fa7b5d85ed2e0047fa8fe23db1f4d2ae8e561f9c44ea1413754dde7f9 SHA512 310fa4d7b11aa6a4cfb498294e3c71e082e8fe2a9899c855f0968eb0b6eff91fc66921a0dad3b2075944a6f21b8802aea7d58baefd916f7909f1dae30bc7ad61
-DIST opentelemetry-python-contrib-0.64b0.gh.tar.gz 1983357 BLAKE2B 5889183d317ac2afcbb44f6df7ffabf20094b9fb56aa8f2c578b6fa66b76ded2cf63b0488594719cc231997e9d6b6d042fd7d83df8f192b9904367e65c623333 SHA512 78bc185a0d41c0dfd261d6cc4204e98c09b1bc8598cbab77890f559c5a84fdfacc95952c1358790f2b588540b60016f7ffea6d80b398e07d73af888e4c4bbfa9
+DIST opentelemetry-python-1.45.0.gh.tar.gz 1715368 BLAKE2B 6a70a94f38df7b038eca1cf815ca93deaf58c94aac0996a24d08a0f9243651dd1e0c8c4f7daf9b1bc6274677ed1519fa0e9e72243fe266765a43fc6d50a4301a SHA512 c05f1fd1f6b2f8de830d2d2bdbaac01c47aa0b4615091f6fd78c39ef7e4aba10c2bd23ef4906e5b9e4ab46b2e55f8321f917c900bb930988d1cdfc85e9a77527
DIST opentelemetry-python-contrib-0.65b0.gh.tar.gz 2031667 BLAKE2B 2e932229b81d9958fd6941c90315977c9d28b4652a8ec1b1b32bda064b70d059611a0a2142ec63739eebaed92ee7744f8fbba38a251aed7f16451f8180831fa4 SHA512 0086da20862b5be310594313e59927e508fbbfe36a3dee1ef8759f44b37ac8b2e7dbd31c1d27bd44a86a413c7aa8ec6a0c24ca31584433913fdd4b83fd089693
+DIST opentelemetry-python-contrib-0.66b0.gh.tar.gz 1875879 BLAKE2B e92e5d89674197cbed378c3c48eb78bbfc87cd6f0ab97881b0f990c5fa5294d94aea49953e9db384a3c6b4853c0cb3a3f8d3f16a49dc6e3eec426837ed4cdc28 SHA512 58da31c4cda5c0464f3dcd3ec99b97575a7742ec7e419a88279cb1ba830041659118e9d62a8e6d22205bbd2c7b8130859babe5faa626ec107b61c9130b79c087
diff --git a/dev-python/opentelemetry-instrumentation/files/opentelemetry-instrumentation-0.61_beta0-wrapt-2.patch b/dev-python/opentelemetry-instrumentation/files/opentelemetry-instrumentation-0.61_beta0-wrapt-2.patch
deleted file mode 100644
index a929419928bc..000000000000
--- a/dev-python/opentelemetry-instrumentation/files/opentelemetry-instrumentation-0.61_beta0-wrapt-2.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-index e38932e28..37e6c674f 100644
---- a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/utils.py
-+++ b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/utils.py
-@@ -20,7 +20,11 @@ from importlib import import_module
- from re import escape, sub
- from typing import Any, Dict, Generator, Sequence
-
--from wrapt import ObjectProxy
-+try:
-+ # wrapt 2.0.0+
-+ from wrapt import BaseObjectProxy # pylint: disable=no-name-in-module
-+except ImportError:
-+ from wrapt import ObjectProxy as BaseObjectProxy
-
- from opentelemetry import context, trace
-
-@@ -108,7 +112,11 @@ def unwrap(obj: object, attr: str):
- ) from exc
-
- func = getattr(obj, attr, None)
-- if func and isinstance(func, ObjectProxy) and hasattr(func, "__wrapped__"):
-+ if (
-+ func
-+ and isinstance(func, BaseObjectProxy)
-+ and hasattr(func, "__wrapped__")
-+ ):
- setattr(obj, attr, func.__wrapped__)
-
-
-diff --git a/opentelemetry-instrumentation/tests/test_utils.py b/opentelemetry-instrumentation/tests/test_utils.py
-index 5ddd45d69..11a3598bd 100644
---- a/opentelemetry-instrumentation/tests/test_utils.py
-+++ b/opentelemetry-instrumentation/tests/test_utils.py
-@@ -15,7 +15,13 @@
- import unittest
- from http import HTTPStatus
-
--from wrapt import ObjectProxy, wrap_function_wrapper
-+from wrapt import wrap_function_wrapper
-+
-+try:
-+ # wrapt 2.0.0+
-+ from wrapt import BaseObjectProxy # pylint: disable=no-name-in-module
-+except ImportError:
-+ from wrapt import ObjectProxy as BaseObjectProxy
-
- from opentelemetry.context import (
- _SUPPRESS_HTTP_INSTRUMENTATION_KEY,
-@@ -263,23 +269,23 @@ class UnwrapTestCase(unittest.TestCase):
- def test_can_unwrap_object_attribute(self):
- self._wrap_method()
- instance = WrappedClass()
-- self.assertTrue(isinstance(instance.method, ObjectProxy))
-+ self.assertTrue(isinstance(instance.method, BaseObjectProxy))
-
- unwrap(WrappedClass, "method")
-- self.assertFalse(isinstance(instance.method, ObjectProxy))
-+ self.assertFalse(isinstance(instance.method, BaseObjectProxy))
-
- def test_can_unwrap_object_attribute_as_string(self):
- self._wrap_method()
- instance = WrappedClass()
-- self.assertTrue(isinstance(instance.method, ObjectProxy))
-+ self.assertTrue(isinstance(instance.method, BaseObjectProxy))
-
- unwrap("tests.test_utils.WrappedClass", "method")
-- self.assertFalse(isinstance(instance.method, ObjectProxy))
-+ self.assertFalse(isinstance(instance.method, BaseObjectProxy))
-
- def test_raises_import_error_if_path_not_well_formed(self):
- self._wrap_method()
- instance = WrappedClass()
-- self.assertTrue(isinstance(instance.method, ObjectProxy))
-+ self.assertTrue(isinstance(instance.method, BaseObjectProxy))
-
- with self.assertRaisesRegex(
- ImportError, "Cannot parse '' as dotted import path"
-@@ -287,23 +293,23 @@ class UnwrapTestCase(unittest.TestCase):
- unwrap("", "method")
-
- unwrap(WrappedClass, "method")
-- self.assertFalse(isinstance(instance.method, ObjectProxy))
-+ self.assertFalse(isinstance(instance.method, BaseObjectProxy))
-
- def test_raises_import_error_if_cannot_find_module(self):
- self._wrap_method()
- instance = WrappedClass()
-- self.assertTrue(isinstance(instance.method, ObjectProxy))
-+ self.assertTrue(isinstance(instance.method, BaseObjectProxy))
-
- with self.assertRaisesRegex(ImportError, "No module named 'does'"):
- unwrap("does.not.exist.WrappedClass", "method")
-
- unwrap(WrappedClass, "method")
-- self.assertFalse(isinstance(instance.method, ObjectProxy))
-+ self.assertFalse(isinstance(instance.method, BaseObjectProxy))
-
- def test_raises_import_error_if_cannot_find_object(self):
- self._wrap_method()
- instance = WrappedClass()
-- self.assertTrue(isinstance(instance.method, ObjectProxy))
-+ self.assertTrue(isinstance(instance.method, BaseObjectProxy))
-
- with self.assertRaisesRegex(
- ImportError, "Cannot import 'NotWrappedClass' from"
-@@ -311,7 +317,7 @@ class UnwrapTestCase(unittest.TestCase):
- unwrap("tests.test_utils.NotWrappedClass", "method")
-
- unwrap(WrappedClass, "method")
-- self.assertFalse(isinstance(instance.method, ObjectProxy))
-+ self.assertFalse(isinstance(instance.method, BaseObjectProxy))
-
- # pylint: disable=no-self-use
- def test_does_nothing_if_cannot_find_attribute(self):
-@@ -320,6 +326,6 @@ class UnwrapTestCase(unittest.TestCase):
-
- def test_does_nothing_if_attribute_is_not_from_wrapt(self):
- instance = WrappedClass()
-- self.assertFalse(isinstance(instance.method, ObjectProxy))
-+ self.assertFalse(isinstance(instance.method, BaseObjectProxy))
- unwrap(WrappedClass, "method")
-- self.assertFalse(isinstance(instance.method, ObjectProxy))
-+ self.assertFalse(isinstance(instance.method, BaseObjectProxy))
diff --git a/dev-python/opentelemetry-instrumentation/opentelemetry-instrumentation-0.64_beta0.ebuild b/dev-python/opentelemetry-instrumentation/opentelemetry-instrumentation-0.66_beta0.ebuild
index 71b91591803e..d36cd9791d60 100644
--- a/dev-python/opentelemetry-instrumentation/opentelemetry-instrumentation-0.64_beta0.ebuild
+++ b/dev-python/opentelemetry-instrumentation/opentelemetry-instrumentation-0.66_beta0.ebuild
@@ -11,7 +11,7 @@ inherit distutils-r1
MY_PV=${PV/_beta/b}
MY_P="opentelemetry-python-contrib-${MY_PV}"
-OTLP_PV=1.43.0
+OTLP_PV=1.45.0
OTLP_P="opentelemetry-python-${OTLP_PV}"
DESCRIPTION="Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python"
diff --git a/dev-python/opentelemetry-proto/Manifest b/dev-python/opentelemetry-proto/Manifest
index 9b67d89df94a..7c0b17310c63 100644
--- a/dev-python/opentelemetry-proto/Manifest
+++ b/dev-python/opentelemetry-proto/Manifest
@@ -1,2 +1,2 @@
-DIST opentelemetry-python-1.43.0.gh.tar.gz 1601072 BLAKE2B 9ea017308ecc0e3d4b00b86bf384c8737341babe5690defd33f0455af248052a4492bcaa793ea5a2bdc7a2d1cc27a708631651b232bda788fb535a7581bf844a SHA512 ec8b5862f9bc8aaa60ff765cbdf72ce488ea8b04efa49549901d73b909f5f66a187e8e345ac8b085fdff03207787539ff6a6f75ceb8fdbc056a5de5c3c3619ab
DIST opentelemetry-python-1.44.0.gh.tar.gz 1651335 BLAKE2B 9b1e6b9dbabaeccfc1e9fc267de0c882c78816abdec6d5344deccecca2c6d41736e1eb2fa7b5d85ed2e0047fa8fe23db1f4d2ae8e561f9c44ea1413754dde7f9 SHA512 310fa4d7b11aa6a4cfb498294e3c71e082e8fe2a9899c855f0968eb0b6eff91fc66921a0dad3b2075944a6f21b8802aea7d58baefd916f7909f1dae30bc7ad61
+DIST opentelemetry-python-1.45.0.gh.tar.gz 1715368 BLAKE2B 6a70a94f38df7b038eca1cf815ca93deaf58c94aac0996a24d08a0f9243651dd1e0c8c4f7daf9b1bc6274677ed1519fa0e9e72243fe266765a43fc6d50a4301a SHA512 c05f1fd1f6b2f8de830d2d2bdbaac01c47aa0b4615091f6fd78c39ef7e4aba10c2bd23ef4906e5b9e4ab46b2e55f8321f917c900bb930988d1cdfc85e9a77527
diff --git a/dev-python/opentelemetry-proto/opentelemetry-proto-1.43.0.ebuild b/dev-python/opentelemetry-proto/opentelemetry-proto-1.45.0.ebuild
index 0c8b73a2fb20..0c8b73a2fb20 100644
--- a/dev-python/opentelemetry-proto/opentelemetry-proto-1.43.0.ebuild
+++ b/dev-python/opentelemetry-proto/opentelemetry-proto-1.45.0.ebuild
diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest
index 83e5e4478898..aeb7a4d2d861 100644
--- a/dev-python/pikepdf/Manifest
+++ b/dev-python/pikepdf/Manifest
@@ -4,6 +4,8 @@ DIST pikepdf-10.13.0.post1.tar.gz 4973186 BLAKE2B de64f6805b2ee88e4a7a92a947c719
DIST pikepdf-10.13.0.post1.tar.gz.provenance 9944 BLAKE2B 7344cd56347830c23f08daf8883d2354e0c007c1837a177c8c671b433e90afe2259dc5cc7c5ac84cc0012bc241bf54133c154a795fa3dc5d2a038e96dc1e3196 SHA512 d6f43d979a46b1386f7f51e6e1d3d856c5ad8317fef20923f9c1c7126e0b2cccf837cf251f77480d48a5f93802def408464e8c7455996f9dee4e6d1447941cbd
DIST pikepdf-10.14.0.tar.gz 9885718 BLAKE2B 802033f9c432287037893f2314ac0d471e53bd3fbdf41c5767b31ba66886e0efc0cdc032b891ff6f73e004d59517dec17f644fe2af45b05e8499ffde281d1a45 SHA512 9f75907714b781464a2d630b9939be3d65e7b55d4b7d5e57b4f8b3191ced2ca25878a125321b280abaae9b339d1d63ac78974d0c61098fa73f168201c8821ab5
DIST pikepdf-10.14.0.tar.gz.provenance 9538 BLAKE2B 0103fb8a40664c47ac06bdf0dd10d586a918b543dd4206cdb9817813aebb2c9e1d1d6dc4ad3edb4daa5ae127f6f92768586686a7c131a818de38a7186b07e0c4 SHA512 4ede4bef9a5cff9d09f09ecd4932e7e3cce2bb4b3367a85abe04a6209ad356d3e014906a4ba18d3711e69e2a4f9d7c767f0a878a835ddccf36da774badfa53b0
+DIST pikepdf-10.15.0.tar.gz 9921227 BLAKE2B ff09f24c7eb0f0f4dafe7f18a91e710a792648693e3d37c8f70cf04402a621ca345976f321ea18b7f3a626074cd524c51332cde33b33b6c987480d064fb41ef3 SHA512 77b4a98af986c19004c70f0d655361483344762ad7dd436bfd4cfec59e86e44158333216ffa8d5d3ef731e93d6f85df067326f04c35a7403df864222eb29dd79
+DIST pikepdf-10.15.0.tar.gz.provenance 9820 BLAKE2B 7133a3081323515f3500c29791210ecb7a38202273a70acbd74b43c658fde0102e8eaad4bed7dff0aa52217ae136e0f5ae5a517136847c4b29bcd656fabea310 SHA512 360d88b434fbfcfbda5ece411528749a3d330fa70f3ce10eb305bd4c062d019f6191caf5a5f03b7087d6bca83494647f213822aef554ff96e0e9733465516502
DIST pikepdf-10.5.1.tar.gz 4582470 BLAKE2B 9a92e465f0972b289016786bba91fc322ed17cfba20c81f4f31aa9cdda65eab91f0203f668a713050d2d7551625f0d94cf6d4f16077e3cc44df3bc27d6c24da7 SHA512 a99abea6f54fe9f813e1fe6c0052d9e40537c7605c6e7f3a930cfb2dd59cd3eeb2c40afc5f0ad98aac7a76e692c842f0577e8188a6319a07e9461a3ac9c2cb73
DIST pikepdf-10.5.1.tar.gz.provenance 9398 BLAKE2B a760b31f221da8c04c350adf36a52a8664cfcd5ca74fdcaed26fa38f6a9b7ed57fb1e58eff525c8f03e3d8aa3924b6e82bfb759d7746db841cf0747e4428c482 SHA512 06357efef746dc2b316cf603e7c435ae4b9a1b354f895afc835877e7d7e95887a22e69261b1c6c345ebaee86f14a11f075991e714c4b6861547482719d71f906
DIST pikepdf-10.7.3.tar.gz 23669571 BLAKE2B 837ba311d77a1da30e83afad86c6911500766b5c006ebbdd346a15efbceba0107083e572d79ff836534d071912000907d61a60e95dccb9a45d6e205aa65d228b SHA512 7b9c1e15a792e6c01bde0d9bee342f1be9023081b2b43e44e6d7ab37485db5b3542d9813344e9b24e3f8ceea17a5cb75e25af1943ab738a54f362f52e05cc6f7
diff --git a/dev-python/pikepdf/pikepdf-10.15.0.ebuild b/dev-python/pikepdf/pikepdf-10.15.0.ebuild
new file mode 100644
index 000000000000..4dc1e31e8a85
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-10.15.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYPI_VERIFY_REPO=https://github.com/pikepdf/pikepdf
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to work with pdf files based on qpdf"
+HOMEPAGE="
+ https://github.com/pikepdf/pikepdf/
+ https://pypi.org/project/pikepdf/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="big-endian"
+
+# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
+# https://qpdf.readthedocs.io/en/stable/release-notes.html.
+DEPEND="
+ >=app-text/qpdf-12.4.1:0=
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/nanobind-2.0[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-77.0.3[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ !big-endian? (
+ >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
+ )
+ media-libs/tiff[zlib]
+ )
+"
+
+EPYTEST_PLUGINS=( hypothesis pytest-timeout )
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -e '/-n auto/d' -i pyproject.toml || die
+ # remove bundled qpdf
+ rm -rf qpdf || die
+}
diff --git a/dev-python/platformdirs/Manifest b/dev-python/platformdirs/Manifest
index fe4bee368f88..2c3766977032 100644
--- a/dev-python/platformdirs/Manifest
+++ b/dev-python/platformdirs/Manifest
@@ -12,3 +12,5 @@ DIST platformdirs-4.11.8.tar.gz 37182 BLAKE2B 223120ca204637bfa8b1f13182ea73aaf0
DIST platformdirs-4.11.8.tar.gz.provenance 9930 BLAKE2B 3039cea46b90560c85320e0f6dfc5d851efb047df90b3596ea1144bc3e1f09355a355b992885571459d18d7bfd9035f30092efed476f2c1c11e0d3c5a109ac3b SHA512 ec6d06cdf399f660f639fc741839244094cc6028c037b9ab24e66cdda1e91aa2ee7819d5b02c4e3adfa651d4cd0cd37374da580bbf5424ef973719e2cfa48606
DIST platformdirs-4.12.0.tar.gz 58964 BLAKE2B df81467e591fd665e33ceaad67a5709eee8eb54e84d7246d23ccd2cc9e60f3b595721131389e041c5d752610d97fddd6d6ef6301447be0b6b0c02d19a27bb8fe SHA512 75429dabf2e94ae72394dc60431fbb63a1d9f1236cd9809e72992b18ca5d055e52cf64622f21dea829842732a9e8df95a06516ec2897c7db611837e16ca08401
DIST platformdirs-4.12.0.tar.gz.provenance 9793 BLAKE2B 0911eb42eccd899592ccfc05541699824b09f125fb5e14379c9c51aac852aa197b7cdbeb800d89926b203e89ade26c67cb8a85b9d971d0ccefa66dca8fee2dff SHA512 a0a42d7f3bb0a2d09802e190ecd189aa86ed6bd002d01f4af736b3755aebb0770bb26edfe622d8d6abfe609660e588376baa44aa5aa9ecec250d672e4dde136d
+DIST platformdirs-4.12.1.tar.gz 59427 BLAKE2B daca3b5be360410512e60e521c1b57fe42b63737ecf945b0e1a12772823a5e1e138ce2ea68b1ae2e75836ad7d8e1f738842d28690f1b9f52b690836ec86816bb SHA512 41cf98423ddff05b72e01711fc5322e9f51cbd458b8b728c65b541dea5b8251347765842b9fd8184b6a9f77b20fc312a9674c3c3f97ea851a73e538c909d08b1
+DIST platformdirs-4.12.1.tar.gz.provenance 9507 BLAKE2B 87aa1065feb9c85d3f4fbf130e20c2a5222c34ee7d77259d4d1df36a12bad8411ac86e252812d42fcb839a50646e709c578b2507ed6a6f3e6a932e21887963c3 SHA512 e779fb8f11453a52f7b0e44ce46b28383978b42e183ba926d54311f102061cff1b4c1c7f9ace7d4e7f63621b09dee7a5ae6b58adcde28f91cab5c771d5979e2f
diff --git a/dev-python/platformdirs/platformdirs-4.12.1.ebuild b/dev-python/platformdirs/platformdirs-4.12.1.ebuild
new file mode 100644
index 000000000000..64fa02613d59
--- /dev/null
+++ b/dev-python/platformdirs/platformdirs-4.12.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2021-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit-core
+PYPI_VERIFY_REPO=https://github.com/tox-dev/platformdirs
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
+HOMEPAGE="
+ https://pypi.org/project/platformdirs/
+ https://github.com/tox-dev/platformdirs/
+"
+
+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"
+
+BDEPEND="
+ test? (
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "hatchling' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "${PN}"
+ version = "${PV}"
+ description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".'
+ EOF
+ # sigh
+ cat > src/platformdirs/version.py <<-EOF || die
+ __version__ = version = '${PV}'
+ __version_tuple__ = version_tuple = (${PV//./, })
+ EOF
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # failing on -Werror, because upstream doesn't bother using
+ # new pytest
+ tests/test_pytest_plugin.py::test_import_before_pytest_main
+ )
+
+ # have to disable removing tmp_paths since upstream mocks are
+ # incomplete and break teardown
+ epytest -p platformdirs.pytest_plugin -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/plexapi/Manifest b/dev-python/plexapi/Manifest
index 9fb7b8950723..c1c56563184c 100644
--- a/dev-python/plexapi/Manifest
+++ b/dev-python/plexapi/Manifest
@@ -1,3 +1,4 @@
DIST plexapi-4.17.2.gh.tar.gz 22533393 BLAKE2B 8ffda301510d150db45396c42cd7c8f5ded10858d883e4aa677e13affe324c46e5bac8436bf5ebd9d93db63713638038261fb42b6359b8fcc1a504a1a29dd804 SHA512 71a422a8806fe66f38e10bb8e721bdc861f327eae03226b7dbef101e2b640b8951ea88c351a638408d33026326b3d3c16c620e5162c25201442ba3eeb30e604f
DIST plexapi-4.18.0.gh.tar.gz 22533864 BLAKE2B e541fecee9436af331b89c076fcd4fe215e843e9a5d308ce9dce3b462cd994d996aebb9b971ee0cc0ff60d92ad1dd9d3ae0d618f686d9ff43c1a21ac69de3d5d SHA512 613f75372e8ebee0b6a2f9bebaf152b12c72a696c4eeb7cd8198360cd2271549e1fe608580c9024b059cb2aa8c7c2cea52c64b4176f0e9aff56c434595f88457
DIST plexapi-4.18.1.gh.tar.gz 22535737 BLAKE2B 89aec2408127ad13ca393523956dc9f8f50cf9f0237d898f5139e366d4f3dec57011c2f69edf861ba2f3c0553f5c4e59d6c063e1bf67491cf7d5065177227d84 SHA512 f6503db98ce09dd29beb2e11333f5a17e9bcfa44f247b57ed3ec04795b45713247c64052cf41fb06cd3e696db1f6e253ce9a347f1b6e19ba0b58a155be79b658
+DIST plexapi-4.18.2.gh.tar.gz 22538844 BLAKE2B 0a29e24fadc864dfa953641dd0817cabed6b4ff33eb2070ab6ade7d7fee2ed9ec87ae6ebc7abc37d82e7b1fe32d93dd826a4904cc3e0c07c5382adc83428c797 SHA512 1bbf9e51c1b6a2850772d38c43973debafc9dbcbccd539893308ef88c7ca084eeaa0f2a5e10a6c686b9108005ee8963fa2d1c3445f60b713ac30ca33209a26f1
diff --git a/dev-python/plexapi/plexapi-4.18.2.ebuild b/dev-python/plexapi/plexapi-4.18.2.ebuild
new file mode 100644
index 000000000000..22e49b322a9c
--- /dev/null
+++ b/dev-python/plexapi/plexapi-4.18.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# left here in case we switch to pypi
+PYPI_PN="PlexAPI"
+PYPI_NO_NORMALIZE=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the Plex API."
+HOMEPAGE="
+ https://pypi.org/project/PlexAPI/
+ https://github.com/pkkid/python-plexapi
+"
+
+# pypi release don't have docs
+SRC_URI="https://github.com/pkkid/python-plexapi/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+S="${WORKDIR}/python-${P}"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# almost all tests requires a running server
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+BDEPEND="doc? ( dev-python/sphinx-rtd-theme )"
+
+distutils_enable_sphinx docs
diff --git a/dev-python/pyjwt/Manifest b/dev-python/pyjwt/Manifest
index 80dce51637df..1fd2669ee6a3 100644
--- a/dev-python/pyjwt/Manifest
+++ b/dev-python/pyjwt/Manifest
@@ -4,3 +4,5 @@ DIST pyjwt-2.14.0.tar.gz 113177 BLAKE2B 1d742b2fab9d551defeb05236ac9a2bed44f7fd1
DIST pyjwt-2.14.0.tar.gz.provenance 9988 BLAKE2B ac5810b7f29e21ced6fbb5baba8353cc6538b60b5bf9da6a718324ee0a7efe1430e0b525a4840a6943cf3008dabfe49106c74614a4ba682cc0059be508333790 SHA512 288729fa3a1b194519e3a3c3f2c93709814d16ed1c551eda876214484477107d4e80940e0bbbe2773281235e9bf770de43ad178b47c8e8c7dc6639136cc7a064
DIST pyjwt-2.15.0.tar.gz 120513 BLAKE2B e700576ac11eae74c506d334b93b1eb4a83661c7343f0410b04c091a3610631e656078cce4ded8f500ac8b9e5812c4f7a9ddf1e465601380a912eb221975845e SHA512 ede90c35e667924a2749083d726e9f8af6fa86c215d64433819b36d14a28059d68ba062d3a6b04a1aaac94505362e52a888d92adf8ce0b80599a223de5850692
DIST pyjwt-2.15.0.tar.gz.provenance 10078 BLAKE2B 0c9ae24fad7a7eff9fb45c22de18bb050c7744ebca1f6b759390901956a57c6541820c210fe6bd93e5e7784606033f15c37305e7fac4be668770824c661aa2cb SHA512 44a7d49dd3509a0aed536db901071589376b8d0b889c398e2d54bc9cd629e0bb7cdf7a850570abd225920a653e65f00c408093ab62a423d10fbce65c3383ef4f
+DIST pyjwt-2.15.1.tar.gz 121252 BLAKE2B 6c3afc947db15fb8dcccd4e3f8a411857148b6db8f28a51a7d3a8dae64abb5f1226002e88e6f9e0b4d0793f4d19885dfdce398e7332f08e7d6f4573248f1f735 SHA512 261b07563f1a290f71c6b14806cd92c5b32cf85d3e9d2b96997825ac214546eba61a24c0f1aeaa6ccc5d554135f5870de97565bd2c44aaa36adc00cc08ffcb2e
+DIST pyjwt-2.15.1.tar.gz.provenance 9984 BLAKE2B 4101582dcc6a63698d59eb9ad8b1df0f29e24b9ce3e95338fe28ee9c47c86a46983c8a06a72da7a156001bed2f5582026c596a921682c3a69977c6a3acdf19af SHA512 12f38cafed2cb9194e7af2a19165184995817647c7eafbc4294f9a333a79c5d6d0aff73ccfb471895c4e6e008ce03b4d0a1b0d337130c43a632a988f91fa39ea
diff --git a/dev-python/pyjwt/pyjwt-2.15.1.ebuild b/dev-python/pyjwt/pyjwt-2.15.1.ebuild
new file mode 100644
index 000000000000..c74b8e2a878d
--- /dev/null
+++ b/dev-python/pyjwt/pyjwt-2.15.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN="PyJWT"
+PYPI_VERIFY_REPO=https://github.com/jpadilla/pyjwt
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="JSON Web Token implementation in Python"
+HOMEPAGE="
+ https://github.com/jpadilla/pyjwt/
+ https://pypi.org/project/PyJWT/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ !dev-python/python-jwt
+"
+BDEPEND="
+ test? (
+ >=dev-python/cryptography-3.4.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_sslcontext_default
+)
+
+pkg_postinst() {
+ optfeature "cryptography" dev-python/cryptography
+}
diff --git a/dev-python/pysnmp/Manifest b/dev-python/pysnmp/Manifest
index 3377544e3444..42d64bcc2a4a 100644
--- a/dev-python/pysnmp/Manifest
+++ b/dev-python/pysnmp/Manifest
@@ -1,2 +1,2 @@
-DIST pysnmp-7.1.28.gh.tar.gz 497049 BLAKE2B 70305ce46753e5b619412d80fc24d558e6a291c89141a5ad6075fafa3cc204e2f657bdef98ea77ff5b3c52026b6450b4371c382681fa87fb2bcba8f7400d4d6c SHA512 612489b07cecd1ccd707633c8b4d695712e4fb0ed7d4b3ebf63663c463fb273752f987ae4fff9c69c6501b68f47216abb8126d57e1a27a9823952edf59377144
DIST pysnmp-7.1.29.gh.tar.gz 498327 BLAKE2B 091f8fb3121573858ed36b387d9e90f27d2d4b8cfd10c4f500d8f35e69b322824dd741837cd6c388568357694c09e94249bbb1cdb5133d89976c4666aced9f37 SHA512 53eb9657590fe2fbd3af956177200ee51df7d9f6d1eab51ea689b47a7a4181cc0ff3cfae229be6e8ec5c2ee18acb578ca412c244196ceab410d09413472bd05a
+DIST pysnmp-7.1.30.gh.tar.gz 498976 BLAKE2B f2e0bdd62eee8c0487fc5b1de7afe1544b788f0025dfb6b830d86aae086413746e9f10a7cfc0435ac0c97e71e615a642f56e838f75ba47d2ec65b3905c021502 SHA512 7823782348c999badf625cfe8c2d0a3d2422088b593863699e0282b8c26e14f4104a48a7891f4bb56a1f21e75b88495005a754048ad55522495b742a418ffbe1
diff --git a/dev-python/pysnmp/pysnmp-7.1.28.ebuild b/dev-python/pysnmp/pysnmp-7.1.30.ebuild
index 7965c3f2c509..73c071200e7e 100644
--- a/dev-python/pysnmp/pysnmp-7.1.28.ebuild
+++ b/dev-python/pysnmp/pysnmp-7.1.30.ebuild
@@ -20,13 +20,13 @@ SRC_URI="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc ~sparc x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~sparc ~x86"
PROPERTIES="test_network"
RESTRICT="test"
RDEPEND="
- >=dev-python/cryptography-43.0.1[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-0.6.3[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-50.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.6.4[${PYTHON_USEDEP}]
>=dev-python/pysmi-2.0.0[${PYTHON_USEDEP}]
"
diff --git a/dev-python/pyudev/Manifest b/dev-python/pyudev/Manifest
index eb29811d24df..60209a8155c8 100644
--- a/dev-python/pyudev/Manifest
+++ b/dev-python/pyudev/Manifest
@@ -1 +1,2 @@
DIST pyudev-0.24.4.gh.tar.gz 80770 BLAKE2B 27e6c3fe8d9ee5088f459981e0a2e69baa124a7d427c08e133e13dc56603c58adc39c8e42fef28b9c26dd724b4ddda0568db234ced65ba7f787381b5f3110411 SHA512 d0edd89a9b024fd166d6286920a37baac5a739f89101a6d7c4dca3dad0b6d8d4a61e93c0ef1ca3795a677558579bdfecf49a5d5b61837345eed90a31fed4aa20
+DIST pyudev-0.24.5.gh.tar.gz 80383 BLAKE2B 849002d8533d2d4d2b710f35f253ae3dde9a044541fa1d757bc1c531257e6549cf4afc66ff8aec717faf8ab77c4a7823c45d53fa2b250e7f22b17751d618ea9c SHA512 91029b86572576306a4a843e972856253e873a93d5d1c92bbd77f07d49faf28fe1e4a9fd7f4fcc1fcf966091d89ce5f1d82ed1ca8561ebe485384d82ebad58b3
diff --git a/dev-python/pyudev/pyudev-0.24.5.ebuild b/dev-python/pyudev/pyudev-0.24.5.ebuild
new file mode 100644
index 000000000000..f076c3eee0b6
--- /dev/null
+++ b/dev-python/pyudev/pyudev-0.24.5.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python binding to libudev"
+HOMEPAGE="https://pyudev.readthedocs.io/en/latest/ https://github.com/pyudev/pyudev"
+SRC_URI="https://github.com/pyudev/pyudev/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ virtual/udev
+"
+BDEPEND="
+ test? (
+ dev-python/docutils[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( CHANGES.rst README.rst )
+
+EPYTEST_PLUGINS=( hypothesis )
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ if use test; then
+ ewarn "If your PORTAGE_TMPDIR is longer in length then '/var/tmp/',"
+ ewarn "change it to /var/tmp to ensure tests will pass."
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -a EPYTEST_DESELECT=(
+ # tests that require root access
+ tests/test_device.py::TestAttributes::test_asint
+ tests/test_device.py::TestAttributes::test_asbool
+ tests/test_device.py::TestAttributes::test_getitem
+ tests/test_device.py::TestAttributes::test_asstring
+
+ # tests don't work on systems that differ from the upstream CI
+ tests/test_monitor.py::TestMonitorObserver::test_deprecated_handler
+ tests/test_monitor.py::TestMonitorObserver::test_fake
+ )
+ local -a EPYTEST_IGNORE=(
+ tests/test_observer.py
+ tests/test_observer_deprecated.py
+ )
+ epytest tests
+}
+
+src_test() {
+ local virt=$(systemd-detect-virt 2>/dev/null)
+ if [[ ${virt} == systemd-nspawn ]] ; then
+ ewarn "Skipping tests because in systemd-nspawn container"
+ else
+ distutils-r1_src_test
+ fi
+}
+
+pkg_postinst() {
+ optfeature "PyQt5 bindings" "dev-python/pyqt5"
+}
diff --git a/dev-python/regex/Manifest b/dev-python/regex/Manifest
index 0219d39795a9..80ffbe2f14b0 100644
--- a/dev-python/regex/Manifest
+++ b/dev-python/regex/Manifest
@@ -1,4 +1,5 @@
DIST regex-2026.7.19.tar.gz 416440 BLAKE2B c7e922fca496731dba5130bd7f572df56adfd5c31db6812f935ede24060b3fb6abca57836f3d0a0ad7bcee6433e1520b14611657495e6e844fc2d5d99d6dba32 SHA512 807b987dd5fa12f5fdb95c79955823f263f03f23059c8ec1783958bab5dadb1c38dab022a3e519ebb6810b6e03692c14b4d354506ff7a00a7323ee79d61f4e34
DIST regex-2026.8.31.tar.gz 416646 BLAKE2B b151ab7f142878e3e84bf32d42451fe47aa70802f252ac55902eebe07d413a117c68d889a561d2255adf1cf4565347e1cbbe4953682b87ef5a23b910e78744c3 SHA512 1f0191caa4e9c2e5e9b848ba2f85d2e48a678d6ba4ec9bf3c530b201c9edf54059e517946839df86bb00cfdf64111f8d8943abb2bc9df68d1ddf4489e110ba87
DIST regex-2026.9.10.tar.gz 417072 BLAKE2B dcaa82df983b22c64fe5a48354cfe3a0cc9a47bb8d8ea707e66e40003ba6d9ca616c847efcbf7617a5af3f753f0ff56568bf678b0bc6fb1efeaf688cf846c1be SHA512 ec7c1b2d6c549941ac6731a5490936e8fd3deffe8c34f12600b23c73dacb3818c02fc27fa88eb34aab6b3279ef6554d269565ffeb5530fd0707caad02b2d3c1d
+DIST regex-2026.9.29.tar.gz 419199 BLAKE2B 70affdbfb5c306c9714d8e986ea8d6e82057c750622dbad5a09b92a13e945ae1b35493b0b9a9d7563c4304c4dd0d66488bd81b25f054803995b317e8d88651ff SHA512 2be4133b38831b35c210fec3fe2ac42a921d6334de0dfe8872122e8068a49278ee2de0b787fe8ed7147a1eaa0f3a4d22ba97272b830493c3b702e5a293a1a7f9
DIST regex-2026.9.3.tar.gz 416720 BLAKE2B c9a5bf8a95e03708e4b0bfd789d565aea8a5b36a33d3d5754351d5d14ec2e29dc77aeb6331e1cc88b44a9ab95d3a5f134ed2f0cacf0253c152d924a0cd72aede SHA512 e0608fcd9bfa1b61a8bbdd1299ffac7ab310a2e88ad3f11297780efe300e1bbd62904e5234b8692e3e7fda9063502b6d7c0faf11df3c378af34d8751bf8a9130
diff --git a/dev-python/regex/regex-2026.9.29.ebuild b/dev-python/regex/regex-2026.9.29.ebuild
new file mode 100644
index 000000000000..f45afd466843
--- /dev/null
+++ b/dev-python/regex/regex-2026.9.29.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+# pypy isn't supported upstream because of its UTF8 representation for strings
+# See https://github.com/mrabarnett/mrab-regex/issues/521#issuecomment-1936260187.
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Alternative regular expression module to replace re"
+HOMEPAGE="
+ https://github.com/mrabarnett/mrab-regex/
+ https://pypi.org/project/regex/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="doc"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/Features.html )
+ local DOCS=( README.rst docs/*.rst )
+
+ distutils-r1_python_install_all
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)/regex/tests" || die
+ eunittest
+}
diff --git a/dev-python/stone/Manifest b/dev-python/stone/Manifest
index 7355d4f22fe8..4ef22779349d 100644
--- a/dev-python/stone/Manifest
+++ b/dev-python/stone/Manifest
@@ -1,2 +1,2 @@
-DIST stone-3.5.3.gh.tar.gz 329020 BLAKE2B 1e4d677a05f8a5e69f4320938b7af554ba60736d80f359b62b1a658d008dc46bebbd7d32bd23d3b692393b7ed7d5239e68bdaa9139707b2d7865f89b89fee05e SHA512 2e7220b91a3416459b0de64fd1345a18d022e96b7009e51cea0e875909401110ffd9086f8bca809c798cc2bedc190fa154ac1cece1c328a2e60b731af3ba8f9e
DIST stone-3.5.4.gh.tar.gz 329267 BLAKE2B 96f3e4f655459c05b1b3f757b01d3863e4deb439d3a36ab8bcceed75c3c01f88c0ef919fd700c88b048376928e09a3eddf42ae1bd03d7b1283a3318c376a5b76 SHA512 6a448e9a151b7ea00eef1613109516120790a9a723b2053efdc006803b49abb9b1bf326c8ef208c68f05eebe88b2cb41ab8b027a3041adfd3f9be2a8d4d1a1b6
+DIST stone-3.5.5.gh.tar.gz 329077 BLAKE2B 748d609c4f06ce4b66ca543e5b27b68bdc777930389f3c3c71dba883016d3cc20be8eecbf758c9c2b60e6ff7d18d059a90b530ce4f6dd03872c60c68fa712aa0 SHA512 d9b5a0f2844d9bdf7fcb5895f535f6a082475899ba4f3e053616ca02da7b3d5e0705145c2abd1a973966a0be4473b0cb72bea4fb06a1c4a4fa03003aa27aa0cf
diff --git a/dev-python/stone/stone-3.5.3.ebuild b/dev-python/stone/stone-3.5.5.ebuild
index d38498524f7f..d38498524f7f 100644
--- a/dev-python/stone/stone-3.5.3.ebuild
+++ b/dev-python/stone/stone-3.5.5.ebuild
diff --git a/dev-python/tagpy/files/tagpy-2025.1-fix-setuptools-0.84.patch b/dev-python/tagpy/files/tagpy-2025.1-fix-setuptools-0.84.patch
new file mode 100644
index 000000000000..618664143dd0
--- /dev/null
+++ b/dev-python/tagpy/files/tagpy-2025.1-fix-setuptools-0.84.patch
@@ -0,0 +1,26 @@
+https://github.com/palfrey/tagpy/commit/da43ef1.patch
+apply patch from upstream to fix incorrect types
+see https://bugs.gentoo.org/982734
+--- a/setup.py
++++ b/setup.py
+@@ -28,9 +28,8 @@
+
+
+ def main():
+-
+- INCLUDE_DIRS = "" # conf["TAGLIB_INC_DIR"] + conf["BOOST_INC_DIR"]
+- LIBRARY_DIRS = "" # conf["TAGLIB_LIB_DIR"] + conf["BOOST_LIB_DIR"]
++ INCLUDE_DIRS = [] # conf["TAGLIB_INC_DIR"] + conf["BOOST_INC_DIR"]
++ LIBRARY_DIRS = [] # conf["TAGLIB_LIB_DIR"] + conf["BOOST_LIB_DIR"]
+
+ boost_name = None
+
+@@ -93,7 +92,7 @@ def main():
+ include_dirs=INCLUDE_DIRS,
+ library_dirs=LIBRARY_DIRS,
+ libraries=LIBRARIES,
+- extra_compile_args="", # conf["CXXFLAGS"],
++ extra_compile_args=[], # conf["CXXFLAGS"],
+ ),
+ ],
+ )
diff --git a/dev-python/tagpy/files/tagpy-2025.1-fix-taglib-2.3.2.patch b/dev-python/tagpy/files/tagpy-2025.1-fix-taglib-2.3.2.patch
new file mode 100644
index 000000000000..306db560d351
--- /dev/null
+++ b/dev-python/tagpy/files/tagpy-2025.1-fix-taglib-2.3.2.patch
@@ -0,0 +1,44 @@
+https://github.com/palfrey/tagpy/pull/73.patch
+apply upstream fix for taglib-2.3.2
+see https://bugs.gentoo.org/983026
+--- a/src/wrapper/rest.cpp
++++ b/src/wrapper/rest.cpp
+@@ -80,6 +80,10 @@ namespace
+ // WAV
+ MF_OL(strip, 0, 1);
+
++ // Ogg
++ // Really should be 2, but the second variant is protected
++ MF_OL(packet, 1, 1);
++
+ #if TAGLIB_HEX_VERSION >= CHECK_VERSION(1,10,0)
+ // MP4
+ TagLib::MP4::CoverArtList mp4_Tag_GetCovers(TagLib::MP4::Tag &t) {
+@@ -129,10 +133,8 @@ void exposeRest()
+ .DEF_OVERLOADED_METHOD(addField, void (cl::*)(const String &, const String &, bool))
+ #if TAGLIB_HEX_VERSION < CHECK_VERSION(1,11,0)
+ .DEF_OVERLOADED_METHOD(removeField, void (cl::*)(const String &, const String &))
+- .DEF_OVERLOADED_METHOD(removeField, void (cl::*)(const String &, const String &))
+ #else
+ .DEF_OVERLOADED_METHOD(removeFields, void (cl::*)(const String &, const String &))
+- .DEF_OVERLOADED_METHOD(removeFields, void (cl::*)(const String &, const String &))
+ #endif
+ .DEF_OVERLOADED_METHOD(render, ByteVector (cl::*)(bool) const)
+ #if TAGLIB_HEX_VERSION >= CHECK_VERSION(1,11,0)
+@@ -146,9 +148,15 @@ void exposeRest()
+
+ {
+ typedef Ogg::File cl;
++
++ ByteVector (Ogg::File::*pk1)(unsigned int) = &cl::packet;
++ // FIXME: second variant is protected, so don't have access
++ // ByteVector (Ogg::File::*pk2)(unsigned int, unsigned int) = &cl::packet;
++
+ class_<cl, bases<File>, boost::noncopyable>
+ ("ogg_File", no_init)
+- .DEF_SIMPLE_METHOD(packet)
++ .def("packet", pk1, packet_overloads())
++ // .def("packet", pk2, packet_overloads())
+ .DEF_SIMPLE_METHOD(setPacket)
+ // MISSING: page headers
+ ;
diff --git a/dev-python/tagpy/tagpy-2025.1-r1.ebuild b/dev-python/tagpy/tagpy-2025.1-r1.ebuild
index 4a9436b86c47..6514747408fe 100644
--- a/dev-python/tagpy/tagpy-2025.1-r1.ebuild
+++ b/dev-python/tagpy/tagpy-2025.1-r1.ebuild
@@ -32,16 +32,11 @@ RDEPEND="
"
PATCHES=(
- # https://github.com/palfrey/tagpy/pull/37
- "${FILESDIR}"/${PN}-2025.1-fix-check-taglib.patch
+ # upstream
+ "${FILESDIR}"/${P}-fix-check-taglib.patch
+ "${FILESDIR}"/${P}-fix-setuptools-0.84.patch
+ "${FILESDIR}"/${P}-fix-taglib-2.3.2.patch
)
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # https://bugs.gentoo.org/982734
- sed -i -e 's:"":[]:' setup.py || die
-}
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index 98210274fa30..697329c8f2f9 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -8,6 +8,7 @@ DIST uv_build-0.12.16.tar.gz 432812 BLAKE2B 2401a3d86cef31756ae50ad6fb888b731139
DIST uv_build-0.12.17.tar.gz 434807 BLAKE2B 8823907abc14637a684723b683284cc8b6a40b2467adbab74059b139388aeb1ff8870bdc09a497bad3e06af60c4e9c360c8d57cc6dd62e26e9239f4cf041f827 SHA512 a833a0578c6d543eabe51089d330f0d93d141bea5ff2bc1a194ad27a7ad4a1c7189321cdcf6012465b819bffd620affb42d4fb148bce69beeee0e32537a74668
DIST uv_build-0.12.18.tar.gz 435289 BLAKE2B 3324730347edfc217d158d44583aea65d11039191d3ed86f0e8908393c33a1d512abffaf1fd1b3783dace76f489ca464d96efab8f7f3e8ab0c3b6eae77649626 SHA512 82751ab98fa7d2676b68b9f3153d4c742304c63970d2128c3baa8823564f53aa192a4fbf634d45280b6689968641dcafbc0d52a609a8676487a256627f3d3a66
DIST uv_build-0.12.19.tar.gz 435379 BLAKE2B 4ded7941c9277d571757d9f49fcb124c931297bceeb9c8be168fb6a2e2bc28276d74fc377f06713058b8544d90060b4e3c6231add59687e7d0b2b0fb737e0fb9 SHA512 0a6909be77ba66d48d7b57aa6929c0448c50c9289804432c4aad058d58ea8d10a7f0ad5e1bacacde59e7d6d16758925dac3b52afb13fea3e08d9439612b2cc00
+DIST uv_build-0.12.20.tar.gz 435906 BLAKE2B 80a5998394d44428d2f04e4c62e1f8269b836fe2addc817fb0b5b0a2f483a748e9b66631c6662ba4396792fffa763c24f72d3037f84863933e70805dd1f456e5 SHA512 0af155b2eabe86a8607914c12a76e52d90591171a9ee06735e1471020f12ec4ff6283abc6cf7bc4d908f8dbb5aa75b5b060d53fc8e5849b001271e9a9f70346b
DIST uv_build-0.12.3.tar.gz 414444 BLAKE2B f226c1c2bf0b2af538f66095e20c02ad1933afdee62a07eff5f1135692bab47e286f67e7a8f5882e98c61fbb6bf831a85dd56a2d5af2bee6d62d8857a59e56bc SHA512 90d9af3e1a1ff1d7dda21fa38c0ac2d94536e73697ddabb408fb38e2d381498b2401007af0ab31c39cbf3b632aeca2991b3a66d7108e1c5eb7294b3fba8fe107
DIST uv_build-0.12.7.tar.gz 418759 BLAKE2B 94aa33b2644f849a686d80d7f7d365ca8433615d93f27209fca5b21747363cd349d11e887d090420102f06a49977ce963b8f19c24a4280bf82a09943ba08885b SHA512 135f845b3ee6d1925f740917f83f94ec1a7e95aab5ed2db0aa70516c712ab0a143a0e427d3c172fac0bb1fabaa9103718bb2a26c31c9a287e3af65ac0175a245
DIST uv_build-0.12.9.tar.gz 423446 BLAKE2B 8f32f7527633f5853a11a0f798a2aa075f9e96c2b34144f986a639dbd042bac7c5e33853287ef43273352a3ee84da852062c42daead1f188281295b635694177 SHA512 3aa6ea5b4e60218e7cbc3c5ed8ff7fbeeace36eb0d2c75627fb7a0ce7c060e8d6405378e9713f7164319cce55dc96b1a335ccb3032cfc7e9e60e99862295e79e
diff --git a/dev-python/uv-build/uv-build-0.12.20.ebuild b/dev-python/uv-build/uv-build-0.12.20.ebuild
new file mode 100644
index 000000000000..65d94f2051ae
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.12.20.ebuild
@@ -0,0 +1,100 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maturin compiles uv-build executable for every impl, we do not want
+# that, so we use another backend. And since we use another backend,
+# why not dogfood it in the first place?
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/pyproject.toml.orig
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 25125f953095..bf91074ea477 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -18,6 +18,8 @@ DIST uv-0.12.18-crates.tar.xz 43866448 BLAKE2B be0edae4bf12216c1d8f7b14b987bc0f4
DIST uv-0.12.18.gh.tar.gz 8720443 BLAKE2B d19eb0bf9a38a2e2407d575faf371e4b1208da2a2be71b0f183a0849d04f9a4959a04285e30e2810864bc91cf2b880081211179fdbaf070c4284c4563b0262a3 SHA512 ee62d1f51efc28bd0ad1fe91bd007537556e30bc96d449a3628457863796bfd1b27b7357d016b1a11abc1fd3cc5637e043c83e4731fb880442499a18ed0660d0
DIST uv-0.12.19-crates.tar.xz 43866448 BLAKE2B be0edae4bf12216c1d8f7b14b987bc0f483afac80380b1425e8f153097aea5271fff65a56652c400df86181b4dce3c2b31151e97c22356d860b36d2473ff86b1 SHA512 26f88051220016fdbbd8261f74b8d752aa2ac75c31b96b361f3eb026e7bb5d1aaccfaa5be308b181838fbc1c917d55f051709f7e489748a02d3e5286ee1eb6d7
DIST uv-0.12.19.gh.tar.gz 8735351 BLAKE2B ab7088dc33ec9ca571f599987ec379e66196d89566b88f410fb30aee8c9053a5c4f3dd844185bc4af6ca1b27b287621baf0bc25823a4f84c14cf7925a69c597f SHA512 2726729324c58d77d4b9b402b3ea465821d38642f5edb7294be3fbb509b51d53d0a5bfc8678521100c25abea7973cd7b1e48957c43b2d242039b6ff33106d4a1
+DIST uv-0.12.20-crates.tar.xz 44005552 BLAKE2B 15c707de27a4481afd3ff3df15c35363f7649f4c8b962a261fd2026c99f43f2f4010ac90296e5e4c30416b0d41bd340b79acc63b6842c8c12fc65fbb3bb85820 SHA512 9d6af5e1b84d35857350033b10a32788f824d19df38fd4da671d5f4f5b984f1446161408b6c5d45909380cf691e38417af7cfd384d3c7bb9c04596e37ccb4b1e
+DIST uv-0.12.20.gh.tar.gz 8759776 BLAKE2B 420f46145c95c998f34b78888af40f0c90eb398bc49dfc67ab8f879791bf75b4298eebd21c86f6bdc14c4a4e36124bac2a96b1eb637f3a9349e26f20502cfe25 SHA512 2e00c5f0a74b8ee0737d50f53dccb5f15d17e8b061969e518f302525f6fc5afe9fcb43be17a18f2181ca236abeee56a858f9c9604651719b61d4c963fd0079d9
DIST uv-0.12.3-crates.tar.xz 42197452 BLAKE2B 996bb294d37774e0cb5529c34552d20877cd82a3d063b6e4dc1f6feff05a7822a91c44408a970f038d3045312be0edd4c9e8d34f6eebc04d71bd4d2ffa0184ee SHA512 8de33956c5a603fb4aa1bb5ab6db68c537d7523a84f3092057f562b1209bc976b0bc64cc6ed76cbf1b0edb4981b6a41765fa5e2729a487e4e2322052aa08b8a4
DIST uv-0.12.3.gh.tar.gz 7273161 BLAKE2B 706a2297090b13c6f731d25f55ae8c2225e3b9bd820c61814f512c1e04d98d2e46ce5bfac6ec6ea346dbce1663aea644384b37663b53d64a08a90b48217bdb0d SHA512 a4933b9b9b852dee2485800ad82ee3be111a4a5a437ab32d5064cfd4004e124ba733294a546a097379c74cf1fc234d1da0488aec7725037c7b967ec1aa862a71
DIST uv-0.12.7-crates.tar.xz 44143088 BLAKE2B 075113e8cbafd99a1c70c4ce53678f2ceb13ce31dc7cafb5773e32ae9dfa14144390380e0149219912a0c4b92e6d3b9d0a0a0016cdd4c69097bf75adf1b8a716 SHA512 f9dbdad7cbddd3238c7cc9fbcbec4e92fc8c8c66bc7247ccc8159bb186223c199e3bd411ad9148750ec1fa258775dcec1e2bb6bc3287fca7aeb6ffa7ba4d6b44
diff --git a/dev-python/uv/uv-0.12.20.ebuild b/dev-python/uv/uv-0.12.20.ebuild
new file mode 100644
index 000000000000..9826f9045941
--- /dev/null
+++ b/dev-python/uv/uv-0.12.20.ebuild
@@ -0,0 +1,151 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.96.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}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# 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 CC0-1.0
+ CDLA-Permissive-2.0 ISC MIT MIT-0 MPL-2.0 Unicode-3.0
+ Unicode-DFS-2016 ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ dev-lang/python:3.13
+ !!~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
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/zstd-sys-*/ -name '*.c' -delete || die
+}
+
+src_configure() {
+ local myfeatures=(
+ test-git
+ test-pypi
+ test-python
+ )
+
+ cargo_src_configure --no-default-features
+ # otherwise, rustc/llvm runs out of address space
+ use arm && export RUSTFLAGS="${RUSTFLAGS} -Copt-level=0"
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ dobin "$(cargo_target_dir)"/{uv,uvx}
+
+ 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/zeroconf/Manifest b/dev-python/zeroconf/Manifest
index 75c350e2cbd2..d3061d3bb618 100644
--- a/dev-python/zeroconf/Manifest
+++ b/dev-python/zeroconf/Manifest
@@ -1,8 +1,8 @@
-DIST zeroconf-0.150.0.tar.gz 213634 BLAKE2B 375e19de785a1211a37ee2a49c3241e0b5e37802fdfc7ab4b41626345e1a9dabb9abce1ab72e1794de1ac79520281da88e2d5ea75f685e166a7782aabd2b9962 SHA512 b7dd7402b623b545970696cccbe6a0664f25ee49cffdf5c2b6b1aef7dff2bb4106e3475c1446ac236894b69f4d1e0a77b63e811756bfde43120bab394a4b6b89
-DIST zeroconf-0.150.0.tar.gz.provenance 10294 BLAKE2B 396684e6c120c4d99126fb4a53c3dc49a8afe16d3f7c7fdccbc5d98355fca41ed285c56aa9c69e12ba19a5688f05bc47090d7008c443168370371bb0f3c3da93 SHA512 e1229dd5ccc0eebd1ed99db364605fbd655e45cb8625766b1972b99ebf6f45dad325187091045e689436086f18af5df37d74abe8807095d68e3468ebf9711f63
DIST zeroconf-0.151.1.tar.gz 226627 BLAKE2B 633cec59e69e765cd80f4aeaf4daa9f6000357b23f45547d93a85a9d6aa08f5b8266b6bef3c873a30a3b5a7da37a27bdd03296b8970c799a312d4746750050d3 SHA512 3719c5ab08f0d82830b44a6eec89fa2deb75e71dfb1e3e810405f40537d2510bc874d91b980c42d52409b0a279c1943cffce2b0923635f2f8c00acc47f39bab2
DIST zeroconf-0.151.1.tar.gz.provenance 9920 BLAKE2B 71442284e5ece2a8d4c7615bf623b26346efba5035a8ca165bdb815f7ba1ed4b0cfa08db462cf7dbfc71ec5794350c932f9ec66d24adebe70eb3c40d7a0bd2d2 SHA512 976c71c46994389718d7ae479b96417480636c82dc48df510a2647c0e0df602355161b54ff54e45f15962fa7717ce44ee21dc80e494f6005e288041e7f348785
DIST zeroconf-0.151.2.tar.gz 226675 BLAKE2B 43be2a76c96956c9f66a888562d52231d4590cb227f9b05f27afc17113c74ac16696d63727cacc70caa006ac5230450b589703fd2469338eb9b641dd4ef707e0 SHA512 59713f91b9a409c4e810311c5d0bb4e83244187f68f99ef7eff0e289d7bb15b256333ad79015c78a6eae298c130acc6923de093023a0f5522b970e5ce4522ba2
DIST zeroconf-0.151.2.tar.gz.provenance 10061 BLAKE2B cb093b304c9fb8fd3e05cc1d9445dc49fb74eb21ac9b7580b4c174e168aed722cdb746d37a90867886760fa793ada8275c79bfa598059b8607c3d7f9c1d3c57f SHA512 6f16ccacc239a3c3ef192d6e1fae876b2552b5893e67c7ec620493d4dd8b59494e7c2aa3cef4ac3bc03e9341f64d4a3c61226927003727d1cde56fea5da36ee8
DIST zeroconf-0.151.3.tar.gz 223165 BLAKE2B cb9a75dee0b04d60e5b7ee3e83c5b992f32c61d33f7958143b92c78a95a24d9a82b27fba9caa2595e29abfa124d275b9cf0f744cf6d79095e2507976416f3acf SHA512 da213a68a43fa5d1126a98fca96792734a2b517753189599b1bba28638e30a72ef19e1a88351c735d282be8b7e8e4f2d417c35007163e3af338ec662646531b8
DIST zeroconf-0.151.3.tar.gz.provenance 10155 BLAKE2B 93d07fe79d2bc2a68c3cb6fccc74a3910872f3719cd9a6b1e13db2896d83f42a3549474aa28dbe0c26465075461aaa230bb29985b9a2c7b6922bedc5f24aa622 SHA512 0aa1dafeafeb15df940548eeb242ae57e69ab8e406e76821d9df921db8f7e348cd3fab4e3b0cce17475020201728070a088290dc2f084661663c4c5e2efba7a8
+DIST zeroconf-0.151.5.tar.gz 223583 BLAKE2B ed72caf6bfdb9374f7549fc71c13a1e770f61a45fb31c48f43b14301162e2db50cd3f6e93b3a8baaaf3700993bdda3c617987aefd85c041c88ec84a2aaf30aad SHA512 b041620f9095ee55a39e526c79bf4c9f1970ac0b4ba37b06fe0df956f6148a24db1a86893f655c5816d13f8b4612a66653f3086c5199262a30599805dcf5fab3
+DIST zeroconf-0.151.5.tar.gz.provenance 10073 BLAKE2B 241456fcb5b69ac1113ca550d9132c73037aa209f4419e858e525b9e69b97708f1a221cff7e668f580088fdfa66e0910f2e13d610335369ccaca874d6e28128e SHA512 b8629f28fb673361f40a77111b3898e46d6e241107291179c270b1a580e73c682e5c93157f1dafa10082579b8ac5499a65846730024e127e93fb26dd722ff658
diff --git a/dev-python/zeroconf/zeroconf-0.150.0.ebuild b/dev-python/zeroconf/zeroconf-0.151.5.ebuild
index d968ee41d882..825bff069944 100644
--- a/dev-python/zeroconf/zeroconf-0.150.0.ebuild
+++ b/dev-python/zeroconf/zeroconf-0.151.5.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
IUSE="+native-extensions"
RDEPEND="
@@ -28,15 +28,15 @@ RDEPEND="
# C extensions, sigh
BDEPEND="
native-extensions? (
- >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
+ >=dev-python/cython-3.3.0[${PYTHON_USEDEP}]
)
test? (
- >=dev-python/blockbuster-1.5.5[${PYTHON_USEDEP}]
+ >=dev-python/blockbuster-1.5.27[${PYTHON_USEDEP}]
)
>=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}]
"
-EPYTEST_PLUGINS=( pytest-asyncio )
+EPYTEST_PLUGINS=( hypothesis pytest-asyncio )
distutils_enable_tests pytest
python_compile() {
@@ -53,9 +53,10 @@ python_test() {
local -x SKIP_IPV6=1
local EPYTEST_DESELECT=(
# network
- tests/test_core.py::Framework::test_close_multiple_times
- tests/test_core.py::Framework::test_launch_and_close
- tests/test_core.py::Framework::test_launch_and_close_context_manager
+ tests/test_core.py::test_close_multiple_times
+ 'tests/test_core.py::test_open_and_close_cleanly[InterfaceChoice.Default-False]'
+ 'tests/test_core.py::test_context_manager_marks_done[InterfaceChoice.Default]'
+ tests/test_core.py::test_default_interface_warns_when_ipv6_requested
# fragile to timeouts (?)
tests/services/test_browser.py::test_service_browser_expire_callbacks
@@ -66,6 +67,8 @@ python_test() {
)
local EPYTEST_IGNORE=(
tests/benchmarks
+ # timing test
+ tests/test_fuzz_incoming.py
)
epytest -o addopts=