summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-02-12 19:18:20 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-02-12 19:18:20 +0000
commit3ba870c3659426f9f69a3e4c41e4122c9ebbe2f0 (patch)
tree74c6a3e1228d6d6e6f84e079cb7567ab56456fcc /dev-python
parentd1985662773c1042b35872efdf79328c2cba70dd (diff)
downloadbaldeagleos-repo-3ba870c3659426f9f69a3e4c41e4122c9ebbe2f0.tar.gz
baldeagleos-repo-3ba870c3659426f9f69a3e4c41e4122c9ebbe2f0.tar.xz
baldeagleos-repo-3ba870c3659426f9f69a3e4c41e4122c9ebbe2f0.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.42.47.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.42.47.ebuild67
-rw-r--r--dev-python/crispy-bootstrap4/Manifest1
-rw-r--r--dev-python/crispy-bootstrap4/crispy-bootstrap4-2026.2.ebuild31
-rw-r--r--dev-python/cryptography/Manifest2
-rw-r--r--dev-python/cryptography/cryptography-46.0.5.ebuild (renamed from dev-python/cryptography/cryptography-46.0.3.ebuild)75
-rw-r--r--dev-python/django/files/django-4.2.24-htmlparser.patch15
-rw-r--r--dev-python/django/files/django-5.1-more-pypy3.patch51
-rw-r--r--dev-python/django/files/django-5.2.10-htmlparser.patch13
-rw-r--r--dev-python/django/files/django-5.2.6-htmlparser.patch13
-rw-r--r--dev-python/dunamai/Manifest1
-rw-r--r--dev-python/dunamai/dunamai-1.25.0.ebuild46
-rw-r--r--dev-python/dunamai/metadata.xml9
-rw-r--r--dev-python/gherkin-official/gherkin-official-38.0.0.ebuild2
-rw-r--r--dev-python/google-api-python-client/Manifest2
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.190.0.ebuild52
-rw-r--r--dev-python/griffe/Manifest1
-rw-r--r--dev-python/griffe/griffe-2.0.0.ebuild71
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.151.6.ebuild103
-rw-r--r--dev-python/icalendar/Manifest2
-rw-r--r--dev-python/icalendar/icalendar-7.0.0.ebuild (renamed from dev-python/icalendar/icalendar-6.3.1.ebuild)22
-rw-r--r--dev-python/ipython/Manifest1
-rw-r--r--dev-python/ipython/ipython-9.4.0.ebuild146
-rw-r--r--dev-python/multiprocess/Manifest1
-rw-r--r--dev-python/multiprocess/multiprocess-0.70.17-r1.ebuild49
-rw-r--r--dev-python/pillow/Manifest1
-rw-r--r--dev-python/pillow/pillow-12.1.1.ebuild169
-rw-r--r--dev-python/pyghmi/Manifest2
-rw-r--r--dev-python/pyghmi/pyghmi-1.6.13.ebuild (renamed from dev-python/pyghmi/pyghmi-1.6.10.ebuild)3
-rw-r--r--dev-python/pyproject-fmt/Manifest3
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-2.15.3.ebuild101
-rw-r--r--dev-python/pytest-env/Manifest3
-rw-r--r--dev-python/pytest-env/pytest-env-1.3.2.ebuild (renamed from dev-python/pytest-env/pytest-env-1.1.5.ebuild)17
-rw-r--r--dev-python/sphinx-autoapi/Manifest2
-rw-r--r--dev-python/sphinx-autoapi/sphinx-autoapi-3.7.0.ebuild (renamed from dev-python/sphinx-autoapi/sphinx-autoapi-3.6.0.ebuild)24
-rw-r--r--dev-python/typer/Manifest1
-rw-r--r--dev-python/typer/typer-0.23.0.ebuild67
-rw-r--r--dev-python/uv-dynamic-versioning/Manifest2
-rw-r--r--dev-python/uv-dynamic-versioning/metadata.xml10
-rw-r--r--dev-python/uv-dynamic-versioning/uv-dynamic-versioning-0.13.0.ebuild53
43 files changed, 926 insertions, 364 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index ad9b64a07b69..d00a6f000f9b 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -11,3 +11,4 @@ DIST boto3-1.42.43.gh.tar.gz 1082187 BLAKE2B f53ca79ea1c6ca1db912d7c7ddbb34776ec
DIST boto3-1.42.44.gh.tar.gz 1082573 BLAKE2B 98ac0981ec6df7594dcfcbc1ccddcbe8e9f4423cd61e034279dd4c9b52a5b251f158b1a3ec026dec02bf3178a3e30dc61086cdf53ff2516b7ee6b22ea32bfb3d SHA512 16b05dee6df917a8be2b4e09bc44f4032a08c059eb6aea5d9bf76ad38951ae589b4fa244f0d8b591123622fc3244d955bc028dd397a79ca0ab3d6dcddb7ae0cd
DIST boto3-1.42.45.gh.tar.gz 1083470 BLAKE2B 4d6f23bbe6e05cc813cf48bfb81c425c192132ef6dfd573958b2d0ae624eaa11e3fd9dcd177e3fe0d1322d60860e7e5b0bdebf0651bebeb2495b42661aaf7456 SHA512 e7510d3842074e54148b21e82297974c4b8a7d6ee92889bade6dd2669209f3ec5c8f94eb651a057b8a6fb85ed4609a0730592509ac9059a5ed50792c0855e15f
DIST boto3-1.42.46.gh.tar.gz 1084384 BLAKE2B 37e931dcee276e0100fce155d5919e43d2fe17c49960e0aadc97e3a877ae52dee3f85d5f2b1c0dcfdf8edc26e6b9be1feb3ffbbd0d937fa874d6d265f5cde620 SHA512 a2bff5ea50915b7901eb406df80992b31ab407966202c3a397c173b4b3845407d878c93e254faf54468c5d4c4cb87f7f0e4c0cf17a7f102dc5fc1ca4818cb99a
+DIST boto3-1.42.47.gh.tar.gz 1084845 BLAKE2B f4eaa0a073edcd0cecbe2752d3af28c09cbb7045ec6d55c32bbe6ecfe43d1ff91ddde9b6b26a74f2d69eb2d9295b8c673f082dc7aa1f6c920f7696236ae51563 SHA512 5820e6a55dc90ad33102203af883c5ba55cd282aadcd0a5380bb482c9318bfed2d4ad17f26550f526f03a017dfbc8a46b84a58b5326c79b59270739c131cac7a
diff --git a/dev-python/boto3/boto3-1.42.47.ebuild b/dev-python/boto3/boto3-1.42.47.ebuild
new file mode 100644
index 000000000000..6e5f06a012ad
--- /dev/null
+++ b/dev-python/boto3/boto3-1.42.47.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{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"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.16.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 1b21f86dd30f..e6ee14134eab 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -11,3 +11,4 @@ DIST botocore-1.42.43.gh.tar.gz 15818434 BLAKE2B 386b4bdff2a7b7595dfa71dad6cef18
DIST botocore-1.42.44.gh.tar.gz 15820139 BLAKE2B a7047f799dc39ee8f49c7128e91e0f11f20c38b946ec5555a75e6fd3f8691fe396d312b9ff3023fc031415cc0846fe94f5d9a5357e31f9d0670cf7e534474609 SHA512 519b7e28d5b46e7e6ac3b375f1926670d361695b34f07d8eddcf48fee8af2b3674040fa5a3b1a27961f77c435a3c4c78deb1802933f08d993dfe4cb782ea4b2c
DIST botocore-1.42.45.gh.tar.gz 15825494 BLAKE2B d376a9f800b28b784dba58d32713108ab88d72b6c98ebbef84dc8dc81d1b286609cd6249c7deffa92626d24ad83ee7873465aaab85e23b5938857a432041087d SHA512 401db4160b04bb585d648d6b05c7dc9f33bebb0b50077e04a6e07aabb43a6049be510630d889b9e550843af607a06a0a2cd20c74379a41dce0a58f9f0d1f0deb
DIST botocore-1.42.46.gh.tar.gz 15831397 BLAKE2B 148e1bc0dcf632a76c5d2fb80ae31d197ec9006565660a42fe535ef43c618b411d1caa3835dedc57e9abc9eaf2535c20617f5c7ca0703310a1cb18a9d9a981f9 SHA512 bc7fa8a77589638dfe903eed1c54e315439a3e9014c046d3ecbd06197abadceed3be68d3cce268aa8a9b45a060ec492a95b4fba5c403d0803d2b7cf5aafef3ec
+DIST botocore-1.42.47.gh.tar.gz 15836852 BLAKE2B c925221b714e9e2bd60bd08ae83287e2238d1215c99e5401d42b6f08d550ade1e7e28ad4a35966b282aa55448439246617ccd9b3699bc08f01552760053cbd5c SHA512 7aa634b9c77f7c54445c3b7e358431660488f80350b77facbc325be7c606119f2fa10f5f166356f3a3f9500b4e5859e7876f882160e0aa5e5bad64fdb8213ae6
diff --git a/dev-python/botocore/botocore-1.42.47.ebuild b/dev-python/botocore/botocore-1.42.47.ebuild
new file mode 100644
index 000000000000..f6ce0d9ed8d5
--- /dev/null
+++ b/dev-python/botocore/botocore-1.42.47.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{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"
+
+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/crispy-bootstrap4/Manifest b/dev-python/crispy-bootstrap4/Manifest
index acd30a8823af..8c63bb4eb977 100644
--- a/dev-python/crispy-bootstrap4/Manifest
+++ b/dev-python/crispy-bootstrap4/Manifest
@@ -1 +1,2 @@
DIST crispy-bootstrap4-2025.6.gh.tar.gz 32715 BLAKE2B a239fba7c9d93d6455526d2dc577d6f1ce9bbe3d2ca5076d8376ad60bbaa1f56e7de103cd791ff9d16ffb4b81a4ff59a6fba8071f1098b1f1e10b7b7856cbb8b SHA512 10edf4d44931a593072c3089ec6eb82e1d42e37b4fcddbfa7c8313c868f880c9eff3d9b270f4bb31148285b9a88f9952348fe4485c76932300e2b788dd00cb91
+DIST crispy-bootstrap4-2026.2.gh.tar.gz 31366 BLAKE2B 730b94aab236ca7b7a508ff7f8329f15114a4b336bdfb0e3acdc66600882466b29c0559615e96a6379808269df1bcfbd952a85f0c2235aec98be292166b10c3d SHA512 6a93c028337702ae921097b4018ebd1db08f0ed13dab4826910670595a17f833bb013f99fc2baffe597cb4cb9cb72faf6b88b12d6e4047e9a089c36118717374
diff --git a/dev-python/crispy-bootstrap4/crispy-bootstrap4-2026.2.ebuild b/dev-python/crispy-bootstrap4/crispy-bootstrap4-2026.2.ebuild
new file mode 100644
index 000000000000..5e76ce1e21c3
--- /dev/null
+++ b/dev-python/crispy-bootstrap4/crispy-bootstrap4-2026.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2023-2026 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="Bootstrap4 template pack for django-crispy-forms"
+HOMEPAGE="
+ https://github.com/django-crispy-forms/crispy-bootstrap4/
+ https://pypi.org/project/crispy-bootstrap4/
+"
+SRC_URI="
+ https://github.com/django-crispy-forms/crispy-bootstrap4/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/django-5.2[${PYTHON_USEDEP}]
+ >=dev-python/django-crispy-forms-2.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-django )
+distutils_enable_tests pytest
diff --git a/dev-python/cryptography/Manifest b/dev-python/cryptography/Manifest
index 18ace6c2245a..59752029d20e 100644
--- a/dev-python/cryptography/Manifest
+++ b/dev-python/cryptography/Manifest
@@ -5,8 +5,8 @@ DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9
DIST bitflags-2.9.4.crate 47950 BLAKE2B b880246b54377ef161c54a811f09ced975d1f2049400c1bbba944712b8ef8b9ea79599d2354cc2a9ccd4c1b1329faad78738ed4e051735b14b642a9451ce68ae SHA512 a832e01985551db9d700ba177bb2ffe436e78e3bdcf7b2d8e86fc7cb885674d5656fce05bffb5a4cbe0df7b015dcfa6df8dbc1351c097d2c3a3dac199d3f37b1
DIST cc-1.2.37.crate 90111 BLAKE2B c97656ab4642b180af1adf16736de03b5117774a2fd85d3cbbeb06744ab14a1f20accf8eb59c43dfc7fd803c59f92f30ccd7b2a6e3b53d8ecf45c8a2adb71483 SHA512 062bf65f73e5ae092391efaad510af39c96913d5647073eaa32e9475b34b6d87d2e4448f0dd54ecdf9b979a84819f861d05daf7fdbc06885f6b41162d55bb81f
DIST cfg-if-1.0.3.crate 8719 BLAKE2B 5cd0ac122110740895b45cdf8e0f738f2de1882d5a06c696d08e906765e4ddcd72a866dcc115da52d9fece205c9ad15dc25ad98dff36b32517012a7586e986ee SHA512 afe424a191c2aaaffec3d114e0116d0324d12117aeb22df78e47ad6752444bc5acb074ab0a174476b71e584a37743f9dcc2b0e8036d590fcc5afc7c55f86122b
-DIST cryptography-46.0.3.tar.gz 749258 BLAKE2B aa7eab6b6a39551034c8ade545a0b8c52d2d778a9e74dbf306eada2dc5314e3cdc7dee23af2fba8d2aa14ece260e3ace920f890f3e02370e8e86b20001ade2ee SHA512 b4e1af6e8ef676396e25806c64a981bb70372ca0162c2fe7d6a242243686d9fed35262080a3d0241afbf71963fc7d753a46fd31489fff3a734ef6c1203b64d02
DIST cryptography-46.0.4.tar.gz 749301 BLAKE2B 960fc436cd23414b0111992fe3667927a6ebf02a690484150728f3168ba051938682ad571e36d1b3f618f563debfe9b1f5f54239fccc1932ec67b9ec8b040528 SHA512 1c984794f37e673194ba7ff28c0d77ffadb2e5f4a3d278f07ae3f522b60ada107e982cebb6ebc170d4cd6372e6f41b872d38adadbddbc40699b2ae3236f2bdf7
+DIST cryptography-46.0.5.tar.gz 750064 BLAKE2B 7ae24a245583daf64a01cfbb9269e9d5aca82929543957572bea56f9e295593e81f836c87bd32bcb7aaa58253b7a156401a1d29992b60e73fd5926016fbbb4cd SHA512 5bc5ea5b85c600504c46e2376a45cee749f41e2b4a6eb639b05d289370dcdc82b2ace423532f5591da16ca56ea32919e47ec154cb72bf7e1f5f3f923c744a185
DIST find-msvc-tools-0.1.1.crate 30228 BLAKE2B 9f6d84697a0310021a59789a0aebcf5895490e4dd719a2ef820ddf2f225ecd13c814e2c03e8d4de4089a2d1599b469a900c0c1072f9b57dcce9fb8634dcea6b2 SHA512 cc91ce79858db4a6feb3ff0fe24d7b29a523285247116a42b27affacc3f034afc0d458ac8716922f5fec5f23deafd62e875ec899d4ea58531d028535c22e137e
DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232
DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a
diff --git a/dev-python/cryptography/cryptography-46.0.3.ebuild b/dev-python/cryptography/cryptography-46.0.5.ebuild
index 431d7a5755ff..8b9a3380df9f 100644
--- a/dev-python/cryptography/cryptography-46.0.3.ebuild
+++ b/dev-python/cryptography/cryptography-46.0.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2025 Liguros Authors
+# Copyright 2021-2026 Liguros Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,43 +8,44 @@ DISTUTILS_USE_PEP517=maturin
PYTHON_COMPAT=( python3_{10..14} )
PYTHON_REQ_USE="threads(+)"
+
CRATES="
- asn1@0.22.0
- asn1_derive@0.22.0
- autocfg@1.5.0
- base64@0.22.1
- bitflags@2.9.4
- cc@1.2.37
- cfg-if@1.0.3
- find-msvc-tools@0.1.1
- foreign-types-shared@0.1.1
- foreign-types@0.3.2
- heck@0.5.0
- indoc@2.0.6
- itoa@1.0.15
- libc@0.2.175
- memoffset@0.9.1
- once_cell@1.21.3
- openssl-macros@0.1.1
- openssl-sys@0.9.110
- openssl@0.10.74
- pem@3.0.5
- pkg-config@0.3.32
- portable-atomic@1.11.1
- proc-macro2@1.0.101
- pyo3-build-config@0.26.0
- pyo3-ffi@0.26.0
- pyo3-macros-backend@0.26.0
- pyo3-macros@0.26.0
- pyo3@0.26.0
- quote@1.0.40
- self_cell@1.2.0
- shlex@1.3.0
- syn@2.0.106
- target-lexicon@0.13.3
- unicode-ident@1.0.19
- unindent@0.2.4
- vcpkg@0.2.15
+asn1-0.22.0
+asn1_derive-0.22.0
+autocfg-1.5.0
+base64-0.22.1
+bitflags-2.9.4
+cc-1.2.37
+cfg-if-1.0.3
+find-msvc-tools-0.1.1
+foreign-types-0.3.2
+foreign-types-shared-0.1.1
+heck-0.5.0
+indoc-2.0.6
+itoa-1.0.15
+libc-0.2.175
+memoffset-0.9.1
+once_cell-1.21.3
+openssl-0.10.74
+openssl-macros-0.1.1
+openssl-sys-0.9.110
+pem-3.0.5
+pkg-config-0.3.32
+portable-atomic-1.11.1
+proc-macro2-1.0.101
+pyo3-0.26.0
+pyo3-build-config-0.26.0
+pyo3-ffi-0.26.0
+pyo3-macros-0.26.0
+pyo3-macros-backend-0.26.0
+quote-1.0.40
+self_cell-1.2.0
+shlex-1.3.0
+syn-2.0.106
+target-lexicon-0.13.3
+unicode-ident-1.0.19
+unindent-0.2.4
+vcpkg-0.2.15
"
inherit cargo distutils-r1 multiprocessing
diff --git a/dev-python/django/files/django-4.2.24-htmlparser.patch b/dev-python/django/files/django-4.2.24-htmlparser.patch
deleted file mode 100644
index b439a81eb408..000000000000
--- a/dev-python/django/files/django-4.2.24-htmlparser.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/tests/utils_tests/test_html.py b/tests/utils_tests/test_html.py
-index f755b8cebc..ef5fe77951 100644
---- a/tests/utils_tests/test_html.py
-+++ b/tests/utils_tests/test_html.py
-@@ -101,9 +101,7 @@ class TestUtilsHtml(SimpleTestCase):
- (3, 9): (3, 9, 24),
- }
- py_version = sys.version_info[:2]
-- htmlparser_fixed = (
-- py_version in min_fixed and sys.version_info >= min_fixed[py_version]
-- )
-+ htmlparser_fixed = True
- items = (
- (
- "<p>See: &#39;&eacute; is an apostrophe followed by e acute</p>",
diff --git a/dev-python/django/files/django-5.1-more-pypy3.patch b/dev-python/django/files/django-5.1-more-pypy3.patch
deleted file mode 100644
index 27663898cc55..000000000000
--- a/dev-python/django/files/django-5.1-more-pypy3.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From d9aeb23edb6cc861360ffbb59a45beccafe55dcb Mon Sep 17 00:00:00 2001
-From: Mariusz Felisiak <felisiak.mariusz@gmail.com>
-Date: Thu, 8 Aug 2024 08:13:29 +0200
-Subject: [PATCH] [5.1.x] Fixed #35661 -- Fixed
- test_too_many_digits_to_rander() test crash on PyPy.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Thanks Michał Górny for the report.
-
-Backport of 7fb15ad5bcae05324ee8913e4b2c6c982e8f2de0 from main.
----
- .../template_tests/filter_tests/test_floatformat.py | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/tests/template_tests/filter_tests/test_floatformat.py b/tests/template_tests/filter_tests/test_floatformat.py
-index 3d6c34a55232..6183f6a0691d 100644
---- a/tests/template_tests/filter_tests/test_floatformat.py
-+++ b/tests/template_tests/filter_tests/test_floatformat.py
-@@ -4,6 +4,7 @@
- from django.test import SimpleTestCase
- from django.utils import translation
- from django.utils.safestring import mark_safe
-+from django.utils.version import PYPY
-
- from ..utils import setup
-
-@@ -181,12 +182,21 @@ def test_too_many_digits_to_render(self):
- "-1E10000000000000000",
- "1e10000000000000000",
- "-1e10000000000000000",
-- "1" + "0" * 1_000_000,
- ]
- for value in cases:
- with self.subTest(value=value):
- self.assertEqual(floatformat(value), value)
-
-+ def test_too_many_digits_to_render_very_long(self):
-+ value = "1" + "0" * 1_000_000
-+ if PYPY:
-+ # PyPy casts decimal parts to int, which reaches the integer string
-+ # conversion length limit (default 4300 digits, CVE-2020-10735).
-+ with self.assertRaises(ValueError):
-+ floatformat(value)
-+ else:
-+ self.assertEqual(floatformat(value), value)
-+
- def test_float_dunder_method(self):
- class FloatWrapper:
- def __init__(self, value):
diff --git a/dev-python/django/files/django-5.2.10-htmlparser.patch b/dev-python/django/files/django-5.2.10-htmlparser.patch
deleted file mode 100644
index 5d9bec30539d..000000000000
--- a/dev-python/django/files/django-5.2.10-htmlparser.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tests/utils_tests/test_html.py b/tests/utils_tests/test_html.py
-index 89c97cee03..776409fac8 100644
---- a/tests/utils_tests/test_html.py
-+++ b/tests/utils_tests/test_html.py
-@@ -155,6 +155,8 @@ class TestUtilsHtml(SimpleTestCase):
- sys.version_info
- >= min_fixed_incomplete_entities.get(major_version, major_version)
- )
-+ # Gentoo: patches backported
-+ htmlparser_fixed = True
- items = (
- (
- "<p>See: &#39;&eacute; is an apostrophe followed by e acute</p>",
diff --git a/dev-python/django/files/django-5.2.6-htmlparser.patch b/dev-python/django/files/django-5.2.6-htmlparser.patch
deleted file mode 100644
index 546dbaca7504..000000000000
--- a/dev-python/django/files/django-5.2.6-htmlparser.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tests/utils_tests/test_html.py b/tests/utils_tests/test_html.py
-index 681071bf03..3744f5bdfb 100644
---- a/tests/utils_tests/test_html.py
-+++ b/tests/utils_tests/test_html.py
-@@ -132,7 +132,7 @@ class TestUtilsHtml(SimpleTestCase):
- (3, 10): (3, 10, 19),
- (3, 9): (3, 9, 24),
- }
-- htmlparser_fixed = sys.version_info >= min_fixed[sys.version_info[:2]]
-+ htmlparser_fixed = True
- items = (
- (
- "<p>See: &#39;&eacute; is an apostrophe followed by e acute</p>",
diff --git a/dev-python/dunamai/Manifest b/dev-python/dunamai/Manifest
new file mode 100644
index 000000000000..b9e0c39f4b3e
--- /dev/null
+++ b/dev-python/dunamai/Manifest
@@ -0,0 +1 @@
+DIST dunamai-1.25.0.tar.gz 46155 BLAKE2B 8324b94e3cf3e4f28f0a6990f14426bd838403db7940a0545f8429e200793d2b2ce122df9b9d02380570d7a85fdc00200da5511f77c6c5fa03ed1085c9b95e8d SHA512 eb234c06f72b0c4942a30e53331c809bbde6af6e2795045b6411818e8e832e0307e706a4caf84ffdfb8c5123b9225fe1df52c857ac0dc1868f0f4edcdb49da29
diff --git a/dev-python/dunamai/dunamai-1.25.0.ebuild b/dev-python/dunamai/dunamai-1.25.0.ebuild
new file mode 100644
index 000000000000..ae933a8814b7
--- /dev/null
+++ b/dev-python/dunamai/dunamai-1.25.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Dynamic version generation"
+HOMEPAGE="
+ https://github.com/mtkennerly/dunamai/
+ https://pypi.org/project/dunamai/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/packaging-20.9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-vcs/git
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/integration/test_dunamai.py::test__version__from_git__shallow
+ )
+
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ if type -P bzr &>/dev/null; then
+ brz whoami "Your Name <name@example.com>" || die
+ fi
+ distutils-r1_src_test
+}
diff --git a/dev-python/dunamai/metadata.xml b/dev-python/dunamai/metadata.xml
new file mode 100644
index 000000000000..7ad11570cc7d
--- /dev/null
+++ b/dev-python/dunamai/metadata.xml
@@ -0,0 +1,9 @@
+<?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>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/gherkin-official/gherkin-official-38.0.0.ebuild b/dev-python/gherkin-official/gherkin-official-38.0.0.ebuild
index 54b4fc8380a2..995303d5c8a9 100644
--- a/dev-python/gherkin-official/gherkin-official-38.0.0.ebuild
+++ b/dev-python/gherkin-official/gherkin-official-38.0.0.ebuild
@@ -21,7 +21,7 @@ S=${WORKDIR}/gherkin-${PV}/python
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 arm64"
RDEPEND="
dev-python/typing-extensions[${PYTHON_USEDEP}]
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index df5a24f12374..f90868caca2c 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -5,3 +5,5 @@ DIST google_api_python_client-2.188.0.tar.gz 14302906 BLAKE2B 822b2897260a3c37ff
DIST google_api_python_client-2.188.0.tar.gz.provenance 5771 BLAKE2B 54ffd78d498a5b86e96ebdcc038a6c4477dde2c74e269978beb2000f2eac723b00160c7440efbe26960dab4ba59dfb789f28dfa03824f0abf86f95961de97140 SHA512 d2999a10c1bf82b54b3404f9c1cfa68de61546a61507e21094afd2d911fca53b1e086ea6559e012e11fe2d4a1bb99b9fb57e033322f0c93045e50f4a79d46e75
DIST google_api_python_client-2.189.0.tar.gz 13979470 BLAKE2B aefc980b263c95fdf4bf991330f5a4c12fe959e78fadb353fcc989f025c10f72c3ce4996381a4dbfba28ad472879c50042d860ce18ce00ff4a7c38a8dcf43425 SHA512 b1d33adb71f155880206396337645f507b6f768dfa3bc91ba45647fd60b7818d59e03d58dfa14bf5456c60833aa91ef7516fb8fa84cdec6a8d086dd951f26644
DIST google_api_python_client-2.189.0.tar.gz.provenance 5830 BLAKE2B 2d65d4b17fdb3e19d819fa757ca116bd67ecc6bc29ca40afa9170bdbf78dcefc2a13fd1590d54193b70aeefec10a872e4202a71b8945aeaaf6f60b4ec2821e8a SHA512 bb1a0dc8e823d43c1ba2930e10da639882e9e76a65258a8cfa071f3974748f7f5d0a8edc961b7490dc9487f85ccee27c659650bb6df4193314ab916ac85bbd4e
+DIST google_api_python_client-2.190.0.tar.gz 14111143 BLAKE2B 734257756de0e54dc620853c0bf4b269a66413292c89afe2b919c61d9d4a12b6336d12cb83bd10881b6a179b0e1a4fbcde50b617c3d1787cce5451cedeb494ed SHA512 81f914cf107f76770b34edaccb148b242fbf9391c538eba3ae4935f3acf33fe8b175e4e10b75456fec23262e4265b1e9532beae7a54e49798019eecbbde46900
+DIST google_api_python_client-2.190.0.tar.gz.provenance 5783 BLAKE2B 943beebdb890cb953ca5bcb395b95493a3d7a75a5ff8744c5a6ad5780a3370c4f31bc742c9111354403dfcdaf5aaded7bfe8cdd6c8ed1dc198021c7dba33cef2 SHA512 2836262e5dd0fc41d380d92b9f64e4f7cf3f52885140d87034796d4763358ef07665f70eea176d46a56c7ebc701680224762e57ac70fcce9fd1d2694d8a9b416
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.190.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.190.0.ebuild
new file mode 100644
index 000000000000..16e1402184da
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.190.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="
+ https://github.com/googleapis/google-api-python-client/
+ https://pypi.org/project/google-api-python-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
+ <dev-python/httplib2-1[${PYTHON_USEDEP}]
+ >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/uritemplate-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet access (and credentials)
+ tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
+ tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
+ tests/test_discovery.py::Universe::test_client_options_universe_configured_with_mtls
+ tests/test_discovery.py::Universe::test_universe_env_var_configured_with_mtls
+ )
+
+ epytest tests
+}
diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest
index 4ae4858c17a1..be5f9b9717da 100644
--- a/dev-python/griffe/Manifest
+++ b/dev-python/griffe/Manifest
@@ -1 +1,2 @@
DIST griffe-1.15.0.gh.tar.gz 427423 BLAKE2B a8df8deab830589a46963cae03fa24ee64c5c06050b1dde3e5f0c7d8dd34764e6bccad5974f3c97fe45b67fd74aacc21afc9fdaba6aedc55f4319ce125379189 SHA512 9dc9d57dd88de7a5649639d3ce7b2bc37c5401ce82c7f6a769329ec51d97b9e97c9b2c9c3c0a399adeda66439b9842b26e8a4cbf44096a540af5e924484cce65
+DIST griffe-2.0.0.gh.tar.gz 433002 BLAKE2B 2a9acd183c24aee3fb7ba0ad4b92d93b198178d721419eddff64eebbf6cdbc22f3cb325fa083072959ef3b3d278e003ce3df1bb10aa7d17184f0af7237f9d523 SHA512 df7ce33be63a78f0d307a465e00b605a0718640a2c8c1089e54af2fb1aa39affc38df88b2705d413a68dbf646e696798bbf70423a4a46f8ae8f50955465d6bd0
diff --git a/dev-python/griffe/griffe-2.0.0.ebuild b/dev-python/griffe/griffe-2.0.0.ebuild
new file mode 100644
index 000000000000..e07d8805bd74
--- /dev/null
+++ b/dev-python/griffe/griffe-2.0.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Signature generator for Python programs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/griffe/
+ https://github.com/mkdocstrings/griffe/
+ https://pypi.org/project/griffe/
+"
+# Tests need files absent from the PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+# pdm-backend used via hatchling hooks
+BDEPEND="
+ dev-python/pdm-backend[${PYTHON_USEDEP}]
+ dev-python/uv-dynamic-versioning[${PYTHON_USEDEP}]
+ dev-vcs/git
+ 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=( pytest-gitconfig )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fragile to installed packages
+ # (failed on PySide2 for me)
+ tests/test_stdlib.py::test_fuzzing_on_stdlib
+)
+
+src_compile() {
+ # The build system combines hatchling with git hooks from pdm-backend
+ # and uv-dynamic-versioning. It does not respect PDM_BUILD_SCM_VERSION,
+ # and uv-dynamic-versioning does not work without a git repository
+ # at all, even though it does not use it for anything.
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ git init || die
+ git commit --allow-empty -m "force version" || die
+ git tag "${PV}" || die
+
+ distutils-r1_src_compile
+}
+
+python_compile() {
+ # This packages is a horrendous mess. It's split into three packages,
+ # and tests require all of them.
+ local pkg
+ for pkg in packages/griffe{lib,cli} .; do
+ pushd "${pkg}" >/dev/null || die
+ distutils-r1_python_compile
+ popd >/dev/null || die
+ done
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 7e963651c3b6..80e4ad80d5a3 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -8,3 +8,4 @@ DIST hypothesis-6.151.2.gh.tar.gz 9878376 BLAKE2B 11f6da8ede480bffb503e67d6ed943
DIST hypothesis-6.151.3.gh.tar.gz 9879536 BLAKE2B 339bb7cc1f45403c97626b4ca0df33e9378ef301efcc7949aca0750fe08425af3e71703a5c0743feb731d62e6d5cc44c2f41fe84544aa8d9d199b004d567f8ab SHA512 f7b3d4859b2d43c3be8c36c610ca16a3ae8dd36dbb14a5e029b4046467fb061ec70f4e53e88ecdb7c85a1364e556955b83cc8d511d1962dcf34dae047ace6f3d
DIST hypothesis-6.151.4.gh.tar.gz 9879516 BLAKE2B b53dc0691cdbbfad47dd4de9712cecc7fddd9c59b626d22250d367a71dd58c43c22c173380d120f56d7b9f17c03df076ea7963c8c435fb9b187b3baffeb2d44e SHA512 fef3fe9f7b10204c37a4d7767ab0fd9e4a74e3d69de55700cfd34ef86dd2af980131411f3728462d28670836cf9adfc53d87b24bd85a6d19bce562471290dfe3
DIST hypothesis-6.151.5.gh.tar.gz 9879758 BLAKE2B 9065ab0acf74f23f01016608465af54822a6789dbf5f8043e54cd617046ee0c3c1d72897a66a0b48e9e5e146433bfbc753352e20cb941ebfa3008b348746a4c2 SHA512 2adfd5f69c2eca234666b8d91bb136081eaec32b5e0f158c0432148bcceae25d9515fa014648bf416311a82354a7598091ee1edf7370bbb0ede37fe9fa4d9b48
+DIST hypothesis-6.151.6.gh.tar.gz 9880002 BLAKE2B e913687bbe41a0a5750b523054da699bdad18840f1ecbec5b3ba4c232dfef0c4ba6e506156d7c9ce9c7b5e47ff0e2614bb206d9958e1ba3fa7dd8ac0c8a8d8f7 SHA512 9e022b284293d9a7a4907a608c54bc4d8f5a6487870b5c5a8cd92ae5be87fbf720767738d1fb686f8b6503bdc5dd2dcb2a0bb339ca4821cce05cc50b17224449
diff --git a/dev-python/hypothesis/hypothesis-6.151.6.ebuild b/dev-python/hypothesis/hypothesis-6.151.6.ebuild
new file mode 100644
index 000000000000..6569720d26ff
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.151.6.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=(
+ # broken somehow (xdist?)
+ 'hypothesis-python/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]'
+ )
+ case ${EPYTHON} in
+ python3.14t)
+ EPYTEST_DESELECT+=(
+ # TODO
+ 'hypothesis-python/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]'
+ )
+ ;;
+ esac
+
+ local -x HYPOTHESIS_NO_PLUGINS=1
+ epytest -o filterwarnings= tests/{cover,pytest,quality}
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/icalendar/Manifest b/dev-python/icalendar/Manifest
index 6a91f96e75c3..f9642ddcd478 100644
--- a/dev-python/icalendar/Manifest
+++ b/dev-python/icalendar/Manifest
@@ -1,2 +1,2 @@
-DIST icalendar-6.3.1.tar.gz 177169 BLAKE2B 00b3c5b0f4e8e670b73dd556c71b6796308b27ff0216acde647cdcbe87c5cf92ab1cdfd538c5290ca9b7fff7d3cb1908e7c7c877d26cbef2b7ac6e8547e3214e SHA512 f9762f4fc5827433e3ef8892dfd3252fa081d2db4f8ee5d0092c280f52944c564a230beea04b2b1a7db66bd2538416b5f5ae9a9253a87c62397caa64d8fc82b8
DIST icalendar-6.3.2.tar.gz 178422 BLAKE2B e3c34b8b9372f66c42ea1be609e77e45c03a17585157699cd6aa4c521cf9b35d78e3d3821811b1fbd828c1add81b26ff3047565c826229cfbf1a3dab42fc96ea SHA512 a74067a527d46e26a8c50c6ef1ec9a264534349fae624df75388c9167b509d829f6a60340975b6aaeff1f7544bf5318ab24cc33e2bf7189fb8f57c00fea44bd8
+DIST icalendar-7.0.0.tar.gz 436350 BLAKE2B 6ea30c35f6de88fe1c61a70603d907cc0029b9057cea0eaa0cdb8fbbd89eff8a53ee073e83a20515600cfc82ffa9a1c55a259144740ac3f05c395eb15481ca08 SHA512 c920cf6f16178d7425e469dc299aad7a903b0c0066a4d811b19ecdeb2863e0e2f19bdcb65f91068c19bcbacac94d8657f4bb7f8e605db26ecd016625743cfb44
diff --git a/dev-python/icalendar/icalendar-6.3.1.ebuild b/dev-python/icalendar/icalendar-7.0.0.ebuild
index b2c09d430730..940e6c3495b0 100644
--- a/dev-python/icalendar/icalendar-6.3.1.ebuild
+++ b/dev-python/icalendar/icalendar-7.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{10..14} )
inherit distutils-r1 pypi
-DESCRIPTION="Package used for parsing and generating iCalendar files (RFC 2445)"
+DESCRIPTION="RFC 5545 compatible parser and generator of iCalendar files"
HOMEPAGE="
https://github.com/collective/icalendar/
https://pypi.org/project/icalendar/
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
RDEPEND="
dev-python/python-dateutil[${PYTHON_USEDEP}]
@@ -25,14 +25,18 @@ RDEPEND="
BDEPEND="
dev-python/hatch-vcs[${PYTHON_USEDEP}]
test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2025.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.10[${PYTHON_USEDEP}]
+ ' 3.11 3.12)
)
"
+EPYTEST_PLUGINS=( hypothesis )
distutils_enable_tests pytest
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
+EPYTEST_IGNORE=(
+ # upstream puts quite an effort for funding.json, but failed to
+ # include it in sdist
+ src/icalendar/tests/test_funding_json.py
+)
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
index 87cb873312c1..514d0c07ac7e 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -1,6 +1,5 @@
DIST ipython-9.10.0.tar.gz 4426526 BLAKE2B 0b7e4f370bce45fe9703ae27872217e4a04cca89880863e61499c7132a42c4b739c54202fead6e76c4550408f3555c5b677f4d2dadc93395efbeef7418b3ae3c SHA512 f0f6592aa7984cbf77b82630ec6c9e5d269e6c2486dc885de4640e5d3f60a4d39fb8660a7d7e93efc241ad213a70667322d05a0d86468d22b701698a3e2fb03a
DIST ipython-9.10.0.tar.gz.provenance 9575 BLAKE2B 2041c8b06c8e896ccb6e6c0fcea9c3708229b35472dec88f3d00b4445095b5e804d48e88357608ea951ae795b37e2007e0f51aaf26b66ef7923dd6ead6fe0935 SHA512 ab56e0f6897fdf00c2d18e630a48ddaec3caeb4670690c8c7607d4384e42fe841e37d644cb68a7c9875620bf40c23590d41409fc92eda0e1ec415b61c69b6435
-DIST ipython-9.4.0.tar.gz 4385338 BLAKE2B 20bf17c945ab2c727aa340a500e2f452dadd440ff809e5aea2ebaa0bd146a6bf2103f2435549a0f4b898690e6aceb15850fc2ba92bb9b94d8e084b1f13cb17a1 SHA512 8e0bd35effa6b5d6d17b7903ae708f1db753717b2271c79b6662fc508e003a7b3b510604ed340e6e89a8c84abf7c3718f785eb39d0914b653c47adc999a1d2f4
DIST ipython-9.7.0.tar.gz 4422115 BLAKE2B c79ed9d48daa647d3430f8f8a6cb7ea58be3bf9f283be0fb0a68bc530859db5f9cfd8419cef8c783ac7ae939fc111dd4a01841fa22f544135cda536100afbc6c SHA512 d611bd9c36a7497c4757895a074d89ef1bb0ac8def6c819bbe084879f6d44f506a5fa30bddff2249b5e0bb363206eb09b3e311037643ce8f17012513a2285e9f
DIST ipython-9.8.0.tar.gz 4424940 BLAKE2B 8b4d5673be8e4164a06afe15b6f277d94c0f7196c81c2a2a6195732d0d0f3c353ad9d78c5702ef93edbd1dd44f732332afcfdaa10a2377f2ec9f47318e41b14a SHA512 1f7be5df369ff9c8a5905529286d59927775b47766f6a61ad97f062fb8a068aa9875610e5b313207bf26013ac4dc6d2b24d4d28c3b54586e1f08193d980a6eba
DIST ipython-9.8.0.tar.gz.provenance 9236 BLAKE2B ca790e6cb3f0bd3e16e319e6283bdf3f36926a5b8238fdfe02057fe6f6254a549398f5109987e90f8179ba9c39c18e8a4dd029c9612801122f68e30d02cd5bc2 SHA512 26d9183e825e2fbc6fe98669e9ae63fe7652fa00e6b927811c438fc7bb5b4b857a9a7d1ba8fc59201de51087726344193962319da91e4aa0c93fcb907f8b655f
diff --git a/dev-python/ipython/ipython-9.4.0.ebuild b/dev-python/ipython/ipython-9.4.0.ebuild
deleted file mode 100644
index 737d9830281d..000000000000
--- a/dev-python/ipython/ipython-9.4.0.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-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} )
-PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
-
-inherit distutils-r1 optfeature pypi virtualx
-
-DESCRIPTION="Advanced interactive shell for Python"
-HOMEPAGE="
- https://ipython.org/
- https://github.com/ipython/ipython/
- https://pypi.org/project/ipython/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="examples gui notebook nbconvert +smp test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/decorator[${PYTHON_USEDEP}]
- dev-python/ipython-pygments-lexers[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
- >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}]
- <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
- dev-python/stack-data[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.11)
-"
-
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- app-text/dvipng[truetype]
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.9[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pickleshare[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/testpath[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-asyncio )
-distutils_enable_tests pytest
-
-RDEPEND+="
- nbconvert? (
- dev-python/nbconvert[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- $(python_gen_cond_dep '
- gui? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
- ' 'python*')
- $(python_gen_cond_dep '
- notebook? (
- dev-python/notebook[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/widgetsnbextension[${PYTHON_USEDEP}]
- )
- ' 3.{11..12})
- smp? (
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
- )
-"
-
-python_prepare_all() {
- # Rename the test directory to reduce sys.path pollution
- # https://github.com/ipython/ipython/issues/12892
- mv IPython/extensions/{,ipython_}tests || die
-
- distutils-r1_python_prepare_all
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
- local EPYTEST_DESELECT=()
-
- case ${EPYTHON} in
- pypy3*)
- EPYTEST_DESELECT+=(
- # https://github.com/ipython/ipython/issues/14244
- tests/test_display.py::TestAudioDataWithoutNumpy
- )
- ;;
- esac
-
- # nonfatal implied by virtx
- nonfatal epytest || die "Tests failed on ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
-
- # Create ipythonX.Y symlinks.
- # TODO:
- # 1. do we want them for pypy? No. pypy has no numpy
- # 2. handle it in the eclass instead (use _python_ln_rel).
- # With pypy not an option the dosym becomes unconditional
- dosym ../lib/python-exec/${EPYTHON}/ipython \
- /usr/bin/ipython${EPYTHON#python}
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
-
-pkg_postinst() {
- optfeature "code formatting" dev-python/black
- optfeature "sympyprinting" dev-python/sympy
- optfeature "cythonmagic" dev-python/cython
- optfeature "%lprun magic command" dev-python/line-profiler
- optfeature "%matplotlib magic command" dev-python/matplotlib-inline
-
- if use nbconvert; then
- if ! has_version virtual/pandoc ; then
- einfo "Node.js will be used to convert notebooks to other formats"
- einfo "like HTML. Support for that is still experimental. If you"
- einfo "encounter any problems, please use app-text/pandoc instead."
- fi
- fi
-}
diff --git a/dev-python/multiprocess/Manifest b/dev-python/multiprocess/Manifest
index 42a6963c1beb..34c0beab5478 100644
--- a/dev-python/multiprocess/Manifest
+++ b/dev-python/multiprocess/Manifest
@@ -1,2 +1 @@
-DIST multiprocess-0.70.17.tar.gz 1785744 BLAKE2B 5840ff2239c720df571c6fc21e27a6ca193d2a24a4427c6c89dc17b523340293f5969ac3e8f7a5401a602064fbe204bc57d6ddafa2caa337cd06001d3c7ec910 SHA512 7fbc62d793548a58fcfe14dce333c46a75b177180ed402fec3b18bad24f53e965235466ddedc1d7a6551fb79689f97b272e36c1510352e278581f9a08ead09a4
DIST multiprocess-0.70.19.tar.gz 2079989 BLAKE2B 7095ebb3cf86804536b2343ec262c4b898b0324c4f4d8b46c71cc0578fde8581b81fc559d67fb5ee439d198a87dc0fbcd4c47bd0d090a930ef2712deed515d0e SHA512 12cf70ebcfe22e2997f4744e2250caa29c92c26f696cf79c7a71bc5cf12b03fe94af45b95a065311cd367032795b4d19f39bdd7bf1022c7604db666509c33bfc
diff --git a/dev-python/multiprocess/multiprocess-0.70.17-r1.ebuild b/dev-python/multiprocess/multiprocess-0.70.17-r1.ebuild
deleted file mode 100644
index 5092df42ba02..000000000000
--- a/dev-python/multiprocess/multiprocess-0.70.17-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Better multiprocessing and multithreading in Python"
-HOMEPAGE="
- https://github.com/uqfoundation/multiprocess/
- https://pypi.org/project/multiprocess/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/dill-0.3.9[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/test[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- local PATCHES=(
- # https://github.com/uqfoundation/multiprocess/pull/197
- "${FILESDIR}/${P}-wheel-tag.patch"
- )
-
- distutils-r1_src_prepare
-
- # https://github.com/uqfoundation/multiprocess/issues/196
- sed -i -e '/python-tag/d' setup.cfg || die
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- eunittest
-}
diff --git a/dev-python/pillow/Manifest b/dev-python/pillow/Manifest
index 1f224a536098..6150ded23987 100644
--- a/dev-python/pillow/Manifest
+++ b/dev-python/pillow/Manifest
@@ -1,4 +1,5 @@
DIST pillow-11.3.0.gh.tar.gz 47173056 BLAKE2B 1260c7025e6013c50782024756a0c891d3735bd7d4c1c9d0a89d9eb1c94bd2f762369086f7269d487100e8a0e2678a73012bf29172697c1a1a18e58f9019a9bd SHA512 7d97e623bd41da94dd89a66dc600cea016d0a4f33fbf036175768ea96b2031c1968acf4fc3d9b2835ce93f9533838a9ce68a6579a7397f4aeccafb6032adb3db
DIST pillow-12.0.0.gh.tar.gz 47078314 BLAKE2B 14540f6b016004de56e5736f66f23999ebc2683c4be5053631fd6890502d7416d05e9ef858460fec4473d873893303b51f251ed3b50facb11616211b0629e79c SHA512 816237bf65b65a8f7ec941db6ea07814af602efe6f214e2a253b1d0b6b9dbbe9895a9822c6de67af40bd507e658b8c088707440f689d5fd237985f4ee0f7bfc2
DIST pillow-12.1.0.gh.tar.gz 47045570 BLAKE2B 1ba09d4a9540584c6649f29f03c8f2673fa675a8309f0a7ff45eb95b878498d3adfa239a755dda2d14035c2d4ac22920b78d2caeaa1c2f403ad4da0c50960f8e SHA512 f542780a7894ca4eade3ee2c806f2bb0866cd93967ce45228ffaff9d0c9fb09eb3193a5afc9aa08caff1ed7f495031414fbd4a1addb3c373f8fa76a373a0be8d
+DIST pillow-12.1.1.gh.tar.gz 47047606 BLAKE2B 7e646b2d16bd7653f1579fb2e752c40b2945e3de97d115e5c9769102af6e4030d1903e2bf0d0926b41586d61bb070dd849c67404d164a0ea7c0827bec7ae6b61 SHA512 791c8972d913b616bd903aa4e9a468b1886faf5a477414fdd07cd37a29253f3e158988adf613969ea3f3efcef716d74b8d667efbac0d85ba12c15da2137c32a3
DIST pillow-test-images-7077675d2cda485d63de4aefe0fefbf6f655c5a0.gh.tar.gz 57430276 BLAKE2B 6e8dcde60832004f5a0ea0e14024fdcd0b08cf0e225f27e39b7c2058582d6d5efe7fcaccb5bd28754affa6fe4125735fb4beeaa2075e6aceea0a998ebc0747fe SHA512 795f015c9b73a8c941fb5cd880b1ab36b24d38612db53367ab0e6c05dd1cdbfd47034decb7e36d7de940eeea1582d644ca7bee3b131577578692569c2c60c32b
diff --git a/dev-python/pillow/pillow-12.1.1.ebuild b/dev-python/pillow/pillow-12.1.1.ebuild
new file mode 100644
index 000000000000..ea1d6093fec9
--- /dev/null
+++ b/dev-python/pillow/pillow-12.1.1.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+# setuptools wrapper
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 toolchain-funcs virtualx
+
+MY_PN=Pillow
+MY_P=${MY_PN}-${PV}
+
+# upstream always fetches from main
+TEST_IMAGE_COMMIT="7077675d2cda485d63de4aefe0fefbf6f655c5a0"
+
+DESCRIPTION="Python Imaging Library (fork)"
+HOMEPAGE="
+ https://python-pillow.github.io/
+ https://github.com/python-pillow/Pillow/
+ https://pypi.org/project/pillow/
+"
+SRC_URI="
+ https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/python-pillow/test-images/archive/${TEST_IMAGE_COMMIT}.tar.gz
+ -> pillow-test-images-${TEST_IMAGE_COMMIT}.gh.tar.gz
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="avif examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
+REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ avif? ( media-libs/libavif:= )
+ imagequant? ( media-gfx/libimagequant:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lcms? ( media-libs/lcms:2= )
+ tiff? ( media-libs/tiff:=[jpeg,zlib] )
+ truetype? (
+ media-libs/freetype:2=
+ media-libs/harfbuzz:=
+ )
+ webp? ( media-libs/libwebp:= )
+ xcb? ( x11-libs/libxcb )
+ zlib? ( virtual/zlib:= )
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/olefile[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-77[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ || (
+ media-gfx/imagemagick[png]
+ media-gfx/graphicsmagick[png]
+ )
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-timeout )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/python-pillow/pillow/pull/7634
+ "${FILESDIR}/${PN}-10.2.0-cross.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ if use test; then
+ mv "${WORKDIR}/test-images-${TEST_IMAGE_COMMIT}"/* \
+ Tests/images || die
+ fi
+}
+
+usepil() {
+ usex "${1}" enable disable
+}
+
+python_configure_all() {
+ cat >> setup.cfg <<-EOF || die
+ [build_ext]
+ debug = True
+ disable_platform_guessing = True
+ $(usepil avif)_avif = True
+ $(usepil truetype)_freetype = True
+ $(usepil jpeg)_jpeg = True
+ $(usepil jpeg2k)_jpeg2000 = True
+ $(usepil lcms)_lcms = True
+ $(usepil tiff)_tiff = True
+ $(usepil imagequant)_imagequant = True
+ $(usepil webp)_webp = True
+ $(usepil xcb)_xcb = True
+ $(usepil zlib)_zlib = True
+ EOF
+ if use truetype; then
+ # these dependencies are implicitly disabled by USE=-truetype
+ # and we can't pass both disable_* and vendor_*
+ # https://bugs.gentoo.org/935124
+ cat >> setup.cfg <<-EOF || die
+ vendor_raqm = False
+ vendor_fribidi = False
+ EOF
+ fi
+
+ tc-export PKG_CONFIG
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO (is clipboard unreliable in Xvfb?)
+ Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard
+ # requires xz-utils[extra-filters]?
+ Tests/test_file_libtiff.py::TestFileLibTiff::test_lzma
+ )
+
+ case ${ARCH} in
+ ppc)
+ EPYTEST_DESELECT+=(
+ # https://github.com/python-pillow/Pillow/issues/7008
+ # (we've reverted the upstream patch because it was worse
+ # than the original issue)
+ Tests/test_file_libtiff.py::TestFileLibTiff::test_exif_ifd
+ )
+ ;;
+ esac
+
+ "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
+ # leak tests are fragile and broken under xdist
+ # nonfatal implied by xvfb
+ nonfatal epytest -k "not leak" || die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ python_doheader src/libImaging/*.h
+ distutils-r1_python_install
+}
+
+python_install_all() {
+ if use examples ; then
+ docinto example
+ dodoc docs/example/*
+ docompress -x /usr/share/doc/${PF}/example
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyghmi/Manifest b/dev-python/pyghmi/Manifest
index a206c7996f3e..2e671b6ca06b 100644
--- a/dev-python/pyghmi/Manifest
+++ b/dev-python/pyghmi/Manifest
@@ -1,2 +1,2 @@
-DIST pyghmi-1.6.10.tar.gz 283697 BLAKE2B c691c378a3dd5567f4bc61757b1956b2b529b76dc18ea2c940eec070cfc99bcabec03e3890e3fad04b1b4b3a679572b485ab1098fa48748ba9d664b77fd144fd SHA512 d694bf3b5d34b194b868dbb9adc24508fcf4871e18b8c07c9923f7fb2d3cd6fdf8b52caa25c717a4ea89c439d28b3a170307ea081270bcc02f0499aba593c5a5
DIST pyghmi-1.6.12.tar.gz 284314 BLAKE2B 8a0cf5f9920f5bc47007098f0d29bb2a2a969abf16ba92342f4f73511a04a20f17110e1153352b60052c98403d95bbf3509b09f27ca6d8c4d5a012fcc9315fa4 SHA512 1a381f0d199669e80d7635cc2f9b79ab2de16f9d7bc0589f27d4c778b56964e6fca6d4bcd92faf38dee8810b266446980e57ea8f13b636b8d7d4bca7a258ed26
+DIST pyghmi-1.6.13.tar.gz 284523 BLAKE2B a7e31b7599ea9476f480c5f78e692fd7171cef4db6d11178535f5b9cfeb69c1beb63c6f58f0a67ac774c151877c12faf9a100c777c0254192c8dab6d9b8c22f6 SHA512 2acc91cf1487079a4f154605698ab956605d7c24a548ece0b14639c591482b91a6f31e5f6303202cc7d5e5955b827259ffa05dcee06da9a335218770ea22bd53
diff --git a/dev-python/pyghmi/pyghmi-1.6.10.ebuild b/dev-python/pyghmi/pyghmi-1.6.13.ebuild
index 9946b26c54e4..52ebdfb77faa 100644
--- a/dev-python/pyghmi/pyghmi-1.6.10.ebuild
+++ b/dev-python/pyghmi/pyghmi-1.6.13.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,7 +22,6 @@ RDEPEND="
>=dev-python/cryptography-2.1[${PYTHON_USEDEP}]
dev-python/pbr[${PYTHON_USEDEP}]
>=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
diff --git a/dev-python/pyproject-fmt/Manifest b/dev-python/pyproject-fmt/Manifest
index de9d8db9e8f2..cd44beea2340 100644
--- a/dev-python/pyproject-fmt/Manifest
+++ b/dev-python/pyproject-fmt/Manifest
@@ -58,6 +58,8 @@ DIST pyproject_fmt-2.15.1.tar.gz 125598 BLAKE2B af12d3a62b558a3ac7edcaf67db7d2ee
DIST pyproject_fmt-2.15.1.tar.gz.provenance 9836 BLAKE2B 48af8cf30ac4490c5f3b0e4b59347159f61b9c7e5dab43f00b577635e5e5b8a4b4458c9c023f7d7288ca7399128dcdf3e62ef7e7807dc43fdac221ddad3cf5ec SHA512 0ad754761cbb46ea58b1034aa8b9e0310bbed4e6eea3a285628ced9952127877834696c0042df1cf4ce1f71476e7c54ff56058d1cc98814f165740621e3a04b8
DIST pyproject_fmt-2.15.2.tar.gz 126980 BLAKE2B 1fdc3eca2b225d0815c7a176084f808e92292f2bef7fcd8cf9ddc55af7a2ca441a0d744036c40af7bc4859983e5f292f18b76febffb6e4888238d2793c0bf69d SHA512 843310fad343f6a568b4ef6fdf5b1cefca1d2d1559238619e4e64679ff3902a8c3c614fd88114675fa76d4632b3d48db545d6cfb2cc840344eb37afef7a8925b
DIST pyproject_fmt-2.15.2.tar.gz.provenance 9699 BLAKE2B cc707839cd17d2cd44468b4887fb0ce6a42278132faf03e7176be372a6da623a8716c327bf2464be0fe544921c8db7cf8b7b555e51d1028a15084b464839e427 SHA512 ab4ab30ea7d632d66bf004642efa25351463a8296e00c8af2b6d95994d7a97b7cf749fe2e229bbfe50f919efd5f95a97df200a39479ccd64e3030caa35a9018d
+DIST pyproject_fmt-2.15.3.tar.gz 130178 BLAKE2B d4436dfa377a414b4ef61e9894d49a3fd50eda219d21e1b0aa769c0f6e2d6bf0a7de5b4cc7b370c429c6654ff9025abb21d3a6e2d2ffa9c75442f6e60115f37e SHA512 f39ef98888a489738a75a740811e5874d91689bbf2cc20d8d69031afe73e1105f57b2d9d146748cb72dcafb68942f6a6920c17241032084243ac5425db784339
+DIST pyproject_fmt-2.15.3.tar.gz.provenance 9605 BLAKE2B 6fabf8beb107b5491bab47ca5dda2d6662071620960dc8cfced75d9bffde8a71dd1ac21036ac4f2b490a6a37ad74084e31163a156bf980b9ad8512934d5e7f2b SHA512 0d4cd504f7fd5f72c6591afdf3cf53d84cced4f8d2369e9fa7c7297e06b98602a8ca7ad2fe83b8103cce95e8b5aa7d4c2ca215ffd985b78c28db93632cabac69
DIST quote-1.0.40.crate 31063 BLAKE2B 09036ff3e5ebbd775c466bb936de91d4c070481eb4b98c62a4cddcda57cd7b67d63f979b321f6ec64aabee3f5da6c28e7a3efb83f4647768ba578f1bd0bd0bdb SHA512 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99
DIST r-efi-5.2.0.crate 64764 BLAKE2B ee17fae983b2c39137cb75698062a3bf8edb4bc680b04900797730618b54298e2f1d13ceab6b660f7a1799f6fc4113ca15d4320b1b95fc42913e0930f3aa16f8 SHA512 80f89d467b482297ec2c13cb0dc8e310442495483e25c33bb523f1cb66d6ce01fee4a57b36880a4f51c0e9f20eb3f993a5bc0a13224d52693dbc81b97c630158
DIST regex-1.11.1.crate 254170 BLAKE2B 5cf41012fc2ba8a006c0eb4a922cbbf1614bf300be361c9e2d98956a9a5e9b140e37bea09132fab7bfb633d4439158723624bcf45e8c619c4061b399253c1b82 SHA512 d065f6dc405771518260425f39a5eaaf8cab62e78c91ceed3b3994a9a121674d2484cadaaf816bdad89c87a40550d57b66a3d9de6618a7119a658301ce7e67d8
@@ -97,6 +99,7 @@ DIST toml-fmt-pyproject-fmt-2.14.0-crates.tar.xz 17729776 BLAKE2B 00b4918b86c3c3
DIST toml-fmt-pyproject-fmt-2.14.1-crates.tar.xz 17945184 BLAKE2B 8e8e9b9713aaac87efcc128f194217c0f662e947d6011d675fe789594ca689ed947f71999a1f2e59ae7afb59cdbb76be1bb96a2a1f54c8a917115ef0a1ef088b SHA512 7d4eec57f8f1733bdbb86fa75ef198a45f9c56e93feff96c3e12c7747f637ffacd55a71f999ec3b34a48ee08e8772e5f858d56bd243b8a003861d504f2edcb8b
DIST toml-fmt-pyproject-fmt-2.15.1-crates.tar.xz 17961528 BLAKE2B 2bb9ec28695cae8feed6166291c82eed4e25e0653046e05b32dfd9fa3d8fec0d4702025c7a13fc8c9b963d8bea3cc2d44b627220b69e000cd64f05b91c236f7d SHA512 f7bf4d6aa77d84016be40a4fc6f4368a425011e285ecb69e9a32188a41141a081d49723974a97128f159767690359ece1a26a3eba94de9c7b5a9b73abf0912b3
DIST toml-fmt-pyproject-fmt-2.15.2-crates.tar.xz 18692916 BLAKE2B a48520f1fefbf64a3b7d8f9244a1dcec0c0d5875fedfd1923b399cf36f2ffaa59d5f3ee162c292242254b9464dde9bb3317f416a2650532b3f17f34cd816b5bd SHA512 3d27f4d184f9eee50322f207516d6f5b33226694e159ee06520f21dd316e177775edf7ef36c991cf65598f3bcf46030e2546e62eb5d06d353b6bb13767af86f5
+DIST toml-fmt-pyproject-fmt-2.15.3-crates.tar.xz 18703880 BLAKE2B 49ba7c43f6585b05248632fd96db4db96960930c2190f16008bb2a2490ea334f345623ebb29d9f827bbc41400239652d4e37092e494eb01a8f989c4b183ca0ae SHA512 77ba1a5cdefaadf643601867b5ed4be7c0879831fba67cf579d71d68ec71cbc3c765ae4e0103b93f5170c69f0fdc4e7c6f166e2fe53a38bff70d4f899b817263
DIST toml_datetime-0.6.9.crate 12622 BLAKE2B 0362fbee2359fb7388bd679ccf114e554234294437dd3aa26b0e969aadd0e0fb76ad89eb33e0c4a2b50883764f64708fad2e265562feba13688fdd07623e18af SHA512 8409a902d7f6c22a8837cb71fd0e4fbb40b34c1608c3e858f4f5268c34948b94e9f9dae9e6f3ba73c78e3db14754fcec0b22081160acb228ae366aeafaaead9c
DIST toml_edit-0.22.26.crate 121714 BLAKE2B c1e39ec75d3d34e038d7a7e3af4d74b1a53010ed2d837a3643f08e459231ec7f15c149910dbc5294187601e342b0ba03fa8129dbc879b326841a32513ed7fdd2 SHA512 8cad3472f790e3423dadb34da76f77fd122721daa1c855a749699ac0af8e39c2453ed47369b14e8603204acb896a966ea98857118003a5d75cc48ca5e28ecff7
DIST tracing-0.1.41.crate 82448 BLAKE2B c056d938e001654e03efaec7a11eb8ecfbdfe9af2099271fcefa43f4f4683b40c59f7111fdf7f27df4da38bcbe94f1b2ac0abb6ec3d6e6a0d165b9fbb14da3a3 SHA512 dffb8d3a1375f1b9d5418550a46cb7b1d92b2cc8ffbccb430a38f7731547960775bb42798074186711847d256eee30fb3e74078b69cb36f28c07d9f231dbf96c
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.15.3.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.15.3.ebuild
new file mode 100644
index 000000000000..b5325fb80145
--- /dev/null
+++ b/dev-python/pyproject-fmt/pyproject-fmt-2.15.3.ebuild
@@ -0,0 +1,101 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYPI_VERIFY_REPO=https://github.com/tox-dev/toml-fmt
+PYTHON_COMPAT=( python3_{10..14} )
+
+RUST_MIN_VER="1.87.0"
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [tombi-accessor]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-accessor'
+ [tombi-ast-editor]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-ast-editor'
+ [tombi-ast]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-ast'
+ [tombi-cache]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-cache'
+ [tombi-comment-directive-serde]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-comment-directive-serde'
+ [tombi-comment-directive-store]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-comment-directive-store'
+ [tombi-comment-directive]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-comment-directive'
+ [tombi-config]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-config'
+ [tombi-date-time]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-date-time'
+ [tombi-diagnostic]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-diagnostic'
+ [tombi-document-tree]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-document-tree'
+ [tombi-document]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-document'
+ [tombi-formatter]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-formatter'
+ [tombi-future]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-future'
+ [tombi-json-lexer]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-json-lexer'
+ [tombi-json-syntax]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-json-syntax'
+ [tombi-json-value]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-json-value'
+ [tombi-json]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-json'
+ [tombi-lexer]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-lexer'
+ [tombi-parser]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-parser'
+ [tombi-regex]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-regex'
+ [tombi-rg-tree]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-rg-tree'
+ [tombi-schema-store]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-schema-store'
+ [tombi-severity-level]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-severity-level'
+ [tombi-syntax]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-syntax'
+ [tombi-text]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-text'
+ [tombi-toml-text]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-toml-text'
+ [tombi-toml-version]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-toml-version'
+ [tombi-uri]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-uri'
+ [tombi-validator]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-validator'
+ [tombi-version-sort]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-version-sort'
+ [tombi-x-keyword]='https://github.com/tombi-toml/tombi;749df5d762ec02cc6d960f37dbaeaf060ebaf1d5;tombi-%commit%/crates/tombi-x-keyword'
+)
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Format your pyproject.toml file"
+HOMEPAGE="
+ https://github.com/tox-dev/toml-fmt/
+ https://pypi.org/project/pyproject-fmt/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+ https://github.com/gentoo-crate-dist/toml-fmt/releases/download/pyproject-fmt%2F${PV}/toml-fmt-${P}-crates.tar.xz
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0
+ Unicode-3.0 ZLIB
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ ~dev-python/toml-fmt-common-1.2.0[${PYTHON_USEDEP}]
+"
+# tox is called as a subprocess, to get targets from tox.ini
+BDEPEND="
+ test? (
+ dev-python/tox
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so"
+
+src_unpack() {
+ pypi_src_unpack
+ cargo_src_unpack
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i -e '/strip/d' pyproject.toml || die
+}
+
+python_test_all() {
+ # default features cause linking errors because they make pyo3
+ # wrongly assume it's compiling a Python extension
+ # https://github.com/tox-dev/toml-fmt/issues/23
+ cargo_src_test --no-default-features
+}
diff --git a/dev-python/pytest-env/Manifest b/dev-python/pytest-env/Manifest
index ea8b3a62880c..e96c1460a0f2 100644
--- a/dev-python/pytest-env/Manifest
+++ b/dev-python/pytest-env/Manifest
@@ -1,2 +1,3 @@
-DIST pytest_env-1.1.5.tar.gz 8911 BLAKE2B 77195479f0a7bfe7b82b164f30c73e37f05002b33b19b605a056f476d02dedf8ed7eb0e116fe88c00dff2732f31d271539389eb790bcd4602c62f93e732530e9 SHA512 8f7df6d823067f55b3e761acee76744dc64e2e0f0c1e19ef5ab4db3215e92843279742782e654e652af025126f6c31ba86a54e3ef9e2223ca6057fbdc136ddd1
DIST pytest_env-1.2.0.tar.gz 8973 BLAKE2B d7ce810c44090d6b45e045ec765d9d560b5f257f0cb020d61875744331dd3a798cbe13fca2bb126beebfb765c0bd76019f2b09d6cb7e1ee34bfd4ea8ff65d94d SHA512 b7848196b2417871c976aed54751f5dc46c59e5a0bebe2d5c3d2801e80aa95b06eb5e9a90afba2bdddbc831fc1612cdc9a7fe74b32710035a37949701dd2d316
+DIST pytest_env-1.3.2.tar.gz 12009 BLAKE2B 942a34fc9ca86ec6aaa5ec3716bfe6f4f93c9d80681d92da8163f827d1f443b785c3b64291523c8763cb174a8696e5bc106b984fbb1f109d1aad61d9a9f777c6 SHA512 c2c9937bb6171b41534fae199e61b1be1e4952e737bf831aac1e481104d04ddda6c5e50e14bb6682c9f60ff6f727f660c5cd0ac96a467cafebbf445ef3f78a5b
+DIST pytest_env-1.3.2.tar.gz.provenance 9278 BLAKE2B 939265bafde103b1b9d3a959a46c8d4daf2b4ad068374303de5c9de12fbced5b670a30a08e2ae6d5625909a07708034aaf34ea4484cec72719a1c11df25fa264 SHA512 7d2f1541090a4f47c4b48d591a24b647612088118bc9beacc2768673bd93c4ee86b229f4c12748f7b2cdf5f39d0d61b575efa80b3510f20287f1c80ec3659878
diff --git a/dev-python/pytest-env/pytest-env-1.1.5.ebuild b/dev-python/pytest-env/pytest-env-1.3.2.ebuild
index bd742d363ae6..140bc12df856 100644
--- a/dev-python/pytest-env/pytest-env-1.1.5.ebuild
+++ b/dev-python/pytest-env/pytest-env-1.3.2.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/pytest-dev/pytest-env
PYTHON_COMPAT=( python3_{10..14} )
inherit distutils-r1 pypi
@@ -16,18 +17,17 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm64 ~hppa ~ppc ~ppc64 x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
RDEPEND="
- >=dev-python/pytest-7.4.2[${PYTHON_USEDEP}]
+ >=dev-python/python-dotenv-1.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-9.0.2[${PYTHON_USEDEP}]
"
BDEPEND="
>=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}]
- test? (
- >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
- )
"
+EPYTEST_PLUGINS=( pytest-mock )
distutils_enable_tests pytest
src_prepare() {
@@ -36,8 +36,3 @@ src_prepare() {
# upstream lower bounds are meaningless
sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/sphinx-autoapi/Manifest b/dev-python/sphinx-autoapi/Manifest
index 7dfbd85a51f2..5ee631b41231 100644
--- a/dev-python/sphinx-autoapi/Manifest
+++ b/dev-python/sphinx-autoapi/Manifest
@@ -1,2 +1,2 @@
-DIST sphinx-autoapi-3.6.0.gh.tar.gz 73411 BLAKE2B 0fbe15c138d72a32d224248d94652763d8303ff014dbf2d35d878232e021ebcd9a7b72a792dc4d81aea182ea9cc812290f70954242bffa989d08e1427bb3c94b SHA512 9b671e3ca66ae40e95ce6df89952e9c1f2bf644087d9deaeb0e305de217fc8154445ff947ad9806949603f0956d95ae6d97c711fea52dcd44aa8f828b74f6c3d
DIST sphinx-autoapi-3.6.1.gh.tar.gz 74022 BLAKE2B 8e0ff4ce50454d49db409edcf842fff24bd1362cc048cf28a26fc4bbe128cbd0f0ba372ffb647db66d8b5d980c26db7b7192f05778014b7ec8ab2be7e2c33779 SHA512 42866432a55f5582eb7d2a1ea87ff7a5a34168cc3d0930d6f4c9d5f8c13f45db3ab8ff1290f12cc902906147c591bc7313448bbe39d10347a5381612b74729d9
+DIST sphinx-autoapi-3.7.0.gh.tar.gz 76405 BLAKE2B 7fae64ef459f10720c19bb93b3765ffee3f11a1ca74800bf565935c4acdf63782d8964dbf2badb8bd62607d4dfa982db313d30d2d21f2634e26f2071eddbdff4 SHA512 0aa86eed5288d2efe33c74c0c50b19f6c58b2c51caca3577afd7e67007a4004cc5e89eafdbdc43378c9b8cc21039bcde0e9f1def0ea5e24d404eec12058d1b79
diff --git a/dev-python/sphinx-autoapi/sphinx-autoapi-3.6.0.ebuild b/dev-python/sphinx-autoapi/sphinx-autoapi-3.7.0.ebuild
index bd2afe6d4ed7..3c2841bee796 100644
--- a/dev-python/sphinx-autoapi/sphinx-autoapi-3.6.0.ebuild
+++ b/dev-python/sphinx-autoapi/sphinx-autoapi-3.7.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2025 Gentoo Authors
+# Copyright 2022-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
RDEPEND="
>=dev-python/astroid-3.0.0[${PYTHON_USEDEP}]
@@ -39,15 +39,19 @@ BDEPEND+="
DOCS=( README.rst CHANGELOG.rst )
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet
- tests/python/test_pyintegration.py::TestPEP695::test_integration
- tests/python/test_pyintegration.py::TestPipeUnionModule::test_integration
- "tests/test_integration.py::TestExtensionErrors::test_extension_setup_errors[dotnetexample"
- )
+EPYTEST_DESELECT=(
+ # Internet
+ tests/python/test_pyintegration.py::TestPEP695::test_integration
+ tests/python/test_pyintegration.py::TestPipeUnionModule::test_integration
+ "tests/test_integration.py::TestExtensionErrors::test_extension_setup_errors[dotnetexample"
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
- distutils-r1_python_test
+ # remove conflicting pins
+ sed -i -e 's:~=:>=:' pyproject.toml || die
}
diff --git a/dev-python/typer/Manifest b/dev-python/typer/Manifest
index ff5feef12fe9..d06efddb0e0d 100644
--- a/dev-python/typer/Manifest
+++ b/dev-python/typer/Manifest
@@ -1,2 +1,3 @@
DIST typer-0.21.0.tar.gz 106781 BLAKE2B 12d426b0a4fe7b515adfdb66b9d45b97ea8df540607462cd0fff5e40ccd8eee6965bc36a5f85aa7a3d373f11f5e083a9ef0beea51c3869a331bc75e3c871b3e6 SHA512 2cbcb31fa98e4c18a62a598b04dce584d9f63b92bf4d0b1376aaa24e327e33b383f6fa840870f37cf7a4e9f35e159c6b9eb570870c1008d97ce2acee0d87346c
DIST typer-0.21.0.tar.gz.provenance 9031 BLAKE2B 99ff1f36faba9fdf49bd52ca84e0aab67741e56d8cb4ead915ca436cb36b47a871886af7c414c27b2eb08a1d7ea8dbdb0468f1bd3393d8b653b693b881d7672a SHA512 75088b0d6076cc5eb4c5587074d2f6bc7e93551d634b79a3aa064e375970c4e0c99b2931e9bb8c2a70f7f9299d5dd8d8085cb697baa65ff02c68c2e306832b26
+DIST typer-0.23.0.tar.gz 120181 BLAKE2B ed10661ad2cc942c4010bb9cf01b6a37e1426e7f17632c826375f151fb02b5641e32e4bf8ea07c45f86e1a3c91982df30b4a58fc9e0391717c84ad3fffc1db74 SHA512 a21e41a4075610d12cd28cdb6e8d5136437cb942925b19f95c34db3e62574a03773d5a242dcbd67eac5e77907ca091a9c689638a65ffe411a0fcef20b897a7ca
diff --git a/dev-python/typer/typer-0.23.0.ebuild b/dev-python/typer/typer-0.23.0.ebuild
new file mode 100644
index 000000000000..7f6566550f8a
--- /dev/null
+++ b/dev-python/typer/typer-0.23.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2025-2026 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 shell-completion pypi
+
+DESCRIPTION="Build great CLIs. Easy to code. Based on Python type hints"
+HOMEPAGE="
+ https://typer.tiangolo.com/
+ https://github.com/fastapi/typer/
+ https://pypi.org/project/typer/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/annotated-doc-0.0.2[${PYTHON_USEDEP}]
+ >=dev-python/click-8.0.0[${PYTHON_USEDEP}]
+ >=dev-python/rich-10.11.0[${PYTHON_USEDEP}]
+ >=dev-python/shellingham-1.3.0[${PYTHON_USEDEP}]
+ cli? ( !dev-lang/erlang )
+"
+BDEPEND="
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ if ! use cli; then
+ sed -i -e '/typer\.cli/d' pyproject.toml || die
+ fi
+}
+
+python_test() {
+ # See scripts/tests.sh
+ local -x TERMINAL_WIDTH=3000
+ local -x _TYPER_FORCE_DISABLE_TERMINAL=1
+ local -x _TYPER_RUN_INSTALL_COMPLETION_TESTS=1
+
+ epytest
+}
+
+python_install() {
+ if use cli && [[ ! ${COMPLETIONS_INSTALLED} ]]; then
+ local -x _TYPER_COMPLETE_TEST_DISABLE_SHELL_DETECTION=1
+ newbashcomp - typer < <(typer --show-completion bash || die)
+ newzshcomp - typer < <(typer --show-completion zsh || die)
+ newfishcomp - typer < <(typer --show-completion fish || die)
+ COMPLETIONS_INSTALLED=1
+ fi
+
+ distutils-r1_python_install
+}
diff --git a/dev-python/uv-dynamic-versioning/Manifest b/dev-python/uv-dynamic-versioning/Manifest
new file mode 100644
index 000000000000..d4b12845fec2
--- /dev/null
+++ b/dev-python/uv-dynamic-versioning/Manifest
@@ -0,0 +1,2 @@
+DIST uv_dynamic_versioning-0.13.0.tar.gz 38797 BLAKE2B 53e231ab668cbfe137e02fda14c0f0f7114f53a8dd22bf3447e95100083df9bb65d82ffdc0c5edce9b69cd5bfbf535c95f4f32b0e43dc32d812fc097c7046c29 SHA512 5568115f56b9c5a0c1e5cd2179dcc97c34f8af145a7587dd293710c7755e701d27c550e0bf3d0e9c067ed2e2d960a035a680440ccf4bdb228f90d8917daf25f5
+DIST uv_dynamic_versioning-0.13.0.tar.gz.provenance 9594 BLAKE2B e9dc8fab6286e53b077cc815c4a99a09a43763c71bfff016662b4b513a7dc48edb0482d3c1c7b2f0000ed1008f7a6dbd29618373370e9cf6fc8771c72ade42d3 SHA512 5456a0b1647ac2977620f5468760381a4da86745d419a0b6904eca9682f7896ab800a0ccfbae0d81629d6fc6f86ce23645394fe281cb608749e8b2a550dd7475
diff --git a/dev-python/uv-dynamic-versioning/metadata.xml b/dev-python/uv-dynamic-versioning/metadata.xml
new file mode 100644
index 000000000000..a0d4c5913ba0
--- /dev/null
+++ b/dev-python/uv-dynamic-versioning/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/uv-dynamic-versioning/uv-dynamic-versioning-0.13.0.ebuild b/dev-python/uv-dynamic-versioning/uv-dynamic-versioning-0.13.0.ebuild
new file mode 100644
index 000000000000..11f5370ddc5c
--- /dev/null
+++ b/dev-python/uv-dynamic-versioning/uv-dynamic-versioning-0.13.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/ninoseki/uv-dynamic-versioning
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Dynamic versioning based on VCS tags for uv/hatch project"
+HOMEPAGE="
+ https://github.com/ninoseki/uv-dynamic-versioning/
+ https://pypi.org/project/uv-dynamic-versioning/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/dunamai-1.25[${PYTHON_USEDEP}]
+ >=dev-python/hatchling-1.26[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.13[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/gitpython-3.1.45[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin dependencies
+ sed -i -e 's:~=:>=:' pyproject.toml || die
+}
+
+src_test() {
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+
+ git init || die
+ git commit --allow-empty -m 'test suite needs a git repo' || die
+
+ distutils-r1_src_test
+}