summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-02-04 07:18:26 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-02-04 07:18:26 +0000
commit11efebffb1297275bf280e330f40e820d5260677 (patch)
tree50c16e32a2c7ee0214ef4b74b34298e75dc60721 /dev-python
parentbf15aab4576f51226b82ca675a75701f538685bc (diff)
downloadbaldeagleos-repo-11efebffb1297275bf280e330f40e820d5260677.tar.gz
baldeagleos-repo-11efebffb1297275bf280e330f40e820d5260677.tar.xz
baldeagleos-repo-11efebffb1297275bf280e330f40e820d5260677.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/asgiref/Manifest2
-rw-r--r--dev-python/asgiref/asgiref-3.11.1.ebuild (renamed from dev-python/asgiref/asgiref-3.10.0.ebuild)4
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.42.41.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.42.41.ebuild67
-rw-r--r--dev-python/cmd2/Manifest1
-rw-r--r--dev-python/cmd2/cmd2-3.1.3.ebuild58
-rw-r--r--dev-python/coverage/Manifest2
-rw-r--r--dev-python/coverage/coverage-7.13.3.ebuild110
-rw-r--r--dev-python/denonavr/Manifest2
-rw-r--r--dev-python/denonavr/denonavr-1.3.1.ebuild (renamed from dev-python/denonavr/denonavr-1.1.2.ebuild)2
-rw-r--r--dev-python/django/Manifest6
-rw-r--r--dev-python/django/django-4.2.28.ebuild100
-rw-r--r--dev-python/django/django-5.2.11.ebuild100
-rw-r--r--dev-python/django/django-6.0.2.ebuild100
-rw-r--r--dev-python/django/files/django-4.2.28-htmlparser.patch15
-rw-r--r--dev-python/elasticsearch/Manifest2
-rw-r--r--dev-python/elasticsearch/elasticsearch-9.3.0.ebuild (renamed from dev-python/elasticsearch/elasticsearch-9.2.0.ebuild)4
-rw-r--r--dev-python/google-api-python-client/Manifest2
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.189.0.ebuild52
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.151.5.ebuild103
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild4
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/pyglet/Manifest3
-rw-r--r--dev-python/pyglet/pyglet-2.1.13.ebuild (renamed from dev-python/pyglet/pyglet-2.1.10.ebuild)2
-rw-r--r--dev-python/pyglet/pyglet-2.1.9.ebuild80
-rw-r--r--dev-python/pyqt5-sip/pyqt5-sip-12.18.0.ebuild2
-rw-r--r--dev-python/pyqt6-sip/pyqt6-sip-13.11.0.ebuild2
-rw-r--r--dev-python/pyzotero/Manifest4
-rw-r--r--dev-python/pyzotero/pyzotero-1.9.0.ebuild (renamed from dev-python/pyzotero/pyzotero-1.7.6.ebuild)4
-rw-r--r--dev-python/sabctools/Manifest1
-rw-r--r--dev-python/sabctools/sabctools-9.3.2.ebuild40
-rw-r--r--dev-python/tqdm/Manifest2
-rw-r--r--dev-python/tqdm/tqdm-4.67.3.ebuild43
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.9.29.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.9.29.ebuild161
-rw-r--r--dev-python/zope-component/Manifest1
-rw-r--r--dev-python/zope-component/zope-component-7.1.ebuild40
44 files changed, 1198 insertions, 106 deletions
diff --git a/dev-python/asgiref/Manifest b/dev-python/asgiref/Manifest
index 1ad1dcdb6be2..7e8c9bebc339 100644
--- a/dev-python/asgiref/Manifest
+++ b/dev-python/asgiref/Manifest
@@ -1,2 +1,2 @@
-DIST asgiref-3.10.0.tar.gz 37483 BLAKE2B 33e0197d77f4ca7626b328a75664225f3cfd951ba0408e200c4a00391a724b5ffb50eb078fabcb52b2e424ec7eaa7aabb74aa833b8c5f33665843cbb158eb8fa SHA512 cb7e691cf5c59f25f5e6389fccf6f601aee6efc034ceb74434dacb3e55cc8dd6836230fd2598a65e41b44737cf3a359791f2262acf50e092e04f5c214a67bbbd
DIST asgiref-3.11.0.tar.gz 37969 BLAKE2B af9dab08ead53ef8cc30cf76f85ac37f1c8ebac1d933ac6c56b6bb6dc840f837b2cae4804d9fa39ed48065f2a0193d2d2f49d8ebca6488ad8f8991480e0cb82f SHA512 d78573c73338cc03ea6531017f983bb387a47e67a81252e37d5a2852657c5a3913f7e0b6f69e91bb15963d6683cbce94726911397b1757d4d66cdf4a9b27d957
+DIST asgiref-3.11.1.tar.gz 38550 BLAKE2B 0741e7eb098adb54a72e9e364b60f898368348050dbc56c0d7d8af6b0dc20f3dc5f0761645e922948f885d1939aae4a874f100732479425d63df6f32153fbfce SHA512 f41977ac7a07af7b7c2630b50df30ea4dbbe6b2e6157e9064e3440e342297b5e0c3776648f29e9f8eb95de04d2486872eb2f3e6734b9695073c76f8abaf4053a
diff --git a/dev-python/asgiref/asgiref-3.10.0.ebuild b/dev-python/asgiref/asgiref-3.11.1.ebuild
index e28fa825cd01..96558e80c82b 100644
--- a/dev-python/asgiref/asgiref-3.10.0.ebuild
+++ b/dev-python/asgiref/asgiref-3.11.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2025 Gentoo Authors
+# Copyright 2020-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
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"
EPYTEST_PLUGINS=( pytest-asyncio )
distutils_enable_tests pytest
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 9cfe6067b30d..98aae0dee0f7 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -5,3 +5,4 @@ DIST boto3-1.42.30.gh.tar.gz 1072966 BLAKE2B c770c5027e9791a2b5cf0a77c907c260c3f
DIST boto3-1.42.34.gh.tar.gz 1075720 BLAKE2B 52881dd1683dc36c7f3360113d5418fd0e133d61954f16ca6703bb811b49fa5a9f22889383c3ab44a6a6b5a98aef047e605dc970148e9911c84a3720ef244d94 SHA512 f07639b74736c16c7b57d00dea4c9b961ef97db1ab808c238e966728f70a4b655beb2c6b2081f08c3fca39724b68f0aa353328e52dec89273b9988397b72bd6b
DIST boto3-1.42.39.gh.tar.gz 1078948 BLAKE2B 15a852156234ae0ac04c7ff2d47bfb0da973835be2fa37f94db9ae3f865e1b53b8a1683ca69c61b8dd0165062b3e1e0e39c796e2b9b3ca1c16d20d2b3bce5ffc SHA512 1a15924d9d5db384bf98e75b104417f56900ca2a053215a2d14c96b5fe03f5cf5a4c1ccbdc36d3c3fdec6a39089b556134234572ba462b01b9c6433309bd9f85
DIST boto3-1.42.40.gh.tar.gz 1079283 BLAKE2B 6b1410a6c23054f72cb666fa15444012e87b42a893869648e5a7ef0af4b73d5be587e5a0a6375f358e28da759a6a8e172d7c3b33491fcad93cd32758ea78dd69 SHA512 160e8afaf36daad370a635ed585ef85ed956d14e69845a63344718dca01b9e3f5a67c0e9c9fe189556bc8ee85276b6d0db15bbc6896ac2dc73cde18ec9a63b92
+DIST boto3-1.42.41.gh.tar.gz 1080086 BLAKE2B e4b257b0d20dfc72d1b57ccdae7a456819ad234031f5d73452b95ad8cfc43ce1ec796203ffc586b04bf56ace44b9aa639a7a75d35f4d3438c705a6e3259c2464 SHA512 b7729e1e2b16fe792548465ff2091c1761c20cb56f5ffd86be94b3841557b94fed7b34026d6e070a8ab7ab44605667453b30c103008e6649af24a55a3a575361
diff --git a/dev-python/boto3/boto3-1.42.41.ebuild b/dev-python/boto3/boto3-1.42.41.ebuild
new file mode 100644
index 000000000000..6e5f06a012ad
--- /dev/null
+++ b/dev-python/boto3/boto3-1.42.41.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 875a30e34f3e..147a0b8120c2 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -5,3 +5,4 @@ DIST botocore-1.42.30.gh.tar.gz 15764580 BLAKE2B 001377314a8c2231b838b48192498c4
DIST botocore-1.42.34.gh.tar.gz 15781471 BLAKE2B 694d24a74d14db50f6532c92032e3f0e213b777f701938ce3a8eb0f2120d43f41e5e1197c3d6ce6e1578ca731d6f56d39423b838f49cb28cd04924e268f0d986 SHA512 9f9d9f07badaec82c33c3d0d90cee0a54d8ace7bc54e4ca32716ca21498c600d8f0a321f9aaebb2fe4d4721819b62fca4e47daa1b35d09f8496f30055e66f257
DIST botocore-1.42.39.gh.tar.gz 15795159 BLAKE2B 3485a55d4fabb1b7431035d9d22e5e165c226cd1fb9265dce47dc0123927504e3c4fb1f745d173f9fd7ba1ca3f74a0e31ab96cc0f1de6dbfbfd1c676e1a5ec59 SHA512 5b11b07e149d76c6ae34364f13eef263abcb83008fac1b76dba3ed27ba25b086602bbb4838e0540d4780e84adf7e29ae2fed46493e2e4ce2948bc5b70bdd387f
DIST botocore-1.42.40.gh.tar.gz 15796244 BLAKE2B 9ccfe4e71b26d6f8696ec6a27bc7dcc668e5c4bc232d42cf72c814edba1076d88f46b16fcc1735b6784343cd598d920d88bfd4f68b9fa97d7366364f8b1bb77e SHA512 c90ef78777d9ca610340e24af6e56a5f1d1660707a4fc80c9ca557df39613942c3ef548d4477f5f4e4d3c5f7b9f68efdbce7d73cfe667bbe705fa7b5a64cab25
+DIST botocore-1.42.41.gh.tar.gz 15803963 BLAKE2B 3b34f515acaf1bb1445f975a6f71c7c482b784cf801abecfcb8c621d65fa2ad2f88d2a10cfdb07d3a032e539e5e349d9dbea72fb087cdc07fe8beffe33725350 SHA512 9f9b7a68b2bee537652fe026a5903e67fed40b5ecaf9038bfca2d8fbb5d5359e8c962eeddab4a9c5fd9f3361342751b63cabb7b56e9013ca054691d689ce8bbc
diff --git a/dev-python/botocore/botocore-1.42.41.ebuild b/dev-python/botocore/botocore-1.42.41.ebuild
new file mode 100644
index 000000000000..f6ce0d9ed8d5
--- /dev/null
+++ b/dev-python/botocore/botocore-1.42.41.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/cmd2/Manifest b/dev-python/cmd2/Manifest
index 09959fc605d3..e4e74e992b17 100644
--- a/dev-python/cmd2/Manifest
+++ b/dev-python/cmd2/Manifest
@@ -1,3 +1,4 @@
DIST cmd2-2.6.2.tar.gz 592373 BLAKE2B 917ecd684c60c0a6c1b273ef52fa1e317f71522dfd6fc8a9d2c1ee7fa28788b734c6536a9481ac56ef8409002f503837ae51191478a68e364c4780e9feb4b8e8 SHA512 75531dca561427eef259765a55c6385401edd8bc9d5c4cf08ab97e53e118334be932ee5c59f9e1fcd529a7a5f7416e654ee1d618d91623068ef21bcc66dcfdd7
DIST cmd2-3.1.0.tar.gz 1002416 BLAKE2B d21981abc56e7493f725a7b6adfca8d46c694056069148764ec258a66e3a28a4ba2bf730ffd2376f4654c89d8a042cbcaef196bea0bf723190b2e3ed0dca8b1c SHA512 1135012fee82c1a43650a7ee3a3abe517a1803ad424be3bfdb9c902a5d581f9db04742a25b2a0a84e24855ff72beb31c691af39de6c69385be189a1381d61176
DIST cmd2-3.1.2.tar.gz 708232 BLAKE2B 45f66f9c78b6f2dc244ed03f924b504c9c4435e8927b9d45a29888e9964918a4c646869a3ce12e4b483cfed97290ecc19036157041810d57f4ea91e37463cbe4 SHA512 383c627d92477f71bd4cb571873da3066ba91cd26865c45356519d744b004b5034a35ab59a2928c057b60fc4d7aa8a96d44185144dae1a684f2d12f8794566b1
+DIST cmd2-3.1.3.tar.gz 709193 BLAKE2B a2856db6e6554138b3cc9b4c0cfd4ab71eae5eebb66802a4f51dc983a31f706c2c0cfd27992ebcc08b01e65aa74b3c5ca1b7f21cf66d56e9c7ebd211586747cd SHA512 d612c1f543b5e9fedcca0bc368b8b1c5f3a27c4e1ab5229ac4bafbca167680a006d7bc9d7946eef65f6efbe843b5bf7c662acabebacce685cfa779840a8006cb
diff --git a/dev-python/cmd2/cmd2-3.1.3.ebuild b/dev-python/cmd2/cmd2-3.1.3.ebuild
new file mode 100644
index 000000000000..a6f818152cfa
--- /dev/null
+++ b/dev-python/cmd2/cmd2-3.1.3.ebuild
@@ -0,0 +1,58 @@
+# 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 optfeature virtualx pypi
+
+DESCRIPTION="Extra features for standard library's cmd module"
+HOMEPAGE="
+ https://github.com/python-cmd2/cmd2/
+ https://pypi.org/project/cmd2/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc64 ~riscv ~s390 ~x86"
+
+RDEPEND="
+ >=dev-python/pyperclip-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/rich-14.3.0[${PYTHON_USEDEP}]
+ >=dev-python/rich-argparse-1.7.1[${PYTHON_USEDEP}]
+"
+# pyperclip uses clipboard backends in the following preference order:
+# pygtk, xclip, xsel, klipper, qtpy, pyqt5, pyqt4.
+# klipper is known to be broken in Xvfb, and therefore causes test
+# failures. to avoid them, we must ensure that one of the backends
+# preferred to it is available (i.e. xclip or xsel).
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ || (
+ x11-misc/xclip
+ x11-misc/xsel
+ )
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+EPYTEST_RERUNS=5
+distutils_enable_tests pytest
+
+src_test() {
+ # tests rely on very specific text wrapping...
+ local -x COLUMNS=80
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ # TODO: tests_isolated?
+ nonfatal epytest -o addopts= tests || die
+}
+
+pkg_postinst() {
+ optfeature "IPython shell integration" dev-python/ipython
+}
diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest
index 08b15faedecb..0b61f567552c 100644
--- a/dev-python/coverage/Manifest
+++ b/dev-python/coverage/Manifest
@@ -4,3 +4,5 @@ DIST coverage-7.13.1.tar.gz 825862 BLAKE2B 0de47e845fcbe28441dbd7f21a59b859c8ab3
DIST coverage-7.13.1.tar.gz.provenance 9346 BLAKE2B 1a1718983aaf6598f6d41377d2f493b8a6dcbcfe7528b7cd72c66db3c04f4a45bc74a292a902237411c46b3ab5df369e357d441071a2330356602ec7babd4bdf SHA512 b05c028dc60a267ead4fe9ee28266589ccbfaab1b5d5d22ad727d6f2381f7e496c2d84253d65b2a902243c1d14cadcc258725ffc71e2f5925b28ca989f166d1d
DIST coverage-7.13.2.tar.gz 826523 BLAKE2B cad41c9c1b10bdd65d7ea640f14df81a9d1963da387021d529ca548f99db27af120f7590bf0212643ef6bb36a4a653ffc6d3765ab86173c2ffcb65347a7f3354 SHA512 07eca78eebee1aaba9cdd1e64e5d0b17a3c9622ed03decea95850ea16a4cc2d6b4ba838171a64622ed26311beba32d97f62f5b60b048f877c799270bb2739c6d
DIST coverage-7.13.2.tar.gz.provenance 9820 BLAKE2B 5da8bbf1e916389b9482bc4eabdb1637a96b66aaee0cdea1d8e7c11bcec99adb746ec4500dc877fed18649834a0bc6c4346ce5757cd83b58c7a17eb4ebf7212e SHA512 47824e52ad5f2a3a76000e6a284847b53eab94115c4c2875137920c061ff9909cb97145775ecf37963212cf53e9ebddd66ca2bdd87631e05ca4c3832dbc63e12
+DIST coverage-7.13.3.tar.gz 826832 BLAKE2B 59b4923ea16ad2634adf6dcf3e4b7fb3a41937a9c22e0a91f7581c44f6eb9239b22d131b7bd8d92f23f683ff954e8c8f406075a2ac42484a7300c273889ca0ff SHA512 34a29ef7220700f280b0eba08e3ef5ee821b6a42fec277782ed665c20304739844e2a387f13d7e3b13db3d31f342ae56293fd624e9762a1bcf0d3d67308ee442
+DIST coverage-7.13.3.tar.gz.provenance 9585 BLAKE2B 541bca8acbebf7874d2f50e6bddbe790b28f71840efc3be8a9051570ff5b4fb814f78094b9eb1d701d380320aa8f166b75242a54f282078503b27189914505fa SHA512 b3a6dac06a684c3c38636b5e05e54f0ddcea56374f64aadbbe95c6a95ac67cf382e80f3420acdc5b735573d6e62ce902b6f69b42340db0215d81981292d090d7
diff --git a/dev-python/coverage/coverage-7.13.3.ebuild b/dev-python/coverage/coverage-7.13.3.ebuild
new file mode 100644
index 000000000000..b3a677b0deba
--- /dev/null
+++ b/dev-python/coverage/coverage-7.13.3.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/coveragepy/coveragepy
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE="threads(+),sqlite(+)"
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="
+ https://coverage.readthedocs.io/en/latest/
+ https://github.com/coveragepy/coveragepy/
+ https://pypi.org/project/coverage/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="+native-extensions"
+
+BDEPEND="
+ test? (
+ >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( hypothesis pytest-{rerunfailures,xdist} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_compile() {
+ if ! use native-extensions; then
+ local -x COVERAGE_DISABLE_EXTENSION=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+test_tracer() {
+ local -x COVERAGE_CORE=${1}
+ einfo " Testing with the ${COVERAGE_CORE} core ..."
+ epytest -o addopts= "${@:2}" tests
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken because of pytest plugins explicity loaded
+ tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
+ # these expect specific availability of C extension matching
+ # COVERAGE_CORE (which breaks testing pytracer on CPython)
+ tests/test_cmdline.py::CmdLineStdoutTest::test_version
+ tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
+ # mismatch of expected concurrency in error message
+ # TODO: report upstream?
+ tests/test_concurrency.py::ConcurrencyTest::test_greenlet
+ tests/test_concurrency.py::ConcurrencyTest::test_greenlet_simple_code
+ # packaging tests, fragile to setuptools version
+ tests/test_setup.py
+ # looks like a difference in exit status reporting?
+ # https://github.com/nedbat/coveragepy/issues/2008
+ tests/test_process.py::ProcessTest::test_save_signal_usr1
+ )
+ local EPYTEST_IGNORE=(
+ # pip these days insists on fetching build deps from Internet
+ tests/test_venv.py
+ )
+
+ "${EPYTHON}" igor.py zip_mods || die
+
+ local -x COVERAGE_TESTING=True
+ # TODO: figure out why they can't be imported inside test env
+ local -x COVERAGE_NO_CONTRACTS=1
+
+ local jobs=${EPYTEST_JOBS:-$(makeopts_jobs)}
+ local xdist_args=()
+ if [[ ${jobs} -gt 1 ]]; then
+ # required upstream to avoid cross-test conflicts
+ xdist_args+=( --dist=loadgroup )
+ fi
+
+ local prev_opt=$(shopt -p nullglob)
+ shopt -s nullglob
+ local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
+ ${prev_opt}
+
+ if [[ -n ${c_ext} ]]; then
+ cp "${c_ext}" coverage/ || die
+ test_tracer ctrace "${xdist_args[@]}"
+ fi
+
+ test_tracer pytrace "${xdist_args[@]}"
+
+ case ${EPYTHON} in
+ *3.11)
+ ;;
+ *)
+ # available since Python 3.12
+ test_tracer sysmon "${xdist_args[@]}"
+ ;;
+ esac
+
+ if [[ -n ${c_ext} ]]; then
+ rm coverage/*.so || die
+ fi
+}
diff --git a/dev-python/denonavr/Manifest b/dev-python/denonavr/Manifest
index de2bcf3729c3..a9d8bd2af53d 100644
--- a/dev-python/denonavr/Manifest
+++ b/dev-python/denonavr/Manifest
@@ -1,2 +1,2 @@
-DIST denonavr-1.1.2.tar.gz 210061 BLAKE2B c26f8f975357bff6244351d58cc8e81233b9db4406ea52e97f69772cd563780a8d40d691b2ac06bbeaa0f348947320a0479c2b410200908e5c7c195de1886b5d SHA512 53be0a5fdf1973169f821b976b1be6e9646c50685a456dd3daab88bd74890c389aaa8b2baa48ac3c96ec376923cd0aff1a7dd8587fa0ba695765b8e7e655682c
DIST denonavr-1.2.0.tar.gz 212343 BLAKE2B d878a45a9d38f27c8850fc9adea85860894e3d6c94ad571044b1ab89caf13ebde3ba75ee040c3b53ff88accb9b0688b171876ed613696e18d0a1aed2ec93cd59 SHA512 0cd0528d5a84dc238a497bdbbb662b89736aee9769a6d65261a0da87ce19d2e98b7d4bec8827cf200723dac20e5ca90689388a9fcfbee9cd562ab5232c60d6d0
+DIST denonavr-1.3.1.tar.gz 220721 BLAKE2B f7f5f74c004a8f57e6d9f715edb39278974dd74d866f2fc56785e3754d654eeef80cdbcba1bacb543fda492804494094ae4f6c607b818e5f92757fac5c37e594 SHA512 3e6a5296486ce5da6363415af7d81732ae36668c7b378d50daad7c70516475d4f2452ec0615dde6c7bd95384ba843e77c695455d47b437c93796c21afe6c4d52
diff --git a/dev-python/denonavr/denonavr-1.1.2.ebuild b/dev-python/denonavr/denonavr-1.3.1.ebuild
index 07cdab687e64..a0aec2b2f7d2 100644
--- a/dev-python/denonavr/denonavr-1.1.2.ebuild
+++ b/dev-python/denonavr/denonavr-1.3.1.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
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 3ffe7b85923c..5185f2266f7c 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,19 +1,25 @@
DIST Django-4.2.26.checksum.txt 2550 BLAKE2B 39602268316a1391e5f97baecf412c4c27c355521a82c99a9d017825f3edbb963e5f8693142889f77bd7352bb954a8cb0eee30701daaa03b128c28c6cb520c4a SHA512 668536de6e8293ea72480e86fbdb42852364e8b81b8d170e2035026ca9f73697f1eb52c6c612a11bb2b2894a9a0de27d7f422fdf255b28152021014704070962
DIST Django-4.2.27.checksum.txt 2493 BLAKE2B da4638b538a8ce20c4ee211b374299945a4c8b66854dd233986841073a7b8002b25f8280a9fd1916a2f44bfdcff3adc2760de6b0fd53bc0e4b481664d307ccb0 SHA512 ed435a7967679d8f7a4717fe71452522d2a8b18bd59586ccbe3550a84244d2b0098f631459a43519e55ae5b5615c0d10da69c9fda577395c8335cb624e0f8227
+DIST Django-4.2.28.checksum.txt 2501 BLAKE2B b3d464449fd6e549616a6573915a273effc3c071538ea33966b18ffd151b31d376e2d2b51f993c09f8f69fd392588a011227d2678c4b90341a275dfd35574020 SHA512 33a6951b7f589a1a3dfe2b442b1093502e58fbaeab6414159b5f5a865a7aa83f90a82bdb5e340872dbf55d7d22c71c6f177ca5453fbb7c78f29265abd21d8bd1
DIST Django-5.1.14.checksum.txt 2550 BLAKE2B 73aa763ab3cb61b8de40cd58ea4ef9ca8c570233ab325b3407fa1f08cf6cb485a48a350314e09e01d943ec1091d4bdcd220c9ed4bafccb52c883c539d605aec9 SHA512 9d7f3e1bc290d931ff6285c6553049f687212a60b360fbb4054e76e59b08d51a07de1407cb963fbf551915279233995f049b3196cd3788870f853ec886c17beb
DIST Django-5.1.15.checksum.txt 2493 BLAKE2B ad415c28c9676c39de6fd93976706a7228fbb3a257c6af1151d10ab33cc90b096caebc7150a6ff1f71f2469fcb9053076a29a22d336dd2dee9ed1efac2df6762 SHA512 04504dc22603ff97b0dc5bb1885d22368223d7a047a1a30db225b95376578dd7375b31d4b43036e4ae55e31156cc9d7c01d71f3d46e72bba72e74883a44de36a
DIST Django-5.2.10.checksum.txt 2500 BLAKE2B 421d8d4cdabd3a230c95d237c42689701f381e8a9d3cff9e2ccec998da53315318093db7e51542b6d8108cdf462986240408e36389f261ecf5ac8464992a003c SHA512 016fcda2d99a85abd48fc02d9d3b2c8448859f649a23228049f693c309ac6ebe0a0c3d9995eedb360e6fb9d3f223243346b535df45c62cded8daf3549b19e090
+DIST Django-5.2.11.checksum.txt 2501 BLAKE2B d183529aa2113644d87e4d449d0679f0873eaa5711ea5def7690992b3b84f9ced37a15be7d88a46d809be27baac57102cc238a2633f171ed645c7ca4df680381 SHA512 c65a87ccadb605d6b24db88bfce42e44d868d50867cc82d646800e20fec89927915aa230c35efa0596ca9fd0340de37145bc10af1370c8d9cdcf5ddbb5b956df
DIST Django-5.2.8.checksum.txt 2540 BLAKE2B 6ce5b10c1125ac0f8429dd2050d252e4c3a32c00cc71b727cdf48b80add05031cc017bc0976a6e3bd9ee69ac1c1b8e5eb50c793ff48dc2d611a8396e2a0564ee SHA512 b17e87987f0c9d772d4265e10cbfd51db6ef31dc43f25364762df1dd0da1acf9ca5aa0f300110f511d8eb1e8e87bf48ecc19a0710e7a01b19884459f644982a7
DIST Django-5.2.9.checksum.txt 2483 BLAKE2B b46ad16f6096fb52ad83518d0976fe3cad4b7b21f984be6aa8fd20255306635ccfed7f018ff420052d94ca97d2444dedc4d9a4deacf95fe92718f979aaa7157d SHA512 e72fcd67ebf3542d1f17aed46cc6dcf5efa3e1f39ad6914c50521170a944f08b94ec36caccc254178be8bcf306b76654285d37c02eb4d8c6f0728df53054a3b2
DIST Django-6.0.1.checksum.txt 2490 BLAKE2B 6f88e4a81b71b0882f97584f4610d51e37ae55dbaefb42d2072fb4243cfe612120d1b521fad0778f5fdadb17e2deff2416e37a30403c9c628f94778caac650e8 SHA512 e25c1d008eab2162038a058fd49787bb60092c3693f543b8fe549926f6a62fd6e0ad706104ad18075a479dab85bb6704e4c2912c2e67b836445dfcc0b4f9621c
+DIST Django-6.0.2.checksum.txt 2491 BLAKE2B 6ebb17f041527dc3ff6c82c6fa83f0958c8d83401c49a56e4fb30bb72cfbb5512f7c4314051a34df43902c20e314dea24cfb4bc8247dab6f87f3dce4370b58f5 SHA512 9f39779921e1f8dcaff4d414270688f4853b1625c4915de7e8ff725e50dcec6c7be8b2869b06b437147df57b202f76523433b03e85a310de981d49e646225a4c
DIST Django-6.0.checksum.txt 2463 BLAKE2B 7b0add97f793695868326b8eb58f22433b67d7b9539c932737b7ac148d0816b059436665f38dfdad007d57ed417c4353a8e970601c6a60e678c321f15bb431a3 SHA512 183de83b61595533330ff21412b587c1eeca5a7d9df956f4d2b735b603483ed96169032a387c49d2ab2e0577a1285b4411f3020dbb2025bdd2c0983527c6ede5
DIST django-4.2.17-pypy3.patch.xz 5900 BLAKE2B 2a564fc31d8e2f3def5a532d3bca1a4426a496c659192f602d659e0c1a5f5882978baedb384cc3b67fda8c836513ce43aece80db1528c8e8b6e9ca420f7572ce SHA512 9c9d935aff6db7230a26931b5e7f5f94f3b5ff4fc8f7d4201178571de9d9c7929a0e1e558cc2d9b54b8ee91f85819a5680d24fad6251620515a4a020e3b2d66d
DIST django-4.2.26.tar.gz 10433052 BLAKE2B 5c6cd5cafcca047970b5bd9d4d6f6dedb0fdc51ff27421b409d3f08ec87422e4c33542c299389f315e2390b38498da4a0b8b934f24ececb0f3f9de729fc3975c SHA512 49fc2d3796719b201567bcd1d68d4a018a62ffbd5aef3c609cbeb4e415f6508e383908949dba45fc3c2c9ca6d53f88c80598cf72ea29bf7b9fbd7d237dcc5077
DIST django-4.2.27.tar.gz 10432781 BLAKE2B 1a5864841d86881f245f4e8a11db290aa76753b713f3584aa1a2334131191c472839c2c5ae98bbb2c9e5ed85d99e558f08844a6d38fa87c716092efcd5fcc0b8 SHA512 8bb5e63ef13066aa8ee051ba2b7914f3c848f9c7406f2f53dd1fbaedf1ad752d342ea670485d81969d2b60a42dea2c6064065431e1415e408a7da026785e8ff1
+DIST django-4.2.28.tar.gz 10464933 BLAKE2B ba3cccd170050cffe1fafbb7e06ff7f74b47b4a402539283957d8079522aa81fdc45801acb719cf26c4bdf37cfd1e5dfc2e3d533979526f411c072b1d190d2de SHA512 7d7e33d8bb08aed5d6f500058989b70cb0a4a7e81bf0c49e2da8f627885d0f7d408c40fed521ba500fef871091eecf80ebac662672573128a06006f77f7cfd1d
DIST django-5.1.14.tar.gz 10720998 BLAKE2B 83bc02c1375a75b83678a9fe86362077e96b34c6fd2c451072c7be3b343c6fe2754deb107ffa34d949ab5ff0f406acfc967ef3cd52cd5147255d09a4ac5828c3 SHA512 29e2d4746df664a129a940ba9ba35d5b5e5f7104477e3055b02628f66c761def7d601b0f917c7e16988795c36c749d7c093e53da8ad90983a9d7f478adb41781
DIST django-5.1.15.tar.gz 10719662 BLAKE2B fd8a78384b04cf1e0fa7553ebd7db77078450227c6f66e63f5f251efc2c7a7f71a48d1235c179e2f316efe5666681622a1608a129c0aab40c1d2ca4bf0f3879a SHA512 050a3ded3566e378cb273cb95fa1720632f1920aa86993c998758236df5041628ada7a5fb6bd3056720a5becbb45e358c70a2ca7c230b28606a1fd954771c070
DIST django-5.2.10.tar.gz 10880754 BLAKE2B e82fb1e2e24b2bb8cf37442bd98f3e94b6bce74433e5e5d8ada73067a60476befb07ccc38377df26a4ce62b7b18bc3587b5843acb971cac7a54e513bc8f70ef0 SHA512 6cd90823a21b8eee6a2e9f083c379329b016525b02d0c1fbee3aeb68c137f65e163c5390e9024007bcdac3f39742258ab613a41fa2908d923166215ec3d7c101
+DIST django-5.2.11.tar.gz 10885017 BLAKE2B d843f1e2efea91b534e11b924dad0822150bbcadf0e7117b9a30d7b996e3b7a4770777bc8824ccc920fbed2c45d6367c2edcee1ac444b9e0bf93d96b0e90fd85 SHA512 3c82fcd23ecdc2b83fa7fa668389111f88922b16a31e3cd7f279df1cb4bcb0246382bbb8f76fd0d719bef08d0490765cebc0e209d126c932ccc6c6af9ddb43bd
DIST django-5.2.8.tar.gz 10849032 BLAKE2B c24bed7d303ef60d468b898e8b5f09eea21ff98ddc1ee5f44f6c796c47b645cddcd877d0a64817e7c993023c8ed6cc8211ac72470ad4c500c8e54918e4a75a44 SHA512 e360b69d45841c5c6068e96560621155cba5450901c0f598da226bc6fb9ea89c5a909f5568e4b492aa852006e7b00ab3528aa8f5ff6d97baa6227e7dcf8c068c
DIST django-5.2.9.tar.gz 10848762 BLAKE2B 45dc5c96153e57622a1ec52d93db358c3ca6100a82fd95d26f451d44a2792e78948c89c4e90fb0db8c48cbce8e6aad8d0dedc54fa13bf74fa623e6f85251a98a SHA512 669bb4e21b2073fd7a59971efa6d662c5bbfc05284867b562f93b6e56039b06f843726a1a964a4763458c211e238b21d1f91e70cda394d78031a2324bbf35d7f
DIST django-6.0.1.tar.gz 11069565 BLAKE2B cb839fecaf693647014bc5d9accb97a438c36242bad3585b75630fa8596234855aa4275ba11215e59127bdf99231ea2f7ab5dad661d5bbe1bd8854d0b737cd9c SHA512 980eca5f78c0283a73f3235e5eb35c879b0f5f1845f87a95431f6ceff8503dd84c6c71ff32ec94d2ecdc41042de5f3a9d3a7441ecfc9f6f0f716abae6d84b88f
+DIST django-6.0.2.tar.gz 10886874 BLAKE2B aefcda54c8c8b6db59f5edcff145b0a075b481717c5c091564ad4ca846134450f452e89bbfcb09d9abb24c6258eee86a3c9372613376f39c102af4d0d99a347e SHA512 6e2edf1ae322942c768e58916f1fc80e66e233a83240cecc5ceb2d91c40bc13f61bf4753969771a3d9a5fdc0e0e2a88d08dd3ddfabd43d166075c4536a20fafd
DIST django-6.0.tar.gz 10932418 BLAKE2B 897e529e59791ef6813c3abfa44ed7ce9dd051a2770c0fbfdcf47ae9aacc3e0f10a6b0fb6cd47bbd5d609dfd1d8a442528af9c42422c13d6e08bdc5937f35358 SHA512 ebc54f2320c7d7307cffff40d68142596e2cb91128eeec4a21ed88b5791aba6fe3ef599a13ef59b6e5e620531259496e4a7d1ae061e80bcdeb8a6b743c220cb6
diff --git a/dev-python/django/django-4.2.28.ebuild b/dev-python/django/django-4.2.28.ebuild
new file mode 100644
index 000000000000..e0eb8bb70599
--- /dev/null
+++ b/dev-python/django/django-4.2.28.ebuild
@@ -0,0 +1,100 @@
+# 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} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/selenium[${PYTHON_USEDEP}]
+ dev-python/tblib[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20241002 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+ # https://code.djangoproject.com/ticket/34900
+ "${FILESDIR}"/django-4.2.21-py313.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${P^}.checksum.txt" sha256 "${P}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
+ -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:0
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/django/django-5.2.11.ebuild b/dev-python/django/django-5.2.11.ebuild
new file mode 100644
index 000000000000..a3115d0e40f8
--- /dev/null
+++ b/dev-python/django/django-5.2.11.ebuild
@@ -0,0 +1,100 @@
+# 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} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.8.1[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20241002 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+ # d55979334dcefdb11626220000bec97ade09df07
+ "${FILESDIR}"/django-5.2.7-py314.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${P^}.checksum.txt" sha256 "${P}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
+ -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:0
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/django/django-6.0.2.ebuild b/dev-python/django/django-6.0.2.ebuild
new file mode 100644
index 000000000000..98d3fe282383
--- /dev/null
+++ b/dev-python/django/django-6.0.2.ebuild
@@ -0,0 +1,100 @@
+# 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} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
+
+MY_P=${P/_}
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${MY_P}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${MY_P^}.checksum.txt )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.9.1[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.5.0[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20240807 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${MY_P^}.checksum.txt" sha256 "${MY_P}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
+ -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion django-admin
+ bashcomp_alias django-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:0
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/django/files/django-4.2.28-htmlparser.patch b/dev-python/django/files/django-4.2.28-htmlparser.patch
new file mode 100644
index 000000000000..b439a81eb408
--- /dev/null
+++ b/dev-python/django/files/django-4.2.28-htmlparser.patch
@@ -0,0 +1,15 @@
+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/elasticsearch/Manifest b/dev-python/elasticsearch/Manifest
index 392e66466f2f..db81783ac020 100644
--- a/dev-python/elasticsearch/Manifest
+++ b/dev-python/elasticsearch/Manifest
@@ -1,2 +1,2 @@
-DIST elasticsearch-py-9.2.0.gh.tar.gz 2499087 BLAKE2B 89d8d2adcdf8567c2cc54374e3c86eb5e7c4f6fbb456a4d5ba208ac838b6f97934380921feac6ee3bdcf76e7fe29c595e3b26f5fab12302d86e23c216837c196 SHA512 8162597177dd5dcde62b7b345e3db932d8bbe43abdc6df8bbf6f4132143a858cdab89fe3c00b0e7363045ce2114438840e056b9f83ba603558b0bc30f5b2d415
DIST elasticsearch-py-9.2.1.gh.tar.gz 2503341 BLAKE2B afa392b4b25145bf62410bb652853889ab218e5e736a94edbcbc41e56355d8b154045c4788e9168bdaa11f28b43894f78edbbf5a9c364b474f136decd340a13a SHA512 969f05da00a1f158b883842e45ab19764069685ecb88d10da596085448ba914b2c5c1850addb59221469450f111750c35bbe42bad203849e0df5d9565c0c592e
+DIST elasticsearch-py-9.3.0.gh.tar.gz 2522110 BLAKE2B c0ff3ea253156aa8eeb264bca5f9a088a7c20fb93267b0c49e113b5865a3c5745203c4f7285a4f10da02e29db469cbac8d8e7de5b478a022e019d34080ec28bf SHA512 1398bea065f48dbf87b42801a2e19d91a27a5b13bbc158535657b49b40a4b914b9ddc610cc88cfab5b56d69106f530eb472e6a1222f26b7c792db844091bbad8
diff --git a/dev-python/elasticsearch/elasticsearch-9.2.0.ebuild b/dev-python/elasticsearch/elasticsearch-9.3.0.ebuild
index 9770d5966e06..1b2a2c50d933 100644
--- a/dev-python/elasticsearch/elasticsearch-9.2.0.ebuild
+++ b/dev-python/elasticsearch/elasticsearch-9.3.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
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0/$(ver_cut 1)"
-KEYWORDS="amd64 arm64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
<dev-python/aiohttp-4[${PYTHON_USEDEP}]
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 8121ea5f6a53..df5a24f12374 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -3,3 +3,5 @@ DIST google_api_python_client-2.186.0.tar.gz 13937230 BLAKE2B 416c092b1ae3e051bd
DIST google_api_python_client-2.187.0.tar.gz 14068154 BLAKE2B 318b99ae63dc3020ae9fc01816a4c92f518fbbe40627d7afb8d4338b4abc2334bc66f6ca35038efc7105e1100cb4e4e438258f7f00bee669e4f15541dec167a7 SHA512 8456c348d6c10949de86c2898761d800fb24d3bbe1b6f5aa0893a6bdfdac0324df3645b8bcecd33be32ac7e44f55f1ced3f53ed16544dd38c6d4250aebec0985
DIST google_api_python_client-2.188.0.tar.gz 14302906 BLAKE2B 822b2897260a3c37ff1a03b37c1014a62750cf4dfd77f26c1be5c16733bc884e5c6bf9a363db97630f307c2cf86517778f16ab5f58fce1bdfec70ef7c54e0714 SHA512 85ed19bed2fc3c2dfa00af6556c6d32f61c41beaf4c30c58ceab767394a5397d44bf300c5c32588a8649b62f89b474050f6d9546a99378c0cabcd914df9d5a20
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
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.189.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.189.0.ebuild
new file mode 100644
index 000000000000..16e1402184da
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.189.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/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 0803b3212bf0..7e963651c3b6 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -7,3 +7,4 @@ DIST hypothesis-6.151.0.gh.tar.gz 9878804 BLAKE2B 42ef6bf0c5bb8346b38a647804aecf
DIST hypothesis-6.151.2.gh.tar.gz 9878376 BLAKE2B 11f6da8ede480bffb503e67d6ed943eb1497686ef61a401f6fa7d6d819ab293f1595284205f5a7c9b534076d607a5d6c7a9a5eea2a89be2375f658d4b6a93924 SHA512 6f8f73a740e046f4e96e7c1f5d6ececd75a2d9a12e52b94fcf2419cfe2cb02807a16e030a0ce0335793c12beb07f07423cdc13a61d432a3836d9fc767c3e912e
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
diff --git a/dev-python/hypothesis/hypothesis-6.151.5.ebuild b/dev-python/hypothesis/hypothesis-6.151.5.ebuild
new file mode 100644
index 000000000000..6569720d26ff
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.151.5.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/langdetect/Manifest b/dev-python/langdetect/Manifest
index d12ab8aeaca8..a11d7c268c91 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1,3 +1 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
-EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e
-MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
new file mode 100644
index 000000000000..637368d2f237
--- /dev/null
+++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
@@ -0,0 +1,13 @@
+Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
+
+--- a/setup.py
++++ b/setup.py
+@@ -18,7 +18,7 @@ setup(
+ author_email='michal.danilak@gmail.com',
+ url='https://github.com/Mimino666/langdetect',
+ keywords='language detection library',
+- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
+ include_package_data=True,
+ install_requires=['six'],
+ license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index 271137de443d..7100f5f39dd8 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,4 +19,6 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
+
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index 020e07f2a3dd..c0f74ac187e2 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,11 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
</maintainer>
- <upstream>
- <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
+
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pyglet/Manifest b/dev-python/pyglet/Manifest
index 0a0ab108641e..093444b58758 100644
--- a/dev-python/pyglet/Manifest
+++ b/dev-python/pyglet/Manifest
@@ -1,3 +1,2 @@
-DIST pyglet-2.1.10.tar.gz 6594138 BLAKE2B 3b7f00605084856caee4bcde7d8f857b3a0287946c912673965d4451873684d599226440a7cdd6e1f4535cda8bb6feb190450dc94150900244e7cdcbbe831a96 SHA512 b07fa44285982a537ae4616dd8b36e5a4743014ea1d0f0f5317d4222ab6867cc37007973806eb6bada194ff5d8cce8cc057ee0c69afda31f48f3a163845c6004
DIST pyglet-2.1.11.tar.gz 6594448 BLAKE2B 7fc10e9e2ebfd6b122fb6414aca7f4c1abddef1ef1d36ee3724a03b5f604ba4b537455c02cf7db02f95ac81b180b7f12900ba94e7beec264906c8b6c857f5711 SHA512 72a5fdc2f43cd3104f41831f7aaf7b66c4411c51db4d03b87c97706ec72756dfc441f1ab6c950030d5b4b5ee92cb7ebc16eca3e4f6a4c43e7e78636e511bfc47
-DIST pyglet-2.1.9.tar.gz 6593094 BLAKE2B 0af2ec4b4f7414a644555268b04f71b99fb157c65c8f2d961490676c9182aec524be82397589cb113972197f8bc94a0b00f234732d9559ba4ff85c6ed3b23bf3 SHA512 1d865ee8145245e2afb41aa40c7b4d938ca4b092b02b57480b3d375991428de222016bafaa7111b765e2dd20f4155d962582fb6978a1c7f5e1532c23431dbfcb
+DIST pyglet-2.1.13.tar.gz 6594811 BLAKE2B 05ebbd82913fcd811f4ec12377107baaa88961c8b0bc23e64905379b6e12767b42ce4adf65c414a24b17687fb2365f54ff8e5aaa723582c449f10aa8d7df4089 SHA512 d0fd1526183767ac1f94df2c13f18e3076a8e1b5177a5cb58b6ef354929b3f9710e442c4c2bbad437c808b949d0e956524c427419a073b0cfad87f54b5c4ff9a
diff --git a/dev-python/pyglet/pyglet-2.1.10.ebuild b/dev-python/pyglet/pyglet-2.1.13.ebuild
index 9b7e125eacf8..79ffdb1ba2e3 100644
--- a/dev-python/pyglet/pyglet-2.1.10.ebuild
+++ b/dev-python/pyglet/pyglet-2.1.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
diff --git a/dev-python/pyglet/pyglet-2.1.9.ebuild b/dev-python/pyglet/pyglet-2.1.9.ebuild
deleted file mode 100644
index 27a6b9417234..000000000000
--- a/dev-python/pyglet/pyglet-2.1.9.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi virtualx xdg-utils
-
-MY_P=${P/_/.}
-DESCRIPTION="Cross-platform windowing and multimedia library for Python"
-HOMEPAGE="
- https://pyglet.org/
- https://github.com/pyglet/pyglet/
- https://pypi.org/project/pyglet/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-IUSE="examples image +sound"
-
-RDEPEND="
- virtual/glu
- virtual/opengl
- image? (
- || (
- dev-python/pillow[${PYTHON_USEDEP}]
- x11-libs/gtk+:2
- )
- )
- sound? (
- || (
- media-libs/libpulse
- media-libs/openal
- )
- )
-"
-# ffmpeg? ( media-libs/avbin-bin )
-BDEPEND="
- test? (
- dev-python/pillow[${PYTHON_USEDEP}]
- media-libs/fontconfig
- x11-base/xorg-server[-minimal]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- xdg_environment_reset
-
- local EPYTEST_DESELECT=(
- # lacking device/server permissions
- tests/unit/media/test_listener.py::test_openal_listener
- tests/unit/media/test_listener.py::test_pulse_listener
- # fragile to system load
- tests/unit/media/test_player.py::PlayerTestCase::test_pause_resume
- tests/unit/test_clock_freq.py::test_elapsed_time_between_tick
- )
-
- # Specify path to avoid running interactive tests
- # We could add in integration tests, but they're slow
- nonfatal epytest tests/unit || die "Tests failed with ${EPYTHON}"
-}
-
-python_install_all() {
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pyqt5-sip/pyqt5-sip-12.18.0.ebuild b/dev-python/pyqt5-sip/pyqt5-sip-12.18.0.ebuild
index 9f1602cb1fb8..44e74ba6376d 100644
--- a/dev-python/pyqt5-sip/pyqt5-sip-12.18.0.ebuild
+++ b/dev-python/pyqt5-sip/pyqt5-sip-12.18.0.ebuild
@@ -14,4 +14,4 @@ HOMEPAGE="https://pypi.org/project/PyQt5-sip/"
LICENSE="BSD-2"
SLOT="0/$(ver_cut 1)"
-KEYWORDS="~amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
diff --git a/dev-python/pyqt6-sip/pyqt6-sip-13.11.0.ebuild b/dev-python/pyqt6-sip/pyqt6-sip-13.11.0.ebuild
index e22e14afed63..0b3da6d3984a 100644
--- a/dev-python/pyqt6-sip/pyqt6-sip-13.11.0.ebuild
+++ b/dev-python/pyqt6-sip/pyqt6-sip-13.11.0.ebuild
@@ -14,4 +14,4 @@ HOMEPAGE="https://pypi.org/project/PyQt6-sip/"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
diff --git a/dev-python/pyzotero/Manifest b/dev-python/pyzotero/Manifest
index f308cbebb0cd..759b0e7a9a8b 100644
--- a/dev-python/pyzotero/Manifest
+++ b/dev-python/pyzotero/Manifest
@@ -1,4 +1,4 @@
-DIST pyzotero-1.7.6.tar.gz 533398 BLAKE2B 5b7d4f78a2160ede771ad5b47cdcffc30b0d9410099ce63deaac92e24a0e6dc9c5eb9f587218e372c6f7ca550f00e302a4cf9c70bde19e01f442be8f636bd20f SHA512 d5644dc5d3bbcc9c86aa07fc909dccd0b4b3c38dedec3e3a9603ea8154a5fa908af27faa8e0e49128f2bcf3268a85179f7d562eb4e0d2a4f2c787f545d2afb1a
-DIST pyzotero-1.7.6.tar.gz.provenance 9254 BLAKE2B 45d666a961f334c179b163e65a6e1db84b2180b4947dc832a528031488e67e6187a3b7333d7520514d8acba4cb4bb445780c7f0c25f66d69673fcddf9f89d5cc SHA512 bf78192e411c615db1daac105ebce11eb4bab2900ff8c1f57b9562a1e078987754688b248b55fc37e87894e80d39c0766d2c087db80cee6cef9cb9a24fb2d20b
DIST pyzotero-1.8.0.tar.gz 542005 BLAKE2B 3675bbb97d6c3931c8bd67e5a1b61826e5fb1e3850d4c50ea6139f7743c75c795c5b18bef74adc121a56df5811d16d5417adb3c089aea729697ef4594c87f5dc SHA512 5218bb0c45aad1f4c53f73aaa470215ed2bf63a4c721ee64f60aa144d3ac9617a675515bfd06c63db95fa8530f095c9eadc67b59eb1209c1701be22dca9df1a0
DIST pyzotero-1.8.0.tar.gz.provenance 9346 BLAKE2B 8aa25251118ddb4c920719b3fcc9ce4f6bd064137a1cc166e87d844aae14dc098298b2c2180bf6e7b29329f6e5202a0a943465455fb9adb07debb4c3ff974bb4 SHA512 919e9dd743972a27a1337aa358c4c4bd98fbf078c3eb5c29796112205e92277075ca088cfaf6f5a3fc252e41b6d22d8704826c1d285dc0a23236854ca96a03a4
+DIST pyzotero-1.9.0.tar.gz 543747 BLAKE2B 91d8f57e09d20426914df1f67a8b7618476684030a4a2e8a1f7874bdc38a30c2f82d1b534587753f19bd75f8b0d26dc8e0d878cd6bcd49cda56599fe151a4765 SHA512 140ee3b41985cad1e698f39ac18ac6e9a07c77041a562263346e1e481f8d65f7c517950e8f4193af6f456dce60c878db53a93b19aff5b857350a05f56a5586ff
+DIST pyzotero-1.9.0.tar.gz.provenance 9534 BLAKE2B 76bb75a924d9032a0369ff993c4e97196b4c4aa4cc0377bbd521d724f23116897015b332e1a2b130c7eb8207d91cd93f88a255808a58b6f4fc785fd9f6848fec SHA512 fd9ef5ce0fe1d3eed014db8eff50303e3212530bc2a66c9c6a4f2ec2c428ee4d5c2a2475755b623ec132623bd226c8e3cf9e21720f8013b2c6a9d9d16470ce04
diff --git a/dev-python/pyzotero/pyzotero-1.7.6.ebuild b/dev-python/pyzotero/pyzotero-1.9.0.ebuild
index 375eb6a672e6..c26bc34fb446 100644
--- a/dev-python/pyzotero/pyzotero-1.7.6.ebuild
+++ b/dev-python/pyzotero/pyzotero-1.9.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
@@ -31,7 +31,6 @@ RDEPEND="
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}]
@@ -45,5 +44,6 @@ EPYTEST_PLUGINS=( pytest-asyncio )
distutils_enable_tests pytest
python_test() {
+ > tests/__init__.py || die
epytest -o addopts=
}
diff --git a/dev-python/sabctools/Manifest b/dev-python/sabctools/Manifest
index fa0d0db4777e..243423fcdbf0 100644
--- a/dev-python/sabctools/Manifest
+++ b/dev-python/sabctools/Manifest
@@ -4,3 +4,4 @@ DIST sabctools-9.2.0.gh.tar.gz 9731762 BLAKE2B bee04537217f7b4be504c2230b24e9b58
DIST sabctools-9.2.1.gh.tar.gz 9732139 BLAKE2B 6606e305a74aece6ad4903c1cb3f5f7fdaa50a159a32bc8489554dba297eeac1a6273dbbff03050de9ffd6e6c18f5234a6cdff1a0b15166578050ba7e91dfab0 SHA512 bde240c20fee06c7b9eb27588af22d2d0871b1bbb862bbcd7d4cf81b6f68c53579352631923989b89a1f4ac94f3570a6c1d65bed22ab3dd018541017aafe2c35
DIST sabctools-9.3.0.gh.tar.gz 9732597 BLAKE2B 53f82a559f96a7a74e86048bfd04d06095b0f2b0e15b68dda07fbfedd11069eb837a12515831301f3cd766504851c4fd539b44de24962086950ee0fd19446d98 SHA512 486c490571dfadc1db0d4279c8f3d1e302717539d3dcf06e2c1773b9e3228a22a307678e15124d63e4416be8f8bc4a6d5e356204a1028c3d93da26d31b11467c
DIST sabctools-9.3.1.gh.tar.gz 9732705 BLAKE2B 9a6c365010f06aabf86bf31532b3fd67b32328633b361495f18b70c23e2407104d659035ffe6948438abf8afaf4a29e79158d1439e3108a1752e6e01766accb9 SHA512 c92dc49fea1f52e6b006cb4242b1d947771cb0e74b31cc807cb76a997a23a6965c68a1aea7e59b09e1d1e26456a9f56df5a3ebcb738b670e6cfa7e2def1d387e
+DIST sabctools-9.3.2.gh.tar.gz 9732449 BLAKE2B d32e2c7ad43036ebb640e6faeecaf2f760a3a2cac2326d755d316bf17e71b23063c2b548eddaa71d6ea4c867da9e23e870a8d28af2537930f7c08b751277a7e4 SHA512 03d53e20f71aa5caf7535b7a80768fc82b4e346073b639af497b8f3a973c8c07c0051b1a84fd1b81a5aa638048a7285c898cded5256eb00c73eb31917c421efa
diff --git a/dev-python/sabctools/sabctools-9.3.2.ebuild b/dev-python/sabctools/sabctools-9.3.2.ebuild
new file mode 100644
index 000000000000..b4eaa0657bec
--- /dev/null
+++ b/dev-python/sabctools/sabctools-9.3.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+MY_PN="sabctools"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd"
+HOMEPAGE="
+ https://github.com/sabnzbd/sabctools/
+ https://pypi.org/project/sabctools/
+"
+SRC_URI="
+ https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/portend[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( README.md doc/yenc-draft.1.3.txt )
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/tqdm/Manifest b/dev-python/tqdm/Manifest
index 0982a8361333..2893fbe7a1c4 100644
--- a/dev-python/tqdm/Manifest
+++ b/dev-python/tqdm/Manifest
@@ -1,3 +1,5 @@
DIST tqdm-4.67.1.tar.gz 169737 BLAKE2B 9591a60570084670cd8e69b44455a374ef7dd91077c1b598f474f261bd0baef6a37b91214d0c9303fb5d04eb6537bebd4d1ba9ed99a8aa496dbca8ec2811c7d0 SHA512 f97d35ff73c9ba92c6cbfc2834cdedcdad2ec1d757ed40220b29d8c8863b197d8d00533e7f2a41589a9f68de1d053cc9715cc8b597759a3dcf96fec192edf4e3
DIST tqdm-4.67.2.tar.gz 169514 BLAKE2B 4c2dc50f2202761b1295ee499e60eb785d00c8d261659f0705d4a3312c0e119e1cb5ddf8e8c0928f690589c92221425489abf59029ef9cec36854d0d93641d3b SHA512 49c8bbf8dd5e667da778576008d463ebe7399dd1b431cd6dd49d4faab65d4252bd55724ab3e0b61b71d7da47cf891c6d1700128ea7cd1c032f79fe8659bc74f5
DIST tqdm-4.67.2.tar.gz.provenance 9232 BLAKE2B 9bb3debdc67189e6eedb996017df15481b8d8bc5b01634be2acd86e49d48af5f1138ae6f8623bd6131428da4d9012eddecd452f8469a9e847de3347c4477c4ae SHA512 d114d7c9a12b2a52674535f799a460fbf66c8fdddb625358abb8523dceb186346462901037937f1a99fcad980b77a9389fa0e93d1f586c703f9fb9e58a97700c
+DIST tqdm-4.67.3.tar.gz 169598 BLAKE2B c1af5e116a5498d3aef5c6d04b9875b73715769f4a29a7de75af8b0274ac105b64a5aac68842654dddf2d436d8651bdad2f3fa90f7d27160e062f665bceec1df SHA512 2d4c52df95365a5173b3f1bcb29f9076bb3d6cd995bf8948ee036c0c6c2b2b9818daf1f4e1970c0af4b4600497b614c5ab67d3ab8b2103772fa73aeea9a347ad
+DIST tqdm-4.67.3.tar.gz.provenance 9138 BLAKE2B 6da7cae665305c9eb1f0aef4ed98ec4e3d722939e4dadca6aba780940b7c99f5b940077315b7276fdda6d759267004435be1e8b52fefc2c6fe1e9a32bb765ea2 SHA512 cf9a2fe00223decb994bcaae6be4c98e109b05019456702c637117e2e9fe4cc1336869b494cea9cff0e3f8518e1fb8099795721728671c132bb5e603bd8fea92
diff --git a/dev-python/tqdm/tqdm-4.67.3.ebuild b/dev-python/tqdm/tqdm-4.67.3.ebuild
new file mode 100644
index 000000000000..2e119d3140fe
--- /dev/null
+++ b/dev-python/tqdm/tqdm-4.67.3.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/tqdm/tqdm
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit bash-completion-r1 distutils-r1 pypi
+
+DESCRIPTION="Add a progress meter to your loops in a second"
+HOMEPAGE="
+ https://github.com/tqdm/tqdm/
+ https://pypi.org/project/tqdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="examples"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,timeout} )
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Skip unpredictable performance tests
+ tests/tests_perf.py
+)
+
+python_install_all() {
+ doman tqdm/tqdm.1
+ newbashcomp tqdm/completion.sh tqdm
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index 7fa029b3fcc1..60d0d97a5b11 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -8,3 +8,4 @@ DIST uv_build-0.9.24.tar.gz 359788 BLAKE2B 79cd6452e95d99a01e8212d80c7c0b30aeb57
DIST uv_build-0.9.25.tar.gz 359005 BLAKE2B b0c8307919092aa0abbca7da379efd315f54c4d70c066633a3524fb1a78fcff0831e071086050b240536a123d965706337f09c716814e5655c9051cd4d879a19 SHA512 601eea260c615b6102c0e6a766d7c5fd0585c72005fb813a22cdc3f568c2f57042f72d3d16822f1c1773e1f9e8580d1f77b1e73b940a026c0a8e8783ef817f7b
DIST uv_build-0.9.27.tar.gz 359927 BLAKE2B 59b28b510f3d6b00e1cc3d4d7b2513181d2b0b494beeb3bc715e02a88ed42efddd2d5baa76c220dd94128bda9283f80f4bbf4fd7510101d022c9a070a7205cf8 SHA512 9b7ddba6293f6b2b6df8d4d5d5d2ededdea9c2806551d61ca32f1831bd0f073c68463336cbfb75e69a202af0cba2f61a9d03c80e19cf4b1c7e5a314b34c59bd7
DIST uv_build-0.9.28.tar.gz 359476 BLAKE2B 287b5b7ef98e9838c12416d0ff1f0ff938a13acf3858a3062f94d699af3d3c94a00be8f0e95effe76c26aa8930c9679f93baeee16822c1a32b5486a87d3bfa28 SHA512 d12d6850f231535f9f6a4abb2086eee76f527fe396b9e5cb63abf6697353c07e8e24c9479804cdcec64054230fea751525d24ce05c811a8d02e03acc5c96957c
+DIST uv_build-0.9.29.tar.gz 360262 BLAKE2B d8d80dbe8d7c0d8f73e6ccc84379a0d410307bb065d74c4020e0ae1a8ca5651cd390408681eb7e10a3bc118e018676fb82d784a5457719a8c20f10252785d1f4 SHA512 ad449f2dcc4b0132f9610124a0ab66145c9f53e81ade24694b4c83f41a0922e6ec1e993898b1c94d2eb872bf8df6313105e6f7d395dbd8f63a6476d199f4f6bb
diff --git a/dev-python/uv-build/uv-build-0.9.29.ebuild b/dev-python/uv-build/uv-build-0.9.29.ebuild
new file mode 100644
index 000000000000..639745396c25
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.9.29.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maturin compiles uv-build executable for every impl, we do not want
+# that, so we use another backend. And since we use another backend,
+# why not dogfood it in the first place?
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index df04befd6499..9545a9730d48 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -18,3 +18,5 @@ DIST uv-0.9.27-crates.tar.xz 40486928 BLAKE2B 51f658d27d85b40b2eabb1e4369e43517e
DIST uv-0.9.27.gh.tar.gz 4895904 BLAKE2B 52a2ddb30979b2be31cabdd242aa448397b86a13d63e121bd97633787d278cb1340ee9d3f0ae664212268da891efccbf4e1c089f6b89fc345a9c82fbd24a8fae SHA512 3c71f9e7d64a32466697124b9b6e96ee3f260deb3abe016cf765e325976d5f1cafb2bc5a1e1aaf876efe5f2b5bc2d347560c2dc6c917f749da63d936621e96fd
DIST uv-0.9.28-crates.tar.xz 40486928 BLAKE2B 51f658d27d85b40b2eabb1e4369e43517e86a211a81ec946f4ca58c4507e0685d65f26ffdf07c0c821213edda865d249a7f3f346ffda9c176eaeab8323fc9f12 SHA512 9f942d809ed5a3806887d8bca616bb904ebe9d0d1c83beec62bd5dcade2c2d566c6db5f0a00abe018cc28ab4ef3e7ff567faa0687557040cbe5a79401d9012b3
DIST uv-0.9.28.gh.tar.gz 4901290 BLAKE2B b5da19f7ddb271d952a71b20262319957809ada26ff73c194239cb6473bbc3c9d0ada3af2e7c3f753f3aed299ba8640f9ea75a573eed66ea5641b93cb19f81f6 SHA512 5ecd47127f630596d81db5c33e5f279fba5b1249ef3dd92269cbdf4f7ade4fe750c0fa1093b557d456504abdb832b7682c81a2945efcd6f1b9d10d933a21bb61
+DIST uv-0.9.29-crates.tar.xz 40470584 BLAKE2B 79f17de0df630b20bcaba8b4649fba3e7eb41aaeedfb348a21b1f00132112bb4d1a0715af5f3fda8afbbaabc09a1f2143e372f76ed632caa6ce7a4a2d6f3036b SHA512 9ef56e24e13247785e204501ad5136cc78fcfe419d2838b683a7cbc915702ea2a6d5fbfa6e3fe884f34a186c62d65a94ca5aca811d31bfba33f60a2d77b9715c
+DIST uv-0.9.29.gh.tar.gz 4906670 BLAKE2B e20a0f6eb8d8ff4ceaebea9d57482cb375c2fff8710a4968b461b17350e1824df3e6fda435ba13dff844c403c80d318d0ea67b6aead14295c9b52df9e9cdc60d SHA512 02db296e156b19bd68663247d0537757550cfd11a8dc1cad650f28436607ee24ae502007c69969d624290d01700998ac4fb0a5935c009a22ef0db40eedf4a502
diff --git a/dev-python/uv/uv-0.9.29.ebuild b/dev-python/uv/uv-0.9.29.ebuild
new file mode 100644
index 000000000000..30f3883671ff
--- /dev/null
+++ b/dev-python/uv/uv-0.9.29.ebuild
@@ -0,0 +1,161 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.91.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
+ CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
+ ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ dev-lang/python:3.13
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+}
+
+src_configure() {
+ local myfeatures=(
+ git
+ pypi
+ python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}
diff --git a/dev-python/zope-component/Manifest b/dev-python/zope-component/Manifest
index 36a33004ac25..7863bf23c946 100644
--- a/dev-python/zope-component/Manifest
+++ b/dev-python/zope-component/Manifest
@@ -1 +1,2 @@
DIST zope_component-7.0.tar.gz 91467 BLAKE2B 1bef9898f2423b3d09eccb852293889941d50dcbcbaf42a1a65ccf7978b640278949a2799b16c86e3227901bc2c090436666564556374422d9f79bfad9191f9d SHA512 e5ba3dca773e19aa9333a85305fc28eea82ecf406c6c5028cf6eb9473ee896653c2aa9e3773614867df1019663e63fad068d1e6707526ee358d41f208be9f4c8
+DIST zope_component-7.1.tar.gz 91153 BLAKE2B a6bf381bac9f97dc977354e81ef3357e4e4a67a8361632104d407a33dfada3d77d43323e7d992c854e9b695096260205da40b05945d68a3c23cafaa812738eca SHA512 1b93eb25475fdd44560f2300faf0ac0eb4cbce71caa417e5083ae6b66219c5657244b12e906fd798d5bd8b31f7aac4f86925664c2dbcca4740db8a405a608f50
diff --git a/dev-python/zope-component/zope-component-7.1.ebuild b/dev-python/zope-component/zope-component-7.1.ebuild
new file mode 100644
index 000000000000..671468baaa87
--- /dev/null
+++ b/dev-python/zope-component/zope-component-7.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Zope Component Architecture"
+HOMEPAGE="
+ https://pypi.org/project/zope.component/
+ https://github.com/zopefoundation/zope.component/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ >=dev-python/zope-hookable-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-5.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/zope-configuration[${PYTHON_USEDEP}]
+ dev-python/zope-i18nmessageid[${PYTHON_USEDEP}]
+ dev-python/zope-testing[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ distutils_write_namespace zope
+ eunittest -s "${BUILD_DIR}/install$(python_get_sitedir)"
+}