summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-03-12 18:54:51 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-03-12 18:54:51 +0000
commit3f2a29a383c5af70156ff2431e837cae35435362 (patch)
tree82b322eebd41ad4127594a76b250d7eb397e0457 /dev-python
parent39a45434e4c1f3e22d2f2d2d8d25314eeb141294 (diff)
downloadbaldeagleos-repo-3f2a29a383c5af70156ff2431e837cae35435362.tar.gz
baldeagleos-repo-3f2a29a383c5af70156ff2431e837cae35435362.tar.xz
baldeagleos-repo-3f2a29a383c5af70156ff2431e837cae35435362.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiohappyeyeballs/Manifest1
-rw-r--r--dev-python/aiohappyeyeballs/aiohappyeyeballs-2.6.1.ebuild37
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.37.11.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.37.11.ebuild67
-rw-r--r--dev-python/dill/dill-0.3.9.ebuild8
-rw-r--r--dev-python/dill/files/dill-0.3.9-pypy311.patch123
-rw-r--r--dev-python/drf-writable-nested/Manifest2
-rw-r--r--dev-python/drf-writable-nested/drf-writable-nested-0.7.2.ebuild (renamed from dev-python/drf-writable-nested/drf-writable-nested-0.7.0.ebuild)3
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.129.0.ebuild110
-rw-r--r--dev-python/ioflo/Manifest1
-rw-r--r--dev-python/ioflo/ioflo-2.0.3.ebuild40
-rw-r--r--dev-python/markdown-exec/Manifest1
-rw-r--r--dev-python/markdown-exec/markdown-exec-1.10.1.ebuild34
-rw-r--r--dev-python/nbxmpp/Manifest1
-rw-r--r--dev-python/nbxmpp/nbxmpp-6.0.2.ebuild35
-rw-r--r--dev-python/pipdeptree/Manifest1
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.25.1.ebuild56
-rw-r--r--dev-python/progressbar2/progressbar2-4.5.0.ebuild2
-rw-r--r--dev-python/propcache/Manifest1
-rw-r--r--dev-python/propcache/propcache-0.2.1.ebuild54
-rw-r--r--dev-python/propcache/propcache-0.3.0.ebuild2
-rw-r--r--dev-python/python-debian/Manifest1
-rw-r--r--dev-python/python-debian/python-debian-1.0.1.ebuild49
-rw-r--r--dev-python/pyzmq/Manifest1
-rw-r--r--dev-python/pyzmq/pyzmq-26.2.0.ebuild87
-rw-r--r--dev-python/pyzmq/pyzmq-26.2.1.ebuild2
-rw-r--r--dev-python/responses/Manifest1
-rw-r--r--dev-python/responses/responses-0.25.7.ebuild47
-rw-r--r--dev-python/segno/Manifest1
-rw-r--r--dev-python/segno/segno-1.6.5.ebuild41
-rw-r--r--dev-python/slixmpp/Manifest12
-rw-r--r--dev-python/slixmpp/slixmpp-1.9.1.ebuild105
-rw-r--r--dev-python/sqlalchemy/Manifest1
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.39.ebuild117
-rw-r--r--dev-python/structlog/Manifest1
-rw-r--r--dev-python/structlog/structlog-25.2.0.ebuild36
-rw-r--r--dev-python/tuf/Manifest1
-rw-r--r--dev-python/tuf/tuf-6.0.0.ebuild32
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.6.6.ebuild170
-rw-r--r--dev-python/xmlsec/Manifest1
-rw-r--r--dev-python/xmlsec/xmlsec-1.3.15.ebuild61
45 files changed, 1254 insertions, 150 deletions
diff --git a/dev-python/aiohappyeyeballs/Manifest b/dev-python/aiohappyeyeballs/Manifest
index a504ee1033fe..1be2b8b07a89 100644
--- a/dev-python/aiohappyeyeballs/Manifest
+++ b/dev-python/aiohappyeyeballs/Manifest
@@ -1,3 +1,4 @@
DIST aiohappyeyeballs-2.4.6.gh.tar.gz 72830 BLAKE2B aea6f5e20a2900fb5d498722edc5e1b776552ff4ca84120f2e1acea5478a571ab923d3bca4c58111f5ff0389ddb7f4976f6231b575b7b282e3c45e4adebb9707 SHA512 0098f13604c929998981deaa9ae221f0c5c4c4de46e5063b23e185e1437637b35256ebc91a3f7fdf6b5f9dee6f4be5ff3c215a8ddd34a02a0389c9b49c329c16
DIST aiohappyeyeballs-2.4.8.gh.tar.gz 73672 BLAKE2B 9f2268f077106007607b3e463b9c86d7264ffb14ac3d27d07a29e919194dc1ba0210cd8d53b25fc2476794cbfa2f5e4cc400d405dc9bef7b3d61a764d5ed28da SHA512 081eb29d6be252170822d86d3de8e15165e461969788d539a20e796dfa34204f4d04e69380873a038e44c87194c61fd394a3bd105102c593a7aa17a4c2c3bd66
DIST aiohappyeyeballs-2.5.0.gh.tar.gz 73997 BLAKE2B f15bff1279cf164bfa2114d6cd99edacedc2a910228068a79a1f189aa78b22075064c237d2a8fc847c76b8d5bb414f201edeb961931e5cd462bbbc3c4cae3424 SHA512 09a6ab64e137c63ce31eabd2d27f852d214427d4c61931ef98107a9b74300cec9f6da3f786013ab6d4936a84875eb97c0a9232647b68aa391317b38d234d06a0
+DIST aiohappyeyeballs-2.6.1.gh.tar.gz 74617 BLAKE2B e3cb3d7366267dca4a7c82615c3482db175326d4fbaa2ad1ca249ef72e9b515129e988fa82f5ae1c4d2585022e17ec9a25b936252cd67a7ce8d3ff571071ae44 SHA512 e3d3ef2ed1e5c81263555b11a8842941043b3113a91f11b08d0e882f2f1c47f015310c75a2c37e6ac6207399b659d5431bb750c8f4234f233f1da942d23bc8b1
diff --git a/dev-python/aiohappyeyeballs/aiohappyeyeballs-2.6.1.ebuild b/dev-python/aiohappyeyeballs/aiohappyeyeballs-2.6.1.ebuild
new file mode 100644
index 000000000000..61805d960b31
--- /dev/null
+++ b/dev-python/aiohappyeyeballs/aiohappyeyeballs-2.6.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Happy Eyeballs for pre-resolved hosts"
+HOMEPAGE="
+ https://pypi.org/project/aiohappyeyeballs/
+ https://github.com/aio-libs/aiohappyeyeballs/
+"
+SRC_URI="
+ https://github.com/aio-libs/aiohappyeyeballs/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ >=dev-python/poetry-core-2.0.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pytest-asyncio-0.23.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -o addopts=
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 6941414a0076..43ab06208d73 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,4 +1,5 @@
DIST boto3-1.36.26.gh.tar.gz 903988 BLAKE2B f9bb945e9132a7af7bd92ff48e5a99cc89488283c30e2d7d0cbb22d9002bd41c5d5f8a449494d2aa4758648aca3c2e88dad8bebda640af4bba7df64e72ffd2bc SHA512 77a545fd94ed50114db72d7b763e232356e78cda7a2780c12c26b602ed85101218339adf6247ba45e3a8b16c33fb11f5fb34572a37dfeac43dd9322823372cc1
DIST boto3-1.37.10.gh.tar.gz 912397 BLAKE2B fbd9fa118a936901c9cef6739bd114d69464d7f7d8211a42370ed7235637bd09c966c12a36c4faee2d4c3b8b58a179f6b20ee88723a881de8e03daed687ca76e SHA512 1788b0e75b93e6a8c56e8f63cdcb39b5075d2746fcebc04f1842915d849b7976cb1ad537f913ee78405982d2527b49dd17a1781f51a75d9c731ba78d249e1eb6
+DIST boto3-1.37.11.gh.tar.gz 912680 BLAKE2B 4ca885f51bb27e143d82202955a2df3177affd8fbcc2b66d2db3abd63330729f20e1846f03cfa5aa9f741d25ef954c52536655484f0b28a1d2f8be75ff5d5407 SHA512 5521938257057b6000759242c7aff586bb09a2439339c2ae7cb1e49869eae3d4e075694eb10eaf0d82832f73f1479b4979eb16feb730ad9f910f9b84865de292
DIST boto3-1.37.4.gh.tar.gz 908620 BLAKE2B ed63365ccd6da9b97715e4110be2b562285a123139a90ddb10c1411d5bd5ba0de9c110177a31f03ecb7e257fd79a0de89a8be97493a83f3207050676f7022e04 SHA512 dbf40cb809ee1d3ef352b97f62c111d113293211226a63298979d8ea14833c83ac2e321714dac349bfe095f75120c2752d08a01c19e51d9b0fc947e27a910005
DIST boto3-1.37.9.gh.tar.gz 911836 BLAKE2B d190525b9c5e39b445042aba6d8e57da5e49165775901ceebe44b76fd2780ec85a2f5a8a08d3a9a5e451d42bbae19b679e565a7a9acc663258ea0b7909a9a798 SHA512 12cba48d5f2c158b372eaf4e44903e22ca963e5712c3c463fbfd20626a771efe30530852b6c9ab70132a26472ff1b4656095675a5de37524f6b489c25175f8fe
diff --git a/dev-python/boto3/boto3-1.37.11.ebuild b/dev-python/boto3/boto3-1.37.11.ebuild
new file mode 100644
index 000000000000..dfe05b3d9a81
--- /dev/null
+++ b/dev-python/boto3/boto3-1.37.11.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.11.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 2c810151f879..7551304c6f39 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,4 +1,5 @@
DIST botocore-1.36.26.gh.tar.gz 14281837 BLAKE2B 925ebbca3e415ea7e3388c52e53a6d0a9a1aec001bd579293bfbbba5d756503371a137399d679926d5894f8f4e0fe498a37570dc4c19af99dfa67b4e3d374c3c SHA512 2f2d960a6519efae499acdb704d66a1f329927b30a53900ed035909847ca9a6c1a3b57291e0a0aa153b4bc49a959935b1840ad0d81244f8c2577fd4ba910fcf6
DIST botocore-1.37.10.gh.tar.gz 14351248 BLAKE2B eccd8c6e7b994dcfee49ea322bfee7503e5fb89eded7dc78757a1d2e6627afdf7ac3c73e16d9ef6f9e3ccfe2f9a4f8f917eab80ff6d010fb6db277bac6b4dc99 SHA512 7c3fa7f4f13fd6c7e04b42d0dcf7232a5f73255dead103713cf8b5883b5827f7881eeaa3260156971d0a1120bbb1352fd83d33ab8349a1b45646cf265e116e76
+DIST botocore-1.37.11.gh.tar.gz 14353281 BLAKE2B 0f104e3daeb96accfff390cdd7ffe689a26e249bcddbac3b3934be7147d4ea067905510da0a90f9a7c18231de5aea7db15e2d246f272c53f26c1219c39325a5c SHA512 7737b976fab5622ec976b72ddbe4318632a365683a804077ba9ddf2ed5585734c680bee0b90a73f464e1cc78130c66e59ccda283c349685bbe9d31f18b20596d
DIST botocore-1.37.4.gh.tar.gz 14291786 BLAKE2B ab55a62f2291e623e61a0ec6712241815279ae6d8f25e678adbf6cf167265d216f44b0eae78f2b66a454253dc4ef977b90c38f1aa329c855b38fa844eaa478b7 SHA512 07921ca8d51ff2afd8a4dafa77b40b5c24afa0351d71dbf68cef716573ba1f695a331634734fb6d9822eee55c91829128dbf215920e3da92ea2b40b727d0a0f6
DIST botocore-1.37.9.gh.tar.gz 14346488 BLAKE2B 29ac550ad462ab7c83bad7989588ec62fb57959586a8ec91be9756d90712ad86e3dfd813a347e619b7cac3fd7afb56affcd81926e15d91b8d0ceae2cd4436a8d SHA512 e191c9485e95188049c02020fcb32c4429de6cfd78f237a2026200b7240890d5759f5cdd96166cd2aec035dac82d32db155fe00d9ec6be482c655cfdb44265f9
diff --git a/dev-python/botocore/botocore-1.37.11.ebuild b/dev-python/botocore/botocore-1.37.11.ebuild
new file mode 100644
index 000000000000..df85ee0d220c
--- /dev/null
+++ b/dev-python/botocore/botocore-1.37.11.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/dill/dill-0.3.9.ebuild b/dev-python/dill/dill-0.3.9.ebuild
index c6d0eb3d6287..ee837b8dbf42 100644
--- a/dev-python/dill/dill-0.3.9.ebuild
+++ b/dev-python/dill/dill-0.3.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,6 +18,12 @@ LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+PATCHES=(
+ # https://github.com/uqfoundation/dill/pull/707
+ # https://github.com/uqfoundation/dill/pull/701
+ "${FILESDIR}/${P}-pypy311.patch"
+)
+
python_test() {
"${EPYTHON}" -m dill.tests || die
}
diff --git a/dev-python/dill/files/dill-0.3.9-pypy311.patch b/dev-python/dill/files/dill-0.3.9-pypy311.patch
new file mode 100644
index 000000000000..8f73f1264a25
--- /dev/null
+++ b/dev-python/dill/files/dill-0.3.9-pypy311.patch
@@ -0,0 +1,123 @@
+From 599265e0a0cec406e245808105b63987077f53f2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 12 Mar 2025 03:41:39 +0100
+Subject: [PATCH] fix CodeType support for PyPy3.11 7.3.19+ (#707)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Add support for the variation of `types.CodeType` used in PyPy3.11
+7.3.19 and newer. It introduces `co_qualname` in addition
+to the previous members — but it does not feature `co_exceptiontable`
+like CPython 3.11. I've named the version `(3,11,'p')` for PyPy.
+
+Fixes #706
+---
+ dill/_dill.py | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+diff --git a/dill/_dill.py b/dill/_dill.py
+index 152899f1..aec297c4 100644
+--- a/dill/_dill.py
++++ b/dill/_dill.py
+@@ -665,6 +665,7 @@ def __getattr__(self, item):
+ # Version New attribute CodeType parameters
+ ((3,11,'a'), 'co_endlinetable', 'argcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name qualname firstlineno linetable endlinetable columntable exceptiontable freevars cellvars'),
+ ((3,11), 'co_exceptiontable', 'argcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name qualname firstlineno linetable exceptiontable freevars cellvars'),
++ ((3,11,'p'), 'co_qualname', 'argcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name qualname firstlineno linetable freevars cellvars'),
+ ((3,10), 'co_linetable', 'argcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name firstlineno linetable freevars cellvars'),
+ ((3,8), 'co_posonlyargcount', 'argcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name firstlineno lnotab freevars cellvars'),
+ ((3,7), 'co_kwonlyargcount', 'argcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name firstlineno lnotab freevars cellvars'),
+@@ -701,6 +702,22 @@ def _create_code(*args):
+ args[17],
+ )
+ fields = m.fields
++ # PyPy 3.11 7.3.19+ (17 members)
++ elif m.case((
++ 'argcount', 'posonlyargcount', 'kwonlyargcount', 'nlocals', 'stacksize', 'flags', # args[0:6]
++ 'code', 'consts', 'names', 'varnames', 'filename', 'name', 'qualname', # args[6:13]
++ 'firstlineno', 'linetable', 'freevars', 'cellvars' # args[13:]
++ )):
++ if CODE_VERSION == (3,11,'p'):
++ return CodeType(
++ *args[:6],
++ args[6].encode() if hasattr(args[6], 'encode') else args[6], # code
++ *args[7:14],
++ args[14].encode() if hasattr(args[14], 'encode') else args[14], # linetable
++ args[15],
++ args[16],
++ )
++ fields = m.fields
+ # Python 3.10 or 3.8/3.9 (16 members)
+ elif m.case((
+ 'argcount', 'posonlyargcount', 'kwonlyargcount', 'nlocals', 'stacksize', 'flags', # args[0:6]
+@@ -1175,6 +1192,15 @@ def save_code(pickler, obj):
+ obj.co_firstlineno, obj.co_linetable, obj.co_exceptiontable,
+ obj.co_freevars, obj.co_cellvars
+ )
++ elif hasattr(obj, "co_qualname"): # pypy 3.11 7.3.19+ (17 args)
++ args = (
++ obj.co_lnotab, obj.co_argcount, obj.co_posonlyargcount,
++ obj.co_kwonlyargcount, obj.co_nlocals, obj.co_stacksize,
++ obj.co_flags, obj.co_code, obj.co_consts, obj.co_names,
++ obj.co_varnames, obj.co_filename, obj.co_name, obj.co_qualname,
++ obj.co_firstlineno, obj.co_linetable, obj.co_freevars,
++ obj.co_cellvars
++ )
+ elif hasattr(obj, "co_linetable"): # python 3.10 (16 args)
+ args = (
+ obj.co_lnotab, # for < python 3.10 [not counted in args]
+
+From a3d129f9c8aceb856a7e50277af4b7fef6ab9202 Mon Sep 17 00:00:00 2001
+From: Mike McKerns <mmckerns@caltech.edu>
+Date: Mon, 17 Feb 2025 00:06:31 -0500
+Subject: [PATCH] support pypy-3.11 (#701)
+
+---
+ dill/_dill.py | 2 +-
+ dill/_objects.py | 2 +-
+ dill/detect.py | 5 ++++-
+ 3 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/dill/_dill.py b/dill/_dill.py
+index 987b96b..152899f 100644
+--- a/dill/_dill.py
++++ b/dill/_dill.py
+@@ -571,7 +571,7 @@ if sys.hexversion >= 0x30a00a0:
+ _incedental_reverse_typemap['LineIteratorType'] = type(compile('3', '', 'eval').co_lines())
+ '''
+
+-if sys.hexversion >= 0x30b00b0:
++if sys.hexversion >= 0x30b00b0 and not IS_PYPY:
+ from types import GenericAlias
+ _incedental_reverse_typemap["GenericAliasIteratorType"] = type(iter(GenericAlias(list, (int,))))
+ '''
+diff --git a/dill/_objects.py b/dill/_objects.py
+index 500322f..a37cd79 100644
+--- a/dill/_objects.py
++++ b/dill/_objects.py
+@@ -402,7 +402,7 @@ except ImportError:
+ if sys.hexversion >= 0x30a00a0 and not IS_PYPY:
+ x['LineIteratorType'] = compile('3', '', 'eval').co_lines()
+
+-if sys.hexversion >= 0x30b00b0:
++if sys.hexversion >= 0x30b00b0 and not IS_PYPY:
+ from types import GenericAlias
+ d["GenericAliasIteratorType"] = iter(GenericAlias(list, (int,)))
+ x['PositionsIteratorType'] = compile('3', '', 'eval').co_positions()
+diff --git a/dill/detect.py b/dill/detect.py
+index 1f8ae3d..2f0bea1 100644
+--- a/dill/detect.py
++++ b/dill/detect.py
+@@ -145,7 +145,10 @@ def nestedglobals(func, recurse=True):
+ CAN_NULL = sys.hexversion >= 0x30b00a7 # NULL may be prepended >= 3.11a7
+ names = set()
+ with capture('stdout') as out:
+- dis.dis(func) #XXX: dis.dis(None) disassembles last traceback
++ try:
++ dis.dis(func) #XXX: dis.dis(None) disassembles last traceback
++ except IndexError:
++ pass #FIXME: HACK for IS_PYPY (3.11)
+ for line in out.getvalue().splitlines():
+ if '_GLOBAL' in line:
+ name = line.split('(')[-1].split(')')[0]
diff --git a/dev-python/drf-writable-nested/Manifest b/dev-python/drf-writable-nested/Manifest
index 1514273fd708..7cc9c784cb24 100644
--- a/dev-python/drf-writable-nested/Manifest
+++ b/dev-python/drf-writable-nested/Manifest
@@ -1,2 +1,2 @@
-DIST drf-writable-nested-0.7.0.gh.tar.gz 21291 BLAKE2B d6ac898378cadd12b5e40a7778a39e6a3a3183c3b6d058222b278482034af94d5f4c326147e952d5974723cc58be7f07db5cb0ee5a0f875658098bae44d507c6 SHA512 674e2206a8dad2f61f6eed9bbf137593bacbceb4789c5e46e0e5a965f172daac76878e13d3f1492b2a2d8bc97d310b0625b1fd65de19f92d7f71153e9f5c3089
DIST drf-writable-nested-0.7.1.gh.tar.gz 21158 BLAKE2B 0c84d6baf750065ae5732739166a7753d41b8503b18e1cd521ef1eff26b2a3da47fb618c87e11cc5295ac9080e3899501aeec83f3a6460709ad14061be867177 SHA512 fa122aca9dc20f7e8da7fb57cdcbf85687afdb67a2470b22c6536b3fb3f644f273bef5041f8931b03ad5208a7f1b0da67edc04ae6de625f64fdf04da5dfa5985
+DIST drf-writable-nested-0.7.2.gh.tar.gz 21229 BLAKE2B 0ce4dff79803443121051a3d4ab717ccbbc2c3e097c4df10b618bd94f5deb30eff4f51265a1a68d68c5a54b66c770160b32821d79e08c7c71cf747ef24ccd004 SHA512 a3b2637820b02591ef7df3819bec0631718b61b37641a645ebbcfa2dfc69955e64cba631255c881742c4db1593e15e6b4577c4973ad102eab2196aeb9b00ada6
diff --git a/dev-python/drf-writable-nested/drf-writable-nested-0.7.0.ebuild b/dev-python/drf-writable-nested/drf-writable-nested-0.7.2.ebuild
index 5d405bc04de3..21505ba170b6 100644
--- a/dev-python/drf-writable-nested/drf-writable-nested-0.7.0.ebuild
+++ b/dev-python/drf-writable-nested/drf-writable-nested-0.7.2.ebuild
@@ -1,6 +1,5 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 2023-2025 Liguros Authors
# Distributed under the terms of the GNU General Public License v2
-
EAPI=8
DISTUTILS_USE_PEP517=setuptools
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index b72619841139..4ceb2a482c92 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,3 +1,4 @@
DIST hypothesis-6.126.0.gh.tar.gz 9515798 BLAKE2B 8fbecef130bee50e856b4a3af9726d0bff759c1c8d69de9cff28387f87bc4aba72fc7b4944b9c1748c0b032de1556e197de5005ad193a61cc7d9f790f4975c5b SHA512 ee9e633c2f91c7d1a122515be0853c3aa9604db5ff79419c9ede646444c19d895b5cec8bb0dfed707b2b5a09c0899928643040c821e5b9dc47f46e19a18a0128
DIST hypothesis-6.127.9.gh.tar.gz 9519367 BLAKE2B 721494bf5f594811486436f839e9d2bec879e504b9243bd2767c4a7fb5554cd5b6dfbceeb666890edbae51eadbdb0f107af91ee2894fbdba458e7d0ea0d636d3 SHA512 ccd74f251f9eea7e1537483b5792998a1be7a676149a8fe2ed42ed58c64aad0d0bd0bb7fa482c18d1b9a1d875f172b6486a872d57161a3e44717ec1a0e1b9556
DIST hypothesis-6.128.2.gh.tar.gz 9522813 BLAKE2B cc466d24bf45b5a0916f47d6a7ed124cd4e2532b9e79d8c879597fa6fb5fccfed7b410890318689b2cae6fce0357df19b97784725a38ef1408c06fe3696771b5 SHA512 c16a518d1bf59808ba7d95e863ad50fca68a7a58ab761f7b66f43c200ed5841f8ca2753dbb1af66bd7bc2b6210bef697412101812ae069c1ad21f6ac23b40ebd
+DIST hypothesis-6.129.0.gh.tar.gz 9526187 BLAKE2B 632fa6dfa60725caab11e12682389d48cd54b0bbe093a86a8cbda8a251d4b969e394afe32a6d439266a0b226c474879afcbda565f9cfbf81d3b3871c2a06e2f4 SHA512 e0d0e79631d26c4f9813f750185568fc8c19d37cb5cbcd6ebac69a4da73338a28cd54408753d2c3a200855e710142582f7057b24331d7233aea221740db66d6e
diff --git a/dev-python/hypothesis/hypothesis-6.129.0.ebuild b/dev-python/hypothesis/hypothesis-6.129.0.ebuild
new file mode 100644
index 000000000000..08befcf116e3
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.129.0.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # TODO
+ 'hypothesis-python/tests/cover/test_reflection.py::test_clean_source[case-5]'
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= -p rerunfailures --reruns=5 \
+ tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/ioflo/Manifest b/dev-python/ioflo/Manifest
index 1017a5e53ded..fe7a15ddfa57 100644
--- a/dev-python/ioflo/Manifest
+++ b/dev-python/ioflo/Manifest
@@ -1 +1,2 @@
DIST ioflo-2.0.2.gh.tar.gz 837382 BLAKE2B 1fe878c8a9a47a9be5083e392e15256f1a566433b4341e2ee234e84332bb72af0c426d04c77ccace33cfb05664745caaa63e910913c3d63bbb2e5d8360a1ec90 SHA512 7485924ce329889afb1c3e0555b54fdbfb11eafce48fb0ac15bacd229fea512c44fcc118bbc4368ebc7c770d62129ee6b895b982f73a269de7131ea37daac02b
+DIST ioflo-2.0.3.gh.tar.gz 837379 BLAKE2B c10105c9ccff5377d14182fdecce293b213a180da1ce3214c1797c43bd36c0e322ee004505d09dac0ebf8875bcc4beb30da32f6a41bf702cf45c84a5a7819167 SHA512 b2d8c0a2504df87366b373d40d2536d6a75bc682aa72aaa20235893eed4725acf027fecf7263395a38141314d3b24435939f3e69db8f8bd8bc56ca8038b9ed8a
diff --git a/dev-python/ioflo/ioflo-2.0.3.ebuild b/dev-python/ioflo/ioflo-2.0.3.ebuild
new file mode 100644
index 000000000000..28a8295c7fdf
--- /dev/null
+++ b/dev-python/ioflo/ioflo-2.0.3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Automated Reasoning Engine and Flow Based Programming Framework"
+HOMEPAGE="
+ https://github.com/ioflo/ioflo/
+ https://pypi.org/project/ioflo/
+"
+SRC_URI="
+ https://github.com/ioflo/ioflo/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # some random mismatch that breaks other tests by leaving the server
+ # hanging
+ ioflo/aio/http/test/test_serving.py::BasicTestCase::testValetServiceBottle
+ # unhappy about SSL-something
+ ioflo/aio/tcp/test/test_tcping.py::BasicTestCase::testTLSConnectionVerifyBothTLSv1
+ # requires a fancy network interface
+ ioflo/aio/udp/test/test_udping.py::BasicTestCase::testBroadcast
+)
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ sed -i -e '/setuptools_git/d' setup.py || die
+}
diff --git a/dev-python/markdown-exec/Manifest b/dev-python/markdown-exec/Manifest
index 8ef725359da9..8bd9dc8e7d53 100644
--- a/dev-python/markdown-exec/Manifest
+++ b/dev-python/markdown-exec/Manifest
@@ -1 +1,2 @@
DIST markdown_exec-1.10.0.tar.gz 76830 BLAKE2B 7c8194decf4d44cabecfddee27d74e8a513b227533b9eb1c5c2bdc100ca9f64e2ef3641386839167ac937d62c9ec13f511fd5cd76bca8050dd19bb74b4e399ea SHA512 996d4ad9ea06943d34ced435f2bd3b22c0b6a4453d5a59443966ad8caa767f1a3eea1c7c6f1f01056b4d2019550e202a2e11cd8e148a149c5ca35f9f87c45990
+DIST markdown_exec-1.10.1.tar.gz 77711 BLAKE2B e30585bbaf8443c44de010d18e0755cfc23f7083b1b44c4c0e3ad782c8952ea3f0c78ae144bfc762049719f05c195fa1c4afe7c4cb9d776be0d46a47f2fd3ec2 SHA512 38e46b0422f9e09942ae5dcb6676d215e55347b18718aed6039a09b15c080eb59551cb304f918ee9d54e637ca272f420a8ccf985464616786ad0154ef1304fd3
diff --git a/dev-python/markdown-exec/markdown-exec-1.10.1.ebuild b/dev-python/markdown-exec/markdown-exec-1.10.1.ebuild
new file mode 100644
index 000000000000..d60ef65d9c00
--- /dev/null
+++ b/dev-python/markdown-exec/markdown-exec-1.10.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Utilities to execute code blocks in Markdown files"
+HOMEPAGE="
+ https://pawamoy.github.io/markdown-exec/
+ https://pypi.org/project/markdown-exec/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="ansi"
+
+RDEPEND="
+ >=dev-python/pymdown-extensions-9[${PYTHON_USEDEP}]
+ ansi? (
+ dev-python/pygments-ansi-color[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/nbxmpp/Manifest b/dev-python/nbxmpp/Manifest
index 0b6423ba28dd..db3209a7af29 100644
--- a/dev-python/nbxmpp/Manifest
+++ b/dev-python/nbxmpp/Manifest
@@ -2,3 +2,4 @@ DIST python-nbxmpp-4.5.4.tar.bz2 138170 BLAKE2B 00a4919032dd29828dc735695afe9c08
DIST python-nbxmpp-5.0.4.tar.bz2 143198 BLAKE2B ac27204205ded7e0d20237ee7f70e5f84f8f4ada54951e209a30c59390fe166ef296875e45dd74216a04ba78d35968667d4f126967d97c57dd1533ce4d9edd0e SHA512 a6672b4046c2de596ca92129782574528d14ee75a7982bb32db398628e3901c8e780b8a33fac2710d13367a0990ba21ef148c255fa77dee219c6bbd0c453d935
DIST python-nbxmpp-6.0.0.tar.bz2 151762 BLAKE2B c16fb2b0fe88e0b754fbc7e73d014fc5537a1ebcf7805c0fd83f10c03e23bcc6d5254871045d16dbe1543b4fb36c80ddd07b57dad411561bc9f33facfae6cb1f SHA512 10ef3df594f72d0ba3965544c337973715c9d84114e6568fb6eb7914c74ab253ceefedbd27a7cd80b503b80cb2337787c3bae12dbd10db595953dc94ef060e95
DIST python-nbxmpp-6.0.1.tar.bz2 151947 BLAKE2B ef2a7267238f6033b1db113a84bb37c2ac38a9b2c9195cb7cee62d138af237f6dacd63cc5b1f27d2e0e6d50d3662a0f2fa2526b7577b469e8c04458fe3110dd9 SHA512 e8952cb7093b9fb9b67b33b5e482675672781f4564582efb3b18e6170fb17d281be9c8a8ebb1522200ba992a5ecc30d75d9695da78c9edbd174149ca786d347b
+DIST python-nbxmpp-6.0.2.tar.bz2 152154 BLAKE2B 1a6adebc1e6026fa0cd37a5ad7d430ef124b9eda5664a420ca9d6a059a1edb7154585331c91892c58f336db84bd457d937ab87a24945ab56d2ecaa17736d6030 SHA512 f91308ac627cc43bba55b7eee06978dfefe0a7d17509b3db190ea237a90df49aa9b3911f01b39061980477d4f7c09bb4356823b98595fd6e8423f232f8fb8319
diff --git a/dev-python/nbxmpp/nbxmpp-6.0.2.ebuild b/dev-python/nbxmpp/nbxmpp-6.0.2.ebuild
new file mode 100644
index 000000000000..1d77a0a33b24
--- /dev/null
+++ b/dev-python/nbxmpp/nbxmpp-6.0.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+MY_P=python-nbxmpp-${PV}
+DESCRIPTION="Python library to use Jabber/XMPP networks in a non-blocking way"
+HOMEPAGE="
+ https://dev.gajim.org/gajim/python-nbxmpp/
+ https://pypi.org/project/nbxmpp/
+"
+SRC_URI="
+ https://dev.gajim.org/gajim/python-nbxmpp/-/archive/${PV}/${MY_P}.tar.bz2
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+
+RDEPEND="
+ dev-libs/gobject-introspection
+ net-libs/libsoup:3.0[introspection]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/precis-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.42[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pipdeptree/Manifest b/dev-python/pipdeptree/Manifest
index e4babbbba411..2f5b5c604b49 100644
--- a/dev-python/pipdeptree/Manifest
+++ b/dev-python/pipdeptree/Manifest
@@ -2,3 +2,4 @@ DIST pipdeptree-2.18.1.tar.gz 35101 BLAKE2B e0a9bf6d85d0ab91049b557cd0c8a0a58e93
DIST pipdeptree-2.23.4.tar.gz 39945 BLAKE2B 6f1aaf4652b872a28712cf23fb06c26c9e36baf2c5c734b542d418d78081c19f567c730944fba33b43cf6ad612ecd54f37f625a81e88fc8bb68e3e56d76d9088 SHA512 3beeeceb11f842e5f337167b724354b43b01f972f83b0bac5168504483a079e15758206a8e141dc88e4810954630bff1b1cdec3e69aa2f981b9ec2896e40428d
DIST pipdeptree-2.24.0.tar.gz 40363 BLAKE2B e0053b742c7e5cf88ce163b5ff504bda5c601e846f84769b742f5a06a298f041dacd223398f29608a91cdd0e91e523fa101d1781472e4327daf954af146e10ac SHA512 56c68f98ff401f4e1fbe7185a989f544c24740b4278fd3de9371019d4a85198a3cedfb2bc54d82fa958068e2133f8fbb326d280cd3e980537456da853c4777bc
DIST pipdeptree-2.25.0.tar.gz 40425 BLAKE2B 66ea593cfcfb026876af0a336003f551bdb0b286af8721c8a093a0939c95e26b16511aac3ecd1c3372f13f0e470a3d4bcf0691969a8d65904f35e15e5e5407a1 SHA512 87e51f48cd114b1511f32a241137fe648f80e3be1d071020dcae7f3b62245b64c823c0824e474bb320b6e69dddad68a02d8938a116b4164d1f9fdbbd84aa5f25
+DIST pipdeptree-2.25.1.tar.gz 40705 BLAKE2B 94636a84f3133a4dab19a78ea460b1e1ca234518e15772e8a189c12f7293fe09c941f5fef66827032ce1d1118a14fdad53679204204abc1685e4a86de26cdb7c SHA512 31e6619fc677b36359611694d73e32bddebdf9e79c8605924a53c43a33a0d0702a0bda3101b04c2cfd9d7dc38861036d354e877761544ded668bc365fa41b905
diff --git a/dev-python/pipdeptree/pipdeptree-2.25.1.ebuild b/dev-python/pipdeptree/pipdeptree-2.25.1.ebuild
new file mode 100644
index 000000000000..40942a6d5775
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.25.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="Utility for displaying installed packages in a dependency tree"
+HOMEPAGE="
+ https://github.com/tox-dev/pipdeptree/
+ https://pypi.org/project/pipdeptree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ >=dev-python/pytest-console-scripts-1.4.1[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ <dev-python/virtualenv-21[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*,\?::' pyproject.toml || die
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock -p console-scripts
+}
+
+pkg_postinst() {
+ optfeature \
+ "visualising the dependency graph with --graph-output" \
+ dev-python/graphviz
+}
diff --git a/dev-python/progressbar2/progressbar2-4.5.0.ebuild b/dev-python/progressbar2/progressbar2-4.5.0.ebuild
index 0d8bb7f79dd4..40f72bed25f7 100644
--- a/dev-python/progressbar2/progressbar2-4.5.0.ebuild
+++ b/dev-python/progressbar2/progressbar2-4.5.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/propcache/Manifest b/dev-python/propcache/Manifest
index 2990b3d1f3af..475665352c9c 100644
--- a/dev-python/propcache/Manifest
+++ b/dev-python/propcache/Manifest
@@ -1,2 +1 @@
-DIST propcache-0.2.1.tar.gz 41735 BLAKE2B 9353846b481449f732751ce1bf419bf1d171b3e8fa5b4755637bab063677bfe8845da48c2cfc979936cd1af2ef559b6eb82368f9b9616b3b90a955f0b5bbeed7 SHA512 ce54baa27a9f4cec14d6db139721cb1af920e585153f541b6a192a22d805766b7a0248514fed9889d7073a611d05896fee6da1df526f2314206eca48942b860d
DIST propcache-0.3.0.tar.gz 42722 BLAKE2B 2687c2f03464b0e81c1d3e93a0b8a11364e4b03f5614de44ea89ca401867531079c1456cc97831f9c8e885dbacca8c9dbeb30e0a31b121a2aaa3666b0397ddf0 SHA512 258e2e9e6fff5c3af62d21d0afc43026e87b8c94009db9534f8beff6d81873ab05ea626c36e43ab1ee16dea1b18dde2ec732b78b93cac82cb9c1d0438e544b42
diff --git a/dev-python/propcache/propcache-0.2.1.ebuild b/dev-python/propcache/propcache-0.2.1.ebuild
deleted file mode 100644
index 5437ff88585c..000000000000
--- a/dev-python/propcache/propcache-0.2.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Yet another URL library"
-HOMEPAGE="
- https://github.com/aio-libs/propcache/
- https://pypi.org/project/propcache/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- native-extensions? (
- dev-python/cython[${PYTHON_USEDEP}]
- )
- dev-python/expandvars[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- local -x PROPCACHE_NO_EXTENSIONS=0
- if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
- PROPCACHE_NO_EXTENSIONS=1
- fi
- distutils-r1_python_compile
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/test_benchmarks.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local opts=()
- if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
- opts+=( --no-c-extensions )
- fi
-
- rm -rf propcache || die
- epytest -o addopts= "${opts[@]}"
-}
diff --git a/dev-python/propcache/propcache-0.3.0.ebuild b/dev-python/propcache/propcache-0.3.0.ebuild
index d42501b591be..5437ff88585c 100644
--- a/dev-python/propcache/propcache-0.3.0.ebuild
+++ b/dev-python/propcache/propcache-0.3.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+native-extensions"
BDEPEND="
diff --git a/dev-python/python-debian/Manifest b/dev-python/python-debian/Manifest
index e8e0b82080db..81e843eada18 100644
--- a/dev-python/python-debian/Manifest
+++ b/dev-python/python-debian/Manifest
@@ -1,2 +1,3 @@
DIST python-debian_0.1.49.tar.xz 191388 BLAKE2B 590e6f7877684caaa5a74f06d335bcf7808960968209cf18bb2cec7e81f33a3b0ff458bbe30264ae5fc015de9357dddb1522b5fd93bf33d0a7fabef1b7dd98f9 SHA512 201ceecdd8c1d3dc0cca0f661407bcfb825a1cba07c528858cc1123ab16afe0df50e338c8cd82ea24230812a9cc136220bd4f0dccbac19ad53efe48eaa25cf6f
DIST python-debian_1.0.0.tar.xz 197964 BLAKE2B 38e9ce2f1bbb15577e18189ad1a26d230f24ef7d20490556ab72149f68e5945e777018abca256d49020f4985f13953b6fd1640042272df763af38a8e57eb3766 SHA512 86d58c5185580010773f4d7236aa84276828a094f07bc8fe11d77c2cdf8a4b911284299dd2c2728dbbb802091b4a81b5ff2876404dfb9d944df1d996bb369228
+DIST python-debian_1.0.1.tar.xz 198004 BLAKE2B 377549e8dbafae8f2a124b96482e9d67a8476848864967911c9c291c5824e45142e1205ceca80e930dd5a19f5421ffdc591f7ce8b535f589323ecb3da40c119c SHA512 7acbb2bf005e586d22ac5583db9d474e40fd12d459e8d8d27f168ba87dbd6ecd5397b624847e227d91b3f803ecf77326f61af4bf041f628d089672bac9f382b4
diff --git a/dev-python/python-debian/python-debian-1.0.1.ebuild b/dev-python/python-debian/python-debian-1.0.1.ebuild
new file mode 100644
index 000000000000..b4eb7262cb66
--- /dev/null
+++ b/dev-python/python-debian/python-debian-1.0.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2011-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python modules to work with Debian-related data formats"
+HOMEPAGE="
+ https://salsa.debian.org/python-debian-team/python-debian/
+ https://pypi.org/project/python-debian/
+"
+SRC_URI="mirror://debian/pool/main/${PN::1}/${PN}/${PN}_${PV}.tar.xz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ app-arch/dpkg
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # silence false positives
+ rm -rf debian || die
+}
+
+python_compile_all() {
+ # See debian/rules.
+ "${EPYTHON}" src/debian/doc-debtags > README.debtags || die
+}
+
+python_test() {
+ epytest --doctest-modules
+}
diff --git a/dev-python/pyzmq/Manifest b/dev-python/pyzmq/Manifest
index 615b2c70d71a..477ac2b9e596 100644
--- a/dev-python/pyzmq/Manifest
+++ b/dev-python/pyzmq/Manifest
@@ -1,2 +1 @@
-DIST pyzmq-26.2.0.gh.tar.gz 272883 BLAKE2B a43365afdc49ae845f1e6611bd463e90dbd133867d82c2bfdd3d9431238f68d80bb8073a4406110a91bf6f72cc6d66987a477673277c2b099d74c78f24b49d81 SHA512 ef069f5e71ad1cd39fdf4d5c2ede411752685af2d69ea8ad477c70e51ab011ece492ab25d06feefa7b7c7daefc5fc822d0f87199df2216865ece254c5724c423
DIST pyzmq-26.2.1.gh.tar.gz 279826 BLAKE2B 72ad282e8fd93f8ea9e3f709d748fd89a2a93e4af0f69d807b78654617195fb9b99646084747c617d1648c7ce0da55d01f2cd283eafa86e834df0a97ad578a7f SHA512 d68f8769ebb57e54eb405f9e8a6dda0cef8be912288c1cc9addaf6cd952f1b95029049f8c9300d05abb592b234fdb147f29e4430f1624132bda868b8a3ec8a20
diff --git a/dev-python/pyzmq/pyzmq-26.2.0.ebuild b/dev-python/pyzmq/pyzmq-26.2.0.ebuild
deleted file mode 100644
index dfec4f7f2a48..000000000000
--- a/dev-python/pyzmq/pyzmq-26.2.0.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2025 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_{9,10,11,12,13} pypy3 )
-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 ~amd64-linux ~x86-linux ~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/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
- )
-"
-
-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
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- rm -rf zmq || die
- # avoid large to reduce memory consumption
- epytest -p asyncio -p rerunfailures tests -m "not large"
-}
diff --git a/dev-python/pyzmq/pyzmq-26.2.1.ebuild b/dev-python/pyzmq/pyzmq-26.2.1.ebuild
index 3aca9339b614..8ae4a9af7da1 100644
--- a/dev-python/pyzmq/pyzmq-26.2.1.ebuild
+++ b/dev-python/pyzmq/pyzmq-26.2.1.ebuild
@@ -23,7 +23,7 @@ SRC_URI="
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="drafts"
# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
diff --git a/dev-python/responses/Manifest b/dev-python/responses/Manifest
index 4cebcae4f623..e6b7e3f8270c 100644
--- a/dev-python/responses/Manifest
+++ b/dev-python/responses/Manifest
@@ -1 +1,2 @@
DIST responses-0.25.6.tar.gz 79145 BLAKE2B c46ea523e2abf3e245cb80f6f81dd99bb0acf545c6393f6e79c8b2a2631f07e897eba30915acdac48d33ad65c702ff21c1f319cdeec0122f50c1c0a7194726a2 SHA512 03ea531ec5fda150245e8abd89245e71741a7b63e6c2e475254cd3fd56b81759da784c4c298f3f98975f49771cfbc298acceea8869bf5e7203f27c56e4afa87a
+DIST responses-0.25.7.tar.gz 79203 BLAKE2B 54225c450e965171e12d8f8d1847d34f40012ef4dc60a29d422347737da5870260ad697274185b847380a6e0d1aab3285c4a761b4aa03e58a7e339f7236b8a6f SHA512 929d516b3670619b6ce399a7df1145b38aa498ffe7f7f5e16608c72e31f16bed5a1c2825ca9db84b51cd56c819ffd34f293679563d08895cd53b1c683f21578b
diff --git a/dev-python/responses/responses-0.25.7.ebuild b/dev-python/responses/responses-0.25.7.ebuild
new file mode 100644
index 000000000000..2771ec6bf2e7
--- /dev/null
+++ b/dev-python/responses/responses-0.25.7.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Utility for mocking out the Python Requests library"
+HOMEPAGE="
+ https://pypi.org/project/responses/
+ https://github.com/getsentry/responses/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# tomli backend is optional now, with pyyaml being the new default.
+# However, keeping it unconditional here for backwards compatibility.
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ <dev-python/requests-3[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.30.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ <dev-python/urllib3-3[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.10[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o asyncio_mode=auto -p asyncio -p pytest_httpserver
+}
diff --git a/dev-python/segno/Manifest b/dev-python/segno/Manifest
index 03a8570b9a03..a847cbb2a91b 100644
--- a/dev-python/segno/Manifest
+++ b/dev-python/segno/Manifest
@@ -1 +1,2 @@
DIST segno-1.6.1.gh.tar.gz 1631683 BLAKE2B 3e656660c97e190d9a9576347728d9934166b84c09974309ba422ddfcd5edc2b2d99fac53f4c87d94ff21b39a88a73753583a7f98edee1acbc323e734eddbf6a SHA512 266f64cee466105851bb567254e87d45f557d00ded0bb089edeafb68a71dbf686a72217ef471a3f82e68566103599180c7391d1effad65c73a1ea3355f59d72b
+DIST segno-1.6.5.tar.gz 1628535 BLAKE2B 4106cc1032969520c18e3e9df355b6af9b4509288f172866f285b137422ceddc8ddc0f630990e6a670259c76fbae4bdcf31e32459ec28df96ce947ea2693f3bc SHA512 14d1a78d9f7a8ad2b33258b7d427849dd1f1d8f57731be489a6dd06294c64a1c60dfad49d81203d5a189f028c9ca14c5f0175be82be5bd97939747184d7c28d2
diff --git a/dev-python/segno/segno-1.6.5.ebuild b/dev-python/segno/segno-1.6.5.ebuild
new file mode 100644
index 000000000000..ed96c54b81b2
--- /dev/null
+++ b/dev-python/segno/segno-1.6.5.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python QR Code and Micro QR Code encoder"
+HOMEPAGE="
+ https://pypi.org/project/segno/
+ https://github.com/heuer/segno/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pypng[${PYTHON_USEDEP}]
+ dev-python/pyzbar[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires qrcode-artistic
+ tests/test_plugin.py::test_plugin
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # https://github.com/heuer/segno/pull/147
+ mv data/{usr/share,share} || die
+}
diff --git a/dev-python/slixmpp/Manifest b/dev-python/slixmpp/Manifest
index 8b4d7a9faf50..6a03dd7e450d 100644
--- a/dev-python/slixmpp/Manifest
+++ b/dev-python/slixmpp/Manifest
@@ -15,38 +15,50 @@ DIST icu_provider_macros-1.5.0.crate 6436 BLAKE2B 7405924dca41db72ce422437434a4a
DIST idna-1.0.3.crate 142515 BLAKE2B 6835a64772e5d301c2456a94f8f5f40ebe6828aaeb1d48e3fbe015917dc3ef95ac7cfd0e1f1763e23950482f4b46ef7987928c8dfddebab63947d5a29fb490ac SHA512 e75ab18297878df11d82bf3623b005a3dbf7a6fa38c8f78830c219adc7d6f4ac07dce24a5f1186de69035ec316421319e487396cfacb053674137342d72a4126
DIST idna_adapter-1.2.0.crate 8206 BLAKE2B 5e8d7dbfea699584542cde53039df9d8c3dd408efa2534f11fce7086f679872c45d9905d6b2cfe523148eda3bb0cd4820a7b14317f91725f3d9cdb475aafbd57 SHA512 1d8b54c19878645749a1bae768dacf353b07d266f2cb3bfa1071a7afb56ca68f534dc1d54cae277b777bc97e5986f297cbe2051a82e14f553ea73cd723d9da7e
DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST indoc-2.0.6.crate 17164 BLAKE2B 1a6cff95bc12ea885ef36b935bf4f1c7870d65be0ff31ffc67dcab904fa80215c1254c1803c5d0c5686252addfad3512e9e1ec79d3edcba026a879f4706926d1 SHA512 e2ea2e5c8226c802bbe0631c1a99d2edd088cbafbf978b2a7b71c7c7f47754c6d4653f466e286441b61cc46def1c7f7a02d4785caab93a61dd785211dba7d1a9
DIST jid-0.12.0.crate 28603 BLAKE2B ae0e6b4b73a08892cc93c7e11814fcdd6e2b1c8b76ce17c5c602ff1f750226b14add7d376d8362cb7b91cb7a6976796023f11aef1a93268eb5a48640bf108b4a SHA512 b41b022dd5f830b63871a60ba36842f0a9ab3582c401748116b9977585f44d866d4a23c042809e973bcf44d99a63cd921095974f0fde6fabc7f71a38e01d0f74
DIST libc-0.2.170.crate 760076 BLAKE2B 5deb440e04b0614cf5ec5a379d66b0f05f6f3eec1268742eb9052081408ec5da5f5185e63de59f3751506541321c618fd623d7b46b1892d360b86b6e250a4c4c SHA512 b716f1a76b208c5b84692fa3084c14dbfdb4a92b86c0e01215de04dc34c6e581e5f1c4561994c65a828838d5fa232efe93c3935faf5f83c8af127a5996f1f9d3
+DIST libc-0.2.171.crate 785246 BLAKE2B 2bfbb3146d63444632b924520bc3d8af4adc6bbc38f4a7c6e8a003365430372ac1c05246684b54f0a98c36c8a7f02c325e1a6dd7fec44adeff41767e427ea77f SHA512 aca8b5f769dff18d9b3d73cae2c496f64a9828edfb0b57412da01a89158e770a5dcbb74bd83612870f9a08eb31647c1a2c92463189f16b01be8cdfc76fe0bacd
DIST litemap-0.7.5.crate 29962 BLAKE2B c94ddff0b5f6fb99d6adf31ee7c953bb1bb3741e5a68cfa598c75f58f6f426a53d19423e40b0b3ae2010e1533b4d46eefeeb7e86fdfc72289748cac897ba99c9 SHA512 722345f73b4ec2e91a9407dafd3951f1aad0acfb66e0adfed8b0a83dc1ea71d513fa5570bf960ef51409c9d50aeac23f85410ec6392f5620dc1f1e1e1f884659
DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
DIST once_cell-1.20.3.crate 33456 BLAKE2B b16081751a1b6649d0235fe9cef3fd0a9023d4f6980521933e4a411282458050ca27c1a8aa01d5237d424fa279219b5713da21d8900eccc3100d19c37d24b7a2 SHA512 3ede903f232d6ced73aa74c6b2e2ec306012517eac684db253913df4656515d087d1aff9f437a58fdeecb77cedf8a5960d6772d72bf1f1f19f1ce3fe54bc72dd
+DIST once_cell-1.21.0.crate 33959 BLAKE2B 5913de9de0740a96228c34a9186e95dd3c5baa95e6cc3ad62893fbf6b7ef8501b7277f1158299128a4c5bd76fc345409ffeec6fbb5792dc61857de70dd992378 SHA512 a48bff528b524bce41a709998327d2a03ca5ba39b95e43b406d825a9eefd771e7f3d132d26741db6ed565648e92789da8b6c46bcc3adc5a83da8710c66c80612
DIST portable-atomic-1.11.0.crate 181258 BLAKE2B 627bd7c306f6c4d7991abd9f995b7e0ce110a7ace738690c287a43ce3b979691214e525876f8ace0c2f0d10d781fba95c7d3bf29aea28e09b05b06f4764db03f SHA512 71774f8308963c5399095c6b755befdf9ff3d28f9529b4bae1fe0f2aba733339a267aa6f0ff854e59fa5044a9b0c2c86bad3bc4fcaa951724c839b0d6a22041e
DIST proc-macro2-1.0.93.crate 52388 BLAKE2B dae4493215b88f68cc485bc0ae80f0a48ebad68e0260839b1c367832d1ab778197bf040647b3fe36cfe9d5f7a496e05cd71b5914f531eb129c2d458d5f0be896 SHA512 1ae650e390e4f1b18d05f42d2ffcd025cabf72568a326cd85496c722600108b0aa0ab0161b39fcc931b8b302427f678650e703f4db57aa1a60f1751db881dc6c
+DIST proc-macro2-1.0.94.crate 52391 BLAKE2B c50986bb34468379e22215c6572c2b722f54381c02258fcba6805eef0166e4bb591d20b94b9084b5d68972df8ef12476ce0d1081588cf80dad3c4ffffa347660 SHA512 3fc4552187d4130f0fdb415f94e625c156a1fdc6cc955fda8a68b49983ac8a83b897f43d1caa130c4f0932fbd9651140b7670601faa2b9b936947c3fd89f7769
DIST pyo3-0.23.5.crate 1088533 BLAKE2B 2efae0a42c1d33e25c5871e3f61a3cea9890d278a20e2777307752b544ab3a634059bba896a1df0df4eadd0ae3c2e63b6d637aecd6699b31fac4107e3a43a387 SHA512 efd3a86dd70c199304463c0ae18dbdf4d9176d1af13b664bdd05a1e218cffda3f29f06d868d0d852d51c3e85b7e07c39617206b3feddc913b3b622f3fcf59d5f
DIST pyo3-build-config-0.23.5.crate 33885 BLAKE2B 14e3897186abb772bcde147a9ebf2a70f5cbd634cb0240e1dbba71079acd2f9cd61fd263a5d32bc583e188ec84b6db8b93f018ab954ac9da66f423183ad5c176 SHA512 72aac032e3026554761eb81dc9c57591abc4d0c329c46918da13a8cc93c0532eba2fe3d971699a50890c66d8853b93a67840b0e8f1c15747d184b873dec2894a
DIST pyo3-ffi-0.23.5.crate 74867 BLAKE2B 5c80f7ac77ee516a891c1cb367e27fa396e55a7504dc8f92312219a90860baba3861ca2e83a1410839b99b6b3beb4c068703b841e18ea1854f70d04fef7404bd SHA512 37c25b21acc3718eab842c04489b0c16c04d33a30fe7f3f58cd80943048203375d8788ce84153ba3720df695fc95bf9f7bccacfa02b0e669a5ddbfc44d65f86c
DIST pyo3-macros-0.23.5.crate 8856 BLAKE2B 56e7dea9cc630e21f9e8aa43319db27f3d287baad4035bf8d921b2c8e737142e5a89decf6a04bcc095f97e035cfe4a5edd7091bba79dd68bc110b7420c29477b SHA512 bf9c12b02597cf6f119e92fe827016f393d13cfa21376811ab9bf8f49cbfd6447afe9dcbef564ad2b5b72db5338520c37c77429db8ee1ccb74de3944fc9fce7f
DIST pyo3-macros-backend-0.23.5.crate 70938 BLAKE2B 20d5b00edf806ff19de3e3a03d10a23a29b16d544faf2bb5781032e51c3e07cd7f1a979e00b9f1abca36bc7cf1546b702ee83f85d021d74ac819b8b13bf8d140 SHA512 5e9a971d98a7b70424bf93b1f7fb326564010562dd376789be2fa6b13b89c3d34f760eb61ed49f0b013bbdfff2658d874d24a8a0b65d8f82d10d8f34b8ef5b53
DIST quote-1.0.38.crate 31252 BLAKE2B a3836efbe5c21dec70c684002b47b8fc7cef643c82ee903b537a48bc0707a28106c4b33d98e60ff81e04c7520f7404b1dc4d49446e8d91dded517e476c36e1c2 SHA512 530c47c5e6372b508bf5b2b88a138408a7afa5ef52c47280ed20eccf39f8e97dfc1e0a18c1bd5472efcdc49a7a1e69566333a0a1b4c0b4f0e11e6a7a85bfe8af
+DIST quote-1.0.39.crate 31206 BLAKE2B d7a29f7a39350831e664bf39fa4674e6f0ec7b1d1219e2939d3e070c2546b8b231a00e6e052709a5d3448da71701da69ee6952bbc787c76db1f7cb5eff8c3b6b SHA512 3ed328321f2781c00f6c3d163ab41d46a5ed4290aedcc6be6ff275a2fd7d56dc48b3452b167dc713b7883886d485e6f983bd0acad7191ce3f3c3a7c709d27770
DIST serde-1.0.218.crate 78968 BLAKE2B af7f366a1aaaeb9b5f6f22e7398a30ea486aa3391ccab9a11435d45f7eba10796ce671556b771dbfd8b914563949c54b4a4f14fe447a549e879636339fa8f128 SHA512 35ffd8556287fa270beb90539c1641912d8fb233c53c4017f1f65a483b2dc340385458b9a869b7142b4d514bcc87c25e69c9370b3867e463be887bdebd19ead8
+DIST serde-1.0.219.crate 78983 BLAKE2B 7e9542a04c7f1aeff95b821245034368ff1721d98d7138bb1e0a99cdd6436dc37d69606308834fd33daaea3a1792409b3b2305b802433fa1d155816c55ca2a7d SHA512 0d3fe9a47af027d0d79499e60d940661dba6e29e8f0ce47d0db2ab722030d255aff637248af6f893a9c4224239733db09ffcdc6e1923a7177bfae55c98ebe769
DIST serde_derive-1.0.218.crate 57782 BLAKE2B b2244847b41f1aa396352bcea886d6a28d13ede23ae6ceb813143849cc107b3fe0cf054687d9f35bbb9db4e95c619422d9710532fcfffff291280cbe3649a433 SHA512 e89c076b0aa22ad74010f5b6a60397b9b78b59ca50a9660b29ceb1fd608cab820c47e787e450da306062c0cea1ade7142a7d4626a77aa0ae486096c130442cde
+DIST serde_derive-1.0.219.crate 57798 BLAKE2B 071f02019f829a2753769ce915d11df8f0d202ca67314fe83b42e1f1f3d07bc91b7e7c38fe498a0513714f80d3a3dbf2b447b1f85762de06dd021119801afa89 SHA512 1676bbf09e11273705a35c540d52d35d1bba7cdf1f347d40a364d7ae9269167f9f0f62ff4fa384aaa613c83e432a8eb3c016587ea643bb11434c00664a5c116b
DIST slixmpp-1.8.6.tar.gz 581633 BLAKE2B 43482ae13020c8302ec432cb77da5bac53a4ed43368ee5398e05c300f63db5d14b4590aacbf592cbdf904b7ce6f07bcd72b152efd0614fba2028cf01f3663174 SHA512 b013145fbd44dd6f38fd7beb15af5d83bd9e6f843308a2124b2fbb1a70f0ead1f0739946c24d66a11aef60d660de6fcced846e91ecd1ad58ef84410be89b2356
DIST slixmpp-1.9.0.tar.gz 709614 BLAKE2B c0662171bcdd15ea2ea97e979ffb4c0c52df7b974685be81e37a05bd766ff9c308cdb84977b8f814b3e0a9a222c320683b3afb18a89fc84713e3b6dd431c9451 SHA512 d48a9ebe300de82345d10d8ca7f9a3a7e5dc74e52e93947c577d77907f502b1b53deb449058c854bfb7dda523de49e50473fabe514400d20fef4587e05ca7989
+DIST slixmpp-1.9.1.tar.gz 708818 BLAKE2B e29629fe6fafa11019aa194863a085c3545fb82fda2ff8e58a09d6db18adb1c4b529c28f41d7a7a2219f5da9de9116867bc288b53fed089ef1be93a54097f432 SHA512 b5517335f5329c970d084845f2b6945ffb255ebcd4e0d3a167ef041222d70656224e9364d5100ce92683313049c2c6a5d0371744b7e33d016243dec86abbb6d0
DIST smallvec-1.14.0.crate 35561 BLAKE2B aa8ee61800a6d13eda5acb4e9dc03543160849479a96a72c50ab38013b23e9593a665773b455a09777038edd436d7a35b501f6d4a0e16ff49544be60345a1e50 SHA512 90de38f208f551cdbf4980fda2314dee57d4e2bbf769a01c47bc849189e9243474932052faa92fe0ca59ecc9c5d1ed84091ef87f724343d38ebbbf710ba232be
DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03
DIST stringprep-0.1.5.crate 23573 BLAKE2B 8b5ae2f278603553761e0b98a3f0a02c6a81fd117fee57a8186a015a58ce5ec8d91d9f3decb393f53e07d8df05963f399e63afa46bca937b99f609204582aa50 SHA512 f5dd6ee410e42f285b4da85e76d514ef697cd995c601b5ed23e25f702d920dcc76f15fad41610b6554b692ca0f939f329845535fe4ea167df3ea0e628b1da447
+DIST syn-2.0.100.crate 297947 BLAKE2B 50a9b244732eebc16464bef152bb620d86aba590942b0d68710d36e89c0ee752629be5bb8db48866c7d252d545ab910625891a5a9b499ad9142191881eb9b42b SHA512 082a975c6448febe38abdc0b43ae929a97a303c0f980ecd2bdd6c44aa2b39ee5aeedf6b1c84316cf088e0d97aff011ec0482a5242ddb338dcf7db5d55926cf6c
DIST syn-2.0.98.crate 297807 BLAKE2B b17e2bb4f151fba26debb722bda8e8677dcc4f57f0e88bec214f8b06e9b15c48731ca3f63d1453a44f34845c9895b3519008ce6cfb69746486324d7a8e0e0c20 SHA512 792dc70249d55face151b5481b0ebabbd3d290de78cff8b5dad8bee08e5a932ee22e54ca5fc5980e0b218197d19822c3672e02eb92ca74c8ac1328081d4d2cbf
DIST synstructure-0.13.1.crate 18327 BLAKE2B b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2 SHA512 09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa
DIST target-lexicon-0.12.16.crate 26488 BLAKE2B e7950e4a302059a1bfc9bc15618a3c1b971a17cffae117a6e8f5f63a0d82fd2bd02680301d15338612d5426d349dd24cfee30ee787a15a7d3187f2a6825e69ce SHA512 092639957c4a0391560b6442b31c47159c04d12e971010f730a6ec9cb5389e4be903ef3d7daa06db95e64dc78b6970731fb647179ebaad2b12e9ed5e9b24da27
DIST tinystr-0.7.6.crate 16971 BLAKE2B 33a248261c4cded41a81f0d6e6c8df55437f042b37f235c39787986ec562f0dbff50b282ad0f1483daaf49c4b33e6618e139a6677d1238c21f4e12082562b4ae SHA512 a33051848de248cac0a2d151760a78cb3aa62c787d84ff7aac38b11c0660e9188e4d43d43a77fb8676e49ac6102015e9c3db057848d809e71981851875d0fb25
DIST tinyvec-1.8.1.crate 47269 BLAKE2B d72ec2417520fa0481b8447e6d75e1f24731d38f9083a711185785174a8567c81f6416468b9eabf426f9d32683231e7c5e80202292d1e424f9e4ac9cc8b3e765 SHA512 db32a6beb1c86eb3e9f5ff2732a4acc03d1d684f0e54df5de2ecbfd08399639f47396ae8b17eb5f0122a09ba0c313f39bd73a6f7c44cc38d1891d1bdf3f2d176
+DIST tinyvec-1.9.0.crate 54137 BLAKE2B 68a96ec0ffa392586c3bdadf2323b2a3b416ecb81db5d18ae0e05187b097c7882da6678bc881e70f935554862fab5cf41ae590b27e0fab7c1c73995449b84f5f SHA512 5f42811be51c58c72b80fe9a7199250fb6176f5766dc774b39ff656ae5ebead0d9c91ed7db1046288b8e05e20edba36455e4cc6fc0766c60898187f30c232aab
DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
DIST unicode-bidi-0.3.18.crate 58300 BLAKE2B 388af09d26248f2059d251f9c2b7d949112a430b16ad5868874d436346e2e753875ae382257cf5bb1d41d6ce9f2d7a34d37d2a2e88f9cc051b85a53c3baf5ee0 SHA512 69b5f220cfe8b7b36471fb0adc7d7852a8c40c497b8a81eacd1293b72c46e09c39c2e0a7218b58f0cb62c5ced397a8eda2c5f358eacdfe5d18aba2bc14afe2bd
DIST unicode-ident-1.0.17.crate 47704 BLAKE2B cafb0d9dbeabd44d45c73dfec9855d9cc8e41482ff75b7b1f4fc4423e2eeb2a5a04f7e3ce0f721fda6acf1e02f2bae77c6bb346b48bc26ab1972255b080c190d SHA512 1eaf422163126796f3181f8a3cee319ce0492e75c0c293def441872b39eba8282a95e058d0fd5dd39a8d6f3304d4ae13420a0eed901f71c157d5da99e08e1437
+DIST unicode-ident-1.0.18.crate 47743 BLAKE2B 517ab42a847020515b2b871844d0571ea672340f89a762631a791eac18935ac122122fa5566e58b99ab47de179eadb5298e8ff1d05b123c4e93b7fa989c8e31f SHA512 d11f89fb696f9e2953c96a40b5478832651b268c83b9c7a700b07e768e795d6e8dc346597d1226df21219d36866768d1f640bd8edb68db8bd3d5d437b2bfd324
DIST unicode-normalization-0.1.24.crate 126536 BLAKE2B 1d6d535a1236562918d2625172d38c261854cd8c45cccc81c5d5aefb052db5d0e33981d95f5c87e8760cf77b3651c60b7ec1762421a7a9caa72fe7eac3f562a0 SHA512 f7af59688773319b9d1523955ce9b82e6735bd72358715ba5c056f41956ca050b6a612cae1b39199cc089674b3c71e4016d85d48167277c794c5cef3df881754
DIST unicode-properties-0.1.3.crate 42252 BLAKE2B 2c054d7e84f739514a79dca218aed1580b06c66dd66a760afaa433c8822eb45ee97b47d00bcfae9770ab2371489db467c6667157fec73dff663847fa080e38eb SHA512 1825cb20913ec343dbbca7a2b1062c8e4bd2dd514b57598bb6f5a6545e8142b5f16377dbb3b821e9b999a1b0fc08e671b16e1d4f6b7a953ea40e8196b51744a2
DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST unindent-0.2.4.crate 7422 BLAKE2B 2e7870cd4f78240dbb1e5fb9c0f9b55c57bb40242fe668f105a0e862f1d6300e31efbffe0cdff676a5f96a8d19dfb148f88bfef1cd8a710556d777fd0f4ee37f SHA512 58bd4fd20a0b0a7200e0ea3ea70553cea135a5a8f7a2fb178520c41228f435becce4b9981019b7c73a17df87a2ee9b2a47c4cec29a3011bfe848d48b2473761b
DIST utf16_iter-1.0.5.crate 9736 BLAKE2B edcd9776113d4d2b267a9cbd58cab11c5497ff1a8252c4e695de619fc8e5eee1595343c857651774b3670d13392144e9d7df579f2e226842aa7e4e023a76fb65 SHA512 44dcbc5a7db149392fdaa31862be240f78fc5d7616f54be32cfc8f3adbee310e8681ae1bbe6edaad8a7fe6e7759dbac8ae4f69d0dbdbe5350c21dccdbbe975fa
DIST utf8_iter-1.0.4.crate 10437 BLAKE2B 1e7a8b9241ebbb62cb497542b970473780f735010a0af900771a43abceae4e7f362d21d4f79f7c00630e4549400875ea17574b2cbe4f5ea19e8ed428e3b5577d SHA512 a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090
DIST write16-1.0.0.crate 7218 BLAKE2B 548796314339463e4b71f8af3d344e45dc89480e103180b6d56c90fcb816ad1a37ab2ba20766c4b9754f2cc686752eb1f3a5a12ec1ed4369a9cef749ad4f3e97 SHA512 655a207b8082bb88e462f992ecb4833cef9d590da06d6356b41d109df2862b49ee5705189c78a607b549e7343035119d158020d58fcad49608e51659357a83c1
diff --git a/dev-python/slixmpp/slixmpp-1.9.1.ebuild b/dev-python/slixmpp/slixmpp-1.9.1.ebuild
new file mode 100644
index 000000000000..87c1a2b2a380
--- /dev/null
+++ b/dev-python/slixmpp/slixmpp-1.9.1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ autocfg@1.4.0
+ cfg-if@1.0.0
+ displaydoc@0.2.5
+ heck@0.5.0
+ icu_collections@1.5.0
+ icu_locid@1.5.0
+ icu_locid_transform@1.5.0
+ icu_locid_transform_data@1.5.0
+ icu_normalizer@1.5.0
+ icu_normalizer_data@1.5.0
+ icu_properties@1.5.1
+ icu_properties_data@1.5.0
+ icu_provider@1.5.0
+ icu_provider_macros@1.5.0
+ idna@1.0.3
+ idna_adapter@1.2.0
+ indoc@2.0.6
+ jid@0.12.0
+ libc@0.2.171
+ litemap@0.7.5
+ memchr@2.7.4
+ memoffset@0.9.1
+ once_cell@1.21.0
+ portable-atomic@1.11.0
+ proc-macro2@1.0.94
+ pyo3-build-config@0.23.5
+ pyo3-ffi@0.23.5
+ pyo3-macros-backend@0.23.5
+ pyo3-macros@0.23.5
+ pyo3@0.23.5
+ quote@1.0.39
+ serde@1.0.219
+ serde_derive@1.0.219
+ smallvec@1.14.0
+ stable_deref_trait@1.2.0
+ stringprep@0.1.5
+ syn@2.0.100
+ synstructure@0.13.1
+ target-lexicon@0.12.16
+ tinystr@0.7.6
+ tinyvec@1.9.0
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.18
+ unicode-ident@1.0.18
+ unicode-normalization@0.1.24
+ unicode-properties@0.1.3
+ unindent@0.2.4
+ utf16_iter@1.0.5
+ utf8_iter@1.0.4
+ write16@1.0.0
+ writeable@0.5.5
+ yoke-derive@0.7.5
+ yoke@0.7.5
+ zerofrom-derive@0.1.6
+ zerofrom@0.1.6
+ zerovec-derive@0.10.3
+ zerovec@0.10.4
+"
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Python 3 library for XMPP"
+HOMEPAGE="
+ https://codeberg.org/poezio/slixmpp/
+ https://pypi.org/project/slixmpp/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ >=dev-python/aiodns-3.2.0[${PYTHON_USEDEP}]
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ dev-python/emoji[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.6.1[${PYTHON_USEDEP}]
+"
+
+# Rust
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/slixmpp/jid.*.so"
+
+distutils_enable_tests unittest
+
+python_test() {
+ rm -rf slixmpp || die
+ eunittest -s tests
+}
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index 6c842c71ec07..a2244df12ee7 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,2 +1,3 @@
DIST sqlalchemy-1.4.54.tar.gz 8470350 BLAKE2B 0d97beb4edde38455c03dfc1238655d1cb63aa6e042b941913ec68dca3654de07087ab967f208fda495f048a5068ced70d642c4b8b80ab32e5346fcefa3bf9bc SHA512 e7ea4920d81914d362134a3c6fd4a2dd4fdb75f6ce17358528d568e2b2ac0ee711a71f6beb894e61d6d1e4e5833034ebde651d73a13f873c682f780e1831b427
DIST sqlalchemy-2.0.38.tar.gz 9634782 BLAKE2B c1fa85895e3c39cf3abd28ebddec9cd6e764eeafa35b1e86a11836504552b9602d7d3582d0eb0f10ed3481501e56a068e6d563c399b22bf756465a6d5255ab23 SHA512 244df15b30a2d585aa9cb1d89b7460b1e75871a5e41579a23743bbfe40ece9c5c24308e317ccb7686ba7599a2e02a61f61077da6e1ab8567e4e31d61d4d77380
+DIST sqlalchemy-2.0.39.tar.gz 9644602 BLAKE2B 42dcad5ca88fd1f4b1194759aa98dc4a3ac28f6cf9d8edb21ce6a77051c45c6579b3184d0832f6a33b40157483a72f67c92feab6f2fa1b7087e7fc950a6233a2 SHA512 42d23acb4d98f03dde97d9d1e43387fc6bd331ee54a6503a2b4b047aab38d24ccb905ea6a7026619e36782c631e54287011f6daf360e7f5c69a00c395e15f149
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.39.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.39.ebuild
new file mode 100644
index 000000000000..f08809a40288
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.39.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=SQLAlchemy
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples +sqlite test"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/greenlet/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ test/ext/mypy/test_mypy_plugin_py3k.py
+ test/typing/test_mypy.py
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+ )
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+ )
+ local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # TODO
+ test/orm/test_utils.py::ContextualWarningsTest::test_autoflush_implicit
+ test/orm/test_utils.py::ContextualWarningsTest::test_configure_mappers_explicit
+ "test/sql/test_resultset.py::CursorResultTest_sqlite+pysqlite_${sqlite_version//./_}::test_new_row_no_dict_behaviors"
+ )
+ ;&
+ pypy3)
+ EPYTEST_DESELECT+=(
+ test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
+ test/engine/test_processors.py::PyDateProcessorTest::test_date_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_datetime_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
+ "test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
+ "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"::test_{delete,insert,update}_single
+ test/base/test_utils.py::ImmutableDictTest::test_pep584
+ 'test/sql/test_compare.py::HasCacheKeySubclass::test_init_args_in_traversal[_MemoizedSelectEntities]'
+ )
+ ;;
+ esac
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=10 --reruns-delay=2
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql
+ optfeature "postgresql support" dev-python/psycopg:2
+}
diff --git a/dev-python/structlog/Manifest b/dev-python/structlog/Manifest
index ef5db77806e6..d8b58b9a1ff7 100644
--- a/dev-python/structlog/Manifest
+++ b/dev-python/structlog/Manifest
@@ -1 +1,2 @@
DIST structlog-25.1.0.tar.gz 1364973 BLAKE2B 6e7237eb87e0e8669a42bdee214d9a9d7095363b42fcf4f86be8d50e6d320bf9199d08de13e138cd520c42dadb68cfd676dbe8f6792a892fe1f79738d1c711a6 SHA512 190722bbd71355fce1dc6842ca3b358a2de99b4823e1175e52205e719b8164e3d5d16f55307e93bb3b4b03d9f655ae01a8ccb89cd3a5908d6d5cf3fa63e0f03a
+DIST structlog-25.2.0.tar.gz 1367438 BLAKE2B ef83f20a0bc9da63d05d66295609cb4fb1e2124dd4e6a1f468a74ee0a5565656cd8354bac180990efc460432e624f7bcd6c6e33e7109a81a14f611cca43b6128 SHA512 d4b8c7f6328669f7f8384287fbda17d6994bc7647216bb58fe808eae899f108b6e5a5b0effeb65f8751577971a1a56e4717bbf88c4e1dfa31f86dee44237f10c
diff --git a/dev-python/structlog/structlog-25.2.0.ebuild b/dev-python/structlog/structlog-25.2.0.ebuild
new file mode 100644
index 000000000000..e2bd589d42fa
--- /dev/null
+++ b/dev-python/structlog/structlog-25.2.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Structured Logging for Python"
+HOMEPAGE="
+ https://github.com/hynek/structlog/
+ https://pypi.org/project/structlog/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/tuf/Manifest b/dev-python/tuf/Manifest
index fc75e8fc16f5..2557ab61cb23 100644
--- a/dev-python/tuf/Manifest
+++ b/dev-python/tuf/Manifest
@@ -1,2 +1,3 @@
DIST tuf-5.0.0.tar.gz 266998 BLAKE2B 6fcf909955f7c2515ede1922c9534ca439cc68d07af81ba53d8811f74fd4510655cc17395f1e0e5df0e3ea752e74862e8d1397b9b3a272565e793c70af9de352 SHA512 c8ae86480320fb33e6d92292da0e687a3d7c90c2bcc234518d934671a954a0970e158cc48ab95be51e6eb21eb63a769c47be9a7880b446d5b0eba9f34570c07d
DIST tuf-5.1.0.tar.gz 269105 BLAKE2B 56462bce222685784a8e26395792e24c22b59b4216c0488437a169313a655b7b3280044643042f7828f0343a5c215900f824fe5a61fb8fa5c2ab866ccfe03827 SHA512 1559b6c6700e947941a70e1c57dd9b05893e5da9690e4b4c81b35e95fa11551a1ec7db4d11a7ee71ffb9f489f9f39e49a3ee7bbdeccacd265e061db59d584ff8
+DIST tuf-6.0.0.tar.gz 271268 BLAKE2B 4f653a77b8f730fbe29d5d768dd93bff3bcf3856b3d691ef5ddf7867e5c35226add5db3352d59e23ee01407a63076ea8240c73b3e679ae32f9a7cd77b82ae24d SHA512 71a24d1895d4aeeb3005e229a931cfd81761d707b7a42b62547068e2cf56dc2ef9b3628a38c774016c340809bbfbf2e0cb1ade3b30d902d9548e7ba6776e8d32
diff --git a/dev-python/tuf/tuf-6.0.0.ebuild b/dev-python/tuf/tuf-6.0.0.ebuild
new file mode 100644
index 000000000000..e143d8c218c6
--- /dev/null
+++ b/dev-python/tuf/tuf-6.0.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A secure updater framework for Python"
+HOMEPAGE="
+ https://github.com/theupdateframework/python-tuf/
+ https://pypi.org/project/tuf/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ <dev-python/urllib3-3[${PYTHON_USEDEP}]
+ <dev-python/securesystemslib-2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ cd tests || die
+ local -x PYTHONPATH="..:${PYTHONPATH}"
+ eunittest
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 860fa374d80c..27d8fff1c4ae 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -5,3 +5,5 @@ DIST uv-0.6.2-crates.tar.xz 54121752 BLAKE2B b1ace1c08ae63fa662d73675eb30818b63d
DIST uv-0.6.2.gh.tar.gz 3720975 BLAKE2B 04e3e9d6cc3a808f5323e7e72584c74078ee74d8636533a42e0027e2abcf98fc73fb2fb8f94dd855773bf046d381a8d928dc3fb3688bcff25df1c848bc3a1496 SHA512 ac193c0de1cd6ae48fd40e05a1c47999bc2cee9ac553d69fe676a78e970e2763c2e9a6f3a84b123701db143534d8597ef4445e255ca74788fef88332e51f092e
DIST uv-0.6.4-crates.tar.xz 60120880 BLAKE2B 67e7cba1df7e8c18e55d7d1a5748db7995c19a8bc4d156b5cdcf8d6af3922ea52279e2351085fd2142806f6692383535dec1d8354c5197d3ed032f768c552dbc SHA512 0f13d3e6e77397ef2db40122736fe4d990003388dc2f2f782b9aea317fb30f30cbb35b1d800b252e84f239fd570208df55f281432e91e546b5edcf82b9a2b68e
DIST uv-0.6.5.gh.tar.gz 3782938 BLAKE2B 82528fbd5c65cc07dd4ba647dd86d81673370afe8568690601e54faa54ad0ffa42db375b63580b0ae67f1fda67a66f54d990ce97704c614e80bf54666ed3e11e SHA512 cb1564905d56ac5873db91476b9a0a09e450c2cfaf386d9d04b1861d1e798ec43d7f28e03099d732e03cc58f79820a7f825d7d8869b40f71fab4308412e401b5
+DIST uv-0.6.6-crates.tar.xz 60230976 BLAKE2B 9b0dcb0d8246fc275f5b508c48661f0844622ee9280b9000e0131e6101d548b92f983502fa21070fd41aa20854aa0931b3a5be13fc96def5bafab6d0eebe943f SHA512 b1925417eb34135e9e9d92a8d832055cd3677142ac9e7369d9e1f64ceba02632914c6ddc669257a5d75dd27b8cea4612db2bb295d2b747a74e169a8e23fc5a6b
+DIST uv-0.6.6.gh.tar.gz 3767860 BLAKE2B 09bcb296f10ecebc9bda81091ea9c7f589b9b44169981676b5013088c001301d2302bab8514d4c6fb9542ba0bc0d07377e68a46c35f667a6a408f86e499a1a89 SHA512 49ad9fdb411e719b5a2aae6d48750932c8ad65bace2b0a747a54b475bcd0a40da368712d074b4b3afdf28cc8003532aca712b3714d54323f184ee1358521d7c5
diff --git a/dev-python/uv/uv-0.6.6.ebuild b/dev-python/uv/uv-0.6.6.ebuild
new file mode 100644
index 000000000000..ea31a134e1f8
--- /dev/null
+++ b/dev-python/uv/uv-0.6.6.ebuild
@@ -0,0 +1,170 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;b70cf707aa43f21b32f3a61b8a0889b15032d5c4;pubgrub-%commit%'
+ [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+ [version-ranges]='https://github.com/astral-sh/pubgrub;b70cf707aa43f21b32f3a61b8a0889b15032d5c4;pubgrub-%commit%/version-ranges'
+)
+
+RUST_MIN_VER="1.83.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+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 ISC MIT
+ MPL-2.0 Unicode-3.0 Unicode-DFS-2016 ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-lang/python:3.8
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+}
+
+src_configure() {
+ local myfeatures=(
+ git
+ pypi
+ python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+ local -x PYTHONDONTWRITEBYTECODE=
+ # fix tests failing because of our config
+ local -x XDG_CONFIG_DIRS=${T}
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}
diff --git a/dev-python/xmlsec/Manifest b/dev-python/xmlsec/Manifest
index 88f0b1c000c6..88949007ab12 100644
--- a/dev-python/xmlsec/Manifest
+++ b/dev-python/xmlsec/Manifest
@@ -1 +1,2 @@
DIST python-xmlsec-1.3.14.gh.tar.gz 80643 BLAKE2B b256ad1aa18b5a746148ff4b2e8b3136a31105e1bb64d2dd686d5e62c16c183187432ee06f0f8b9da0bdba3b96c3c1e7fb6f51148bb5d5d60e54083841973399 SHA512 7a28695bf122a9c04ed20e4a6a09f9428372c908857b1dd983251a7b890cc50e92a6fbaa7f062cd58d86dda14257720e9c9554b2b54d840f9180110d93145335
+DIST python-xmlsec-1.3.15.gh.tar.gz 80101 BLAKE2B a810fa8cb16c55ac01ca360b70519bebc4c709bbf48c03560b85f149b3e70fd4b9d81f4b4aefc229dbcfa8ed2e80f0967fe46bccc9c3bf085e92464ecfcb6476 SHA512 7b55661499050ccf46c51703c9730f3c1ee0f483daec74dd7f8a97dfcf1bdc693f052ea0324165a70dadc2810d330488f6878d0423e32740f7553b04d665acdf
diff --git a/dev-python/xmlsec/xmlsec-1.3.15.ebuild b/dev-python/xmlsec/xmlsec-1.3.15.ebuild
new file mode 100644
index 000000000000..71cde46efebc
--- /dev/null
+++ b/dev-python/xmlsec/xmlsec-1.3.15.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+MY_P=python-xmlsec-${PV}
+DESCRIPTION="Python bindings for the XML Security Library"
+HOMEPAGE="
+ https://github.com/xmlsec/python-xmlsec/
+ https://pypi.org/project/xmlsec/
+"
+SRC_URI="
+ https://github.com/xmlsec/python-xmlsec/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+DEPEND="
+ dev-libs/xmlsec:=[openssl]
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/lxml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Fragile based on black version?
+ tests/test_type_stubs.py::test_xmlsec_constants_stub
+)
+
+distutils_enable_tests pytest
+
+src_configure() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ export PYXMLSEC_OPTIMIZE_SIZE=
+ if use debug; then
+ # we don't want to use PYXMLSEC_ENABLE_DEBUG envvar,
+ # as it forces -O0
+ export CPPFLAGS="${CPPFLAGS} -DPYXMLSEC_ENABLE_DEBUG=1"
+ fi
+}