summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-04-21 11:22:54 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-04-21 11:22:54 +0000
commit7a9d8caa231727ec9a1f2581be86973de06b58e4 (patch)
tree92c3e6531886344e09adec726b34a80f6375c790 /dev-python
parent2ba9a1319f58c25dfe0d28321e8be53e667f94ac (diff)
downloadbaldeagleos-repo-7a9d8caa231727ec9a1f2581be86973de06b58e4.tar.gz
baldeagleos-repo-7a9d8caa231727ec9a1f2581be86973de06b58e4.tar.xz
baldeagleos-repo-7a9d8caa231727ec9a1f2581be86973de06b58e4.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.42.92.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.42.92.ebuild67
-rw-r--r--dev-python/cachetools/Manifest6
-rw-r--r--dev-python/cachetools/cachetools-6.2.6.ebuild27
-rw-r--r--dev-python/cachetools/cachetools-7.0.2.ebuild27
-rw-r--r--dev-python/cachetools/cachetools-7.0.3.ebuild27
-rw-r--r--dev-python/cachetools/cachetools-7.0.4.ebuild27
-rw-r--r--dev-python/cachetools/cachetools-7.0.6.ebuild (renamed from dev-python/cachetools/cachetools-7.0.1.ebuild)0
-rw-r--r--dev-python/capturer/capturer-3.0-r1.ebuild6
-rw-r--r--dev-python/capturer/files/capturer-3.0-py3.14.patch52
-rw-r--r--dev-python/cfn-lint/Manifest2
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.49.0.ebuild64
-rw-r--r--dev-python/channels/Manifest6
-rw-r--r--dev-python/channels/channels-3.0.5.ebuild41
-rw-r--r--dev-python/channels/channels-4.2.2.ebuild34
-rw-r--r--dev-python/channels/channels-4.3.2.ebuild62
-rw-r--r--dev-python/channels/files/channels-4.3.2-fix-install.patch14
-rw-r--r--dev-python/channels/metadata.xml11
-rw-r--r--dev-python/coloredlogs/coloredlogs-15.0.1-r2.ebuild2
-rw-r--r--dev-python/cypari2/cypari2-2.2.2.ebuild2
-rw-r--r--dev-python/cysignals/Manifest1
-rw-r--r--dev-python/cysignals/cysignals-1.12.4.ebuild28
-rw-r--r--dev-python/fpylll/fpylll-0.6.4.ebuild41
-rw-r--r--dev-python/humanfriendly/humanfriendly-10.0-r2.ebuild2
-rw-r--r--dev-python/jupyter-events/Manifest1
-rw-r--r--dev-python/jupyter-events/jupyter-events-0.12.1.ebuild41
-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/latexrestricted/latexrestricted-0.6.2.ebuild2
-rw-r--r--dev-python/magic-wormhole/Manifest1
-rw-r--r--dev-python/magic-wormhole/magic-wormhole-0.21.0.ebuild64
-rw-r--r--dev-python/material-color-utilities/material-color-utilities-0.1.5.ebuild2
-rw-r--r--dev-python/material-color-utilities/material-color-utilities-9999.ebuild35
-rw-r--r--dev-python/mido/mido-1.3.3.ebuild2
-rw-r--r--dev-python/narwhals/Manifest4
-rw-r--r--dev-python/narwhals/narwhals-2.20.0.ebuild (renamed from dev-python/narwhals/narwhals-2.18.1.ebuild)2
-rw-r--r--dev-python/oslotest/Manifest1
-rw-r--r--dev-python/oslotest/oslotest-6.1.1.ebuild27
-rw-r--r--dev-python/patatt/patatt-0.7.0-r1.ebuild1
-rw-r--r--dev-python/pdm/Manifest1
-rw-r--r--dev-python/pdm/pdm-2.26.8.ebuild84
-rw-r--r--dev-python/pkg-resources/pkg-resources-81.0.0.ebuild2
-rw-r--r--dev-python/psycopg/Manifest1
-rw-r--r--dev-python/psycopg/psycopg-2.9.12.ebuild61
-rw-r--r--dev-python/pydantic-settings/Manifest2
-rw-r--r--dev-python/pydantic-settings/pydantic-settings-2.14.0.ebuild39
-rw-r--r--dev-python/pydantic/Manifest3
-rw-r--r--dev-python/pydantic/pydantic-2.13.3.ebuild233
-rw-r--r--dev-python/pygobject/Manifest4
-rw-r--r--dev-python/pygobject/files/pygobject-3.48.2-egg-info.patch39
-rw-r--r--dev-python/pygobject/pygobject-3.48.2-r1.ebuild79
-rw-r--r--dev-python/pygobject/pygobject-3.50.0.ebuild73
-rw-r--r--dev-python/pygobject/pygobject-3.56.2.ebuild (renamed from dev-python/pygobject/pygobject-3.54.3.ebuild)7
-rw-r--r--dev-python/pymongo/Manifest1
-rw-r--r--dev-python/pymongo/pymongo-4.17.0.ebuild201
-rw-r--r--dev-python/pysubs2/pysubs2-1.8.1.ebuild2
-rw-r--r--dev-python/python-rtmidi/python-rtmidi-1.5.8.ebuild2
-rw-r--r--dev-python/repology-client/Manifest2
-rw-r--r--dev-python/repology-client/repology-client-0.7.1.ebuild (renamed from dev-python/repology-client/repology-client-0.5.0.ebuild)3
-rw-r--r--dev-python/rtslib-fb/rtslib-fb-2.2.3.ebuild2
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-30.6.0.ebuild53
-rw-r--r--dev-python/textual/Manifest4
-rw-r--r--dev-python/textual/textual-8.2.0.ebuild107
-rw-r--r--dev-python/textual/textual-8.2.1.ebuild107
-rw-r--r--dev-python/textual/textual-8.2.4.ebuild (renamed from dev-python/textual/textual-8.1.1-r1.ebuild)0
70 files changed, 1118 insertions, 811 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index badd10a2ebeb..6cffcabf4719 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -12,3 +12,4 @@ DIST boto3-1.42.88.gh.tar.gz 1120718 BLAKE2B f45f5c0ee3a6b262f4e49a5fe670a225c1a
DIST boto3-1.42.89.gh.tar.gz 1122098 BLAKE2B 8f81c17e47e8c07278b4eaf26c4e24a265f2c0e37c9d5e4ac364de781f0ec1d4869faa78b451726906ff3e967779c600d15a78954c721766a7ef494b193fb2dd SHA512 ef9c48233a08ff3147c589851af0c87b48bcd0506f7f3b1dd58de067ab3a7c9eef48e55f3696bcdae99094cde89339162d3432f492498555dacbf1288b4d0a53
DIST boto3-1.42.90.gh.tar.gz 1123585 BLAKE2B c70766edc67bee9deceb08f779ace13f327c2d966996e780b3e6681115fceff7c18d69fcb16907c0753c6d4c36e3aba2ad07d141fe9e20cfce774441630430bf SHA512 ffc470e9a6a5165419180b99085e1461131d11cdf018969d1e7428e6e0b7ab3ab5c08e9e4e1b8401f3e5c74b28e10fab1d12e8e8dc9bbacf68a65b6002b390d3
DIST boto3-1.42.91.gh.tar.gz 1124704 BLAKE2B b6916ead939d892467698a93b7fa9257f094cf3095465a38010ddbd0125e8ad042a28b10c4ee260e12e2819504855ab11ce18ab4100405c95ceec5272a894e71 SHA512 f6c8fc30f6846dbf9dce51177306cea7794bd74438322566ad7f5d6bdc60ca419b23dd08c5f92ba9a73fca8c8bc017555167a68c8966a0a0d04851e81c9a7990
+DIST boto3-1.42.92.gh.tar.gz 1125628 BLAKE2B e53dcee267249fd505065f25fba9eacbd9dc930381b8c191750f2515405a8bebd15ece5cd6223bd2a0aef4bcc1616d4bb16b6757aba92a17ddc3df970b78016b SHA512 a56fd9720725efb83376534a0e8b244dad429d1f0b0162591b146fa9d5f052e535ef5c9d7d72e398fcdd0f3e683f103fc41ff1d53072804ab65eeb3fb5ec81ad
diff --git a/dev-python/boto3/boto3-1.42.92.ebuild b/dev-python/boto3/boto3-1.42.92.ebuild
new file mode 100644
index 000000000000..6e5f06a012ad
--- /dev/null
+++ b/dev-python/boto3/boto3-1.42.92.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 6336593b9ffb..fa8041f9c8fb 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -12,3 +12,4 @@ DIST botocore-1.42.88.gh.tar.gz 16115557 BLAKE2B cb2470ce6d16bb0e91d6976b84899ee
DIST botocore-1.42.89.gh.tar.gz 16126567 BLAKE2B 7f3586175496d9d767346ed9037cb8416f76bc080d921f248d27b4e391242ad6fd0ffd3337fcddf413f2dd272e8d6a9c7951e0c120a27686f1f921d782b4dbf2 SHA512 1e2fa4687a8e01a025c30fe01e6ae4e63c9ef00241fdedd329230f8fa8189e205a0566d75fd0d35ef28b53bcd0a0023aa74d3150f527cec8db41ee0a44329e6d
DIST botocore-1.42.90.gh.tar.gz 16133286 BLAKE2B be3d2f1bb0c29c3d43fbd17d4c893923edd0f4287013d4e7f4bee36bc575c0fe4e5a12a8e976f0b1f898cdc8831539b1d34f615147eb40b4ff58addb9cacca9f SHA512 a6e7650163935b6e78a0cbfb27ce4ca7911b95012b46a478ec1b32233c28da59a8a4f7b8df221269b4e57722055d7d05cd600ec176117c5c270a6dcc716ca839
DIST botocore-1.42.91.gh.tar.gz 16138871 BLAKE2B b5090d9707e20d83bdcc2757f13f6555a2fe50bc10361c8bbea9fba5fe09183ac588700864fec9677ba0bc84d85337c0b2a5f8d38ab0a832068dd1292000ee95 SHA512 5c96771c9170476817b3c4fc8e4201123389867015285c14a6db09856f2a5f9b9110523cf3a757fa2182fe726e99c549871b62a2ce3dc80d6b8abf703f0103cb
+DIST botocore-1.42.92.gh.tar.gz 16157923 BLAKE2B 635caf24f55c3c291f5d8dcb6c4954bd4c9a6b47b4390cb07ed1f55ad668070f0d345557872312e70377d249f7940fab2fbd62eb5b1bd5239dcf6f53d48d7068 SHA512 5077240ed9ab86cf61aee76e6cb111c8749cac5c64eb5e29d350d34afb1e052ba301b38c12622d8effc7d5ab122734cf01f2a93b0e352ab37a5234da17c17fd5
diff --git a/dev-python/botocore/botocore-1.42.92.ebuild b/dev-python/botocore/botocore-1.42.92.ebuild
new file mode 100644
index 000000000000..f6ce0d9ed8d5
--- /dev/null
+++ b/dev-python/botocore/botocore-1.42.92.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/cachetools/Manifest b/dev-python/cachetools/Manifest
index dbae4b3c55e9..5325284ae788 100644
--- a/dev-python/cachetools/Manifest
+++ b/dev-python/cachetools/Manifest
@@ -1,6 +1,2 @@
-DIST cachetools-6.2.6.tar.gz 32363 BLAKE2B 0560af2d8ac1b3da6a831df3011457d329d6f500c0d46747747450929c96c9cc074f780bb2553d48837781a73fc5daf4a014d24fcc410aef3b71e1c96e71fe27 SHA512 99437623eb08b7a9cd135240ba257fd83d4b133d3da5b6676f578fa762020c2afa4f2f025513338718680be6d8b45a58c5d2381ce6791f0a7e5bcbdc548d43d4
-DIST cachetools-7.0.1.tar.gz 36126 BLAKE2B 4e5456d28772f2e03d90bdc23c02c3194a2cef0f27585c563dcb27f77f8f126c36d3cc7592b5f49121ef685f3926eb4a7b56f5a2356b02eef5d8cee9570aa852 SHA512 b849c8dfd1ee6a24181c0eb634fe710052f9b464df75b527d25f9fabccb128f499d6ad5ba68c8c6d12fa5f708cd5206eed6db7791c75b33320990ba3ce48e312
-DIST cachetools-7.0.2.tar.gz 36983 BLAKE2B 369e200286fb4aaf8d5e0c7495dbcae5f1fd9cf3e9236f6d7b2fbdcccc7cb0c02ee7289285c11c9bd17b2ed331a3d8b569735f819fcd84ce8338fe7a84abff56 SHA512 a313ec8eddcd6956730f3156f59610d5f0351b7a5a82003954ad0e482e8b1f3d2d0aac670a4114eb76812719fb2b7a398c425405e8a30c40d493454bd82cb192
-DIST cachetools-7.0.3.tar.gz 37187 BLAKE2B 09ddfd53787a93305321067c25670526bb2c3295a6f3957ffc4d46c8a7ad3e4ebb8d03fdc38dc0a8b3dc4f589841c421a9d7acabb788db2cfb71d7f940f13093 SHA512 be21e607bf40161a53c085945fec0b8eac0cc691b65a26ffbb179866c03dbbe0cb2b73388130841af866c309bc686e1ab5297d2afbe803550844e302cbead87d
-DIST cachetools-7.0.4.tar.gz 37379 BLAKE2B 0c022007f4825a08e0b31e0612c316cf10eb4a737c3728b49da1cb2f5526b9af575c87c822301f29920a6f49756b960c6118158dee53433f1f26de166479261b SHA512 3b0acfd82c33e576dec3c2c315053a9beac168dedea6d969658ded7c8d781d28ce6921cf664883ba75fceff31873f45ca71593fc8e18ec37d327129bac02ca8c
DIST cachetools-7.0.5.tar.gz 37367 BLAKE2B c226e63ba5902b6f84c007d64fe54122d7b6c4ad2fd13e37c35a8d8a382bffcb3883fbf57b87f121c48d7836cd9e8ae8dfc58358df406ae2e96426d8df332627 SHA512 4d93f6124ea077c73438b3a11dd8321249695080a759984146f96cd855bb706ac60bc6bfaab3e782eb17690a00576e016ecadc4090d8a385110b6fd2a04bcc6f
+DIST cachetools-7.0.6.tar.gz 37526 BLAKE2B 24791b5e633c141ce08e0fa7f3f38699e8fc38609d56a0bfc42515a3689c3dda63014b3d7736364e80a0472b25bfd917e2dbd011188b98f44e174c54a04cab39 SHA512 0a6d94b548f956d57c9d2f8d7810d0a8e757afdd8ce9b46370414ad0edc058d8f1d9bd55eca2851971d748e11cc04b96c9c05b20cc0e583650a6ffd24689d37a
diff --git a/dev-python/cachetools/cachetools-6.2.6.ebuild b/dev-python/cachetools/cachetools-6.2.6.ebuild
deleted file mode 100644
index ff82e16ddf0e..000000000000
--- a/dev-python/cachetools/cachetools-6.2.6.ebuild
+++ /dev/null
@@ -1,27 +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 pypi
-
-DESCRIPTION="Extensible memoizing collections and decorators"
-HOMEPAGE="
- https://github.com/tkem/cachetools/
- https://pypi.org/project/cachetools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_test() {
- local -x THREADING_TESTS=1
- epytest
-}
diff --git a/dev-python/cachetools/cachetools-7.0.2.ebuild b/dev-python/cachetools/cachetools-7.0.2.ebuild
deleted file mode 100644
index ad2f2949a441..000000000000
--- a/dev-python/cachetools/cachetools-7.0.2.ebuild
+++ /dev/null
@@ -1,27 +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 pypi
-
-DESCRIPTION="Extensible memoizing collections and decorators"
-HOMEPAGE="
- https://github.com/tkem/cachetools/
- https://pypi.org/project/cachetools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_test() {
- local -x THREADING_TESTS=1
- epytest
-}
diff --git a/dev-python/cachetools/cachetools-7.0.3.ebuild b/dev-python/cachetools/cachetools-7.0.3.ebuild
deleted file mode 100644
index ad2f2949a441..000000000000
--- a/dev-python/cachetools/cachetools-7.0.3.ebuild
+++ /dev/null
@@ -1,27 +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 pypi
-
-DESCRIPTION="Extensible memoizing collections and decorators"
-HOMEPAGE="
- https://github.com/tkem/cachetools/
- https://pypi.org/project/cachetools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_test() {
- local -x THREADING_TESTS=1
- epytest
-}
diff --git a/dev-python/cachetools/cachetools-7.0.4.ebuild b/dev-python/cachetools/cachetools-7.0.4.ebuild
deleted file mode 100644
index ad2f2949a441..000000000000
--- a/dev-python/cachetools/cachetools-7.0.4.ebuild
+++ /dev/null
@@ -1,27 +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 pypi
-
-DESCRIPTION="Extensible memoizing collections and decorators"
-HOMEPAGE="
- https://github.com/tkem/cachetools/
- https://pypi.org/project/cachetools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_test() {
- local -x THREADING_TESTS=1
- epytest
-}
diff --git a/dev-python/cachetools/cachetools-7.0.1.ebuild b/dev-python/cachetools/cachetools-7.0.6.ebuild
index ad2f2949a441..ad2f2949a441 100644
--- a/dev-python/cachetools/cachetools-7.0.1.ebuild
+++ b/dev-python/cachetools/cachetools-7.0.6.ebuild
diff --git a/dev-python/capturer/capturer-3.0-r1.ebuild b/dev-python/capturer/capturer-3.0-r1.ebuild
index 2f1dfcee6d0f..f34f41cef038 100644
--- a/dev-python/capturer/capturer-3.0-r1.ebuild
+++ b/dev-python/capturer/capturer-3.0-r1.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
@@ -18,6 +18,10 @@ KEYWORDS="amd64 ~arm ~x86"
RDEPEND="dev-python/humanfriendly[${PYTHON_USEDEP}]"
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0-py3.14.patch
+)
+
distutils_enable_sphinx docs
distutils_enable_tests pytest
diff --git a/dev-python/capturer/files/capturer-3.0-py3.14.patch b/dev-python/capturer/files/capturer-3.0-py3.14.patch
new file mode 100644
index 000000000000..c2d8fa16aa8d
--- /dev/null
+++ b/dev-python/capturer/files/capturer-3.0-py3.14.patch
@@ -0,0 +1,52 @@
+https://github.com/xolox/python-capturer/issues/15
+https://github.com/xolox/python-capturer/pull/16
+
+From 3d0a9a040ecaa78ce2d39ec76ff5084ee7be6653 Mon Sep 17 00:00:00 2001
+From: Scott K Logan <logans@cottsay.net>
+Date: Wed, 16 Jul 2025 15:58:09 -0500
+Subject: [PATCH] Prefer multiprocessing 'fork' start method if available
+
+The default multiprocessing start method for Linux changed in Python
+3.14 from 'fork' to 'forkserver'. Because capturer relies on sharing
+file descriptors, only 'fork' can be used. Prefer that start method
+specifically (if the platform supports it).
+---
+ capturer/__init__.py | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/capturer/__init__.py b/capturer/__init__.py
+index 407ba26..9f98950 100644
+--- a/capturer/__init__.py
++++ b/capturer/__init__.py
+@@ -136,6 +136,10 @@ class MultiProcessHelper(object):
+ def __init__(self):
+ """Initialize a :class:`MultiProcessHelper` object."""
+ self.processes = []
++ try:
++ self.context = multiprocessing.get_context('fork')
++ except ValueError:
++ self.context = multiprocessing.get_context()
+
+ def start_child(self, target):
+ """
+@@ -146,8 +150,8 @@ def start_child(self, target):
+ :class:`multiprocessing.Event` to be set when the child
+ process has finished initialization.
+ """
+- started_event = multiprocessing.Event()
+- child_process = multiprocessing.Process(target=target, args=(started_event,))
++ started_event = self.context.Event()
++ child_process = self.context.Process(target=target, args=(started_event,))
+ self.processes.append(child_process)
+ child_process.daemon = True
+ child_process.start()
+@@ -309,7 +313,7 @@ def start_capture(self):
+ # Capture (and most likely relay) stdout/stderr as separate streams.
+ if self.relay:
+ # Start the subprocess to relay output.
+- self.output_queue = multiprocessing.Queue()
++ self.output_queue = self.context.Queue()
+ self.start_child(self.merge_loop)
+ else:
+ # Disable relaying of output.
+
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 0932ac79e0c5..ae3d1280b42b 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -5,3 +5,5 @@ DIST cfn_lint-1.48.0.tar.gz 3732246 BLAKE2B 9ca71a4deb691beaab14a3704326d17d9dcd
DIST cfn_lint-1.48.0.tar.gz.provenance 9678 BLAKE2B 764559893896a2e2687224bb5dc872a4251df7b2d60b1702670ec84302a6fc03e49d3900cb98f5b683dcb05ae166ecb58abee87787d9afa80fcaf6a8b85afb5e SHA512 0a69980543bcd6d8b22adf543fbc87593faa5713493aa5001685a760b281d045def35e74cbf6c91a3631c8c562461b72b7a474b1129071f8360903fa8fd719c2
DIST cfn_lint-1.48.1.tar.gz 3735412 BLAKE2B 5922239a4d380b7a1ab049ada1e3eaa259cd459d06e8da6fdd3db76ab9ed22cde6aa9d3375ccfd9abd80a05ad14c996b11bc16be84047ddeca87edff16a372f5 SHA512 657fe5b3f1d2e00171abf0d5ccbff2a8515458eab94d50280aca4d434356fe015808291eff31c2c7b8f01fd9caa2ef02d4a2d8d769dde141cf97438c29c0b669
DIST cfn_lint-1.48.1.tar.gz.provenance 9674 BLAKE2B 57cfbe292b4d2564e0cbd21920dc62cd42345383ae6af3cd2ae79cb90925846872aa5d77c9044a7faeec0128c38d451d689a301fd39e89356ce0dd8dd167247c SHA512 60bbba274ea6269daa5aeba59cf1f5c628cecc83e265a581eea54455c420a414ea02a55eff05dfdd5a406dcc9d25e0d7be63cefe2062d6cc10b025caa5fb16f1
+DIST cfn_lint-1.49.0.tar.gz 4027042 BLAKE2B bf8e751c1c793ca0b9330bc0995852da4676e206e5f04a196a2464e5380a16babca20688e14661dd7c511a630c9edfa4b1237a178560f2ae5b59321340962d73 SHA512 67176fe40b4c77fdfe0ffa9cbc838889d033d14054a9e5f45000e8b1e49a35dbc5976e19f5b4019dd9eb781d74b3933c968fe643ce91f56c67fd7ff87c18f554
+DIST cfn_lint-1.49.0.tar.gz.provenance 9752 BLAKE2B 810c13a861f45a8d90378ba7af8d29737c8626bb0f8349a21b61f4c613db039770b447b3c265203d850e9dbc34302004c889d3845974e38fe350bfac808b9e7c SHA512 4ff8d9ea3039f72902dbba2d919ff1daf93182bf4c3e5b9866fdc9ad7bca96c78fb8adb00e91e6c0826b765fa3a267fc9ecb1514eafd74120d10fdfb1f14f88b
diff --git a/dev-python/cfn-lint/cfn-lint-1.49.0.ebuild b/dev-python/cfn-lint/cfn-lint-1.49.0.ebuild
new file mode 100644
index 000000000000..91dab4441df0
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.49.0.ebuild
@@ -0,0 +1,64 @@
+# 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/aws-cloudformation/cfn-lint
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.109.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-77.0.3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # different line wrapping somehow
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # TODO: suddenly started failing in older versions too
+ # https://github.com/aws-cloudformation/cfn-lint/issues/4207
+ test/integration/test_good_templates.py
+ test/unit/module/override/test_exclude.py::TestExclude::test_success_run
+ test/unit/module/test_api.py::TestLintFile::test_good_template
+ test/unit/module/test_rules_collections.py::TestRulesCollection::test_success_run
+ # crashes on 3.12+, probably pygraphviz
+ test/unit/module/test_api.py::TestLintByConfig::test_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ epytest
+}
diff --git a/dev-python/channels/Manifest b/dev-python/channels/Manifest
index b58c0c2009cc..93bbf2713782 100644
--- a/dev-python/channels/Manifest
+++ b/dev-python/channels/Manifest
@@ -1,5 +1 @@
-DIST channels-3.0.5.gh.tar.gz 200118 BLAKE2B 7a7653f986face1e87369917317db013e5c9fc912c6e2d7c737054ffef167bd01feb48f7e2d00d0d331e7a16093478e5416645717aed59e46dfec8f9b3641a2e SHA512 b12d1aec9602b702b5a097e9ca52dccad49940f82fcbe5594890c9bd1f1879a2fcf0f29630ca53e4972a26853df8f71d07d7b2cccd876abbf2417a76dee281bf
-DIST channels-4.2.2.gh.tar.gz 197010 BLAKE2B 321bf62c68038ce511145acd43c036dd298d58056f20ab2d676c3e3a8d6360a86a4f07c8f9ed6c123f888c012d69da22cfae4fb477dd5422cf326bf2de6a4c8f SHA512 8f7c8f27981988fed8ec254db91ce0a130b24842949ef94cc9ae21b4a259a7003654ec86c4e18aa81924e26d9b81b6a2aafaac404e490cbdda6b4a100476917a
-EBUILD channels-3.0.5.ebuild 936 BLAKE2B 788d0e9a2822dd9d0ed2d1d1a62135aeb5f244710b66f7591962518a5204cde5b8e779280783dd1d1a1b1a3fa9b272a0eb457f1d88d62c8ecefc8f67384929ef SHA512 89003fa68c7ab1cdd1a329f4389ba6fe28f491217a70c03b2979a992b450d8aa1a02f024f073ad5fc0aa1d093d81c6c8b1adaa45bdc9a179f5bd1607d85c13ef
-EBUILD channels-4.2.2.ebuild 829 BLAKE2B e5946c4a0eaf9fb3ffa2092a3d5d49d3d6ee16f151483fa2b716c8bab3350eca5e330a22822f881421d8882ffb970f4c56154c613477d094319e46addf1a5537 SHA512 84ce30d87a654c1a89ac299fb0f6447ca9c736e4b63497d83fc2687384e9cbe8094ba8f5021a19f726f9bae97c6b6d11eddef6a9ee5c275efe827bf95d3848ec
-MISC metadata.xml 445 BLAKE2B b4c0a41d6caadfbc53cbba3c41f8b7689a286b3f8d285c37a88a1f79d8dc350b82fea255048c022b92091a1e0cc67bf19645d6c32183b82a6dd49cccadf5078f SHA512 380c8b98efe8d9a2513c51899b7de90b115d4a51f104f46b552ff8929c322850e511e245a2ba0e976213416ae7241a17292ca98248caacfc891fcdcf5cea5d44
+DIST channels-4.3.2.gh.tar.gz 206077 BLAKE2B c0913d67dc74bc728dd828584cf803b4ad175bab717de71ccf1e1c5b6aaca296fd15d011deb07b2876e63b7daaefab5e5ee24c323e907b3c563f5358759f14b8 SHA512 29d9c91aca721fad44143978863c45812bf596bb65cf99084803f78d85c664d5cc7ca1015df151cdc27754b822c9cfd18102989b6e5f59bc50257f6c9d8b8b3e
diff --git a/dev-python/channels/channels-3.0.5.ebuild b/dev-python/channels/channels-3.0.5.ebuild
deleted file mode 100644
index 03a4923889fe..000000000000
--- a/dev-python/channels/channels-3.0.5.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2022 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="Extends Django abilities beyond HTTP protocol"
-HOMEPAGE="https://github.com/django/channels"
-SRC_URI="https://github.com/django/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="
- >=dev-python/django-2.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/async-timeout[${PYTHON_USEDEP}]
- >=dev-python/daphne-3.0[${PYTHON_USEDEP}]
- <dev-python/daphne-4.0[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.rst )
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # https://github.com/django/channels/issues/1915
- echo 'asyncio_mode = auto' >> setup.cfg
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/channels/channels-4.2.2.ebuild b/dev-python/channels/channels-4.2.2.ebuild
deleted file mode 100644
index 710613a7cbd1..000000000000
--- a/dev-python/channels/channels-4.2.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 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="Extends Django abilities beyond HTTP protocol"
-HOMEPAGE="https://github.com/django/channels"
-SRC_URI="https://github.com/django/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="
- >=dev-python/asgiref-3.5.0[${PYTHON_USEDEP}]
- >=dev-python/django-4.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/async-timeout[${PYTHON_USEDEP}]
- >=dev-python/daphne-4.0.0[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme
diff --git a/dev-python/channels/channels-4.3.2.ebuild b/dev-python/channels/channels-4.3.2.ebuild
new file mode 100644
index 000000000000..ffafd1ece52b
--- /dev/null
+++ b/dev-python/channels/channels-4.3.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 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="Brings async, event-driven capabilities to Django"
+HOMEPAGE="
+ https://channels.readthedocs.io/
+ https://github.com/django/channels/
+ https://pypi.org/project/channels/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/django/channels/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.9.0[${PYTHON_USEDEP}]
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/async-timeout[${PYTHON_USEDEP}]
+ dev-python/selenium[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # avoid daphne as it requires autobahn
+ tests/sample_project/tests/test_selenium.py
+ tests/security/test_websocket.py
+ tests/test_database.py
+ tests/test_generic_http.py
+ tests/test_generic_websocket.py
+ tests/test_http.py
+ tests/test_testing.py
+)
+
+EPYTEST_PLUGINS=( pytest-django pytest-asyncio )
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/channels-4.3.2-fix-install.patch
+)
+
+python_prepare_all() {
+ # avoid daphne as it requires autobahn
+ sed -e '/"daphne"/d' -i tests/sample_project/config/settings.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/channels/files/channels-4.3.2-fix-install.patch b/dev-python/channels/files/channels-4.3.2-fix-install.patch
new file mode 100644
index 000000000000..18eca8f75445
--- /dev/null
+++ b/dev-python/channels/files/channels-4.3.2-fix-install.patch
@@ -0,0 +1,14 @@
+diff --git a/setup.cfg b/setup.cfg
+index 742e1f6..43d8c0d 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -52,7 +52,7 @@ types =
+
+ [options.packages.find]
+ exclude =
+- tests
++ tests*
+
+ [flake8]
+ exclude = venv/*,tox/*,docs/*,testproject/*,build/*
+
diff --git a/dev-python/channels/metadata.xml b/dev-python/channels/metadata.xml
index 7093cae71294..0dec5a678a5f 100644
--- a/dev-python/channels/metadata.xml
+++ b/dev-python/channels/metadata.xml
@@ -2,11 +2,10 @@
<!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>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
- <upstream>
- <bugs-to>https://github.com/django/channels/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/coloredlogs/coloredlogs-15.0.1-r2.ebuild b/dev-python/coloredlogs/coloredlogs-15.0.1-r2.ebuild
index d772ec0a179c..b7b9274580e7 100644
--- a/dev-python/coloredlogs/coloredlogs-15.0.1-r2.ebuild
+++ b/dev-python/coloredlogs/coloredlogs-15.0.1-r2.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/cypari2/cypari2-2.2.2.ebuild b/dev-python/cypari2/cypari2-2.2.2.ebuild
index 7c22df934786..b80d8684582b 100644
--- a/dev-python/cypari2/cypari2-2.2.2.ebuild
+++ b/dev-python/cypari2/cypari2-2.2.2.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/cysignals/Manifest b/dev-python/cysignals/Manifest
index 4125e75cc935..f149e8507d7c 100644
--- a/dev-python/cysignals/Manifest
+++ b/dev-python/cysignals/Manifest
@@ -1,3 +1,2 @@
-DIST cysignals-1.12.4.tar.gz 65545 BLAKE2B f9d007a49ad86b504fb63dd236ca6943f544e4ce9f44491c302313809ba1cb3e734966b3e26a47f61a664753a75b97d5de56564a956d6b9c2e6891edade10981 SHA512 0e42221dee8f9986945148b70586647dd85ad9fedc9164770448e20e2345645278cd7e60ee0a7914e1a23418872011af54d9ad15e06f80a9f22cc11d68c3f654
DIST cysignals-1.12.6.tar.gz 79583 BLAKE2B 2b743fe0a1ec17443df484aef441fef73f8f49beac5160d3f4f95b7fc2ba25f3870670589807b1b11e27574bd190d652ded85920c030c1236f64f1134e47f64a SHA512 bfad82a6aed3627385abaf74a5e915970bb8d540d0d84a20d3f8722c6c235e35499ed966fe593c804480d8103f67a8e2d951324730176a92799f26175c2d79e5
DIST cysignals-1.12.6.tar.gz.provenance 9356 BLAKE2B 51a9f2a4e1c0a639b0c13db22eea4cdc513ea60795f2519991c6d13290c359a1fa20c0ab684a3d9c57e01eaac4e00ffd12585e085878abd60ca91c14e851d7d0 SHA512 2cb4075012971d69e285bd7ce504343c5697c2cd77ed1e2e9f4d763d73102cfd9e897ca93d6f1fb8d4758a5e8adb68700f5b0eedfc57084939c45e2121595c56
diff --git a/dev-python/cysignals/cysignals-1.12.4.ebuild b/dev-python/cysignals/cysignals-1.12.4.ebuild
deleted file mode 100644
index bc0769c61173..000000000000
--- a/dev-python/cysignals/cysignals-1.12.4.ebuild
+++ /dev/null
@@ -1,28 +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=meson-python
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Interrupt and signal handling for Cython"
-HOMEPAGE="
- https://github.com/sagemath/cysignals/
- https://pypi.org/project/cysignals/
-"
-
-# setup.py has "or later"
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~riscv"
-
-BDEPEND="
- >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/fpylll/fpylll-0.6.4.ebuild b/dev-python/fpylll/fpylll-0.6.4.ebuild
deleted file mode 100644
index 93b3aab8d4ae..000000000000
--- a/dev-python/fpylll/fpylll-0.6.4.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..14} )
-DISTUTILS_USE_PEP517=setuptools
-DISTUTILS_EXT=1
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for sci-libs/fplll"
-HOMEPAGE="
- https://github.com/fplll/fpylll/
- https://pypi.org/project/fpylll/
-"
-
-# setup.py says "or later"
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~riscv"
-IUSE="test"
-
-DEPEND="
- dev-python/cysignals[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- >=sci-libs/fplll-5.5.0
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- >=dev-python/cython-3[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test(){
- local -x PY_IGNORE_IMPORTMISMATCH=1
- epytest
-}
diff --git a/dev-python/humanfriendly/humanfriendly-10.0-r2.ebuild b/dev-python/humanfriendly/humanfriendly-10.0-r2.ebuild
index 218d272f4178..fef3cb5aa7c8 100644
--- a/dev-python/humanfriendly/humanfriendly-10.0-r2.ebuild
+++ b/dev-python/humanfriendly/humanfriendly-10.0-r2.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/jupyter-events/Manifest b/dev-python/jupyter-events/Manifest
index 61fae462b0d4..796654a989e2 100644
--- a/dev-python/jupyter-events/Manifest
+++ b/dev-python/jupyter-events/Manifest
@@ -1 +1,2 @@
DIST jupyter_events-0.12.0.tar.gz 62196 BLAKE2B 8c9c46a0c7a932a27b176abb0805b5e7aeff256ec6e3e1b76e8608fb8bd0eda6729608be2d9a28e76c37c6c8f62ecdcb1be497ccf57c5b93679d900b298fb9ea SHA512 8f105e4bc8aae65170127bc2d9a0f49ace7bff23e93e99219a41444d83501e32a0dc9b637de5b7a7d085f192f775d4197ec0d1e3bf0a0fc9c15787c82978f42c
+DIST jupyter_events-0.12.1.tar.gz 62854 BLAKE2B 7f81abcf427b40126a4dbeb1e847c699de7c9f33fc223914dc4505fe7f78e8fcd4e4a5948c56da38ee1b30f6cd408d62bce0ab2c609952afff5ca09e3144165d SHA512 bfe99a7b55e87e797699186b3212959706dbc7f864deb27491dc93b48a5c922ce2d28d4a4ba3b4f2e400952213cb18a811fb942a8b98010de4d8719249324ef1
diff --git a/dev-python/jupyter-events/jupyter-events-0.12.1.ebuild b/dev-python/jupyter-events/jupyter-events-0.12.1.ebuild
new file mode 100644
index 000000000000..e3591700b183
--- /dev/null
+++ b/dev-python/jupyter-events/jupyter-events-0.12.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Jupyter Event System library"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/jupyter_events/
+ https://pypi.org/project/jupyter-events/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# jsonschema[format-nongpl] deps are always on in our ebuild
+RDEPEND="
+ >=dev-python/jsonschema-4.18.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/python-json-logger-2.0.4[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3[${PYTHON_USEDEP}]
+ dev-python/referencing[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ )
+"
+
+# TODO: package jupyterlite-sphinx
+# distutils_enable_sphinx docs
+EPYTEST_PLUGINS=( pytest-{asyncio,console-scripts} )
+distutils_enable_tests 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/latexrestricted/latexrestricted-0.6.2.ebuild b/dev-python/latexrestricted/latexrestricted-0.6.2.ebuild
index d2ba937ec955..4e7ecb74555b 100644
--- a/dev-python/latexrestricted/latexrestricted-0.6.2.ebuild
+++ b/dev-python/latexrestricted/latexrestricted-0.6.2.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/magic-wormhole/Manifest b/dev-python/magic-wormhole/Manifest
index 8bc2e42f9ddd..36f0ccfa25b8 100644
--- a/dev-python/magic-wormhole/Manifest
+++ b/dev-python/magic-wormhole/Manifest
@@ -1,2 +1 @@
-DIST magic_wormhole-0.21.0.tar.gz 304220 BLAKE2B aa89cd1c88d42d725c57981abd85a59df6dc8e5fa5bf573313517d2eab687d15b1817ea0f8915fa9f4ce31f406064ee2f8f76e85c348e816d38de0dde330daea SHA512 c262b333e4af752c3efb71f0f08065623b4f36bed562b3f4dc47288485e9f789cf423253cc4efbd3b69e07f712545f055ff5fdf8522cca772bdc4c53124294cd
DIST magic_wormhole-0.23.0.tar.gz 313621 BLAKE2B 3670b70133e9d844216eb458bff1fa68b645ca76cfe64be0c79794ce37b74cad40b99550f43076339d571b7f9962ddb66f1949c852e5f78e5659d004ed15c11e SHA512 704125bc29274326b27da8ab16c2bd92a98bca07e9b20cbb9fb5e036bb5ad109a28d981a2ea315a05916d7958f4d05148262f2ea49694eb161b8dcbba3a16dac
diff --git a/dev-python/magic-wormhole/magic-wormhole-0.21.0.ebuild b/dev-python/magic-wormhole/magic-wormhole-0.21.0.ebuild
deleted file mode 100644
index 431a10378f3d..000000000000
--- a/dev-python/magic-wormhole/magic-wormhole-0.21.0.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi shell-completion
-
-DESCRIPTION="Get Things From One Computer To Another, Safely"
-HOMEPAGE="
- https://magic-wormhole.readthedocs.io/en/latest/
- https://github.com/magic-wormhole/magic-wormhole/
- https://pypi.org/project/magic-wormhole/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/autobahn-0.14.1[${PYTHON_USEDEP}]
- dev-python/automat[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/humanize[${PYTHON_USEDEP}]
- >=dev-python/iterable-io-1.0.0[${PYTHON_USEDEP}]
- dev-python/noiseprotocol[${PYTHON_USEDEP}]
- dev-python/pynacl[${PYTHON_USEDEP}]
- >=dev-python/qrcode-8.0[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- ~dev-python/spake2-0.9[${PYTHON_USEDEP}]
- >=dev-python/tqdm-4.13.0[${PYTHON_USEDEP}]
- dev-python/twisted[ssl,${PYTHON_USEDEP}]
- >=dev-python/txtorcon-18.0.2[${PYTHON_USEDEP}]
- >=dev-python/zipstream-ng-1.7.1[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/versioneer[${PYTHON_USEDEP}]
- test? (
- dev-python/magic-wormhole-mailbox-server[${PYTHON_USEDEP}]
- dev-python/magic-wormhole-transit-relay[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( hypothesis pytest-twisted )
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
- rm versioneer.py || die
-}
-
-src_install() {
- distutils-r1_src_install
-
- newbashcomp "${ED}/usr/wormhole_complete.bash" wormhole
- newfishcomp "${ED}/usr/wormhole_complete.fish" wormhole.fish
- newzshcomp "${ED}/usr/wormhole_complete.zsh" _wormhole
- rm "${ED}/usr"/wormhole_complete* || die
-}
diff --git a/dev-python/material-color-utilities/material-color-utilities-0.1.5.ebuild b/dev-python/material-color-utilities/material-color-utilities-0.1.5.ebuild
index 2e6b394b4bba..7f96b4bd8dfc 100644
--- a/dev-python/material-color-utilities/material-color-utilities-0.1.5.ebuild
+++ b/dev-python/material-color-utilities/material-color-utilities-0.1.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/material-color-utilities/material-color-utilities-9999.ebuild b/dev-python/material-color-utilities/material-color-utilities-9999.ebuild
deleted file mode 100644
index 796d7f979d3c..000000000000
--- a/dev-python/material-color-utilities/material-color-utilities-9999.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..14} )
-DISTUTILS_USE_PEP517=poetry
-
-inherit distutils-r1
-
-MY_PN="${PN}-python"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Python port of material-color-utilities used for Material You colors"
-HOMEPAGE="
- https://pypi.org/project/material-color-utilities/
-"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/avanishsubbiah/material-color-utilities-python.git"
-else
- KEYWORDS="~amd64 ~arm64"
- S="${WORKDIR}/${MY_P}"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-RDEPEND="
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/regex[${PYTHON_USEDEP}]"
-BDEPEND="
- dev-python/poetry-core[${PYTHON_USEDEP}]
- dev-python/build[${PYTHON_USEDEP}]"
diff --git a/dev-python/mido/mido-1.3.3.ebuild b/dev-python/mido/mido-1.3.3.ebuild
index 215071ba8b09..acb3e0a84451 100644
--- a/dev-python/mido/mido-1.3.3.ebuild
+++ b/dev-python/mido/mido-1.3.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 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/narwhals/Manifest b/dev-python/narwhals/Manifest
index e0d2e81ddb7d..a0056b587289 100644
--- a/dev-python/narwhals/Manifest
+++ b/dev-python/narwhals/Manifest
@@ -1,4 +1,4 @@
-DIST narwhals-2.18.1.tar.gz 620578 BLAKE2B 7343ea3062a536e8717ec09443949a94406b3851a6fc938f81e2b047656f9c0894c5675097a6ae5a26f6e415f6a0e5a2186d4308ad8442216ef8d8449bdcdaed SHA512 0af3ed27c870d72139a367b39fb111659b8194f49671951c90b383fe89513fd147595249151fe8c81cd2d42b65b068e4452dc3d44fd5e6d3492636a92aeaec9c
-DIST narwhals-2.18.1.tar.gz.provenance 9847 BLAKE2B 35c0db05358adf9d660cc2fac7f87e7f881d073a8f36f35d84fb4ddb4e753893df1d3f800d61e78e390099f53c9ed793ab269de09141314748a969158d3a790b SHA512 4d711c6af6e8eb77db914c2fcfba9be4d75faf059d601b6ad38bb88972c71df6f7ecebf5332c9f1ba16d20260879124422add0bd22d73de39bdfcf7e777a3901
DIST narwhals-2.19.0.tar.gz 623698 BLAKE2B 631e321059b4df803ac491e15554af9804cc85f372cf49e192f3455772fd9b80dec1a30c89f8d85580d8a6a4a5b7fb743deda25deb9198425fb3f903a77e7b82 SHA512 3427a945b7a4daa4c43dc5c448a5bab8d1bc342d48cc43520b099178dfa66b6e24b4510aa9e931f467adb488573467b3f1164665464be1850c2f14924da85de1
DIST narwhals-2.19.0.tar.gz.provenance 9847 BLAKE2B 061cfe1f59ced294fcea9bfcf2e3bf5066e0ae8106a5bf1d3cb4c04ba5a106ad261b5d2b20df7593d96c5bc5506f3ebef3663c7f9ccfd3be5574f2f45be98209 SHA512 10cd0d409e57b4480902f63079cad5380dc0a50d560e2ab26b0a31fd345c00a8070893469c12e04abf37a877abe8cdf38b222c01b056ab9a81b28c5bffe7e4c6
+DIST narwhals-2.20.0.tar.gz 627848 BLAKE2B a625e703ed20d9b38f86705b384e2f4c7e79a762e3331c68193d89c4c065ebba58e06922bd9c363cf03175605ddaf21b1204daea164ebf351cccf6941913c04b SHA512 cb48b03e2540aa04e55cbf4a8862b7d0d3376b4aab81f0b7c252097d1774188f2699a1e45f1fa7ad57f6f2a16d9b83569f7ea7f6238e159e537e68e531bed2a5
+DIST narwhals-2.20.0.tar.gz.provenance 9765 BLAKE2B 5e37b3fd16d6be34b8c31a2abf662b4e0ecfdf9477e53cdba2216200a1122641a0df7bfcf8acb111bddb31663caab2374e6240bcfd192074a9331cadb0b793ee SHA512 e3885f58c61d7d041b300857db0ae279aaa02afe14187e1a831b8e0c5f8a8317b6719370b36a9c4e6a9ee2bd169ff9fa9212a45e381b5b1b26386a534f595ebd
diff --git a/dev-python/narwhals/narwhals-2.18.1.ebuild b/dev-python/narwhals/narwhals-2.20.0.ebuild
index 9ed6257443fa..01d018288706 100644
--- a/dev-python/narwhals/narwhals-2.18.1.ebuild
+++ b/dev-python/narwhals/narwhals-2.20.0.ebuild
@@ -37,7 +37,7 @@ python_test() {
'tests/modern_polars/unpivot_test.py::test_unpivot[pyarrow]'
# fragile to parallel merges that can cause non-atomic .dist-info
# changes
- tests/system_info_test.py::test_get_sys_info
+ tests/system_info_test.py::test_get_deps_info
)
epytest --runslow --constructors="pandas,pandas[nullable],pandas[pyarrow],pyarrow"
diff --git a/dev-python/oslotest/Manifest b/dev-python/oslotest/Manifest
index e719b0697689..744e30d8e259 100644
--- a/dev-python/oslotest/Manifest
+++ b/dev-python/oslotest/Manifest
@@ -1,2 +1,3 @@
DIST oslotest-6.0.0.tar.gz 32997 BLAKE2B 5943f211d1a1d6c0f1b9700be935792c7f83a6db4dc7604afe1f4645939d2e113960c2fd258fe46e08e6f7f653f76bcbc5cb1b5c2e9a30524be7a8f81c50063f SHA512 4541f4fd4cb5ed4e903076fbcb58514709bbf3a9400964a8d54a5708ef8015b75023ef1442eb50980b78e0e794c6c4f95ae6cd75e8c8555fe897862f3d77fbdc
DIST oslotest-6.1.0.tar.gz 34358 BLAKE2B 4258e3010500fb29b67d58df6ab2088a4e8b7396bb2f6b819d11cbd607a3ccee454a961037d00f6313efbf1f1b144a4655bcf1ae0ac588aef15e4109f6987c00 SHA512 b226f92bee97ad708b672188d0ff03e62673b04496211afb0398232cc6d4abbacf1f730fc2f652532032f19eeef309d178fd5059a603594dee3cdd116b9fcd3a
+DIST oslotest-6.1.1.tar.gz 34131 BLAKE2B 681c024e1e7291983ed1ff98cddb14a6e57188c6b604440dbbddf1bd0900453c469a272eaa1e9dd242b69c378a5e9581a8f492ba293402f87ef91153c49b0514 SHA512 11524557f50549d187ab438e5368258b10aa4c10100979305c31269a681d201c204411047e84a89e9b310fe523cdee460fec0d1fdee65491de634b8bf11ec3ea
diff --git a/dev-python/oslotest/oslotest-6.1.1.ebuild b/dev-python/oslotest/oslotest-6.1.1.ebuild
new file mode 100644
index 000000000000..9f9e930c868f
--- /dev/null
+++ b/dev-python/oslotest/oslotest-6.1.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo test framework"
+HOMEPAGE="
+ https://opendev.org/openstack/oslotest/
+ https://github.com/openstack/oslotest/
+ https://pypi.org/project/oslotest/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86"
+
+RDEPEND="
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/patatt/patatt-0.7.0-r1.ebuild b/dev-python/patatt/patatt-0.7.0-r1.ebuild
index 9da6264effe3..cf5aec45ade7 100644
--- a/dev-python/patatt/patatt-0.7.0-r1.ebuild
+++ b/dev-python/patatt/patatt-0.7.0-r1.ebuild
@@ -22,4 +22,5 @@ PATCHES=(
"${FILESDIR}"/${P}-py311-tests.patch
)
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/pdm/Manifest b/dev-python/pdm/Manifest
index dbb677cf1164..2077d43be7d6 100644
--- a/dev-python/pdm/Manifest
+++ b/dev-python/pdm/Manifest
@@ -1 +1,2 @@
DIST pdm-2.26.7.tar.gz 2679303 BLAKE2B 34f540a63bc8949c2e2f310e93b2e97b111e46cca0def8ae2647e2e177f4758615e592f3348964fc98a5b00640ba5d165fd18f452218ac76d4354cd54c40494f SHA512 eb21bfc0982053ec972e8802815ff6a30d27120fc2f4a3f77451c056a5263c10565a704916447b5e24fca322d8936e390d932a49ad1603442095a00eb76f9400
+DIST pdm-2.26.8.tar.gz 2681418 BLAKE2B e4df1b8c436e567aa7dbc0ef7505a2fb04266122fc12b66500f255463f49d0f60a27e1ba65bd6d758c67dddd28c5ac5c22e12febe6da6a4d1d30806506cf214e SHA512 aaee6ae96c678d04b1477c2c0b2b2e2882dabca3c9e04d095c259e732256e2551b317d6dedd49a1bf51d7b9670167be4a31f3f1296a951fc7a636315d09f9d65
diff --git a/dev-python/pdm/pdm-2.26.8.ebuild b/dev-python/pdm/pdm-2.26.8.ebuild
new file mode 100644
index 000000000000..5af2a34490f9
--- /dev/null
+++ b/dev-python/pdm/pdm-2.26.8.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python package and dependency manager supporting the latest PEP standards"
+HOMEPAGE="
+ https://pdm-project.org/
+ https://github.com/pdm-project/pdm/
+ https://pypi.org/project/pdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/dep-logic-0.5[${PYTHON_USEDEP}]
+ <dev-python/findpython-1[${PYTHON_USEDEP}]
+ >=dev-python/findpython-0.7.0[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ >=dev-python/hishel-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/httpcore-1.0.6[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ >=dev-python/id-1.5.0[${PYTHON_USEDEP}]
+ dev-python/installer[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22.1[${PYTHON_USEDEP}]
+ >=dev-python/pbs-installer-2025.10.07[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.2.0[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/unearth-0.17.5[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/uv
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{httpserver,httpx,mock,rerunfailures} )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:,<[0-9.a]*::' pyproject.toml || die
+ # remove pkgutil namespace magic, as it doesn't work and makes
+ # dev-python/pdm-backend tests test the wrong package
+ rm src/pdm/__init__.py || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]'
+ # unhappy about extra packages being installed?
+ # (also fails randomly in venv)
+ tests/cli/test_build.py::test_build_with_no_isolation
+ # TODO: random regression?
+ tests/cli/test_python.py::test_find_python
+ # TODO
+ tests/test_formats.py::test_export_from_pylock_not_empty
+ )
+
+ epytest -m "not network and not integration and not path"
+}
diff --git a/dev-python/pkg-resources/pkg-resources-81.0.0.ebuild b/dev-python/pkg-resources/pkg-resources-81.0.0.ebuild
index 564c4c4ebed2..c05935f55227 100644
--- a/dev-python/pkg-resources/pkg-resources-81.0.0.ebuild
+++ b/dev-python/pkg-resources/pkg-resources-81.0.0.ebuild
@@ -24,7 +24,7 @@ RDEPEND="
>=dev-python/jaraco-text-4.0.0[${PYTHON_USEDEP}]
>=dev-python/packaging-25.0[${PYTHON_USEDEP}]
>=dev-python/platformdirs-4.4.0[${PYTHON_USEDEP}]
- !<dev-python/setuptools-82[${PYTHON_USEDEP}]
+ !<dev-python/setuptools-82
"
EPYTEST_PLUGINS=()
diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest
index a544127d75c1..62f8d3e7f431 100644
--- a/dev-python/psycopg/Manifest
+++ b/dev-python/psycopg/Manifest
@@ -1,2 +1,3 @@
DIST psycopg-3.3.3.gh.tar.gz 610053 BLAKE2B 4fbb34ea6f6c02eea6c140743f0e81629e57cf01b82eac26e603af9be7a3bee1f9e31044acb91ff26fab5cbc2edcb584629699dd6753980753f742a0a0ded34f SHA512 40d27d978c4c25384d2572a8b7603fd040f7edccc427c7f4db889a7e949a679afe57ce4effda86c06be899892ff191ee73161020ef364b80f57c3ccee4bf31ab
DIST psycopg2-2.9.11.tar.gz 379598 BLAKE2B 78608a2b4a9b1db9ba9873ce01b84f898489de8ff6db5522ecc2fa68606b0ef8cdab7f137c86cf840509c9161b329a2efc1e1aadc494b565226099e8651372ab SHA512 44f7b03d958dc62822be8a8c38d738c4016c3a1f860c824158b78ba0a23f04ca63377171b22a14e38b76df868458ede25f29e4643197912adb2f1a1db8c0d5c0
+DIST psycopg2-2.9.12.tar.gz 379683 BLAKE2B bb5e5cdee0fef649c46d414b916d6f49096c27571897cfe1ecbaa9416c8c4f8c79eeff94a3475421981e3659a123e8e8852442968539d084e7cc46c54829c946 SHA512 0d37b51408298baad8b2b095af24b1c0d0b67ba99a2532ed7344a931c6f4d431be9c21c94811eace1b4418899f070f80e80266bfe0386aac2e64289ab1b8862e
diff --git a/dev-python/psycopg/psycopg-2.9.12.ebuild b/dev-python/psycopg/psycopg-2.9.12.ebuild
new file mode 100644
index 000000000000..8e17553f3be8
--- /dev/null
+++ b/dev-python/psycopg/psycopg-2.9.12.ebuild
@@ -0,0 +1,61 @@
+# 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_PN="psycopg2"
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="
+ https://www.psycopg.org/
+ https://github.com/psycopg/psycopg2/
+ https://pypi.org/project/psycopg2/
+"
+
+LICENSE="LGPL-3+"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-db/postgresql-8.1:*"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? ( >=dev-db/postgresql-8.1[server] )
+"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # fix for py3.13
+ sed -e 's:_PyInterpreterState_Get:PyInterpreterState_Get:' \
+ -i psycopg/utils.c || die
+ # broken by different encoding of IPv4-mapped addresses
+ sed -e 's:test_\(cidr\|inet\)_adapt:_&:' \
+ -i tests/test_ipaddress.py || die
+}
+
+src_test() {
+ initdb -D "${T}"/pgsql || die
+ # TODO: random port
+ pg_ctl -w -D "${T}"/pgsql start \
+ -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" psycopg2_test || die
+
+ local -x PSYCOPG2_TESTDB_HOST="${T}"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ "${EPYTHON}" -c "
+import tests
+tests.unittest.main(defaultTest='tests.test_suite')
+" --verbose || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pydantic-settings/Manifest b/dev-python/pydantic-settings/Manifest
index 75106091ef7e..87c3671558fe 100644
--- a/dev-python/pydantic-settings/Manifest
+++ b/dev-python/pydantic-settings/Manifest
@@ -1,2 +1,4 @@
DIST pydantic_settings-2.13.1.tar.gz 223826 BLAKE2B 0b58da3891e6ba63f7be5a18340293ea1d0fe0e112f880e992e1dab90018adb32b9334b2d8ce8f861be6780bf4657b3c7352fc822c9e8ae97766d8cde08ed455 SHA512 bf800b27afd3cfdd14e3cbc65573274f6bcdfd261f3398097c73473ca49abe3f8f53fbaf01acbac844dc9a86b3c44f27e0d0ec6e6f207cec2c9f2cd22debb986
DIST pydantic_settings-2.13.1.tar.gz.provenance 9329 BLAKE2B 26ace0f7f5ff172f0cab598a91223e2fef4240424ecae97ad02e184bf53aa72b90da6e89e0ed2381335d59f13750758c0bdff90f6e09f1229ef76c97d330ac8a SHA512 9983cff4dbc7e65824713db8823aa8945adca233415c27d0a2604007060b049aab0ffd588d0cdd56e1fa89ce1284d451e5b62064d6187c72f18583f58cbadd28
+DIST pydantic_settings-2.14.0.tar.gz 235709 BLAKE2B e0b0941560b8a009c3ca03465a2ba4fad6d6d88214c3a40da59fb996bc2ee36dfa7273e47724e17c4f7887e17d412b6c8f6ec42c3e09e7a382f4407b2c3061c4 SHA512 b50b741ea75956f9e4b3ea3cd25451c046264c62212b21334482f2e583679899660588b3b56a5f89e099e12d4bcb3802ef943ec077518f819e8336cb00c1a0e6
+DIST pydantic_settings-2.14.0.tar.gz.provenance 9337 BLAKE2B 5005c40f98ee24f8d5a9d39f039afa8f8d581391d8d5620d5ace5508fe89a296ce07651e3807e4c89dd41c3bee1b6207543e48f87ea1395bbfc338872e4e0f5f SHA512 c2cce764319e7b9e7280f66cd5ed9bf10b6f156d43bdb19acdfda845593d7b7030be6c543cdf0ca6eddb83605f3a3e69aef6a04568ee8b850895815bc0c3ba03
diff --git a/dev-python/pydantic-settings/pydantic-settings-2.14.0.ebuild b/dev-python/pydantic-settings/pydantic-settings-2.14.0.ebuild
new file mode 100644
index 000000000000..0dd19242deb6
--- /dev/null
+++ b/dev-python/pydantic-settings/pydantic-settings-2.14.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/pydantic/pydantic-settings
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Settings management using Pydantic"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic-settings/
+ https://pypi.org/project/pydantic-settings/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pydantic-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dotenv-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-inspection-0.4.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # TODO; can't repro in venv
+ tests/test_precedence_and_merging.py::test_merging_preserves_earlier_values
+)
+
+EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+)
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index 2ff3e8bd2e4d..1f2829917c9c 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -62,10 +62,13 @@ DIST pydantic-2.13.0b3.tar.gz 841035 BLAKE2B 8abe85c8bf03d89621b5230c55a5e5ca65a
DIST pydantic-2.13.0b3.tar.gz.provenance 9430 BLAKE2B 63fa74fe50a3b879841580cd28606eeac0b9a55bcab651bd2504e66336c10ff557ff2efe86e21106beaf3e4927c4f787674a8863e3ef0698c868b20a25e967b7 SHA512 ac4d225bbb6b0b1cd94b497d121df3b9865748e7e7cba63754756056c1a27cf8bc03c824404c7a906b5fefa8d4dbe385ee4e56397a5176246d443445c52a5687
DIST pydantic-2.13.2.tar.gz 843836 BLAKE2B 853fee7028efcac0d8c9c2168708bd390e7cad657247b89734a48f29e59431190bfb4ac019709b533bffcd7c1953e5d658fe795a1eb7b2a3634eae9a305e3c30 SHA512 8cbb910e5ecd60cd8b0816623a3b667ebccf774735b00afed900c89def457a66cf97a544d840f457a0d0b15764f7da725c15ce12288359fa00f49da6be8a6e5f
DIST pydantic-2.13.2.tar.gz.provenance 9445 BLAKE2B 39e499de92600d04f2a470b522537a3cc96fabcafc1e3845192b58afe2b4957658d978f41c5a651b5be1fd72a2471c9043ea144dfac1f71de7ef553f895d4971 SHA512 37d1666690698f30ba0c6e580fbc0641516386a2a5a6aea38e9b4c5ffd7ab63f8f8ee4c9838b2a98e329dfbc9d88ccdc9fbd48c766ff43a452dd41081dc6906d
+DIST pydantic-2.13.3.tar.gz 844068 BLAKE2B 9ac95faf9b902b2f2ed89e1095ffdd8b1d091c89f3e3bb34c5956ab0c0efc19ee9c2eec5cd81b7e94d7b2dc1aa4d345ed6dbc2cfc24049944bbc396ddecc16a4 SHA512 fb807b94eec1ac603e515e11e99d1b4c19d31c0008d2ae02f4798eab8ad524202b38a71211f1667b476f38385f7e13f7e16b38a5912081eb5df22402020f618a
+DIST pydantic-2.13.3.tar.gz.provenance 9147 BLAKE2B 104db25bf29dcb8a766959d75f4fde3b6f64f6af4c2691a61625a95d14f308ab2ffbbbebf9b7956bca4d3bf7fcb9eea382587160e58140566fd940c866fd1b48 SHA512 6126eff0d22b51d976440c75827e953928aad9e47ec7409c61167e9d923c63c9baf31dad1fa1ffa7c8af91b2505146f3e33b40f3e2caa993cd3c358cf7f907f4
DIST pydantic_core-2.41.5.tar.gz 460952 BLAKE2B dd7d45acdc5f3093668cb57813c0c4e40e5916d04f75ef8f06308ec00243c9b0469cba5ffd2eb8449e11279d28c12ccc039dc03ed108cdb879da675d9f61aebe SHA512 1447f257efdbad0f70b490569c073696f8bdcdbd0baccac40e843520eb3cabfd23d499dca31afdc67581dd6a690cc138b882f393a91f57afcc309c800b9620c3
DIST pydantic_core-2.45.0.tar.gz 471391 BLAKE2B bd88e8d2b6683d7275bae392a42ee207aed60022acd46137b3ffe5bef48b6d7a3ca0a76388b1849a3e08e2bd6a5041029b0777dfba5cbf1cf3b44d468761f098 SHA512 dd9ad080637dbe2f9150cb32b691873544301b5d9bde16aa394f8b3e5fe99a6bbb2df49241849b0f19cf90316160358e2b0b8c18b6861cf78d37e5b9205299f5
DIST pydantic_core-2.46.0.tar.gz 471441 BLAKE2B 26a135a6c7a5cfbb36beecef35ce25b7f8c236cfe724f921a1cf51ab85a2ffed7ec924544f1c3f1270d413e703947938b9a3df7ad07a338794eb26cb992bf9ed SHA512 417bfb49944f3d0739e6413e826db1c2e6b2262875b1921446cfb770c4af71003a50cfd5557e3f61ffe7dee14e34b260d071fcd7c053a2683f9915508f48cc57
DIST pydantic_core-2.46.2.tar.gz 471269 BLAKE2B f190930db969a9b481d4c439eeb44e482d5917af46638d5ac05b5faf66de8d4e4cb671290159b45f3e6e4c24b6fa0fabfc8508943455accc93c487f11857983d SHA512 7fda00ebe980cbe3ab21f972ec1833601e7faaa0bc73ba1233fd9ef2b8c3570601e723c44793e990742d3d02b41ed3dd50cbece01d1c41dedec24e87ea1e6ab4
+DIST pydantic_core-2.46.3.tar.gz 471412 BLAKE2B e9d0efa96b0e3bfee66ca77dcca2d35e178b318c99daf66eca613c287c8be7750580e9e049b21af583ef0161174f1a0a3304b654567f5e4a5e501d8d239fa874 SHA512 3c41c963ea85dc4b43395fbfccb1b65bbafc35dd7450581688ff228fda9b336e980a18f6acc3f8beddf468f760d367ef754d52a45637e3c300489e2a20133f35
DIST pyo3-0.26.0.crate 1151579 BLAKE2B bcc8236785502928bf4a0b7a320e0a8f3d6140c562de4351a52d015aaebb8dd6b4d68fe607c8ea13ec66941c8f01d2c18c4249adfacb521355d4bf158667f3a3 SHA512 e073a4d893f88aa0301ef0ead78048137515edd93c490e6dccbc301ff65a208534c65c1d216b04639d4b1ec1e4b69bc87bd34974e5d0659134c28dcce589c194
DIST pyo3-0.28.2.crate 1202843 BLAKE2B 18158e22631ab35348eab1f117f16b311932de832d910f37a71cf481ec04ced03c37baaf63f1c8afc7ecccef039fc8f9072cbe0dd5109a74e7fb9f6b3ddb18a4 SHA512 fd4a03eb1cdfa40c1ed67b588cd4da31c90972f95c669b20a1099fb9304cd9506337f674e0bc9efd1d22a453162aac79a36ab18ca97eaca3515d640e2e9b923f
DIST pyo3-0.28.3.crate 1204476 BLAKE2B 8540a1c51bac4fbe04ea34d5ce38471c13d5a3f0759e60cf21d67e846b00feb8316e70f32cb8dc6b74d09f0901ffc83d5f41b1a06da6d34790ef13e4cefcad45 SHA512 f955957eec4b95cc9337d331bba3bba52b4754b301cf86cd974601e64eb20c2424023b19be89a224661fe2e185de646cd3d0d00705b6b5cbd139856c9443a247
diff --git a/dev-python/pydantic/pydantic-2.13.3.ebuild b/dev-python/pydantic/pydantic-2.13.3.ebuild
new file mode 100644
index 000000000000..65d1e1aad7e3
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.13.3.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=hatchling
+# no provenance for pydantic-core:
+# https://github.com/pydantic/pydantic-core/issues/1842
+PYPI_VERIFY_REPO=https://github.com/pydantic/pydantic
+PYTHON_COMPAT=( python3_{10..14} )
+
+PYDANTIC_CORE_PV=2.46.${PV##*.}
+RUST_MIN_VER="1.88.0"
+CRATES="
+ ahash@0.8.12
+ aho-corasick@1.1.3
+ allocator-api2@0.2.21
+ autocfg@1.3.0
+ base64@0.22.1
+ bitflags@2.9.1
+ bitvec@1.0.1
+ bumpalo@3.19.0
+ cc@1.0.101
+ cfg-if@1.0.0
+ displaydoc@0.2.5
+ enum_dispatch@0.3.13
+ equivalent@1.0.2
+ foldhash@0.2.0
+ form_urlencoded@1.2.2
+ funty@2.0.0
+ getrandom@0.3.3
+ hashbrown@0.16.1
+ heck@0.5.0
+ hex@0.4.3
+ icu_collections@1.5.0
+ icu_locid@1.5.0
+ icu_locid_transform@1.5.0
+ icu_locid_transform_data@1.5.0
+ icu_normalizer@1.5.0
+ icu_normalizer_data@1.5.0
+ icu_properties@1.5.1
+ icu_properties_data@1.5.0
+ icu_provider@1.5.0
+ icu_provider_macros@1.5.0
+ idna@1.1.0
+ idna_adapter@1.2.0
+ itoa@1.0.11
+ jiter@0.14.0
+ js-sys@0.3.77
+ lexical-parse-float@1.0.5
+ lexical-parse-integer@1.0.5
+ lexical-util@1.0.6
+ libc@0.2.155
+ litemap@0.7.3
+ log@0.4.27
+ lru@0.16.3
+ memchr@2.7.4
+ num-bigint@0.4.6
+ num-integer@0.1.46
+ num-traits@0.2.19
+ once_cell@1.21.3
+ percent-encoding@2.3.2
+ portable-atomic@1.6.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.28.3
+ pyo3-ffi@0.28.3
+ pyo3-macros-backend@0.28.3
+ pyo3-macros@0.28.3
+ pyo3@0.28.3
+ python3-dll-a@0.2.14
+ quote@1.0.44
+ r-efi@5.2.0
+ radium@0.7.0
+ regex-automata@0.4.13
+ regex-syntax@0.8.5
+ regex@1.12.3
+ rustversion@1.0.17
+ serde@1.0.228
+ serde_core@1.0.228
+ serde_derive@1.0.228
+ serde_json@1.0.149
+ smallvec@1.15.1
+ speedate@0.17.0
+ stable_deref_trait@1.2.0
+ static_assertions@1.1.0
+ strum@0.27.2
+ strum_macros@0.27.2
+ syn@2.0.82
+ synstructure@0.13.1
+ tap@1.0.1
+ target-lexicon@0.13.4
+ tinystr@0.7.6
+ unicode-ident@1.0.12
+ url@2.5.8
+ utf16_iter@1.0.5
+ utf8_iter@1.0.4
+ uuid@1.23.0
+ version_check@0.9.5
+ wasi@0.14.2+wasi-0.2.4
+ wasm-bindgen-backend@0.2.100
+ wasm-bindgen-macro-support@0.2.100
+ wasm-bindgen-macro@0.2.100
+ wasm-bindgen-shared@0.2.100
+ wasm-bindgen@0.2.100
+ wit-bindgen-rt@0.39.0
+ write16@1.0.0
+ writeable@0.5.5
+ wyz@0.5.1
+ yoke-derive@0.7.4
+ yoke@0.7.4
+ zerocopy-derive@0.8.25
+ zerocopy@0.8.25
+ zerofrom-derive@0.1.4
+ zerofrom@0.1.4
+ zerovec-derive@0.10.3
+ zerovec@0.10.4
+ zmij@1.0.6
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+# pydantic-core & pydantic have a perfect circular test dep now
+SRC_URI+="
+ $(pypi_sdist_url pydantic_core "${PYDANTIC_CORE_PV}")
+ ${CARGO_CRATE_URIS}
+"
+PYDANTIC_CORE_S=${WORKDIR}/pydantic_core-${PYDANTIC_CORE_PV}
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016
+ ZLIB
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.14.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
+ !dev-python/pydantic-core
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ dev-util/maturin[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ ' 'python3*')
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/faker-18.13.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ )
+"
+# pydantic-core
+BDEPEND+="
+ test? (
+ >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}]
+ >=dev-python/typing-inspection-0.4.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( hypothesis pytest-mock )
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
+
+src_unpack() {
+ pypi_src_unpack
+ cargo_src_unpack
+}
+
+src_prepare() {
+ sed -i -e '/benchmark/d' {.,"${PYDANTIC_CORE_S}"}/pyproject.toml || die
+ sed -i -e '/^strip/d' "${PYDANTIC_CORE_S}"/Cargo.toml || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ local DISTUTILS_USE_PEP517=maturin
+ local DISTUTILS_UPSTREAM_PEP517=maturin
+ cd "${PYDANTIC_CORE_S}" || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # == pydantic ==
+ # -Werror, sigh
+ tests/test_types_typeddict.py::test_readonly_qualifier_warning
+
+ # == pydantic-core ==
+ # TODO: recursion till segfault
+ tests/serializers/test_functions.py::test_recursive_call
+ )
+ local EPYTEST_IGNORE=(
+ # require pytest-examples (pydantic)
+ tests/test_docs.py
+ # benchmarks (both)
+ tests/benchmarks
+ )
+
+ if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ # (pydantic)
+ tests/test_pickle.py
+ )
+ fi
+
+ cd "${PYDANTIC_CORE_S}" || die
+ rm -rf pydantic_core || die
+ # tests link to libpython, so they fail to link on pypy3
+ [[ ${EPYTHON} != pypy3* ]] && cargo_src_test
+ epytest -o xfail_strict=False -o addopts=
+ cd - 2>/dev/null || die
+
+ epytest
+}
diff --git a/dev-python/pygobject/Manifest b/dev-python/pygobject/Manifest
index 393544619aef..c7a0597f1609 100644
--- a/dev-python/pygobject/Manifest
+++ b/dev-python/pygobject/Manifest
@@ -1,7 +1,5 @@
-DIST pygobject-3.48.2.tar.xz 556244 BLAKE2B 6ac7a42752d65668f228aa9823a4e256b030bc84683857e5470bc373eaaf383904d18399379b4a7d0989644e2b0825d63cc8b3f927b97608a209f888bf8cb276 SHA512 11619f73be5894fae82b261779f33390d1aec51b02bcf285c58f3c76ee46dfc1b3f435e4662176fde5ca899aee5afc453f8f0ba28e15e15330a52354cf737d45
-DIST pygobject-3.50.0.tar.xz 929848 BLAKE2B 1f3d27f055132e82c7aff2f4aa664d1dec57096027a4ceaf9c7245d0e05627d4ba5a8cb7396d35cec4ccf86db9cfedcf9f18a200252fffd00340888e95909c09 SHA512 59edec92b29f3101e4f1afd83a37f4d490e8d833e0dbba9ae8c30891541767e3738bb748ed939b2baef1041eec88f192188d38a82712f1ebc089005b4d6f03a9
DIST pygobject-3.50.1.tar.gz 1081846 BLAKE2B 7c6fd07e913f64d925838efc6fa0603fef2298779bee15c2c2b2325dd39942ac4856e71846077b6c89e2b05508d66ce606430433257bbb9d6388a4613436615f SHA512 5708756cbc8e2b697442953a7f3d391ace98f1b7811cb905b0d80185f020bf32a775d70c49d1620a9733e83a6862314f2a72fa1b77cb26a01e84b3bff72e068e
DIST pygobject-3.52.3.tar.gz 1235825 BLAKE2B f9d95ff9e12b6d6fb5c36d1528ff4ef45e6799316ac21b0f79364dc438bf4e0e6670489f23e0ca4325fc21d16cc2d96fe6aff61f71b8bfe768df2c487717e6df SHA512 06085df458076120017ace7a029ac6c00757ae1882a2a50041aadd7f4c2a329a0fb4d18dde02a481c1f4d3acecbc9d8f473f4ae23fbbfc4f885f75bbc7847f24
DIST pygobject-3.52.3_0a8b2c56331a31d7f7096faaa1c1c26467b51c15_pythoncapi-compat.gh.tar.gz 50124 BLAKE2B 67bb1e60d10d72b146ae2f8ca0113939916fa67a3c71c3658343ff3742315768471e50c0254a3f9488031297d6697dbb0e8541bfe72e8b0754ede09fb9d65da8 SHA512 3fff69f471e28b47bbb537d31d182180631090c00aaf45931aad128f4cb700cdfd519ce560610b7e57132ad7d172b8f2bc4cd16cf748f218dafdadd15fc48718
-DIST pygobject-3.54.3.tar.gz 1272609 BLAKE2B d80dded1d2ac7dbc20dddfe5c05a4f03eb9619a32475725211562a883f6637d90b9be213fa5b49fd214663422584340297c6b8c6655042cb011058dd6d3ec729 SHA512 d3052c99133703560ca70d53461bf6fbdb1397cec179a9ea47fd59fcce595611f33040b974bea95e11affb733be27f2693252d002ec68f08a7ecae3382dac898
DIST pygobject-3.54.5.tar.gz 1274658 BLAKE2B 7541502dd4d0f62680d12ebb00f1039c6b33e9c1996500a3d0e54c6c87d719e99e32469d68cfdb04e8e8eaed70e2461739ea176e7bf98100f2329c7084425b5e SHA512 0036068922de03dfa15335b29eb27a9cfd85310b66eae4eb6cb895c427a9fbf3c65462930e981f03b9394bede6fe97639e0bdbee640373188a9c51ad03b65041
+DIST pygobject-3.56.2.tar.gz 1409059 BLAKE2B 9d0ea5b94edc966d8355169d85e79ea0446544f7560832e2be85314c30e739ed71efa877c9111a2a08a388edc9353b6ea5a8678acf681dcc1612ed62493bcaf3 SHA512 8be3ac43fad2aba79bfea05616f66511378fe9b316fe33d9c622af5c7b1ab260e4a513a5f6efe26e261eb6c05763391b327b58563cc551cbd2f25266e8a1826a
diff --git a/dev-python/pygobject/files/pygobject-3.48.2-egg-info.patch b/dev-python/pygobject/files/pygobject-3.48.2-egg-info.patch
deleted file mode 100644
index 0da834216f34..000000000000
--- a/dev-python/pygobject/files/pygobject-3.48.2-egg-info.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 2aa50b8841c26eb892f4666508ba72ebb8179f26 Mon Sep 17 00:00:00 2001
-From: Chris Mayo <aklhfex@gmail.com>
-Date: Mon, 25 Mar 2024 19:21:21 +0000
-Subject: [PATCH] Replace non-standard .egg-info file
-
-Installing a .dist-info directory containing just METADATA is compliant:
-
-https://packaging.python.org/en/latest/specifications/recording-installed-packages/#the-dist-info-directory
----
- PKG-INFO.in => METADATA.in | 0
- meson.build | 6 +++---
- 2 files changed, 3 insertions(+), 3 deletions(-)
- rename PKG-INFO.in => METADATA.in (100%)
-
-diff --git a/PKG-INFO.in b/METADATA.in
-similarity index 100%
-rename from PKG-INFO.in
-rename to METADATA.in
-diff --git a/meson.build b/meson.build
-index b8d69c3a..32204ad5 100644
---- a/meson.build
-+++ b/meson.build
-@@ -194,10 +194,10 @@ if not for_wheel
-
- pkginfo_conf = configuration_data()
- pkginfo_conf.set('VERSION', py_version)
-- configure_file(input : 'PKG-INFO.in',
-- output : 'PyGObject-@0@.egg-info'.format(py_version),
-+ configure_file(input : 'METADATA.in',
-+ output : 'METADATA',
- configuration : pkginfo_conf,
-- install_dir : python.get_install_dir(pure : false))
-+ install_dir : python.get_install_dir(pure : false) / 'PyGObject-@0@.dist-info'.format(py_version))
- endif
-
- pygobject_dep = declare_dependency(
---
-GitLab
-
diff --git a/dev-python/pygobject/pygobject-3.48.2-r1.ebuild b/dev-python/pygobject/pygobject-3.48.2-r1.ebuild
deleted file mode 100644
index 35c192e7dd08..000000000000
--- a/dev-python/pygobject/pygobject-3.48.2-r1.ebuild
+++ /dev/null
@@ -1,79 +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=no
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit gnome.org meson virtualx xdg distutils-r1
-
-DESCRIPTION="Python bindings for GObject Introspection"
-HOMEPAGE="https://pygobject.gnome.org"
-
-LICENSE="LGPL-2.1+"
-SLOT="3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
-IUSE="+cairo examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.64:2
- >=dev-libs/gobject-introspection-1.82.0-r2:=
- dev-libs/libffi:=
- cairo? (
- >=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
- x11-libs/cairo[glib]
- )
-"
-DEPEND="
- ${RDEPEND}
- test? (
- >=app-accessibility/at-spi2-core-2.46.0[introspection]
- dev-python/pytest[${PYTHON_USEDEP}]
- x11-libs/gdk-pixbuf:2[introspection,jpeg]
- x11-libs/gtk+:3[introspection]
- x11-libs/pango[introspection]
- )
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-PATCHES=( "${FILESDIR}/${P}-egg-info.patch" )
-
-python_configure() {
- local emesonargs=(
- $(meson_feature cairo pycairo)
- $(meson_use test tests)
- -Dpython="${EPYTHON}"
- )
- meson_src_configure
-}
-
-python_compile() {
- meson_src_compile
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
- local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
- meson_src_test --timeout-multiplier 3 || die "test failed for ${EPYTHON}"
-}
-
-python_install() {
- meson_src_install
- python_optimize
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- use examples && dodoc -r examples
-}
diff --git a/dev-python/pygobject/pygobject-3.50.0.ebuild b/dev-python/pygobject/pygobject-3.50.0.ebuild
deleted file mode 100644
index b2337b072f25..000000000000
--- a/dev-python/pygobject/pygobject-3.50.0.ebuild
+++ /dev/null
@@ -1,73 +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=no
-# py3.14: https://gitlab.gnome.org/GNOME/pygobject/-/issues/694
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit gnome.org meson virtualx xdg distutils-r1
-
-DESCRIPTION="Python bindings for GObject Introspection"
-HOMEPAGE="https://pygobject.gnome.org"
-
-LICENSE="LGPL-2.1+"
-SLOT="3"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris"
-IUSE="+cairo test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.64:2
- >=dev-libs/gobject-introspection-1.82.0-r2:=
- dev-libs/libffi:=
- cairo? (
- >=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
- x11-libs/cairo[glib]
- )
-"
-DEPEND="
- ${RDEPEND}
- test? (
- >=app-accessibility/at-spi2-core-2.46.0[introspection]
- dev-python/pytest[${PYTHON_USEDEP}]
- x11-libs/gdk-pixbuf:2[introspection,jpeg]
- x11-libs/gtk+:3[introspection]
- x11-libs/pango[introspection]
- )
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-python_configure() {
- local emesonargs=(
- $(meson_feature cairo pycairo)
- $(meson_use test tests)
- -Dpython="${EPYTHON}"
- )
- meson_src_configure
-}
-
-python_compile() {
- meson_src_compile
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
- local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
- meson_src_test --timeout-multiplier 3 || die "test failed for ${EPYTHON}"
-}
-
-python_install() {
- meson_src_install
- python_optimize
-}
diff --git a/dev-python/pygobject/pygobject-3.54.3.ebuild b/dev-python/pygobject/pygobject-3.56.2.ebuild
index 9981d16a11d6..ddac7819d8db 100644
--- a/dev-python/pygobject/pygobject-3.54.3.ebuild
+++ b/dev-python/pygobject/pygobject-3.56.2.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
@@ -45,11 +45,6 @@ BDEPEND="
virtual/pkgconfig
"
-PATCHES=(
- "${FILESDIR}/Skip-test-using-dbus-in-sandbox.patch"
- "${FILESDIR}/Skip-test-detecting-cycle-among-base-classes-typeerr.patch"
-)
-
python_configure() {
local emesonargs=(
$(meson_feature cairo pycairo)
diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest
index 7459595633af..ded7b6a71d97 100644
--- a/dev-python/pymongo/Manifest
+++ b/dev-python/pymongo/Manifest
@@ -1,2 +1,3 @@
DIST mongo-python-driver-4.13.2.gh.tar.gz 2227437 BLAKE2B 3aa6d0feedc6a33eb4e9299d85eeab2a9638bf713cfadf9f4018f6bd668758d3afd5b9b4b71dec037fb3f99e89cc34e299e1d9b4521c8ace9da9ce50ae95142b SHA512 845cf92e702a9970f2ef1b5085fffcca96021e0f2fc5133e24b2860482dafabe7770d9421922659d0c6008aac1d5a70834ee4f1728a648fd83e6d33bc33568b0
DIST mongo-python-driver-4.16.0.gh.tar.gz 2569546 BLAKE2B 7e81fd259f6ed21d4a600f41b6945f520b650bcde2764cdafab85664143dbe76b2d9e1a1db0306bc39afdcd62afc3e250c6e04031b01ffd9dacda8b968786c21 SHA512 38e347599fe26cbe9846ef7f1e0e4adb3aea5dc949d0e8a4bd61806dc00808804e1c34e9213f09c30aab75d26243dd2ed54ab5014e604b127a5c71337855195f
+DIST mongo-python-driver-4.17.0.gh.tar.gz 2597488 BLAKE2B ad733542ca37f1de3e267ef58b5d4c23a4ee10f1b7a9e43ad95adc8602b427cee4ed4126632618c2f1f7134da3d51ee31bed27c36aab47c9f0ee1ebb47e5e6ce SHA512 da3d2d6136e9e4c697f6f5a9a38010bcd6f00a5cbf018de7b6afb3bc9e459ce9a8fcc95db79422eb2ef5d677baa564934db01a5ca4e2909a63c4538098986ab7
diff --git a/dev-python/pymongo/pymongo-4.17.0.ebuild b/dev-python/pymongo/pymongo-4.17.0.ebuild
new file mode 100644
index 000000000000..d72bd8ef74d2
--- /dev/null
+++ b/dev-python/pymongo/pymongo-4.17.0.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit check-reqs distutils-r1
+
+MY_P=mongo-python-driver-${PV}
+DESCRIPTION="Python driver for MongoDB"
+HOMEPAGE="
+ https://github.com/mongodb/mongo-python-driver/
+ https://pypi.org/project/pymongo/
+"
+SRC_URI="
+ https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="doc kerberos +native-extensions +test-full"
+
+RDEPEND="
+ <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
+ kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ test-full? (
+ >=dev-db/mongodb-2.6.0
+ )
+ )
+"
+
+distutils_enable_sphinx doc
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+EPYTEST_RERUNS=5
+distutils_enable_tests pytest
+
+reqcheck() {
+ if use test && use test-full; then
+ # During the tests, database size reaches 1.5G.
+ local CHECKREQS_DISK_BUILD=1536M
+
+ check-reqs_${1}
+ fi
+}
+
+pkg_pretend() {
+ reqcheck pkg_pretend
+}
+
+pkg_setup() {
+ reqcheck pkg_setup
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # we do not want hatch-requirements-txt and its ton of NIH deps
+ sed -i -e '/requirements/d' pyproject.toml || die
+}
+
+python_compile() {
+ # causes build errors to be fatal
+ local -x TOX_ENV_NAME=whatever
+ local DISTUTILS_ARGS=()
+ # unconditionally implicitly disabled on pypy3
+ if ! use native-extensions; then
+ export NO_EXT=1
+ else
+ export PYMONGO_C_EXT_MUST_BUILD=1
+ unset NO_EXT
+ fi
+
+ distutils-r1_python_compile
+
+ # upstream forces setup.py build_ext -i in their setuptools hack
+ find -name '*.so' -delete || die
+}
+
+python_test() {
+ rm -rf bson pymongo || die
+
+ local EPYTEST_DESELECT=(
+ # network-sandbox
+ test/asynchronous/test_async_loop_unblocked.py::TestClientLoopUnblocked::test_client_does_not_block_loop
+ test/asynchronous/test_client.py::AsyncClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
+ test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_logging
+ test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_warning
+ test/asynchronous/test_client.py::TestClient::test_service_name_from_kwargs
+ test/asynchronous/test_client.py::TestClient::test_srv_max_hosts_kwarg
+ test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
+ test/test_client.py::ClientUnitTest::test_detected_environment_logging
+ test/test_client.py::ClientUnitTest::test_detected_environment_warning
+ test/test_client.py::TestClient::test_service_name_from_kwargs
+ test/test_client.py::TestClient::test_srv_max_hosts_kwarg
+ test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
+ test/asynchronous/test_dns.py::IsolatedAsyncioTestCaseInsensitive::test_connect_case_insensitive
+ test/test_srv_polling.py
+ test/asynchronous/test_srv_polling.py
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
+
+ # broken regularly by changes in mypy
+ test/test_typing.py::TestMypyFails::test_mypy_failures
+
+ # fragile to timing? fails because we're getting too many logs
+ test/test_connection_logging.py::TestConnectionLoggingConnectionPoolOptions::test_maxConnecting_should_be_included_in_connection_pool_created_message_when_specified
+
+ # hangs?
+ test/asynchronous/test_grid_file.py::AsyncTestGridFile::test_small_chunks
+
+ # broken async tests?
+ test/asynchronous/test_encryption.py
+
+ # -Werror
+ test/test_read_preferences.py::TestMongosAndReadPreference::test_read_preference_hedge_deprecated
+ test/asynchronous/test_read_preferences.py::TestMongosAndReadPreference::test_read_preference_hedge_deprecated
+
+ # fragile to timing? Internet?
+ test/test_client.py::TestClient::test_repr_srv_host
+ test/asynchronous/test_client.py::TestClient::test_repr_srv_host
+ test/asynchronous/test_ssl.py::TestSSL::test_pyopenssl_ignored_in_async
+ )
+
+ if ! use test-full; then
+ # .invalid is guaranteed to return NXDOMAIN per RFC 6761
+ local -x DB_IP=mongodb.invalid
+ epytest -p asyncio
+ return
+ fi
+
+ # Yes, we need TCP/IP for that...
+ local -x DB_IP=127.0.0.1
+ local -x DB_PORT=27000
+
+ local dbpath=${TMPDIR}/mongo.db
+ local logpath=${TMPDIR}/mongod.log
+
+ local failed=
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ # mongodb is extremely inefficient
+ # https://www.mongodb.com/docs/manual/reference/ulimit/#review-and-set-resource-limits
+ ulimit -n 64000 || die
+
+ local mongod_options=(
+ --dbpath "${dbpath}"
+ --bind_ip "${DB_IP}"
+ --port "${DB_PORT}"
+ --unixSocketPrefix "${TMPDIR}"
+ --logpath "${logpath}"
+ --fork
+
+ # try to reduce resource use
+ --wiredTigerCacheSizeGB 0.25
+ )
+
+ LC_ALL=C mongod "${mongod_options[@]}" && sleep 2
+
+ # Now we need to check if the server actually started...
+ if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+ # yay!
+ eend 0
+ break
+ elif grep -q 'Address already in use' "${logpath}"; then
+ # ay, someone took our port!
+ eend 1
+ : $(( DB_PORT += 1 ))
+ continue
+ else
+ eend 1
+ eerror "Unable to start mongod for tests. See the server log:"
+ eerror " ${logpath}"
+ die "Unable to start mongod for tests."
+ fi
+ done
+
+ nonfatal epytest -m "default or default_async or encryption" || failed=1
+
+ mongod --dbpath "${dbpath}" --shutdown || die
+
+ [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+ rm -rf "${dbpath}" || die
+}
diff --git a/dev-python/pysubs2/pysubs2-1.8.1.ebuild b/dev-python/pysubs2/pysubs2-1.8.1.ebuild
index e2c076a4c2fe..e2c242f004fe 100644
--- a/dev-python/pysubs2/pysubs2-1.8.1.ebuild
+++ b/dev-python/pysubs2/pysubs2-1.8.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/python-rtmidi/python-rtmidi-1.5.8.ebuild b/dev-python/python-rtmidi/python-rtmidi-1.5.8.ebuild
index f4a2d173dbde..5da38996b9b4 100644
--- a/dev-python/python-rtmidi/python-rtmidi-1.5.8.ebuild
+++ b/dev-python/python-rtmidi/python-rtmidi-1.5.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 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/repology-client/Manifest b/dev-python/repology-client/Manifest
index 7f92e51234b1..09489b7743cd 100644
--- a/dev-python/repology-client/Manifest
+++ b/dev-python/repology-client/Manifest
@@ -1,2 +1,2 @@
-DIST repology_client-0.5.0.tar.gz 911792 BLAKE2B dcc4bb0cc9d1bafd515dddd4747e38af0e3878f096e22238c8d854d8ceb5ce7bf4a538e156646be544781e049b3a731cf8a3644f6928b86eb1b3b13d9468e1c7 SHA512 c78cf92362cbb8d1a116227530fff87b3c1996d4d560305c17a15a68bfa270bc362a89b9ffe6f44fa8ae6a4ec3b75ff887ed9031fa8c3c4e60e391c3d11c8d57
DIST repology_client-0.6.0.tar.gz 911859 BLAKE2B 0f2189621cc684f2cdd6fba31917114b6141b6e7c56f5ccb9f519dbd8718051b3999ad17b6f73ebf3be435b72b2394677941ea42fb84822513d0da80a5f35e13 SHA512 7044586e9c635a08970b2421dff1c4a142b5763f88686ad5a9e56cf5f8d3bcaf7f93bf9a5564df55dc354c27c38244c8176c0d2c33cd0c8d0a3a1dc2734fa9bb
+DIST repology_client-0.7.1.tar.gz 1284260 BLAKE2B b3211d05c98f373f3e3113e4e47aef0d2d147e580ca153dcd3c33dd62f355041c73742a0fd0a4bd5d7c754fc3facd290edebcf2639c939eb8a60bf9e6b8dbdaa SHA512 f18cef6eb7fc1aa181a5d160148051ef3c66716c90b8c3f43785efe80e6df4b2b44001f20bc6ed56edcf8b5669cf5f5a48d9946ca3f29313710ab029e415b7b0
diff --git a/dev-python/repology-client/repology-client-0.5.0.ebuild b/dev-python/repology-client/repology-client-0.7.1.ebuild
index 6937fa3fa94f..823e611e1a96 100644
--- a/dev-python/repology-client/repology-client-0.5.0.ebuild
+++ b/dev-python/repology-client/repology-client-0.7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2024-2025 Gentoo Authors
+# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,6 +22,7 @@ RDEPEND="
<dev-python/aiohttp-4[${PYTHON_USEDEP}]
>=dev-python/pydantic-2[${PYTHON_USEDEP}]
<dev-python/pydantic-3[${PYTHON_USEDEP}]
+ dev-python/yarl[${PYTHON_USEDEP}]
"
EPYTEST_PLUGINS=(
diff --git a/dev-python/rtslib-fb/rtslib-fb-2.2.3.ebuild b/dev-python/rtslib-fb/rtslib-fb-2.2.3.ebuild
index eb0041969015..b230d0403931 100644
--- a/dev-python/rtslib-fb/rtslib-fb-2.2.3.ebuild
+++ b/dev-python/rtslib-fb/rtslib-fb-2.2.3.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/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 5cde91b99f2a..e55ad5c25b43 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -1,3 +1,4 @@
DIST sqlglot-29.0.1.tar.gz 5760786 BLAKE2B e4824db4673118db7c3aefb1bebe3ea7677726844fb4bfc23599981184ac47404270cb22ce141be86c502129c4fa3d3f48d136e7044bd7094ed71761b1bc8c7c SHA512 819aa9f2816a4f6f262242f3e15656f10ce2f30fe0bec387c11994f2b77d51f9dd14552b2a59c8466800b14a725f42443aba231e62f9cf6bb704eaacfb70e423
DIST sqlglot-30.4.2.tar.gz 5827240 BLAKE2B 676200e6f39d46feee650bdd73ce132ebf6344f5c00ec76b6e0d1612ff6cf04c80d75dd42d82fbbcd9e244b3229612c9e0e95f7f40a510ec73a0e32f8fc633ae SHA512 a3367c7382abf55eabbb2552af82e2d691f1090aaa3d9f685b942721c89f959525ae5e1770a428d7e109a55795a1912439200e501edcdf285e3cc78c266b46cb
DIST sqlglot-30.4.3.tar.gz 5827662 BLAKE2B cc3dc2a48173b115205cdd4e31baff81068a7b28c92131834de51efabadd3ff2d806a355ce05dd4b0e7090c6a164e93816c4cafd573111e7e82db5b34177e7fb SHA512 6fb77735bdfeb5ec8042a3156f6b53237e25d468dd7beb9810d90e2c1f69f6ab501bebc8eb5cd0dba92aeb1e75e13934bea4307ff383b6ed510cc0dd72bf8df7
+DIST sqlglot-30.6.0.tar.gz 5835307 BLAKE2B 1475d1c601a1de820fd7395b1c4da05e27edd09adfa74261c767dc941fe1685352f4991d99cf4e50b949fb453363ca76df6fbbb521ee642cd1935337b53022d8 SHA512 4d5f9495445248c81e85b6cc21108de07b35b53711b7c8643b9f6dfa8ce462a03c1247458cd1d114d8db5e9dcb81d8dd2bd3fca0a90c9a8a65ba4d6b63d15127
diff --git a/dev-python/sqlglot/sqlglot-30.6.0.ebuild b/dev-python/sqlglot/sqlglot-30.6.0.ebuild
new file mode 100644
index 000000000000..3216536fae1c
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-30.6.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2023-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 cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+# Native extensions removed: it uses mypyc which is incredibly slow
+# and then the extension crashes anyway. Upstream uses their own mypy
+# fork which might help but that's just insane.
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ rm -rf sqlglot || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/textual/Manifest b/dev-python/textual/Manifest
index e16aa96e618f..da8746c9a3f1 100644
--- a/dev-python/textual/Manifest
+++ b/dev-python/textual/Manifest
@@ -1,5 +1,3 @@
-DIST textual-8.1.1.gh.tar.gz 30212024 BLAKE2B 897e3d4714aebaaacfed5a84e298a400c3f13224a74d64e958cb9eda1fd368d3ec00b8b6f350e2d229a68299a9007f893979e86f4b09b4ae2e1c39975e46f26e SHA512 335457e9f9b8e44e73e1d7103f9ffb8dd92adc10be906004066659ac5209069bfdb673f78473c21a251a5d891943d56b26b0544fd7365e5d72d4f3d220c73518
-DIST textual-8.2.0.gh.tar.gz 30216630 BLAKE2B 5b68a3c21b93ceac315a38062cf4d3b85d9b36a906fc80684cf6b9645ca7ce02d7216784a8047e502154634375e398ee17918fc4841d29acf88231808c7a152d SHA512 8f4f7f2066fa4baa4dbe84cd0ba73150910423436d1d4cc2536c6bcd8c1f45c826cbc0e567b5497099738b4f35b3790199f4c24e4c2bf17572501661ef3e9488
-DIST textual-8.2.1.gh.tar.gz 30218086 BLAKE2B c5d393abe19a851b354352baf56131436fe25b464df2884397c6cc08b556cbb0bd717171af140d3fc3f84d84161274cba04f6e122e32bf03b932c62433765417 SHA512 0bb1738980f2fe8bd1c9e6541428c0dd847158950b7dc6f00ae930a911448eef0ab4b9be087f4f15d4270afcaa1e1905e2749cac694e40857c78e43effdfdb1c
DIST textual-8.2.2.gh.tar.gz 30217887 BLAKE2B 9ca518ed38659251075ab1b62088583ea6cd3088f40857eeed8777ae8366dda9e30d72c44d5b5f7a4002a702e70f77f1135588ac60d432f5ed6f647bf00d53ce SHA512 33117a0ff651769f9b3151432f41459836cd0446e03eca43ffd61ac0f8ac3ab500063a0d243013f43d44c8326234d2e839f486251ccd590d7bdca9cd2cba3be5
DIST textual-8.2.3.gh.tar.gz 30218244 BLAKE2B 4de2f7675c5424541eb0d2652f670d71801c1639325f4df7671678a567f5edd51db1db43e6ac7d4d65d0ac872845faf93dc6cbac62bc0ae0b77cdd8f7f2b4528 SHA512 a9949612e58e8e6889c739430c1c15be05c96619bec9386691645e91f6842b422127d4a5b7d5a3dcaf0ed2015864d2338ffde7352b7394c4fdb167f9a129aadd
+DIST textual-8.2.4.gh.tar.gz 30218505 BLAKE2B 22edaad2ffd09b9991606c65cce0c69e9073c003b2bc7053a6ff7e85e2dd46571ff6f181d064b4f7ce1abc60893665f15689d62b9efbd605f212f1d8b6f5c994 SHA512 9e4292a43a3f633831c0b1ba75fac14271ea3bd997d522591a70452aeb2e9f23ef2064598014519c65428c6d5e413d2d97248d1bccbf9237aa3928d05c9722d4
diff --git a/dev-python/textual/textual-8.2.0.ebuild b/dev-python/textual/textual-8.2.0.ebuild
deleted file mode 100644
index 416ea220e6aa..000000000000
--- a/dev-python/textual/textual-8.2.0.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Modern Text User Interface framework"
-HOMEPAGE="
- https://textual.textualize.io/
- https://github.com/Textualize/textual
- https://pypi.org/project/textual/
-"
-SRC_URI="https://github.com/Textualize/textual/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/markdown-it-py-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-3.6.0[${PYTHON_USEDEP}]
- <dev-python/platformdirs-5[${PYTHON_USEDEP}]
- >=dev-python/rich-14.2.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.4.0[${PYTHON_USEDEP}]
- <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
-"
-
-declare -A SYNTAX_LANGS=(
- ["bash"]="Bash"
- ["c"]="C"
- # TODO Missing keyword for ~arm64 in ::gentoo
- #["cmake"]="CMake"
- ["cpp"]="C++"
- ["html"]="HTML"
- ["javascript"]="JavaScript"
- ["json"]="JSON"
- ["lua"]="Lua"
- # TODO No Python bindings in ::gentoo
- #["markdown"]="Markdown"
- ["python"]="Python"
- # TODO Missing keyword for ~arm64 in ::gentoo
- #["ruby"]="Ruby"
- ["rust"]="Rust"
- # TODO Many other (common) languages are neither in ::gentoo nor ::guru
-)
-
-BDEPEND="
- test? (
- dev-python/httpx[${PYTHON_USEDEP}]
- =dev-python/textual-dev-1.8*[${PYTHON_USEDEP}]
- $(printf " dev-libs/tree-sitter-%s[python,${PYTHON_USEDEP}]" "${!SYNTAX_LANGS[@]}")
- )
-"
-
-DOCS+=( {CHANGELOG,README}.md )
-
-EPYTEST_PLUGINS=(
- syrupy
- pytest-{asyncio,textual-snapshot}
-)
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Require unavailable tree-sitter-*[python] grammar packages (v8.1.1)
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[markdown]"
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[toml]"
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[yaml]"
- "tests/text_area/test_languages.py::test_setting_builtin_language_via_constructor" # markdown
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[css]"
- "tests/text_area/test_languages.py::test_setting_builtin_language_via_attribute" # markdown
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[go]"
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[regex]"
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[sql]"
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[java]"
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[xml]"
-
- # These tests do not render correctly per visual inspection of snapshot_report.html (v8.1.1)
- # TODO Investigate/ask upstream
- "tests/snapshot_tests/test_snapshots.py::test_richlog_width"
- "tests/snapshot_tests/test_snapshots.py::test_richlog_min_width"
- "tests/snapshot_tests/test_snapshots.py::test_richlog_deferred_render_expand"
- "tests/snapshot_tests/test_snapshots.py::test_welcome"
- "tests/snapshot_tests/test_snapshots.py::test_text_area_wrapping_and_folding"
-
- # Likely missed in this PR: (v8.1.1)
- # https://github.com/Textualize/textual/pull/6410#issuecomment-4135017177
- "tests/test_arrange.py::test_arrange_dock_left"
-)
-
-python_test() {
- # Tests use @pytest.mark.xdist_group
- epytest --dist loadgroup
-}
-
-pkg_postinst() {
- optfeature_header "Install additional packages for syntax highlighting:"
-
- local lang
- for lang in "${!SYNTAX_LANGS[@]}"; do
- optfeature "${SYNTAX_LANGS[${lang}]}" "dev-libs/tree-sitter-${lang}[python]"
- done
-}
diff --git a/dev-python/textual/textual-8.2.1.ebuild b/dev-python/textual/textual-8.2.1.ebuild
deleted file mode 100644
index 416ea220e6aa..000000000000
--- a/dev-python/textual/textual-8.2.1.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Modern Text User Interface framework"
-HOMEPAGE="
- https://textual.textualize.io/
- https://github.com/Textualize/textual
- https://pypi.org/project/textual/
-"
-SRC_URI="https://github.com/Textualize/textual/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/markdown-it-py-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-3.6.0[${PYTHON_USEDEP}]
- <dev-python/platformdirs-5[${PYTHON_USEDEP}]
- >=dev-python/rich-14.2.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.4.0[${PYTHON_USEDEP}]
- <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
-"
-
-declare -A SYNTAX_LANGS=(
- ["bash"]="Bash"
- ["c"]="C"
- # TODO Missing keyword for ~arm64 in ::gentoo
- #["cmake"]="CMake"
- ["cpp"]="C++"
- ["html"]="HTML"
- ["javascript"]="JavaScript"
- ["json"]="JSON"
- ["lua"]="Lua"
- # TODO No Python bindings in ::gentoo
- #["markdown"]="Markdown"
- ["python"]="Python"
- # TODO Missing keyword for ~arm64 in ::gentoo
- #["ruby"]="Ruby"
- ["rust"]="Rust"
- # TODO Many other (common) languages are neither in ::gentoo nor ::guru
-)
-
-BDEPEND="
- test? (
- dev-python/httpx[${PYTHON_USEDEP}]
- =dev-python/textual-dev-1.8*[${PYTHON_USEDEP}]
- $(printf " dev-libs/tree-sitter-%s[python,${PYTHON_USEDEP}]" "${!SYNTAX_LANGS[@]}")
- )
-"
-
-DOCS+=( {CHANGELOG,README}.md )
-
-EPYTEST_PLUGINS=(
- syrupy
- pytest-{asyncio,textual-snapshot}
-)
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Require unavailable tree-sitter-*[python] grammar packages (v8.1.1)
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[markdown]"
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[toml]"
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[yaml]"
- "tests/text_area/test_languages.py::test_setting_builtin_language_via_constructor" # markdown
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[css]"
- "tests/text_area/test_languages.py::test_setting_builtin_language_via_attribute" # markdown
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[go]"
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[regex]"
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[sql]"
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[java]"
- "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[xml]"
-
- # These tests do not render correctly per visual inspection of snapshot_report.html (v8.1.1)
- # TODO Investigate/ask upstream
- "tests/snapshot_tests/test_snapshots.py::test_richlog_width"
- "tests/snapshot_tests/test_snapshots.py::test_richlog_min_width"
- "tests/snapshot_tests/test_snapshots.py::test_richlog_deferred_render_expand"
- "tests/snapshot_tests/test_snapshots.py::test_welcome"
- "tests/snapshot_tests/test_snapshots.py::test_text_area_wrapping_and_folding"
-
- # Likely missed in this PR: (v8.1.1)
- # https://github.com/Textualize/textual/pull/6410#issuecomment-4135017177
- "tests/test_arrange.py::test_arrange_dock_left"
-)
-
-python_test() {
- # Tests use @pytest.mark.xdist_group
- epytest --dist loadgroup
-}
-
-pkg_postinst() {
- optfeature_header "Install additional packages for syntax highlighting:"
-
- local lang
- for lang in "${!SYNTAX_LANGS[@]}"; do
- optfeature "${SYNTAX_LANGS[${lang}]}" "dev-libs/tree-sitter-${lang}[python]"
- done
-}
diff --git a/dev-python/textual/textual-8.1.1-r1.ebuild b/dev-python/textual/textual-8.2.4.ebuild
index 416ea220e6aa..416ea220e6aa 100644
--- a/dev-python/textual/textual-8.1.1-r1.ebuild
+++ b/dev-python/textual/textual-8.2.4.ebuild