summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-05-08 18:59:26 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-05-08 18:59:26 +0000
commit2a056f8dc807f0f3f71656f72053560b984c03e3 (patch)
tree80ae95e5038d42192d4e16c6b45abd0fbedd4477 /dev-python
parent8cea4c512f9d53d975cd02541621461424388de9 (diff)
downloadbaldeagleos-repo-2a056f8dc807f0f3f71656f72053560b984c03e3.tar.gz
baldeagleos-repo-2a056f8dc807f0f3f71656f72053560b984c03e3.tar.xz
baldeagleos-repo-2a056f8dc807f0f3f71656f72053560b984c03e3.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiorpcx/Manifest1
-rw-r--r--dev-python/aiorpcx/aiorpcx-0.25.0.ebuild40
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.38.11.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.38.11.ebuild67
-rw-r--r--dev-python/cfn-lint/Manifest1
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.35.0.ebuild61
-rw-r--r--dev-python/cython/Manifest1
-rw-r--r--dev-python/cython/cython-3.1.0_rc2.ebuild84
-rw-r--r--dev-python/django-auth-ldap/Manifest1
-rw-r--r--dev-python/django-auth-ldap/django-auth-ldap-5.2.0.ebuild42
-rw-r--r--dev-python/django/Manifest15
-rw-r--r--dev-python/django/django-4.2.21.ebuild (renamed from dev-python/django/django-4.2.20.ebuild)7
-rw-r--r--dev-python/django/django-5.0.14.ebuild105
-rw-r--r--dev-python/django/django-5.1.9.ebuild (renamed from dev-python/django/django-5.1.8.ebuild)5
-rw-r--r--dev-python/django/django-5.2.1.ebuild (renamed from dev-python/django/django-5.2.ebuild)8
-rw-r--r--dev-python/django/files/django-4.2.21-py313.patch (renamed from dev-python/django/files/django-5.0.6-py313.patch)14
-rw-r--r--dev-python/google-auth/Manifest1
-rw-r--r--dev-python/google-auth/google-auth-2.40.1.ebuild73
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.131.15.ebuild116
-rw-r--r--dev-python/icalendar/Manifest1
-rw-r--r--dev-python/icalendar/icalendar-6.2.0.ebuild38
-rw-r--r--dev-python/ijson/Manifest1
-rw-r--r--dev-python/ijson/ijson-3.4.0.ebuild36
-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.ebuild6
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/nltk/Manifest7
-rw-r--r--dev-python/nltk/files/python-3.12.patch282
-rw-r--r--dev-python/nltk/metadata.xml11
-rw-r--r--dev-python/nltk/nltk-3.8.1.ebuild49
-rw-r--r--dev-python/nltk/nltk-3.9.1.ebuild33
-rw-r--r--dev-python/platformdirs/Manifest1
-rw-r--r--dev-python/platformdirs/platformdirs-4.3.8.ebuild54
-rw-r--r--dev-python/protobuf/Manifest4
-rw-r--r--dev-python/protobuf/protobuf-4.21.12.ebuild78
-rw-r--r--dev-python/protobuf/protobuf-4.21.9.ebuild84
-rw-r--r--dev-python/protobuf/protobuf-4.22.5.ebuild86
-rw-r--r--dev-python/protobuf/protobuf-4.23.3.ebuild79
-rw-r--r--dev-python/sympy/sympy-1.14.0-r1.ebuild (renamed from dev-python/sympy/sympy-1.14.0.ebuild)7
-rw-r--r--dev-python/textual-serve/Manifest2
-rw-r--r--dev-python/textual-serve/textual-serve-1.1.2.ebuild (renamed from dev-python/textual-serve/textual-serve-1.1.1.ebuild)6
-rw-r--r--dev-python/textual/Manifest2
-rw-r--r--dev-python/textual/textual-3.2.0.ebuild (renamed from dev-python/textual/textual-3.0.0.ebuild)0
-rw-r--r--dev-python/trove-classifiers/Manifest1
-rw-r--r--dev-python/trove-classifiers/trove-classifiers-2025.5.7.19.ebuild45
-rw-r--r--dev-python/urwid/Manifest1
-rw-r--r--dev-python/urwid/urwid-3.0.2.ebuild40
-rw-r--r--dev-python/wxpython/wxpython-4.2.3-r1.ebuild6
52 files changed, 834 insertions, 849 deletions
diff --git a/dev-python/aiorpcx/Manifest b/dev-python/aiorpcx/Manifest
index 1b023ac9e896..c2369f5e70aa 100644
--- a/dev-python/aiorpcx/Manifest
+++ b/dev-python/aiorpcx/Manifest
@@ -1,3 +1,4 @@
DIST aiorpcX-0.22.1.gh.tar.gz 75206 BLAKE2B 92c481388198fec94faa10482ad4195fe6dce5ae4aa445ce2812e1e81e084c629712b87a3c157aa33ae42335c1a96bdcafa5e389802740fcae8eb9e4aaf43dd2 SHA512 3484da36ce6042d8d4c6b168fd2326c0fc77a825691b95631e54510697708a27ea07e9a808445d504056432adf04f04cb0bc28d4b7194c55c1995096bb938b4d
DIST aiorpcX-0.23.1.gh.tar.gz 70759 BLAKE2B e61aeee430670962491d165fe6841653b035b96cd07a70e6be0a0f4f5d5891859398826e4a964cd119ae7e42f2e02808363ab44b6b8f28054d86539c5067cf7b SHA512 e92f68da0783bcf66926047ab2af12b5971f4bab0a028a639e53440c9cfc39ba54ddbdd1c2a20a6dacf73dac583305f692851c0d911cd68d6aabdbe131b1a8e1
DIST aiorpcX-0.24.gh.tar.gz 70778 BLAKE2B d747fa2fe37eb67782c1c6327c45afcef1b332c177962590f81e220fa8eb6b19a95f8926fb48e71a2713bc1760e46d570c81375bcf89cb6787c8cd68c4d41d43 SHA512 e2701b6625982b10c01e6ee59fdfabb2dd2e0595cddf6b3cbaeb36692273f74eb73f9b0336fd27922cf08ac76a3020f8f5515d9b38c9fb37dd33cde78f3c32b8
+DIST aiorpcX-0.25.0.gh.tar.gz 70797 BLAKE2B 50b613b9bd7baf97ef1d42bbe9808dc7d425f1a941702aa40a8f8101e0a2772ae222bb298876b4dd67cfe062183eed061ab64194bafa1bb7a5cca72d54e8f7f9 SHA512 324093a9fbc1170ff3f9f8f97e6cea9250ba2a6fb32bacb12cf8bc67ff2f2abc941aa76158a3842e86b32300bcde48641730d1fb0afa73e647dd7ac5cea911df
diff --git a/dev-python/aiorpcx/aiorpcx-0.25.0.ebuild b/dev-python/aiorpcx/aiorpcx-0.25.0.ebuild
new file mode 100644
index 000000000000..b08ceb550b7a
--- /dev/null
+++ b/dev-python/aiorpcx/aiorpcx-0.25.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+MY_P=aiorpcX-${PV}
+DESCRIPTION="Generic async RPC implementation, including JSON-RPC"
+HOMEPAGE="
+ https://github.com/kyuupichan/aiorpcX/
+ https://pypi.org/project/aiorpcX/
+"
+SRC_URI="
+ https://github.com/kyuupichan/aiorpcX/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/uvloop[${PYTHON_USEDEP}]
+ >=dev-python/websockets-0.14[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # require Internet
+ tests/test_socks.py::TestSOCKSProxy::test_create_connection_resolve_good
+)
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index a76002434ab7..a0a05240ac16 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,5 +1,6 @@
DIST boto3-1.37.37.gh.tar.gz 930327 BLAKE2B 93ed4e903189a9620f13e71fe64557ebcfa5c696688b4a21fc4de0f9d21f51fd3b9c9dafa4a5dc91fc88165c14207b17b3f121e9eebdf1c1ab7e55472573d2ec SHA512 e19700633ccf6be76ab1baa0811c24d36aba7e0b8f1933fc10d1dc67d73ec0cd66a4c45ace1f2bdf815c3b35ffafaff2ce7ce9a4678e7f57984039f96d0f9fa0
DIST boto3-1.38.10.gh.tar.gz 937983 BLAKE2B 3e82c1f7e1de9ff61a0db1124d265a03d48abe8ed251a7981e378a3108e500593fbc31ee18e5533f94254e386558ce93b0ddc706d74ce457cfa22c34e496d4cf SHA512 635fb20ecead040d9a81e4738a9464210c9c31018c6bebc66f6f5893b68e924c12eb48cdcce55ce49faaf1d3a3ac9f7c07cfc56aee9b26713893d1dc5e43dc06
+DIST boto3-1.38.11.gh.tar.gz 938736 BLAKE2B b1a27cb729b67047d9df35e4c9892560eeed5aec16e197e57493680423817692bc8ca02ff08afd4b2e678fa82b11226d22c27798270c1e3cc334578dd8a6a041 SHA512 cf70dd6710fb19fbcd604c14b0a98a51dc8efc49e2d4afdb02bcc75654e5c07ceac2695635b1e0a579f5db48b885ad1dcf1efc277bf5695a93da0b097a861ecc
DIST boto3-1.38.3.gh.tar.gz 934010 BLAKE2B f5008a63aec620385e06c15e97ea37335bba190e5a29920c14389ae0dfc0e09a70ce70f8b50c0d25feda3defd9e855739305d19df7759688c156f53fc698b533 SHA512 8f300e38c7912f5df00431c1b70494521ac49500512b4aba7dc18f6bf0e570508d6a00fe8a98eb3c8607af39744a67e3b47d69507dbaf25d44dd02085f24bf95
DIST boto3-1.38.8.gh.tar.gz 937130 BLAKE2B 4158573a032957c33f62c6406937a45956f4ccf972be4a223e16a327b0b476402a1e7bf7d9b6a5b83005fc324f6c0062ed73008972cabed9247790225c4d4e5a SHA512 3c3854ed132ad4c81cd868848a370cdc73101ac3c578f8ae70bc53c9a98b1d85dcd364258027adef976b3c6d220aa45f865928c055c9320d3a268e0e29d5af63
DIST boto3-1.38.9.gh.tar.gz 937730 BLAKE2B 6b1a68095601d9b32be0679171a73b204897a7f632c1825ee203d27b46c625b196739b9c6ed8f19e84e0f0d2ba3a777539d9474cbaaa526fd499655e62ce9def SHA512 37960c90bb8de6328dc08cabb98a71e0dbb9303137410a1e44efdd650d6d0009398a4c4fb75ab53f8c8dfa7f566925c03de10012092967e661157f6bdc12e583
diff --git a/dev-python/boto3/boto3-1.38.11.ebuild b/dev-python/boto3/boto3-1.38.11.ebuild
new file mode 100644
index 000000000000..b862f479d876
--- /dev/null
+++ b/dev-python/boto3/boto3-1.38.11.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.12.0[${PYTHON_USEDEP}]
+"
+
+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() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 1fede8d7e83a..de1e3adb11e8 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,5 +1,6 @@
DIST botocore-1.37.37.gh.tar.gz 14563135 BLAKE2B 290689f13333ab7ebdbac0bccf6568035776482dbab62c542a41ce6bf93b9d5e01400526c50534fb068798dc5626408c039f8746f091fe881cb70629c6ccd6e4 SHA512 3e020f6f264ef19a71f812733536812abe92e5998f3c19766782e01cdd235a17648b330bdb64289ea8b87a520625e0c7ece9436e014ade111d66bc4181f5bec9
DIST botocore-1.38.10.gh.tar.gz 14616622 BLAKE2B adf54a0e015d3a8b17ac986f8f05b49552ab3966694bf2fe90fbf9a0e4da134f4028469133d5c9b9717c2bd9bb874e0212373482341c1fee7a837d15614cd3ca SHA512 bc3ff2e73cd123017bf3be6793cbb902fafce244cd2469c33f093120317acff75f19c37c5f11427882bfc1be228f2f1a1334024e6c6683e46a57793f77a3bf0b
+DIST botocore-1.38.11.gh.tar.gz 14617163 BLAKE2B e521777baa74342bff16a59a0a1281e8c44abfa4e83c49aba3cf7ec21ef0fb9e4940a7aa82cd1e51ed628ce64260fbd953db8c0867139c2ed37d2a002e01ad9d SHA512 6b9cd410aa2cf4169450aa6607ae68408a179258d1de8f0c465bc8010cad0ad05946822924780c68259bcce95c1b99e61459c850f9a31a7df5ac8638ba1186cf
DIST botocore-1.38.3.gh.tar.gz 14578552 BLAKE2B 4766db1ba2651ebe65c79f8a37c91cf95875a20c0cc51c1886cd394b90d50109738daa79b398e0c4b80031cfab69e1338dfaafbc0ae796fffa3348f6b13fc1ce SHA512 ad69e119d5bbc98a0c14c1c927badeecc1f57d31305e6a07af41d4d4bf6755f5abc150e36321f71b9495221ad93052d84a1dc964fb9ef6fdd791d4c37e75a01a
DIST botocore-1.38.8.gh.tar.gz 14606167 BLAKE2B cb92f6014349f5188d62ddeb043e7532c50c7edc984cabae918825cdace981694c37ba656afcbbb64e65e275da4980d5f256a945bbcc63f9609272b08690c3d5 SHA512 bc9096051fde740a908ef0912a0c205595e7df653a349c167f616a788423578ba6b3aed6fe6213f528faa32b1c946abf0ac66dd81afdc05d41d12a4af4f7e818
DIST botocore-1.38.9.gh.tar.gz 14612563 BLAKE2B 10a0e43846393c06c808e306cde1398ea9374712d07b71d16270cd3238d3063f66ff532fab465acb5a87065002b7ca7394d0c77a25c83b9f8b8ecad7823042a2 SHA512 748c373a1be84a123968444316de7ab6f34b548d7619183d23ae07d0b0aeeeebc8ba1d25bb5517f0491144f7578fa9a7e9fbca066f6aa0da7b2d7439138bb8fd
diff --git a/dev-python/botocore/botocore-1.38.11.ebuild b/dev-python/botocore/botocore-1.38.11.ebuild
new file mode 100644
index 000000000000..df85ee0d220c
--- /dev/null
+++ b/dev-python/botocore/botocore-1.38.11.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_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
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 22334836a5b7..50ecb10632f0 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,2 +1,3 @@
DIST cfn_lint-1.33.2.tar.gz 3163304 BLAKE2B f61d6a55e1fe2edd3229d6e9281b6267b3231afea43376d0ef2046ed941ef1c910c56e1af05b9eec08c8f0bec87fcddc95757a2433e1c46b2c8863280bebae2a SHA512 d935009da692e5003461d9c9f806733d17de426e0598a33a53470d3ee6c8a194c735b542bd346e9b33d462a71a6043f6ae1f8e9ff55cff3b6b942d2f1f49913c
DIST cfn_lint-1.34.2.tar.gz 3180262 BLAKE2B 0e92964da1d661e5a37f9f4c65c46b7eabdf9a23df1cbeeba96e072347b9be32b8067e72179e51ff83fbf8fa5cf810a409fe1819f3c124189a83e0bd9d147e0a SHA512 46d738319c3e0227fa0996e102e753929bf2bd6916136fe1879d757e64cc83554eca9fd1934dba89602301e42854af9f229bf4d41a118e2dea895553cf556b6e
+DIST cfn_lint-1.35.0.tar.gz 3070040 BLAKE2B f0f868188e8b9088ce3e15d6b83dfc75ff4fd69b6095e8f1d3f27eec0da6518df5231336416bfc14e50b290def2ed10c9d6e4b022686686f580fec1e4a88db6d SHA512 8f44c6f1639ddeed41f4b978b1b5f8503de6a3e2d96b85a82f86f23ea2a258dfa7cfb37019a5bc9ed0620ccba6d8993f12e33c06d81eb32f1201309dd2a23580
diff --git a/dev-python/cfn-lint/cfn-lint-1.35.0.ebuild b/dev-python/cfn-lint/cfn-lint-1.35.0.ebuild
new file mode 100644
index 000000000000..669286dc533a
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.35.0.ebuild
@@ -0,0 +1,61 @@
+# 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_{9,10,11,12,13} )
+
+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.97.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}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+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
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/cython/Manifest b/dev-python/cython/Manifest
index 780b68fddd6e..17794fce5adf 100644
--- a/dev-python/cython/Manifest
+++ b/dev-python/cython/Manifest
@@ -1,2 +1,3 @@
DIST cython-3.0.12.tar.gz 2757617 BLAKE2B 064549e36e03424065eab081b60e2761d198490cfd4d7836ea236b833ada3962e6ed42ba1710b33418f8a31ac282cdc156ceb544ee21be80ee34b7a3d3f6c7fb SHA512 c4e85596eeea444fae983d32ce8731cc5d0d612d1f96b998db3aa7946e8be151a7ea62c6df163d875111e306c870656b82a8468dd873cacf84c7bd5671a39bc3
DIST cython-3.1.0rc1.tar.gz 3158411 BLAKE2B 44540e95b8b060956654a0d92fc4b8417088816a1e3f8fc17c8575a1cbd4b71a76cc69209d58c731281a310a9f6a7e2e711f88dc6855bc487d08056203cb04d8 SHA512 b0cefe1d4e248e6044af373088902475839ae06b5855b5b3bffdce5159a0f6e54802c24715a6f6e3242a250841c2ff1e56435b7ed3e304964af01a162f8a851a
+DIST cython-3.1.0rc2.tar.gz 3170920 BLAKE2B 08dbce1c6d52295dfc09d14349af03d2d58c84d165b92b8c95c24b6446695e4064960280acb177ab4114b381ee03c99d230f4b70a6f71b9a4b9a8ccd85e7a2e6 SHA512 89f75cd32187db8072fc9596528f72b374f47a0bcfeeea24d401bc4ab52b48ec16049e68e2b8c36ba6b9b6e28bf6e8d5f8f3dde2f19452ee3d8baf21bdf0e747
diff --git a/dev-python/cython/cython-3.1.0_rc2.ebuild b/dev-python/cython/cython-3.1.0_rc2.ebuild
new file mode 100644
index 000000000000..2f47286fe83a
--- /dev/null
+++ b/dev-python/cython/cython-3.1.0_rc2.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 multiprocessing pypi toolchain-funcs
+
+DESCRIPTION="A Python to C compiler"
+HOMEPAGE="
+ https://cython.org/
+ https://github.com/cython/cython/
+ https://pypi.org/project/Cython/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
+ "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
+)
+
+distutils_enable_sphinx docs \
+ dev-python/jinja2 \
+ dev-python/sphinx-issues \
+ dev-python/sphinx-tabs
+
+python_prepare_all() {
+ # Needs dev-python/pip and doesn't like 'externally-managed' (bug #927995)
+ rm tests/run/coverage_cmd_src_pkg_layout.srctree || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ # Python gets confused when it is in sys.path before build.
+ local -x PYTHONPATH=
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ # Needed to avoid confusing cache tests
+ unset CYTHON_FORCE_REGEN
+
+ tc-export CC
+ # https://github.com/cython/cython/issues/1911
+ local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
+ "${PYTHON}" runtests.py \
+ -vv \
+ -j "$(makeopts_jobs)" \
+ --work-dir "${BUILD_DIR}"/tests \
+ --no-examples \
+ --no-code-style \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-auth-ldap/Manifest b/dev-python/django-auth-ldap/Manifest
index 435908032166..b1058ba2060e 100644
--- a/dev-python/django-auth-ldap/Manifest
+++ b/dev-python/django-auth-ldap/Manifest
@@ -1 +1,2 @@
DIST django_auth_ldap-5.1.0.tar.gz 55059 BLAKE2B 4c1cf5cf7113b90be392b519c0ecfceeb72568a6e50803bd276becca22fffb3ec7222069b374e311156d2e4c559b65985af2a740e0a78ec66b398622db66da47 SHA512 3b1257c91d1651df83c1c0343b8f0658d1e9e6b23cbb161ec2f5c847d9c924609509b28f3d1efde9c09e890b73191f0a6a6e9bd802cb4c6985c0c36b5955a9dd
+DIST django_auth_ldap-5.2.0.tar.gz 55287 BLAKE2B 3a3f5d79cee7f3f74ea4ed40b4577ecc1e1a1e07ad173d6e9c48fdc7af92497c2689e1f0639173a5503578d4471a995d6ebca8fe7210e6e456345761de7ebad9 SHA512 db3c231331cd53e580bc01aa86c4004554d221ed5f97a90fe0e29a1536bc472abd23502a85b4967acc1c35bf3038ff11147ae18e02abc9466d5d8d60b2a5ddb2
diff --git a/dev-python/django-auth-ldap/django-auth-ldap-5.2.0.ebuild b/dev-python/django-auth-ldap/django-auth-ldap-5.2.0.ebuild
new file mode 100644
index 000000000000..3c1af46d2f9f
--- /dev/null
+++ b/dev-python/django-auth-ldap/django-auth-ldap-5.2.0.ebuild
@@ -0,0 +1,42 @@
+# 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_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Django LDAP authentication backend"
+HOMEPAGE="
+ https://github.com/django-auth-ldap/django-auth-ldap/
+ https://pypi.org/project/django-auth-ldap/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-3.2[${PYTHON_USEDEP}]
+ >=dev-python/python-ldap-3.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ net-nds/openldap[-minimal]
+ )
+"
+
+distutils_enable_sphinx docs --no-autodoc
+
+python_test() {
+ # for slapd and slapdtest
+ local -x SBIN=/usr/sbin:/usr/$(get_libdir)/openldap
+ "${EPYTHON}" -m django test -v 2 --settings tests.settings ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index c02067f4f8bd..a7e19789a3d9 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,10 +1,7 @@
-DIST Django-4.2.20.checksum.txt 2417 BLAKE2B ac01acf1c7fdba50e81012563d7d5f6d16ada10454f2d871a57f42600a5715081351e22f3f6f0043e66171b7d97bdd5e9d70cf279e94d48eb6ea6570f2b04634 SHA512 da0424c583b128337a5f52f9154b3e9e1437189b4e1e9ad7ad5b056380356d8a2ab61bf52d008253c51d63011160dd715817414ed063bac889196137ea8261d1
-DIST Django-4.2.20.tar.gz 10432686 BLAKE2B df53df6f8439cae50c2e568d20b4c46e2ae12d61ea826580b28a9678ae890ad8eade5bcc813dbb6355126aa8760acbaabffe4a6fd386bedb8fef171d1a09fabd SHA512 6f960772cb95d6cb92ffc29ccec8d53d4f65c371359d350a63653c259288de4047302748008be04b9f4945627e9ef6d52dffa32455acbe26441f49872d73eeec
-DIST Django-5.0.14.checksum.txt 2417 BLAKE2B f1798e24a4a290907adc83ac89aea70660026780b9accfc3487d4625d637e17af1347f0f3e6af727b3d4385f0371584edab1c806d07121c77a223c4941f2b441 SHA512 0149a3fdc99a9c2efb7d4e418be354660158e1ec75584c2b5455dfea6d326f3c04030f5414cb1e357d4ca62e225261ca797d6a31ff489260d14b2147401774c4
-DIST Django-5.0.14.tar.gz 10644306 BLAKE2B d19b9695c98116ddae26d6b0c3a6a53e0aa4786b1d74d7fd4f429c1d6d6289d39b106416651db46eff14a3af2fe0da30ebc3c68c5c1567f1a0eed058bd00551d SHA512 53751e7ad38368d947c2b0d0743f3bfa11cef70638c905eb435eee3638aef70ca7656b917b7ef7d78800183075b1f76410def4b3ce553a7a177b8ab7f013490e
-DIST Django-5.1.8.checksum.txt 2374 BLAKE2B 04d648a0186ac8a4caced8035bd2653e37975953ea0bc8b310a4bb6c3fff16ad77f006227b4c4ac0fdc5135b552b9a29b1982ae2d04586c519b6208f595d28b3 SHA512 744dc873ab2ac84f16eb2d6ecb2df2211a48076649b8c0b7f9adebaced092125981eb6011d1d2e35c017cb955206bd09149fa39c284b22ae6c76b3d820ed1357
-DIST Django-5.1.8.tar.gz 10723602 BLAKE2B 351380015b98e585c19e16922ed5178a43aef131f07847f1a2b4d48fcf4331d4b58664f7e53ac4665865ae3b8abd809572af1aa2e92b822e75e6b002213d0b27 SHA512 d61ee20eaa37da1f172f0e25b3c4a7cfdbc01a1432ae8ae053040db5ca80faf35a7f998dc8a8c67db60eeb4bdec0794a532b7acca4969f3d0713ce6249de1249
-DIST Django-5.2.checksum.txt 2354 BLAKE2B 8e4029505bcf9e96865efb3bd3c118462b7db47b47674f0ca43ad10eedfb62081bf15b75288e3f4ed80287abd291dc224ff4875de728c36d15008fc391833184 SHA512 bd167d04cd252df76a396bd33b6e3ab75dec5515f3d21a06dccad0d320173118bbb075f21393eae219779034a24fc8b49a81c18c376a8b3e6e0a174e222a6fc9
-DIST Django-5.2.tar.gz 10824891 BLAKE2B 99f24ce1ced59ce281ff3f70a772f61fae449a9acb503284a490b896415b163addbec2e4732b4d736c6a4a3d435b4d519cab4dafa21215349db96bcc718da0d2 SHA512 b2b676b622ab2b4d52a7eebf23dd0660756c263830e850e49ff55a81657877eab5dcb2005829a904177231645f93edd0d60f1317b29d5484c02d7539135c972f
+DIST Django-4.2.21.checksum.txt 2545 BLAKE2B 177d4a2f07fcd27c39eeddb56ee9219ddba6b8a570680d9dcee39fc400dbd6d3ae430f663d7759b52f8ccc7581d3d66e3168a7807bc8c206c7eddfe7c726248d SHA512 e94d767c774cd2909297f07ec2069d60161fbf27323fe2e321fd24ca12b49ef5883d2c6f4ee7271dd131aa8e97bbf0b421323f5ad30bafd90040fb1a7e6ef013
+DIST Django-5.1.9.checksum.txt 2535 BLAKE2B 12a08519b2f179df7435597233adc9fc281ad5eacb5b6a88c6ce5b701989c8ade84c7a82bc81f8934d10d1dfac978b967aec5b791b614c7b7d01948359599820 SHA512 6034ce27fe17e8e7216701a2d465264d13a8a25f5d3cd13c5c97e8c65c77f267d78ef9f99beb0c32494f2e6e72b61f39554073f275a8435e8dd11403788aa96d
+DIST Django-5.2.1.checksum.txt 2535 BLAKE2B e839f319f2845909cf1141f91ffa4817f41d7b43976daebdd7728b82d03bd82a1abedbe76de39c6107547ae92a0b05a817880d319202c27ecee48f1bf43519f9 SHA512 8a158d21fb94de396c39391766c603de5159783df88cd8bbe53c1352b7f48718092dcfaa1521fadc3fa3efa18129bed7347de84a43649a921343abdd783ae005
DIST django-4.2.17-pypy3.patch.xz 5900 BLAKE2B 2a564fc31d8e2f3def5a532d3bca1a4426a496c659192f602d659e0c1a5f5882978baedb384cc3b67fda8c836513ce43aece80db1528c8e8b6e9ca420f7572ce SHA512 9c9d935aff6db7230a26931b5e7f5f94f3b5ff4fc8f7d4201178571de9d9c7929a0e1e558cc2d9b54b8ee91f85819a5680d24fad6251620515a4a020e3b2d66d
-DIST django-5.0-pypy3.patch.xz 6124 BLAKE2B 7eba7cc70b30743cf4e186a2c5b0f27c13f49114a7a80bcaa2b25fdd7a959583c115a302c9bc6da97c32f6401cf8f3616818ba759190d317c5b033a0f0088766 SHA512 c550e2b2c1243d13cd1f4908f4b6df606355d1491e3bf72042e4b4777a4474306ff0f67b1c2eb4ab4d137cc85bde52dcdbd54bec245d2ba2e092545be8a2993b
+DIST django-4.2.21.tar.gz 10424638 BLAKE2B c76170139e0b8926911d19a9b2319d85bcc577ebd36f55e80d5543da115baf31c7935eace893e8673ab338d97680d5f6f4e35bacc20a168188af363799c7bd83 SHA512 762201e56fff658b90d715545ba52420682f5382ebcb38602f25b921c82bce3877dcc54d07578c3b5bfcef62d5ce7836f19b7d638bb3230a5ca4987cc6e70f8e
+DIST django-5.1.9.tar.gz 10710887 BLAKE2B b6caa00ef55d904209c0c20548963ccc91368d6a36395432fc86809b9fa41f4d8cce3122600983ca49593feb1b06fb4da72b5664ce418d3ee62d9aca98ebbe26 SHA512 f3fe34326e2fa4d35af26198f5839a7ad7bc433a659971528c0d7ba35c5d9e0300c9307114ad1eeaf242f6148ef2dbc48998752a0c68f80f9fbf5b8d32ddca2e
+DIST django-5.2.1.tar.gz 10818735 BLAKE2B 583f78402534157d665a48a1569554ad31f0637c335d206f8dad384860971f27868184cfe0750cdc03d39879c736f88aace2d65ac8f25e60a16b8489fe51d5cf SHA512 b97fc3221f2bcb499e2f55ea5fa8da61da9062266255a31e8d0a54afb7a41ea049dbe4b370ad7e8ca3b5105ab1d5a15f1fe3e48af4251590d27bc032fef17d25
diff --git a/dev-python/django/django-4.2.20.ebuild b/dev-python/django/django-4.2.21.ebuild
index 6861f703b51b..4db963f0b42d 100644
--- a/dev-python/django/django-4.2.20.ebuild
+++ b/dev-python/django/django-4.2.21.ebuild
@@ -16,11 +16,10 @@ HOMEPAGE="
https://pypi.org/project/Django/
"
SRC_URI="
- https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
https://dev.gentoo.org/~mgorny/dist/python/django-4.2.17-pypy3.patch.xz
verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
"
-S="${WORKDIR}/${P^}"
LICENSE="BSD"
# admin fonts: Roboto (media-fonts/roboto)
@@ -59,6 +58,8 @@ PATCHES=(
"${WORKDIR}"/django-4.2.17-pypy3.patch
# https://code.djangoproject.com/ticket/35661
"${FILESDIR}"/django-5.1-more-pypy3.patch
+ # https://code.djangoproject.com/ticket/34900
+ "${FILESDIR}"/django-4.2.21-py313.patch
)
distutils_enable_sphinx docs --no-autodoc
@@ -69,7 +70,7 @@ src_unpack() {
if use verify-sig; then
cd "${DISTDIR}" || die
verify-sig_verify_signed_checksums \
- "${P^}.checksum.txt" sha256 "${P^}.tar.gz"
+ "${P^}.checksum.txt" sha256 "${P}.tar.gz"
cd "${WORKDIR}" || die
fi
diff --git a/dev-python/django/django-5.0.14.ebuild b/dev-python/django/django-5.0.14.ebuild
deleted file mode 100644
index 990a96e7a203..000000000000
--- a/dev-python/django/django-5.0.14.ebuild
+++ /dev/null
@@ -1,105 +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_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
-
-DESCRIPTION="High-level Python web framework"
-HOMEPAGE="
- https://www.djangoproject.com/
- https://github.com/django/django/
- https://pypi.org/project/Django/
-"
-SRC_URI="
- https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz
- https://dev.gentoo.org/~mgorny/dist/python/django-5.0-pypy3.patch.xz
- verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
-"
-S="${WORKDIR}/${P^}"
-
-LICENSE="BSD"
-# admin fonts: Roboto (media-fonts/roboto)
-LICENSE+=" Apache-2.0"
-# admin icons, jquery, xregexp.js
-LICENSE+=" MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~x64-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- <dev-python/asgiref-4[${PYTHON_USEDEP}]
- >=dev-python/asgiref-3.7.0[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
- sys-libs/timezone-data
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- ${RDEPEND}
- >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
- >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[webp,${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
- sys-devel/gettext
- )
- verify-sig? ( >=sec-keys/openpgp-keys-django-20240807 )
-"
-
-PATCHES=(
- "${FILESDIR}"/django-4.0-bashcomp.patch
- "${WORKDIR}"/django-5.0-pypy3.patch
- # https://github.com/django/django/commit/3426a5c33c36266af42128ee9eca4921e68ea876
- "${FILESDIR}"/django-5.0.6-py313.patch
- # https://code.djangoproject.com/ticket/35661
- "${FILESDIR}"/django-5.1-more-pypy3.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
-
-src_unpack() {
- if use verify-sig; then
- cd "${DISTDIR}" || die
- verify-sig_verify_signed_checksums \
- "${P^}.checksum.txt" sha256 "${P^}.tar.gz"
- cd "${WORKDIR}" || die
- fi
-
- default
-}
-
-python_test() {
- # Tests have non-standard assumptions about PYTHONPATH,
- # and don't work with ${BUILD_DIR}/lib.
- PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
- -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
- die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- newbashcomp extras/django_bash_completion ${PN}-admin
- bashcomp_alias ${PN}-admin django-admin.py
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature_header "Additional Backend support can be enabled via:"
- optfeature "MySQL backend support" dev-python/mysqlclient
- optfeature "PostgreSQL backend support" dev-python/psycopg:0
- optfeature_header
- optfeature "GEO Django" "sci-libs/gdal[geos]"
- optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
- optfeature "ImageField Support" dev-python/pillow
- optfeature "Password encryption" dev-python/bcrypt
-}
diff --git a/dev-python/django/django-5.1.8.ebuild b/dev-python/django/django-5.1.9.ebuild
index 1554ea457ee0..1413c36072db 100644
--- a/dev-python/django/django-5.1.8.ebuild
+++ b/dev-python/django/django-5.1.9.ebuild
@@ -16,10 +16,9 @@ HOMEPAGE="
https://pypi.org/project/Django/
"
SRC_URI="
- https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
"
-S="${WORKDIR}/${P^}"
LICENSE="BSD"
# admin fonts: Roboto (media-fonts/roboto)
@@ -65,7 +64,7 @@ src_unpack() {
if use verify-sig; then
cd "${DISTDIR}" || die
verify-sig_verify_signed_checksums \
- "${P^}.checksum.txt" sha256 "${P^}.tar.gz"
+ "${P^}.checksum.txt" sha256 "${P}.tar.gz"
cd "${WORKDIR}" || die
fi
diff --git a/dev-python/django/django-5.2.ebuild b/dev-python/django/django-5.2.1.ebuild
index 8c9d4ef37327..1413c36072db 100644
--- a/dev-python/django/django-5.2.ebuild
+++ b/dev-python/django/django-5.2.1.ebuild
@@ -9,7 +9,6 @@ PYTHON_REQ_USE='sqlite?,threads(+)'
inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
-MY_P=${PN^}-${PV/_}
DESCRIPTION="High-level Python web framework"
HOMEPAGE="
https://www.djangoproject.com/
@@ -17,10 +16,9 @@ HOMEPAGE="
https://pypi.org/project/Django/
"
SRC_URI="
- https://media.djangoproject.com/releases/$(ver_cut 1-2)/${MY_P}.tar.gz
- verify-sig? ( https://media.djangoproject.com/pgp/${MY_P}.checksum.txt )
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
"
-S=${WORKDIR}/${MY_P}
LICENSE="BSD"
# admin fonts: Roboto (media-fonts/roboto)
@@ -66,7 +64,7 @@ src_unpack() {
if use verify-sig; then
cd "${DISTDIR}" || die
verify-sig_verify_signed_checksums \
- "${MY_P}.checksum.txt" sha256 "${MY_P}.tar.gz"
+ "${P^}.checksum.txt" sha256 "${P}.tar.gz"
cd "${WORKDIR}" || die
fi
diff --git a/dev-python/django/files/django-5.0.6-py313.patch b/dev-python/django/files/django-4.2.21-py313.patch
index 377d41261d2e..e464efbe33a5 100644
--- a/dev-python/django/files/django-5.0.6-py313.patch
+++ b/dev-python/django/files/django-4.2.21-py313.patch
@@ -1,4 +1,4 @@
-From 3426a5c33c36266af42128ee9eca4921e68ea876 Mon Sep 17 00:00:00 2001
+From 18628d51012830f12a2a888223c6e5153729004d Mon Sep 17 00:00:00 2001
From: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Date: Tue, 20 Feb 2024 20:59:26 +0100
Subject: [PATCH] Refs #34900 -- Fixed
@@ -12,10 +12,10 @@ https://github.com/python/cpython/commit/c4a2e8a2c5188c3288d57b80852e92c83f46f6f
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/django/utils/version.py b/django/utils/version.py
-index ecd41dac897ab..6f8171ffe0cfe 100644
+index 1e9c720299..71ec70bd67 100644
--- a/django/utils/version.py
+++ b/django/utils/version.py
-@@ -20,6 +20,7 @@
+@@ -17,6 +17,7 @@ PY39 = sys.version_info >= (3, 9)
PY310 = sys.version_info >= (3, 10)
PY311 = sys.version_info >= (3, 11)
PY312 = sys.version_info >= (3, 12)
@@ -24,18 +24,18 @@ index ecd41dac897ab..6f8171ffe0cfe 100644
def get_version(version=None):
diff --git a/tests/admin_scripts/tests.py b/tests/admin_scripts/tests.py
-index 50e8d4a3b1eda..688aaa0a2f8de 100644
+index 6d67c2931a..8373560499 100644
--- a/tests/admin_scripts/tests.py
+++ b/tests/admin_scripts/tests.py
-@@ -33,6 +33,7 @@
- from django.test import LiveServerTestCase, SimpleTestCase, TestCase, override_settings
+@@ -33,6 +33,7 @@ from django.test import LiveServerTestCase, SimpleTestCase, TestCase, override_s
from django.test.utils import captured_stderr, captured_stdout
from django.urls import path
+ from django.utils.version import PY39
+from django.utils.version import PY313
from django.views.static import serve
from . import urls
-@@ -1901,10 +1902,16 @@ def test_help_default_options_with_custom_arguments(self):
+@@ -1900,10 +1901,16 @@ class CommandTypes(AdminScriptTestCase):
]
for option in expected_options:
self.assertOutput(out, f"[{option}]")
diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest
index 2284648458d3..9a4f92eeb0be 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -1,2 +1,3 @@
DIST google_auth-2.39.0.tar.gz 274834 BLAKE2B f924291ba51799c4560849f61c30419110c786bfe12bade26ecd6940c952ad91a515770997008a2dd0b82f42771695500b951e036b2387b43e57c76ca2e6e04e SHA512 3bee0b649fdec2e9972afc47cd863f58c2b5e451a3970d85674d3d0572b1cbfd39d355af8c7648bb79aea2b41bd177da03dd01cb146681ed651de2d06bf355c0
DIST google_auth-2.40.0.tar.gz 280934 BLAKE2B a70b27a417e08e7d0edbc0ec09049aca6035582c9dc0bcc9b0d29acbc17f137beb2a9c145e783b356720b3327fd426025bef236a63dab83e98399a9bfd0dda36 SHA512 0e4587bde4076fcf8f905f1f8de6aa3b145424be2b8a36108f4f1fad12f024ea47e1b0bc5c877fa119b6a0dd7fa7fcb6a48e6cfbe4dacf72d04c23938cd66dbb
+DIST google_auth-2.40.1.tar.gz 280975 BLAKE2B 755d05067caeb3317489d040bc17cb92a6a96f9f2433d43eb02dedd7dc3caadf9012ed497a5956ec82174ccec8b704d123275c22211906d7edbb915442313874 SHA512 3a3a5b970d020ba8e220794ef276ef55249026161f18dce513eaaa2e63f2a0d628a477c11ea2b35e7686b924ccc12eb5ff6c97a6e8df5279f8d3a195f85d4181
diff --git a/dev-python/google-auth/google-auth-2.40.1.ebuild b/dev-python/google-auth/google-auth-2.40.1.ebuild
new file mode 100644
index 000000000000..380871c78686
--- /dev/null
+++ b/dev-python/google-auth/google-auth-2.40.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google Authentication Library"
+HOMEPAGE="
+ https://github.com/googleapis/google-auth-library-python/
+ https://pypi.org/project/google-auth/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/cachetools-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aioresponses[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-38.0.3[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/pyu2f[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:,<[0-9.]*::' setup.py || die
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # tests are broken with up-to-date pyopenssl
+ tests/transport/test__mtls_helper.py::TestDecryptPrivateKey::test_success
+ )
+ local EPYTEST_IGNORE=(
+ # these are compatibility tests with oauth2client
+ # disable them to unblock removal of that package
+ tests/test__oauth2client.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ distutils_write_namespace google
+ epytest -p asyncio
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 65c239c50a32..d059839c89bb 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,3 +1,4 @@
DIST hypothesis-6.130.13.gh.tar.gz 9544282 BLAKE2B 9a74af5cab1562b5eb2fc00fe1ea67471171ac1ecf71ef01e51082b6e3469c7a9b1de7e56119a4517b8f6c45be5efbc5461dcd258ab80c246e07df7c58dbf9c2 SHA512 25dbde677bf8b2e727999c39083f6746c9431e22326034c50ed723b51a3d7678a62dce648fcfd16802808f2034ad7cb74fe0b98fe50519b505a5b05412afa17a
DIST hypothesis-6.131.12.gh.tar.gz 9551332 BLAKE2B f09f08a67209f4e72b845069f1d99978e53a83f5001a05a54e07b0a8c81f8fa1dfc55b3cd3da8c989efcf7cdf0171816df02c6e54123965a96aa0a0716e872f5 SHA512 01031fd37fadc6f38b0a34224d10d3b57eab109bd0fd77e1d00873b1f9ed08c234664061b22de64f8908ea8aa1909b891fb1035b4016724cd209db8255748722
+DIST hypothesis-6.131.15.gh.tar.gz 9553236 BLAKE2B 29473ae79fce7183cbaec2f936824f52a18c02e13e4bd416debadd3c0b7a731d0643373c376b4236a1a857312c995e8822f54d94c1f165e8d77578371886f10d SHA512 ee89bc176230850ef4ecab7a5179f1528c576b21d42af2a76be512df70adb7ddd670a86552e18e5246bfde3184038237d644951149d78f4ca1f8cec77b6a2586
DIST hypothesis-6.131.9.gh.tar.gz 9549949 BLAKE2B 8fb5c9b9ad2c3940671d1128980b431fd43e63e35561c53f4cb172e12313019349a9ec3f3d7ecc5c8701e1aef471a1242861a94a37767e61629a42a5bf525ed0 SHA512 345baa03d68ef615fc926d93344e4f5e6f7899f104d489ebcf127426a7b2bdf6b6ac1b19ae153b297102c3a2980fa1627ce8a900a851965b213f0bd30ff4e54c
diff --git a/dev-python/hypothesis/hypothesis-6.131.15.ebuild b/dev-python/hypothesis/hypothesis-6.131.15.ebuild
new file mode 100644
index 000000000000..377138685f65
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.131.15.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ python3.13t)
+ EPYTEST_DESELECT+=(
+ # TODO: missing warning
+ 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
+ )
+ ;&
+ python3.1[23]*)
+ EPYTEST_DESELECT+=(
+ # TODO
+ 'hypothesis-python/tests/cover/test_reflection.py::test_clean_source[case-5]'
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= -p rerunfailures --reruns=5 \
+ tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/icalendar/Manifest b/dev-python/icalendar/Manifest
index 11a05807fbe5..f99376a73034 100644
--- a/dev-python/icalendar/Manifest
+++ b/dev-python/icalendar/Manifest
@@ -1 +1,2 @@
DIST icalendar-6.1.3.tar.gz 152131 BLAKE2B f1315537dee85282073d4b67b06fbb823ba6642247449e950243d44fc8c8e3147c703095b1370bec9458a1fa0d01b5e1bb0f4cdc04ffb4b721100a8d68eb5ba1 SHA512 aa0e92c0fcf6a394cca608391defd67616752b12984b5848eb56b89337537e3761fdbfc731838db2c565603ddcc845b034c4592b3be736d68c6f435726ed2977
+DIST icalendar-6.2.0.tar.gz 172530 BLAKE2B d0a7e7e5555076840a27f16f7e4d579c853217204cf8706a3a067265dc5324c5faafc917da67e1b4a2e81ffcd2caf0ae12c456d7698a87b815111e7c53eb885f SHA512 ff3fe1e1a13aa4bdd997b19e488c9890e650231ae9016ca7efce480d938e0d5aecf985d8bfa34d7b20b4750726c9aa57eb3e9827d059e3a59a7de647fdadd9e4
diff --git a/dev-python/icalendar/icalendar-6.2.0.ebuild b/dev-python/icalendar/icalendar-6.2.0.ebuild
new file mode 100644
index 000000000000..42cabc920d5a
--- /dev/null
+++ b/dev-python/icalendar/icalendar-6.2.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Package used for parsing and generating iCalendar files (RFC 2445)"
+HOMEPAGE="
+ https://github.com/collective/icalendar/
+ https://pypi.org/project/icalendar/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/ijson/Manifest b/dev-python/ijson/Manifest
index 76200d550012..74b3f6093990 100644
--- a/dev-python/ijson/Manifest
+++ b/dev-python/ijson/Manifest
@@ -1 +1,2 @@
DIST ijson-3.3.0.tar.gz 60079 BLAKE2B 53c92015c30ed285acec1f9e811521eeb9d22b2011b0398b23e44c1b0fff2b97e87b48b9058733db6002222913ebeb1a304763e7c5f8fe6c2d872f791d80ce39 SHA512 9517919b98904608f81ee0292968e9c8951e3e96cdec286d945eebcd94ae6322c08a878ebfabce3e226646bf04488710274563b1f48048707bc78e51941b5d23
+DIST ijson-3.4.0.tar.gz 65782 BLAKE2B 133cedb643d9021511094f6799a1e39c6e5c301bb7a89ddf389006bd56136cf76736ef1187073fb8d10bafd8bc4250b9d3777c19ec681308a2ae8a891908340c SHA512 2d473adaf31c84b601e1499aadd9086201b29c02c1abd432a8ed9464e42010d9a5a29f1be7d0a186eca4bb8a3b3482d27651583c020dc688257fd41b4b9729f7
diff --git a/dev-python/ijson/ijson-3.4.0.ebuild b/dev-python/ijson/ijson-3.4.0.ebuild
new file mode 100644
index 000000000000..fb55fb110cf0
--- /dev/null
+++ b/dev-python/ijson/ijson-3.4.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Iterative JSON parser with a Pythonic interface"
+HOMEPAGE="
+ https://github.com/ICRAR/ijson/
+ https://pypi.org/project/ijson/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+DEPEND="
+ dev-libs/yajl:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+
+export IJSON_BUILD_YAJL2C=1
+
+python_test() {
+ rm -rf ijson || die
+ epytest
+}
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 56733bbffc48..99577c43fc3e 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -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/nltk/Manifest b/dev-python/nltk/Manifest
index 6a83b3ff24fa..4329ee5b7d5f 100644
--- a/dev-python/nltk/Manifest
+++ b/dev-python/nltk/Manifest
@@ -1,6 +1 @@
-AUX python-3.12.patch 8925 BLAKE2B a9ad62b0b8d37b8707c6fa880af98ce6ee8e3f02a1d6cf42456a6d1dc2398f7cbf8721eb9e580594531c963dc10232f2e259939ed4dd78b5f6b9d778e2c2c7f7 SHA512 b32631b7d0b805496188b30e4ea8bcb3bd6cccee98b2f3cf5ccffcd8467c6e333654d23ab71b78ca1030aff54ac2e2137efff076bf86bd991bfd0a3077a6543f
-DIST nltk-3.8.1.gh.tar.gz 2867926 BLAKE2B 54de1d3ae7cfe0b71ac0f5a62ed3e81e489fa4d322cd32eb4aa4ef60617eb96767a0f3a92c7e5a16e71836cb0d3a1076ae3598b6bcf0af5925c95e1a0ccf70f8 SHA512 5b13eff5d8e628173f5321c293d896919d369bcd586861a7e09bf6fdca2b09f2580902da98ec647bcf9cdc2b33a87c830dda3793de20c31c8bc38c86df8f7930
-DIST nltk-3.9.1.gh.tar.gz 2874006 BLAKE2B 4ad375dafb32f16aa23128f1585f51f8f2c864edb40ea64e3fe291944a41de52fa5e37add1de86434de054bc2ff9ffa48c56a6d6793533f4c0ca6e798829be14 SHA512 7e384a23fa3839c29d38c083d6288d15ff04eb071c4bca3ec1bfb3b9cfcac8d2388041a950d6c71684ee29b791318312df99e29ae258eb5e602ccf2ad1407840
-EBUILD nltk-3.8.1.ebuild 1394 BLAKE2B bf5cdfbd9eb5c1b415de3039f5af1be36c34e8a3c0245efc908c941028b34119d59486dc0c8649771e386808d0c10ab1ab52d1bc651fd8157cd9b9fcc77bfb8e SHA512 3f4c996aab04efd784d948199a7b96bc58372e453216ae290a7c2f903f67f6518cd39162f55900fb1e047badab3d3d6a1fd53c330901f8ccb3acbd0a7023bd78
-EBUILD nltk-3.9.1.ebuild 1223 BLAKE2B f2f1ce13a1f015c4674bd41355c3c00e5f769e1521d8cbb36650bb81e0e799d9c2ee5c53465d101b332a81ad36eeb5061e7e9abd2103b3769978febfd9717445 SHA512 729bc346694c07deed10f6bea8755ec8a5ce255e4045b8ec2fe6140de65c77be2a0cf5a6535608975d853d12c2aa11b8272b9a2989f8961deb8640251fbf5bce
-MISC metadata.xml 445 BLAKE2B 4bfcde721368b9c9354799863a7a78d2c04eb789672f52b5449bda3ef567448fa1b434dda9d150aa0ff360477c576ea2fd0bebce40bf80bb843393e245f85278 SHA512 89bb6d0ca2e268e3540cf36e91b57e834eb31f078a91bb7ed7218a17c1a9b63809ae77916822eabf6a3a86286d00ae4a311b33c52e40d9d2e61b6d242f4cef78
+DIST nltk-3.9.1.tar.gz 2904691 BLAKE2B c4178eea863feb32642a7f1c290e465244655223c1b18437b832ebd315e01f797d393ab925e641ae9a53a785f0a7fe2bf1dca504a50fb8f66fbafe2a6a1b1c8b SHA512 dad570b3a6728f22b55438a159b56009676f4fbdfc293673eaae0b0ed55dd2db91c32f59b3f89ff6d38101b3c3af9ea81f3519b578c83c17c1a9f3f716bc3ff4
diff --git a/dev-python/nltk/files/python-3.12.patch b/dev-python/nltk/files/python-3.12.patch
deleted file mode 100644
index c55d2852751c..000000000000
--- a/dev-python/nltk/files/python-3.12.patch
+++ /dev/null
@@ -1,282 +0,0 @@
-commit 544bf807bf506927872b7b837c6e1514e80419ab
-Author: Konstantin Chernyshev <k4black@ya.ru>
-Date: Thu Nov 16 19:40:54 2023 +0100
-
- fix(bleu): add Fraction with 3.12 support
-
-diff --git a/nltk/test/unit/translate/test_bleu.py b/nltk/test/unit/translate/test_bleu.py
-index 990b76406..b472d785f 100644
---- a/nltk/test/unit/translate/test_bleu.py
-+++ b/nltk/test/unit/translate/test_bleu.py
-@@ -2,7 +2,6 @@
- Tests for BLEU translation evaluation metric
- """
-
--import io
- import unittest
-
- import numpy as np
-diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py
-index da445bc3e..9647202e6 100644
---- a/nltk/translate/bleu_score.py
-+++ b/nltk/translate/bleu_score.py
-@@ -7,16 +7,40 @@
- # For license information, see LICENSE.TXT
-
- """BLEU score implementation."""
-+from __future__ import annotations
-
- import math
- import sys
- import warnings
- from collections import Counter
--from fractions import Fraction
-+from dataclasses import dataclass
-
- from nltk.util import ngrams
-
-
-+@dataclass
-+class Fraction:
-+ """
-+ This class is used to represent a fraction with both the numerator and denominator saved for later retrieval.
-+ Python 3.12 removed _normalize=False from the standard lib Fraction constructor.
-+ """
-+
-+ numerator: int | float
-+ denominator: int = 1
-+
-+ def __float__(self):
-+ return self.numerator / self.denominator
-+
-+ def __lt__(self, other):
-+ return float(self) < float(other)
-+
-+ def __eq__(self, other):
-+ return self.numerator == other.numerator and self.denominator == other.denominator
-+
-+ def __gt__(self, other):
-+ return float(self) > float(other)
-+
-+
- def sentence_bleu(
- references,
- hypothesis,
-@@ -222,7 +246,7 @@ def corpus_bleu(
-
- # Collects the various precision values for the different ngram orders.
- p_n = [
-- Fraction(p_numerators[i], p_denominators[i], _normalize=False)
-+ Fraction(p_numerators[i], p_denominators[i])
- for i in range(1, max_weight_length + 1)
- ]
-
-@@ -365,7 +389,7 @@ def modified_precision(references, hypothesis, n):
- # Usually this happens when the ngram order is > len(reference).
- denominator = max(1, sum(counts.values()))
-
-- return Fraction(numerator, denominator, _normalize=False)
-+ return Fraction(numerator, denominator)
-
-
- def closest_ref_length(references, hyp_len):
-@@ -577,7 +601,7 @@ class SmoothingFunction:
- In COLING 2004.
- """
- return [
-- Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1, _normalize=False)
-+ Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1)
- if i != 0
- else p_n[0]
- for i in range(len(p_n))
-
-commit eab59d7ceac5dc64e34ca04ee0143fa8998af204
-Author: Konstantin Chernyshev <k4black@ya.ru>
-Date: Thu Nov 16 19:46:47 2023 +0100
-
- style: fix pre-commit style checks
-
-diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py
-index 9647202e6..aab519521 100644
---- a/nltk/translate/bleu_score.py
-+++ b/nltk/translate/bleu_score.py
-@@ -35,7 +35,9 @@ class Fraction:
- return float(self) < float(other)
-
- def __eq__(self, other):
-- return self.numerator == other.numerator and self.denominator == other.denominator
-+ return (
-+ self.numerator == other.numerator and self.denominator == other.denominator
-+ )
-
- def __gt__(self, other):
- return float(self) > float(other)
-@@ -601,10 +603,7 @@ class SmoothingFunction:
- In COLING 2004.
- """
- return [
-- Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1)
-- if i != 0
-- else p_n[0]
-- for i in range(len(p_n))
-+ Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1) if i != 0 else p_n[0] for i in range(len(p_n))
- ]
-
- def method3(self, p_n, *args, **kwargs):
-
-commit 8f06fa4b1da4a390d53010e56bc6ab5d5cb32a3a
-Author: Konstantin Chernyshev <k4black@ya.ru>
-Date: Thu Nov 16 19:48:06 2023 +0100
-
- style: fix pre-commit style checks
-
-diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py
-index aab519521..f32743ecc 100644
---- a/nltk/translate/bleu_score.py
-+++ b/nltk/translate/bleu_score.py
-@@ -603,7 +603,8 @@ class SmoothingFunction:
- In COLING 2004.
- """
- return [
-- Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1) if i != 0 else p_n[0] for i in range(len(p_n))
-+ Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1) if i != 0 else p_n[0]
-+ for i in range(len(p_n))
- ]
-
- def method3(self, p_n, *args, **kwargs):
-
-commit b72a4bdbaf99a2bdb6a99454a1eb8804051bf644
-Author: Konstantin Chernyshev <k4black@ya.ru>
-Date: Thu Nov 16 21:49:32 2023 +0100
-
- fix: Fraction
-
-diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py
-index f32743ecc..72f5b548d 100644
---- a/nltk/translate/bleu_score.py
-+++ b/nltk/translate/bleu_score.py
-@@ -42,6 +42,14 @@ class Fraction:
- def __gt__(self, other):
- return float(self) > float(other)
-
-+ def __add__(self, other):
-+ if isinstance(other, int):
-+ other = Fraction(other, 1)
-+ return Fraction(
-+ self.numerator * other.denominator + other.numerator * self.denominator,
-+ self.denominator * other.denominator,
-+ )
-+
-
- def sentence_bleu(
- references,
-
-commit 86fa0832f0f4b366f96867f59ae05d744d68b513
-Author: Konstantin Chernyshev <k4black@ya.ru>
-Date: Thu Nov 16 23:26:42 2023 +0100
-
- fix: use Fraction override
-
-diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py
-index 72f5b548d..ddb54dba8 100644
---- a/nltk/translate/bleu_score.py
-+++ b/nltk/translate/bleu_score.py
-@@ -7,48 +7,39 @@
- # For license information, see LICENSE.TXT
-
- """BLEU score implementation."""
--from __future__ import annotations
--
- import math
- import sys
- import warnings
- from collections import Counter
--from dataclasses import dataclass
-+from fractions import Fraction as _Fraction
-
- from nltk.util import ngrams
-
-
--@dataclass
--class Fraction:
-- """
-- This class is used to represent a fraction with both the numerator and denominator saved for later retrieval.
-- Python 3.12 removed _normalize=False from the standard lib Fraction constructor.
-- """
--
-- numerator: int | float
-- denominator: int = 1
--
-- def __float__(self):
-- return self.numerator / self.denominator
--
-- def __lt__(self, other):
-- return float(self) < float(other)
-+class Fraction(_Fraction):
-+ """Fraction with _normalize=False support for 3.12"""
-
-- def __eq__(self, other):
-- return (
-- self.numerator == other.numerator and self.denominator == other.denominator
-- )
-+ def __new__(cls, numerator=0, denominator=None, _normalize=False):
-+ if sys.version_info >= (3, 12):
-+ self = super().__new__(cls, numerator, denominator)
-+ else:
-+ self = super().__new__(cls, numerator, denominator, _normalize=_normalize)
-+ self._normalize = _normalize
-+ self._original_numerator = numerator
-+ self._original_denominator = denominator
-+ return self
-
-- def __gt__(self, other):
-- return float(self) > float(other)
-+ @property
-+ def numerator(self):
-+ if self._normalize:
-+ return self._numerator
-+ return self._original_numerator
-
-- def __add__(self, other):
-- if isinstance(other, int):
-- other = Fraction(other, 1)
-- return Fraction(
-- self.numerator * other.denominator + other.numerator * self.denominator,
-- self.denominator * other.denominator,
-- )
-+ @property
-+ def denominator(self):
-+ if self._normalize:
-+ return self._denominator
-+ return self._original_denominator
-
-
- def sentence_bleu(
-@@ -256,7 +247,7 @@ def corpus_bleu(
-
- # Collects the various precision values for the different ngram orders.
- p_n = [
-- Fraction(p_numerators[i], p_denominators[i])
-+ Fraction(p_numerators[i], p_denominators[i], _normalize=False)
- for i in range(1, max_weight_length + 1)
- ]
-
-@@ -399,7 +390,7 @@ def modified_precision(references, hypothesis, n):
- # Usually this happens when the ngram order is > len(reference).
- denominator = max(1, sum(counts.values()))
-
-- return Fraction(numerator, denominator)
-+ return Fraction(numerator, denominator, _normalize=False)
-
-
- def closest_ref_length(references, hyp_len):
-@@ -611,7 +602,8 @@ class SmoothingFunction:
- In COLING 2004.
- """
- return [
-- Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1) if i != 0 else p_n[0]
-+ Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1, _normalize=False)
-+ if i != 0 else p_n[0]
- for i in range(len(p_n))
- ]
-
diff --git a/dev-python/nltk/metadata.xml b/dev-python/nltk/metadata.xml
index 0317a43d0f5a..3fab47b124fa 100644
--- a/dev-python/nltk/metadata.xml
+++ b/dev-python/nltk/metadata.xml
@@ -2,10 +2,13 @@
<!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>oz.tiram@gmail.com</email>
+ <name>Oz Tiram</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
- <origin>slonko-overlay</origin>
- <stabilize-allarches/>
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/nltk/nltk-3.8.1.ebuild b/dev-python/nltk/nltk-3.8.1.ebuild
deleted file mode 100644
index 064a8ccee2aa..000000000000
--- a/dev-python/nltk/nltk-3.8.1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYTHON_REQ_USE="sqlite,tk?,xml(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Natural Language Toolkit"
-HOMEPAGE="https://www.nltk.org/ https://github.com/nltk/nltk/"
-SRC_URI="https://github.com/nltk/nltk/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="tk"
-
-RDEPEND="
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/joblib[${PYTHON_USEDEP}]
- dev-python/regex[${PYTHON_USEDEP}]
- dev-python/tqdm[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/joblib[${PYTHON_USEDEP}]
- >=dev-python/nltk-data-20211221
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/twython[${PYTHON_USEDEP}]
- dev-python/scikit-learn[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- )"
-PDEPEND="dev-python/nltk-data"
-
-PATCHES=( "${FILESDIR}/python-3.12.patch" )
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Internet
- nltk/test/unit/test_downloader.py::test_downloader_using_existing_parent_download_dir
- nltk/test/unit/test_downloader.py::test_downloader_using_non_existing_parent_download_dir
-)
diff --git a/dev-python/nltk/nltk-3.9.1.ebuild b/dev-python/nltk/nltk-3.9.1.ebuild
index ed46f1794bd1..815d42344ed6 100644
--- a/dev-python/nltk/nltk-3.9.1.ebuild
+++ b/dev-python/nltk/nltk-3.9.1.ebuild
@@ -1,22 +1,19 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYTHON_REQ_USE="sqlite,tk?,xml(+)"
-inherit distutils-r1
+inherit distutils-r1 pypi
-DESCRIPTION="Natural Language Toolkit"
-HOMEPAGE="https://www.nltk.org/ https://github.com/nltk/nltk/"
-SRC_URI="https://github.com/nltk/nltk/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+DESCRIPTION="Python package for natural language processing."
+HOMEPAGE="https://pypi.org/project/nltk/"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="tk"
+KEYWORDS="~amd64"
RDEPEND="
dev-python/click[${PYTHON_USEDEP}]
@@ -24,23 +21,3 @@ RDEPEND="
dev-python/regex[${PYTHON_USEDEP}]
dev-python/tqdm[${PYTHON_USEDEP}]
"
-BDEPEND="
- test? (
- dev-python/joblib[${PYTHON_USEDEP}]
- >=dev-python/nltk-data-20211221
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/twython[${PYTHON_USEDEP}]
- dev-python/scikit-learn[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- )"
-PDEPEND=">=dev-python/nltk-data-20250310"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # Network required
- nltk/test/unit/test_downloader.py
-)
diff --git a/dev-python/platformdirs/Manifest b/dev-python/platformdirs/Manifest
index 7bf70ea3cb96..844ceb74991c 100644
--- a/dev-python/platformdirs/Manifest
+++ b/dev-python/platformdirs/Manifest
@@ -1 +1,2 @@
DIST platformdirs-4.3.7.tar.gz 21291 BLAKE2B 8abe5b99140d1968d0341c025a65cd373d798b4b3848686888e754aad95d5d7e526db9618b2f44300d5b84700655b1562fa40929362a78ed50502a6ef54a55fa SHA512 d2d131aabc448d80581e930b7bb6ced950ce7f2fe595243f0a57ab2e990f7c6669cc45fb4592971f7601f268455451881ceaf303618b5f963056e818c1580bcc
+DIST platformdirs-4.3.8.tar.gz 21362 BLAKE2B dbacac7a6692a2011b8d47abf45ec1141331743336615340d84376ca468b478b0b7d211c6d1256028ecfb81f26b8f31cb290bcb21af4714dc77f834d956c8abc SHA512 131fc9f673313d0c8ea6bc36f6efed09eedc106a37194cb35c73980841b1314fc6f5e4362180d420c071d9c173dbb11f322baab0d264d1a3d9f02f4aa1e43169
diff --git a/dev-python/platformdirs/platformdirs-4.3.8.ebuild b/dev-python/platformdirs/platformdirs-4.3.8.ebuild
new file mode 100644
index 000000000000..97f77a4f8ac1
--- /dev/null
+++ b/dev-python/platformdirs/platformdirs-4.3.8.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
+HOMEPAGE="
+ https://pypi.org/project/platformdirs/
+ https://github.com/tox-dev/platformdirs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ test? (
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "hatchling' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "${PN}"
+ version = "${PV}"
+ description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".'
+ EOF
+ # sigh
+ cat > src/platformdirs/version.py <<-EOF || die
+ __version__ = version = '${PV}'
+ __version_tuple__ = version_tuple = (${PV//./, })
+ EOF
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/protobuf/Manifest b/dev-python/protobuf/Manifest
index 252c57e23818..18adaaa9d6d5 100644
--- a/dev-python/protobuf/Manifest
+++ b/dev-python/protobuf/Manifest
@@ -1,7 +1,3 @@
-DIST protobuf-21.12.tar.gz 5141166 BLAKE2B 33500612d103afb817062486a741e8e5503f82c42c70054d47d1899e6bb79f3fdde2666cad5b8eff6e1bc539c3b0cdf9f2b125ce7e5d3a459a69e84d67ab535e SHA512 2dc8f552388438268d8b9f7a9e84c6abf1736be3d5031438c789c317410c9f4b5cedd25bf7da6d67b3ba32ca890869f9ddaab2284d6ac0e734a5b135ffbb1346
-DIST protobuf-21.9.tar.gz 5110670 BLAKE2B a4f5b7f58e1c5904ca990b100a72992f6f56177b28773f8de8c99e4158391d33cfb8aa8575915887fc9ae4294faf81d4ff6b470bc07b394bfd5885a09ba0fafe SHA512 6954b42d21921e630173b7848c056ab95635627d8eddec960f3db2ddda13eedde00520a9b350722e76e2998649eb8ebe10758e1db938b6a91e38ff3295b1b7c1
-DIST protobuf-22.5.tar.gz 4924661 BLAKE2B d69c73f4ebfddf45fd94b4f5f898faf00256fe674f2cbc0443c60a88d7a0f47fb96f2f6262879927c6da88095b4ea3ee7fd4c471c100bf42a2bae9edf48c07f1 SHA512 058ab2fec5b11007972e6043071056d1944c3b6fe1d31246cddba8eb57686e3b5280f6ad3d58e78940ca63005e74a8de3c72237f9f7c5066548c5a2513ddc584
-DIST protobuf-23.3.tar.gz 5043803 BLAKE2B ee2edee230969555c9ef95069c7b1d6c23c3d1f8ea1b2249fb3e9f6fcf63312c6e10e9da65b80629fb08d5fb08d05a19bb9c752c25b892c1e3fd6f18b9279eb3 SHA512 646af367dbc61b42e322cf0b335f360e428b272e2b1f5361b2f17c18d3dc9dddd615e1279436028b1a42275a0beadda37c2c934fc27d6c892131cc8d526d8b3b
DIST protobuf-4.25.5.py.tar.gz 380315 BLAKE2B 84b635be347a6ebf14cc3f0862da5b9ed195ae6e418144761a4e0d48a681d28338677621f914bb186f729d7ff7da859a7ff4ea69c0bdabb1ebaab833909c1d7d SHA512 6e085baf8c325a807b036adebd1dca13e018c97be3686a26b43701815548128b54fbfa68eeedfba4707a3311d89f903a02c77c3dfcc2abdc16e64f7ac67b893d
DIST protobuf-4.25.6.py.tar.gz 380631 BLAKE2B 02c443bbcea3e40f374a757b1d0209669082a885819e5777306121b68573c67cfbf7c457dcccf43007037e927a87e1ed5170036e9123398681ad50a41c8289da SHA512 95882642e53b4218bb8da0afb666a1fc434b51c3538a0308cc811265e2d29059f2affe2acb191bf873abaccd3163c917b9ac4cf94714069173a5d7b0cfa1dcee
DIST protobuf-5.27.5.py.tar.gz 401551 BLAKE2B ab51b7a99af041ae2cd96751b2d73092c5af17c55753f4f3e028d11d4f1de3b04a31814939dce707c6d3c95ce0c63714ed583d2a79a1d90e13875ccda004b4fd SHA512 a6e3ae76ceb077af3823d0b6b355cf7e3b811b89ca2f073bf2964890bda9c0339777ed60a0d91d4ebdced9a2c3f6eeec73ef9918f9a6676636727f6a7ed6f60d
diff --git a/dev-python/protobuf/protobuf-4.21.12.ebuild b/dev-python/protobuf/protobuf-4.21.12.ebuild
deleted file mode 100644
index b07675a11987..000000000000
--- a/dev-python/protobuf/protobuf-4.21.12.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 2008-2024 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_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-PARENT_PN="${PN/-python/}"
-PARENT_PV="$(ver_cut 2-)"
-PARENT_P="${PARENT_PN}-${PARENT_PV}"
-
-if [[ "${PV}" == *9999 ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
- EGIT_SUBMODULES=()
- EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
-else
- SRC_URI="
- https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz
- -> ${PARENT_P}.tar.gz
- "
- KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://developers.google.com/protocol-buffers/
- https://pypi.org/project/protobuf/
-"
-
-LICENSE="BSD"
-SLOT="0/3.${PARENT_PV}.0"
-
-S="${WORKDIR}/${PARENT_P}/python"
-
-DEPEND="
- ${PYTHON_DEPS}
-"
-RDEPEND="
- ${BDEPEND}
- dev-libs/protobuf:${SLOT}
-"
-
-distutils_enable_tests setup.py
-
-# Same than PATCHES but from repository's root directory,
-# please see function `python_prepare_all` below.
-# Simplier for users IMHO.
-PARENT_PATCHES=(
-)
-
-# Here for patches within "python/" subdirectory.
-PATCHES=(
- "${FILESDIR}"/${PN}-3.20.3-python311.patch
-)
-
-python_prepare_all() {
- pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die
- [[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}"
- eapply_user
- popd > /dev/null || die
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- DISTUTILS_ARGS=( --cpp_implementation )
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}/install" -name "*.pth" -type f -delete || die
-}
diff --git a/dev-python/protobuf/protobuf-4.21.9.ebuild b/dev-python/protobuf/protobuf-4.21.9.ebuild
deleted file mode 100644
index a1f399894635..000000000000
--- a/dev-python/protobuf/protobuf-4.21.9.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 2008-2024 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_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-PARENT_PN="${PN/-python/}"
-PARENT_PV="$(ver_cut 2-)"
-PARENT_P="${PARENT_PN}-${PARENT_PV}"
-
-if [[ "${PV}" == *9999 ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
- EGIT_SUBMODULES=()
- EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
-else
- SRC_URI="
- https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz
- -> ${PARENT_P}.tar.gz
- "
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://developers.google.com/protocol-buffers/
- https://pypi.org/project/protobuf/
-"
-
-LICENSE="BSD"
-SLOT="0/32"
-
-S="${WORKDIR}/${PARENT_P}/python"
-
-BDEPEND="
-"
-DEPEND="
- ${PYTHON_DEPS}
-"
-RDEPEND="
- ${BDEPEND}
- dev-libs/protobuf:${SLOT}
-"
-
-distutils_enable_tests setup.py
-
-# Same than PATCHES but from repository's root directory,
-# please see function `python_prepare_all` below.
-# Simplier for users IMHO.
-PARENT_PATCHES=(
-)
-
-# Here for patches within "python/" subdirectory.
-PATCHES=(
- "${FILESDIR}"/${PN}-3.20.3-python311.patch
-)
-
-python_prepare_all() {
- pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die
- [[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}"
- eapply_user
- popd > /dev/null || die
-
- # py3.12
- sed -i -e 's:assertRaisesRegexp:assertRaisesRegex:' \
- google/protobuf/internal/json_format_test.py || die
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- DISTUTILS_ARGS=( --cpp_implementation )
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}/install" -name "*.pth" -type f -delete || die
-}
diff --git a/dev-python/protobuf/protobuf-4.22.5.ebuild b/dev-python/protobuf/protobuf-4.22.5.ebuild
deleted file mode 100644
index 13c2c738c575..000000000000
--- a/dev-python/protobuf/protobuf-4.22.5.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 2008-2024 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_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-PARENT_PN="${PN/-python/}"
-PARENT_PV="$(ver_cut 2-)"
-PARENT_P="${PARENT_PN}-${PARENT_PV}"
-
-if [[ "${PV}" == *9999 ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
- EGIT_SUBMODULES=()
- EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
-else
- SRC_URI="
- https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz
- -> ${PARENT_P}.tar.gz
- "
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ~mips ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://developers.google.com/protocol-buffers/
- https://pypi.org/project/protobuf/
-"
-
-LICENSE="BSD"
-SLOT="0/22.5.0"
-
-S="${WORKDIR}/${PARENT_P}/python"
-
-DEPEND="
- ${PYTHON_DEPS}
-"
-RDEPEND="
- dev-libs/protobuf:${SLOT}
-"
-
-distutils_enable_tests setup.py
-
-# Same than PATCHES but from repository's root directory,
-# please see function `python_prepare_all` below.
-# Simplier for users IMHO.
-PARENT_PATCHES=(
- "${FILESDIR}/${P}-c++-17.patch"
-)
-
-# Here for patches within "python/" subdirectory.
-PATCHES=(
- "${FILESDIR}/${PN}-4.22.5-python.patch"
-)
-
-python_prepare_all() {
- pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die
- [[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}"
- eapply_user
- popd > /dev/null || die
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- DISTUTILS_ARGS=( --cpp_implementation )
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}/install" -name "*.pth" -type f -delete || die
-}
-
-python_install() {
- distutils-r1_python_install
-
- einfo "Installing headers"
- insinto /usr/include/google/protobuf
- doins google/protobuf/proto_api.h
-}
diff --git a/dev-python/protobuf/protobuf-4.23.3.ebuild b/dev-python/protobuf/protobuf-4.23.3.ebuild
deleted file mode 100644
index 450a188d79cb..000000000000
--- a/dev-python/protobuf/protobuf-4.23.3.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 2008-2024 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_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-PARENT_PN="${PN/-python/}"
-PARENT_PV="$(ver_cut 2-)"
-PARENT_P="${PARENT_PN}-${PARENT_PV}"
-
-if [[ "${PV}" == *9999 ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
- EGIT_SUBMODULES=()
- EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
-else
- SRC_URI="
- https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz
- -> ${PARENT_P}.tar.gz
- "
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://developers.google.com/protocol-buffers/
- https://pypi.org/project/protobuf/
-"
-
-LICENSE="BSD"
-SLOT="0/23.3.0"
-
-S="${WORKDIR}/${PARENT_P}/python"
-
-BDEPEND="
-"
-DEPEND="
- ${PYTHON_DEPS}
-"
-RDEPEND="
- ${BDEPEND}
- dev-libs/protobuf:${SLOT}
-"
-
-distutils_enable_tests setup.py
-
-# Same than PATCHES but from repository's root directory,
-# please see function `python_prepare_all` below.
-# Simplier for users IMHO.
-PARENT_PATCHES=(
-)
-
-# Here for patches within "python/" subdirectory.
-PATCHES=(
-)
-
-python_prepare_all() {
- pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die
- [[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}"
- eapply_user
- popd > /dev/null || die
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- DISTUTILS_ARGS=( --cpp_implementation )
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}/install" -name "*.pth" -type f -delete || die
-}
diff --git a/dev-python/sympy/sympy-1.14.0.ebuild b/dev-python/sympy/sympy-1.14.0-r1.ebuild
index 0a736156d823..f2fbacd97014 100644
--- a/dev-python/sympy/sympy-1.14.0.ebuild
+++ b/dev-python/sympy/sympy-1.14.0-r1.ebuild
@@ -52,6 +52,13 @@ BDEPEND="
EPYTEST_XDIST=1
distutils_enable_tests pytest
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # fix the version number
+ sed -i -e "/__version__/s:\".*\":\"${PV}\":" sympy/release.py || die
+}
+
src_test() {
virtx distutils-r1_src_test
}
diff --git a/dev-python/textual-serve/Manifest b/dev-python/textual-serve/Manifest
index b190bad55b22..ce8ad58e7e8d 100644
--- a/dev-python/textual-serve/Manifest
+++ b/dev-python/textual-serve/Manifest
@@ -1 +1 @@
-DIST textual-serve-1.1.1.gh.tar.gz 447915 BLAKE2B 851d8147e37bc9921cab94beca811193e98b88d2d9bf625bbf5e2fbca398cead9c6570e6a1a3c9aefa369aef7636250cca75dddf52adb52455b753db6b30f520 SHA512 af684e13b6280bff66a51ea018832e14ca6a258394980a83ab41fbd472b4c7b5d804c4abb8b666fd69c9035caa10d0b1b831092e82acd60bab48d62c101400eb
+DIST textual-serve-1.1.2.gh.tar.gz 450004 BLAKE2B 9b13e350bd5fdbcdca0fbd6084863c5de77ee08540068b09edb53ac47cd3b5079f9d9ab391424da01e4c76351af9e209d5e6dd8166fef62dcbff83bc1bb983be SHA512 d933cdd5aca3fe1e4f3bc8b5156b1f75d0ce3107184422fcd110a1bd9f4d0163e4f40e09452ae55dd688f5d3f14ef58425d46232a6dfea01bce27759995a9cf6
diff --git a/dev-python/textual-serve/textual-serve-1.1.1.ebuild b/dev-python/textual-serve/textual-serve-1.1.2.ebuild
index 71142164ed3c..468f99084d30 100644
--- a/dev-python/textual-serve/textual-serve-1.1.1.ebuild
+++ b/dev-python/textual-serve/textual-serve-1.1.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,11 +8,9 @@ PYTHON_COMPAT=( python3_{9,10,11,12,13} )
inherit distutils-r1
-HASH="6d13319e689766f41cb6bd589379d4a692cae081"
DESCRIPTION="Serve Textual apps locally"
HOMEPAGE="https://github.com/Textualize/textual-serve https://pypi.org/project/textual-serve/"
-SRC_URI="https://github.com/Textualize/${PN}/archive/${HASH}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/${PN}-${HASH}"
+SRC_URI="https://github.com/Textualize/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/textual/Manifest b/dev-python/textual/Manifest
index 85d147dab6b3..3b9e4978caeb 100644
--- a/dev-python/textual/Manifest
+++ b/dev-python/textual/Manifest
@@ -1,2 +1,2 @@
DIST textual-0.88.1.gh.tar.gz 29517235 BLAKE2B 457caef7957eab0b7317e94ce4dd991cf0da54c4b7c9b670089de6cb762b1fd28c1021b8be89e66947717452dcc4925ff70eb856cef470eacda6062322df2e7a SHA512 7c849dac56ca93853b36ad8c67f5544f5a071ad3b23f7753f46a6b62a1017098b40ce2be0aa526aa5a4de397ec26bb7b42a245170516e22ef297ccbc49321394
-DIST textual-3.0.0.gh.tar.gz 30121836 BLAKE2B 0b72d0b67fafcae4eddddc9e8cac53a4c83d0b7d9d2d959a84219adf3cd8daeeae1f31d8abbab7b89bf8c0ffd7d22bb35e08dab36f1bb542fae15c34867f355a SHA512 384f2d2b4f441c3ff8dc731ed1b00e2d3e145330c9793cbf6141bceb7b6452cd11ea2d9e07128e79a672a11e859e15c2b26d6e6e1e1f82dcbe953945e7daa546
+DIST textual-3.2.0.gh.tar.gz 30131889 BLAKE2B 080b32fbf1370caf4da82953212432b04d5dd2066597422f802a7b46438e1a6a7396f0270c5fa9ef974117a905439d9cbca3c15f79687689d5463014ea356dee SHA512 caea5b0373a3748ecc05f2f3747528e8a377853f0027c2337152d08e94f0dd1fe537a567ef2ab8eb6c5d15139f9a7b20deb3e95cd0653683537db8179d55cdfa
diff --git a/dev-python/textual/textual-3.0.0.ebuild b/dev-python/textual/textual-3.2.0.ebuild
index b93a6270e8a8..b93a6270e8a8 100644
--- a/dev-python/textual/textual-3.0.0.ebuild
+++ b/dev-python/textual/textual-3.2.0.ebuild
diff --git a/dev-python/trove-classifiers/Manifest b/dev-python/trove-classifiers/Manifest
index a0ef531182f7..62c92f383655 100644
--- a/dev-python/trove-classifiers/Manifest
+++ b/dev-python/trove-classifiers/Manifest
@@ -1,3 +1,4 @@
DIST trove_classifiers-2025.4.11.15.tar.gz 16321 BLAKE2B b011b524d267506aef4d91ac6d365e08e419fb57b424259b080de8cb7205cd8c4c6df52e29532b9dc19ca36f41b0793ac25a8824e9d2328735357efa369b2157 SHA512 5eb5d892a751105319c003e4a370d2f69b614a1f2bea8904865b7da9f4d2648ffe57fba1cebc1ec21dab74d02b3223eb72af478ddd69635e45b0424621cefa9a
DIST trove_classifiers-2025.4.28.22.tar.gz 16883 BLAKE2B 9598b19874f7deaeb15333a7f97cb91a7d82fe34d26d6d4e526bf857ed777539cad89949628196f2bbff187511fc5bca2327aeaacec4052611c5f2d82c4bb8a8 SHA512 4863ff031d9c83177099b5c1e04e2a22396055209b88e60dd44e22a8357889f27572444e0a1fbef65b7b37919cb9d7f8cb548b7007fd878d8fe92c9cd39b864e
DIST trove_classifiers-2025.5.1.12.tar.gz 16876 BLAKE2B 27ae91479d2a811978b3f1447568f5849341a7fda5c825ebf0dd0502d85f206d63f4687463708031637da4313d0182abc05b6b710a6f32fd714167ac766a587d SHA512 af3c0ee51e7ce3e7ec0eb1fd901ac3d0c02f6c0ba1c77d3ba66e0770bf5300144f636dcbf608f046a21789cfc780f651be222b7d23f359a672fde0210af966b5
+DIST trove_classifiers-2025.5.7.19.tar.gz 16891 BLAKE2B 42c1d72cb1f70137e4d2af4b2a4f85811b0aab0a325793865afb51511bf00d7d5f7f5cfeeb1c887a630fdbe8e437987396cb9a9eeefc4d2cd56e5ecbfab0aab3 SHA512 ab35ab9f627244ce68d9db45684018392bd91d9b3f001be7e41ec8bf061fb86aee904347813db90afd2b94325d74665fea85994f29b144753c409642e8d9fdda
diff --git a/dev-python/trove-classifiers/trove-classifiers-2025.5.7.19.ebuild b/dev-python/trove-classifiers/trove-classifiers-2025.5.7.19.ebuild
new file mode 100644
index 000000000000..0b6867aee421
--- /dev/null
+++ b/dev-python/trove-classifiers/trove-classifiers-2025.5.7.19.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)"
+HOMEPAGE="
+ https://github.com/pypa/trove-classifiers/
+ https://pypi.org/project/trove-classifiers/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease hatchling bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "trove-classifiers"
+ version = "${PV}"
+ description = "Canonical source for classifiers on PyPI (pypi.org)."
+
+ [project.scripts]
+ trove-classifiers = "trove_classifiers.__main__:cli"
+ EOF
+}
+
+python_test() {
+ epytest
+ "${EPYTHON}" -m tests.lib || die
+}
diff --git a/dev-python/urwid/Manifest b/dev-python/urwid/Manifest
index a951496153bf..242349a10189 100644
--- a/dev-python/urwid/Manifest
+++ b/dev-python/urwid/Manifest
@@ -1,2 +1,3 @@
DIST urwid-2.6.16.tar.gz 848179 BLAKE2B 870790c4beb59297ca7952d27304caa3b907e3f8bf8974334d4ab59386b7705b5cb75a39494e8e984a4af6e0ad76f36a767179126059fc6983d94496d990bb00 SHA512 c5caee309bcba9f22d4f3a78bc837c263345762ece5a315ba02ed1cb15ff2502065b20de288495f103b673be4dbee7cac11c535b3edb42edfb04c8ca40a831f3
DIST urwid-3.0.0.tar.gz 855371 BLAKE2B cf412af16c575ceab7157d00141c89bb6579e01b388c54398a4a543426e40fea5e57a8e6548ff2e0969858c69069e33724b7803a00638068c56766101292298d SHA512 a3a5f86d3fae6c6b74c6b826aef78220ce57deed32601298ff47cb47742eebd64c16e28c9ee24b6bdc414c9e518d535dbe64ef813a5ab039c1083a7d3172b351
+DIST urwid-3.0.2.tar.gz 855353 BLAKE2B cc1cf1611d1c9c4702880953b723445cb7972ae0ebedd369c881608cfe4c80873e3ed5ba6c7055466e967d954a8d7e3e7c34a1d31a617866e74907fef99ab4c2 SHA512 60f3a911d85907953c8b791458602a271bdbdebddec0905e02bc424340fef542eadd4a2b8d8ec1883238b794565c96ae1f0396abb0b39ed4d3d5dd66c62140f6
diff --git a/dev-python/urwid/urwid-3.0.2.ebuild b/dev-python/urwid/urwid-3.0.2.ebuild
new file mode 100644
index 000000000000..51860517ec52
--- /dev/null
+++ b/dev-python/urwid/urwid-3.0.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Curses-based user interface library for Python"
+HOMEPAGE="
+ https://urwid.org/
+ https://pypi.org/project/urwid/
+ https://github.com/urwid/urwid/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Trio event loop" "dev-python/trio"
+}
diff --git a/dev-python/wxpython/wxpython-4.2.3-r1.ebuild b/dev-python/wxpython/wxpython-4.2.3-r1.ebuild
index d6cfd1105668..a9fa8d1b7d72 100644
--- a/dev-python/wxpython/wxpython-4.2.3-r1.ebuild
+++ b/dev-python/wxpython/wxpython-4.2.3-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..13} )
PYPI_NO_NORMALIZE=1
PYPI_PN="wxPython"
WX_GTK_VER="3.2-gtk3"
@@ -79,6 +79,10 @@ python_prepare_all() {
# sigh
sed -i -e '/from buildtools/i\
sys.path.insert(0, ".")' setup.py || die
+
+ # sigh, used only when fetching things implicitly which we definitely
+ # don't want; https://bugs.gentoo.org/955593
+ sed -i -e '/requests/d' build.py || die
}
src_configure() {