summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-11-12 04:43:24 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-11-12 04:43:24 +0000
commitb336f02059a670a6583b67ab71422a4d7dc1984e (patch)
tree5d0b15944341d86a5db6e2d33d2f7c447d78d05c /dev-python
parent0b044dd547b9ac7c0a0a6df658854fcc8db586b9 (diff)
downloadbaldeagleos-repo-b336f02059a670a6583b67ab71422a4d7dc1984e.tar.gz
baldeagleos-repo-b336f02059a670a6583b67ab71422a4d7dc1984e.tar.xz
baldeagleos-repo-b336f02059a670a6583b67ab71422a4d7dc1984e.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiohttp-socks/Manifest1
-rw-r--r--dev-python/aiohttp-socks/aiohttp-socks-0.10.2.ebuild40
-rw-r--r--dev-python/ansible-compat/Manifest2
-rw-r--r--dev-python/ansible-compat/ansible-compat-25.11.0.ebuild67
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.40.70.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.40.70.ebuild67
-rw-r--r--dev-python/click-option-group/click-option-group-0.5.9.ebuild2
-rw-r--r--dev-python/dulwich/Manifest13
-rw-r--r--dev-python/dulwich/dulwich-0.24.10.ebuild124
-rw-r--r--dev-python/griffe-inherited-docstrings/Manifest1
-rw-r--r--dev-python/griffe-inherited-docstrings/griffe-inherited-docstrings-1.1.2.ebuild26
-rw-r--r--dev-python/griffe-inherited-docstrings/metadata.xml10
-rw-r--r--dev-python/griffe/Manifest2
-rw-r--r--dev-python/griffe/griffe-1.15.0.ebuild (renamed from dev-python/griffe/griffe-1.13.0.ebuild)5
-rw-r--r--dev-python/hcloud/Manifest1
-rw-r--r--dev-python/hcloud/hcloud-2.11.0.ebuild51
-rw-r--r--dev-python/hcloud/hcloud-2.8.0.ebuild2
-rw-r--r--dev-python/markdown-exec/Manifest3
-rw-r--r--dev-python/markdown-exec/markdown-exec-1.10.3.ebuild34
-rw-r--r--dev-python/markdown-exec/markdown-exec-1.12.0.ebuild (renamed from dev-python/markdown-exec/markdown-exec-1.10.4.ebuild)0
-rw-r--r--dev-python/mkdocs-material/Manifest1
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.7.0.ebuild73
-rw-r--r--dev-python/mkdocstrings-python/Manifest3
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.17.0.ebuild43
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.19.0.ebuild (renamed from dev-python/mkdocstrings-python/mkdocstrings-python-1.18.0.ebuild)1
-rw-r--r--dev-python/narwhals/Manifest4
-rw-r--r--dev-python/narwhals/narwhals-2.11.0.ebuild (renamed from dev-python/narwhals/narwhals-2.10.1.ebuild)0
-rw-r--r--dev-python/nh3/nh3-0.3.1.ebuild2
-rw-r--r--dev-python/oslotest/Manifest1
-rw-r--r--dev-python/oslotest/oslotest-6.0.0.ebuild32
-rw-r--r--dev-python/pdm-backend/Manifest1
-rw-r--r--dev-python/pdm-backend/pdm-backend-2.4.6.ebuild75
-rw-r--r--dev-python/phonenumbers/phonenumbers-9.0.16.ebuild2
-rw-r--r--dev-python/pikepdf/Manifest4
-rw-r--r--dev-python/pikepdf/pikepdf-10.0.0.ebuild59
-rw-r--r--dev-python/pikepdf/pikepdf-10.0.2.ebuild (renamed from dev-python/pikepdf/pikepdf-9.10.1.ebuild)1
-rw-r--r--dev-python/pynacl/Manifest1
-rw-r--r--dev-python/pynacl/pynacl-1.6.1.ebuild (renamed from dev-python/pynacl/pynacl-1.5.0-r3.ebuild)6
-rw-r--r--dev-python/pytest-asyncio/Manifest2
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-1.3.0.ebuild52
-rw-r--r--dev-python/pytest-gitconfig/Manifest2
-rw-r--r--dev-python/pytest-gitconfig/metadata.xml10
-rw-r--r--dev-python/pytest-gitconfig/pytest-gitconfig-0.8.0.ebuild28
-rw-r--r--dev-python/pytest/Manifest1
-rw-r--r--dev-python/pytest/files/pytest-9.0.0-skiptest.patch79
-rw-r--r--dev-python/pytest/pytest-9.0.0-r1.ebuild (renamed from dev-python/pytest/pytest-9.0.0.ebuild)6
-rw-r--r--dev-python/python-socks/Manifest2
-rw-r--r--dev-python/python-socks/python-socks-2.7.3.ebuild (renamed from dev-python/python-socks/python-socks-2.7.1.ebuild)11
-rw-r--r--dev-python/python-subunit/Manifest1
-rw-r--r--dev-python/python-subunit/python-subunit-1.4.5.ebuild93
-rw-r--r--dev-python/pyzotero/Manifest8
-rw-r--r--dev-python/pyzotero/pyzotero-1.6.17.ebuild49
-rw-r--r--dev-python/pyzotero/pyzotero-1.7.2.ebuild49
-rw-r--r--dev-python/pyzotero/pyzotero-1.7.5.ebuild (renamed from dev-python/pyzotero/pyzotero-1.6.16.ebuild)0
-rw-r--r--dev-python/roman/Manifest1
-rw-r--r--dev-python/roman/roman-5.2.ebuild25
-rw-r--r--dev-python/secretstorage/Manifest3
-rw-r--r--dev-python/secretstorage/secretstorage-3.4.1.ebuild (renamed from dev-python/secretstorage/secretstorage-3.3.3.ebuild)10
-rw-r--r--dev-python/testtools/Manifest1
-rw-r--r--dev-python/testtools/testtools-2.8.0.ebuild44
-rw-r--r--dev-python/types-psutil/Manifest2
-rw-r--r--dev-python/types-psutil/types-psutil-7.0.0.20251111.ebuild (renamed from dev-python/types-psutil/types-psutil-7.0.0.20250822.ebuild)2
-rw-r--r--dev-python/zope-interface/Manifest2
-rw-r--r--dev-python/zope-interface/zope-interface-8.1.ebuild (renamed from dev-python/zope-interface/zope-interface-7.2.ebuild)14
66 files changed, 1022 insertions, 290 deletions
diff --git a/dev-python/aiohttp-socks/Manifest b/dev-python/aiohttp-socks/Manifest
index 97371e4161d6..3efdac367c90 100644
--- a/dev-python/aiohttp-socks/Manifest
+++ b/dev-python/aiohttp-socks/Manifest
@@ -1 +1,2 @@
DIST aiohttp-socks-0.10.1.gh.tar.gz 13783 BLAKE2B e1446c13847bde3cf39a55ba650bf20037199694006b15101925c812a304c24a558722809a14299e97e6d1a7eae9ff4433d6f9f15232dbb7bad2c280773de1d6 SHA512 0519a82d4a157ef708deed89706606ffe318ad935ec8a1ff4bd94fe3acdab294e44eb99119f90e639ef4a7f16c705fe6688f45c31286d4ada0ecd8859a3a69c9
+DIST aiohttp-socks-0.10.2.gh.tar.gz 14146 BLAKE2B 2f1a6a938f3232740b1b15479e789767a2868025cacb022081e4991dac44aef69ebfbc2d221b81ed71d2dcbf371fa3a9db723c6a50a078a7cc7d58b03ff16ecc SHA512 13ee6d0897c0f5591fc3fc9994cb36963d71a0ec1c31fe2435faf7626fb8e83e3ee4e35bfc7304a4e564bf9bf1389b3fc14da7f60cd5409d20c63d790c722a64
diff --git a/dev-python/aiohttp-socks/aiohttp-socks-0.10.2.ebuild b/dev-python/aiohttp-socks/aiohttp-socks-0.10.2.ebuild
new file mode 100644
index 000000000000..8c27de19d16e
--- /dev/null
+++ b/dev-python/aiohttp-socks/aiohttp-socks-0.10.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="SOCKS proxy connector for aiohttp"
+HOMEPAGE="
+ https://pypi.org/project/aiohttp-socks/
+ https://github.com/romis2012/aiohttp-socks/
+"
+SRC_URI="
+ https://github.com/romis2012/aiohttp-socks/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/aiohttp-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-socks-2.4.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/yarl[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/tiny-proxy[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
diff --git a/dev-python/ansible-compat/Manifest b/dev-python/ansible-compat/Manifest
index 933435b6c183..889a29485ac2 100644
--- a/dev-python/ansible-compat/Manifest
+++ b/dev-python/ansible-compat/Manifest
@@ -1,2 +1,4 @@
+DIST ansible_compat-25.11.0.tar.gz 193024 BLAKE2B d4e802582911f04429823e4f5e66c0fa40a6ebd9c6a8cbaff6a56728ef772bb0ed558584d9b6ffcafa78e7d06070f6574b66cfc75aacd975d7fe9834deb04a5d SHA512 e8af788d69ef9aa532c0b2f5f6401df1c61a4bd1d90e269c8d7d1418048e5f6d78bbc116d704fb875dada7e2389d25b57385dae90af0cbaceeedd37c7d3d9665
+DIST ansible_compat-25.11.0.tar.gz.provenance 9485 BLAKE2B be19bf3dced5710bfd76a09c59ab05029c676a79c09325840f5ce3af98c120578177320ede09f45025279d10ca190d3d3e74d4d18f8633903957be416e30384c SHA512 db70483ecf37cdd29287e7cf5d6a37455537ce40ea0bcca1ad30b48d8eabdd9f384197862b50017a35a829028c1d1c56229e30ebf3b6d0d265d386303c8760db
DIST ansible_compat-25.8.1.tar.gz 90142 BLAKE2B 39c98e2e4f7fe9da00543b1ba2fce24e303c25aa269c1a4f86ed96a7e29ebb9f31fa40516fba78017e940ddcea5f6fba95bf0b4eccebc77fd0c13d282bf6df97 SHA512 b0bc8ef6f614e7c41becba6090ebd4a5c09bb9ac957a56652eb59d18eb2d03398e149af21071883a7b236e0ee724b354322a043f8d45c23b4db6d1864f871130
DIST ansible_compat-25.8.2.tar.gz 190581 BLAKE2B a20ebf6b595a8933d02b88c1f9f8efae8e7ffac3378bed3c50fd8fbf74a73663c5406fde7f05f0a923ba7ce75d920f3bf58e347cb7650cec77cb974ed805e45c SHA512 78beb54d3ad65e02e7009834b5690b118c6743274fa5fd31941e63a7f99d3b7ac2fcbce0fa80d45212a6bcf4365628e731cb139a6af14360c0552e9a759d6336
diff --git a/dev-python/ansible-compat/ansible-compat-25.11.0.ebuild b/dev-python/ansible-compat/ansible-compat-25.11.0.ebuild
new file mode 100644
index 000000000000..adc7c33e54fe
--- /dev/null
+++ b/dev-python/ansible-compat/ansible-compat-25.11.0.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"
+PYPI_VERIFY_REPO=https://github.com/ansible/ansible-compat
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Contains functions that facilitate working with various versions of Ansible"
+HOMEPAGE="
+ https://pypi.org/project/ansible-compat/
+ https://github.com/ansible/ansible-compat/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=app-admin/ansible-core-2.18.6[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-25.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.2[${PYTHON_USEDEP}]
+ >=dev-python/subprocess-tee-0.4.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-{mock,plus} )
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # remove stupid upstream version block
+ sed -i -e 's:2.20.0dev0:0:' src/ansible_compat/prerun.py || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # All these tests attempt to connect to galaxy.ansible.com
+ test/test_runtime.py::test_install_collection
+ test/test_runtime.py::test_install_collection_dest
+ test/test_runtime.py::test_prepare_environment_with_collections
+ test/test_runtime.py::test_prerun_reqs_v1
+ test/test_runtime.py::test_prerun_reqs_v2
+ test/test_runtime.py::test_require_collection_no_cache_dir
+ test/test_runtime.py::test_require_collection_wrong_version
+ test/test_runtime.py::test_require_collection
+ test/test_runtime.py::test_upgrade_collection
+ test/test_runtime_example.py::test_runtime
+ 'test/test_runtime.py::test_load_plugins[modules]'
+ # pip, failing due to internets
+ test/test_runtime_scan_path.py::test_scan_sys_path
+ test/test_runtime_scan_path.py::test_ro_venv
+ # internets?
+ test/test_runtime.py::test_runtime_has_playbook
+ # TODO
+ test/test_prerun.py::test_get_cache_dir_relative
+ )
+
+ epytest -o addopts=
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index a11d211674fc..db070939b71c 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -4,3 +4,4 @@ DIST boto3-1.40.55.gh.tar.gz 1013401 BLAKE2B 86de575af2244a1b6ec317dac61a71ba2b5
DIST boto3-1.40.59.gh.tar.gz 1017517 BLAKE2B 31511c062e6991ba14b7bc7227f4b4a214da5bc6dd012139cebaeb53a34ad540a80b5216495b2796d34f6ad91fc135837c830d9151fb34aba15d6d1c552c415d SHA512 90cc90f03e743c57ddc195a2ff10282d3c99851b54cd475da95bb3eb120449b0c0aa59d920baf206142e151eba0250aad5fa9c1a6c1be9e550ea1be5b69f8566
DIST boto3-1.40.64.gh.tar.gz 1023920 BLAKE2B ca8af519caa4d3d4a20c808b3b9d263ad4d684327c29513d9fd37fc820f2d38c6a6450d6450d9a5355bdf4182e875a01939d69546821b00594b51b985fec31b5 SHA512 58010e4fbca89978aee5703e6e39ffe6116b31c1afb409335937de07e447e9027eea9523ac04e059c12cbf46b84ce88583b49356457978dc8d8491688fc2034d
DIST boto3-1.40.69.gh.tar.gz 1027290 BLAKE2B 5e68da89d063ee063dc79d3fee9958ea6a8d408184f28931f9b21aaaa52c2f1a2ac5ddf293ff7d5dccccd0097ec94e0688fa0cd206f11f19bf0c774ece3c164b SHA512 509b32070e09ebb965d392ced9c064ef97b44f8c530cca807177261eecc3cf522df8d4c0822f7aa3521d7cff81935891e33fcc0570462ba73740ae85f6514d0c
+DIST boto3-1.40.70.gh.tar.gz 1028782 BLAKE2B 70f8b57c9a515a011d599e7f193d96acd311178f858640f5361cb1ff6d59dc6bd3d6992cf0247e3764ccf4ec55737f0f578f92884b5c4970270c917d6ab816c0 SHA512 c69edcdbb8c748d42c93aaf5e43567e060ad2d323865668345ac0d3dfbbe75eb487d64582b1f5decc898a2a7454f667905224641fa583f99f91474b1ed229e20
diff --git a/dev-python/boto3/boto3-1.40.70.ebuild b/dev-python/boto3/boto3-1.40.70.ebuild
new file mode 100644
index 000000000000..cb388ebe6570
--- /dev/null
+++ b/dev-python/boto3/boto3-1.40.70.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.14.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 a496dc885c36..80b39dfe9f5b 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -4,3 +4,4 @@ DIST botocore-1.40.55.gh.tar.gz 15255349 BLAKE2B 22516d43d5737d92bbead967a13b4ce
DIST botocore-1.40.59.gh.tar.gz 15284317 BLAKE2B f0e5b5ac06292c003ac6dcf0d8b4098b12cdeb2ea5ef8158aa1ce20000730e8f0bfb65a5156f64decaec9ef2d144f3aebbad1e2f2389e80d6d3cdef24f735f2e SHA512 04aabb134f24782274c3b44b0addc45523e36216372e07da271d282968200b66785c4ca92754a79a0ae26fc93c2448e032f0e498552eb8b344c618cd2be2221a
DIST botocore-1.40.64.gh.tar.gz 15230274 BLAKE2B 6156b2d80f6aee5df0d746bf3a2fe1bda6cee3435612d3db12a8134b9fdfa7a6c250752dadb562d1c804052ea6c775f802067d611ba1fb597e9d90439e219b64 SHA512 a8c7793146d25ae5cabe12fa5a65e8195f35029dd2f0dd9a6d012b8abfe41e1871808e1dd3d550ac153ce323c15c398b35a535780c5e143bbe5645b5eeb8c620
DIST botocore-1.40.69.gh.tar.gz 15265787 BLAKE2B c567c9d2cd25d98e7055b829ca337654f3c2f239296e32735d8064dc698a4fee41464a0ca22453f93feea7a9d6eb58183406780c56bab345521420c7177681a9 SHA512 2c76026a2b5114fbc4d8be54cf67ade64f3a563f8b50e83bdfc1f238f220a94acb1ca1aa607ce4934a8e2b58ebfa2c4b07892b693ad80d539188352a3ffa1f75
+DIST botocore-1.40.70.gh.tar.gz 15269974 BLAKE2B 8027b9c8439796ae28768ca127c7ea239afe70dda0f048715b933fb35552f00fbcd5c87599cf673cd9ebb260a9254bb18fe59cb4787e3e0b4198660140580c35 SHA512 e36fa0f865f119723a5fc2a3884035af5a2be7a499e4cc442fc060bab6bd8fc4382fef7144fbbc1fe2d5a9b6bad29fe1baf65c89e98f21eb58f5154809748db6
diff --git a/dev-python/botocore/botocore-1.40.70.ebuild b/dev-python/botocore/botocore-1.40.70.ebuild
new file mode 100644
index 000000000000..ee8074e67dce
--- /dev/null
+++ b/dev-python/botocore/botocore-1.40.70.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/click-option-group/click-option-group-0.5.9.ebuild b/dev-python/click-option-group/click-option-group-0.5.9.ebuild
index 7fc958b7d992..65a377df9727 100644
--- a/dev-python/click-option-group/click-option-group-0.5.9.ebuild
+++ b/dev-python/click-option-group/click-option-group-0.5.9.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
RDEPEND="
>=dev-python/click-7.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index 8baa01d4744d..3caf42657afc 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -1,5 +1,7 @@
DIST autocfg-1.5.0.crate 18729 BLAKE2B 27580e39b366c6fca02c9db09997b6415c409f12068f1249184268bf96fd85ba659e25ec730f99e10caf452f96c486f3d7442bf09c4552b5f39519b21d6f88cc SHA512 f279856f234d39d369623576acf9546a1ca24d7fe449f36d4fb93ea75a7efaf2c4015b9616a69bbbed358c5e5882e16b045352f046aa4c049b3d13b1e8257b08
DIST dulwich-0.23.2.tar.gz 704361 BLAKE2B 2ba377c86a96069efa93f0e227297ba679bf04b346fe799f7b36a54bb38b51b9178c407d373a5f3e4adc4188d268ac3705a16ef98e84758cc3b8c2eaff1f5ecd SHA512 b3da400f7b89b0afd1ad14623a2a8765f2c36131f2b401ed2267637d961a65e9be32c6bb56c555d7c649d8d828088a83b433a66669b48e2a295b782fffcf9c22
+DIST dulwich-0.24.10.tar.gz 999843 BLAKE2B 2008f377a9c48fe5315507b6b4e3ef89fb482b63eb7a811b5b144ad6d93023b74944dca2d8487196d58ca8e22e2a94e6a6783fcb45acebf82d78cdd98e88b2d1 SHA512 b52cd3b4c76934466f18ff9b8e143fc61c4669b88d51fdb399bdf9679cd417b7453941dfe51710ae888cdbcd017e7fcce2817a466ad420a12beb4919701c7aca
+DIST dulwich-0.24.10.tar.gz.provenance 9795 BLAKE2B 53ba898e10f7e4f4ed6d2b65509f207503e7f1938ad96452bbcd319564cf1b174532a4c101b927bbc1342a95ee2952595eeaccf5a4bef80befc46d40c36bf3fc SHA512 cab587d1efc69f47c7ee63ffe07dd9f9989c36bca7c35d3029672f19362bc3175542ca68c0c9e5991440ee332805cc528030ead571ef32338bcb87ccb3094f1e
DIST dulwich-0.24.5.tar.gz 913018 BLAKE2B 68c111fb5e08c57ad6a5829f48ba9c83400d7d71d952e3a400a8350410ef838886dc0fca78100fb7f32db3a89e9dfbad96b3c22012d4386fd0e827f0c5e89a68 SHA512 450aba2f77108f1221159bb5e41289f3eebb5750295047b07df2adc9295bba07766b628ac0b28c24082eb4f5d4bdf123bf5ddb89f7ae1f1374df4bb52f945659
DIST dulwich-0.24.5.tar.gz.provenance 9673 BLAKE2B 5660ee4813676825980a103cbf4d6f342eab3d60a831a4d40005247f0f3d0dd4f28e571ecafe172963a5a531306ea4bf875b1ae77c620bd022bb8cc16b636408 SHA512 e32ca85ef1bcbd92ff9f0cb8e3e5d8b4796d20b50f2bac046099740a236f73782ec5af7d1fe9a7488054bc6c6636d4fb2ba846a101f6cd5d34b9f46301584e69
DIST dulwich-0.24.6.tar.gz 946625 BLAKE2B 76522ea32796b8db0fc1873f7ad555de79b11d63420459cefe43ccb67ab4fa81587a8b00b38c2f0df2b9c34cb5d439f1b53ea2430ca8e7174fea168e14a506ba SHA512 90eaad4ae75b7f6bfd41bdbbd4c6907eea0b0426003d8d3a0d37959c7b7bf518ef49e74bd82fcee19109d7e134868ac77a175b769be323ccdc07a24382cdb3d7
@@ -10,6 +12,7 @@ DIST dulwich-0.24.8.tar.gz 998526 BLAKE2B ee5ee83ed26aa6e561ba86de0dd97c8d6a2ddb
DIST dulwich-0.24.8.tar.gz.provenance 9771 BLAKE2B aaf178067787591a823ff17c3c86082c8d1e39620325500840cbd4227856c14021dbb0dceef1c075b86913b547b88e144ebedbe0156f5222e997ca1b4b490cac SHA512 1e0b02c544d35ca4548987ea9a24bcdbd7e88e9dbd2d685d9446bba21fb52007ada0bf09ee88663157901e1791de3e78546e18b6dba5ba317381aaea2031afbf
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST indoc-2.0.6.crate 17164 BLAKE2B 1a6cff95bc12ea885ef36b935bf4f1c7870d65be0ff31ffc67dcab904fa80215c1254c1803c5d0c5686252addfad3512e9e1ec79d3edcba026a879f4706926d1 SHA512 e2ea2e5c8226c802bbe0631c1a99d2edd088cbafbf978b2a7b71c7c7f47754c6d4653f466e286441b61cc46def1c7f7a02d4785caab93a61dd785211dba7d1a9
+DIST indoc-2.0.7.crate 17184 BLAKE2B aae454874b44dbc908a75b64626e608e04017c1407daff9a2e2dd12a337ac04db594540d2f31bfc590d6f37f0d711ff2d3054352ff1b33e736c36620404be0a0 SHA512 6e80cf927001821606488a822fd0f67ae1a569b022c98e727e6b1571c88d87775166f088322bd5f17abb8fc1fde62c9d14fb2e99f1e50918487252d823e48f73
DIST libc-0.2.174.crate 779933 BLAKE2B 20ffcbbcad6961e732521940f0595039dc0576d85b2d3b2ad3f1decd37571132a4cd7505b2e108078a4379fc4cec46290b5633bcbcc6e7009c3b474c1a852628 SHA512 243f2ffd5741ef859e4dc5b7ee0396071943b1d10429efcaecb322957e256c4be88a7a649029dfd47e6456acc73ee257893fb6c4e8b4d0fe66a12bc5d1c13c73
DIST libc-0.2.177.crate 792045 BLAKE2B ecea1ade26b0faa9cb5fb025e237f3a59dfb562e7b3de3682b42a41038b1d436e83b42b53158c1fc1cc4b1cc64ab55ba1497e869ae850a677c089fcce9138912 SHA512 9d737091dba80244137987d06a52ffcd44a968c96b59ae9af9cfa40c38cb9675d023f6324fbf25c436ce1b9592ebf26248f85b0a7c97ee02360ca624b0efb3e0
DIST memchr-2.7.5.crate 97603 BLAKE2B ee41ef722d90265064db3ffe22d52eff8f7627ac1ae9b0bad6ca9fa06c1027dca8d67e594e03b03c944dbf85930d2dbf030c5aaed369020ca1a1ba00f153d91a SHA512 2606ee16a7dc02db95dac17cebd2cac9deb2e23d7ea62972cdb19145c06eaf75631347a49c4e6ceeff89fb6e90e992f9bca0a9c955eb5130f89ba2bd865936e1
@@ -18,30 +21,40 @@ DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1
DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
DIST portable-atomic-1.11.1.crate 185506 BLAKE2B 953bb1f2059dc1d891305eb89945f1f6a172fa50972725aee499de72b5dd9b4ad8ccefe4e891183ff8e6b64f4d1bb45ec33b06e0f5af34c940f817b290f746d9 SHA512 4c037ae0b4aef43077bdbf803389bc078d963f20d023e2e1d339a54f67fa9b27c174e7c1b6eca8881ecf301e30c431632d2c0dcedfb5b19552892fac0f81e2e1
DIST proc-macro2-1.0.101.crate 53886 BLAKE2B db566c4fb6a197e0aa45cc074310853eaa24ceeafe9fb91f2014ba47cf6b1cbc34e4e9391456c946587540c8e270e1a37f5195cf03bd15ea5d4f171bba9772db SHA512 3171c807d24371da2931f9c706fb3129bb9bf3ac40418e5d14cfc372baf96e5fee9ede72091163858e3ba0b4f88594efa1031b0bb7128ca68e7b847dead6856c
+DIST proc-macro2-1.0.103.crate 60024 BLAKE2B e5ce5f77838fd063b5615b1555db02175621135132de6aa7479d67fd0a34c15e8235290112a728f3251cf913a835bf0aafaf6930880511427143b63152047259 SHA512 9a6964a2ad24dbb1108b7018882ddb48cb6e6f652d1c5eed1cac94602539fc71f011a0a276765778df161edbd6387bf03a8505d93565e0c106f09e98d7d6efce
DIST proc-macro2-1.0.95.crate 51820 BLAKE2B 93229d80556ec03bce4031607d13c7902cacc2d7e2586a692ffe8543d52e3f3ba253c9c311ddedf6d9348ce8758ae8ff64577675cda2dac557f936a328de47e3 SHA512 f78e4d47ecd29c1b2315554705e445507bbfb9449afd0bf1b74df28f266ac6382ca8c3ce135ddc55c989eaee64d1794a0933a941c8ff55f543fa21c400016547
DIST pyo3-0.25.1.crate 1121993 BLAKE2B 79a982131fc4c4f9292e97bc8d938d236ee9cefb99bb90646a84703660ad506aee8ae1f1e626d985aa62c695722510f2697544581fa5c3a01f193be2bc2779fe SHA512 9c842c89d274dba0c8a3085a8524736245d65f07e5c05bc13fc89167cfdeb1a4ff2b4a9da9467eee918e45d01777473f39bda11efe0052859969d4fdeac1adc6
DIST pyo3-0.26.0.crate 1151579 BLAKE2B bcc8236785502928bf4a0b7a320e0a8f3d6140c562de4351a52d015aaebb8dd6b4d68fe607c8ea13ec66941c8f01d2c18c4249adfacb521355d4bf158667f3a3 SHA512 e073a4d893f88aa0301ef0ead78048137515edd93c490e6dccbc301ff65a208534c65c1d216b04639d4b1ec1e4b69bc87bd34974e5d0659134c28dcce589c194
DIST pyo3-0.27.0.crate 1172080 BLAKE2B ad1e9f00d17caeec2a1b2fb812d834006cdc105201a54d72e419dd05e76a023fcf0915b966998b22d15dc61a0d999ebf84f918b76cd9b57020724dd0de9e6755 SHA512 7dfd6428a3fb6b1a92f1fcfe9c8082006b7a8c56a1a51d20b7557d2508ed9e5f69b56e2ac7c519ff60208e15d78e77c812dc929ad0c73b1f5df17c7fbbd51df8
+DIST pyo3-0.27.1.crate 1172212 BLAKE2B 29ea2d7dffa41ac5414aa5bc537b90e5979dd4a05a04c4cb1d2b70d6d5b7f9cb506fe864236f65495e7646406b695d5891af5cad2d67fd665a1ab4357fa31921 SHA512 f4c8d65b0a95633850597d6b29298c4a14aa3239fa245684cf6caf275f070698b35b03bfb3f256aaca0cec0d31211c51e2f2650a9d12eddce2a4d5d1f81e06a2
DIST pyo3-build-config-0.25.1.crate 34126 BLAKE2B ca905f1f74e26f38ab63a4f5754055c9dff01f9396f81ece09b7ce067181b657e6746db3b373f7177805f6564d0df0db064b5fcab8160d5edc357e64dd32d0fc SHA512 d6fe4a46111188203a839c8c73b9835f98cd6bc5982868cbcc9f502c5a09b35c3e61117b50ef8372470051b5bc4959731907748ffca89f42f300a3081b7b0467
DIST pyo3-build-config-0.26.0.crate 34309 BLAKE2B 5ea8b51da2f425674cd3bfcc1090ffdd08da01d2161dc66b08995c20cc859422f9f84077c545e5a0580182910aeb9dbba97838915148a82b86948d1cca3c8722 SHA512 a982d0a0baa4af58c2cef7c0c4b2671e3f559ca7f30586eda9fbd05e842efa2bfea0089ddbc729225b848871f6a25f85e86576e1dff519192ba289cd92c6aa8b
DIST pyo3-build-config-0.27.0.crate 35562 BLAKE2B 445de8da51ca7312e8a94e9018ccf959461dad66fd22cf869cc8c09974ecb72fe4bb6f79c2d040f18bf465878fe54c7ccf905b6b6e296f0a7bfc496aebe04ba9 SHA512 2946aa4f564da7349413f609d6781aa54551dee40f47f4577c54f8311e6b4c7699d997ea25cc219dd1383e727643949b231876ddcc056fb6bc965d634232ae4a
+DIST pyo3-build-config-0.27.1.crate 35565 BLAKE2B 2dfb7e1c07ff0f7cdad8f77e4a33ce7696f914f29d931c967f0fcf24fe257b6e421cb2f8e2820a5e66440490cfd96eb733073651a153fd6932f2da5c1068187a SHA512 9add95c372ac2db8e3e719ca2b393aa1e18b6786a7d34e113b07a7e0ad9698ad2d3753a1e7707e4df1edbf62c4fba2df6e0227e5658d5d368ac1dbf76a0e9455
DIST pyo3-ffi-0.25.1.crate 78058 BLAKE2B 351fe00c99008a34a003e50cd4f6d25e6dae5a446928358cd5146ac9924254614724a015ae77d8aade7bcb497cf5e5b5018021ff5d89a8efa6412f5ccb48744e SHA512 35ab63888f49df13fab8b96b87f6c705186173923fd5898abe8730675156426f020ee517019926ba5e06cdb4fc5f91a75f648ce9eba892e9eaf3ee17864a8ec7
DIST pyo3-ffi-0.26.0.crate 78247 BLAKE2B 65f1c399bc763bf8afc36ccac27d28242ebcccebd08ab8d9b3165ca5c9abb10f76e76fe5a250aa1e0cdc1d1e8a613160660f07bc0dbc2812675acb9dfc8e89c2 SHA512 91c2ae828e997dee5e48d839794727e94576228e9329c358a3bc77a59f8f37fa0ae6c2579229782b3f46ab90725844ce9194b9de4d3849d824adf1d40743bf7e
DIST pyo3-ffi-0.27.0.crate 78505 BLAKE2B 5b9b7660299c63d28471df050d88a3ccc92c143b77e1fbddd14f2fd1641a2e00be600dd3f512bc2cb9847a6b98f001ddc82cd94ad072fcde187d03a7d490f83e SHA512 87173bf740a9446e1365747c7544b9f0f814bc39430fbcf37f1ef7d9649512bb8fe9de2f87033a5dcf9e5b00e3c1667868c875389e41f9e1b856e78b5399ec36
+DIST pyo3-ffi-0.27.1.crate 78517 BLAKE2B f0a093a594e47856c6458da59cc41d5b772be369fb245a1c09f5264464e0ddc527b243cd451352c7b3b1682fcb26cb1d7b93abfefe19411eec8de73d98918b74 SHA512 5bfb8e7982b0d9ddf6fb2c2a4110b43c5b4bcc6f0a14acb50af329742b6eb9993df2ffe88bc34732fd0a58ca552df1b071fa8efd7b38d3441a7b9f45245168ea
DIST pyo3-macros-0.25.1.crate 8886 BLAKE2B aad9c975c90ff93429be24287d76edd945578b546a927f54d82b6d4bf184f1f8d426ac112307205346e85999a1e89b097f68310de647f27474790bff01c3517a SHA512 08387f3d1ddb0cc253eed376e6e8ebe5722b31664ec742f16c0454b52f1fbcadbe7720ae9e2d3870fe0ca2690916cf6e3e032f5a3e65d767322c068432f6d470
DIST pyo3-macros-0.26.0.crate 8906 BLAKE2B 60eef72d27b5bc922b75f71ae24bb6f380288cb3a619bf2940b0de47b27e86cce0ffdb1fbdc9c0540d3f15c9df4884497aa1e6efec0f1579ac722b414818a428 SHA512 07bcddba0926c3dff7629da3260f9a38593fbb337b6a68d55c223f5944d912885e5319cd635ae1785026fed4adea1fcc19695ae83aca5bea127c5a8868fd2c43
DIST pyo3-macros-0.27.0.crate 8916 BLAKE2B 01a755b8a1417833c77cd0d2a43c69120f3ff77ab6671031116eb07ce36379a5b17524265014765dbc8773e4a4b610273328fb340ff0c61901949ffd35519a22 SHA512 65a3f685052c900b0afbc39cf27855d337093a7c793dcea39069e1ef8500ddaf0a16f4acf222a862ae0e2a35744e098d7065f3b61931275af3e044934e299732
+DIST pyo3-macros-0.27.1.crate 8918 BLAKE2B d98f155ba4867fec265b7ab82a89d6e025259fc113d9bcddc179a0a0df961ad36cafee1e781ef8fee6d607b8f943b6a095c0a1a188603f9be624a663170791d5 SHA512 7d33a363e464e2fe5b4fe4b958877c695542c8e18a0b512868d579455c9c6072d8a4c00a36b069bf8b54f7dade9847b3968c3d3f40b0b2b54fcfeff44f0afef2
DIST pyo3-macros-backend-0.25.1.crate 76006 BLAKE2B 02225f8591585a6cbea7d6e53503bfbac395253cb0f45c588a2eb38908bf241034412832f2fcf4e9301318b5b9b82a888755d970f544f402a4f0cf9e4a6eefe9 SHA512 4c9006424630ab9bcd5dcdd45fe927a95a40a61757f0950396eb9f0c3f1794772092a19773c102220489cc621ad65d81dbbe459a1be472f6cd3211c50ef33cc2
DIST pyo3-macros-backend-0.26.0.crate 81809 BLAKE2B 73885035855daf00b001e97e0a5ebe09412d212c8f01aa4db6638ef09990bf1bccbacf2e5a7e6ec21929bb1c2beba06587ecdb6ee954eda9e9c51c6c276cea95 SHA512 4146011a8ef18ecaa44b425eebe6e5e1370945063b98aaa83452e57b66aefbf5d483367b1d4d44aa5091303c4ba7f568c6428ecec0cfa6c90ba41631d4e99367
DIST pyo3-macros-backend-0.27.0.crate 82461 BLAKE2B 5edd562cfc43197328621b7d6167fd0135f45047eb82f02c774fdadcb896fa8be6ed5725311994d4c6f6b8f75e3724a6b0aee6eb56b98fe9c4c0ff29c56fc879 SHA512 ad895e12e3891ec36bb755b3cf8530a2fe12597715a8e32aba8873823d455d852c31d9eb9d573c9099d8a8278b20f50b68fc5be6b4613f788184ccb45e40f9a4
+DIST pyo3-macros-backend-0.27.1.crate 82521 BLAKE2B fc5a1516eb0c55525cf648114274a741a01ee215cee8ef5ba44c0da225b98c1db15d3459f81028ae5b7376fcaf4744a59a34ec345403097d7b374aa8cd9d1e50 SHA512 036147deb1ad48815e22c84071069ed4eefe6b75c95cf727259231d63f0dbde00310983fbe90ab1b740ade071a22b9bb09073d6f120b519242c4bd8989bf3202
DIST quote-1.0.40.crate 31063 BLAKE2B 09036ff3e5ebbd775c466bb936de91d4c070481eb4b98c62a4cddcda57cd7b67d63f979b321f6ec64aabee3f5da6c28e7a3efb83f4647768ba578f1bd0bd0bdb SHA512 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99
DIST quote-1.0.41.crate 31408 BLAKE2B 9d496e0878fc329ac9492ecbd470e762bd807ec8ca4e17a856b4d1c776351434778f519977137a67b8c143ee60b20774c09768d480cff51b22f2cfcb364a20d9 SHA512 64374d70eb29f7d7e02e535ba383586d93f68a9b6464c79840fa6c42a1ac47be7ba14e415a40e158f845e486ed33d5c564c882913780d296360b30a56301ff7e
+DIST quote-1.0.42.crate 31504 BLAKE2B a8106c0fe3953bcc2aa421516dfbaad6d6cb2ea839b2ce1447a45b8732dad40a921c2008b477bc0fa029dc0e0357a339db543b1f90bb9da77a5a3681fc16bed0 SHA512 6d55047312de6bab660459750c54213e986f0a80b4458fdb706c2fb3bab83b8239cd230dd9291662076d395c818a391142af1228ae3158cfa4960d6c74d531ba
+DIST rustversion-1.0.22.crate 21096 BLAKE2B cdf773cda21ebde50da897c0af0e4af14660ce953d3037054a99d8adc3db2dc6e30a57201a45676abfb183c62016a68069848e7537f711b1752339d194b0a378 SHA512 7929352df3e5279ac88cebb26ca89bb13c755f46986d2d1f514d18a3239a63638bf64f8ff153920569d173185d988d692ee676335afba0bf72d47f71babe0e15
DIST similar-2.7.0.crate 53928 BLAKE2B 41d6aec64403069dcf81a9a00b9db041967b89d09cf9f2371444928f32bbc2a8c6066adb93eaf25c72a257fab87e24c160265d687c4e33848728a4ddd374012a SHA512 4a2559d2e47e7747eb2bde0f02a0e652ff0e116d1d3c3756dd86fd48f114e2b42157b860165e5cc29c2123cf19c64ebd17f023aaa05950de03ab5752562206b3
DIST syn-2.0.104.crate 299699 BLAKE2B f64d2267abe9140456dd31d52ada0c75bfa3e4e0112ca77491245e9e84a0530f6c7cdc7428b73cf567a65ef6e7727f814fb9cb34db0ecc9cc3afd05b69fd36f7 SHA512 da532fa362266161b5604c821c913f8f990eb32c18e18c0a360b7147b9f71ae008e208f377cb203e85818bd5db926951122a971fa97563a10678f0ba4671e64f
DIST syn-2.0.106.crate 301514 BLAKE2B 6b28b30ee067c23dc4bd1b38365d14c1700245c974e785173965b0822301966d642b36bdda25210d61f17a99fc71eb81e29a56c89d1649773908bae32778fb1f SHA512 e07e1058770fa3f1039eaf335340cefb597c0dd11bb90fec9fa777ca5815d0e0bb1711bb4db52cac77e205dd68fbe2bce0e1aa9895c2a52a1ea6d7758d13424c
DIST syn-2.0.107.crate 301716 BLAKE2B 76ae71e40724b7ab0912df8c5d9ff571a21b6da1ed8f849395ca8565535c245894bbb1927952fa2c81891ce08d5e19336138f80c6374ca4a46c8bc8ed1ff53c7 SHA512 6c65589ad86a01307defcbfcb62d95b342135ad22636b899195784e56d476fe5eb5c7f2b54f827166e573f0a4af0ca834f4a107700417fd68edce7e423467f4a
+DIST syn-2.0.110.crate 302184 BLAKE2B 68135017080bbdcee324fc4c98a719d70f9abe3f0a0913b82ad5dd96c8969712bb50d1bb387ed5e60b9fb64e69d6a1e0070361b4c41bc7c0804a4b674099222f SHA512 f9a393a3edcb49d039926bafa46f8befcb840da2af80329eb8b0efa1a2911e5db3e531d1866341f78cb4c28b7a122a07e269263262ff372c27334c7988f536e1
DIST target-lexicon-0.13.2.crate 27923 BLAKE2B 0761f0ffdc23b9c9df86b384d59611c7b8b5e29ff068f03367ad2fe84cfb6d11e1af149b9338236978e9566fedc51387db9f239d2a602db41045ac3db907faec SHA512 d25e3cc3d679cb6b6f24c03e0c24db9d6ca31b8ed42ac9531bd7637557fbba225a6c8ac4f68a8eaf3569195814d599e668a968afbc73b940a77cbc27552cc90a
DIST target-lexicon-0.13.3.crate 28498 BLAKE2B 397315667737abde41949081f8377f704c3a1105790162249a9f0c08b60f012e67d66550e9063d900ac98f5191d13c5ed23d1a8045f99373e7a673a3cfc029e7 SHA512 23422df6edb2a8cb0a9f048864faf76ccb27d6e97fbed7b208b77206941b196f155896a0381150e387142e976439a0a296dcf4cbb4df6bc0e11c65f97f979443
DIST unicode-ident-1.0.18.crate 47743 BLAKE2B 517ab42a847020515b2b871844d0571ea672340f89a762631a791eac18935ac122122fa5566e58b99ab47de179eadb5298e8ff1d05b123c4e93b7fa989c8e31f SHA512 d11f89fb696f9e2953c96a40b5478832651b268c83b9c7a700b07e768e795d6e8dc346597d1226df21219d36866768d1f640bd8edb68db8bd3d5d437b2bfd324
DIST unicode-ident-1.0.19.crate 47480 BLAKE2B d1b9d26833fcd1f3a8498abe2f4ba4202e4547315e48aa927c0f6e4a760c6c7000ff0c18d0cf45af362323c42843d745958c1b0419835f39e13dbc1559487026 SHA512 b17fcf6bffdb4745e0b1bf4983a0dcc4c84f8b4e2c2c618eefbbeae83f94ec75df87b55f9e2dede8c3b4c6e22107fcfc589475c0cbc2c58dfb8630db8d362183
+DIST unicode-ident-1.0.22.crate 47919 BLAKE2B 766f52249631092af952df717e09e1eb0d2a8e87c45e65113f0b2b88b42e8b406a87241fadd368ceb9e13339362b48cdbbc6f699f95f448ab45dbbd861615d62 SHA512 81666679aaa2eebfe1429827fa2a88ee0b52bd69723067132c24252070133b3731287bcd880ba16d16274f038c7b27bcf637e9150b6cd955fb4ff49642078125
DIST unindent-0.2.4.crate 7422 BLAKE2B 2e7870cd4f78240dbb1e5fb9c0f9b55c57bb40242fe668f105a0e862f1d6300e31efbffe0cdff676a5f96a8d19dfb148f88bfef1cd8a710556d777fd0f4ee37f SHA512 58bd4fd20a0b0a7200e0ea3ea70553cea135a5a8f7a2fb178520c41228f435becce4b9981019b7c73a17df87a2ee9b2a47c4cec29a3011bfe848d48b2473761b
diff --git a/dev-python/dulwich/dulwich-0.24.10.ebuild b/dev-python/dulwich/dulwich-0.24.10.ebuild
new file mode 100644
index 000000000000..177d41319515
--- /dev/null
+++ b/dev-python/dulwich/dulwich-0.24.10.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/jelmer/dulwich
+PYTHON_COMPAT=( python3_{10..14} )
+
+CRATES="
+ autocfg@1.5.0
+ heck@0.5.0
+ indoc@2.0.7
+ libc@0.2.177
+ memchr@2.7.6
+ memoffset@0.9.1
+ once_cell@1.21.3
+ portable-atomic@1.11.1
+ proc-macro2@1.0.103
+ pyo3-build-config@0.27.1
+ pyo3-ffi@0.27.1
+ pyo3-macros-backend@0.27.1
+ pyo3-macros@0.27.1
+ pyo3@0.27.1
+ quote@1.0.42
+ rustversion@1.0.22
+ similar@2.7.0
+ syn@2.0.110
+ target-lexicon@0.13.3
+ unicode-ident@1.0.22
+ unindent@0.2.4
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
+HOMEPAGE="
+ https://github.com/jelmer/dulwich/
+ https://pypi.org/project/dulwich/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="GPL-2+ Apache-2.0"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
+LICENSE+=" )"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="doc examples +native-extensions test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/urllib3-2.2.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.11)
+"
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${RDEPEND}
+ dev-python/fastimport[${PYTHON_USEDEP}]
+ dev-python/gpgmepy[${PYTHON_USEDEP}]
+ dev-python/merge3[${PYTHON_USEDEP}]
+ dev-python/paramiko[${PYTHON_USEDEP},server(+)]
+ )
+"
+
+distutils_enable_sphinx docs
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/dulwich/_.*.so"
+
+pkg_setup() {
+ # avoid rust_pkg_setup which will die when there's no Rust found
+ if use native-extensions ; then
+ rust_pkg_setup # implicitly inherited through cargo
+ fi
+}
+
+src_unpack() {
+ pypi_src_unpack
+ cargo_src_unpack
+}
+
+python_compile() {
+ # make extension build errors fatal
+ local -x CIBUILDWHEEL=1
+ unset PURE
+ if ! use native-extensions; then
+ local -x PURE=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # remove interference from the tests that do stuff like user.name
+ unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE
+ unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE
+ unset EMAIL
+ # Do not use make check which rebuilds the extension and uses -Werror,
+ # causing unexpected failures.
+ "${EPYTHON}" -m unittest -v tests.test_suite ||
+ die "tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/griffe-inherited-docstrings/Manifest b/dev-python/griffe-inherited-docstrings/Manifest
new file mode 100644
index 000000000000..4cfdf8cf90ac
--- /dev/null
+++ b/dev-python/griffe-inherited-docstrings/Manifest
@@ -0,0 +1 @@
+DIST griffe_inherited_docstrings-1.1.2.tar.gz 27541 BLAKE2B 02aefb1a8c00a6ba6d3ed4ccbd9c065bbc5cf229a93ea2b34b0534dee6c1e3b8dab6ee0984e2d74f91b78ef1cc55adf01d884e022052feb55013681d0c57a5bd SHA512 001ece4cda21fb7f13bf00aa50f4f308f2abd9192f722cf6d27eabd2937423caa8dde3cdb9e2de9eef9cd7e6f01e96e80b056c9235a9e58ba6b78ef74f4ef8e8
diff --git a/dev-python/griffe-inherited-docstrings/griffe-inherited-docstrings-1.1.2.ebuild b/dev-python/griffe-inherited-docstrings/griffe-inherited-docstrings-1.1.2.ebuild
new file mode 100644
index 000000000000..4f7eba1688ed
--- /dev/null
+++ b/dev-python/griffe-inherited-docstrings/griffe-inherited-docstrings-1.1.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Griffe extension for inheriting docstrings"
+HOMEPAGE="
+ https://github.com/mkdocstrings/griffe-inherited-docstrings/
+ https://pypi.org/project/griffe-inherited-docstrings/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/griffe-1.14[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/griffe-inherited-docstrings/metadata.xml b/dev-python/griffe-inherited-docstrings/metadata.xml
new file mode 100644
index 000000000000..a0d4c5913ba0
--- /dev/null
+++ b/dev-python/griffe-inherited-docstrings/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest
index b13642df768f..9d0d68d699ee 100644
--- a/dev-python/griffe/Manifest
+++ b/dev-python/griffe/Manifest
@@ -1,2 +1,2 @@
-DIST griffe-1.13.0.gh.tar.gz 415295 BLAKE2B 7aa996ec7edf516cb402f1d3b2619bccd056876a65d325ca636870e657c82ca5a415b42b797f382f135289fc75e83a0efb9c1543bdc01e3333c9256e5b2dc4c5 SHA512 e0636eb3103ba40e09e244db30e56197dd954e097d86a6d09c61287242b25e896e16bcc6b4f63309717c51e30f2ae4fd1c4919e9d3341bb5e3160f7ae2f90303
DIST griffe-1.14.0.gh.tar.gz 427024 BLAKE2B c28f692830e2ecaa64c6dcb94e9d4f72a68612894f7cde903a8952b6979e361dc21f7f95b92fafe7d918a252681c7ebfa53b29ce0620df2a24a6a8aa87a29669 SHA512 e293bbe788de84365add1674faf03ad9815241802ec358b218d1b14fb613b735d42e05531404bacf21aa14bd43e10e548933c7b13af188c3e88af488781a3f19
+DIST griffe-1.15.0.gh.tar.gz 427423 BLAKE2B a8df8deab830589a46963cae03fa24ee64c5c06050b1dde3e5f0c7d8dd34764e6bccad5974f3c97fe45b67fd74aacc21afc9fdaba6aedc55f4319ce125379189 SHA512 9dc9d57dd88de7a5649639d3ce7b2bc37c5401ce82c7f6a769329ec51d97b9e97c9b2c9c3c0a399adeda66439b9842b26e8a4cbf44096a540af5e924484cce65
diff --git a/dev-python/griffe/griffe-1.13.0.ebuild b/dev-python/griffe/griffe-1.15.0.ebuild
index fe3df6fd68d6..4d0f4e3027b1 100644
--- a/dev-python/griffe/griffe-1.13.0.ebuild
+++ b/dev-python/griffe/griffe-1.15.0.ebuild
@@ -22,19 +22,20 @@ SRC_URI="
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
+KEYWORDS="~amd64 ~arm64"
RDEPEND="
>=dev-python/colorama-0.4[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
+ >=dev-python/griffe-inherited-docstrings-1.1.2[${PYTHON_USEDEP}]
>=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
>=dev-python/mkdocstrings-0.28.0[${PYTHON_USEDEP}]
)
"
-EPYTEST_PLUGINS=()
+EPYTEST_PLUGINS=( pytest-gitconfig )
distutils_enable_tests pytest
EPYTEST_DESELECT=(
diff --git a/dev-python/hcloud/Manifest b/dev-python/hcloud/Manifest
index 691374530b8b..814bd05f4e88 100644
--- a/dev-python/hcloud/Manifest
+++ b/dev-python/hcloud/Manifest
@@ -1,4 +1,5 @@
DIST hcloud-python-2.10.0.gh.tar.gz 135210 BLAKE2B e5dbd2481ee41e122fa93d6562d02f75887ff30756d47a0414bc09eb168cf8a39ebc251fcd522608357e870140d4d80364e2470d85abf883ce588d9c25c68c8c SHA512 3733e750df238134a5fc9e7328ad487f3c027f4823c0915dc9e05bb85dbd7997b36445a9ad58b686eb298f65a659f09ec4e06d7355b5878ea53ebfa5c6f9dda9
+DIST hcloud-python-2.11.0.gh.tar.gz 135030 BLAKE2B a4683a0579b86c64aa228998e00da2682586a88368c60b6de008623a0229da7f2690b46230f7f20cc79e420657cc17bec8b870971fcb501901d4c683a656af7f SHA512 12a2dcea61f587909494b65766b2e9f0f20a6140b8b91122faefa7b8fd35139cd7460f179fe4bea3989ae3d0e4512f152b415d1d1495dafdce335d3ea81a781d
DIST hcloud-python-2.7.0.gh.tar.gz 123649 BLAKE2B b15811993189521ae6b33bf46936316e562e6fd402cd5839d60f9c6b48ba46526781d5a13e113cd24a61ba586420f9d8a797084c66d9256faf5e1bd4aacacb72 SHA512 6f33ee7cc2f3473f76ffdeb28a485bc42c9cbde4bce9262d732238b56d846a21c87479f4cea01bc70b7ac950898446cfe57be533cc6d478debdee01175aa299c
DIST hcloud-python-2.8.0.gh.tar.gz 133402 BLAKE2B a257b32d316935783ba71e46aecb233305b1a53dca994b44663f6ebcd144bfb317a26a4fa31387221595894c53e79f6f3dda6e27c59ea0e82bc68911176c275e SHA512 41eaf73a0c28c542378acee8991f39b676888f9c3b86276880c9b778daa6fb05ceb15959e0d1e758e907de8a5a9e93c993da575582c4506b0f7abeeb2c5897d1
DIST hcloud-python-2.9.0.gh.tar.gz 133722 BLAKE2B 7a8a9934779981a456b90774f5daa9a26a6cc0e8e6efb2eb98f3c4e518d15f358c0c2384c4234fff08fc2b0dfd6a2257f282f4eca014a5391264257902ce9580 SHA512 f416993b49ac7bf082a6bcd5635595e60cb79643b9b5baab0a5b2e12d10ea7ecfbd95272a690747e86b7510120bf2cdb7decb51072a847f013cd9bdec8001c2b
diff --git a/dev-python/hcloud/hcloud-2.11.0.ebuild b/dev-python/hcloud/hcloud-2.11.0.ebuild
new file mode 100644
index 000000000000..d477ef6d2702
--- /dev/null
+++ b/dev-python/hcloud/hcloud-2.11.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+MY_P=hcloud-python-${PV}
+DESCRIPTION="Official Hetzner Cloud python library"
+HOMEPAGE="
+ https://github.com/hetznercloud/hcloud-python/
+ https://pypi.org/project/hcloud/
+"
+# sdist is missing doc assets as of 1.19.0
+# https://github.com/hetznercloud/hcloud-python/pull/183
+SRC_URI="
+ https://github.com/hetznercloud/hcloud-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.7.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/sphinx-rtd-theme
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Integration tests need docker:
+ # https://github.com/hetznercloud/hcloud-python/blob/master/.travis.yml#L16
+ tests/integration
+)
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hcloud/hcloud-2.8.0.ebuild b/dev-python/hcloud/hcloud-2.8.0.ebuild
index d477ef6d2702..a8951e3c4d2a 100644
--- a/dev-python/hcloud/hcloud-2.8.0.ebuild
+++ b/dev-python/hcloud/hcloud-2.8.0.ebuild
@@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="examples"
RDEPEND="
diff --git a/dev-python/markdown-exec/Manifest b/dev-python/markdown-exec/Manifest
index 1d861757a732..d54261809316 100644
--- a/dev-python/markdown-exec/Manifest
+++ b/dev-python/markdown-exec/Manifest
@@ -1,3 +1,2 @@
-DIST markdown_exec-1.10.3.tar.gz 81050 BLAKE2B 4a9dd766e3b437d06900c3760bddd831a3d7ef1d9fff33eea7fe30c541b8a31b313f8af40edd062ccdf1fb6414f3488b35fc38aed6fdd292bf3105b45c84b33d SHA512 bedf1c37f53a33aac2ee9ef51dcdba4fccc0cf2b4f60b75cd3e25687b9f5cc52a8b2247c5b9cc3d31f56b4a0d90c3333c17566ece5d35aaee3515c295cd0164c
-DIST markdown_exec-1.10.4.tar.gz 81203 BLAKE2B 68a8ba37bcc0172c9747b3858cc6476885e05af0c407bb7f388f3f6820f965f69096a243cb637102f67f317f128c57db25ff07bf48850822ec664becc1323a55 SHA512 99af2ca280645a31c200b6c1f1c346a4e90687fced45919aed36bb114262b566e5d05403066ddfc27603573bd4a8ebf9cb8bb7606e4d0100083bc18baa72428a
DIST markdown_exec-1.11.0.tar.gz 81826 BLAKE2B 1279978dcf473ea4a66331271b2e8bb383d4caf7b834e2124f5dba276ebeefb0e72c57b2984d8d3be7a893b295211e0a5b6ee40f84de343419bdc36e3d10002f SHA512 547ac37a64031ff703d5d6d4c6949e8a8ab782391f33e0248fac2098032480309b677757d5f0c75130e73ead35d9dabc29332ed55fd388ace46b4efc0ef568bd
+DIST markdown_exec-1.12.0.tar.gz 74170 BLAKE2B 2aa5e1959a202e5516a4b19545818d98e2c4d7f59757d3d10a2669447ea650eda583e48e6776b52ac0393295001dd545429a826c925082158e4c0d5d3040e8b4 SHA512 737a4dd2eebcf84d31f97974d4c3f083f32ee0951de639cd8587f47fcc46943d79d5d6460072adacdd53104d4514665389d59b9234f64f91bc08d4afe3053e29
diff --git a/dev-python/markdown-exec/markdown-exec-1.10.3.ebuild b/dev-python/markdown-exec/markdown-exec-1.10.3.ebuild
deleted file mode 100644
index 22117b08f6e6..000000000000
--- a/dev-python/markdown-exec/markdown-exec-1.10.3.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..14} )
-
-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/markdown-exec/markdown-exec-1.10.4.ebuild b/dev-python/markdown-exec/markdown-exec-1.12.0.ebuild
index ec06a5ac2fae..ec06a5ac2fae 100644
--- a/dev-python/markdown-exec/markdown-exec-1.10.4.ebuild
+++ b/dev-python/markdown-exec/markdown-exec-1.12.0.ebuild
diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest
index 1f0c59b91993..7bbc9bfcf209 100644
--- a/dev-python/mkdocs-material/Manifest
+++ b/dev-python/mkdocs-material/Manifest
@@ -1,3 +1,4 @@
DIST mkdocs-material-9.6.21.gh.tar.gz 14941581 BLAKE2B cfb1182279ec2a5ac7fbb6970b9f6724893f17b529d2857d0cf8dfa4d0527c3527a49235cb29a636dc5110ca57279206904f94c36012d14156f4b055f0a6857c SHA512 5cc2f0da266627b901788ecccd759bff535bfed83086fcfe73da92dbc0789c1c77286ae37fcfb07385bc7fdebbd1770e709cf1ee2746e11f36325add14fa97ed
DIST mkdocs-material-9.6.22.gh.tar.gz 14941613 BLAKE2B bc7a76f70d3813dc3a7881703335fa94ff19ca24aca1a69e6b5800aefc6f62d26b4c912f652dfdf045ec11e9623a743c5a2058118d987a9fdf693b337428be09 SHA512 e516fb0400edbc1f59befb43d81245baa97d6e95b3538e19e53845816dc4b13833907df910a10dbab93fcf8df600bccd4fff099cc01f762767882d8d5655ae47
DIST mkdocs-material-9.6.23.gh.tar.gz 14945692 BLAKE2B 33202d793d582ad5da323dc17d38dfc57a125c84e3245a6fb94f59c866c1a89d9d848d651e89c5d057631a0888afaa444076264ceda294fcbd0a52f5390116e7 SHA512 88f73cf6b73a5b6ddf200bd4aeacea0984f7a5ec396c805301168def0f69366cb1b108b4e11f73394f900ef162663d66e1e31b376f1bdc913507ef1100109dfc
+DIST mkdocs-material-9.7.0.gh.tar.gz 18480250 BLAKE2B 000cbd16865b0b5fd02d0c9cc4ac9cd49786ed2884aeb40e0f5971a2ddd99d2dd4dbc10acc1630c6b0bc0dfd8843a8497d667386879f061f9ed73934eef44adb SHA512 63a405020d8ca9a27d738bdc9429a74c543943aae62ff25366d071233e13d2b76d3620a0a0a05e719a2e330128c60361662ad9a017aa114b0e72d6d76f236292
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.7.0.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.7.0.ebuild
new file mode 100644
index 000000000000..13045bd1c123
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.7.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/mkdocs-material-extensions
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs-redirects
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="A Material Design theme for MkDocs"
+HOMEPAGE="
+ https://github.com/squidfunk/mkdocs-material/
+ https://pypi.org/project/mkdocs-material/
+"
+SRC_URI="
+ https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+# bundled icons
+LICENSE+=" Apache-2.0 CC0-1.0 CC-BY-4.0 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="social"
+
+RDEPEND="
+ >=dev-python/babel-2.10.3[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}]
+ >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.16[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}]
+ >=dev-python/readtime-2.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}]
+ ' 'python*')
+ >=dev-python/requests-2.26[${PYTHON_USEDEP}]
+ social? (
+ >=dev-python/pillow-10.2[${PYTHON_USEDEP}]
+ >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}]
+"
+# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
+PDEPEND="
+ >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ # simplify pyproject to remove extra deps for metadata
+ "${FILESDIR}/${PN}-8.5.7-simplify-build.patch"
+ # import backrefs only when used (i.e. never)
+ "${FILESDIR}/${PN}-9.6.7-backrefs.patch"
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+ echo "__version__ = '${PV}'" > gentoo_version.py || die
+}
diff --git a/dev-python/mkdocstrings-python/Manifest b/dev-python/mkdocstrings-python/Manifest
index e0041585fcbd..45ad150caa1e 100644
--- a/dev-python/mkdocstrings-python/Manifest
+++ b/dev-python/mkdocstrings-python/Manifest
@@ -1,3 +1,2 @@
-DIST mkdocstrings_python-1.17.0.tar.gz 200408 BLAKE2B 102bf167ab9084cda346e165dcd897a2e8494c6c562dfa343cedd48ad8c7f12990eb90916a88d25d5cf0c588e822ce940b2a56c8913084fb01312f45b2facc38 SHA512 469bf8928878badbacaac015e850a97fbab5d8793894634f18d76ad1db197add93ab1ac3cfdedf2bf9b2622f46cfcfc2155e660dd8b69744345388eb154c9b7f
-DIST mkdocstrings_python-1.18.0.tar.gz 207601 BLAKE2B 677b26e09d592c8a9e64037aca1a3afe9fba2406d7589cea9b40b763fa68590e3bf8b4b7172faa966fa37c62d8372eb762841c1747533a4c9f3b272d1d5bae2e SHA512 959d65f87c6e0553f83eaa73a1f325c900c50150732714305a55048c80e2098a5a254bafed198f6a7fc8a9a07461acd7cc3ee4a8349703341f4905eac7f0df76
DIST mkdocstrings_python-1.18.2.tar.gz 207972 BLAKE2B e21cdf71a70a3de873b1934e8a2a6631fe8ee36d5f7c31bf9ced40fff8518ec6940512703db765247d0391f6c0c84db82fd8b11a8ccce64134f6ef51cd76d21e SHA512 7e1e09fd4568c83960266034b9ccc0cbd7e7e2b722e448b3d922873b8c6581bc12fab79647bce4134d4065bae0d68d74e79b3c0b26e5782e6d1f09cd5e7a7d8a
+DIST mkdocstrings_python-1.19.0.tar.gz 204010 BLAKE2B 54498620c5b7c2cc3a9a9dac63c04174eda142aead21629db92dab6b8c8cf167c71f178b1296aa552ccf0890ba0dfdd33c26ca5158be0dead5bfead508ef841d SHA512 929af2f0ab358ed02ecde16694475e2ea075cd0b4bea930b417518bbc55e05f6a56356b0ef8d91a4db9abbf040d2be573050e4dd23041feba37b0e03eea662f9
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.17.0.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.17.0.ebuild
deleted file mode 100644
index fac50d9e8fec..000000000000
--- a/dev-python/mkdocstrings-python/mkdocstrings-python-1.17.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python handler for dev-python/mkdocstrings"
-HOMEPAGE="
- https://mkdocstrings.github.io/python/
- https://github.com/mkdocstrings/python/
- https://pypi.org/project/mkdocstrings-python/
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
-
-RDEPEND="
- >=dev-python/griffe-1.12.1[${PYTHON_USEDEP}]
- >=dev-python/mkdocstrings-0.30[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-autorefs-1.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/beautifulsoup4-4.12.3[${PYTHON_USEDEP}]
- dev-python/mkdocs-material[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( inline-snapshot )
-distutils_enable_tests pytest
-
-export PDM_BUILD_SCM_VERSION=${PV}
-
-EPYTEST_DESELECT=(
- # "None" meaning particular formatter not installed
- "tests/test_rendering.py::test_format_code[None-print('Hello')]"
- "tests/test_rendering.py::test_format_code[None-aaaaa(bbbbb, ccccc=1) + ddddd.eeeee[ffff] or {ggggg: hhhhh, iiiii: jjjjj}]"
-)
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.18.0.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.19.0.ebuild
index e4a6bbc3fa12..e1aa0186694c 100644
--- a/dev-python/mkdocstrings-python/mkdocstrings-python-1.18.0.ebuild
+++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.19.0.ebuild
@@ -32,6 +32,7 @@ BDEPEND="
"
EPYTEST_PLUGINS=( inline-snapshot )
+EPYTEST_XDIST=1
distutils_enable_tests pytest
export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/narwhals/Manifest b/dev-python/narwhals/Manifest
index dd1c620bdb74..444ea432a4ed 100644
--- a/dev-python/narwhals/Manifest
+++ b/dev-python/narwhals/Manifest
@@ -1,4 +1,4 @@
-DIST narwhals-2.10.1.tar.gz 584727 BLAKE2B acfa7fadbfd32288072a16a82dab9f5d48a09dbb709179505954f3326308a62af2c4e444e602119a2c0799dd525531cc5e59b4878c1fec7e7ed7674e8ff0036a SHA512 7658296ace9415179a3eda3e9aa26435ced6b8f839f6eb46ba765ec47ea58a8c05d061e046bd3be451baa24cdf7d192a1acdcfc6c3be28d5f101458124848447
-DIST narwhals-2.10.1.tar.gz.provenance 9673 BLAKE2B 389bf3a168972d34fc772d79081870733f04e0cec13ca481dc19b516a727eaa58aceac307cac1fccf5e98f7bcaf56561d442e1a3a5e652bc1797cedb5e78cce8 SHA512 b4cfd42e7b909d1fd8d8bd48c96271e7c151cea112027559c8a425bb852bd4904b8eba806377083e8c620e492eb4b522aa9c12e50cca2eaf12928ba96643a7ce
DIST narwhals-2.10.2.tar.gz 584954 BLAKE2B 9f8b96e44d3ceb4fa27d4bc36f4d0507f9f93d163180b25eebc4e96a4a4f10479b6f9ccac42368151331d9b5167c5694e7b3195336c4d4fe95efbc16628927e8 SHA512 818d57fe759b76374fc869056f0a4ffe6cc83bd19f2d0783428128f1ed958daf8e5a3c8cecfb365e318d5f41cc814d9388531273b77e946a76f6058f8a28850a
DIST narwhals-2.10.2.tar.gz.provenance 9485 BLAKE2B 9cc829eb823c8a27681c6d7a47bb894b99c3aaa6532c923fa4e6cd708fa019d2d61fec6889c19303d4e847485d188c051c20f4db14e53a86796bb917481f51aa SHA512 66b9c91aaf6e8a507c0e35bb076c7b4ba4d35c27773b9432557ade4650aa1d8cda4c621139138d8342d153d390ff87879cedd34f46c801c213f0b785af18fe9c
+DIST narwhals-2.11.0.tar.gz 589233 BLAKE2B 98b0c8bf2895092538edb3a570135bfcbe8932e790411357f46d5d5bec7629d041fd987b4ab30550dc6df56297653b02c51cfcefce08d323fab8e203ce427fed SHA512 0ac1844d409d898526da380e4c99353903f2017de3534e6f9d94e257c4bd369df29db0c4f79f7207c3c46577504d41ff5db73fa756d7241cfde2409b01a08d53
+DIST narwhals-2.11.0.tar.gz.provenance 9661 BLAKE2B ad5083eccef69217ca1410c2daf595f7437088c91749b644a4ea85763405a597a111c23dffe3b38db4c1b3051219fa72ba86c56b135b9a0f0b1ce266eb504fd2 SHA512 9ed4b208b811cdf2cbecf0dbf32a28ddd06227c8ed5856b5759b503ea0b12974c63c3118c52de55481b9d0aad74398ad9991a6fb1b9d4c10a769e80d8bdc471d
diff --git a/dev-python/narwhals/narwhals-2.10.1.ebuild b/dev-python/narwhals/narwhals-2.11.0.ebuild
index 449e85db9ce7..449e85db9ce7 100644
--- a/dev-python/narwhals/narwhals-2.10.1.ebuild
+++ b/dev-python/narwhals/narwhals-2.11.0.ebuild
diff --git a/dev-python/nh3/nh3-0.3.1.ebuild b/dev-python/nh3/nh3-0.3.1.ebuild
index d2fbe15bdbe1..898416d41cdd 100644
--- a/dev-python/nh3/nh3-0.3.1.ebuild
+++ b/dev-python/nh3/nh3-0.3.1.ebuild
@@ -123,7 +123,7 @@ LICENSE="MIT"
# Dependent crate licenses
LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-3.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/oslotest/Manifest b/dev-python/oslotest/Manifest
index 85a640464084..5f582c656bb7 100644
--- a/dev-python/oslotest/Manifest
+++ b/dev-python/oslotest/Manifest
@@ -1 +1,2 @@
DIST oslotest-5.0.1.tar.gz 37507 BLAKE2B 5674a209718db844c93447870890ad1cca60423e82f1db82b058a34ee90429cc9397ca1fbfbfa601a826db98fc3df522f36ec35fe4c1839cf66df667ea76e473 SHA512 08e11bc945a6e032a4262d566fa7903d0507b286c26257e63863558c32690be78d684942e90130fdabdfcfebca1ec0c3d491de310c7b05ac025cc9572cb5c7cc
+DIST oslotest-6.0.0.tar.gz 32997 BLAKE2B 5943f211d1a1d6c0f1b9700be935792c7f83a6db4dc7604afe1f4645939d2e113960c2fd258fe46e08e6f7f653f76bcbc5cb1b5c2e9a30524be7a8f81c50063f SHA512 4541f4fd4cb5ed4e903076fbcb58514709bbf3a9400964a8d54a5708ef8015b75023ef1442eb50980b78e0e794c6c4f95ae6cd75e8c8555fe897862f3d77fbdc
diff --git a/dev-python/oslotest/oslotest-6.0.0.ebuild b/dev-python/oslotest/oslotest-6.0.0.ebuild
new file mode 100644
index 000000000000..624c5148d453
--- /dev/null
+++ b/dev-python/oslotest/oslotest-6.0.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo test framework"
+HOMEPAGE="
+ https://opendev.org/openstack/oslotest/
+ https://github.com/openstack/oslotest/
+ https://pypi.org/project/oslotest/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ sed -i -e '/subunit/d' requirements.txt || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pdm-backend/Manifest b/dev-python/pdm-backend/Manifest
index 2f6c984a0b9f..fef814eda924 100644
--- a/dev-python/pdm-backend/Manifest
+++ b/dev-python/pdm-backend/Manifest
@@ -1 +1,2 @@
DIST pdm-backend-2.4.5.gh.tar.gz 158378 BLAKE2B 1ff5e5dcee276d7cd68a18f6d5679c1d794479c596b14fbf90d1edd5e28d5478802a4a9961967b0a2e5b0fed8f0851d6915e703a776995982bff3aaba95d236f SHA512 0c106eb9de8ef1bd94cb772d30a420551d0efaa2f96482882e5ab87a1b866988a0e979f93da3295f89de0f6446a506dcdc3781e8bb6e49962127a7d7ec87191c
+DIST pdm-backend-2.4.6.gh.tar.gz 162757 BLAKE2B 2e2de500fa61f059d350388c73b9585c582f1bf4b6a45a2215e97a8c130873d2ffad3113fdf0db7ea16eb49066e09539d7db7cf3a55be4098180837c51efa8d0 SHA512 132bfe38fe7a70e99f5d6dc92963068d057ed08b811324f379eb0e3feb7108cf52c930e5aa67ce8ae6ff21201f33a8b6c74dcd3afbd1d6e711569cb26ffc7248
diff --git a/dev-python/pdm-backend/pdm-backend-2.4.6.ebuild b/dev-python/pdm-backend/pdm-backend-2.4.6.ebuild
new file mode 100644
index 000000000000..21db74cbd533
--- /dev/null
+++ b/dev-python/pdm-backend/pdm-backend-2.4.6.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="A PEP 517 backend for PDM that supports PEP 621 metadata"
+HOMEPAGE="
+ https://pypi.org/project/pdm-backend/
+ https://github.com/pdm-project/pdm-backend/
+"
+SRC_URI="
+ https://github.com/pdm-project/pdm-backend/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# see src/pdm/backend/_vendor/vendor.txt
+RDEPEND="
+ >=dev-python/editables-0.5[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.0[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-metadata-0.9.0_beta7[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+# setuptools are used to build C extensions
+RDEPEND+="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ rm -r src/pdm/backend/_vendor || die
+ find -name '*.py' -exec sed \
+ -e 's:from pdm\.backend\._vendor\.:from :' \
+ -e 's:from pdm\.backend\._vendor ::' \
+ -e 's:import pdm\.backend\._vendor\.:import :' \
+ -i {} + || die
+ distutils-r1_src_prepare
+}
+
+src_compile() {
+ # this must not be set during src_test()
+ local -x PDM_BUILD_SCM_VERSION=${PV}
+ distutils-r1_src_compile
+}
+
+src_test() {
+ git config --global user.email "test@example.com" || die
+ git config --global user.name "Test User" || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ epytest -k "not [hg"
+}
diff --git a/dev-python/phonenumbers/phonenumbers-9.0.16.ebuild b/dev-python/phonenumbers/phonenumbers-9.0.16.ebuild
index e2a1efa5ccaf..51df4f44bd31 100644
--- a/dev-python/phonenumbers/phonenumbers-9.0.16.ebuild
+++ b/dev-python/phonenumbers/phonenumbers-9.0.16.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}/python
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest
index 9b2d7453e7f0..8ae95597f914 100644
--- a/dev-python/pikepdf/Manifest
+++ b/dev-python/pikepdf/Manifest
@@ -1,7 +1,7 @@
-DIST pikepdf-10.0.0.tar.gz 4547153 BLAKE2B 1aec2fcb6ac6a68277f434e792484cf817b42bbb966bf0cbb7f9254e91cf2ff84da280e83fffd6d00dcb071f6473c5fb805c75a5cc3f7c5b9ef247c50237b70c SHA512 94460851b8557b828545799e0571d965ac8f1da761113bea2671b4bb60a9d296f710c8c936c1547826f2e647ba7c3cd3efad17f844363ab5ba2e36975e838210
DIST pikepdf-10.0.1.tar.gz 4548200 BLAKE2B 075dc8af0d93a39bcb3c380aeb3e89be1509c81353dc33d6a60a4c281c0c7e23b8846e2f37e0073ef10c7c60cd4389d1e33b4cfd5cc125187772e2c7bd26601b SHA512 9c0280549ace1c8355cedacd10920a8b6b34df2103a0a0626eeb8fd66310440693e398b8a37a83b401202bfd18b547e10a58ccd458d4af2008702d18c6d4aa97
DIST pikepdf-10.0.1.tar.gz.provenance 9359 BLAKE2B 5e4eb3549da7819e6eba7fa7674213b71e3ef9d429a1aa1c53ae2c7206b92163b36ed1d1dea7ff5a6c34f91f499e3259d44da8931f3dc6dcba4f30218f4c6b8b SHA512 8eeb663aac7ce9967d09cf4f589dd595e8d03da091197a507f18a20266c12d0a11d00d516ebb20b91a5ad2dbc27f8a4f4df735d5f87c1cade8707278faccae93
-DIST pikepdf-9.10.1.tar.gz 4545682 BLAKE2B 164647ec13bbba5685c5965a68ff8530f66b7c015dba7394f84b32963fae318aa9c9f1b99733b5c5052e3b90fe52c4470bd92e829a8cfb0e5d12588cc996df0c SHA512 bfe95eb94b2738769bf1af537d853d7c8396f5d1ff3c155f9958a4646eed35fa98118c50febd8002863feac5075645fa2eb6fcd5be3b726d5f185833d28c5cf3
+DIST pikepdf-10.0.2.tar.gz 4548116 BLAKE2B a9e354696bd86de5aac8b84b199e133115a5691f8b9de97c9b384db7f872b11d63b221a255ecaef7ef76ff5d169b55f0582a559e21f8c125c9c07e44951be16b SHA512 f2f269958222899bdec91a1145ea311cc42ee69bfae034db01b64fc038e2f9f886e795995a278c320f5768f06265b2e852e081087522fcd3a646f692afc5ccfc
+DIST pikepdf-10.0.2.tar.gz.provenance 9406 BLAKE2B 3c47807fe5198e5a0e29b2ee07ad2bc655effbc938d7f0f79da6e6c504f7c340bb03be75f73d7707759bd416205daecb6ead137438406413904c64ced9176aec SHA512 7af0d74baff7b50d5cbeda85f4fd63187a56349351be44781263ad780f8e2ce5bf35cf489f99c33f365f4b42b38f6b92926ebcad33fdbaf2e6f2b3f7d4dd6d5b
DIST pikepdf-9.10.2.tar.gz 4545737 BLAKE2B 3ac3c0c39a849b1d4c62f4435bef87cd8cb5b09c3e5cd9f1598cc0c1e1611fc0db0b80e7818c98505c021c61fdfc6ef2d9b6a901b6f4f730efe13a8c6fe37dd7 SHA512 3dc41d4f547cf68f6d05cefbef74f5e18b25a9f5900d2b5352aea50eda253a4c01ac4e1f69384a924d9ff5b042ed7c93ce7d5424e476dd3e8b8b52daeef15229
DIST pikepdf-9.11.0.tar.gz 4546289 BLAKE2B 267a8f834cf9da21a5d8f4b5e4734eaaaa9889f9ae919e6c9f030ffda3a36e951f3a8aedecc8168234264ffd5792ca1eefc2e1833ec8a6b540b0978a5638e8e4 SHA512 b92c1aa285935faccf8f1058aff25bf1ba906d8e6e4cca986f6fed59c2faf9cb9f1c5a3aeebd2899dac7fbe2489af627c76a751963657aa476c16eb1374b34ad
DIST pikepdf-9.5.2.tar.gz 2916549 BLAKE2B 821fe21cb2ef471ab7313e2dab371f0a5290659225647ca4059995af9112e4f5425e0a9e11f9691dc2da9786beeffb2abc33ec374bb97b3fe1f25bd6feba042a SHA512 ac7c33c7cd23e34eb1bd518aae7167285cca6cc710e37f05cac03512666777848a2ad3d17a72654832564a8521e69ea0d124c70c61aca0bed7123475bf03a359
diff --git a/dev-python/pikepdf/pikepdf-10.0.0.ebuild b/dev-python/pikepdf/pikepdf-10.0.0.ebuild
deleted file mode 100644
index ba5365de8e44..000000000000
--- a/dev-python/pikepdf/pikepdf-10.0.0.ebuild
+++ /dev/null
@@ -1,59 +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=setuptools
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="big-endian"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-3[${PYTHON_USEDEP}]
- >=dev-python/setuptools-77.0.3[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- !big-endian? (
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- )
- media-libs/tiff[zlib]
- )
-"
-
-EPYTEST_PLUGINS=( hypothesis pytest-timeout )
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- sed -e '/-n auto/d' -i pyproject.toml || die
-}
diff --git a/dev-python/pikepdf/pikepdf-9.10.1.ebuild b/dev-python/pikepdf/pikepdf-10.0.2.ebuild
index ba5365de8e44..04d220c67db3 100644
--- a/dev-python/pikepdf/pikepdf-9.10.1.ebuild
+++ b/dev-python/pikepdf/pikepdf-10.0.2.ebuild
@@ -5,6 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/pikepdf/pikepdf
PYTHON_COMPAT=( python3_{10..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pynacl/Manifest b/dev-python/pynacl/Manifest
index 45a11a46c0be..c90a0a48a1eb 100644
--- a/dev-python/pynacl/Manifest
+++ b/dev-python/pynacl/Manifest
@@ -1,2 +1,3 @@
DIST pynacl-1.5.0.gh.tar.gz 20350195 BLAKE2B 56ca4f47867cce6e22fdacb0558b5f901aae318b47bacfe5f4ad02d8923e1c86d0a2dd186ec29c820a786ab844d928479fca2d1472a8345b82be6bcbc67c3328 SHA512 905d3a7ce7f758b31a5d34471d5a0202fd2ba3d904a7ec59a158bcd1ea572fc87e29fc144c733d151cbaa48788c939808bc51d00acc973fe6d190eefdd3bfd59
DIST pynacl-1.6.0.gh.tar.gz 27611198 BLAKE2B 6b2ea8e96f39d758b3fb6d942a45909e5b6ed4f671c9ebb7aee4d089a0b0ae34b09c020518c69dfef2d9ec900455c83a4d01145f58b6e84a8613cd6f6fb852a1 SHA512 b068fb5877fd084d927471233c0678d04582f49cdcd1a298d38f39c2a775bbf83011a6279df894c6c92732dc947a467e4f628449f5f8419b254886c2b789e17e
+DIST pynacl-1.6.1.gh.tar.gz 27611191 BLAKE2B f9f9c4307ba7db1211b947f8a5283787dfe0169b46a5e35facc8ed5a4b5745ea48ceb0957c0d134fd8924802902db02ceb68960abfef5191b2ced4fe5da52c01 SHA512 77ea6ae114a6f4e980e59c291485e12fdc2a639803b7d6f521932bba041e1df12c9b394adead2240d99f3c726748446449068ce62896ee354f94949a1e0be34d
diff --git a/dev-python/pynacl/pynacl-1.5.0-r3.ebuild b/dev-python/pynacl/pynacl-1.6.1.ebuild
index 437a28a3d043..0587a2c6f167 100644
--- a/dev-python/pynacl/pynacl-1.5.0-r3.ebuild
+++ b/dev-python/pynacl/pynacl-1.6.1.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
DEPEND="
dev-libs/libsodium:=
@@ -36,11 +36,9 @@ BDEPEND="
$(python_gen_cond_dep '
>=dev-python/cffi-1.4.1[${PYTHON_USEDEP}]
' 'python*')
- test? (
- >=dev-python/hypothesis-3.27.0[${PYTHON_USEDEP}]
- )
"
+EPYTEST_PLUGINS=( hypothesis )
distutils_enable_tests pytest
src_compile() {
diff --git a/dev-python/pytest-asyncio/Manifest b/dev-python/pytest-asyncio/Manifest
index fea9a3d7f1bc..2379f64414ed 100644
--- a/dev-python/pytest-asyncio/Manifest
+++ b/dev-python/pytest-asyncio/Manifest
@@ -2,3 +2,5 @@ DIST pytest_asyncio-0.26.0.tar.gz 54156 BLAKE2B 763053772ff148a80773bb22457bd1a1
DIST pytest_asyncio-1.1.0.tar.gz 46652 BLAKE2B e0ce03326320b4e6ab4470d8b982eebd0c1628c94497d2a1a2a1a1ebed56d886de026163b56eef15c0037b2e3ee227077dbb798808bce64174b94b5710f064f6 SHA512 f2f8efcfe965edf3a9ff29dffe776f60240b229235391b09ff266d97568c01c6014d5b0a9fb9963af728f6e30e3eda8deb726b9ff2616f524f3228e4f66535e4
DIST pytest_asyncio-1.1.1.tar.gz 46590 BLAKE2B 9e629a879431ad92b8699651e99277526b187d9e24e876f0c53802c32530f056db3dc7b537e245e62c4eda5d6dde8ed23c1a6ab1a2dc2c2e60af7aed5349674b SHA512 7c242318b07593dc511baef46f1fe9469a8731a9ee79f88bfce1229370dc06c25c80ed1bf2902d018f40b5651687e4cbcf004c9187c7c97d955e8ab35e6bb481
DIST pytest_asyncio-1.2.0.tar.gz 50119 BLAKE2B e013b58c49f53f9785203ca8e6162899537c3c64ea4a8acd32c184ed8d5252145ed26e73b2032a216ab290b630a7555811e1504971224a0490b2ee56de417b22 SHA512 290850d18d915eb9230c3658817ff35555f78ef5901cde84a914d2231c7c036f3644e954790e53eb2cd3da26acffd0d124c17f51c054a6477fe19fcda77ef5e4
+DIST pytest_asyncio-1.3.0.tar.gz 50087 BLAKE2B 7a7c913cd31c9412947b63ab4fdf67998540831ef7d6914c96a4a97b271c92f81aeb9acad484de7aa98e36ec5b504a9a0a37a0684bf1cc2b99a22f683a3a9f11 SHA512 239fa63116622cdb22b0521f8af5b4f0c7f1c0e3975592a7711160ff636d2fbe3277d261df44dca5e11a666b50614732c5089c981d345b818de1abcad47dcf14
+DIST pytest_asyncio-1.3.0.tar.gz.provenance 9390 BLAKE2B 3d73af4756ba0860af2ddea485595d6b09fe60c67d21fd5e441bca5e8b66de3dfd21e804283dbfc722d23ad690245bee2f8f620e58a872bdec0641e3c4a1041c SHA512 0e31a7de06316ac6fdd2a9e05325ca3fcdc6bad4837384c3a9b9230720994c1d71ba405c3bb9497c6dbe8c26f05df46e7a5459faef4ef2cbe5898dfd8e2fe4fe
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-1.3.0.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-1.3.0.ebuild
new file mode 100644
index 000000000000..f33bb0791cfb
--- /dev/null
+++ b/dev-python/pytest-asyncio/pytest-asyncio-1.3.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2019-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/pytest-dev/pytest-asyncio
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Library for testing asyncio code with pytest"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-asyncio/
+ https://pypi.org/project/pytest-asyncio/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/pytest-8.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.12[${PYTHON_USEDEP}]
+ ' 3.{11..12})
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( hypothesis "${PN}" )
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fail due to mismatched warning count
+ tests/modes/test_strict_mode.py::test_strict_mode_ignores_unmarked_fixture
+ tests/test_event_loop_fixture.py::test_closing_event_loop_in_sync_fixture_teardown_raises_warning
+ tests/test_event_loop_fixture.py::test_event_loop_fixture_asyncgen_error
+ tests/test_event_loop_fixture.py::test_event_loop_fixture_handles_unclosed_async_gen
+ # docs often fail randomly over test ordering (xdist)
+ docs
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # remove pins
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+}
diff --git a/dev-python/pytest-gitconfig/Manifest b/dev-python/pytest-gitconfig/Manifest
new file mode 100644
index 000000000000..1d01224e1940
--- /dev/null
+++ b/dev-python/pytest-gitconfig/Manifest
@@ -0,0 +1,2 @@
+DIST pytest_gitconfig-0.8.0.tar.gz 9107 BLAKE2B 05182aa1a04a8132ab1cbf73401d69ca6527486f95839e497ae4880c6f72c669397399e2eca451e7a82fed4b52cee1a47f490b348d86bc9d26b27103ddc815eb SHA512 c0ff10a371793767175ba2fd81c2ee0ae996886c0abd71d94bc21c8e80be1676693d75f415e4e9a2de079ba138b51268fca6844ff5fc03ef29cef1e60787ed7a
+DIST pytest_gitconfig-0.8.0.tar.gz.provenance 9648 BLAKE2B 1cee9bf21ca4945a8d6d2728f7fc6db7b9606dfa249fe46f600c1864af039c2cd8103990d01c1c057a329b170987138e6fed0c1d536daddd950a6c3220aea9ba SHA512 4885f862ac801db41c4a7b4714e497b32d30a236981ea48f7b890105311aaaf55dcb0430e059a0c90818047bc97d9287711869a3fcbcfb53dbde609f94827c64
diff --git a/dev-python/pytest-gitconfig/metadata.xml b/dev-python/pytest-gitconfig/metadata.xml
new file mode 100644
index 000000000000..a0d4c5913ba0
--- /dev/null
+++ b/dev-python/pytest-gitconfig/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pytest-gitconfig/pytest-gitconfig-0.8.0.ebuild b/dev-python/pytest-gitconfig/pytest-gitconfig-0.8.0.ebuild
new file mode 100644
index 000000000000..07b2aafa88e5
--- /dev/null
+++ b/dev-python/pytest-gitconfig/pytest-gitconfig-0.8.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYPI_VERIFY_REPO=https://github.com/noirbizarre/pytest-gitconfig
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Provide a Git config sandbox for testing"
+HOMEPAGE="
+ https://github.com/noirbizarre/pytest-gitconfig/
+ https://pypi.org/project/pytest-gitconfig/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/pytest-7.1.2[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( "${PN}" )
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+distutils_enable_tests pytest
diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index f436d26b1512..634bf22d1e5a 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1,3 +1,4 @@
DIST pytest-8.4.1.tar.gz 1517714 BLAKE2B 1122694101de967a16f3103aa54e02baf28e03ad231f8e3cd93a559d1d9c9249046e95cfcf5708821a4b843b6474e4d30793a454e93e5167b1ff7ddc4514f71b SHA512 1ed64a70e6b49f52364f4d08ca179a47bcd0a709c327c1666f6e5f909c723ce1e2ba56abe08cf1348f75c1fa447da71c4faac8e3e76adb0c563cf66267c8633a
DIST pytest-8.4.2.tar.gz 1519618 BLAKE2B 0676b8a3510dc740d94e96eaa6312574ed0058baec13f161c4f1ab85872ac69ebabaa707032becb068fc128662d931b6b05f92dec9bdf6c268553b956bf43003 SHA512 a6732666e7b59b2c28b47b1020a8381d31073cf9113086c562295429fddfa6b4ef2afda3cdcce0ec60bf60d038ad2bf8e921a2a409f3d56e31d94ca39e5ea81b
DIST pytest-9.0.0.tar.gz 1562764 BLAKE2B cc762e4aad0e44b592a3b47c9db250332803f520d2f96b3325883a9e6ecdc0ce06d67e2795ab0a49379ca7f377199020e387a7c852adf65778a0bc4794913be9 SHA512 aea3b1187eb0792d32b706afc9b5042c047b786460d08c286fa2ff25ba76a073cdbaaaa1b068e2633059822fe735806ef61dcb6cfda9df033d5826018c3493bc
+DIST pytest-9.0.0.tar.gz.provenance 9487 BLAKE2B 2dc6163e4a198412d43339b73ad1697f5ef3d3587587bb5df583521dde11f254c00d6a8abaea853756a311a59bbd6e9cc819f9230bad662eaf23634540511095 SHA512 4bffebf7f900fdca6465eff5c760dea9e53342a823ccffea69bebbfc020e8f80f678f97e0b781b538a0622ff9377286ca58de49bc2854650c94e8f8f54d0280d
diff --git a/dev-python/pytest/files/pytest-9.0.0-skiptest.patch b/dev-python/pytest/files/pytest-9.0.0-skiptest.patch
new file mode 100644
index 000000000000..2b266d8042fa
--- /dev/null
+++ b/dev-python/pytest/files/pytest-9.0.0-skiptest.patch
@@ -0,0 +1,79 @@
+From 2ef26ee296c917d1699e283863921c134866d622 Mon Sep 17 00:00:00 2001
+From: Bruno Oliveira <bruno@pytest.org>
+Date: Mon, 10 Nov 2025 08:51:35 -0300
+Subject: [PATCH] Restore skipping tests via `raise unittest.SkipTest`
+
+Revert "Remove unused code related to `nose` (#13528)"
+
+This reverts commit a620d24376eb2c4bc964f2b6efcc694a4adbbe21 and modifies it adding tests and docs.
+
+Fixes #13895
+--- a/src/_pytest/unittest.py
++++ b/src/_pytest/unittest.py
+@@ -476,6 +476,14 @@ def pytest_runtest_makereport(item: Item, call: CallInfo[None]) -> None:
+ except AttributeError:
+ pass
+
++ # Convert unittest.SkipTest to pytest.skip.
++ # This covers explicit `raise unittest.SkipTest`.
++ unittest = sys.modules.get("unittest")
++ if unittest and call.excinfo and isinstance(call.excinfo.value, unittest.SkipTest):
++ excinfo = call.excinfo
++ call2 = CallInfo[None].from_call(lambda: skip(str(excinfo.value)), call.when)
++ call.excinfo = call2.excinfo
++
+
+ def _is_skipped(obj) -> bool:
+ """Return True if the given object has been marked with @unittest.skip."""
+--- a/testing/test_unittest.py
++++ b/testing/test_unittest.py
+@@ -1094,6 +1094,49 @@ def test_two(self):
+ result.assert_outcomes(passed=2)
+
+
++def test_skip_setup_class(pytester: Pytester) -> None:
++ """Skipping tests in a class by raising unittest.SkipTest in `setUpClass` (#13985)."""
++ pytester.makepyfile(
++ """
++ import unittest
++
++ class Test(unittest.TestCase):
++
++ @classmethod
++ def setUpClass(cls):
++ raise unittest.SkipTest('Skipping setupclass')
++
++ def test_foo(self):
++ assert False
++
++ def test_bar(self):
++ assert False
++ """
++ )
++ result = pytester.runpytest()
++ result.assert_outcomes(skipped=2)
++
++
++def test_unittest_skip_function(pytester: Pytester) -> None:
++ """
++ Ensure raising an explicit unittest.SkipTest skips standard pytest functions.
++
++ Support for this is debatable -- technically we only support unittest.SkipTest in TestCase subclasses,
++ but stating this support here in this test because users currently expect this to work,
++ so if we ever break it we at least know we are breaking this use case (#13985).
++ """
++ pytester.makepyfile(
++ """
++ import unittest
++
++ def test_foo():
++ raise unittest.SkipTest('Skipping test_foo')
++ """
++ )
++ result = pytester.runpytest()
++ result.assert_outcomes(skipped=1)
++
++
+ def test_testcase_handles_init_exceptions(pytester: Pytester) -> None:
+ """
+ Regression test to make sure exceptions in the __init__ method are bubbled up correctly.
diff --git a/dev-python/pytest/pytest-9.0.0.ebuild b/dev-python/pytest/pytest-9.0.0-r1.ebuild
index 8d66a2a2ace4..9fcc69ad0eea 100644
--- a/dev-python/pytest/pytest-9.0.0.ebuild
+++ b/dev-python/pytest/pytest-9.0.0-r1.ebuild
@@ -4,6 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/pytest-dev/pytest
PYTHON_TESTED=( python3_{11..14} pypy3_11 )
PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
@@ -45,6 +46,11 @@ BDEPEND="
)
"
+PATCHES=(
+ # https://github.com/pytest-dev/pytest/pull/13912
+ "${FILESDIR}/${P}-skiptest.patch"
+)
+
src_test() {
# workaround new readline defaults
echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
diff --git a/dev-python/python-socks/Manifest b/dev-python/python-socks/Manifest
index 1386ee3c2890..722e701b6a5a 100644
--- a/dev-python/python-socks/Manifest
+++ b/dev-python/python-socks/Manifest
@@ -1,2 +1,2 @@
-DIST python-socks-2.7.1.gh.tar.gz 32377 BLAKE2B c6d6422c54cd1ab7d53d85e073d62ed51b31daff8eda820c30083e517229ed5a230147c469e241a879fdef3ff50b4642ff769439c2e4ca92d8bb00737bd31e17 SHA512 93e42db6b08e8742897cf704b5d5b33f8873439f32118caa5e65bdca6b89be145814466fdb5ea559a8f1f517f228524597567ba9d2ad83df9f805d9fd3311f9b
DIST python-socks-2.7.2.gh.tar.gz 32394 BLAKE2B 47302bc64cd3d767b8050f5c324450c73c6d002827c1038461a7a226d656f18e2adb69d8b9b3baf3cdd11869309a1a3d6340f9df8175ca9f0f2010dbdd1bb5f2 SHA512 69089f6f5ab1bb8010ef5e9b4c8513fd5e24f353f78186d186616474fb2eae81b689b7e21b049dfb2d885be143f45591103f7c4054d9723f4bc74bfbfeb77b1f
+DIST python-socks-2.7.3.gh.tar.gz 32414 BLAKE2B 85feef349d778c28a1a517dad3ee87707102df7319dfd4853e7f72d3d939321bf3327d8cb2fa569e5f856bd1c139b6acdbc6098d347c7cb92430f7c958638769 SHA512 8a2b9a58a252ef6e650664c8bd95fd69d33668628dd7915bbccbfba96e65fd09d68e2fe251e20cef2367fbd802a36de5b1352cf3eaf4e8b6c1ea18142d421c74
diff --git a/dev-python/python-socks/python-socks-2.7.1.ebuild b/dev-python/python-socks/python-socks-2.7.3.ebuild
index 1b22cc9d6870..691ed68304cf 100644
--- a/dev-python/python-socks/python-socks-2.7.1.ebuild
+++ b/dev-python/python-socks/python-socks-2.7.3.ebuild
@@ -20,23 +20,15 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
# curio is not packaged
# asyncio is the only backend we have, so dep on its deps unconditionally
# TODO: revisit
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/async-timeout-4.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
BDEPEND="
test? (
- >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}]
>=dev-python/async-timeout-3.0.1[${PYTHON_USEDEP}]
>=dev-python/flask-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.18.3[${PYTHON_USEDEP}]
- >=dev-python/pytest-trio-0.7.0[${PYTHON_USEDEP}]
>=dev-python/tiny-proxy-0.1.1[${PYTHON_USEDEP}]
>=dev-python/trio-0.24[${PYTHON_USEDEP}]
>=dev-python/trustme-0.9.0[${PYTHON_USEDEP}]
@@ -45,4 +37,5 @@ BDEPEND="
"
# Test markers exist to exclude trio etc if needed
+EPYTEST_PLUGINS=( anyio pytest-{asyncio,trio} )
distutils_enable_tests pytest
diff --git a/dev-python/python-subunit/Manifest b/dev-python/python-subunit/Manifest
index fc68f55c9485..736f0d9669f6 100644
--- a/dev-python/python-subunit/Manifest
+++ b/dev-python/python-subunit/Manifest
@@ -1 +1,2 @@
DIST subunit-1.4.4.gh.tar.gz 105357 BLAKE2B 5937c62357d9cb70e25242aa7678d89f79fed3d8d28fb5306bc21e28d643665e563078a84a9dd64b9192809e542d69218154227c8e5d281c861085d3175c73c4 SHA512 a666e45951afab70ea85cf9614d5e60c8884c0e2d7987e690bf7acedec5c544c412407b02134a125b4dca8772c0b1ce17fdbd9546d97ef06592119ec49b2a21f
+DIST subunit-1.4.5.gh.tar.gz 105136 BLAKE2B 59ed96bbc07e0cb571aa18720012d43e260a442e7d650eadc756510c7bfbeeff756371345801c8939a2a63740f11f86d0cb1f6c3b6045142fe63e547566e9d37 SHA512 2726b175d8386302ac3f736a69363dec039b4163d423aa4a3a5480b115aa518cc3bf5efee8c0176cf7d1cd2453f8e6531253709c9e7eda7fc0f48b3d3a6c7106
diff --git a/dev-python/python-subunit/python-subunit-1.4.5.ebuild b/dev-python/python-subunit/python-subunit-1.4.5.ebuild
new file mode 100644
index 000000000000..519a0288432d
--- /dev/null
+++ b/dev-python/python-subunit/python-subunit-1.4.5.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 multilib-minimal autotools
+
+MY_P=subunit-${PV}
+DESCRIPTION="A streaming protocol for test results"
+HOMEPAGE="
+ https://launchpad.net/subunit/
+ https://pypi.org/project/python-subunit/
+"
+SRC_URI="
+ https://github.com/testing-cabal/subunit/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0 BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+"
+DEPEND="
+ ${RDEPEND}
+ >=dev-libs/check-0.9.11[${MULTILIB_USEDEP}]
+ >=dev-util/cppunit-1.13.2[${MULTILIB_USEDEP}]
+ >=virtual/pkgconfig-0-r1
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/subunit-1.4.0-werror.patch"
+)
+
+src_prepare() {
+ mv all_tests.py python/ || die
+
+ distutils-r1_src_prepare
+ eautoreconf
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_compile() {
+ default
+ multilib_is_native_abi && distutils-r1_src_compile
+}
+
+python_test() {
+ cd python || die
+ "${EPYTHON}" -m testtools.run -v all_tests.test_suite ||
+ die "Testing failed with ${EPYTHON}"
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && distutils-r1_src_test
+}
+
+multilib_src_install() {
+ local targets=(
+ install-include_subunitHEADERS
+ install-pcdataDATA
+ install-libLTLIBRARIES
+ )
+ emake DESTDIR="${D}" "${targets[@]}"
+
+ multilib_is_native_abi && distutils-r1_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-python/pyzotero/Manifest b/dev-python/pyzotero/Manifest
index 68cdb271dc94..f417edc87f41 100644
--- a/dev-python/pyzotero/Manifest
+++ b/dev-python/pyzotero/Manifest
@@ -1,8 +1,4 @@
-DIST pyzotero-1.6.16.tar.gz 526904 BLAKE2B f5b385e3d22ec4a2bf9e35ea9578c60f2947fbff6edfe489e1ebbfbabf9f63d2088725be092e71a2eb4aa7c473e6008092121cf276182cb3cf7b043b6963eaed SHA512 e3ee2556f0411ad0c4f49f21630ba539cbe10fbb9deb849789a15c93a43327d5743312be8e71396e9354ee07a3edf64086680d566f45b9100a5f914effc4e5e3
-DIST pyzotero-1.6.16.tar.gz.provenance 9231 BLAKE2B 7e877621d092b4b8e07a5a9eac4c9d5143d0172eeb199fba11e3f34e92f145c01ea2a66ac2e2190b231004337b51ec25d0be9f685f98615db111a1a5edd60bf5 SHA512 debdfadded065a7abdac9ff43d0417d03518f876355515881dcbd1b7901c6b68240695d408c20a9b3b8f105f800a1a2066e83192b1b91ef081fc91b1121a84da
-DIST pyzotero-1.6.17.tar.gz 527253 BLAKE2B 502c6e9a850b026bdb965b19e788068652242b476a8952d8922272dd7104a232f8f52f97d3e2b480cfc58a2c1bb9fb77e2913474c6faf16e295fa6cf99be6959 SHA512 c972b69e3e30f4e21eed6c5d4f0697ba913dc5543480264441250572a3ea9295a79c4b565555861bd6aa2fcf324a1bb24ca9849ec0f0f5edb7b6d2a82c701c4e
-DIST pyzotero-1.6.17.tar.gz.provenance 9407 BLAKE2B 903dad16065eed019964b12e5220e1bd0ef9a0b1d00c4b2fb665ce47927d3b009ad71dcc8b9a374344a11d8e7e152277be44dd392d6a188eb8d3cda0b0606859 SHA512 4ee4325326dc69a8365d153fd377f7bbf75d849794dfddd43a30ee7c2bcaf68b0c0139d91ea2a2de4b7c847f4effe9230c83fab477badc03f26a1efcb9bb94f2
-DIST pyzotero-1.7.2.tar.gz 531570 BLAKE2B e615de0b8f34505353db19011d5b59e8ad38664abc01155272cd04bc166348cc6e7434efa74ba550582199b2879338da6073f83ac6f45f488be2bb86ab5c30c7 SHA512 4c42989276181b04f1593c1b1a2b4a11f38648a4e56d04b474dc6a9a908914693774dac1c17be5946e0afe63389cbf3073c82382fea3cc386506445e192da327
-DIST pyzotero-1.7.2.tar.gz.provenance 9395 BLAKE2B 6083881003437a1c7041aaac28f5678bfdaa317af8406fb9dcb899351ff7475a69e894a7d7d56d3e5c694f99525085e665f665e74be86a0188a0c5f482970482 SHA512 598a12a4928be2bbfe022c5f5a12ba20d706ca3e5341b01e6154174ba57afda3e7c0d678ebd88fc73ee659a949e6d0f8627f69489c0b93aee76c7129656c92ee
DIST pyzotero-1.7.3.tar.gz 532004 BLAKE2B e516a4052c5553710cf7b215f41d010a7c5f4d39dd7dd384206861bd75fcc48bee6c3ac3a3bba3c7e3b22f9335ec5aae9128796591faaadce44bb7afc35f1423 SHA512 cc20277fedc9426c939bdf3193f26cf4ba591be559381894b67492d7d43ca9fa6f4cd7493d67f405d5d23253e3a02f1b6d4f345169deae15f49498637db5ccab
DIST pyzotero-1.7.3.tar.gz.provenance 9152 BLAKE2B de20fce045bcef374fb9d921dfa9f5309a70fe3df2e32bc5a6cdfc106708fe2f6cfd030e4eee13f7b94a2ccb0b03146a566cb3fe7d2032dc10ae393b5080db62 SHA512 9e15c7cf299f2c13564353a0dc5bf45f6cb4b6db945cf060ea4fe7506e3e3f383d31c03adfaf7bc964a1d758d2e19e7e4136a05b06747c959bb5d28f743528d5
+DIST pyzotero-1.7.5.tar.gz 532915 BLAKE2B a7ead5ed0764885535ab73aed707b577ce23c17571c3dcba6e54321ce919bde05cd6eb45b901e4947762a9a04aa376749c416af0c29caf9fce66f958e54f9912 SHA512 5317bd314333c9d3fadcd7c604f1372060547f045e770b9706af5b16e34944ec01f5325188c822b248a75179d591a81004e8a7f78ba5247a005e892d66082f0a
+DIST pyzotero-1.7.5.tar.gz.provenance 9019 BLAKE2B fedb0d6fdc6b3600d2110a85e9fe27156c42e04e4fa6e714cd64252ec9fd5f3beec812c7f85f548b738e08cc52f3a6ecd3c9fd9179c8f9dd1565edf2d953cfb1 SHA512 7770b38118f98aec8a938a824cc0f949b6019e20100f9f3936830992e363791d8599f8efa23e98ad493b7a735f80ba1e53afc56d7c17b1a9014a47a50b577533
diff --git a/dev-python/pyzotero/pyzotero-1.6.17.ebuild b/dev-python/pyzotero/pyzotero-1.6.17.ebuild
deleted file mode 100644
index 375eb6a672e6..000000000000
--- a/dev-python/pyzotero/pyzotero-1.6.17.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=uv-build
-PYPI_VERIFY_REPO=https://github.com/urschrei/pyzotero
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python client for the Zotero API"
-HOMEPAGE="
- https://github.com/urschrei/pyzotero/
- https://pypi.org/project/pyzotero/
-"
-
-LICENSE="BlueOak-1.0.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- app-text/zotero-bin
- <dev-python/bibtexparser-2[${PYTHON_USEDEP}]
- >=dev-python/bibtexparser-1.4.3[${PYTHON_USEDEP}]
- >=dev-python/feedparser-6.0.12[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
- >=dev-python/whenever-0.8.8[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}]
- test? (
- >=dev-python/httpretty-1.1.4[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- >=dev-python/pytz-2025.2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/tzdata-2025.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc \
- dev-python/sphinx-rtd-theme
-EPYTEST_PLUGINS=( pytest-asyncio )
-distutils_enable_tests pytest
-
-python_test() {
- epytest -o addopts=
-}
diff --git a/dev-python/pyzotero/pyzotero-1.7.2.ebuild b/dev-python/pyzotero/pyzotero-1.7.2.ebuild
deleted file mode 100644
index 375eb6a672e6..000000000000
--- a/dev-python/pyzotero/pyzotero-1.7.2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=uv-build
-PYPI_VERIFY_REPO=https://github.com/urschrei/pyzotero
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python client for the Zotero API"
-HOMEPAGE="
- https://github.com/urschrei/pyzotero/
- https://pypi.org/project/pyzotero/
-"
-
-LICENSE="BlueOak-1.0.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- app-text/zotero-bin
- <dev-python/bibtexparser-2[${PYTHON_USEDEP}]
- >=dev-python/bibtexparser-1.4.3[${PYTHON_USEDEP}]
- >=dev-python/feedparser-6.0.12[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
- >=dev-python/whenever-0.8.8[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}]
- test? (
- >=dev-python/httpretty-1.1.4[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- >=dev-python/pytz-2025.2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/tzdata-2025.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc \
- dev-python/sphinx-rtd-theme
-EPYTEST_PLUGINS=( pytest-asyncio )
-distutils_enable_tests pytest
-
-python_test() {
- epytest -o addopts=
-}
diff --git a/dev-python/pyzotero/pyzotero-1.6.16.ebuild b/dev-python/pyzotero/pyzotero-1.7.5.ebuild
index 375eb6a672e6..375eb6a672e6 100644
--- a/dev-python/pyzotero/pyzotero-1.6.16.ebuild
+++ b/dev-python/pyzotero/pyzotero-1.7.5.ebuild
diff --git a/dev-python/roman/Manifest b/dev-python/roman/Manifest
index bcfd52457ea6..a9974e0900dd 100644
--- a/dev-python/roman/Manifest
+++ b/dev-python/roman/Manifest
@@ -1 +1,2 @@
DIST roman-5.1.tar.gz 8066 BLAKE2B 4731e6974a5f6f4063af1efe1fd7283031e18b233df83f9edee944e36b2a0f252fdf8c17407babe00102671ff0e8798cf426a9fea56b6612a14ab902e01b29fe SHA512 f8a57d37b46d2f1fb11247d3c461848aac9696798111b3b4db32adfb23b97e3f06bdfa4dceb7a37023ee57552a93afba2bdafb5f6006846b45d4ea6004b80398
+DIST roman-5.2.tar.gz 8185 BLAKE2B 9cac7efaa07218de3ee028409779fead6a16068c3b5f931645fc4239af78826fc69df8836df90afb6ed74c99a5c5fec91d4f34fb86380fd5cce12f89ec1ea7d9 SHA512 60d32796314fc04e5a0b79ef9660f15a850104d582dc1195de820bc5ce977294f9080da9ba2edb9ab6b8187122bc1abd01d46767d39746a64aad58c045b79bd1
diff --git a/dev-python/roman/roman-5.2.ebuild b/dev-python/roman/roman-5.2.ebuild
new file mode 100644
index 000000000000..5aab587cf184
--- /dev/null
+++ b/dev-python/roman/roman-5.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An Integer to Roman numerals converter"
+HOMEPAGE="
+ https://pypi.org/project/roman/
+ https://github.com/zopefoundation/roman
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest -s src
+}
diff --git a/dev-python/secretstorage/Manifest b/dev-python/secretstorage/Manifest
index e0c4fa05eac1..e9d1bb480751 100644
--- a/dev-python/secretstorage/Manifest
+++ b/dev-python/secretstorage/Manifest
@@ -1,3 +1,4 @@
-DIST SecretStorage-3.3.3.tar.gz 19739 BLAKE2B 9ad575df8b059102a38b4f20c956bf80a5f440a80c13a9fe10a96b14c49bd7868667306b75fca7a395e4d4ce44d28174fafcf27521446d4c7d070c5381eeeed7 SHA512 9a048c8245cfb01babebdd85dbbe84f9634b9b28188f7d11d3abad841109cfa307861de05e529199e409e595864ff3e097fcc961fcff210040d214a50f932f6e
DIST secretstorage-3.4.0.tar.gz 19748 BLAKE2B 8bb10a80b0a13c91faa552c94abf131db7704044863be16104aa6cad417f32423767d122d482f00e5d11f561aa67427899eb51414eda418c50bf171d21571633 SHA512 10d45317fa60bd6c2eb699b59b13da4c3001afa3a6c2fade113d1871172535e45698307b696abaa4f680b272afc5e1dfc1456ed50b079d3c4d14002e6f41c622
DIST secretstorage-3.4.0.tar.gz.provenance 9514 BLAKE2B d419601666a798cbc6ab0e6a17b4986a082f9f372b945e6c34d60701f8d709a276cba040f9bd9467b15c7e8301e3de43d3a73f1dfa3f6a1c4f716f239953a46f SHA512 0bfe620577ea784b38603f02af4bf132ce6607bbd4e6468cbda7e4e6185d02c40aac39b1140450d436f4849c2dda20a4e1a14d13603f1531d4e0ef9b26e0cd24
+DIST secretstorage-3.4.1.tar.gz 19871 BLAKE2B c740b5953593a011302c7885c87e1f71e80bf52a234cf92e280fa9f1946b53cf972b4525b1ed2f551b874080376f10404e13bc68a965266fc80c8a7e46b38486 SHA512 2e15b1b0fea5bbda5dc51cdca0963b36099d9e2e9045e9b991e76f54add99b62debfaa8c9fea7e0a94f495a049c2c108a07e18125c1d5a7415ea2a242d2571d1
+DIST secretstorage-3.4.1.tar.gz.provenance 9365 BLAKE2B 094ea023b795a479c61c1b8bd5086db7e29db46c06377c698546bf71afd2cbe2fe21cf007d27d6494a6de8864e5adb7948a315c67efc14ca69e9401e8f5b59e4 SHA512 366a6d947827b620913f72a65f4a406fec619b3f46cab0ff101546616e457d60f6656d40c2478e47996da60050e5d2b651b45fa50b40d60c38fdb8397c030b10
diff --git a/dev-python/secretstorage/secretstorage-3.3.3.ebuild b/dev-python/secretstorage/secretstorage-3.4.1.ebuild
index 7d3dd903b5c7..6d1cb7263701 100644
--- a/dev-python/secretstorage/secretstorage-3.3.3.ebuild
+++ b/dev-python/secretstorage/secretstorage-3.4.1.ebuild
@@ -4,8 +4,8 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
PYPI_PN="SecretStorage"
+PYPI_VERIFY_REPO=https://github.com/mitya57/secretstorage
PYTHON_COMPAT=( python3_{10..14} )
inherit distutils-r1 pypi
@@ -18,10 +18,10 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.0[${PYTHON_USEDEP}]
>=dev-python/jeepney-0.6[${PYTHON_USEDEP}]
"
BDEPEND="
@@ -48,6 +48,6 @@ src_test() {
}
python_test() {
- dbus-run-session "${EPYTHON}" -m unittest discover -v -s tests \
- || die "tests failed with ${EPYTHON}"
+ dbus-run-session "${EPYTHON}" -m unittest discover -v -s tests ||
+ die "tests failed with ${EPYTHON}"
}
diff --git a/dev-python/testtools/Manifest b/dev-python/testtools/Manifest
index 33fd48415eaa..125906efe86c 100644
--- a/dev-python/testtools/Manifest
+++ b/dev-python/testtools/Manifest
@@ -1 +1,2 @@
DIST testtools-2.7.2.tar.gz 201430 BLAKE2B d827d8e66c85908f4d16aa0762c3b0a454d374a0d23323fc3c123027f55f0e85f4fea9a24b5d1d0279266af2185f08abbcbbdcb785014b237df45a6448587611 SHA512 5815519d2b72d6b1e9f453c02793c70eb7d3b6580a211fb3708cd6121aed3c6100ceb1e35321f481a63b1f999ede030e43f1ae91d3621faf461c1908db767551
+DIST testtools-2.8.0.tar.gz 201854 BLAKE2B 1ab2643e5ec7c9b56c01227a6fd8d8626cb8b8440c3353cf1a04af91476b139b0cf50895bcca177e6798b167414833fd59a5cede4e89698ea1f6c563ecce7b22 SHA512 409f67de2e307eca3fe266822bd6fa0b98dcccc8dcfc26a9e696f345a8f3339b6b4463a738f28fe9505e11585722d8d1d7a3aa2319727679adb172e4d105938e
diff --git a/dev-python/testtools/testtools-2.8.0.ebuild b/dev-python/testtools/testtools-2.8.0.ebuild
new file mode 100644
index 000000000000..0644754c2a0a
--- /dev/null
+++ b/dev-python/testtools/testtools-2.8.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extensions to the Python standard library unit testing framework"
+HOMEPAGE="
+ https://github.com/testing-cabal/testtools/
+ https://pypi.org/project/testtools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-2.0.0[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ dev-python/testresources[${PYTHON_USEDEP}]
+ dev-python/twisted[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx doc
+
+python_test() {
+ cp testtools/tests/__init__.py test_suite.py || die
+ if ! has_version "dev-python/twisted[${PYTHON_USEDEP}]"; then
+ sed -i -e '/twistedsupport/d' test_suite.py || die
+ fi
+
+ "${EPYTHON}" -m testtools.run test_suite.test_suite ||
+ die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/types-psutil/Manifest b/dev-python/types-psutil/Manifest
index 446bad90bfdc..f6f61d394f31 100644
--- a/dev-python/types-psutil/Manifest
+++ b/dev-python/types-psutil/Manifest
@@ -1,2 +1,2 @@
-DIST types_psutil-7.0.0.20250822.tar.gz 20358 BLAKE2B d0868413b737d18b7591635317f669767aa28c99338949ca45f464cf65af5e62b3c645f884553bedced73ad42c5aabdd71ec582447c9b648405a0ec36e7ead64 SHA512 dbda01497dd2a6afd40e0d3fb7fee14b164584efb1a0195c4456e1ffd1138a9fa5420187eea2f990e0cbf76a69fa22bb283665d8a1db85544e87caae98f143e0
DIST types_psutil-7.0.0.20251001.tar.gz 20469 BLAKE2B a0b3563bafe004553e56c2b50bef02dd35f03344dabaeaaa0e500778c02e021e8a11a55e53073c9c14f7b5424f1fd4ffa4afbb2adb95ca255da75129433c5e8d SHA512 4cbccedc01a350df478ba55d2823b139e769bb39ce8366b0b89d296dfa156ee52e0b781ba0431672bc0e6cc38df1c557de06aca6984ab8e1196b917075623c57
+DIST types_psutil-7.0.0.20251111.tar.gz 20287 BLAKE2B 89843a8d09099344060c19962ec0d0f9b0ce119f82f7b7e264d83259b92acb7581f96af5440514645daad103cdf5fb86587a51f94eb61042fefe7994ea90894b SHA512 25778e2f23544a71df876dc22d40eedfe912e686de54ed520dc4eced95b7817a14c8c8a9d391f52782272f984cfd9ce536ac12d4dc351915bdeaa801aa906909
diff --git a/dev-python/types-psutil/types-psutil-7.0.0.20250822.ebuild b/dev-python/types-psutil/types-psutil-7.0.0.20251111.ebuild
index 81cf9791a63a..486007de99f8 100644
--- a/dev-python/types-psutil/types-psutil-7.0.0.20250822.ebuild
+++ b/dev-python/types-psutil/types-psutil-7.0.0.20251111.ebuild
@@ -13,4 +13,4 @@ HOMEPAGE="https://pypi.org/project/types-psutil/"
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"
diff --git a/dev-python/zope-interface/Manifest b/dev-python/zope-interface/Manifest
index adb172b90ec8..893c30a7ecfe 100644
--- a/dev-python/zope-interface/Manifest
+++ b/dev-python/zope-interface/Manifest
@@ -1,3 +1,3 @@
-DIST zope.interface-7.2.tar.gz 252960 BLAKE2B be79d583c146d4b33213286696f929ce3f753aa9c966ecffe46c5ef508f1422b521509642a2f6475c0f1ddab3b70345ec31a4a37bf4b811ff3c6760ffc506c9d SHA512 eb927395bd4c4b2567dfeabad9a88bf91cc0cc0838289e96d7452e6a7c9ea56237a1d1f492703eac71ac0957dc0d3e23f57ceec55ff82fcffbbf413e09868a9c
DIST zope_interface-8.0.1.tar.gz 253746 BLAKE2B a09c110457a647abd3bd13d4deb1a63d8ec9ef4b74a20dafdfa6a7abdf84379e24a62c631213b68310673d87b7313c89f33eddb6f0100bd6b7e6a17210455564 SHA512 9a09a2ab938c050846fc7156e4a7788a2fc83003ed82fe926bae7df417cadf30b62f2d1a4a07ea8cac6ce04235944110a5ad603209cab62942301f75ca4c358c
DIST zope_interface-8.0.tar.gz 253397 BLAKE2B 24daea2986375c68c44eb47ca4debecefc4c30b55ac21d5729074fe4c08b8c328b5f64a041f194901b4f7fb4bdcea8c363f34e2df473dcb05e9c855622311466 SHA512 d7628614649db2e32a4b7e294bb5bcadeb57d0fb45cddb568aa6ab2a2803832387e08d5777d193bf0853f9d3fe769ae98fa4bb5620f177e23f2a963b6c98d2dd
+DIST zope_interface-8.1.tar.gz 253831 BLAKE2B 2f63ace35f6eab24200f42475c069e98c513f7d37f7abc3b28a670cf6f2943706ed7c0fa858bdcb4b7e192adba628f44da476d0b70ca5a6d64d6ef932ef1c120 SHA512 ee9d86ad487eb150754aed7f0136b26603cbafb1dba04bd2296125be52c5d8a3dcef22525c85b37038289960b8f7428a1b6084da07239d8de65798aa31f23b75
diff --git a/dev-python/zope-interface/zope-interface-7.2.ebuild b/dev-python/zope-interface/zope-interface-8.1.ebuild
index 77e34132d275..4e7083391e45 100644
--- a/dev-python/zope-interface/zope-interface-7.2.ebuild
+++ b/dev-python/zope-interface/zope-interface-8.1.ebuild
@@ -6,7 +6,6 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_PN=${PN/-/.}
-PYPI_NO_NORMALIZE=1
PYTHON_COMPAT=( python3_{10..14} )
inherit distutils-r1 pypi
@@ -19,7 +18,7 @@ HOMEPAGE="
LICENSE="ZPL"
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"
+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="+native-extensions test"
RESTRICT="!test? ( test )"
@@ -35,8 +34,6 @@ distutils_enable_tests unittest
src_prepare() {
distutils-r1_src_prepare
- # strip rdep specific to namespaces
- sed -i -e "/'setuptools'/d" setup.py || die
# force failure if extension build fails
sed -i -e "/'build_ext':/d" setup.py || die
if ! use native-extensions; then
@@ -44,18 +41,11 @@ src_prepare() {
fi
}
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
python_test() {
local -x PURE_PYTHON=0
if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
PURE_PYTHON=1
fi
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- distutils_write_namespace zope
- eunittest
+ eunittest -s "${BUILD_DIR}/install$(python_get_sitedir)/zope"
}