summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/apprise/Manifest1
-rw-r--r--dev-python/apprise/apprise-1.10.0.ebuild43
-rw-r--r--dev-python/argon2-cffi-bindings/Manifest1
-rw-r--r--dev-python/argon2-cffi-bindings/argon2-cffi-bindings-26.1.0.ebuild48
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.43.77.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.43.77.ebuild67
-rw-r--r--dev-python/cachelib/Manifest6
-rw-r--r--dev-python/cachelib/cachelib-0.15.2.ebuild45
-rw-r--r--dev-python/cachelib/cachelib-0.16.0.ebuild (renamed from dev-python/cachelib/cachelib-0.15.0.ebuild)0
-rw-r--r--dev-python/crc32c/Manifest1
-rw-r--r--dev-python/crc32c/crc32c-2.9.ebuild46
-rw-r--r--dev-python/google-api-python-client/Manifest4
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.199.0.ebuild (renamed from dev-python/google-api-python-client/google-api-python-client-2.197.0.ebuild)3
-rw-r--r--dev-python/narwhals/Manifest4
-rw-r--r--dev-python/narwhals/narwhals-2.25.0.ebuild (renamed from dev-python/narwhals/narwhals-2.23.0.ebuild)2
-rw-r--r--dev-python/pygithub/Manifest1
-rw-r--r--dev-python/pygithub/pygithub-2.10.0.ebuild39
-rw-r--r--dev-python/pysnmp/Manifest1
-rw-r--r--dev-python/pysnmp/pysnmp-7.1.29.ebuild49
-rw-r--r--dev-python/pyzmq/Manifest1
-rw-r--r--dev-python/pyzmq/pyzmq-27.2.0.ebuild85
-rw-r--r--dev-python/reportlab/Manifest2
-rw-r--r--dev-python/reportlab/reportlab-4.4.10.ebuild53
-rw-r--r--dev-python/reportlab/reportlab-4.5.0.ebuild53
-rw-r--r--dev-python/stevedore/Manifest2
-rw-r--r--dev-python/stevedore/stevedore-5.9.1.ebuild (renamed from dev-python/stevedore/stevedore-5.8.0.ebuild)2
-rw-r--r--dev-python/wrapt/Manifest6
-rw-r--r--dev-python/wrapt/wrapt-2.4.0_rc2.ebuild40
-rw-r--r--dev-python/wrapt/wrapt-2.4.0_rc5.ebuild (renamed from dev-python/wrapt/wrapt-2.4.0_rc1.ebuild)0
-rw-r--r--dev-python/zipstream-ng/Manifest1
-rw-r--r--dev-python/zipstream-ng/zipstream-ng-1.9.3.ebuild22
-rw-r--r--dev-python/zope-hookable/Manifest2
-rw-r--r--dev-python/zope-hookable/zope-hookable-8.3.ebuild36
-rw-r--r--dev-python/zope-i18nmessageid/Manifest2
-rw-r--r--dev-python/zope-i18nmessageid/zope-i18nmessageid-8.3.ebuild35
-rw-r--r--dev-python/zope-interface/Manifest2
-rw-r--r--dev-python/zope-interface/zope-interface-8.6.ebuild52
39 files changed, 558 insertions, 254 deletions
diff --git a/dev-python/apprise/Manifest b/dev-python/apprise/Manifest
index 210ef986584d..c3215df914b8 100644
--- a/dev-python/apprise/Manifest
+++ b/dev-python/apprise/Manifest
@@ -1,2 +1 @@
-DIST apprise-1.10.0.tar.gz 2188611 BLAKE2B daccf6267a67a84343025ad17551d296b480b5b56db65070961830398258780fcf930319f1d64c4ad3ec438fd94c73d2c4266acddb8f5fe51a8d6f7f64248372 SHA512 b6a5ce95425ee151b8b81e1eaa5b3a1c4a4cc358c0c2266976c6ea3285296fe773451c72fb836c08c2721d4e65e0bd7f92551b258a8246246860a9edf319df4a
DIST apprise-1.12.0.tar.gz 2477874 BLAKE2B f51b075a108286d2787740e0ce643b7ae54ed3d080767779d5bc10a5177c9ee2c49dd5aaf1af0e38dbe0fefd1f73b9d98e40aa849d68cfa16cc60b05cab5606a SHA512 539d599eb068784904084b9b26dc0422063cbec6c2bd80d02db702ad676bd1816fbf4909ac5caeb2ee682c3d0ae54d3efb03d9b617c9b1f2b15cd06eb28fc7dd
diff --git a/dev-python/apprise/apprise-1.10.0.ebuild b/dev-python/apprise/apprise-1.10.0.ebuild
deleted file mode 100644
index 03a7022ba5ae..000000000000
--- a/dev-python/apprise/apprise-1.10.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# 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 pypi
-
-DESCRIPTION="Push Notifications that work with just about every platform"
-HOMEPAGE="
- https://pypi.org/project/apprise/
- https://github.com/caronc/apprise/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv"
-IUSE="+dbus mqtt"
-
-RDEPEND="
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/markdown[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/requests-oauthlib[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dbus? ( dev-python/dbus-python[${PYTHON_USEDEP}] )
- mqtt? ( dev-python/paho-mqtt[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- dev-python/babel[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=( pytest-mock )
-# xdist causes test failures
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fails if pygobject is installed
- # https://github.com/caronc/apprise/issues/1383
- tests/test_plugin_glib.py::test_plugin_glib_send_raises_generic
-)
diff --git a/dev-python/argon2-cffi-bindings/Manifest b/dev-python/argon2-cffi-bindings/Manifest
index 8aed9160cd21..052b318139db 100644
--- a/dev-python/argon2-cffi-bindings/Manifest
+++ b/dev-python/argon2-cffi-bindings/Manifest
@@ -1 +1,2 @@
DIST argon2_cffi_bindings-25.1.0.tar.gz 1783441 BLAKE2B 0479127bc3587ddc19a0891b25191f602495cb85136864b8b08179683f9d592a01f727b0ad60b0ca4708d834207a3678748723553f9a9bd15dc46412f40c1139 SHA512 64e387a4997b5a905e177b62d1bfb5fafb3b466c10c759d5305fa3e4ec35b7f386eabd34562157266405114c0c71a8c616e25efd9fd8638de03bcc16cc3df6df
+DIST argon2_cffi_bindings-26.1.0.tar.gz 1790807 BLAKE2B 37462d7fc7f59e0ef0f60f44693245d58c35d8a07dfdd523d912dfa06368777efe580eee5ca324d48337ae5f10bffa5c4a1c87f1df062a5046e3858953849cb0 SHA512 08f7827031ec893f289fb94d52d918c997cc4dcd2756b93d134e6047e6a4ba00cddc04126caecdf71e81c8f6b476b7997496e45f8f835c5edd0958da84e3ff35
diff --git a/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-26.1.0.ebuild b/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-26.1.0.ebuild
new file mode 100644
index 000000000000..6761c76f57db
--- /dev/null
+++ b/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-26.1.0.ebuild
@@ -0,0 +1,48 @@
+# 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
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Low-level CFFI bindings for the Argon2 password hashing library"
+HOMEPAGE="
+ https://github.com/hynek/argon2-cffi-bindings/
+ https://pypi.org/project/argon2-cffi-bindings/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cpu_flags_x86_sse2"
+
+DEPEND="
+ app-crypt/argon2:=
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+RDEPEND="
+ ${DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+
+DOCS=( CHANGELOG.md README.md )
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_configure() {
+ export ARGON2_CFFI_USE_SYSTEM=1
+ export ARGON2_CFFI_USE_SSE2=$(usex cpu_flags_x86_sse2 1 0)
+ distutils-r1_src_configure
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 70fa631f4e72..aa494a171956 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -14,3 +14,4 @@ DIST boto3-1.43.72.gh.tar.gz 1208773 BLAKE2B 1250a1fffa6b31c2e3c5ab40221db938a56
DIST boto3-1.43.73.gh.tar.gz 1209884 BLAKE2B 6741d048f7446ac34d9c57a966ae784aa22da0b5dc112c0ddf5f2af875a6e69d70b95b27f34acd6c350383ac547bfdb15c41a5ba17aef92392e3ec1d68a341cb SHA512 b70b4e1681a1e3beb3f3c29494d5e67b4451b7a6ad2a400827a24d72a7bb3199e7a90df6c726929a4c7162f6f7db144a46ea90bc53f857b08006e359422658e5
DIST boto3-1.43.74.gh.tar.gz 1210825 BLAKE2B ddde072a22e8c0ee376a3bf63be6b376b9c99432fd7ffbd7172ded34fed0e777a9b2f2be62ce612f7973bf8eac91e9bc763d97f303b663b74ce7bc5d0c6f955c SHA512 9c017a42db9be269fa9b6c8b7a8c239d0475700df51794da94c83baed2eb32dff920d260560886ed83455ed2e93e6d302c98ca1c04e6d766e09d3c3bee546258
DIST boto3-1.43.75.gh.tar.gz 1211573 BLAKE2B f27b330532fa1e4996edc1c41172df38a8c55f7c4aded032babee1ba98592f80babfd942e305f88c1ab633162f150a56ec904c53b89db70c5e83bd7b4bcda66a SHA512 3eef6ac3d6507a1831349bb2d1546752d41f013e4b240abfff25c3a10dc4766bca92c865e7cfa4f57bad11f8a14f157d652bc9caadba87c8ed84f3b8b3219636
+DIST boto3-1.43.77.gh.tar.gz 1212908 BLAKE2B 79b5af5bc1fce6c847f2cf6c670fd234a464a3d5887f398dcdc625f5abd247a15a07786ea7b6bdaad5b25efcbf3d12bd670d4bc4d3efea062c9082901a0147f6 SHA512 cb236e51e344447c5bb17907f99c9c053099b7927c76f90ecc55973917598acdebad858c60228a0b49213da083136a5ad25710fb27dde5375e834c0c3a9d7e0c
diff --git a/dev-python/boto3/boto3-1.43.77.ebuild b/dev-python/boto3/boto3-1.43.77.ebuild
new file mode 100644
index 000000000000..93fbbe6dd59b
--- /dev/null
+++ b/dev-python/boto3/boto3-1.43.77.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 b72df412e936..8e704af06fa7 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -14,3 +14,4 @@ DIST botocore-1.43.72.gh.tar.gz 16966215 BLAKE2B ccb01e2001fd1584bc635a19daf2413
DIST botocore-1.43.73.gh.tar.gz 16978406 BLAKE2B d822e8de190d7cba908ab03cce8112540853afa397d5519434dd989b199694cfe4d0b2ca13a73eb4387967b3f8ffb43e207caba055fca180548a635d974c340a SHA512 bcb2c6b2f13bbc30cb555633d9ed716cbd9ad3e59bfe2057d5224ef39043b88ee7cb69dfeafceb2ccfde2093be1acdb1fbf33c1cb9461ae865fd402ca9381b88
DIST botocore-1.43.74.gh.tar.gz 16984072 BLAKE2B 5f45bb07ca0605f24bec1f92562c035282441a2e784e5c022b75164b6644b0ff87fb85f38905e6a362ce606bb5eb8a5ca4b8f9f3b82fae446f641522344e8623 SHA512 e7e789df0fb77db2dfde00e68c36ea91de8016f19c618b90d05bb0922a3997e50f2b25b2f04ce1a3353ae66def2db6a3636fecb5bc87829af6713b60ad074883
DIST botocore-1.43.75.gh.tar.gz 16993003 BLAKE2B be6d27541cae80f753800a338718f2fe140cf54388f9c86ee78932c3d4dd406d8b700ac41c5729b71f9ce4eb30a5ae2026fd7b9c532671304762d870deef13ec SHA512 579d43e06d96802741c89a6187ea505d0a695775fe2d0da7faef41e2d2e494e26e291baaae050be4cc3b261a1b8540326efdfa95d8584a38eeeaf38662cf4bf8
+DIST botocore-1.43.77.gh.tar.gz 17002741 BLAKE2B 6a3e99cd7617a2df508e7cc1ec804c4aad86e2231dc6d32417d49a98167a4435490e6966219501cbd32be86d0a065b7718d6152a5edc561778efa0b972427f40 SHA512 81a40baff0218bdace2cf50a9bc0c637a2f29d89a4d704c1b5b972f6f7d3e6029d3f19bf3e54de6130763c0067216b80fdb5fa44228248262e96475313fb8496
diff --git a/dev-python/botocore/botocore-1.43.77.ebuild b/dev-python/botocore/botocore-1.43.77.ebuild
new file mode 100644
index 000000000000..a3a161f78545
--- /dev/null
+++ b/dev-python/botocore/botocore-1.43.77.ebuild
@@ -0,0 +1,67 @@
+# 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
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cachelib/Manifest b/dev-python/cachelib/Manifest
index f8b971ed0c55..8ce1c6b94eb2 100644
--- a/dev-python/cachelib/Manifest
+++ b/dev-python/cachelib/Manifest
@@ -1,8 +1,6 @@
DIST cachelib-0.14.0.tar.gz 170320 BLAKE2B eef18a1840468057ddd79a1b647de81d20d49abdc4b51c6b13ae1ed18cc5a635447c6e8ebe2112a3853c4809982f45ad5f2ac09afe66c36442c327fb584f0f02 SHA512 ed14f9e944454067b30c748b558670fc50343f332ec4bf91e7df97bbc2ad9647e97d221b62287b139df70faafcccbbf1c455710c71cb969e096e61997e98d13e
DIST cachelib-0.14.0.tar.gz.provenance 9394 BLAKE2B cbb5092520d5510df628b504cc67b24d970ec202beead31831792f10da048c8bac02b86a2077778fe71e51884a5c50120fdab77248e438b9f81c196e9d662ddf SHA512 830d3d3b2a693e668aaed43cfbad7ada69b1670033c36d1354ab069cf7ba19ed4197b1c2cb7da77f8a5fa4817b8140982777cc2ba9d84362d963cf3c6684848f
-DIST cachelib-0.15.0.tar.gz 113028 BLAKE2B 7e56e5d1df3d4a6f709d3377b3258c5ffc939fe4b3c70846cec2e0731bed4974df5b56db45ba6a976a3e3c4e7b7767f18b1c07b567330cd592cf7f5c336e97b2 SHA512 6fdba94598e674131e7689c7b2e8e8e33e9e145673bbb9230c191c0abbe071401b08c40cf93508d64624bc38c82f062d087b202375d62f7be272f132b253b71a
-DIST cachelib-0.15.0.tar.gz.provenance 9677 BLAKE2B e4b197c2e40f467e3696bf2dce3a4d00cbf41bfe7d74d8847924fe9cfe3fff8c5edb86430b02ff009b7969384c4ad6799fee723965929db8c1b871b77596026b SHA512 1d1f41306bce40fdc9f56486fce723a7edd511f715deba00529da0324441343bde811d4e8ff9013ee4da21ee0bb4a8f9cf63fc9bfaf095049208037cd2ac1e05
-DIST cachelib-0.15.2.tar.gz 117336 BLAKE2B 7551de9b7047a07199567ec81418373fa392da695d3cd4c4eb68599dc2a8171a3246f0fde12bd685426258478f26e05c202fa8ce0bd958c5a5ae102e5e77a433 SHA512 a691dfe4f9c1f9f6c5493fc22046f19097c630cecaa3d3c4acd965a73eb4e7de411d3c0073a149c1be6bea2a2bd30a87eed3917b8ba13e169f77fc657bafa85c
-DIST cachelib-0.15.2.tar.gz.provenance 9724 BLAKE2B ff68a6d725305881a3268ec3d76c16a825f0e58218902695de23b276d7f1c043f10b132280b04865932aabee8d259c3ace731d04a8a9a47b34ec7fbe6b41fb6f SHA512 239206b7bbbcf5d693bd744c44a314f8f92faaa5f1c21ac65245460c801742f162e91494d18d505cea389f80f4cf116722d339e1f4ef86eabc6ebf5b57125915
DIST cachelib-0.15.4.tar.gz 118016 BLAKE2B 1c24ea96d09c554db64ee5c07a3442dcc18bb412b5ed2470f3101296b6e6066895c04af0ba05787cf9b2a6f4d01092bb4aa625f395a95d6a581d5fa80e8359bf SHA512 cea4921dd9bf06eb2f33c5930b54519d506ced4492f8ad6ea08df8cc1ca5209d645fe2f90964af7a304696627b71c837e4ee5b081338648ad044ad5e6ac7c815
DIST cachelib-0.15.4.tar.gz.provenance 9877 BLAKE2B 5fda5512fa6fb2cf6a68d57d937561e044ee05a8fec14dd7f87c2a4061e7af0c5b58d054dbdeb6fa5ebb1d21caff9ba671d3bf7b9ee667d02d14ea7844b889a4 SHA512 a2b5e9879dac376f10e7f503f0c75f45a9339b68257639703b0da0b8ddb5543a708225f7e0f72f1a0faed3867efe43ab545957f77a223524e87a8dbbf1d9b220
+DIST cachelib-0.16.0.tar.gz 132676 BLAKE2B f9f8bb5167d4260430f3b1c169064ada8570de59c083bb067a16ae3220d3aaa98ff65d24a5bdf1834b4bd2d55ac6085d485e82150121a27f2f9228b589659e9f SHA512 435aef8c600ba44318f6e9dd738b8658b75727129003cd01dedc1c9698589301f98d710e432b74ce76fcacb554f57f587a834513c833ba8af61c9b88777c6169
+DIST cachelib-0.16.0.tar.gz.provenance 9961 BLAKE2B 85e09b64b2c7fa63d361f9ff7006eaab7107ef42e2614f3915488cd9f46e31949318ca5a7cf5253803314a351fbb96d98335fbc3be928d6031bdaf74e47888c3 SHA512 d1d02cde58a79c105cce703cc7cbd43f38f06503f0ae91435ea2bce8ecf2d4952bd18bd64e5191f6f8449de1f5a8512706f0e023cf2248cfd2e2168a55a6a967
diff --git a/dev-python/cachelib/cachelib-0.15.2.ebuild b/dev-python/cachelib/cachelib-0.15.2.ebuild
deleted file mode 100644
index 0761d3e7cb36..000000000000
--- a/dev-python/cachelib/cachelib-0.15.2.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-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/pallets-eco/cachelib
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Collection of cache libraries in the same API interface. Extracted from werkzeug"
-HOMEPAGE="
- https://pypi.org/project/cachelib/
- https://github.com/pallets-eco/cachelib/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/redis[${PYTHON_USEDEP}]
- net-misc/memcached
- www-servers/uwsgi[python,${PYTHON_USEDEP}]
- !sparc? (
- dev-python/pylibmc[${PYTHON_USEDEP}]
- )
- )
-"
-
-EPYTEST_PLUGINS=( pytest-xprocess )
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # bug #818523
- tests/test_redis_cache.py
- # requires some test server running
- # (these tests require dev-python/boto3)
- tests/test_dynamodb_cache.py
- # requires mongo test server
- tests/test_mongodb_cache.py
-)
diff --git a/dev-python/cachelib/cachelib-0.15.0.ebuild b/dev-python/cachelib/cachelib-0.16.0.ebuild
index 0761d3e7cb36..0761d3e7cb36 100644
--- a/dev-python/cachelib/cachelib-0.15.0.ebuild
+++ b/dev-python/cachelib/cachelib-0.16.0.ebuild
diff --git a/dev-python/crc32c/Manifest b/dev-python/crc32c/Manifest
index 36d9e6e808a8..b3f5e226066a 100644
--- a/dev-python/crc32c/Manifest
+++ b/dev-python/crc32c/Manifest
@@ -1 +1,2 @@
DIST crc32c-2.8.tar.gz 48179 BLAKE2B 8a4a91d068fe2baed4f4f089fef77ef9f3fd24d0e10c029500740f04b09150eeeea761fe919968253bbf83bb084a91b2ae0a0cc9f3db509701e75f67110858ab SHA512 10f139333f912d62dee4b6c21590b3182c3e6652e31aceb1bdec28ca8817ef8aa26abec3f44e6a271cb5c4f8c4abd8942b56e4642a9ab434cb41866c1ce03e19
+DIST crc32c-2.9.tar.gz 48240 BLAKE2B 3b1ee57b0b374787e538b41270f05cc057cbb1b4dfb596fc5de2b7237f13e347ea185ad565764b224a903a9f032b5a524da62f61d3a26ad94f27e9cb9ec4fb3e SHA512 ef7db78766996dffad1eaa1c4f9e170c63ff483360bac353d3449afba90194db7aeff2cdafe7e016a2dc6daf7b01acb7e78ab8a8f5777d450e6712a7a7aa150c
diff --git a/dev-python/crc32c/crc32c-2.9.ebuild b/dev-python/crc32c/crc32c-2.9.ebuild
new file mode 100644
index 000000000000..2077fd7ca054
--- /dev/null
+++ b/dev-python/crc32c/crc32c-2.9.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CRC32c algorithm in hardware and software"
+HOMEPAGE="
+ https://github.com/ICRAR/crc32c/
+ https://pypi.org/project/crc32c/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86"
+# NB: these don't affect the build, they are only used for tests
+IUSE="cpu_flags_arm_crc32 cpu_flags_x86_sse4_2"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local -x CRC32C_SW_MODE
+
+ # force = run "software" code (i.e. unoptimized)
+ # none = run "hardware" code (i.e. SSE4.2 / ARMv8 CRC32)
+ for CRC32C_SW_MODE in none force; do
+ if [[ ${CRC32C_SW_MODE} == none ]]; then
+ if ! use cpu_flags_arm_crc32 && ! use cpu_flags_x86_sse4_2; then
+ continue
+ fi
+
+ # the test suite just skips all tests, so double-check
+ "${EPYTHON}" -c "import crc32c" ||
+ die "Importing crc32c failed (accelerated code path broken?)"
+ fi
+
+ einfo "Testing with CRC32C_SW_MODE=${CRC32C_SW_MODE}"
+ epytest
+ done
+}
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 086e374103c4..f84fcd46da30 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,4 +1,4 @@
-DIST google_api_python_client-2.197.0.tar.gz 14707398 BLAKE2B e0eaf69bbf4ca9d16140fb7934d9c508c0a47b768a4499060a3a7a1760534d07ea3a4c899a24f3f36ac2ffaf58ea57397a43f65209f5fb3f97a463f6a49a8e8c SHA512 d6d81bcd8ceb5374bc05efc42e4a1a992e9ccd7558a7cdd35e41b5fc80938cb4d5394950d464630d858297f4637223ceae40f78e1d979328d1f8619e92f396c3
-DIST google_api_python_client-2.197.0.tar.gz.provenance 6025 BLAKE2B 239668d4bd09fdd19cca73102d587e6f3a3e79f782643c429328a4b331d8787f15b497f955b29781d122c934844c33a0223cd313df159a5117dd34ab17eaf8bf SHA512 c2b66ff7523b9047b2c387fb005c17936b4c0e683f62940ef4150461e5ac6379d2fee3a6d3f78e1e50567a493ee31229ccd4f33eef97fb186ef90507318e1759
DIST google_api_python_client-2.198.0.tar.gz 15060142 BLAKE2B 07d58c36776971c6a6af2fef7da81744b1358a72ef774f0353c296da76059aff3fe48a4f3a5abc1f7517902ee873d6917396776abc0852801b32d9a119409577 SHA512 ffaef84d039d8e2b57e29d599a133c6dfe5d5bc3450a2d940c8a4381f4ca22fb7e6625e9b8521be981f58a59cd1302b714a1df6eea40a49e5f830c01f7f684a9
DIST google_api_python_client-2.198.0.tar.gz.provenance 6072 BLAKE2B f7957dc0989d77820a9e2d148af898fb042db7fcc32683d9b502068756cb53f4339288246e55822cd5f3bd52c1e7fd227cd2692752899966b1942886079352ed SHA512 d382b0d170c115202e286befada8bbac7f53c4c99cb8705501f3d17ca15e928d7aba184259df70540d2266f0575817ee4dbd9ec462144ba33c14c22a00f891a5
+DIST google_api_python_client-2.199.0.tar.gz 15394941 BLAKE2B 72906a036b511014ef0ef165717e6250ac796ebca0077c88340be6eb31cab4e0a0b336c7314e9b3183829d371fc20c36a7e5ef32913eea1a9941dbe1241a970d SHA512 1a143cf36999e91546dc091bc0aa9495be7c23d2384bf24f560dad24cd1268fef86b7305fd98ebb65e48eb6b06728c8a9caef37165c573518cc20bbec601c37d
+DIST google_api_python_client-2.199.0.tar.gz.provenance 5937 BLAKE2B f0dec19e2309361a55bb6af142dcd19c807c66d6485f361621f5d8d494b1b06a2873dd88e713177fe3db233921744b23bd0590e3ff5fd97aefbee8b6ada8f945 SHA512 e240668ef1cba9ee8835be95fe183f4a330a526e83fe4c1604ef02dd6c4f390620d37d74c3ecfd4763a20d008239affa87ead00391bcb14e93d5b29940ca6077
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.197.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.199.0.ebuild
index c4890dfc16d7..946b92264cbb 100644
--- a/dev-python/google-api-python-client/google-api-python-client-2.197.0.ebuild
+++ b/dev-python/google-api-python-client/google-api-python-client-2.199.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm64 x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
>=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
@@ -30,7 +30,6 @@ RDEPEND="
"
BDEPEND="
test? (
- dev-python/mock[${PYTHON_USEDEP}]
dev-python/pandas[${PYTHON_USEDEP}]
dev-python/parameterized[${PYTHON_USEDEP}]
)
diff --git a/dev-python/narwhals/Manifest b/dev-python/narwhals/Manifest
index 014a50d1a6ba..f8d343817944 100644
--- a/dev-python/narwhals/Manifest
+++ b/dev-python/narwhals/Manifest
@@ -1,4 +1,4 @@
-DIST narwhals-2.23.0.tar.gz 656209 BLAKE2B 160d4c985d20267dca45994690f531a7fcd9094de69517aba84c34783006ea60a58a810570a64c25c3ccfd4e906f3eeb221f531e755a79296695942da258ec05 SHA512 72752d620db34fd24fc048adb38ad8988ca88303d4bde18e4a47c21b3924699316141d7d111b2bf578a2a0f55568f9cb3112e27aad485684e53908c4698f2b3e
-DIST narwhals-2.23.0.tar.gz.provenance 10087 BLAKE2B 7ea5b09a6d8bef5e790a7d631a4956205026422ed0b1c313a28e9e50b89c8af63c18b4378f251ea1b9fc47d7d9dc0493bbe64424092f9537f59de06b8733e351 SHA512 8dc8218f971eb799617a0ba7c2f98ceca2d123c00ad3d73cf49eea76070cd9fa5f3b404b7cf661c21754bbb08e46ae16a0340c6fe0e9130fdbda43180477ee0f
DIST narwhals-2.24.0.tar.gz 661143 BLAKE2B af72a6a3b2e6bed10ba77f7243c64fc454dcea1db4800366f7c6f2368360ed4b47f5a8a8aadb3a3c67b373c9166e9d492c93cfa8c7fea4b9899aafaae005e40b SHA512 701deb53fb9b188b37bdf1549fbd1b3092fceac161e0b073b0b7c5c57b55ab8cb1d766df3eefa43639ebb49bf0f768a37487779f20d74df77156e823a0bae94b
DIST narwhals-2.24.0.tar.gz.provenance 9942 BLAKE2B 3db6a7198e6628468845ac6b46ab3db9ebef9d5f06822866f613c82d6bd5382bd272787276d5ecb811515c070d2c938673b1fa1b80d8f66ab1377f4fe326084b SHA512 be3f588387bb1f8d2b1b0091b3c0a14dd2a556f49ce0da996660bc0b3adc831e3f023d25759c1638e868eab4003dad35c32c939b8afa6148fe6fee222ba34a96
+DIST narwhals-2.25.0.tar.gz 677076 BLAKE2B 3a1630bf71ca2f6dfa77c2702ef5f227de8d5d3e52ea563183edd6d3928386bb550206f1c9fffaf3c53599eaae051e8fa02facec8f607fec13a6573199571c9b SHA512 225190b5e31f3fd5ac514527bd8dcb3c50ae7f4abd3620ae1cf5a28b5f88b5c115b590705eb3c63de97dd8c5e172fd892286c3f896439815a3a83c076c18b3ba
+DIST narwhals-2.25.0.tar.gz.provenance 10179 BLAKE2B 37ae8a1329c6676e349ad725e743d6eaff306a55fe4e1ce9a4a95ee0dd4d68cb41f4e92fa93ed8dbd98ca3460744b6dcc2894eb4a6ce979e2deb9de066a5f919 SHA512 89a3a5fab107d06b619de9a62b5c3a21a808ea117ba9517004fa6b715c16e5399020e60d5cac2d7278b9a3e689ed70e9dc56efad24e3900941774058d9274691
diff --git a/dev-python/narwhals/narwhals-2.23.0.ebuild b/dev-python/narwhals/narwhals-2.25.0.ebuild
index 659973ad0528..359955646416 100644
--- a/dev-python/narwhals/narwhals-2.23.0.ebuild
+++ b/dev-python/narwhals/narwhals-2.25.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64"
+KEYWORDS="~amd64 ~arm64"
BDEPEND="
test? (
diff --git a/dev-python/pygithub/Manifest b/dev-python/pygithub/Manifest
index 5bf0c2eed7e9..108efafcd6f9 100644
--- a/dev-python/pygithub/Manifest
+++ b/dev-python/pygithub/Manifest
@@ -1 +1,2 @@
+DIST pygithub-2.10.0.tar.gz 2750952 BLAKE2B b575328f89a975ec08dcd425e64ca1420ef18602536ec17149d927848f4684410b920c33abaa710c2c6433d104ca58513e1ca2f6025e5e5cf4649145c2f9c7f1 SHA512 535f999d62049113321caa5ae0af4ecf11a5072a0bb2c4811fcc10ab300f93e60eabc51470ca28346574f04e2ce86f82d2e4bceed876b385729e36a4169b1bd3
DIST pygithub-2.9.1.tar.gz 2594989 BLAKE2B 0f06f02bf0a644a571a96c54add12b72ce467e16034d7c932c86da899130b1b743cdb141076a317643e59f7e6922f730c92b701ace0e4183ddca47a35b9a8f62 SHA512 af77ed820d0b783f0dff5d5756a470b7bc8d56cb47d9fa3cbc5d99d5d7b5d3bf15be233780914ad91487e446aff9d9d582d8421f6190f7b8176a216ddcae333a
diff --git a/dev-python/pygithub/pygithub-2.10.0.ebuild b/dev-python/pygithub/pygithub-2.10.0.ebuild
new file mode 100644
index 000000000000..d590b1635171
--- /dev/null
+++ b/dev-python/pygithub/pygithub-2.10.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=PyGithub
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to access the Github API v3"
+HOMEPAGE="
+ https://github.com/PyGithub/PyGithub/
+ https://pypi.org/project/PyGithub/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# cryptography via pyjwt[crypto]
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pynacl-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
diff --git a/dev-python/pysnmp/Manifest b/dev-python/pysnmp/Manifest
index 64efad4985cc..22e48d8f668e 100644
--- a/dev-python/pysnmp/Manifest
+++ b/dev-python/pysnmp/Manifest
@@ -1,2 +1,3 @@
DIST pysnmp-7.1.27.gh.tar.gz 476101 BLAKE2B 37c7e51ad115b0c166cc2f84ddcbaab965ecf2db16dd464be56e3acf214ef3089a3586d49e6765528a8ff8298a08adb495898cfa8fff2e4922e5d1d6b219c0ba SHA512 0e9f720e5c097692466f03e3c28aea1a8686c8061a46e08014bedca1de1a505c1fb74b8876241386e93cbc5aeefae5668fef7d64e201e76961d0ff90f4c84e1a
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
diff --git a/dev-python/pysnmp/pysnmp-7.1.29.ebuild b/dev-python/pysnmp/pysnmp-7.1.29.ebuild
new file mode 100644
index 000000000000..f1654fa24927
--- /dev/null
+++ b/dev-python/pysnmp/pysnmp-7.1.29.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit-core
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python SNMP library"
+HOMEPAGE="
+ https://pypi.org/project/pysnmp/
+ https://github.com/lextudio/pysnmp/
+"
+SRC_URI="
+ https://github.com/lextudio/pysnmp/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~sparc ~x86"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/cryptography-50.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.6.3[${PYTHON_USEDEP}]
+ >=dev-python/pysmi-2.0.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,rerunfailures} )
+# flaky because of timeouts
+EPYTEST_RERUNFAILURES=5
+distutils_enable_tests pytest
+# TODO
+# distutils_enable_sphinx docs/source dev-python/furo dev-python/sphinx-copybutton dev-python/sphinx-sitemap
+
+python_test() {
+ # see .github/workflows/build-test.yml
+ mibdump --generate-mib-texts NET-SNMP-EXAMPLES-MIB || die
+ mibdump --generate-mib-texts IF-MIB || die
+ mibdump --generate-mib-texts LEXTUDIO-TEST-MIB || die
+ mibdump --generate-mib-texts CISCO-ENHANCED-IPSEC-FLOW-MIB.py || die
+ mibdump --generate-mib-texts TCP-MIB || die
+
+ epytest
+}
diff --git a/dev-python/pyzmq/Manifest b/dev-python/pyzmq/Manifest
index a008e36767e4..2029b54e631b 100644
--- a/dev-python/pyzmq/Manifest
+++ b/dev-python/pyzmq/Manifest
@@ -1 +1,2 @@
DIST pyzmq-27.1.0.gh.tar.gz 283119 BLAKE2B 0d9115c32f93ca4f204030afbec3ac2e86efaadfe0d6293a0c7af81737558df8cd1b33506294ca3249a111c33333423b344c668ae32acd206cce792b2128e291 SHA512 621f7374861198dfddf1f667e4af24dd874a239a623961c27c148b1e525492d409ba830a3bfe5cf8eed1d61a094b3993daf6911fb11734e398d7594b15c06543
+DIST pyzmq-27.2.0.gh.tar.gz 295146 BLAKE2B 7eb6f3ab7554d1ddd3a2dbf680e39bd34c080e229c0be90f7bf727b63ead89f8c99038ea92e3983ad02bfb1b9e27552872b20f1d541e17bebdb1d39884fd03df SHA512 71b9002c5a887fbe502992573357e4be9d6ef774e001a6c8935a3ce7ea0042f49210fc5715ff90392ee690a5701e624c24eef23b2eb12bd36d62e44f362531bf
diff --git a/dev-python/pyzmq/pyzmq-27.2.0.ebuild b/dev-python/pyzmq/pyzmq-27.2.0.ebuild
new file mode 100644
index 000000000000..c32e59b0984f
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-27.2.0.ebuild
@@ -0,0 +1,85 @@
+# 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
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
+HOMEPAGE="
+ https://zeromq.org/languages/python/
+ https://pypi.org/project/pyzmq/
+ https://github.com/zeromq/pyzmq/
+"
+SRC_URI="
+ https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="drafts"
+
+# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
+DEPEND="
+ >=net-libs/zeromq-4.2.2-r2:=[drafts=]
+"
+# It uses cffi backend for pypy, cython backend for cpython
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ test? (
+ >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,rerunfailures} )
+distutils_enable_tests pytest
+# TODO: Package enum_tools
+# distutils_enable_sphinx docs/source \
+# dev-python/numpydoc \
+# dev-python/sphinx-rtd-theme \
+# dev-python/myst-parser
+
+src_configure() {
+ DISTUTILS_ARGS=(
+ -DZMQ_DRAFT_API="$(usex drafts)"
+ -DPYZMQ_NO_BUNDLE=ON
+ # unnecessarily adds /usr/lib* to rpath
+ -DPYZMQ_LIBZMQ_RPATH=OFF
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # often crashes zmq?
+ tests/test_log.py::TestPubLog
+ )
+ local EPYTEST_IGNORE=(
+ # Avoid dependency on mypy
+ tests/test_mypy.py
+ )
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # not implemented in cffi variant?
+ tests/test_draft.py::TestDraftSockets
+ )
+ esac
+
+ rm -rf zmq || die
+ # avoid large to reduce memory consumption
+ epytest tests -m "not large"
+}
diff --git a/dev-python/reportlab/Manifest b/dev-python/reportlab/Manifest
index 37b9fb848aa0..5be04475ffa9 100644
--- a/dev-python/reportlab/Manifest
+++ b/dev-python/reportlab/Manifest
@@ -1,4 +1,2 @@
DIST pfbfer-20070710.zip 677333 BLAKE2B 100214476a361a5e5d1f3da0999591345f6e3a3f8c6bc3f6a3e9eca734190c6259758a43302c6e41254d33491fe535eb7d5dd07aa9727c912424bebc31fc18df SHA512 6fd4a5d955464b10d13a7b748703450c1fe120d5ed09e8cfa1b4dfa9c183c59fe001df29433af551796b0df62544b7ddc364f9bb1bdcc2cd300434340ffcc4f2
-DIST reportlab-4.4.10.tar.gz 3714962 BLAKE2B aecd293b9db9a303599b56ae906a0da17dde5fcd743baeee605f70d0e1e2e033a69163390b84bfe13b592b0e77ee86c3915dfb82d51a8e5ce446cb133fe7f1a9 SHA512 568d1725826b20d9a1286ef1477dac157b7e291aae7e17605633776693677dbbd4d49a6385f5ed456db31686651306e4b62e61840f11773b13dc6704119010a9
-DIST reportlab-4.5.0.tar.gz 3914127 BLAKE2B b20824376e34aa4b3044521fcbfab799b2ec4cd72e3cae22335387daed43eb2dd0a5213de6cd8203dfa846fb976a16e048b59249e0492f2f6d8c10af7ffe1d91 SHA512 7f9ecf4d0b94b22c4d3c39cf61de8a8eadbea5f4783550bd8cefbe2368ec8e40ca69593710aeb62c9c0e26a8d35143c5ca9f6b8c360c71ebb0ab3bd8727a0171
DIST reportlab-4.5.1.tar.gz 3939748 BLAKE2B 652a9b82d2a19376876a91f421a5d0f5f39cd90480bd806098c1c51fecbd47ff6fd55b97941988a029c4ed9f1ac859d0f0930d1953d313931aa06e46dfe38c7c SHA512 ff5f62cd01175491e54e81f8bd94e26010d5ae2b066de8e089d21f20d229a54b86b8364e9ffdd78fce75950f2137eb805fd5be7950b78a6bb2dde79009d1f49d
diff --git a/dev-python/reportlab/reportlab-4.4.10.ebuild b/dev-python/reportlab/reportlab-4.4.10.ebuild
deleted file mode 100644
index c16b3869de4d..000000000000
--- a/dev-python/reportlab/reportlab-4.4.10.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# 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
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Tools for generating printable PDF documents from any data source"
-HOMEPAGE="
- https://www.reportlab.com/
- https://pypi.org/project/reportlab/
-"
-SRC_URI+="
- https://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- dev-python/charset-normalizer[${PYTHON_USEDEP}]
- dev-python/pillow[tiff,truetype,jpeg(+),${PYTHON_USEDEP}]
-"
-BDEPEND="
- app-arch/unzip
-"
-
-distutils_enable_sphinx docs/source
-
-src_unpack() {
- unpack ${P}.tar.gz
- cd ${P}/src/reportlab/fonts || die
- unpack pfbfer-20070710.zip
-}
-
-src_configure() {
- cat > local-setup.cfg <<-EOF || die
- [OPTIONS]
- no-download-t1-files = 1
- EOF
-}
-
-python_test() {
- pushd tests >/dev/null || die
- "${EPYTHON}" runAll.py --post-install --verbosity=2 ||
- die "Testing failed with ${EPYTHON}"
- popd >/dev/null || die
-}
diff --git a/dev-python/reportlab/reportlab-4.5.0.ebuild b/dev-python/reportlab/reportlab-4.5.0.ebuild
deleted file mode 100644
index c16b3869de4d..000000000000
--- a/dev-python/reportlab/reportlab-4.5.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# 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
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Tools for generating printable PDF documents from any data source"
-HOMEPAGE="
- https://www.reportlab.com/
- https://pypi.org/project/reportlab/
-"
-SRC_URI+="
- https://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- dev-python/charset-normalizer[${PYTHON_USEDEP}]
- dev-python/pillow[tiff,truetype,jpeg(+),${PYTHON_USEDEP}]
-"
-BDEPEND="
- app-arch/unzip
-"
-
-distutils_enable_sphinx docs/source
-
-src_unpack() {
- unpack ${P}.tar.gz
- cd ${P}/src/reportlab/fonts || die
- unpack pfbfer-20070710.zip
-}
-
-src_configure() {
- cat > local-setup.cfg <<-EOF || die
- [OPTIONS]
- no-download-t1-files = 1
- EOF
-}
-
-python_test() {
- pushd tests >/dev/null || die
- "${EPYTHON}" runAll.py --post-install --verbosity=2 ||
- die "Testing failed with ${EPYTHON}"
- popd >/dev/null || die
-}
diff --git a/dev-python/stevedore/Manifest b/dev-python/stevedore/Manifest
index 12a594d1b5d5..f228924a5b5d 100644
--- a/dev-python/stevedore/Manifest
+++ b/dev-python/stevedore/Manifest
@@ -1,2 +1,2 @@
-DIST stevedore-5.8.0.tar.gz 514710 BLAKE2B 905fe75ba6ba85be25a1a6761dd31a5c802d80c0532f59562e489b39eda91ec83c2dcc61320f7b8040f5c4ab39130ac253a8dd88c335fcda8ae727032cdec340 SHA512 f11aff48fb3cc66c4319ceeeaf8aff316cc0047021a28d3976f527b7321fe204faab414e4793dd93d82edd8d11391600ea8479cc6da2115fa7189d4f48b7ffad
DIST stevedore-5.9.0.tar.gz 514850 BLAKE2B 822c51a1637bb2eaad30b57426a43fa1baa4ccc3d36ebcbec1cc979ce5d1f18e831fc31ef1136830784d3d1576e8bd129a9fc51a399de24453c382040b6434b8 SHA512 90f579779114cee32b4e06fa5eb60dce5ba4592a8a0ddfcbecacddf9682e105cf9b53f9c1c19049d80969eb561c73bf592d920a620182c664e558134dcae2605
+DIST stevedore-5.9.1.tar.gz 518111 BLAKE2B ce394ce972789cea7fabd5f9f39a0f33696d4bde7ceed0ef325fa05ba4814e518622227c1a461020723988f3592263490414333c1fe9c0ba90989f8ee66b3254 SHA512 e37ec69e4dd34cac2ec2f0cf5dc748966c5554fc6449a061906e930b75ab618c5f54bc6290c39e265fe0d259b1fbf4ae0db5668fcde648c162150442991c6a02
diff --git a/dev-python/stevedore/stevedore-5.8.0.ebuild b/dev-python/stevedore/stevedore-5.9.1.ebuild
index d7f2690bc3a2..16569141fa9b 100644
--- a/dev-python/stevedore/stevedore-5.8.0.ebuild
+++ b/dev-python/stevedore/stevedore-5.9.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86"
BDEPEND="
test? (
diff --git a/dev-python/wrapt/Manifest b/dev-python/wrapt/Manifest
index 2356b65e35fb..1ec16357cb18 100644
--- a/dev-python/wrapt/Manifest
+++ b/dev-python/wrapt/Manifest
@@ -2,9 +2,7 @@ DIST wrapt-2.2.2.tar.gz 129068 BLAKE2B 6883abedc321b7ec047e0a31ffd78b8a297be4db7
DIST wrapt-2.2.2.tar.gz.provenance 10194 BLAKE2B a001104495c74bf3f5644753a7c509e1144945030f9ed4f25c0d7daf158fd625c2f2ef449f86597e40c9b1285591eb8ea99c68b9a2e7b42bc39a79fef04eb3ea SHA512 24b82551e3624fbbfcde21b97d7ade1fb7e29406f55c18522b5f41723ab22a3f9cfd7f142ae85dee8fb0aa1bc3ded9dbe14e0fe6b5e38c447c529b9c6319c47f
DIST wrapt-2.3.0.tar.gz 131509 BLAKE2B 6cbc4c7af17e1dbaccaa0c9999331fe7219b9bd8dfd8059ab006e2d33ecdac9a051edc368171e245fee885384a1dd50f056409277e181669b88fbb6ab3fecc2f SHA512 60605992677fe99fdf3328197486b77ec55d1b22e0072c4ab03eff423b5e91a31007fd780cd20676040714f895d3f7cf26b324b6c74bf53a02ceee1224a4c0ea
DIST wrapt-2.3.0.tar.gz.provenance 10335 BLAKE2B f941e218d992f29ac5cf5027c17951f490482fdb7d3234faedde6d20e9a5ba54c290c66cd8d8bff336fd38c27cdb7573c3134891f0af206c508ce3339d8e2d6e SHA512 7e945775ace3936f825bd7f79b1bd58f2f0f8c40a2fc410e3ddfad18838fcbe0e35475f9af0240538fb3a76bbb257c02400b2d0db1375cb6539cd4bbf32ba1c4
-DIST wrapt-2.4.0rc1.tar.gz 137162 BLAKE2B 0611a54fb83b3dc8435608a20ecec4a7daed64999cf601c3b21576b8e35e77f11f1d83b9c2a3d8f7f6f131632f7ba9ee72b409628ba1288ff217df8315736983 SHA512 2d49bbf9343b6aeea7486a639ff5946e29f55a5fae41556f7df73fda6a4606ea2e30324c2f7429bb02be7be1035ae72a2d5c952e7a94807467b8f764b8cb8750
-DIST wrapt-2.4.0rc1.tar.gz.provenance 10066 BLAKE2B b5aa70a9ef9c10c0c23d4fab3b51371f280518ecfdf538a18ddae381d6bbf406bc118ea56755bad337230ab0f07ce43105144aab60fd520a99ab8e936fb681a2 SHA512 5205a78701662a5a35c312a8d3bd02c89b26de51df3e9fd0a7e9f4f3be99023e8d72790d5a3334b536b0e4aece15592a87b9419c643d28906b692f4b71624fec
-DIST wrapt-2.4.0rc2.tar.gz 158557 BLAKE2B c37e12d8c8ba8c0e338f5f8f5d21c4ae52309a31231fac3824b7a1af6c1e3ec4801bccb828b101f55be0bd7f7a0fcc3c37c5c4325585ed5c1f0c3e8ea1146932 SHA512 31c0abe5619c53921559dd85246a1447eb77a8aeadc13c87f388b453a786ef7f3272c576b7e330f51f7fbeafb0976370777e11fc70838395978b4cfc8b03b2aa
-DIST wrapt-2.4.0rc2.tar.gz.provenance 10068 BLAKE2B cd3a19d464c32439e833355da29c8e7aa2a5c709f1f39e80773b300a903e0e37c2aa2cb6e2dd61310d531ec5183d97c05a29f3258cec362d4539f2b1148ba26e SHA512 6505ba3ad4b2b3326b998b43242feaa33de4282a3bbd47ee947eabce1e5bc1c2c68f5686cc31f025dbfa94d206907745496f0f0ef747fdfcc96eb03902f50fea
DIST wrapt-2.4.0rc4.tar.gz 160649 BLAKE2B 8b1f0be1967fa647728de8903ceec057359aa57f7b48b9d1d44b4d2d332da6bf237f833ed010bbe7ad219b969d8341428c4cd9ae4d448bee228243ffff9dc583 SHA512 fedf08bb8dd9f07e2ce1f66bbf22509e41107eadeed1966d14ce87a1b1f27705c839660fafd6bc5247cb785e518e2d2ad45c90ba32f2b3b2e79a60dc4b9c0be8
DIST wrapt-2.4.0rc4.tar.gz.provenance 9974 BLAKE2B da03d61346124becc909e26c5be81f04e0d904761335f6a89dd38352387dc823acd28b6dc73c3542e83ce86c95a91c458506135b1d7aee8eebe5ca9d778fdfc9 SHA512 c5efb9539e3a2dcbcb918e2b56efa48f96b71d30a3670557b6036ebe4455b4a9161dae2b98cdd9805ed04b86e286244f972d808472b7cd4c2b77abed33eaa414
+DIST wrapt-2.4.0rc5.tar.gz 161231 BLAKE2B f5efb2211545b8a5bd1fff929015a6c42efc34d74fda20dbd7a665067bea468845c82f1388d50557067fbb08762aa99c5c9f7fa1a4609a3ac4776f257f5ea612 SHA512 0f2580b08ed49e03526cb1326802852ef994ce9643e4e7122a14d894a9c4105c4dd6823e2a77ceccdbbb3aa283593275012a1bbae318460fd536f57cc0af7fa2
+DIST wrapt-2.4.0rc5.tar.gz.provenance 10068 BLAKE2B 2b56755b7bd188ebeaf3677e51aa379e7a5f775781bc21e61c010bb007ab2423f622d1f92968acd94919b6cb0b5540f99742a69cf159443223039430a76082ee SHA512 6ab2e399d9cde0bba6b112914f2e624bbeb2ec57f6684dc18830468fa38dc71027381fa161a0d89af195c1388908adb20c573ccf7412ca801ddf0a359b3ac689
diff --git a/dev-python/wrapt/wrapt-2.4.0_rc2.ebuild b/dev-python/wrapt/wrapt-2.4.0_rc2.ebuild
deleted file mode 100644
index c0b172cb4e24..000000000000
--- a/dev-python/wrapt/wrapt-2.4.0_rc2.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# 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
-PYPI_VERIFY_REPO=https://github.com/GrahamDumpleton/wrapt
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-MY_P=${P/_}
-DESCRIPTION="Module for decorators, wrappers and monkey patching"
-HOMEPAGE="
- https://github.com/GrahamDumpleton/wrapt/
- https://pypi.org/project/wrapt/
-"
-
-LICENSE="BSD"
-SLOT="0"
-if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-fi
-IUSE="+native-extensions"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # skip mypy tests, they are fragile
- rm -r tests/mypy || die
-}
-
-python_compile() {
- local -x WRAPT_INSTALL_EXTENSIONS=$(usex native-extensions true false)
- distutils-r1_python_compile
-}
diff --git a/dev-python/wrapt/wrapt-2.4.0_rc1.ebuild b/dev-python/wrapt/wrapt-2.4.0_rc5.ebuild
index c0b172cb4e24..c0b172cb4e24 100644
--- a/dev-python/wrapt/wrapt-2.4.0_rc1.ebuild
+++ b/dev-python/wrapt/wrapt-2.4.0_rc5.ebuild
diff --git a/dev-python/zipstream-ng/Manifest b/dev-python/zipstream-ng/Manifest
index b63203316f8f..7f0effb5e56c 100644
--- a/dev-python/zipstream-ng/Manifest
+++ b/dev-python/zipstream-ng/Manifest
@@ -1 +1,2 @@
DIST zipstream_ng-1.9.2.tar.gz 32446 BLAKE2B db404efb667e87a7b5fb3856e683aa20a2ea07adb23992d8a67298cbaa5775f36412b586981e20b2b8aad07c5c6623a7078602c2d8d4e8bf6641c1a32ebe9955 SHA512 d0ad0dc5c3a139f7547be1668f1cac2006bca2f6e2841405bc1f4e819487122bbb84000d1abe641d2791b5a4a7ccaddcce7a0efa0777d89d4151df32b4bbdbe6
+DIST zipstream_ng-1.9.3.tar.gz 32729 BLAKE2B 9430288d5977efd6cc3caf9d65446fefb967cdeea166acab98c88b170bd9b25b03e5b5d528528a795a8d1f7c07fc2a25fa75da4963fb7a61f17e1b09b502a24f SHA512 1a2ede2811f0d57aeb833a4e053ed77f8c7fc7c2148d3deafade8e0f651cba43a4eeefc4385839354031665fe9b700785eb1c84563c2ae185e20bfe1426adb01
diff --git a/dev-python/zipstream-ng/zipstream-ng-1.9.3.ebuild b/dev-python/zipstream-ng/zipstream-ng-1.9.3.ebuild
new file mode 100644
index 000000000000..414cf8c4a87a
--- /dev/null
+++ b/dev-python/zipstream-ng/zipstream-ng-1.9.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2024-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 pypi
+
+DESCRIPTION="A modern and easy to use streamable zip file generator"
+HOMEPAGE="
+ https://github.com/pR0Ps/zipstream-ng/
+ https://pypi.org/project/zipstream-ng/
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/zope-hookable/Manifest b/dev-python/zope-hookable/Manifest
index cf1b8f200fee..ccd5d9e14db3 100644
--- a/dev-python/zope-hookable/Manifest
+++ b/dev-python/zope-hookable/Manifest
@@ -1 +1,3 @@
DIST zope_hookable-8.2.tar.gz 19275 BLAKE2B 28693fefa56080ff4d081c15bd71f39fb61ebf3da17508dd934502a3c173114e3a687d61835708df35463153f783e1981adfc66e8fae83a7a7800d4df6ee8d58 SHA512 90eb4d2fb389de52f613a2dab83156d183b914d3be4253de67367693d1cec06d9c84e272acbc7742ca637c4a01401125c2864f2941b6549b4230fc0928d4cf0e
+DIST zope_hookable-8.3.tar.gz 20679 BLAKE2B 7e7d05c27988bf8f6a0490c8bb852d7ba4835cfd94c202bb39bb73b0509b74bf8370bd0357b84b3a1d08a15025e749c438680eb12e4138ed3fcb8e4807b506c3 SHA512 6867a42b6be7628b5de60f5f6d88a65fe17972c59d18925352d199c6bd606ae81bed5fcdac29d950341bde2429125da88ad79bd501df429dd2cad45cb287e26c
+DIST zope_hookable-8.3.tar.gz.provenance 9977 BLAKE2B fd19c54d9501c6ee3a55e81e26c4ff314ef82852b5ea5bdeb1311bbdbf5baef5d1db29ed217a2c5337764efbcc40a501b5efdbcf3bccdfa4655077c8ae084e09 SHA512 8d7a6cc5a41c67d4e9a6c977a84e82e9db63c27bc223ae64d2b4ea43f3ed55d623a9fecf07d2b3bf676e7878df903d310495ad93c0535ba3175ce1b1657e3cb2
diff --git a/dev-python/zope-hookable/zope-hookable-8.3.ebuild b/dev-python/zope-hookable/zope-hookable-8.3.ebuild
new file mode 100644
index 000000000000..630d37e51b62
--- /dev/null
+++ b/dev-python/zope-hookable/zope-hookable-8.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN/-/.}
+PYPI_VERIFY_REPO=https://github.com/zopefoundation/zope.hookable
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Efficient creation of 'hookable' objects"
+HOMEPAGE="
+ https://pypi.org/project/zope.hookable/
+ https://github.com/zopefoundation/zope.hookable/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/zope-testing[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest -s "${BUILD_DIR}/install$(python_get_sitedir)/zope"
+}
diff --git a/dev-python/zope-i18nmessageid/Manifest b/dev-python/zope-i18nmessageid/Manifest
index 50d47f50fcd9..d81c4288fc68 100644
--- a/dev-python/zope-i18nmessageid/Manifest
+++ b/dev-python/zope-i18nmessageid/Manifest
@@ -1 +1,3 @@
DIST zope_i18nmessageid-8.2.tar.gz 24716 BLAKE2B 73751a2c466ea8331a47f6ce13920cf4fa47585c6962a66c20c721428c4955d3610151891e909447beec023195bc9edef613bb77bb2ec6b5933063204d1e568b SHA512 59c625f45f0b1819af27a29a455fd1a960e1ca3e7a62ddcd5e4b06f76e5398213ee4d4f5c5b30b2c03ce910dddf7f9cf18cd6a4ecd48a23978bfad574ac22037
+DIST zope_i18nmessageid-8.3.tar.gz 26850 BLAKE2B 22f70c69eae137f6899e803011c2c0c6e5158b6b0e7547a2011e1d3bab642f85c3e66a9861ae1058dea94d99c57bf45e6573696b5d9727f5726529c58aed4256 SHA512 854471d79ef4856106da1fb3d30281ae74ef0c1c11f0a7c4bb2e2234e6ea384534b4a32da69cc2c006e9ca7c3b421eb19d57c8833e9dab51ce4aa34e11b26d39
+DIST zope_i18nmessageid-8.3.tar.gz.provenance 10141 BLAKE2B 8f22499b92f741595e4619ed2325c7f5776b4254208a74b28328c95bfd3a5531c5559ccc7f79f0282f3dc001334cc879dfdda91f95dcb2c47a2bdeb3f343861c SHA512 88785e1b963ce47a7fa0fa93962c1548eb4226c977350f2045390d839bd8befafe21728d847a7a1e159603f123e3d2c3cdf0f47e9136e0c29c66f6b700ce7a63
diff --git a/dev-python/zope-i18nmessageid/zope-i18nmessageid-8.3.ebuild b/dev-python/zope-i18nmessageid/zope-i18nmessageid-8.3.ebuild
new file mode 100644
index 000000000000..17283f8de555
--- /dev/null
+++ b/dev-python/zope-i18nmessageid/zope-i18nmessageid-8.3.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=setuptools
+PYPI_PN=${PN/-/.}
+PYPI_VERIFY_REPO=https://github.com/zopefoundation/zope.i18nmessageid
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Zope support for i18nmessageid (tagging source of i18n strings)"
+HOMEPAGE="
+ https://pypi.org/project/zope.i18nmessageid/
+ https://github.com/zopefoundation/zope.i18nmessageid/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # force failure if extension build fails
+ sed -i -e "s/cmdclass={.*},//" setup.py || die
+}
+
+python_test() {
+ eunittest -s "${BUILD_DIR}/install$(python_get_sitedir)/zope"
+}
diff --git a/dev-python/zope-interface/Manifest b/dev-python/zope-interface/Manifest
index cc360a13fc16..bc77664dbb3e 100644
--- a/dev-python/zope-interface/Manifest
+++ b/dev-python/zope-interface/Manifest
@@ -1,2 +1,4 @@
DIST zope_interface-8.5.tar.gz 257957 BLAKE2B 15f142fe8636def9cab24d91394b7d69e2ef5a420635830b9da35c75846ff323d7b4463cd00d9bd866916322ad1c18a3d4cb1e2f2210955e8772fc3b48906048 SHA512 099f88e47cc29312ff79f3efd904710fc4cfe4c81cacacc1f3cf40471a6b46e9d82646e42c539b14d8f0619beba74b1d0cec90a3a22897949f59dd26750dba7e
DIST zope_interface-8.5.tar.gz.provenance 9454 BLAKE2B 56d347195516e86ff0c56092d92acd8c5c00aa376c9149d14ae5b7e7d2a2b1872975fc85436c37d013e8f16e4ec366f7ee28b76683b9dfd02ef028a16bab699d SHA512 31d39871d4bf74c1aca8c11aad96cab3e0ab4848b7c846022455f5f733877e0902684cb128c0d13a3f3d036d8fffe307c622ec91710c11e9c391f7e176a2594a
+DIST zope_interface-8.6.tar.gz 257973 BLAKE2B 7c453f9dff3f9f423a6dbbc59ebbefd5d5788e7ed0fe92f1eddc9712f7b2dde1f4b7ed02f93bd6b8829133c5fb68ad437bc147c959c5c62e830c08177b64e6f2 SHA512 c1945572f90ef552098a2f941ea05d02438715d4af51a93bdee16fd69f823bd3beadd953c39a37e4d77a68cdbebe71d1f52f9ec1d09695e97c4320a14d5c7dac
+DIST zope_interface-8.6.tar.gz.provenance 10045 BLAKE2B e6bceca5e9d5d8b70ac3eb25c82472d1aeef2ae34f2b9d1348f757ffcf3ae69fcb7ffbc758a853e50959034820b43fc6d5629a50e1a15bca61d56f60dde26513 SHA512 3b2779c644a8405d902591ea306c7da7b3640519cec60c2d11a590468070313b4ce2c106b2f1f2f32dabfe46f879487fdba6dde7e2324a16d8df3ada5477a6c4
diff --git a/dev-python/zope-interface/zope-interface-8.6.ebuild b/dev-python/zope-interface/zope-interface-8.6.ebuild
new file mode 100644
index 000000000000..b3b5480ac141
--- /dev/null
+++ b/dev-python/zope-interface/zope-interface-8.6.ebuild
@@ -0,0 +1,52 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYPI_VERIFY_REPO="https://github.com/zopefoundation/zope.interface"
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Interfaces for Python"
+HOMEPAGE="
+ https://github.com/zopefoundation/zope.interface/
+ https://pypi.org/project/zope.interface/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="+native-extensions test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ dev-python/zope-testing[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # force failure if extension build fails
+ sed -i -e "/'build_ext':/d" setup.py || die
+ if ! use native-extensions; then
+ sed -i -e '/ext_modules=/d' setup.py || die
+ fi
+}
+
+python_test() {
+ local -x PURE_PYTHON=0
+ if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
+ PURE_PYTHON=1
+ fi
+
+ eunittest -s "${BUILD_DIR}/install$(python_get_sitedir)/zope"
+}