summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-02-03 22:37:15 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-02-03 22:37:15 +0000
commitbf15aab4576f51226b82ca675a75701f538685bc (patch)
treec82690c860ef66e0c8b0ce9e90501de18a6ca102 /dev-python
parentd13f0d9dcbc931283ef2e3a5a862c20f7b6aa164 (diff)
downloadbaldeagleos-repo-bf15aab4576f51226b82ca675a75701f538685bc.tar.gz
baldeagleos-repo-bf15aab4576f51226b82ca675a75701f538685bc.tar.xz
baldeagleos-repo-bf15aab4576f51226b82ca675a75701f538685bc.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest4
-rw-r--r--dev-python/boto3/boto3-1.42.37.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.42.38.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.42.40.ebuild (renamed from dev-python/boto3/boto3-1.42.36.ebuild)0
-rw-r--r--dev-python/botocore/Manifest4
-rw-r--r--dev-python/botocore/botocore-1.42.37.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.42.38.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.42.40.ebuild (renamed from dev-python/botocore/botocore-1.42.36.ebuild)0
-rw-r--r--dev-python/braintree/Manifest2
-rw-r--r--dev-python/braintree/braintree-4.42.0.ebuild (renamed from dev-python/braintree/braintree-4.40.0.ebuild)2
-rw-r--r--dev-python/gmpy2/Manifest3
-rw-r--r--dev-python/gmpy2/gmpy2-2.3.0_beta1.ebuild (renamed from dev-python/gmpy2/gmpy2-2.2.1.ebuild)13
-rw-r--r--dev-python/ipython/Manifest2
-rw-r--r--dev-python/ipython/ipython-9.10.0.ebuild160
-rw-r--r--dev-python/narwhals/Manifest4
-rw-r--r--dev-python/narwhals/narwhals-2.16.0.ebuild (renamed from dev-python/narwhals/narwhals-2.14.0.ebuild)2
-rw-r--r--dev-python/orjson/Manifest2
-rw-r--r--dev-python/orjson/orjson-3.11.7.ebuild50
-rw-r--r--dev-python/proto-plus/Manifest2
-rw-r--r--dev-python/proto-plus/proto-plus-1.27.1.ebuild (renamed from dev-python/proto-plus/proto-plus-1.26.1-r1.ebuild)4
-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/pyside/Manifest1
-rw-r--r--dev-python/pyside/pyside-6.10.2.ebuild585
-rw-r--r--dev-python/pyside/pyside-6.9999.ebuild11
-rw-r--r--dev-python/python-tests/python-tests-3.13.11.ebuild2
-rw-r--r--dev-python/requests-cache/Manifest1
-rw-r--r--dev-python/requests-cache/requests-cache-1.3.0.ebuild87
-rw-r--r--dev-python/sqlglot/Manifest2
-rw-r--r--dev-python/sqlglot/sqlglot-28.8.0.ebuild (renamed from dev-python/sqlglot/sqlglot-28.6.0.ebuild)7
-rw-r--r--dev-python/types-gdb/Manifest1
-rw-r--r--dev-python/types-gdb/types-gdb-16.3.0.20260203.ebuild16
-rw-r--r--dev-python/urwid/Manifest3
-rw-r--r--dev-python/urwid/urwid-3.0.5.ebuild (renamed from dev-python/urwid/urwid-3.0.3.ebuild)7
-rw-r--r--dev-python/wrapt/Manifest3
-rw-r--r--dev-python/wrapt/wrapt-2.0.0.ebuild36
-rw-r--r--dev-python/wrapt/wrapt-2.1.1.ebuild (renamed from dev-python/wrapt/wrapt-2.1.0_rc1.ebuild)8
37 files changed, 947 insertions, 321 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index afe7a0be27d4..9cfe6067b30d 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -3,7 +3,5 @@ DIST boto3-1.42.21.gh.tar.gz 1068192 BLAKE2B 281cfe3d55f0b094ca7b7e3b192c94736d9
DIST boto3-1.42.25.gh.tar.gz 1069210 BLAKE2B 33aff7204332da82b7b5df93b74a2b17538734441d3cbd8d2dd971e71794301b5ee281ccf6c9aade4848a36f0611e4cc4b5531c2aff8eba920a78eacbe3f6142 SHA512 71b5976e8b5f67f33a25f4e7a27e0a7d2cf0b96ed10558bb3fda181569a77c9323d991376b139eb2b0e2b93cd3dd93e083f1c56bd06956d387ee587a1145166c
DIST boto3-1.42.30.gh.tar.gz 1072966 BLAKE2B c770c5027e9791a2b5cf0a77c907c260c3fd41b2bce68fa9da1f6bd6afe850a0c6c1d438adce8b07294057e2fb86929e713ba23564ffd3e6d1dd8584e6a34bba SHA512 fc5d4ddcf1e4428cfdb851af21ee5b0cb4eeb7a050288fb3b74001a8ca4cfbdad36d837fab1b4836b551e277e381b692fdc24df5de6c65a217cb5ca38a28979c
DIST boto3-1.42.34.gh.tar.gz 1075720 BLAKE2B 52881dd1683dc36c7f3360113d5418fd0e133d61954f16ca6703bb811b49fa5a9f22889383c3ab44a6a6b5a98aef047e605dc970148e9911c84a3720ef244d94 SHA512 f07639b74736c16c7b57d00dea4c9b961ef97db1ab808c238e966728f70a4b655beb2c6b2081f08c3fca39724b68f0aa353328e52dec89273b9988397b72bd6b
-DIST boto3-1.42.36.gh.tar.gz 1077182 BLAKE2B 9d0acfb4dfb5f24ff1a132e5c01fa5fff70224aff6800aaf0511d93f02bf90f0d04fb0bf9d1c2eaf541d149e08df1a930c878730b168ff506642930b0d36d2aa SHA512 a51d8565071bf86b87b7dbc220c70edb1cc6e866c0a4305143af76334177df82c128061676f1e400ced03ec37675a8955df02296824b6deb758cdfe54623a7b6
-DIST boto3-1.42.37.gh.tar.gz 1078283 BLAKE2B 0feeb879ee4a7d5ac012a9511ef4447344573b333859f6c43b1972f39f076041404541b9023f2b52c063027f9cd961f06da4831448590490b8b24196998e6f22 SHA512 f11b858b1286a3f5202f9c3afabdb6f1ecbc5d6a831b9ad2d93d081291a6701511e0e105a908047496bb144b29ee2394a9b64e5eaa533be5ec3b8907318ca1b6
-DIST boto3-1.42.38.gh.tar.gz 1078731 BLAKE2B 59dd62ec0231ead44887989a118722d8d12dc022d61ef26fa347db40fd06a818793d43e1e97268be36310841e697ad47de67168811ce46644725bf567b8af50f SHA512 08257d9e7aebbb8b73f5c94212b32834b1eeed28111a699aa8cd8316201af800bda7d5a20338e8569cdd91b0acc1af0f39b049cd65fa29596a373a20d9335528
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
diff --git a/dev-python/boto3/boto3-1.42.37.ebuild b/dev-python/boto3/boto3-1.42.37.ebuild
deleted file mode 100644
index 6e5f06a012ad..000000000000
--- a/dev-python/boto3/boto3-1.42.37.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_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/boto3/boto3-1.42.38.ebuild b/dev-python/boto3/boto3-1.42.38.ebuild
deleted file mode 100644
index 6e5f06a012ad..000000000000
--- a/dev-python/boto3/boto3-1.42.38.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_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/boto3/boto3-1.42.36.ebuild b/dev-python/boto3/boto3-1.42.40.ebuild
index 6e5f06a012ad..6e5f06a012ad 100644
--- a/dev-python/boto3/boto3-1.42.36.ebuild
+++ b/dev-python/boto3/boto3-1.42.40.ebuild
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 4f711e0b29d0..875a30e34f3e 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -3,7 +3,5 @@ DIST botocore-1.42.21.gh.tar.gz 15742994 BLAKE2B 65de15224f2c720267d0ccd3c42001a
DIST botocore-1.42.25.gh.tar.gz 15746961 BLAKE2B ba4474223e49f36be485d147d54fa5ed1b848022ef4d1fca9169c1cb2c29adafb487834e3bf99154cd658c9c3d47da9cdd6f42ed626c868e258b58aaeb0ce1c6 SHA512 3ab0747b0778d0d0172c12edc76cc7ee647e063c6b86f69998d02bee848cf1fb400c4e6e43ba6acad00846b18ce7de7acf7bab1daf6c1e864bfa8771baa17a6d
DIST botocore-1.42.30.gh.tar.gz 15764580 BLAKE2B 001377314a8c2231b838b48192498c4d4873de90017eb0c82c7409db210f1dbd09db30925d0b4ae7feb9e270ff947b16308a625fdb5910ca95220e443d104461 SHA512 9ab375ba9284780d347eac25b5446b0571991496897732e0dac457d2d8e7b12aa6b5b417478ed02516a407fa689953a715877590a9b16b3c17c584810cc6a8c9
DIST botocore-1.42.34.gh.tar.gz 15781471 BLAKE2B 694d24a74d14db50f6532c92032e3f0e213b777f701938ce3a8eb0f2120d43f41e5e1197c3d6ce6e1578ca731d6f56d39423b838f49cb28cd04924e268f0d986 SHA512 9f9d9f07badaec82c33c3d0d90cee0a54d8ace7bc54e4ca32716ca21498c600d8f0a321f9aaebb2fe4d4721819b62fca4e47daa1b35d09f8496f30055e66f257
-DIST botocore-1.42.36.gh.tar.gz 15785362 BLAKE2B 2671eb300bc99285ffe42c07179df5324a824a306179c6c9d136791deecbebb2b9905b8c2c3c4bc8b0460c4f76d6824df7e3c82d672207210432828754138652 SHA512 7563c3346a6ee337984873602d303d84b4bd9ca5f707b86dba80898d50020ecbe0e6a8ffacb1d29505492ddff403daf63dd91e3c3018b5b180d464753b101b1f
-DIST botocore-1.42.37.gh.tar.gz 15791303 BLAKE2B 03061062ead9b8c2170c897a0d17c96c1186d12783754ce4610d32578179b6ec773960f7b2f1b68bec83807219fee86fea6c3a9f8ecf47daf7ebf9cd89bdb962 SHA512 3b5fd451daeb6537efd10340c2edb35319cb7c5970c21dc7d6231fc726ec168a2aad2776e0fec9f21440498955e34aca2d2d022b3e5e98e94f7f49a8a95a33aa
-DIST botocore-1.42.38.gh.tar.gz 15793710 BLAKE2B a7c4be9316fb190097d39c3276343fd8c01b6dc88ef1bfd6b7db06648988e50edf33ec4b0b528c5513450af93763bc2372e66c531b96045855db01017facabd4 SHA512 a84d8d7470aecfd782ec355b1f36dfaf906832aaba8b545c4ea15026cf41bb2361fe01cb72fa10e370f4a5d1afa9a141f032a3d529ea541707d960bbd6b319b9
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
diff --git a/dev-python/botocore/botocore-1.42.37.ebuild b/dev-python/botocore/botocore-1.42.37.ebuild
deleted file mode 100644
index f6ce0d9ed8d5..000000000000
--- a/dev-python/botocore/botocore-1.42.37.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{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/botocore/botocore-1.42.38.ebuild b/dev-python/botocore/botocore-1.42.38.ebuild
deleted file mode 100644
index f6ce0d9ed8d5..000000000000
--- a/dev-python/botocore/botocore-1.42.38.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{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/botocore/botocore-1.42.36.ebuild b/dev-python/botocore/botocore-1.42.40.ebuild
index f6ce0d9ed8d5..f6ce0d9ed8d5 100644
--- a/dev-python/botocore/botocore-1.42.36.ebuild
+++ b/dev-python/botocore/botocore-1.42.40.ebuild
diff --git a/dev-python/braintree/Manifest b/dev-python/braintree/Manifest
index dc6be76233bf..6372b08a3a37 100644
--- a/dev-python/braintree/Manifest
+++ b/dev-python/braintree/Manifest
@@ -1,2 +1,2 @@
-DIST braintree_python-4.40.0.gh.tar.gz 261148 BLAKE2B 7d3ab6ed41fb3ad19a12ae3824872d6f88dfdcf0b5990c88a1dfcf6677ab0de46e37ee77a185ad15614473b89116fe4958011976b16955257a5778447282ad8c SHA512 d3735e6ee338d775029090532f82ed3d68f51bf8436c95b968ae2af242120aef6cbeab859315775963a4ba9471eeb6d53d13c40a3037248d1488cde460f5ae5a
DIST braintree_python-4.41.0.gh.tar.gz 261846 BLAKE2B cd1cad5037e4eb65c20ccef1789f3c4f60bd9ed68ab627e8dcd548d59f1ae609b8a1b5e9c7afcdbfb656b960693b652a57a38187241c0d5c85036c344731cf47 SHA512 5697875c19283dc6f1f0afdafd4b6c1f4aebeb0750c269cd96d7016f928ce701d4935d52fc8702dcb32c2417f25084fa9fdbb510d7d89d59598ea5912ef942a9
+DIST braintree_python-4.42.0.gh.tar.gz 262839 BLAKE2B e19d57ae965abd34a66f37bcab71bc6afe9ec1e3aa8bf311d369472f6f25d8e2428882b63000ce02e2461089f4c434c540ba4a2e4b3186fb24337ab0cb71f2ef SHA512 58fa787fa01e6542b83f5e1c817dd651ddca541074ed87ba57a77b39be040066d7bfe597cdeb06971399ed1926f5fe3cc5394bac5555e6086d656e0ce70437cf
diff --git a/dev-python/braintree/braintree-4.40.0.ebuild b/dev-python/braintree/braintree-4.42.0.ebuild
index 1630b7ba8a43..f148e588edda 100644
--- a/dev-python/braintree/braintree-4.40.0.ebuild
+++ b/dev-python/braintree/braintree-4.42.0.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
diff --git a/dev-python/gmpy2/Manifest b/dev-python/gmpy2/Manifest
index 37e824080042..6e28b059f907 100644
--- a/dev-python/gmpy2/Manifest
+++ b/dev-python/gmpy2/Manifest
@@ -1,5 +1,6 @@
-DIST gmpy2-2.2.1.tar.gz 234228 BLAKE2B 80188c6abd30ee5b5ebc4d233d3d97dd78be7f9d21d0649429e87b23d3e6d8b5b9269c792d481f24bd3b43d28e012bdd64ee6bb5d0137e3ac759742c845186c1 SHA512 2a3dc011295a373e10455e1f133aa3063cff24cdac0151cee9f29ce5855c3e44c3e3aab61bf13c11c9df1147b9183c6c387db1cb4dcb270b9dce1a9cb521f5dc
DIST gmpy2-2.2.2.tar.gz 267106 BLAKE2B a5470ebfbe98e51945979e6796a4c934fdb428d594293eb7df80fc9dfc01cce75d83f7d277dc1ac02cd2006c9e292d9e94af328af3c13cab7a1fd29003d9beaa SHA512 e2bf224645f06099acffcd75539b22739a3a832fb9c080075893a669f938e959d00341293ecc06c4aa4a001daed65901da4a2f0329981270424458e4e95d0a29
DIST gmpy2-2.2.2.tar.gz.provenance 9038 BLAKE2B 9881fc716b89ae9ab3993e02d5fdd112014296957299c19f43bd6dc7c0fe28d9565853148f5e184b5475ccdc71774b549ec76b87301cf919259099091c711810 SHA512 a80dc54d5638d6586cc03cde2abe84f32a402ad203e41da0922c0877fe7070f67f1aaa99eec221cb8fdc6a0298eed8be23ffce172e5b05d7d604b3d5a2c8173d
DIST gmpy2-2.3.0a3.tar.gz 277957 BLAKE2B 14bf937b105a64efb179523d737834979665bfec8181fd49e7b118183094c2c6e058aaf2c07b8f38f00ebfb003713fdda46fb20464f326c51e6116e93cb695a4 SHA512 d9ee502d3f2796088439db8ddde73ac02bdd3103912d23efd4483655344ca6f55ff5edce2712f6696546b488d218f35adafa6755ff29158e3cb4d42198192f50
DIST gmpy2-2.3.0a3.tar.gz.provenance 9209 BLAKE2B d878aae03c32bb3671a0e0ac4f0deab68327f23a710ab835da10cdc501f7064e146fb6615941b6dbd6aa968fb0b6f8dfed0144e9ce1b902d9c6740201f436290 SHA512 f8c82090aca3238d73d7da3abea6ac754238aac18945f3ef671e36aeb7437a1142a690e349277969c0908c5b5762a75b90351bddf9106c180eaa7890f07d4e1c
+DIST gmpy2-2.3.0b1.tar.gz 302514 BLAKE2B 1e0a9a13535ac089cf1bf4ee948abe156d6986f8ee110d8ace62a630e34dc7007967f4deb9d23b4706376adcacc6a9777bd0856b7332a13ed0500f8688dd9d1e SHA512 c357e23c5a935adcc251032ac65a46463f5d30d64f594bfcabe727c4c1cd39d5ba9e232b7b8f2530dfc8d3e1a4787f309bfb56746660af4bede45dc8b045489c
+DIST gmpy2-2.3.0b1.tar.gz.provenance 9244 BLAKE2B 8704d34b49caf89dbb1dbdc9586753884fffa72fe3b25cef1397eb984c340b9e65438335001af5ba97cd8fea09aa2deb70f3606f498c7f59d2a6fe04c9481460 SHA512 c159eb35253a9969595ff5fbf131cfb6cb4b2685d972e14b3f5d7e991176290e802c3cec1340002d6cc576d2c8613303e73c3945d6ab7c49fb3790d98894c2df
diff --git a/dev-python/gmpy2/gmpy2-2.2.1.ebuild b/dev-python/gmpy2/gmpy2-2.3.0_beta1.ebuild
index f5146f8d154d..d6ad548e710a 100644
--- a/dev-python/gmpy2/gmpy2-2.2.1.ebuild
+++ b/dev-python/gmpy2/gmpy2-2.3.0_beta1.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
@@ -6,19 +6,19 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_PN="gmpy2"
+PYPI_VERIFY_REPO=https://github.com/gmpy2/gmpy2
PYTHON_COMPAT=( python3_{10..14} )
inherit distutils-r1 pypi
DESCRIPTION="Python bindings for GMP, MPC, MPFR and MPIR libraries"
HOMEPAGE="
- https://github.com/aleaxit/gmpy/
+ https://github.com/gmpy2/gmpy2/
https://pypi.org/project/gmpy2/
"
LICENSE="LGPL-3+"
SLOT="2"
-KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos"
DEPEND="
>=dev-libs/mpc-1.0.2:=
@@ -29,17 +29,18 @@ RDEPEND="
${DEPEND}
"
BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
dev-python/mpmath[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
)
"
+EPYTEST_PLUGINS=( hypothesis )
+EPYTEST_XDIST=1
distutils_enable_tests pytest
python_test() {
rm -rf gmpy2 || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest
}
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
index 38b5e5b31222..87cb873312c1 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -1,3 +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
diff --git a/dev-python/ipython/ipython-9.10.0.ebuild b/dev-python/ipython/ipython-9.10.0.ebuild
new file mode 100644
index 000000000000..4cad8b2e929c
--- /dev/null
+++ b/dev-python/ipython/ipython-9.10.0.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYPI_VERIFY_REPO=https://github.com/ipython/ipython
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
+
+inherit distutils-r1 optfeature toolchain-funcs 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-4.3.2[${PYTHON_USEDEP}]
+ >=dev-python/ipython-pygments-lexers-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.18.1[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-inline-0.1.5[${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.11.0[${PYTHON_USEDEP}]
+ >=dev-python/stack-data-0.6.0[${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..13})
+ 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
+ # minor exception message mismatch
+ # https://github.com/ipython/ipython/issues/14976
+ tests/test_ultratb.py::ExceptionMessagePreferenceTest::test_jsondecodeerror_message
+ )
+ ;;
+ esac
+
+ if [[ $(tc-get-ptr-size) == 4 ]] ; then
+ EPYTEST_DESELECT+=(
+ # https://github.com/ipython/ipython/issues/15107
+ IPython/extensions/ipython_tests/test_deduperreload.py::DecoratorPatchingSuite::test_function_decorator_from_other_module
+ IPython/extensions/ipython_tests/test_deduperreload.py::DecoratorPatchingSuite::test_function_decorators
+ IPython/extensions/tests/test_deduperreload.py::DecoratorPatchingSuite::test_method_decorator
+ )
+ fi
+
+ # 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?
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ # TODO2: figure out what TODO meant.
+ 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/narwhals/Manifest b/dev-python/narwhals/Manifest
index e05d37109679..09982dafe08d 100644
--- a/dev-python/narwhals/Manifest
+++ b/dev-python/narwhals/Manifest
@@ -1,4 +1,4 @@
-DIST narwhals-2.14.0.tar.gz 600648 BLAKE2B 6470907932b27de747b26ad73f0ec790bf934fc556b700aeee39a25eb6758e00001d35d70bc4c0bb2d2145accf0079a2a7052e0164bf6ca5e739893c48ec89f8 SHA512 3148bbb66ccf423cf87bdaf674d200a7f2a9297c6ae896147ad065338865218c4dafcd9ab8431b03440f54b1e8080b161930fe8dfad15e380a8b50b19df9d8e2
-DIST narwhals-2.14.0.tar.gz.provenance 9749 BLAKE2B 6b916923c8c22c79450e0f258343ec8e4f3013b474c187fcd489108267bd90ba4040739fd85469a2b143e0d7614447b00f1b22db4629d5727ba6228f97608790 SHA512 c80728abda1807b65cb848ffb7d20ab408e192bd9e1b7862355728b0ee4199d3707c16ec714b3a1311dc1443a25f8033ad5496ed7af5c74347da29a6cb38e938
DIST narwhals-2.15.0.tar.gz 603479 BLAKE2B 053945c4812053f05208f82bbc0759a7e7c453c5f40b892dcb424a764c22c8d417c6036eb827e7c73fc086dc97d09e12898e950e7cf5f8bef608e22cf44c369f SHA512 bd73a3bc8cfb36e54892f9f178ffc03134f3c76d9ea4415784b1a5ff8043c70063ada30492e9869bfc6fa3c85561c42354ae0b95424e2082495e9c07c52fb1f4
DIST narwhals-2.15.0.tar.gz.provenance 9526 BLAKE2B 5364e9808452ed738861512d3720b022024cc4bd6d7f2382c8ed603f4bd1a28eadb8e2a03f287b6a849ad652efb56577dceec29c315a864b754aec5e27ca7360 SHA512 be892b5c05a347891a98a314cc9249bcfca07e5ce9e46ffd98a4392bc8f6c357ca642529c56697ee7ef83baa0c9330beef5c5f2a1073b60ed1d5d965f22f796b
+DIST narwhals-2.16.0.tar.gz 618268 BLAKE2B b4b67f78a5e9cff9f8d4a6a17e363399d1f6cf5b068f2e8bb6a8a92beb31fe7853567b5537d5786aaf39fe53b6c416a70079418bbb48f9b7d1158f0bc73b1981 SHA512 2c2a3b08419644a098cee09e613538e7c6c1b0fad2a2b9e58362a1a0787c0b9761b5126a22af44f0c308e4ea3764f166b2b69b3e038b7a660179658d3cfd1f40
+DIST narwhals-2.16.0.tar.gz.provenance 9706 BLAKE2B 1d424ad3255e05303bea8d892b3d2ed49634d958f95582722505a4e2d2f6745252fed52838dec5e2e74132b48e72f02b30e8b27b099fcffd160f915894d46f51 SHA512 e20cc4963dbb09502f6dce4f627eebd6e8a3b7358d5cc5e3d10061dd9d4a861612bcb914d09cb9d7eb8e3f640aecf4a98f98392b60bb7bf1e2598f7790fedae4
diff --git a/dev-python/narwhals/narwhals-2.14.0.ebuild b/dev-python/narwhals/narwhals-2.16.0.ebuild
index 449e85db9ce7..9ed6257443fa 100644
--- a/dev-python/narwhals/narwhals-2.14.0.ebuild
+++ b/dev-python/narwhals/narwhals-2.16.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2025 Gentoo Authors
+# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/orjson/Manifest b/dev-python/orjson/Manifest
index 5befaff0304b..b0e8a7cc477e 100644
--- a/dev-python/orjson/Manifest
+++ b/dev-python/orjson/Manifest
@@ -2,3 +2,5 @@ DIST orjson-3.11.5.tar.gz 5972347 BLAKE2B d006a0ef4722935024561d58c8c346f59a7379
DIST orjson-3.11.5.tar.gz.provenance 9030 BLAKE2B 3f647dfb032c5a61d6b0fc105781197aea53c39c3f57c43f0290b3ae59493511df85761789aa6b8ec3b56e00921129860172714c3f36aaf7c031a44d6d388dae SHA512 00a25d0622ad054fac6b44434736f999b115f1967b06ce472d312f9710414f55c35b93983fd698bfb579a4d1cd51cb90dce780df3b197c830844bbcf135168f3
DIST orjson-3.11.6.tar.gz 6175856 BLAKE2B 7b3d09f34585435c0f5c39ff6dab0f4efd2980893ca73890be0857d40f3d26b83f4b4513ee7107bbc0e32d45af512e32702cf078449ba8fd670be2d196ff7843 SHA512 a1abb355635f853482c856e607f931e539babc1ca4dcb7f31ecb0f80cab78cc1a9eb7772c9330e1c674377bf24d5608452c2de06e808474dac69caab6d453d59
DIST orjson-3.11.6.tar.gz.provenance 9077 BLAKE2B 74f745bd234ec4af00e725a4ee9c4315f76b392b8e2b9411012ee8cd28f59f8d4cb5b833505c912ba1ad12e964e5e5b0c033c647085b4b164b52b5b6f8b3814a SHA512 d74028efa4585a807f535b03869b5471804f01a3730a29f18000f80eec9bd2e745f46a47ab81eeb17a92e5a4cf30948afe873f139a97677e64f1d54a0a896cdc
+DIST orjson-3.11.7.tar.gz 6144992 BLAKE2B 4cadb14cd0504307fc6d8b03a90243ddff1ecae8cd8f25508f77164646092186cb87740e553d4a6eca9cfe37fcef39c6aa8d0b3e3f01902c114255ec27f68f38 SHA512 af68ed5b9d1f4fd3880299863375ff3f709a7470ca539060444d14e9b1798a520ec353694461d905877bc09c7fe48bf8120ddc487c6bbaec2e3f851915f2283f
+DIST orjson-3.11.7.tar.gz.provenance 9492 BLAKE2B 18af3805807e5e4874dc0f5e6796bcafe5757239b713b2550ebb36b560a6b6401012f2b1afa2275f14ccc7dd7f974cce10082dacad6ca2e662cdc07a46696bfd SHA512 f77b2a7406d5c2bbc9ecf1e941a03e7f1b63e84e168250e62d92c83eb727a3233808b2c6292d3a9d87e1de4a113070696f1afedaaaa039d264d67a7fb754294c
diff --git a/dev-python/orjson/orjson-3.11.7.ebuild b/dev-python/orjson/orjson-3.11.7.ebuild
new file mode 100644
index 000000000000..71628f46d484
--- /dev/null
+++ b/dev-python/orjson/orjson-3.11.7.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2023-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/ijl/orjson
+PYTHON_COMPAT=( python3_{10..14} )
+
+# upstream is vendoring crates, so we don't need CRATES.
+RUST_MIN_VER="1.89.0"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
+HOMEPAGE="
+ https://github.com/ijl/orjson/
+ https://pypi.org/project/orjson/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-3.0
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ >=dev-util/maturin-1.7.8[${PYTHON_USEDEP}]
+ test? (
+ dev-python/arrow[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+QA_FLAGS_IGNORED=".*"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_unpack() {
+ pypi_src_unpack
+
+ # https://github.com/ijl/orjson/issues/613
+ cargo_gen_config
+}
diff --git a/dev-python/proto-plus/Manifest b/dev-python/proto-plus/Manifest
index cd24b3883a3f..3a61b8aac460 100644
--- a/dev-python/proto-plus/Manifest
+++ b/dev-python/proto-plus/Manifest
@@ -1,2 +1,2 @@
-DIST proto-plus-python-1.26.1.gh.tar.gz 93639 BLAKE2B a567aa0914c6d2c3c4532ec7520c16700e5d25f36ec689a0f7a17027254c6716f71e8a3968584e91fd1d4e79dd2a46ffeaf98c9bdbff49f783ca30bf0dca1dcc SHA512 f532d3798fe566b03eb09c8567f276bfedc7c372ead20daa3e0f5d29a619f0df01dc84343c10bf9cd1c9c60945f43a454742df63f69baf009834bba471b1f84c
DIST proto-plus-python-1.27.0.gh.tar.gz 75789 BLAKE2B 90fc097f206ee008e359bce1946f51ee8929dfd69e52727adb496bcffd3963f10b9859258801318e1c156dd85b04248adc4ceeee3dbcfbcabd79badedd3a832c SHA512 8fd46ed142413675d0cdfc51ee1c8ae350bb5a58ce00e56104014bf7b99eae9bbc9f9395ffd866ad1ab4e9a48f228b099afb7764da0c38979dbd85dfd0986c42
+DIST proto-plus-python-1.27.1.gh.tar.gz 76528 BLAKE2B fcf6ae9365d56d98cb3263f4ea2d60ee4d09664809d7ceb763f612abfff0edcd5a5d756756dfc2a9df91a5928ebfdfe943bec109cb95d5e560636d8a119326c8 SHA512 0b9183708684d1dbc5bba72af6f1b359b92eb99db4c888c21d607a42f759ef018f2c428c7ee611d2fff138851edac8fdd9f5e7cf6da88535a43e8a7e91dba760
diff --git a/dev-python/proto-plus/proto-plus-1.26.1-r1.ebuild b/dev-python/proto-plus/proto-plus-1.27.1.ebuild
index 8a729ea73262..de4c1c7dc546 100644
--- a/dev-python/proto-plus/proto-plus-1.26.1-r1.ebuild
+++ b/dev-python/proto-plus/proto-plus-1.27.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2025 Gentoo Authors
+# Copyright 2021-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm64 x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
<dev-python/protobuf-7[${PYTHON_USEDEP}]
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 ca90d4db9f59..9f1602cb1fb8 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 791e698ad62e..e22e14afed63 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/pyside/Manifest b/dev-python/pyside/Manifest
index aedd234a2366..aeef8aa5568d 100644
--- a/dev-python/pyside/Manifest
+++ b/dev-python/pyside/Manifest
@@ -1 +1,2 @@
DIST pyside-setup-everywhere-src-6.10.1.tar.xz 17746968 BLAKE2B c81f838285454731541600dd72bf2c46c993447eb78689267b50233d0417ae5a250e690aa55dfcd6e0d692cee4ccdd4e5c70f2e4cd989545ab3cb91eb8cd81be SHA512 fef31a1d39362d09c8e4c4621090851d42dc4566f2bd813361da64eed8af25a8bd9cf770dea2a26f9e00420ae19eb57ec2f5db11c1d86f39d26b6e8f7ebf6d21
+DIST pyside-setup-everywhere-src-6.10.2.tar.xz 17877708 BLAKE2B 67be6ef1aaadf36a6e8083f808b8f0e47256ac714f73660cb026ef977676928ae3a16b887fd6f31a343fa5d957b945ce0fc6249aa904d84c7e5a8e320502c2d3 SHA512 363b448fe1a304aea09e095aad9f1ecbe2798f0b0e046ca509e918fdc3e8e6a788928a84f2837ad6c75ea79ce37ec38aaff761ddf323bf8e264304ea3d54ceb4
diff --git a/dev-python/pyside/pyside-6.10.2.ebuild b/dev-python/pyside/pyside-6.10.2.ebuild
new file mode 100644
index 000000000000..3dcde577062c
--- /dev/null
+++ b/dev-python/pyside/pyside-6.10.2.ebuild
@@ -0,0 +1,585 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# NOTE: We combine here several PyPI packages, we do this because
+# pyside can and does break if it is compiled with a different
+# toolchain then was used to build shiboken. This bundling ensures
+# that we always use the same toolchain for all components.
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+LLVM_COMPAT=( {16..21} )
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
+
+inherit distutils-r1 llvm-r2 multiprocessing ninja-utils qmake-utils virtualx
+
+MY_PN=${PN}-setup-everywhere-src
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://wiki.qt.io/PySide6"
+
+if [[ ${PV} == *.9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI=(
+ "https://code.qt.io/${PN}/${PN}-setup.git"
+ "https://github.com/qtproject/${PN}-${PN}-setup.git"
+ )
+ EGIT_BRANCH=dev
+ [[ ${PV} == 6.*.9999 ]] && EGIT_BRANCH=${PV%.9999}
+else
+ SRC_URI="https://download.qt.io/official_releases/QtForPython/${PN}6/PySide6-${PV}-src/${MY_P}.tar.xz"
+ S="${WORKDIR}/${MY_P}"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="|| ( GPL-2 GPL-3 LGPL-3 )"
+SLOT="6/${PV}"
+
+# If a flag enables multiple Qt modules, they should be ordered
+# according to their dependencies, e.g. for 3d, 3DCore must be first.
+# Widgets for various modules are handled as a special case later
+declare -A QT_MODULES=(
+ ["3d"]="3DCore 3DRender 3DLogic 3DInput 3DAnimation 3DExtras"
+ ["bluetooth"]="Bluetooth"
+ ["charts"]="Charts"
+ ["+concurrent"]="Concurrent"
+ ["+core"]="Core"
+ ["+dbus"]="DBus"
+ ["designer"]="Designer"
+ ["+gui"]="Gui"
+ ["help"]="Help"
+ ["httpserver"]="HttpServer"
+ ["location"]="Location"
+ ["multimedia"]="Multimedia" # plus widgets
+ ["network-auth"]="NetworkAuth"
+ ["+network"]="Network"
+ ["nfc"]="Nfc"
+ ["+opengl"]="OpenGL" # plus widgets
+ ["pdfium"]="Pdf" # plus widgets
+ ["positioning"]="Positioning"
+ ["+printsupport"]="PrintSupport"
+ ["qml"]="Qml"
+ ["quick3d"]="Quick3D"
+ ["quick"]="Quick" # plus widgets
+ ["remoteobjects"]="RemoteObjects"
+ ["scxml"]="Scxml"
+ ["sensors"]="Sensors"
+ ["serialbus"]="SerialBus"
+ ["serialport"]="SerialPort"
+ ["spatialaudio"]="SpatialAudio"
+ ["+sql"]="Sql"
+ ["svg"]="Svg" # plus widgets
+ ["speech"]="TextToSpeech"
+ ["+testlib"]="Test"
+ ["uitools"]="UiTools"
+ ["webchannel"]="WebChannel"
+ ["webengine"]="WebEngineCore" # plus widgets and quick
+ ["websockets"]="WebSockets"
+ ["webview"]="WebView"
+ ["+widgets"]="Widgets"
+ ["+xml"]="Xml"
+)
+
+# Manually reextract these requirements on version bumps by running the
+# following one-liner from within "${S}":
+# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt
+declare -A QT_REQUIREMENTS=(
+ ["3d"]="gui network opengl"
+ ["bluetooth"]="core"
+ ["charts"]="core gui widgets"
+ ["concurrent"]="core"
+ ["dbus"]="core"
+ ["designer"]="widgets"
+ ["gles2-only"]="gui"
+ ["gui"]="core"
+ ["help"]="widgets"
+ ["httpserver"]="core concurrent network websockets"
+ ["location"]="core positioning"
+ ["multimedia"]="core gui network"
+ ["network-auth"]="network"
+ ["network"]="core"
+ ["nfc"]="core"
+ ["opengl"]="gui"
+ ["pdfium"]="core gui network"
+ ["positioning"]="core"
+ ["printsupport"]="widgets"
+ ["qml"]="network"
+ ["quick"]="gui network qml opengl"
+ ["quick3d"]="gui network qml quick"
+ ["remoteobjects"]="core network"
+ ["scxml"]="core"
+ ["sensors"]="core"
+ ["serialbus"]="core network serialport"
+ ["serialport"]="core"
+ ["spatialaudio"]="core gui network multimedia"
+ ["speech"]="core multimedia"
+ ["sql"]="widgets"
+ ["svg"]="gui"
+ ["testlib"]="widgets"
+ ["uitools"]="widgets"
+ ["webchannel"]="core"
+ ["webengine"]="core gui network printsupport quick webchannel"
+ ["websockets"]="network"
+ ["webview"]="gui quick webengine"
+ ["widgets"]="gui"
+ ["xml"]="core"
+)
+
+IUSE="${!QT_MODULES[*]} debug doc gles2-only numpy test tools"
+RESTRICT="!test? ( test )"
+
+# majority of QtQml tests require QtQuick support
+REQUIRED_USE="
+ test? (
+ qml? ( quick )
+ )
+"
+for requirement in "${!QT_REQUIREMENTS[@]}"; do
+ REQUIRED_USE+=" ${requirement}? ( ${QT_REQUIREMENTS[${requirement}]} ) "
+done
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-3)*:6"
+
+# WebEngine needs sound support, so enable either pulseaudio or alsa
+RDEPEND="
+ dev-libs/libxml2:=
+ dev-libs/libxslt
+ =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?]
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ ')
+ 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] )
+ bluetooth? ( =dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
+ charts? ( =dev-qt/qtcharts-${QT_PV} )
+ designer? ( =dev-qt/qttools-${QT_PV}[designer,widgets,gles2-only=] )
+ gui? (
+ =dev-qt/qtbase-${QT_PV}[gui,jpeg(+)]
+ x11-libs/libxkbcommon
+ )
+ help? ( =dev-qt/qttools-${QT_PV}[assistant,gles2-only=] )
+ httpserver? ( =dev-qt/qthttpserver-${QT_PV} )
+ location? ( =dev-qt/qtlocation-${QT_PV} )
+ multimedia? ( =dev-qt/qtmultimedia-${QT_PV}[widgets(+)?] )
+ network? ( =dev-qt/qtbase-${QT_PV}[ssl] )
+ network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} )
+ nfc? ( =dev-qt/qtconnectivity-${QT_PV}[nfc] )
+ numpy? ( >=dev-python/numpy-2.1.3[${PYTHON_USEDEP}] )
+ pdfium? ( =dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] )
+ positioning? ( =dev-qt/qtpositioning-${QT_PV} )
+ printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] )
+ qml? ( =dev-qt/qtdeclarative-${QT_PV}[opengl?,widgets?] )
+ quick3d? ( =dev-qt/qtquick3d-${QT_PV}[opengl?] )
+ remoteobjects? ( =dev-qt/qtremoteobjects-${QT_PV} )
+ scxml? ( =dev-qt/qtscxml-${QT_PV} )
+ sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] )
+ speech? ( =dev-qt/qtspeech-${QT_PV} )
+ serialbus? ( =dev-qt/qtserialbus-${QT_PV} )
+ serialport? ( =dev-qt/qtserialport-${QT_PV} )
+ svg? ( =dev-qt/qtsvg-${QT_PV} )
+ testlib? ( =dev-qt/qtbase-${QT_PV}[gui] )
+ tools? (
+ =dev-qt/qtbase-${QT_PV}
+ =dev-qt/qtdeclarative-${QT_PV}[qmlls]
+ =dev-qt/qttools-${QT_PV}[assistant,designer,linguist]
+ dev-python/pkginfo[${PYTHON_USEDEP}]
+ )
+ uitools? ( =dev-qt/qttools-${QT_PV}[gles2-only=,widgets] )
+ webchannel? ( =dev-qt/qtwebchannel-${QT_PV} )
+ webengine? ( || (
+ =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?]
+ =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?]
+ )
+ )
+ websockets? ( =dev-qt/qtwebsockets-${QT_PV} )
+ webview? ( =dev-qt/qtwebview-${QT_PV} )
+ !dev-python/pyside:0
+ !dev-python/shiboken6
+ !dev-python/pyside6-tools
+"
+
+DEPEND="${RDEPEND}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ ')
+ dev-util/vulkan-headers
+ test? ( =dev-qt/qtbase-${QT_PV}[gui] )
+" # testlib is toggled by the gui flag on qtbase
+
+BDEPEND="
+ dev-build/cmake
+ dev-python/distro[${PYTHON_USEDEP}]
+ <dev-python/wheel-0.46.0[${PYTHON_USEDEP}]
+ dev-util/patchelf
+ doc? (
+ >=dev-libs/libxml2-2.6.32
+ >=dev-libs/libxslt-1.1.19
+ media-gfx/graphviz
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ )
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+"
+
+PATCHES=(
+ # Needs porting to newer wheel and setuptools
+ "${FILESDIR}/${PN}-6.8.2-quick-fix-build-wheel.patch"
+ "${FILESDIR}/${PN}-6.10.0-dont-vendor-ffmpeg.patch"
+ "${FILESDIR}/${PN}-6.10.1-pass-ninja-opts.patch"
+)
+
+# Build system duplicates system libraries. TODO: fix
+QA_PREBUILT=(
+ "/usr/lib/python*/site-packages/PySide6/*"
+)
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # Shiboken6 assumes Vulkan headers live under either "$VULKAN_SDK/include"
+ # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan".
+ sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \
+ sources/shiboken6/ApiExtractor/clangparser/compilersupport.cpp || die
+
+ # Shiboken6 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/"
+ # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the
+ # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is
+ # the largest version specifier that exists under the "/usr/lib/clang/"
+ # subdirectory. This assumption is false in edge cases, including when
+ # users downgrade from newer Clang versions but fail to remove those
+ # versions with "emerge --depclean". See also:
+ # https://github.com/leycec/raiagent/issues/85
+ #
+ # Sadly, the clang-* family of functions exported by the "toolchain-funcs"
+ # eclass are defective, returning nonsensical placeholder strings if the
+ # end user has *NOT* explicitly configured their C++ compiler to be Clang.
+ # PySide6 does *NOT* care whether the end user has done so or not, as
+ # PySide6 unconditionally requires Clang in either case. See also:
+ # https://bugs.gentoo.org/619490
+ sed -e \
+ 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${LLVM_SLOT}"'/include"))~' \
+ -i sources/shiboken6/ApiExtractor/clangparser/compilersupport.cpp || die
+
+ sed -e \
+ 's~set(libclang_directory_suffix "lib")~set(libclang_directory_suffix "'"$(get_libdir)"'")~' \
+ -i sources/shiboken6/cmake/ShibokenHelpers.cmake || die
+
+ # blacklist.txt works like XFAIL
+ cat <<- EOF >> build_history/blacklist.txt || die
+ # segfaults with QOpenGLContext::create
+ [pysidetest::qapp_like_a_macro_test]
+ linux
+ # no mypy
+ [pysidetest::mypy_correctness_test]
+ linux
+ # Tries to execute pip install
+ [pyside6-deploy::test_pyside6_deploy]
+ linux
+ [pyside6-android-deploy::test_pyside6_android_deploy]
+ linux
+ # Behavior changed and test not changed to accomodate
+ # https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-3135
+ [registry::existence_test]
+ linux
+ # Doesn't appear to play well with virtualx as it tries to use wayland
+ [QtUiTools::loadUiType_test]
+ linux
+ # py3.14?
+ [sample::multiple_derived]
+ linux
+ EOF
+
+ if ! use numpy; then
+ cat <<- EOF >> build_history/blacklist.txt || die
+ # Requires numpy support to pass
+ [sample::array_numpy]
+ linux
+ [sample::nontypetemplate]
+ linux
+ [QtGui::qpainter_test]
+ linux
+ [QtCore::qrangemodel_test]
+ linux
+ EOF
+ fi
+}
+
+python_configure_all() {
+ export LLVM_INSTALL_DIR="$(get_llvm_prefix)"
+
+ # see pyside-6.10.1-pass-ninja-opts.patch
+ export NINJAOPTS="$(get_NINJAOPTS)"
+
+ ENABLED_QT_MODULES=()
+
+ # The order matters, dependencies must come first so process
+ # REQUIRED_USE and recursively enable modules
+ enable_qt_mod() {
+ local flag=${1}
+ local modules=${QT_MODULES[${flag}]}
+ if [[ -z ${modules} ]]; then
+ die "incorrect flag=${flag}, not registered"
+ fi
+ local dependencies=${QT_REQUIREMENTS[${flag//+}]}
+ if [[ -n ${dependencies} ]]; then
+ local depflag
+ for depflag in ${dependencies}; do
+ if use "${depflag}"; then
+ if [[ -z ${QT_MODULES[${depflag}]} ]]; then
+ depflag=+${depflag}
+ fi
+ enable_qt_mod "${depflag}"
+ else
+ die "${depflag} is required but not enabled"
+ fi
+ done
+ fi
+ if [[ "${ENABLED_QT_MODULES[*]}" != *${modules}* ]]; then
+ # modules is whitespace separated. We expand implicitly.
+ ENABLED_QT_MODULES+=( ${modules} )
+ fi
+ }
+ # Enable specified qt modules
+ local flag
+ for flag in "${!QT_MODULES[@]}"; do
+ if use "${flag//+}"; then
+ enable_qt_mod "${flag}"
+ fi
+ done
+
+ # Special cases
+ if use widgets; then
+ use multimedia && ENABLED_QT_MODULES+=( MultimediaWidgets )
+ use opengl && ENABLED_QT_MODULES+=( OpenGLWidgets )
+ use pdfium && ENABLED_QT_MODULES+=( PdfWidgets )
+ use quick && ENABLED_QT_MODULES+=( QuickWidgets )
+ use svg && ENABLED_QT_MODULES+=( SvgWidgets )
+ use webengine && ENABLED_QT_MODULES+=( WebEngineWidgets )
+ fi
+ if use quick; then
+ use webengine && ENABLED_QT_MODULES+=( WebEngineQuick )
+ use testlib && ENABLED_QT_MODULES+=( QuickTest )
+ fi
+
+ # Arguments listed in options.py
+ MAIN_DISTUTILS_ARGS=(
+ --cmake="${ESYSROOT}/usr/bin/cmake"
+ --ignore-git
+ --limited-api=no
+ --module-subset="$(printf '%s,' "${ENABLED_QT_MODULES[@]}")"
+ --no-strip
+ --no-size-optimization
+ --openssl="${ESYSROOT}/usr/bin/openssl"
+ --qt="$(ver_cut 1-3)"
+ --qtpaths="$(qt6_get_bindir)/qtpaths"
+ --verbose-build
+ --parallel="$(makeopts_jobs)"
+ "$(usex debug "--debug" "--relwithdebinfo")"
+ "--$(usex doc "build" "skip")-docs"
+ "--$(usex numpy "enable" "disable")-numpy-support"
+ )
+
+ if use test; then
+ MAIN_DISTUTILS_ARGS+=(
+ "--build-tests"
+ "--use-xvfb"
+ )
+ fi
+
+ if ! use tools; then
+ MAIN_DISTUTILS_ARGS+=(
+ "--no-qt-tools"
+ )
+ fi
+}
+
+python_compile() {
+ DISTUTILS_ARGS=(
+ "${MAIN_DISTUTILS_ARGS[@]}"
+ --build-type=shiboken6
+ )
+ distutils-r1_python_compile
+
+ # The build system uses its own build dir, find the name of this dir.
+ local pyside_build_dir
+ read -r pyside_build_dir < <(
+ find "${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))" \
+ -maxdepth 1 -type d -name 'qfp*-py*-qt*-*' -printf "%f\n"
+ )
+ export pyside_build_id="${pyside_build_dir#"qfp$(usev debug d)-py${EPYTHON#python}-qt$(ver_cut 1-3)-"}"
+ export PYTHONPATH="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install/lib/${EPYTHON}/site-packages:${PYTHONPATH}"
+
+ DISTUTILS_ARGS=(
+ "${MAIN_DISTUTILS_ARGS[@]}"
+ --reuse-build
+ --shiboken-target-path="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install"
+ --build-type=shiboken6-generator
+ )
+ distutils-r1_python_compile
+ export PYTHONPATH="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install/lib/${EPYTHON}/site-packages:${PYTHONPATH}"
+
+ # If no pyside modules enabled, build just shiboken
+ if [[ ${#ENABLED_QT_MODULES[@]} -gt 0 ]]; then
+ DISTUTILS_ARGS=(
+ "${MAIN_DISTUTILS_ARGS[@]}"
+ --reuse-build
+ --shiboken-target-path="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install"
+ --build-type=pyside6
+ )
+ distutils-r1_python_compile
+ export PYTHONPATH="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install/lib/${EPYTHON}/site-packages:${PYTHONPATH}"
+ fi
+
+ # Link libraries to the usual location for backwards compatibility
+ pushd "${BUILD_DIR}/install/$(python_get_sitedir)" >/dev/null ||
+ die
+ mkdir -p "${BUILD_DIR}/install/usr/$(get_libdir)" || die
+ local lib
+ for lib in */*.cpython-*.so
+ do
+ local base=${lib##*/}
+ ln -s "${base}" "${lib%/*}/${base%%.*}-${EPYTHON}.so" ||
+ die
+ done
+ for lib in */*.cpython-*.so."$(ver_cut 1-2)"
+ do
+ local base=${lib##*/}
+ ln -s "${base}" "${lib%/*}/${base%%.*}-${EPYTHON}.so.$(ver_cut 1-2)" ||
+ die
+ done
+ for lib in */*.so*; do
+ ln -s "../../$(python_get_sitedir)/${lib}" \
+ "${BUILD_DIR}/install/usr/$(get_libdir)/${lib#*/}" || die
+ done
+ popd >/dev/null || die
+
+ # Symlinks for compatibility with pypi wheels
+ local dir
+ if [[ -d ${BUILD_DIR}/install/$(python_get_sitedir)/PySide6 ]]
+ then
+ pushd "${BUILD_DIR}/install/$(python_get_sitedir)/PySide6" \
+ >/dev/null || die
+ mkdir -p "${BUILD_DIR}/install/usr/share/PySide6" || die
+ for dir in doc glue typesystems; do
+ ln -s "../../../$(python_get_sitedir)/PySide6/${dir}" \
+ "${BUILD_DIR}/install/usr/share/PySide6/${dir}" ||
+ die
+ done
+ popd >/dev/null || die
+ fi
+ mkdir -p "${BUILD_DIR}/install/usr/include"
+ for dir in PySide6 shiboken6 shiboken6_generator; do
+ if [[ -d ${BUILD_DIR}/install/$(python_get_sitedir)/${dir}/include ]]
+ then
+ ln -s "../../$(python_get_sitedir)/${dir}/include" \
+ "${BUILD_DIR}/install/usr/include/${dir//_generator}" ||
+ die
+ fi
+ done
+
+ # Install misc files from inner install dir
+ find "${BUILD_DIR}"/build*/"${pyside_build_dir}"/install -type f \
+ -name libPySidePlugin.so -exec \
+ mkdir -p "${BUILD_DIR}/install/$(qt6_get_plugindir)/designer/" \; \
+ -exec \
+ cp "{}" "${BUILD_DIR}/install/$(qt6_get_plugindir)/designer/" \; \
+ || die
+
+ for dir in cmake pkgconfig; do
+ find "${BUILD_DIR}"/build*/"${pyside_build_dir}"/install -type d -name "${dir}" \
+ -exec cp -r "{}" "${BUILD_DIR}/install/usr/lib/" \; \
+ || die
+ done
+
+ # Uniquify the pkgconfigs file for the current Python target,
+ # preserving an unversioned "shiboken6.pc" file arbitrarily
+ # associated with the last Python target.
+ if [[ -f ${BUILD_DIR}/install/usr/lib/pkgconfig/shiboken6.pc ]]
+ then
+ sed -e 's~prefix=.*~prefix=/usr~g' \
+ -e 's~exec_prefix=.*~exec_prefix=${prefix}~g' \
+ -e "s~libdir=.*~libdir=$(python_get_sitedir)/shiboken6~g" \
+ -e "s~includedir=.*~includedir=$(python_get_sitedir)/shiboken6_generator/include~g" \
+ -i "${BUILD_DIR}/install/usr/lib/pkgconfig/shiboken6.pc" || die
+ cp "${BUILD_DIR}/install/usr/lib/pkgconfig/"shiboken6{,-${EPYTHON}}.pc || die
+ fi
+ if [[ -f ${BUILD_DIR}/install/usr/lib/pkgconfig/pyside6.pc ]]
+ then
+ sed -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \
+ -e 's~prefix=.*~prefix=/usr~g' \
+ -e 's~exec_prefix=.*~exec_prefix=${prefix}~g' \
+ -e "s~libdir=.*~libdir=$(python_get_sitedir)/PySide6~g" \
+ -e "s~includedir=.*~includedir=$(python_get_sitedir)/PySide6/include~g" \
+ -e "s~typesystemdir=.*~typesystemdir=$(python_get_sitedir)/PySide6/typesystems~g" \
+ -e "s~gluedir=.*~gluedir=$(python_get_sitedir)/PySide6/glue~g" \
+ -e "s~pythonpath=.*~pythonpath=$(python_get_sitedir)~g" \
+ -i "${BUILD_DIR}/install/usr/lib/pkgconfig/pyside6.pc" || die
+ cp "${BUILD_DIR}/install/usr/lib/pkgconfig/"pyside6{,-${EPYTHON}}.pc || die
+ fi
+
+ # _IMPORT_PREFIX breaks on split-usr/merged-usr plus weird random issues.
+ # These are not duplicates, the generated files are somehow different on
+ # different systems.
+ sed \
+ -e "s~\${_IMPORT_PREFIX}/lib/libshiboken6\.cpython~/usr/$(get_libdir)/libshiboken6\.cpython~g" \
+ -e "s~\${_IMPORT_PREFIX}/shiboken6/libshiboken6\.cpython~/usr/$(get_libdir)/libshiboken6\.cpython~g" \
+ -e "s~\${_IMPORT_PREFIX}/bin/shiboken6~/usr/bin/shiboken6~g" \
+ -e "s~\${_IMPORT_PREFIX}/shiboken6_generator/shiboken6~/usr/bin/shiboken6~g" \
+ -e "s~\${_IMPORT_PREFIX}/lib/libpyside6\.cpython~/usr/$(get_libdir)/libpyside6\.cpython~g" \
+ -e "s~\${_IMPORT_PREFIX}/PySide6/libpyside6\.cpython~/usr/$(get_libdir)/libpyside6\.cpython~g" \
+ -e "s~\${_IMPORT_PREFIX}/lib/libpyside6qml\.cpython~/usr/$(get_libdir)/libpyside6qml\.cpython~g" \
+ -e "s~\${_IMPORT_PREFIX}/PySide6/libpyside6qml\.cpython~/usr/$(get_libdir)/libpyside6qml\.cpython~g" \
+ -e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-3)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
+ -e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-3)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
+ -e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 1-3)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
+ -e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-2)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
+ -e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
+ -e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
+ -e "s~\${PACKAGE_PREFIX_DIR}/~\${PACKAGE_PREFIX_DIR}/share/PySide6/~g" \
+ -e "s~\${_IMPORT_PREFIX}/shiboken6/include~/usr/include/shiboken6~g" \
+ -e "s~\${_IMPORT_PREFIX}/PySide6/include~/usr/include/PySide6~g" \
+ -i "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cmake || die
+ local file
+ for file in "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cpython-*.cmake
+ do
+ local base=${file##*/}
+ ln -s "${base}" "${file%/*}/${base%%.*}-${EPYTHON}.cmake" ||
+ die
+ done
+}
+
+python_test() {
+ # Otherwise it picks the last built directory breaking assumption for multi target builds
+ local pyside_build_dir="qfp$(usev debug d)-py${EPYTHON#python}-qt$(ver_cut 1-3)-${pyside_build_id}"
+
+ local buildno=$(find "${BUILD_DIR}"/build* -name "${pyside_build_dir}" | sort -V | tail -n1)
+ if [[ -z "${buildno}" ]]; then
+ die "could not find any build directories for ${pyside_build_dir}"
+ fi
+
+ buildno="${buildno#"${BUILD_DIR}/build"}"
+ buildno="${buildno%"/${pyside_build_dir}"}"
+
+ local -x PYTHONPATH="${BUILD_DIR}/install$(python_get_sitedir)"
+ local -x QTEST_ENVIRONMENT=ci
+
+ # test shiboken6 build
+ virtx ${EPYTHON} testrunner.py test --buildno "$((buildno - 1))" --projects=shiboken6 ||
+ die "Tests failed with ${EPYTHON}"
+
+ if use core; then
+ # test pyside6 build
+ virtx ${EPYTHON} testrunner.py test --buildno "${buildno}" --projects=pyside6 ||
+ die "Tests failed with ${EPYTHON}"
+ fi
+}
+
+pkg_preinst() {
+ # Avoid symlinks being blocked by directories
+ rm -rf "${EROOT}/usr/include/"{PySide6,shiboken6} || die
+ rm -rf "${EROOT}/usr/share/PySide6" || die
+}
diff --git a/dev-python/pyside/pyside-6.9999.ebuild b/dev-python/pyside/pyside-6.9999.ebuild
index a946ee2876e3..3dcde577062c 100644
--- a/dev-python/pyside/pyside-6.9999.ebuild
+++ b/dev-python/pyside/pyside-6.9999.ebuild
@@ -521,12 +521,17 @@ python_compile() {
cp "${BUILD_DIR}/install/usr/lib/pkgconfig/"pyside6{,-${EPYTHON}}.pc || die
fi
+ # _IMPORT_PREFIX breaks on split-usr/merged-usr plus weird random issues.
+ # These are not duplicates, the generated files are somehow different on
+ # different systems.
sed \
- -e "s~/lib/libshiboken6\.cpython~/$(get_libdir)/libshiboken6\.cpython~g" \
+ -e "s~\${_IMPORT_PREFIX}/lib/libshiboken6\.cpython~/usr/$(get_libdir)/libshiboken6\.cpython~g" \
-e "s~\${_IMPORT_PREFIX}/shiboken6/libshiboken6\.cpython~/usr/$(get_libdir)/libshiboken6\.cpython~g" \
- -e "s~/lib/libpyside6\.cpython~/$(get_libdir)/libpyside6\.cpython~g" \
+ -e "s~\${_IMPORT_PREFIX}/bin/shiboken6~/usr/bin/shiboken6~g" \
+ -e "s~\${_IMPORT_PREFIX}/shiboken6_generator/shiboken6~/usr/bin/shiboken6~g" \
+ -e "s~\${_IMPORT_PREFIX}/lib/libpyside6\.cpython~/usr/$(get_libdir)/libpyside6\.cpython~g" \
-e "s~\${_IMPORT_PREFIX}/PySide6/libpyside6\.cpython~/usr/$(get_libdir)/libpyside6\.cpython~g" \
- -e "s~/lib/libpyside6qml\.cpython~/$(get_libdir)/libpyside6qml\.cpython~g" \
+ -e "s~\${_IMPORT_PREFIX}/lib/libpyside6qml\.cpython~/usr/$(get_libdir)/libpyside6qml\.cpython~g" \
-e "s~\${_IMPORT_PREFIX}/PySide6/libpyside6qml\.cpython~/usr/$(get_libdir)/libpyside6qml\.cpython~g" \
-e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-3)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-3)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
diff --git a/dev-python/python-tests/python-tests-3.13.11.ebuild b/dev-python/python-tests/python-tests-3.13.11.ebuild
index aa7dfaeb541a..e3eba2d34b68 100644
--- a/dev-python/python-tests/python-tests-3.13.11.ebuild
+++ b/dev-python/python-tests/python-tests-3.13.11.ebuild
@@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}/Lib"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
# enable by default to help CI handle it (we have no additional deps)
IUSE="+python_targets_${PYTHON_COMPAT[0]}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/dev-python/requests-cache/Manifest b/dev-python/requests-cache/Manifest
index 402efa8db244..0d396f2539c9 100644
--- a/dev-python/requests-cache/Manifest
+++ b/dev-python/requests-cache/Manifest
@@ -1 +1,2 @@
DIST requests-cache-1.2.1.gh.tar.gz 3056882 BLAKE2B e1e5f971490f865ac2771d1dd87802ba138940adbfa0183ed5978b92794795fb26a30219de5560a925642ca08de1b8854d759408f86b30e6150e1c948ec8dcfe SHA512 f8977b1afc005ddd73019d2a0e39da368f376602110602c0b24c317b548f31a3489e686502ecd48ae3583e471fdd70671913e529c73dacdcaecadb1cd1e6c126
+DIST requests-cache-1.3.0.gh.tar.gz 1809796 BLAKE2B 11dad515569f74bfad109701a9dc7d403c01794343a3c1f05820680b1aa2e1d9d8bde3fa53df2ed1a2285b15513a0b04bdfbda7316b9cb06f7d65a84ce98ed2e SHA512 81b6f67b3fec8e062ecd419187a635898357bbb6657f3a8f162e19d634d942ed3d53835867df077089a8fb69da7951f2f400c5ac43dc51a9f857b930681711db
diff --git a/dev-python/requests-cache/requests-cache-1.3.0.ebuild b/dev-python/requests-cache/requests-cache-1.3.0.ebuild
new file mode 100644
index 000000000000..8d25f102f64f
--- /dev/null
+++ b/dev-python/requests-cache/requests-cache-1.3.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+# TODO: see if we can remove pypy3.11, because of the segfaults
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Persistent cache for requests library"
+HOMEPAGE="
+ https://pypi.org/project/requests-cache/
+ https://github.com/requests-cache/requests-cache/
+"
+SRC_URI="
+ https://github.com/requests-cache/requests-cache/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/attrs-21.2[${PYTHON_USEDEP}]
+ >=dev-python/cattrs-22.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.22[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.5[${PYTHON_USEDEP}]
+ >=dev-python/url-normalize-2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ >=dev-python/rich-10.0[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-httpbin requests-mock )
+: ${EPYTEST_TIMEOUT:=60}
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # These require extra servers running
+ tests/integration/test_dynamodb.py
+ tests/integration/test_gridfs.py
+ tests/integration/test_mongodb.py
+ tests/integration/test_redis.py
+ )
+ local EPYTEST_DESELECT=(
+ # Requires Internet access
+ tests/integration/test_upgrade.py::test_version_upgrade
+ )
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # "database is locked", upstream probably relies on GC
+ # too much
+ tests/integration/test_sqlite.py
+ # random segfaults
+ tests/integration/test_filesystem.py
+ )
+ ;;
+ esac
+
+ local -x USE_PYTEST_HTTPBIN=true
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "redis backend" "dev-python/redis"
+ optfeature "MongoDB backend" "dev-python/pymongo"
+
+ optfeature "JSON serialization" "dev-python/ujson"
+ optfeature "YAML serialization" "dev-python/pyyaml"
+ optfeature "signing serialized data" "dev-python/itsdangerous"
+}
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 65ddce814b4b..e66f66f523f2 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -1,5 +1,5 @@
DIST sqlglot-27.24.2-crates.tar.xz 8973180 BLAKE2B f893ebe4b94d4c2ab94f8fa902e51066e861511f698b24660d5becd31a98837c5a7f23a3d80c0716e8017012ae61f7202440c0092e1417e5f61b62e2e9f4260b SHA512 6a92b1ba2fbb51eac170db7a927927f8a06f184ebf820107a813c9cfa4dcdbea794199090a33986b48f5f00b3f43b404b7e1d26f5bf9663c53cb2b8f134d69af
DIST sqlglot-27.29.0.tar.gz 5503507 BLAKE2B f9c92b8f287ca4c99c792d005e62846afd669ba27b5d09042de06c8c3fa5e46b21abdf5134cc81ae3ae2cb13d0a5997c56ac07c14e5fb938544d5dbc08c70632 SHA512 5fc7a8a81b39a2dba007b501f1f5c2de9fa1e74b39d44e1bea706491db1ead0329aa2fbfb7c4997a50458137af70d259a227a8662ac26ba2904dde2b66922bb1
-DIST sqlglot-28.6.0.tar.gz 5676522 BLAKE2B 270d3cb18b72422ca7a6d7376a3064a426ebb4dd9247afda3d54ddd9a9d39176192356d448ce97cff0af1528b111334809350397aa5819c3392e35e61bd66138 SHA512 c9d1e924ee22740c52509497f33fbeb208c9e73a99a29f77d96c8a9bb3e599e32706efea50e48015c153232cdcf4c1cc139b4398a9ed0184a2be2212be17d76a
DIST sqlglot-28.7.0-crates.tar.xz 6575196 BLAKE2B 29a29117c0118312e425cadb4ad2b2051bb3e7740175fab28865740051916b636f161ad0aa1afc346575698156b595c05cf9eec217b1ddd92d2f8a8741ba1686 SHA512 205a6932d593c41439e8de6b694bb1206e554c92ee2647cdd0fa33cf5497f46bea2e67e5e6b3e4af336837e3bd2cf2c0b82dfd7dc99a283bf134ba62c413d2ff
DIST sqlglot-28.7.0.tar.gz 5717197 BLAKE2B 279e940abd537b75f69d0aaaa500fc4622daa175840bc0ba8126216bdb2d8860f641d3b751fd51879ac20e44c898cf4bd7b0518bd906f74c8b243d791e21adba SHA512 284b68d0848ac134ab2950a367b3dee875de2339605b392df2098e0f6c08ba6eba46c8496e773dba8a131613c668e7222622869bcf6ae09ee190e0203286d989
+DIST sqlglot-28.8.0.tar.gz 5734732 BLAKE2B 06ffba829543a83bf70880f64eb5822c3f56c791e4faea810e61d307f19c59fb567fdce42b67e7713b5bd48da396c4667fe9deb1238ae49311ba954a5c0cd2c2 SHA512 cc5441759541adaa642954d0abc8dccb1a77a400182b87a12e5e4ebd573233431ae39f90bfb7f5f9032fa7ad716f8b53f1eec4706613b69c221d118079a6057d
diff --git a/dev-python/sqlglot/sqlglot-28.6.0.ebuild b/dev-python/sqlglot/sqlglot-28.8.0.ebuild
index 8bafca26d9de..c1ea5b5b0b0d 100644
--- a/dev-python/sqlglot/sqlglot-28.6.0.ebuild
+++ b/dev-python/sqlglot/sqlglot-28.8.0.ebuild
@@ -3,14 +3,13 @@
EAPI=8
-CRATES="
-"
-
+CRATES=""
CARGO_OPTIONAL=1
+RUST_MIN_VER="1.81.0"
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..14} )
-CRATE_PV=27.24.2
+CRATE_PV=28.7.0
inherit cargo distutils-r1 pypi optfeature
diff --git a/dev-python/types-gdb/Manifest b/dev-python/types-gdb/Manifest
index dbe43b6b4363..7581cee880e8 100644
--- a/dev-python/types-gdb/Manifest
+++ b/dev-python/types-gdb/Manifest
@@ -1,2 +1,3 @@
DIST types_gdb-16.3.0.20250920.tar.gz 25335 BLAKE2B 4e6e0c710e7f883327356ce3743bfe4eb96f850b8858e8c47db5c6dab088279a6f8e2caba9701b601800d5ddf9c5054d576db2e92a34f14223073b7aa6ea541d SHA512 ff5ee6e27a7c3c01ce9a81490b398bbab2fb2f43b4b1aba6d625b757eb739a06c7333b4ba759e76cdb23bbb133fa77774ff182a2189f6ea24d2300641509c2bf
DIST types_gdb-16.3.0.20260109.tar.gz 25382 BLAKE2B 53fd27c17d936cbbaf97a45582e8b27c0820515b253fb7b29b7470ec3b894b4caedd10832d1848029473aeb734368c3856ab6f9b31484cf19dcd8cea5f7e729b SHA512 4d4329c64281720c6f4f57533b161066d09d91c6e412394e52c29008cb4e12d36b78af53652fc2ccb2d5c0db143be28b1ea521ae25830f035bf0e499e317997d
+DIST types_gdb-16.3.0.20260203.tar.gz 25569 BLAKE2B da5f1e81f508f8383ab00a4581083d3c6e6e056380f9ab13308b732b3a597074d47fc7a359ee52756135cdfd00ca429d89366824b09b1c755002df12f3573513 SHA512 bd8665f5ce2ec975f9a59b5646332fec68e846614b9e4f84aafb60f6c84772448b847f7610e0d787a3b07904093d5983b5c8b5fe4da30d5dfc135c3eddf9044c
diff --git a/dev-python/types-gdb/types-gdb-16.3.0.20260203.ebuild b/dev-python/types-gdb/types-gdb-16.3.0.20260203.ebuild
new file mode 100644
index 000000000000..fbf77e18e21e
--- /dev/null
+++ b/dev-python/types-gdb/types-gdb-16.3.0.20260203.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2022-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 pypi
+
+DESCRIPTION="Typing stubs for gdb"
+HOMEPAGE="https://pypi.org/project/types-gdb/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
diff --git a/dev-python/urwid/Manifest b/dev-python/urwid/Manifest
index ca961e96fc4d..14d8ab18c5fe 100644
--- a/dev-python/urwid/Manifest
+++ b/dev-python/urwid/Manifest
@@ -1,2 +1,3 @@
-DIST urwid-3.0.3.tar.gz 855817 BLAKE2B 069ebcda9a79192bc098e87f8a0cc2bbc66a53a3482262e7be77017ba0a1b73e3794160f3cc51b8f1916252fffa6d6401bebd2a6268071de2b5bb646d79c73f7 SHA512 4c8ced00f399509225b7b287704a6d00f05b80411b9381355dcf384243e36f200a3efdf01e3ea6f7c9fbeed4c1105595d4dd99220c80e8fd3ddfebdaf1fcf5eb
DIST urwid-3.0.4.tar.gz 855817 BLAKE2B abf8fa38b2ef4b62878d4473588b95277e9fd88dc8d70c9444e5a6a5ca50d9ad78065e66acb3253e55a5af6ede8feb8c2abd825176136adb01afcc023492b575 SHA512 02e7e089f8a4b90a61e2dd7988a7c1b89caf11174f27c8d8fe423f4688853e25210f6eec0d299570676cc0d106641fb6aebcdfab17c9d4bab91a69234cb8dce0
+DIST urwid-3.0.5.tar.gz 860746 BLAKE2B b4056fa299e4c35dab0b94be8c2b4f3c219bfa20bb3be0b6039a38887e66611b15cd5c0ceb30de37e022327475096f981191163573cfc6ccb80e0d09de3e4ced SHA512 998916294c7e215fcaa096dc2d7d70d18503e3425473fde85365ed6a52550bb61064d0bfe576b83a15cff688836af81ba13565d87aa0aecd3941f9b4adcf1886
+DIST urwid-3.0.5.tar.gz.provenance 9379 BLAKE2B adc9a61e1211e15c1067e072d5ae2e86da161720cbaa4ca55017579a909e8dbc58670f084b164618cbd3042f8551304068ca259b569970ad815cccb84cc6bbda SHA512 6b779886a7ba09fe1e40c6587b91158d84dd7fbf5016fa2477682c4d38e381c11de988e0cded40c41f78b726b389ae7839ed6bd5b7c5f33fa61862798d64a437
diff --git a/dev-python/urwid/urwid-3.0.3.ebuild b/dev-python/urwid/urwid-3.0.5.ebuild
index c201e94863eb..b584716e7dcb 100644
--- a/dev-python/urwid/urwid-3.0.3.ebuild
+++ b/dev-python/urwid/urwid-3.0.5.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=setuptools
+PYPI_VERIFY_REPO=https://github.com/urwid/urwid
PYTHON_COMPAT=( python3_{10..14} )
PYTHON_REQ_USE="ncurses"
@@ -18,11 +19,11 @@ HOMEPAGE="
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="examples"
RDEPEND="
- dev-python/wcwidth[${PYTHON_USEDEP}]
+ >=dev-python/wcwidth-0.4[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
diff --git a/dev-python/wrapt/Manifest b/dev-python/wrapt/Manifest
index 9b6d47277806..13153fc3a216 100644
--- a/dev-python/wrapt/Manifest
+++ b/dev-python/wrapt/Manifest
@@ -1,5 +1,4 @@
DIST wrapt-1.17.3.gh.tar.gz 140900 BLAKE2B 88c4cd718cd98a97c866c4f0b9f7e095347fe6fa5fed60c54e389329c89f9f07099c8fb79561cf5e12c19c44a4067d81e805c55b54a74429e6b75913dedd6b3f SHA512 1a1f7419f20faa461a9e23ad09cc98d381ef2c48b3b24ed1dfe98d42d16857a958252301e78dd41b7fa8ef37eea379f9244cace2b396b49718c44cbc701308a3
-DIST wrapt-2.0.0.gh.tar.gz 183430 BLAKE2B 63a9a28cf2b757c1778c55205509eb0dd1b1cec670d8495db1f8ae3ae0a89166f7c40ca73cdf52c1b5b7a7ab499fae540aa1bc6966c52a8319834ca050d19946 SHA512 bd9386946b4e09bdfde42fefb075310d881d8a98ab5194f20244716703db1015f0aed29bddc6d30ffbe55e1ed54c11110b26f57db536fab97f89dc0c02150b3d
DIST wrapt-2.0.1.gh.tar.gz 184792 BLAKE2B 127b42113031a8284a72e49e0e4a737754ecd2dc6dc41628154c0c9c5d092f81c67e30339ca8b740f6d26f94bdbebc9a6c43c75b9e12dc1ff86431b003d6d0ad SHA512 ff7a69e7c2454f33f0f631f408013242a0292b28a8a601e981cef9b8c997b5769305bfb6b68b2504e96a1d2181d8e9aa48b25a159178f73906b53e527a00cbc5
DIST wrapt-2.1.0.gh.tar.gz 183579 BLAKE2B 086cd80794abd3ba2cda04b1cca1f8e6e09e0c3ad6afdd852f174bcb1c6196d1603f15fe08f1f18600dbbed025a8341cb6be16c2d84469e05d9fd10b9dd3868b SHA512 7faea2c7df3be93ae0b28b62a03cb0d95e9120e6d0fe7ddeb1d8fe5081686ad76d0a5e80cd1ed75209eb17e8aea1c777b9ad66af6a34436bc0f8cbe53529d2f3
-DIST wrapt-2.1.0rc1.gh.tar.gz 183560 BLAKE2B 154d1b29a41ef5c180c33df2b6e5331fe5c4526d28c3a4a3f7a287a865ba7bf228fbc964b34b3f09c00bdb99ac1e339316d263ec5e6e842c0916fc64ee9152b5 SHA512 0996e211f5853612d6daee8bbab3df3b45e6e41e88ff507696d194b223f01af3b5118f9dcd35ef5a4755af9833dc5d7b6ea96fea68958004417d190298fe44cc
+DIST wrapt-2.1.1.tar.gz 81329 BLAKE2B 124aef3455f52e4baf264e4d0ff478b2eca20e8ed225c69faf72de182b28d4cf45a33a0f47947c78172d89894dd1f9656aaad9181ed2a6c52629d0ee61624242 SHA512 26ad70de5662329abca8b0d05652ca5a0585f58c0a9808afe96222a81bc54bef11ec841d64993364f4fcc9719c99a96c19ea77134b146c5cb7ee8a9044359444
diff --git a/dev-python/wrapt/wrapt-2.0.0.ebuild b/dev-python/wrapt/wrapt-2.0.0.ebuild
deleted file mode 100644
index 6639b2a64d5c..000000000000
--- a/dev-python/wrapt/wrapt-2.0.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1
-
-MY_P=${P/_}
-DESCRIPTION="Module for decorators, wrappers and monkey patching"
-HOMEPAGE="
- https://github.com/GrahamDumpleton/wrapt/
- https://pypi.org/project/wrapt/
-"
-SRC_URI="
- https://github.com/GrahamDumpleton/wrapt/archive/${PV/_}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-IUSE="+native-extensions"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
-
-python_compile() {
- local -x WRAPT_INSTALL_EXTENSIONS=$(usex native-extensions true false)
- distutils-r1_python_compile
-}
diff --git a/dev-python/wrapt/wrapt-2.1.0_rc1.ebuild b/dev-python/wrapt/wrapt-2.1.1.ebuild
index 823530186a4e..1140ac517b4b 100644
--- a/dev-python/wrapt/wrapt-2.1.0_rc1.ebuild
+++ b/dev-python/wrapt/wrapt-2.1.1.ebuild
@@ -7,7 +7,7 @@ DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..14} )
-inherit distutils-r1
+inherit distutils-r1 pypi
MY_P=${P/_}
DESCRIPTION="Module for decorators, wrappers and monkey patching"
@@ -15,11 +15,6 @@ HOMEPAGE="
https://github.com/GrahamDumpleton/wrapt/
https://pypi.org/project/wrapt/
"
-SRC_URI="
- https://github.com/GrahamDumpleton/wrapt/archive/${PV/_}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
@@ -30,7 +25,6 @@ IUSE="+native-extensions"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
python_compile() {
local -x WRAPT_INSTALL_EXTENSIONS=$(usex native-extensions true false)