summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-04-20 14:56:28 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-04-20 14:56:28 +0000
commitfcdddd8fa679151dedc4c58285a2d7b6251eebae (patch)
treeed7c48fc4c0ba3691f54359036ddc2ac232d315f /dev-python
parent7cdcbf69ca56781ffddfee1e4724b94ad389fc58 (diff)
downloadbaldeagleos-repo-fcdddd8fa679151dedc4c58285a2d7b6251eebae.tar.gz
baldeagleos-repo-fcdddd8fa679151dedc4c58285a2d7b6251eebae.tar.xz
baldeagleos-repo-fcdddd8fa679151dedc4c58285a2d7b6251eebae.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiohttp/Manifest1
-rw-r--r--dev-python/aiohttp/aiohttp-3.11.16.ebuild (renamed from dev-python/aiohttp/aiohttp-3.11.16-r1.ebuild)15
-rw-r--r--dev-python/aiohttp/aiohttp-3.11.17.ebuild146
-rw-r--r--dev-python/aiohttp/files/aiohttp-3.11.16-devendor-llhttp.patch54
-rw-r--r--dev-python/aiohttp/files/aiohttp-3.11.17-unbundle-llhttp.patch31
-rw-r--r--dev-python/aws-sam-translator/Manifest1
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.95.0.ebuild62
-rw-r--r--dev-python/boolean-py/Manifest1
-rw-r--r--dev-python/boolean-py/boolean-py-4.0.ebuild27
-rw-r--r--dev-python/calver/Manifest1
-rw-r--r--dev-python/calver/calver-2022.06.26.ebuild31
-rw-r--r--dev-python/certifi/certifi-2025.01.31-r1.ebuild38
-rw-r--r--dev-python/cfn-lint/Manifest3
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.31.3.ebuild70
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.33.0.ebuild61
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.33.1.ebuild61
-rw-r--r--dev-python/clang/Manifest1
-rw-r--r--dev-python/clang/clang-21.0.0_pre20250420.ebuild53
-rw-r--r--dev-python/cython/Manifest1
-rw-r--r--dev-python/cython/cython-3.0.12.ebuild91
-rw-r--r--dev-python/django-guardian/django-guardian-2.4.0.ebuild2
-rw-r--r--dev-python/django-rest-framework-guardian2/Manifest1
-rw-r--r--dev-python/django-rest-framework-guardian2/django-rest-framework-guardian2-0.5.0.ebuild2
-rw-r--r--dev-python/django-rest-framework-guardian2/django-rest-framework-guardian2-0.7.0.ebuild25
-rw-r--r--dev-python/ensurepip-setuptools/Manifest1
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-78.1.1.ebuild20
-rw-r--r--dev-python/fakeredis/Manifest2
-rw-r--r--dev-python/fakeredis/fakeredis-2.27.0.ebuild104
-rw-r--r--dev-python/fakeredis/fakeredis-2.28.0.ebuild92
-rw-r--r--dev-python/fakeredis/files/fakeredis-2.27.0-pypy.patch29
-rw-r--r--dev-python/hypothesis/Manifest5
-rw-r--r--dev-python/hypothesis/hypothesis-6.129.4.ebuild110
-rw-r--r--dev-python/hypothesis/hypothesis-6.130.10.ebuild110
-rw-r--r--dev-python/hypothesis/hypothesis-6.130.12.ebuild110
-rw-r--r--dev-python/hypothesis/hypothesis-6.131.0.ebuild110
-rw-r--r--dev-python/hypothesis/hypothesis-6.131.2.ebuild116
-rw-r--r--dev-python/identify/Manifest1
-rw-r--r--dev-python/identify/identify-2.6.10.ebuild29
-rw-r--r--dev-python/lit/Manifest1
-rw-r--r--dev-python/lit/lit-21.0.0_pre20250420.ebuild45
-rw-r--r--dev-python/numpy/Manifest1
-rw-r--r--dev-python/numpy/numpy-2.2.5.ebuild196
-rw-r--r--dev-python/packaging/Manifest4
-rw-r--r--dev-python/packaging/packaging-24.0.ebuild35
-rw-r--r--dev-python/packaging/packaging-24.1.ebuild35
-rw-r--r--dev-python/packaging/packaging-25.0.ebuild (renamed from dev-python/packaging/packaging-23.2-r1.ebuild)6
-rw-r--r--dev-python/pipdeptree/Manifest1
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.26.1.ebuild58
-rw-r--r--dev-python/pypugjs/Manifest1
-rw-r--r--dev-python/pypugjs/pypugjs-5.11.0.ebuild53
-rw-r--r--dev-python/rst2ansi/rst2ansi-0.1.5-r3.ebuild2
-rw-r--r--dev-python/setuptools/Manifest1
-rw-r--r--dev-python/setuptools/setuptools-78.1.1.ebuild134
-rw-r--r--dev-python/shapely/Manifest1
-rw-r--r--dev-python/shapely/shapely-2.0.7.ebuild46
-rw-r--r--dev-python/stripe/Manifest1
-rw-r--r--dev-python/stripe/stripe-11.6.0.ebuild95
-rw-r--r--dev-python/trimesh/Manifest1
-rw-r--r--dev-python/trimesh/trimesh-4.6.5.ebuild79
-rw-r--r--dev-python/url-normalize/Manifest1
-rw-r--r--dev-python/url-normalize/url-normalize-1.4.3-r1.ebuild38
-rw-r--r--dev-python/uvicorn/Manifest1
-rw-r--r--dev-python/uvicorn/uvicorn-0.34.2.ebuild84
-rw-r--r--dev-python/ytmusicapi/Manifest1
-rw-r--r--dev-python/ytmusicapi/ytmusicapi-1.10.2.ebuild24
65 files changed, 878 insertions, 1685 deletions
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
index f25bd5f134d8..20b4a4cc0bed 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -1,3 +1,4 @@
DIST aiohttp-3.11.14.tar.gz 7676994 BLAKE2B e8e048c01db9600df3bdc7bdc6e5066094b4575d08fef3ec7d0a78763a701cd3501dce435b80d3fbea28d2e7bf4110a5cc9e0ccec2bc3745835cadcb27528404 SHA512 38e51d3640b533d9bd639a59657bf7affbfc0b1a9dc40d77175d6528044e23b1e524589b9a10e0159eb8f9ba29e96b3e67529a9d11f1c53760a70800d813d13f
DIST aiohttp-3.11.15.tar.gz 7676625 BLAKE2B 02a5230bd9d038f0e90e4b63e69502a8f2445b781e0b4ff6e40657d7c0d49ddce011ba28c3ddc03cd75a4e205d3544af15f9944f9908064d6f9b922862cc8ab0 SHA512 deeaed7f204fef23641d076d1fd455ebe97173726e2cfc47f82fffc654c51e975fb3012ac78bf60181771e001f3e6f3aac67e2bfc9ed9291ff6d92873969eb0e
DIST aiohttp-3.11.16.tar.gz 7676826 BLAKE2B ae430c8d5e3c84442c95f6c485be2ca69df00b7dd2047ed34d7825c0f250b71ca1490140a1aff8b3dfcdb2af367958e59c94c60b288b7f534b1e1b0457debc10 SHA512 890f576d5ec8c364f8db29b1c4a540cd39cf61fa1fd17ec70049a8c1bf401745d8326e2b7b51bbbc7a2569bfe42f7aab022c23be186bb67f064a32ed16af18dd
+DIST aiohttp-3.11.17.tar.gz 7679092 BLAKE2B 1eabacddbbf03c22a156c30641c6b476760b12dd19b2f0d2e8fc066c60cee0c84745f8636257a356a87dab5b06d6f845a67c58da6abaeb513ae7bac86f8f3d9e SHA512 c514e772957e5b20da398bd38682ba10f43e1697a4f743c85fe5242437a0d7010a13b918b071a1bbe9e62c56cd58f76e5470056f917a23734449f9f2de225d78
diff --git a/dev-python/aiohttp/aiohttp-3.11.16-r1.ebuild b/dev-python/aiohttp/aiohttp-3.11.16.ebuild
index ac46aa05fc35..a0fbae8f985c 100644
--- a/dev-python/aiohttp/aiohttp-3.11.16-r1.ebuild
+++ b/dev-python/aiohttp/aiohttp-3.11.16.ebuild
@@ -17,15 +17,10 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="+native-extensions test-rust"
-DEPEND="
- $(python_gen_cond_dep '
- native-extensions? ( net-libs/llhttp:= )
- ' 'python3*')
-"
-RDEPEND="${DEPEND}
+RDEPEND="
>=dev-python/aiodns-3.2.0[${PYTHON_USEDEP}]
>=dev-python/aiohappyeyeballs-2.3.0[${PYTHON_USEDEP}]
>=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
@@ -62,10 +57,6 @@ BDEPEND="
DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
-PATCHES=(
- "${FILESDIR}"/${PN}-3.11.16-devendor-llhttp.patch
-)
-
EPYTEST_XDIST=1
distutils_enable_tests pytest
@@ -75,8 +66,6 @@ src_prepare() {
# xfail_strict fails on py3.10
sed -i -e '/--cov/d' -e '/pytest_cov/d' -e '/xfail_strict/d' setup.cfg || die
sed -i -e 's:-Werror::' Makefile || die
- # remove the bundled llhttp, we use the system one
- rm -r vendor/llhttp || die
distutils-r1_src_prepare
}
diff --git a/dev-python/aiohttp/aiohttp-3.11.17.ebuild b/dev-python/aiohttp/aiohttp-3.11.17.ebuild
new file mode 100644
index 000000000000..06772b8404ff
--- /dev/null
+++ b/dev-python/aiohttp/aiohttp-3.11.17.ebuild
@@ -0,0 +1,146 @@
+# 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="HTTP client/server for asyncio"
+HOMEPAGE="
+ https://github.com/aio-libs/aiohttp/
+ https://pypi.org/project/aiohttp/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions test-rust"
+
+DEPEND="
+ native-extensions? (
+ $(python_gen_cond_dep '
+ net-libs/llhttp:=
+ ' 'python3*')
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/aiodns-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/aiohappyeyeballs-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
+ >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.17.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ <dev-python/async-timeout-6[${PYTHON_USEDEP}]
+ >=dev-python/async-timeout-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ www-servers/gunicorn[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python3*')
+ test-rust? (
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}-3.11.17-unbundle-llhttp.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # increase the timeout a little
+ sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
+ # xfail_strict fails on py3.10
+ sed -i -e '/--cov/d' -e '/pytest_cov/d' -e '/xfail_strict/d' setup.cfg || die
+ sed -i -e 's:-Werror::' Makefile || die
+ # remove vendored llhttp
+ rm -r vendor || die
+}
+
+python_configure() {
+ # check for .install-cython, so that we do this only once
+ if [[ ! -f .install-cython && ${EPYTHON} != pypy3 ]] &&
+ use native-extensions
+ then
+ # force rehashing first
+ emake requirements/.hash/cython.txt.hash
+ > .update-pip || die
+ > .install-cython || die
+ emake cythonize
+ fi
+}
+
+python_compile() {
+ # implicitly disabled for pypy3
+ if ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # proxy is not packaged
+ tests/test_proxy_functional.py
+ # python_on_whales is not packaged
+ tests/autobahn/test_autobahn.py
+ # benchmarks
+ tests/test_benchmarks_client.py
+ tests/test_benchmarks_client_request.py
+ tests/test_benchmarks_client_ws.py
+ tests/test_benchmarks_cookiejar.py
+ tests/test_benchmarks_http_websocket.py
+ tests/test_benchmarks_http_writer.py
+ tests/test_benchmarks_web_fileresponse.py
+ tests/test_benchmarks_web_middleware.py
+ tests/test_benchmarks_web_response.py
+ tests/test_benchmarks_web_urldispatcher.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_client_session.py::test_client_session_timeout_zero
+ # broken by irrelevant deprecation warnings
+ tests/test_circular_imports.py::test_no_warnings
+ )
+
+ # upstream unconditionally blocks building C extensions
+ # on PyPy3 but the test suite needs an explicit switch
+ if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin
+ rm -rf aiohttp || die
+ epytest -m "not internal and not dev_mode" \
+ -p rerunfailures --reruns=5
+}
diff --git a/dev-python/aiohttp/files/aiohttp-3.11.16-devendor-llhttp.patch b/dev-python/aiohttp/files/aiohttp-3.11.16-devendor-llhttp.patch
deleted file mode 100644
index 26aa843ad936..000000000000
--- a/dev-python/aiohttp/files/aiohttp-3.11.16-devendor-llhttp.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-https://src.fedoraproject.org/rpms/python-aiohttp/raw/bceb660b835a4aaffd763a261cb2cd2392ee06db/f/0001-Unbundle-llhttp.patch
-From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hrn=C4=8Diar?= <thrnciar@redhat.com>
-Date: Wed, 16 Feb 2022 13:57:57 +0100
-Subject: [PATCH] Unbundle llhttp
-
-Modified a little by arthurzam@gentoo.org to force cythonize
-
---- a/aiohttp/_cparser.pxd
-+++ b/aiohttp/_cparser.pxd
-@@ -1,7 +1,7 @@
- from libc.stdint cimport int32_t, uint8_t, uint16_t, uint64_t
-
-
--cdef extern from "../vendor/llhttp/build/llhttp.h":
-+cdef extern from "llhttp.h":
-
- struct llhttp__internal_s:
- int32_t _index
---- a/setup.py
-+++ b/setup.py
-@@ -27,23 +27,21 @@ if IS_GIT_REPO and not (HERE / "vendor/llhttp/README.md").exists():
- # NOTE: makefile cythonizes all Cython modules
-
- extensions = [
-- Extension("aiohttp._websocket.mask", ["aiohttp/_websocket/mask.c"]),
-+ Extension("aiohttp._websocket.mask", ["aiohttp/_websocket/mask.pyx"]),
- Extension(
- "aiohttp._http_parser",
- [
-- "aiohttp/_http_parser.c",
-- "aiohttp/_find_header.c",
-- "vendor/llhttp/build/c/llhttp.c",
-- "vendor/llhttp/src/native/api.c",
-- "vendor/llhttp/src/native/http.c",
-+ "aiohttp/_http_parser.pyx",
- ],
-- define_macros=[("LLHTTP_STRICT_MODE", 0)],
-- include_dirs=["vendor/llhttp/build"],
- ),
-- Extension("aiohttp._http_writer", ["aiohttp/_http_writer.c"]),
-+ Extension("aiohttp._http_writer", ["aiohttp/_http_writer.pyx"]),
- Extension("aiohttp._websocket.reader_c", ["aiohttp/_websocket/reader_c.c"]),
- ]
-
-+if not NO_EXTENSIONS:
-+ from Cython.Build import cythonize
-+ extensions = cythonize(extensions, force=True, language_level=3)
-+
-
- build_type = "Pure" if NO_EXTENSIONS else "Accelerated"
- setup_kwargs = {} if NO_EXTENSIONS else {"ext_modules": extensions}
---
-2.48.1
-
diff --git a/dev-python/aiohttp/files/aiohttp-3.11.17-unbundle-llhttp.patch b/dev-python/aiohttp/files/aiohttp-3.11.17-unbundle-llhttp.patch
new file mode 100644
index 000000000000..500377eb46e6
--- /dev/null
+++ b/dev-python/aiohttp/files/aiohttp-3.11.17-unbundle-llhttp.patch
@@ -0,0 +1,31 @@
+diff --git a/aiohttp/_cparser.pxd b/aiohttp/_cparser.pxd
+index c2cd5a92f..1b3be6d4e 100644
+--- a/aiohttp/_cparser.pxd
++++ b/aiohttp/_cparser.pxd
+@@ -1,7 +1,7 @@
+ from libc.stdint cimport int32_t, uint8_t, uint16_t, uint64_t
+
+
+-cdef extern from "../vendor/llhttp/build/llhttp.h":
++cdef extern from "llhttp.h":
+
+ struct llhttp__internal_s:
+ int32_t _index
+diff --git a/setup.py b/setup.py
+index c9a2c5c85..fe1a8101f 100644
+--- a/setup.py
++++ b/setup.py
+@@ -33,12 +33,9 @@ extensions = [
+ [
+ "aiohttp/_http_parser.c",
+ "aiohttp/_find_header.c",
+- "vendor/llhttp/build/c/llhttp.c",
+- "vendor/llhttp/src/native/api.c",
+- "vendor/llhttp/src/native/http.c",
+ ],
+ define_macros=[("LLHTTP_STRICT_MODE", 0)],
+- include_dirs=["vendor/llhttp/build"],
++ libraries=["llhttp"],
+ ),
+ Extension("aiohttp._http_writer", ["aiohttp/_http_writer.c"]),
+ Extension("aiohttp._websocket.reader_c", ["aiohttp/_websocket/reader_c.c"]),
diff --git a/dev-python/aws-sam-translator/Manifest b/dev-python/aws-sam-translator/Manifest
index 87ad792072a7..e94f3e9f74e3 100644
--- a/dev-python/aws-sam-translator/Manifest
+++ b/dev-python/aws-sam-translator/Manifest
@@ -1,3 +1,2 @@
-DIST serverless-application-model-1.95.0.gh.tar.gz 5849359 BLAKE2B ad8228e901c8a3a97964808692fbb84b0bfe144536370c9e70c0bccdc30a982456c2099f82b6ea82c5c7f2e19d646c955927c7e4095bea851c67a10fbbd6e573 SHA512 192a3e55940ec61af256279cd54025b062f521284ac2741b6b9f6d0fad73162f75c702dd00db4f176a5abfa6b4e9c2fc2f3c22f85f8eefa122ea02a710a8fa82
DIST serverless-application-model-1.96.0.gh.tar.gz 5881699 BLAKE2B 913c2feb6b1775413bafa0c4e7be60777480df87c66a5eadda97479935c12f913559efc9ec26e8a7c3d2b665de4e22c5f265ff9bfbe53ba338c8c446aab2b27f SHA512 e32e8f9bc0647a06175f1456dc6e50ab1afabf808fd782d449fc582226e38055ebf08f6699321ec2b3ba8eecfabb5ff125258e2821b1ecd8f32df9f043ba69e7
DIST serverless-application-model-1.97.0.gh.tar.gz 5891456 BLAKE2B 6a568333110eed9a219d489f7ec566cee595654f0d75b8fb5cf89d4a32b64862549ba6c5d10f195d82a48bd44c0529425eec0150775df16025a33c0135ad9232 SHA512 4489410aa77c831e5b85b0e0f3f25a77b4b9a14947159c2a23f29b241d7e2858922847df41b24a1d784ea412019f2ed5a395773e42925bc1cc479c9ca1c4602c
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.95.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.95.0.ebuild
deleted file mode 100644
index f10d0b683442..000000000000
--- a/dev-python/aws-sam-translator/aws-sam-translator-1.95.0.ebuild
+++ /dev/null
@@ -1,62 +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} )
-
-inherit distutils-r1 multiprocessing
-
-MY_P=serverless-application-model-${PV}
-DESCRIPTION="A library that transform SAM templates into AWS CloudFormation templates"
-HOMEPAGE="
- https://github.com/aws/serverless-application-model/
- https://pypi.org/project/aws-sam-translator/
-"
-SRC_URI="
- https://github.com/aws/serverless-application-model/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- <dev-python/boto3-2[${PYTHON_USEDEP}]
- >=dev-python/boto3-1.19.5[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2[${PYTHON_USEDEP}]
- <dev-python/pydantic-3[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.8[${PYTHON_USEDEP}]
- <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # so much noise...
- sed -i -e '/log_cli/d' pytest.ini || die
-
- # deps are installed by ebuild, don't try to reinstall them via pip
- truncate --size=0 requirements/*.txt || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x AWS_DEFAULT_REGION=us-east-1
- epytest -o addopts= -o filterwarnings= \
- -p xdist -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/boolean-py/Manifest b/dev-python/boolean-py/Manifest
index b5801b8a9c2c..4cdb3e1bf16e 100644
--- a/dev-python/boolean-py/Manifest
+++ b/dev-python/boolean-py/Manifest
@@ -1,2 +1 @@
-DIST boolean.py-4.0.gh.tar.gz 33855 BLAKE2B 68e183c670684d2f92ad94f2b88616c932c2a85db40fa1a2552bc60c9bf03999bb456e0a91623afba2af4f2c89ef6cacf0c6f0267ac55aadcf02e67c8324c8f6 SHA512 2c92188645c4949478b40c2879f02a0eb6f3f92c0781a910862fcccebaa3476b9f2668ef40a5faec9d5c3a9c7361043a8e1b92ed98e282d6ce89c56b8ac0c2ad
DIST boolean.py-5.0.gh.tar.gz 34438 BLAKE2B bf76e1a2dfb70ec4db6dcde332b9abdee9e1915ca48d801a13ca820421a51c17523ebe74f87bcab70e441fdf6b84a3fee4619107e2c4d689a4c4342a60113440 SHA512 edd3fa81c45667665183c22f4fe1c78bd39bd3dfff7fff942b8645e9e15839a13adcacabc5115941b350bb0a15a653d9f472e286429751afe29a8d98f8fe6b7f
diff --git a/dev-python/boolean-py/boolean-py-4.0.ebuild b/dev-python/boolean-py/boolean-py-4.0.ebuild
deleted file mode 100644
index 15610a637f4c..000000000000
--- a/dev-python/boolean-py/boolean-py-4.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2022-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 )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Define boolean algebras, create and parse boolean expressions"
-HOMEPAGE="
- https://pypi.org/project/boolean.py/
- https://github.com/bastikr/boolean.py/
-"
-SRC_URI="
- https://github.com/bastikr/boolean.py/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/calver/Manifest b/dev-python/calver/Manifest
index 983ef58bc6c7..b6cf978e1ebf 100644
--- a/dev-python/calver/Manifest
+++ b/dev-python/calver/Manifest
@@ -1,3 +1,2 @@
-DIST calver-2022.06.26.gh.tar.gz 7601 BLAKE2B e4bea1dc8954b4f65003cb06dadebfa6a7ad0554d64c23e5339652955d2e4659ffc093b8d11d284e03bc74267059a10043a45dd1eb7717378fb22327d6409428 SHA512 4d436cead8930cae1a71eddef9f0ecd2881f8cb632c3814dc75390b061a909e7ca969a604a5fded1c66647947856d540e2180bd3ce4bed5087b4dbc9d5edb393
DIST calver-2025.04.02.gh.tar.gz 8158 BLAKE2B 4e1fb81d8e8295497ae30d2323799460838db3de10317fd2301113d95574630efee7c3abb32e35a97be21f86aac28cb283e2d13e26ead9d421f3f4ddb4e5ab8a SHA512 7af7a2f844bcfcdacd1a4e985c508b1901a5194c3e21e1f7b7c0f381778ac905dba1276ef7201db6140b08fb57fef8acaf293b270710160871e353e8315c9a02
DIST calver-2025.4.17.tar.gz 8082 BLAKE2B af80804f29bdcafecd65f771da6e5ba7d28b3a47324bc9203984827bc5588ca6222f242cad23d8d67e921141ab5cee3ba00827d88cc85a8817bdcdabbab44b85 SHA512 08e925ce646d1ec64b8992603df5af5c7ff41660ee033c9d4ad7d4a9252493e5578af4cf5e9de40bbc6c17c65e7d37f6b323f8d9821c10e874069f6f16d14ddc
diff --git a/dev-python/calver/calver-2022.06.26.ebuild b/dev-python/calver/calver-2022.06.26.ebuild
deleted file mode 100644
index cb61dcb620bc..000000000000
--- a/dev-python/calver/calver-2022.06.26.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022-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 )
-
-inherit distutils-r1
-
-DESCRIPTION="Setuptools extension for CalVer package versions"
-HOMEPAGE="
- https://github.com/di/calver/
- https://pypi.org/project/calver/
-"
-SRC_URI="
- https://github.com/di/calver/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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"
-
-BDEPEND="
- test? (
- dev-python/pretend[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/certifi/certifi-2025.01.31-r1.ebuild b/dev-python/certifi/certifi-2025.01.31-r1.ebuild
new file mode 100644
index 000000000000..345f02e3f587
--- /dev/null
+++ b/dev-python/certifi/certifi-2025.01.31-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2021-2025 Liguros Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 prefix readme.gentoo-r1
+
+DESCRIPTION="Python package for providing Mozilla's CA Bundle"
+HOMEPAGE="https://pypi.org/project/certifi/"
+SRC_URI="https://github.com/certifi/python-certifi/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="app-misc/ca-certificates"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+S="${WORKDIR}/python-${P}"
+PATCH="$FILESDIR}/${P}-use-system-cacerts.patch"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ eprefixify certifi/core.py
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ local DOC_CONTENTS="
+ In Gentoo, we don't use certifi's bundled CA certificates.
+ Instead we remove bundled cacert.pem and patch certifi
+ to return system's CA certificates.
+ "
+ readme.gentoo_create_doc
+}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 33f8376638b1..ddd860e4f8cf 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,6 +1,3 @@
-DIST cfn_lint-1.31.3.tar.gz 2856311 BLAKE2B 46c7dee3b3a70f59675dd3879604a0860b99b193ce37e11b05f60bb08d1f3e97da7887b8d13be48d5721826ca46f5bdca61945b8d2fc6558d9290eec5257fa64 SHA512 4d63d3d529b292125be9b139ebc73ae75024e61afa0928afd6f73f573aaadd9cb1e359cf4bc61aa245c05de86406b9894bca1519b682248946eff0664bbefeba
DIST cfn_lint-1.32.4.tar.gz 3090585 BLAKE2B 348c0a4326bcd8a7c0c0230d6090774b300192e4a68086ab4a8350ed0b854b750feae0ad55953c1f3a8ccf32990b58078668b76bfbd41ee59bc736bede87f524 SHA512 81545db95bca2f31a41f327e4303e4ec5d398b7b1b25030bb0a8f550ff79591d0e350173234c2a54ae4317180442943bd0c0e4d8327e3163c1f5ff9b92dc5fac
-DIST cfn_lint-1.33.0.tar.gz 3162568 BLAKE2B e2056dc29c6df1b8da62b1ac715ab7360c152ab7287e972f7b65cb2b936332dc07f42dc752089c6e43086fb73ab4ecf9bb2d5706adc4c03dacc84715edbf3ecf SHA512 bf856045ae3a5ce61bb59f50b0d3f445f3ee8e7afef94cc51db807fe02a55e141b83c37750038eb75cc7a9255b2f35c23c57059a8fd955065db4d0a1d52d8379
-DIST cfn_lint-1.33.1.tar.gz 3162624 BLAKE2B 24fb34624a6570a04bcb963061784934215194bf87943572218501b1613ae7b68f3e44a604020ba3f610e99e05f2671ef255e915f59d04cacae198a15d320820 SHA512 7bf79c9c5ceadddbadcb8cdc5b72289fc97ef67629def53f09eaffa4fba42f3c5adf69aa6b8b9844bf0dd6ae6e112226ef649adbdd0c38b6ca2fbd1c7b267743
DIST cfn_lint-1.33.2.tar.gz 3163304 BLAKE2B f61d6a55e1fe2edd3229d6e9281b6267b3231afea43376d0ef2046ed941ef1c910c56e1af05b9eec08c8f0bec87fcddc95757a2433e1c46b2c8863280bebae2a SHA512 d935009da692e5003461d9c9f806733d17de426e0598a33a53470d3ee6c8a194c735b542bd346e9b33d462a71a6043f6ae1f8e9ff55cff3b6b942d2f1f49913c
DIST cfn_lint-1.34.0.tar.gz 3150863 BLAKE2B 83c43e72113cfabc9f3548077fd899dd9f6fd484b9d19d7b10a4a3b1176686715330153d6aaa0d07d681b879f2ce465cfd4da27fdb5104e4f5169ec62b8e6be2 SHA512 89225300054046cbff821d109bddc889b558d3e29d6c6fca619b18083072ebb4ea4e6c0e473b50273b949eab37ae9bf74d08c49610cd0ce39ad40fcbe106f049
diff --git a/dev-python/cfn-lint/cfn-lint-1.31.3.ebuild b/dev-python/cfn-lint/cfn-lint-1.31.3.ebuild
deleted file mode 100644
index 7f7320c9d495..000000000000
--- a/dev-python/cfn-lint/cfn-lint-1.31.3.ebuild
+++ /dev/null
@@ -1,70 +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} )
-
-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.95.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="
- 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=(
- # TODO
- test/unit/module/test_template.py::TestTemplate::test_build_graph
- # requires git repo
- test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
- # Internet
- test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
- test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
- # TODO: it looks as if AWS_DEFAULT_REGION didn't work
- test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
- test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
- test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
- test/unit/module/core/test_run_cli.py::TestCli::test_template_config
- # different graphviz version?
- test/unit/module/template/test_template.py::TestTemplate::test_build_graph
- )
-
- # from tox.ini
- local -x AWS_DEFAULT_REGION=us-east-1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/cfn-lint/cfn-lint-1.33.0.ebuild b/dev-python/cfn-lint/cfn-lint-1.33.0.ebuild
deleted file mode 100644
index 253fbf6c8232..000000000000
--- a/dev-python/cfn-lint/cfn-lint-1.33.0.ebuild
+++ /dev/null
@@ -1,61 +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} )
-
-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.96.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/cfn-lint/cfn-lint-1.33.1.ebuild b/dev-python/cfn-lint/cfn-lint-1.33.1.ebuild
deleted file mode 100644
index 253fbf6c8232..000000000000
--- a/dev-python/cfn-lint/cfn-lint-1.33.1.ebuild
+++ /dev/null
@@ -1,61 +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} )
-
-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.96.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/clang/Manifest b/dev-python/clang/Manifest
index fb1d574da0bd..926078c3d514 100644
--- a/dev-python/clang/Manifest
+++ b/dev-python/clang/Manifest
@@ -11,3 +11,4 @@ DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf
DIST llvm-project-1cf9f764ac41fb3492e10c78640dd50e616388db.tar.gz 230651433 BLAKE2B b71d459de99a741f9eb5809fcb44e6d9a17d3295bf11755d2b04a83fff6257eb4e5856826581c000e3b2868ff1cfb155ee18c692654f8083af04574d414c8fa2 SHA512 5b8d1e493830b7838b3ca76148dfc2e2af1cbaa660bd80958777698210c3347a1308f0725d40b10f8f12877daf99c4ba4837e4fa857a781ae912ee167369bafd
DIST llvm-project-20.1.3.src.tar.xz 147212776 BLAKE2B c738abb66dc82580a8f511829bcf87dd8deb8381bd073cd547e4eb02097c0190fa06488e5500cefce95953315432ee6ae3c103c491d08eca4b019e043691fc12 SHA512 79d6cfd10075ec9d05b9a359c09579e07a2caff9167518519457daee3e37a818100da6712804916880797ecb0b4891b18dc52a03b534e1b9d1d4bb5ba8d5ad1e
DIST llvm-project-20.1.3.src.tar.xz.sig 566 BLAKE2B 1b584b61f773013f3964dbd0ee026c00e702cfe758acdacc7bffb6793c42eea638cc812bd1a3cddf210a9ad7d98f707d4f1e748d360b66427fded79f24d8610b SHA512 4fd3815cd94113234e66083f955993a95c888cbb89d5baf611b76765511e102af9f1e880cbacc709f0be8785abd5abbfb0ce391793308dfec3c248a9b348e492
+DIST llvm-project-ac8fc09688e10e983b99224b5dc5cbbeeedb1879.tar.gz 231567089 BLAKE2B f7878f114c908b21d179854bc693716b34b963612c6b5172789a37cd21fa316720d4e9498bc7679058db3e822ed240bfdafd85bfd00154914d747d0c0ed1cb48 SHA512 4c39db8b22fa087ca96c3b4541ec77ba8a826a126b4e93b0650e59b3622b22b329f60fa3780dd4572fdece409fd5833eda473046d7547f6ee3ac8aadb8f2fc34
diff --git a/dev-python/clang/clang-21.0.0_pre20250420.ebuild b/dev-python/clang/clang-21.0.0_pre20250420.ebuild
new file mode 100644
index 000000000000..a99c5601e047
--- /dev/null
+++ b/dev-python/clang/clang-21.0.0_pre20250420.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for llvm-core/clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+DEPEND="
+ >=llvm-core/clang-${PV}:*
+ !llvm-core/llvm:0[clang(-),python(-)]
+ !llvm-core/clang:0[python(-)]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ llvm-core/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/bindings/python )
+llvm.org_set_globals
+
+python_test() {
+ # tests rely on results from a specific clang version, so override
+ # the search path
+ local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
+ local -x CLANG_NO_DEFAULT_CONFIG=1
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/cython/Manifest b/dev-python/cython/Manifest
index 08380f5685aa..78e39a3ba5fc 100644
--- a/dev-python/cython/Manifest
+++ b/dev-python/cython/Manifest
@@ -1,3 +1,2 @@
-DIST cython-3.0.12.gh.tar.gz 2777066 BLAKE2B 3e2730b7b0ef90ba6a7d4a510dbaa24b7c966d68c397196727b6d63b435c6775aa818a7d1b741819a7940ad44cadbc83be4aa48117b2dcf7bd844f4c9bc268bc SHA512 bbf2cc662b846cf5ff9b686046ec210ea9d3893482e2b5a2696d2ad44f12facd15075b168a3eb6d1f4ea799786f676868eab2593451bceb2937aec2cb1aea99e
DIST cython-3.0.12.tar.gz 2757617 BLAKE2B 064549e36e03424065eab081b60e2761d198490cfd4d7836ea236b833ada3962e6ed42ba1710b33418f8a31ac282cdc156ceb544ee21be80ee34b7a3d3f6c7fb SHA512 c4e85596eeea444fae983d32ce8731cc5d0d612d1f96b998db3aa7946e8be151a7ea62c6df163d875111e306c870656b82a8468dd873cacf84c7bd5671a39bc3
DIST cython-3.1.0b1.tar.gz 3192916 BLAKE2B 13a8fa48319d9c4c8cc634d3cf5af599b867466d5de4cf3a24dd342b7812a392e854d9a6152309c6ef84a2925ebfa2257792d0f4e0c8fa36580d7138a663105a SHA512 ced9d57536d3bacd274b5edc4137d400a6182b4b7a89a28cf358f843dcbb0e0e7171fb0842441a81e1d2ac12acb6fd6a3df7018fe2a8708cb188a96cb184d799
diff --git a/dev-python/cython/cython-3.0.12.ebuild b/dev-python/cython/cython-3.0.12.ebuild
deleted file mode 100644
index e31a3ccfc6a5..000000000000
--- a/dev-python/cython/cython-3.0.12.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{9,10,11,12,13} )
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 multiprocessing toolchain-funcs
-
-MY_P=${P/_rc/rc}
-DESCRIPTION="A Python to C compiler"
-HOMEPAGE="
- https://cython.org/
- https://github.com/cython/cython/
- https://pypi.org/project/Cython/
-"
-SRC_URI="
- https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-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-test_exceptions-py310.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-guardian/django-guardian-2.4.0.ebuild b/dev-python/django-guardian/django-guardian-2.4.0.ebuild
index 9e517362b331..03d331ee74dc 100644
--- a/dev-python/django-guardian/django-guardian-2.4.0.ebuild
+++ b/dev-python/django-guardian/django-guardian-2.4.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Liguros Authors
+# Copyright 2023-2025 Liguros Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/django-rest-framework-guardian2/Manifest b/dev-python/django-rest-framework-guardian2/Manifest
index 771e85729d43..bcc0e79aa633 100644
--- a/dev-python/django-rest-framework-guardian2/Manifest
+++ b/dev-python/django-rest-framework-guardian2/Manifest
@@ -1 +1,2 @@
DIST django-rest-framework-guardian2-0.5.0.gh.tar.gz 9187 BLAKE2B 2a66c894ece4eb9ed3d39f764ce6f0d7522ac9c136d5c31367eeeeb275804d7094eed8a8e2b94e574efb8d16ec7793c43327c44471550acf6722a4210246fd7e SHA512 b34d8d02cd1181e4800e0125a7e41dd2a45b25cb15255921906e336fdaa0334c7ade89e57b918be778274054b6dc2d3297f8660dbc2ca9b65c2b2214d0e14386
+DIST django-rest-framework-guardian2-0.7.0.gh.tar.gz 9253 BLAKE2B c78834bbc6e8381d95188c336c97942c8d32c132854a43445de838747cdb5e6e0ed1be2e9ac87d452149ab2304d5814afda44afe9132ef04f528f11d09deac50 SHA512 9687927329b2a20f121b956b11c4f3baf007b48383abb69783ead67e9ab8be071e2e8521725ebbc7cc6199a49472eff76a3caa9cb7e10cd123958ca655da098b
diff --git a/dev-python/django-rest-framework-guardian2/django-rest-framework-guardian2-0.5.0.ebuild b/dev-python/django-rest-framework-guardian2/django-rest-framework-guardian2-0.5.0.ebuild
index e27c0a7227e5..71eda26360df 100644
--- a/dev-python/django-rest-framework-guardian2/django-rest-framework-guardian2-0.5.0.ebuild
+++ b/dev-python/django-rest-framework-guardian2/django-rest-framework-guardian2-0.5.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Liguros Authors
+# Copyright 2023-2025 Liguros Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/django-rest-framework-guardian2/django-rest-framework-guardian2-0.7.0.ebuild b/dev-python/django-rest-framework-guardian2/django-rest-framework-guardian2-0.7.0.ebuild
new file mode 100644
index 000000000000..71eda26360df
--- /dev/null
+++ b/dev-python/django-rest-framework-guardian2/django-rest-framework-guardian2-0.7.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2025 Liguros 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="A Django application to retrieve user's IP address"
+HOMEPAGE="
+ https://github.com/johnthagen/django-rest-framework-guardian2
+ https://pypi.org/project/djangorestframework-guardian2/
+"
+SRC_URI="https://github.com/johnthagen/django-rest-framework-guardian2/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND=">=dev-python/django-1.11[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${EPYTHON}" tests/manage.py test -v2 myapp || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index 34b69ea92dd4..64f0ce239123 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -1,2 +1,3 @@
DIST setuptools-75.8.2-py3-none-any.whl 1229385 BLAKE2B e2890604e9acbf23aefc94ee99927bafdc189e45c84b0e4e0b48737d120ba60590438603195e180988b26e3e8fb378812507e2a0b513bf886c3b1eb673853da5 SHA512 083447a6bd375ca99e017ec4c5e3083ee4eee32b65d911b4d5ccadfa587ec213d43562d21d0f238753cc5c54354027b8425880d7248fbbd170b0c006613f4327
DIST setuptools-78.1.0-py3-none-any.whl 1256108 BLAKE2B 3bc6328e3ca2f98df327054c308560c48849ea3374017e72111471f4d7394bb6200d181e9ce7bc5cc2732ca365ade8e7ac79a8b1bfae1a18d0364c5dea4aa151 SHA512 89b1ba752d6b1cf7820ad0ef37ad42a6614e9b88438c63264eee09f94439608e53a51bf5ff8ce9f898300d6d628a7ed582004e6a483d774f4ec285f95e23752e
+DIST setuptools-78.1.1-py3-none-any.whl 1256462 BLAKE2B 1bde151681e2e20f7c1d06de5798f0891a602cb095914ba65b8a1aa24ac913ed46e571d72d9109abdeb493c50e56a642d33a67d1cd9a23e614708d72c721b29d SHA512 b599dec0591a7a5eb65c7d6fc0d96d56b0b004cb7e592837fbd80b5949e6a71009c1a376f32393634974974199fb8243e183061b9e0b9c8ee00af7c8d2a09b75
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-78.1.1.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-78.1.1.ebuild
new file mode 100644
index 000000000000..b76c3f6972d8
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-78.1.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/setuptools/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="MIT"
+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"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/fakeredis/Manifest b/dev-python/fakeredis/Manifest
index ffceef891559..67f874763436 100644
--- a/dev-python/fakeredis/Manifest
+++ b/dev-python/fakeredis/Manifest
@@ -1,3 +1 @@
-DIST fakeredis-2.27.0.tar.gz 157510 BLAKE2B aa427ce2bc0880aeea6fcb063cb98ff60caf600cae8b21c902a1d9193dd14d7a5f0daa7a3114c92d8eedeef84c936dba326c68e054a6c1dd775209d9055a88f3 SHA512 2fd33ca8e0a95e381cef5794beb009a20c9cf21c03954e86c56e634f00ea959615dc6021265f76c14236f219ee1bf606fbd43d46ab1db5dc3426b1c610020728
-DIST fakeredis-2.28.0.tar.gz 160940 BLAKE2B 211c86d37f3d0ee2d0afd82bd4e00814cce6ff4fd4580810d3606732d41755521edd4c0447cb4e6912313d141346675e4b8649caec864592e79001549e9220b4 SHA512 5ef685ae964d4687054ecc5fa46dc02709730c0152b38b09382f62a3f0793d3930e4454acbe1d819601247cbb514750360730878013df4b1b96cb78c50195b42
DIST fakeredis-2.28.1.tar.gz 161179 BLAKE2B 6d3699153209c04ad0befceea95a0dbbaf44a97c33aab94424dd4c1904d2813760f1d9efdc41ecc43e3b686b07e19c319918623c7aaa385cb777b6b861969492 SHA512 b48ada482c48965ed6547960e6f806d448200ea88ef2c3ff56463acd13ac9a2223465a1d5e6e8d136cafe9d84e1e4ebcd5d5d9ae34dcc44c4a05e87005b34b8e
diff --git a/dev-python/fakeredis/fakeredis-2.27.0.ebuild b/dev-python/fakeredis/fakeredis-2.27.0.ebuild
deleted file mode 100644
index bcc3e1dcdde5..000000000000
--- a/dev-python/fakeredis/fakeredis-2.27.0.ebuild
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright 2020-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Fake implementation of redis API for testing purposes"
-HOMEPAGE="
- https://github.com/cunla/fakeredis-py/
- https://pypi.org/project/fakeredis/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/redis-4.3[${PYTHON_USEDEP}]
- <dev-python/sortedcontainers-3[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- # https://github.com/cunla/fakeredis-py/pull/363
- "${FILESDIR}/${P}-pypy.patch"
- )
-
- distutils-r1_src_prepare
-
- # https://github.com/cunla/fakeredis-py/issues/320
- sed -i -e '/LICENSE/d' pyproject.toml || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # also lupa
- test/test_aioredis2.py::test_failed_script_error
- # TODO
- "test/test_fakeredis.py::test_set_get_nx[StrictRedis]"
- "test/test_fakeredis.py::test_lpop_count[StrictRedis]"
- "test/test_fakeredis.py::test_rpop_count[StrictRedis]"
- "test/test_fakeredis.py::test_zadd_minus_zero[StrictRedis]"
- "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis]"
- test/test_mixins/test_set_commands.py::test_smismember_wrong_type
- # new redis-server?
- "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis]"
- # json ext
- test/test_json/test_json.py
- test/test_json/test_json_arr_commands.py
- # tdigest ext?
- 'test/test_mixins/test_server_commands.py::test_command[FakeStrictRedis]'
- # hexpire ext?
- 'test/test_mixins/test_acl_commands.py::test_acl_cat[StrictRedis]'
- )
- local EPYTEST_IGNORE=(
- # these tests fail a lot...
- test/test_hypothesis.py
- )
- local args=(
- # tests requiring lupa (lua support)
- -k 'not test_eval and not test_lua and not test_script'
- )
- # Note: this package is not xdist-friendly
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p asyncio -p pytest_mock "${args[@]}"
-}
-
-src_test() {
- local redis_pid="${T}"/redis.pid
- local redis_port=6390
-
- einfo "Spawning Redis"
- einfo "NOTE: Port ${redis_port} must be free"
- "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1
- EOF
-
- # Run the tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${redis_pid}")" || die
-}
diff --git a/dev-python/fakeredis/fakeredis-2.28.0.ebuild b/dev-python/fakeredis/fakeredis-2.28.0.ebuild
deleted file mode 100644
index 1f96b776e646..000000000000
--- a/dev-python/fakeredis/fakeredis-2.28.0.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 2020-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Fake implementation of redis API for testing purposes"
-HOMEPAGE="
- https://github.com/cunla/fakeredis-py/
- https://pypi.org/project/fakeredis/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/redis-4.3[${PYTHON_USEDEP}]
- <dev-python/sortedcontainers-3[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # also lupa
- test/test_aioredis2.py::test_failed_script_error
- # TODO
- "test/test_fakeredis.py::test_set_get_nx[StrictRedis]"
- "test/test_fakeredis.py::test_lpop_count[StrictRedis]"
- "test/test_fakeredis.py::test_rpop_count[StrictRedis]"
- "test/test_fakeredis.py::test_zadd_minus_zero[StrictRedis]"
- "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis]"
- test/test_mixins/test_set_commands.py::test_smismember_wrong_type
- # new redis-server?
- "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis]"
- # json ext
- test/test_json/test_json.py
- test/test_json/test_json_arr_commands.py
- # tdigest ext?
- 'test/test_mixins/test_server_commands.py::test_command[FakeStrictRedis]'
- # hexpire ext?
- 'test/test_mixins/test_acl_commands.py::test_acl_cat[StrictRedis]'
- )
- local EPYTEST_IGNORE=(
- # these tests fail a lot...
- test/test_hypothesis.py
- )
- local args=(
- # tests requiring lupa (lua support)
- -k 'not test_eval and not test_lua and not test_script'
- )
- # Note: this package is not xdist-friendly
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p asyncio -p pytest_mock "${args[@]}"
-}
-
-src_test() {
- local redis_pid="${T}"/redis.pid
- local redis_port=6390
-
- einfo "Spawning Redis"
- einfo "NOTE: Port ${redis_port} must be free"
- "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1
- EOF
-
- # Run the tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${redis_pid}")" || die
-}
diff --git a/dev-python/fakeredis/files/fakeredis-2.27.0-pypy.patch b/dev-python/fakeredis/files/fakeredis-2.27.0-pypy.patch
deleted file mode 100644
index 72871a55f59f..000000000000
--- a/dev-python/fakeredis/files/fakeredis-2.27.0-pypy.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 61fef9d6c144f34654bfaa596678696b0d78d229 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 9 Mar 2025 15:36:45 +0100
-Subject: [PATCH] fix: Fix `test_tcp_server_started` to close the connection
-
-Fix `test_tcp_server_started` to use a context manager, in order to
-close the connection to the `TcpFakeServer` when done. Otherwise,
-the test relies on GC closing the connection in order for the server
-thread to finish -- which does not happen with PyPy, and causes `pytest`
-to hang after running the test suite.
----
- test/test_tcp_server/test_connectivity.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/test/test_tcp_server/test_connectivity.py b/test/test_tcp_server/test_connectivity.py
-index 414ed58..9a1f6f1 100644
---- a/test/test_tcp_server/test_connectivity.py
-+++ b/test/test_tcp_server/test_connectivity.py
-@@ -17,7 +17,7 @@ def test_tcp_server_started():
- t = Thread(target=server.serve_forever, daemon=True)
- t.start()
- time.sleep(0.1)
-- r = redis.Redis(host=server_address[0], port=server_address[1])
-- r.set("foo", "bar")
-- assert r.get("foo") == b"bar"
-+ with redis.Redis(host=server_address[0], port=server_address[1]) as r:
-+ r.set("foo", "bar")
-+ assert r.get("foo") == b"bar"
- server.shutdown()
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index fae310f6c879..e70e75cfa40b 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,9 +1,4 @@
-DIST hypothesis-6.129.4.gh.tar.gz 9528147 BLAKE2B c85806af24ddd934338f99c9d62a577fb35c8809d71ddf23aea0d613f33e690c70662279e88f4680d48c0c3b51fa10ff99c29fde7cf2d3c094cfaa0aa65b7612 SHA512 aec846f34e3a66da8a79929da681bd41ac7deb4a83934a51ee69bf989ddb8f3f7bd8f612571e625d3334cf786e3841b4e4d05fe4368e930e5975077e0f027a7d
-DIST hypothesis-6.130.10.gh.tar.gz 9540669 BLAKE2B 778cbdefdb84c8e86598926aca720efebfab5cafd08a421e1cde40341002088191e450f33c62e73a32eea47fe26791e96586416620592d2ee5cd359f478e92c9 SHA512 0534355ffdb03b8efaaf196dd3fc909cb6df113b0170710aa1e441bedcd772ae55b1e3d60596b45edc2f150871e54494fbbeccbd21e9c2416bdcb39c4fea2162
-DIST hypothesis-6.130.12.gh.tar.gz 9543942 BLAKE2B 27c4bef0f68ee434ce81582b86441138be1cc7b7c39e56bbd64914a3bc2754a9f997e7d3a86b6187e2d46defa7dd4de21f7eb7a0ea8a5a0f1a71338a4e73ba0e SHA512 ee766ab5d3864384ae8d31a835f3eb742f2573031246791d9260a49d6fa6c27be247bdef4595b6f9f5561c4e5e057f097bfaae8d301c2267b53302e0df0a3433
DIST hypothesis-6.130.13.gh.tar.gz 9544282 BLAKE2B 9a74af5cab1562b5eb2fc00fe1ea67471171ac1ecf71ef01e51082b6e3469c7a9b1de7e56119a4517b8f6c45be5efbc5461dcd258ab80c246e07df7c58dbf9c2 SHA512 25dbde677bf8b2e727999c39083f6746c9431e22326034c50ed723b51a3d7678a62dce648fcfd16802808f2034ad7cb74fe0b98fe50519b505a5b05412afa17a
DIST hypothesis-6.130.8.gh.tar.gz 9538996 BLAKE2B 7f2779a69fbb1301cf7cdf0b414aff28e60cb2efb4d2451f2962cda1c048401d1e532e205c993691e1b2aa0f71af1a67274f40dd03a449db4f62de01c22c9dd8 SHA512 85df9ed0477d37b9fb96ada20aa41b8b65b27496fb0a4cfb44ebbab94d6859bc2767e8529f76b53e6f28cc122eea8529784a97b4e4b1803004072e317ecee00f
DIST hypothesis-6.130.9.gh.tar.gz 9540297 BLAKE2B f1739aa493baf7c908064b6450f601576b5e71ad254bf3b45cb2cdcf6b34f98f647beef5ed939e099c33e60cfe5ffc8b1b13b85ac115361e3a19c34ca30fef04 SHA512 11ac4ae33a53d622eaebdf6106b13d51141a57140c268d465d202650ae79925777fbebde828188b2ba1ba87f6e062f8d014131eef5b0d2315a327a9dcea7d30c
-DIST hypothesis-6.131.0.gh.tar.gz 9544526 BLAKE2B 8500bdcac754b34fcd7134ff8119fd90dfe29c2087b0900f20e4a303fb88843bf6c5aba1140c52e494af2cfa93424915152bb6a9d752fab437afce7bdf94eff6 SHA512 472b75cdd05e43115c750a0ec3cf025b3bac11c3de6fbdbe46c46efec93a0e3aa254f219ea0a9643652f9452d687c5ee317c145be88375cb72a29241aec823c9
-DIST hypothesis-6.131.2.gh.tar.gz 9546087 BLAKE2B b400ceb3570a54a30d65f2fdb4a88ce15297f09ecb6fd9d669c6eb6fa4b4bf0dc4545267f64ed48b2e81eb82ebfcd92461221bcf5d32028eb138f546715c3df7 SHA512 5f18d421c9070a0c9762615266cb12e1acfa8257c81af6aeace7790a03b1b20c27e588fdc87d9ca4faa467735f11e2092cb91cfad96a5df8209329f40f9ecea3
DIST hypothesis-6.131.6.gh.tar.gz 9548735 BLAKE2B 7407cb5f3236d4c06fa5fc663473a8a30073f780b5bdc96dd7d165018ff8b53de7cc0b190405eb8e2e815b3885357badeb85b52d7f5fe5d9d03ed851707f8960 SHA512 998314163d4d1c212dd54379b728ac85a6d4a3ea3c70086e48eb882b6949b08520f787425d7b718a038f0e9eb3129d487070c948df6d636f0e19643d7ef5b656
diff --git a/dev-python/hypothesis/hypothesis-6.129.4.ebuild b/dev-python/hypothesis/hypothesis-6.129.4.ebuild
deleted file mode 100644
index c928f9a78d25..000000000000
--- a/dev-python/hypothesis/hypothesis-6.129.4.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# 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.13)
- 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/hypothesis/hypothesis-6.130.10.ebuild b/dev-python/hypothesis/hypothesis-6.130.10.ebuild
deleted file mode 100644
index 08befcf116e3..000000000000
--- a/dev-python/hypothesis/hypothesis-6.130.10.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# 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.13)
- 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/hypothesis/hypothesis-6.130.12.ebuild b/dev-python/hypothesis/hypothesis-6.130.12.ebuild
deleted file mode 100644
index ba7cfa420917..000000000000
--- a/dev-python/hypothesis/hypothesis-6.130.12.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# 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.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/hypothesis/hypothesis-6.131.0.ebuild b/dev-python/hypothesis/hypothesis-6.131.0.ebuild
deleted file mode 100644
index ba7cfa420917..000000000000
--- a/dev-python/hypothesis/hypothesis-6.131.0.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# 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.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/hypothesis/hypothesis-6.131.2.ebuild b/dev-python/hypothesis/hypothesis-6.131.2.ebuild
deleted file mode 100644
index 377138685f65..000000000000
--- a/dev-python/hypothesis/hypothesis-6.131.2.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# 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/identify/Manifest b/dev-python/identify/Manifest
index 09e8df28b051..1edd75cf2635 100644
--- a/dev-python/identify/Manifest
+++ b/dev-python/identify/Manifest
@@ -1 +1,2 @@
+DIST identify-2.6.10.gh.tar.gz 101914 BLAKE2B a4b4db9ea573cfd11762714ed4fe40d64be6ce812d2eabe227ef60a0583176b0efd52261c6d60b02fa9d7f7288be35366fd887f7f41e225c64b77b68580fd7f2 SHA512 97620cf3ffbf96ee167adf0ffe30c91fff902c64898ad5c733b441e96575172cfeae29e37602db9f7de80ad8a3dd08e8d4389a6b1ec5a9c14873a13e9f9b4a72
DIST identify-2.6.8.gh.tar.gz 101927 BLAKE2B 27ca9c41dade2bfb0710fa92936ec1a478bdad4e2a94af1b5df98234aeb4666758cc47820e199dfefe9274c8439240a1722880dce44a7d78c79bf010daf5fee3 SHA512 3d30615719b7770fc9eebf790ffb01cefbe71832bbc48be7052ce1f2c636bca5808e9b257e16145669dadb06e21a517802ee3bd99bb646a2f2f2ad3da00682af
diff --git a/dev-python/identify/identify-2.6.10.ebuild b/dev-python/identify/identify-2.6.10.ebuild
new file mode 100644
index 000000000000..0507ba92554f
--- /dev/null
+++ b/dev-python/identify/identify-2.6.10.ebuild
@@ -0,0 +1,29 @@
+# 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="File identification library for Python"
+HOMEPAGE="
+ https://github.com/pre-commit/identify/
+ https://pypi.org/project/identify/
+"
+SRC_URI="
+ https://github.com/pre-commit/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/ukkonen[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index fb1d574da0bd..926078c3d514 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -11,3 +11,4 @@ DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf
DIST llvm-project-1cf9f764ac41fb3492e10c78640dd50e616388db.tar.gz 230651433 BLAKE2B b71d459de99a741f9eb5809fcb44e6d9a17d3295bf11755d2b04a83fff6257eb4e5856826581c000e3b2868ff1cfb155ee18c692654f8083af04574d414c8fa2 SHA512 5b8d1e493830b7838b3ca76148dfc2e2af1cbaa660bd80958777698210c3347a1308f0725d40b10f8f12877daf99c4ba4837e4fa857a781ae912ee167369bafd
DIST llvm-project-20.1.3.src.tar.xz 147212776 BLAKE2B c738abb66dc82580a8f511829bcf87dd8deb8381bd073cd547e4eb02097c0190fa06488e5500cefce95953315432ee6ae3c103c491d08eca4b019e043691fc12 SHA512 79d6cfd10075ec9d05b9a359c09579e07a2caff9167518519457daee3e37a818100da6712804916880797ecb0b4891b18dc52a03b534e1b9d1d4bb5ba8d5ad1e
DIST llvm-project-20.1.3.src.tar.xz.sig 566 BLAKE2B 1b584b61f773013f3964dbd0ee026c00e702cfe758acdacc7bffb6793c42eea638cc812bd1a3cddf210a9ad7d98f707d4f1e748d360b66427fded79f24d8610b SHA512 4fd3815cd94113234e66083f955993a95c888cbb89d5baf611b76765511e102af9f1e880cbacc709f0be8785abd5abbfb0ce391793308dfec3c248a9b348e492
+DIST llvm-project-ac8fc09688e10e983b99224b5dc5cbbeeedb1879.tar.gz 231567089 BLAKE2B f7878f114c908b21d179854bc693716b34b963612c6b5172789a37cd21fa316720d4e9498bc7679058db3e822ed240bfdafd85bfd00154914d747d0c0ed1cb48 SHA512 4c39db8b22fa087ca96c3b4541ec77ba8a826a126b4e93b0650e59b3622b22b329f60fa3780dd4572fdece409fd5833eda473046d7547f6ee3ac8aadb8f2fc34
diff --git a/dev-python/lit/lit-21.0.0_pre20250420.ebuild b/dev-python/lit/lit-21.0.0_pre20250420.ebuild
new file mode 100644
index 000000000000..4230fa63b2a4
--- /dev/null
+++ b/dev-python/lit/lit-21.0.0_pre20250420.ebuild
@@ -0,0 +1,45 @@
+# 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 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ llvm-core/llvm
+ )
+"
+
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+# TODO: move the manpage generation here (from llvm-core/llvm)
+
+src_prepare() {
+ # flaky test
+ # https://github.com/llvm/llvm-project/issues/72022
+ rm tests/progress-bar.py || die
+
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest
index 8b1ee390a74e..e164bf2ebaf0 100644
--- a/dev-python/numpy/Manifest
+++ b/dev-python/numpy/Manifest
@@ -4,3 +4,4 @@ DIST numpy-2.1.3.tar.gz 20166090 BLAKE2B 746d343b17039d58738358168a613a2b85d6fb9
DIST numpy-2.2.2.tar.gz 20233295 BLAKE2B 5b95ae4ff511468e55c0367066e9d4b8939fd1da2dd7ce39e5c7cb5897789599ba622c3c7ad53e787903042c1fcfd6225205f0da3d54110410b635e4179f9941 SHA512 f30c400b0a0296ac7990bfe143d4e01e9429e14a09f0525843c6f8e29d2e589289774e4c803fc9de640bf920749dcb3e50663da812b3541f4dc1b7046ab27b40
DIST numpy-2.2.3.tar.gz 20262700 BLAKE2B 9e165ea70a49dfd4f361438575433b4cec9d202282408f1710cb1b16316c34ba59964d9665d782689cf129dc49a314fd2958b37cbd3587121e0530ca6ba658d1 SHA512 78c876d8ecc13aa0f802460f6c1462b53162dfdf85c658e32f1cf9823eeef829b6f1af8285a6c0c75719f5a2e05ff8b987dab88a416df6a8371c16fd032f5e6a
DIST numpy-2.2.4.tar.gz 20270701 BLAKE2B 608ec0002af890cee76c0d09d1c96ea320c297f8dcb11dc186c1ad7e5b1ab3e8f0023bc14a508ecc97baf74cb388e067824abaf1a6a22e362b34ab4625e07fe8 SHA512 7500cb7a336c2e7762a87d902fecc7153cd991f05a638e1b6740598c044abe3b49d06819b66fa29d99644b3a4efc281fda726795f751ba8c65191f61e7d0d511
+DIST numpy-2.2.5.tar.gz 20273920 BLAKE2B c2978e49350fd96969149dd723ca28b9ad643c7fa33f99f25565c571e916c9c1be6e46fe9a8955cd154e2a0ce5b110500ad6df6e8cc9499560d7e8de9dc25227 SHA512 3cc8a8876d659c9c740558c0814795464e44865376efa62cecf8a1265a44774ecb58dd7827c34bfd37675215d08cd66de249663e6e7ae57cd929749e4829ccdf
diff --git a/dev-python/numpy/numpy-2.2.5.ebuild b/dev-python/numpy/numpy-2.2.5.ebuild
new file mode 100644
index 000000000000..c8cdcd529222
--- /dev/null
+++ b/dev-python/numpy/numpy-2.2.5.ebuild
@@ -0,0 +1,196 @@
+# 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_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 flag-o-matic fortran-2 pypi
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="
+ https://numpy.org/
+ https://github.com/numpy/numpy/
+ https://pypi.org/project/numpy/
+"
+
+LICENSE="BSD"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# +lapack because the internal fallbacks are pretty slow. Building without blas
+# is barely supported anyway, see bug #914358.
+IUSE="big-endian +lapack"
+
+RDEPEND="
+ lapack? (
+ >=virtual/cblas-3.8
+ >=virtual/lapack-3.8
+ )
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-build/meson-1.1.0
+ >=dev-python/cython-3.0.6[${PYTHON_USEDEP}]
+ lapack? (
+ virtual/pkgconfig
+ )
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ )
+"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # https://bugs.gentoo.org/925367
+ vrndq_f32
+)
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # bug #922457
+ filter-lto
+ # https://github.com/numpy/numpy/issues/25004
+ append-flags -fno-strict-aliasing
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ -Dallow-noblas=$(usex !lapack true false)
+ -Dblas=$(usev lapack cblas)
+ -Dlapack=$(usev lapack lapack)
+ # TODO: cpu-* options
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Very disk-and-memory-hungry
+ numpy/lib/tests/test_io.py::TestSaveTxt::test_large_zip
+ numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_fid
+ numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
+
+ # Precision problems
+ numpy/_core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
+
+ # Runs the whole test suite recursively, that's just crazy
+ numpy/core/tests/test_mem_policy.py::test_new_policy
+
+ numpy/typing/tests/test_typing.py
+ # Uses huge amount of memory
+ numpy/core/tests/test_mem_overlap.py
+ )
+
+ if [[ $(uname -m) == armv8l ]]; then
+ # Degenerate case of arm32 chroot on arm64, bug #774108
+ EPYTEST_DESELECT+=(
+ numpy/_core/tests/test_cpu_features.py::Test_ARM_Features::test_features
+ )
+ fi
+
+ case ${ARCH} in
+ arm)
+ EPYTEST_DESELECT+=(
+ # TODO: warnings
+ numpy/_core/tests/test_umath.py::TestSpecialFloats::test_unary_spurious_fpexception
+
+ # TODO
+ numpy/_core/tests/test_function_base.py::TestLinspace::test_denormal_numbers
+ numpy/f2py/tests/test_kind.py::TestKind::test_real
+ numpy/f2py/tests/test_kind.py::TestKind::test_quad_precision
+
+ # require too much memory
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]'
+ )
+ ;;
+ hppa)
+ EPYTEST_DESELECT+=(
+ # https://bugs.gentoo.org/942689
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[int]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[float]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[datetime64]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[timedelta64]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[<f]"
+ "numpy/_core/tests/test_dtype.py::TestPickling::test_pickle_dtype[dt28]"
+ numpy/f2py/tests/test_kind.py::TestKind::test_real
+ numpy/f2py/tests/test_kind.py::TestKind::test_quad_precision
+ numpy/tests/test_ctypeslib.py::TestAsArray::test_reference_cycles
+ numpy/tests/test_ctypeslib.py::TestAsArray::test_segmentation_fault
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_scalar
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_subarray
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_structure
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_structure_aligned
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_union
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_padded_union
+ )
+ ;;
+ ppc|x86)
+ EPYTEST_DESELECT+=(
+ # require too much memory
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]'
+ )
+ ;;
+ esac
+
+ if [[ ${CHOST} == powerpc64le-* ]]; then
+ EPYTEST_DESELECT+=(
+ # long double thingy
+ numpy/_core/tests/test_scalarprint.py::TestRealScalars::test_ppc64_ibm_double_double128
+ )
+ fi
+
+ if use big-endian; then
+ EPYTEST_DESELECT+=(
+ # ppc64 and sparc
+ numpy/linalg/tests/test_linalg.py::TestDet::test_generalized_sq_cases
+ numpy/linalg/tests/test_linalg.py::TestDet::test_sq_cases
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]"
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]"
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]"
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]"
+ )
+ fi
+
+ if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
+ # depends on importing numpy.random from system namespace
+ EPYTEST_DESELECT+=(
+ 'numpy/random/tests/test_extending.py::test_cython'
+ )
+ fi
+
+ if has_version ">=dev-python/setuptools-74[${PYTHON_USEDEP}]"; then
+ # msvccompiler removal
+ EPYTEST_DESELECT+=(
+ numpy/tests/test_public_api.py::test_all_modules_are_expected_2
+ numpy/tests/test_public_api.py::test_api_importable
+ )
+ EPYTEST_IGNORE+=(
+ numpy/distutils/tests/test_mingw32ccompiler.py
+ numpy/distutils/tests/test_system_info.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest -p rerunfailures --reruns=5
+}
+
+python_install_all() {
+ local DOCS=( LICENSE.txt README.md THANKS.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/packaging/Manifest b/dev-python/packaging/Manifest
index 4875711a0986..e17cbd33ec89 100644
--- a/dev-python/packaging/Manifest
+++ b/dev-python/packaging/Manifest
@@ -1,4 +1,2 @@
-DIST packaging-23.2.tar.gz 146714 BLAKE2B cf7986a07312fd82a2a0ee738088993b9570d95cd0b573afa7a1f911bf335de7084e3d40d961adea7f5a8369738688f9d0a4265ef26a393f2d30769bc13f752a SHA512 8ab5e9bc4feef2fac1c9044dc8a6f2d41aaf9fe2dae671de8b98c0b1a19dca2169588b87d85a8c990d808b1e76faee65984ce970eaa3282b75e107ca82cc2863
-DIST packaging-24.0.tar.gz 147882 BLAKE2B 32c5f30623d39890376e9f5bb3d80ef4a5bd2291ae906883d28236c0d095628eb5d379e5bfb503d6d06fcea0aefc0b2beb1a7968d3ec8c543c48572b432438f3 SHA512 b6af704f93bcb7611a06eb2bfa94d8dc4bb1e5e9898af7c0eb85e67cf1ebdb858e272ca18019be4daaa43ac3f73b1cb2e690d8b50a4252380a2dc9f2d0e03a58
-DIST packaging-24.1.tar.gz 148788 BLAKE2B 0098e4589eaf1f43ee54e678d1661a9b6c07cfd49c2056359e65667f1e5136f1c9a132d2c5312e7d11c21510b584d0c8ca702d4319bc9215bdec231f29bf2c69 SHA512 fba8b94c1798c380c6af2c7fe211137fcc5669b1af3b0de52d6bcba05907f5bc74693df740677213d6c230e8d2db48ab9c4b8309752813c25cee87f1622fd4ab
DIST packaging-24.2.tar.gz 163950 BLAKE2B 8610f22a05a71a38bafe5e7ae12c549a4395f751585ab2056eb5ca1c76db3d4bc9dc452eafac4209a87e8ef54577c35529873fa25b8a43b454164298c203aae7 SHA512 4d79d9c49c59255e9eb12cb1452ff9ee413a6a6f34a23c487d3d5712ddabe067f8c6dafe0c8111517682634deac2fd5db1346e3c0cc9f432eba94491aa459553
+DIST packaging-25.0.tar.gz 165727 BLAKE2B ad665526339ccc63bbca1e21649f773e626b13f984f0800c6362d5642e8de701d88f7793015bc406f3dc39fa6ce2784f099f925b08d7b5c1d3614d390470080c SHA512 0672602d2e18c3aee71b3e567b0de572bc8613ee3d24a79a655ded23ac08ec4582193225bc0c0ea390ed81cf5efbb46e8afbe0798d14f2235f811f263c25728c
diff --git a/dev-python/packaging/packaging-24.0.ebuild b/dev-python/packaging/packaging-24.0.ebuild
deleted file mode 100644
index db778fc50064..000000000000
--- a/dev-python/packaging/packaging-24.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Core utilities for Python packages"
-HOMEPAGE="
- https://github.com/pypa/packaging/
- https://pypi.org/project/packaging/
-"
-
-LICENSE="|| ( Apache-2.0 BSD-2 )"
-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"
-
-RDEPEND="
- !<dev-python/setuptools-67
-"
-DEPEND="
- test? (
- dev-python/pretend[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest --capture=no
-}
diff --git a/dev-python/packaging/packaging-24.1.ebuild b/dev-python/packaging/packaging-24.1.ebuild
deleted file mode 100644
index db778fc50064..000000000000
--- a/dev-python/packaging/packaging-24.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Core utilities for Python packages"
-HOMEPAGE="
- https://github.com/pypa/packaging/
- https://pypi.org/project/packaging/
-"
-
-LICENSE="|| ( Apache-2.0 BSD-2 )"
-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"
-
-RDEPEND="
- !<dev-python/setuptools-67
-"
-DEPEND="
- test? (
- dev-python/pretend[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest --capture=no
-}
diff --git a/dev-python/packaging/packaging-23.2-r1.ebuild b/dev-python/packaging/packaging-25.0.ebuild
index 143472ba288c..498cd17a50f8 100644
--- a/dev-python/packaging/packaging-23.2-r1.ebuild
+++ b/dev-python/packaging/packaging-25.0.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
# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
@@ -15,9 +15,9 @@ HOMEPAGE="
https://pypi.org/project/packaging/
"
-SLOT="0"
LICENSE="|| ( Apache-2.0 BSD-2 )"
-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"
+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"
RDEPEND="
!<dev-python/setuptools-67
diff --git a/dev-python/pipdeptree/Manifest b/dev-python/pipdeptree/Manifest
index 0b503ab4127a..a7fcbcd4f365 100644
--- a/dev-python/pipdeptree/Manifest
+++ b/dev-python/pipdeptree/Manifest
@@ -1,2 +1,3 @@
DIST pipdeptree-2.23.4.tar.gz 39945 BLAKE2B 6f1aaf4652b872a28712cf23fb06c26c9e36baf2c5c734b542d418d78081c19f567c730944fba33b43cf6ad612ecd54f37f625a81e88fc8bb68e3e56d76d9088 SHA512 3beeeceb11f842e5f337167b724354b43b01f972f83b0bac5168504483a079e15758206a8e141dc88e4810954630bff1b1cdec3e69aa2f981b9ec2896e40428d
DIST pipdeptree-2.26.0.tar.gz 40786 BLAKE2B 14299501aeff3de4119be0e0b030824750e091159ee88a1f3b0400ef835e66140db69bdefdf37058adaf75bb12b9765b4b70a3bd68056f0152b2eda26dbebb35 SHA512 cacefe7165c37e827592f0364cdf1246d0e7b1bd04c4723ce729c3bd200affae2e2b319bbbd9a8bdc220a43d0dde1a1c197642bc9119148bfcd2664ff11c725c
+DIST pipdeptree-2.26.1.tar.gz 41024 BLAKE2B 93121352931669bb343f156673ebff6cf3f7601da34f027aeaa3764f676a578ed1c5360e1a281c18ce07f870f20f594694cec0da1be8f836568400c9861c0b8a SHA512 3cb0aa2a3d07a03aa62c0da9ff0d39496e4afe4f9216c2445c36d34b1f05f5bea5030e04d89aa27f5f41cb65092ded4d949a863bc2f223f1fbbe5fdcf379af62
diff --git a/dev-python/pipdeptree/pipdeptree-2.26.1.ebuild b/dev-python/pipdeptree/pipdeptree-2.26.1.ebuild
new file mode 100644
index 000000000000..845a8e9afaf0
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.26.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2022-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} pypy3 )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="Utility for displaying installed packages in a dependency tree"
+HOMEPAGE="
+ https://github.com/tox-dev/pipdeptree/
+ https://pypi.org/project/pipdeptree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ >=dev-python/pytest-console-scripts-1.4.1[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ <dev-python/virtualenv-21[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*,\?::' pyproject.toml || die
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # tests can fail if other packages are being merged simultaneously
+ epytest -p pytest_mock -p console-scripts -p rerunfailures --reruns=5
+}
+
+pkg_postinst() {
+ optfeature \
+ "visualising the dependency graph with --graph-output" \
+ dev-python/graphviz
+}
diff --git a/dev-python/pypugjs/Manifest b/dev-python/pypugjs/Manifest
index f7bb18aefc96..9432235b530f 100644
--- a/dev-python/pypugjs/Manifest
+++ b/dev-python/pypugjs/Manifest
@@ -1,2 +1 @@
-DIST pypugjs-5.11.0.gh.tar.gz 57259 BLAKE2B 666b37a68f9faa7131424aba895fd6ffd893a92b1d565f343c25cc126bf37f2b1794eb0c32c3475533ade810b2d9d09a4299ec8bac5da63b1303d60900226507 SHA512 208946c6709398b21ab5728f290b814330db647200c1f649bceb6b5596c5bac710dedeed4dad56330b4c97236b6793251575fb2638b7bf63bf32239114758033
DIST pypugjs-5.12.0.gh.tar.gz 58675 BLAKE2B cadfb20d4189058af691b32d5975fccfee35b0f4851c8f38d83370bc685369dcc75fe9250bbd089292df80dccf3ab34596ae50e2e60d9a8f62389a08d8798d58 SHA512 47460876018349b49fc04cde51cfee48f868b6364c5152dffc35ea3419f32c47ddab6789c442e4425a12d59c082e42d64ea001ef2c2df363d1fb1ec1a4e9f605
diff --git a/dev-python/pypugjs/pypugjs-5.11.0.ebuild b/dev-python/pypugjs/pypugjs-5.11.0.ebuild
deleted file mode 100644
index e7e2fc478f2d..000000000000
--- a/dev-python/pypugjs/pypugjs-5.11.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Pug (Jade) syntax adapter for Django, Jinja2 and Mako templates"
-HOMEPAGE="
- https://github.com/kakulukia/pypugjs/
- https://pypi.org/project/pypugjs/
-"
-SRC_URI="
- https://github.com/kakulukia/pypugjs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv"
-
-RDEPEND="
- >=dev-python/six-1.15.0[${PYTHON_USEDEP}]
- >=dev-python/charset-normalizer-2.1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/django-4.0.6[${PYTHON_USEDEP}]
- >=dev-python/flask-2.1.1[${PYTHON_USEDEP}]
- >=dev-python/jinja2-3.1.1[${PYTHON_USEDEP}]
- >=dev-python/mako-1.1.3[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.19.0[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # poetry nonsense
- sed -i -e 's:\^:>=:' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-pkg_postinst() {
- optfeature "converting to Django output" dev-python/django
- optfeature "converting to Jinja2 output" dev-python/jinja2
- optfeature "converting to Mako output" dev-python/mako
- optfeature "converting to Tornado output" dev-python/tornado
-}
diff --git a/dev-python/rst2ansi/rst2ansi-0.1.5-r3.ebuild b/dev-python/rst2ansi/rst2ansi-0.1.5-r3.ebuild
index 14045c05e50b..620ae13fbc0b 100644
--- a/dev-python/rst2ansi/rst2ansi-0.1.5-r3.ebuild
+++ b/dev-python/rst2ansi/rst2ansi-0.1.5-r3.ebuild
@@ -26,7 +26,7 @@ BDEPEND="
test? ( dev-util/cram )
"
-distutils_enable_tests setup.py
+distutils_enable_tests unittest
src_prepare() {
distutils-r1_src_prepare
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index 0dc727882da1..220cdec51fa0 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1,2 +1,3 @@
DIST setuptools-75.8.2.tar.gz 1344083 BLAKE2B 7d4dff2c0948bb411ef5f70e5f5f91bc0e230b155a97419d263f88e54a94390fd7dcadad14105f4d886a25024bf4c95e776ae7b25e4b1d6f17e45e6060b99da2 SHA512 adf7f5d2eab7621b03c86e3f96857b176631108dc8a0eba2b16b87e394bff0b607998bc24cc074cd3f7b0ed6dbe0bd753cce5af2f108fce2473fb50b22f32913
DIST setuptools-78.1.0.tar.gz 1367827 BLAKE2B d82320d11829e43e6841cd6b5a9bd4e16cfc9e7e2f97f64ac2ab1956ed68587ca6c74a07781f6afeefd3a949c23dee374460bdd327b7a5d908f33b2882f3d87d SHA512 e0b9562a8b3bb7a6b664da84ef37e4f4f71df5dd3129b636ece798878e62bf4be60ff6b6643a98b7047e540e14c931eeb54b4e08c583ac1a86ffb5dc5e921c68
+DIST setuptools-78.1.1.tar.gz 1368163 BLAKE2B 45dd7ea3a4e237c65323f5a4645b70a483a41ef1c4d0f30f977bb5cfd48c41f283c24b756d8494eb87a78e239d0ebc727e0611ac0b8aef6ca1178c04db92b54d SHA512 0a44bb3f9e5c9b247ada0854552042e7733d6908a8b2ce82d750a7bebbd94a15c9f453343dc131e34cfa641bec300611d57ea8e52ee8ad4971a026ad6cc8b938
diff --git a/dev-python/setuptools/setuptools-78.1.1.ebuild b/dev-python/setuptools/setuptools-78.1.1.ebuild
new file mode 100644
index 000000000000..75df7b4b3e85
--- /dev/null
+++ b/dev-python/setuptools/setuptools-78.1.1.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+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"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !<dev-python/setuptools-rust-1.8.0
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-4[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+ !<=dev-libs/gobject-introspection-1.76.1-r0
+ !=dev-libs/gobject-introspection-1.78.1-r0
+ !=dev-libs/gobject-introspection-1.80.1-r1
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.7.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-subprocess[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+# setuptools-scm is here because installing plugins apparently breaks stuff at
+# runtime, so let's pull it early. See bug #663324.
+#
+# trove-classifiers are optionally used in validation, if they are
+# installed. Since we really oughtn't block them, let's always enforce
+# the newest version for the time being to avoid errors.
+# https://github.com/pypa/setuptools/issues/4459
+PDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}/setuptools-62.4.0-py-compile.patch"
+ # https://github.com/abravalheri/validate-pyproject/pull/221
+ "${FILESDIR}/setuptools-75.6.0-disable-trove-classifiers.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # breaks tests
+ sed -i -e '/--import-mode/d' pytest.ini || die
+
+ # remove bundled dependencies
+ rm -r */_vendor || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ setuptools/tests/test_build_meta.py::test_legacy_editable_install
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_editable_install.py
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # TODO, probably some random package
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
+ # broken by unbundling
+ setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata
+ # fails on normalized metadata, perhaps different dep version?
+ setuptools/tests/test_build_meta.py::TestBuildMetaBackend::test_build_with_pyproject_config
+ # TODO
+ setuptools/tests/test_sdist.py::test_sanity_check_setuptools_own_sdist
+ # relies on -Werror
+ setuptools/_static.py::setuptools._static.Dict
+ setuptools/_static.py::setuptools._static.List
+ # TODO
+ setuptools/dist.py::setuptools.dist.Distribution._find_pattern
+ )
+
+ local EPYTEST_XDIST=1
+ local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH}
+ epytest -o tmp_path_retention_policy=all \
+ -m "not uses_network" setuptools
+}
diff --git a/dev-python/shapely/Manifest b/dev-python/shapely/Manifest
index ed916ddf13af..a1d175b249ca 100644
--- a/dev-python/shapely/Manifest
+++ b/dev-python/shapely/Manifest
@@ -1,2 +1 @@
-DIST shapely-2.0.7.gh.tar.gz 334359 BLAKE2B 3b12cf5d52595bfdfaa2b9b820a9d9e1bc95e18ca43accf5ec2dba2f30ceb9df90c359e360a51c9aa9a8c3121dcf39ad6e54c2a16793f61aa129dfef881a83ae SHA512 78ecb89d6a4fc880582f576bb4674b6a6ed28f863b65a218835badfb5bcb0b290ef87bbd3113b69d44ead7518643d0f8ecf2cd43f0e4b5b19b814dd8835a0107
DIST shapely-2.1.0.gh.tar.gz 369395 BLAKE2B 2fcdc727d1b192bbf39dee55d752e445e02cb98107509e220171c80317b48c80bdb34e6d390b26ce00351de94d3815a6234ba3d3f16f9d01eb16440eff9c0f09 SHA512 f5272fdeb68dcddb632965c3031249a270a016b93207b00835b924c0318e3ab4c7e21581f307b30b97f1489d3b6c9b016f1479200ac64e1afcf1b4273c679721
diff --git a/dev-python/shapely/shapely-2.0.7.ebuild b/dev-python/shapely/shapely-2.0.7.ebuild
deleted file mode 100644
index 9507f1af3d43..000000000000
--- a/dev-python/shapely/shapely-2.0.7.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-MY_P=${P/_p/.post}
-DESCRIPTION="Geometric objects, predicates, and operations"
-HOMEPAGE="
- https://pypi.org/project/shapely/
- https://github.com/shapely/shapely/
-"
-SRC_URI="
- https://github.com/shapely/shapely/archive/${PV/_p/.post}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-DEPEND="
- dev-python/numpy:=[${PYTHON_USEDEP}]
- >=sci-libs/geos-3.11.4
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- ${DEPEND}
- >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- rm -rf shapely || die
- epytest --pyargs shapely
-}
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index 848a86774ed5..0f4e3984ebe9 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,2 +1 @@
-DIST stripe-11.6.0.tar.gz 1390405 BLAKE2B 0a630201e0c85d1c456a02f18c1383d8367e8980485cf20ab62fbad2a6a6f0612b2199626de1e7f5cefb477e7dcc07777d2af095994de04805fcba206469f6cd SHA512 f92978feef4083cb1a662da44101b9b670d442c141921f29b93a551a36d641faccdff60499115a4b8a0c62b74498403ad3ac7f04c4b16992f3cab5ee498cb25d
DIST stripe-12.0.0.tar.gz 1369861 BLAKE2B abd767466760e8e43d313e7072dcab5d74b09cd395eafb894ef0ee7d21db5503e3f36493e194ab02100f3b9d648342a91efd5c46574af290481c2a260680a974 SHA512 ab9cac4712989227562ade7a7058c2c3342c04f98f02496597047755d9f790f720c29b5f8c26da1a2f4d795793931a8a073789708f395cdfa0057a8e71724a49
diff --git a/dev-python/stripe/stripe-11.6.0.ebuild b/dev-python/stripe/stripe-11.6.0.ebuild
deleted file mode 100644
index b652190db5b5..000000000000
--- a/dev-python/stripe/stripe-11.6.0.ebuild
+++ /dev/null
@@ -1,95 +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 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Stripe Python bindings"
-HOMEPAGE="
- https://github.com/stripe/stripe-python/
- https://pypi.org/project/stripe/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-IUSE="telemetry"
-
-RDEPEND="
- >=dev-python/requests-2.20[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
-"
-# please bump dev-util/stripe-mock dep to the latest version on every bump
-BDEPEND="
- test? (
- >=dev-util/stripe-mock-0.192.0
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/anyio[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/trio[${PYTHON_USEDEP}]
- net-misc/curl
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
-
-src_prepare() {
- distutils-r1_src_prepare
-
- if ! use telemetry; then
- sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
- fi
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet
- tests/test_http_client.py::TestLiveHTTPClients::test_httpx_request_async_https
- 'tests/test_integration.py::TestIntegration::test_async_raw_request_timeout[asyncio-aiohttp]'
- # timing
- tests/test_integration.py::TestIntegration::test_passes_client_telemetry_when_enabled
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests -p anyio -p pytest_mock
-}
-
-src_test() {
- local stripe_mock_port=12111
- local stripe_mock_max_port=12121
- local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
- # Try to start stripe-mock until we find a free port
- while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
- ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
- stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
- local stripe_mock_pid=${!}
- sleep 2
- # Did stripe-mock start?
- curl --fail -u "sk_test_123:" \
- "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
- eend ${?} "Port ${stripe_mock_port} unavailable"
- if [[ ${?} -eq 0 ]]; then
- einfo "stripe-mock running on port ${stripe_mock_port}"
- break
- fi
- (( stripe_mock_port++ ))
- done
- if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
- eerror "Unable to start stripe-mock for tests"
- die "Please see the logfile located at: ${stripe_mock_logfile}"
- fi
-
- local -x STRIPE_MOCK_PORT=${stripe_mock_port}
- distutils-r1_src_test
-
- # Tear down stripe-mock
- kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
-}
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index c195e399c9c5..7982ddc44c0c 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1,3 +1,2 @@
-DIST trimesh-4.6.5.gh.tar.gz 13625081 BLAKE2B 81c5527ad7cdb1dc78b61a3bfbf2fb3ff6e3b412050b77fdf249a1af7b4be9aacb3bdc19331cc334803eee998be0e5390c3282d400598aa5be3b41fd701ed3f9 SHA512 b1fc5de064fd06c3bf453e507ff6c3e14dcfb2c8d1d909b4a3c2bc2e894e2aac57342b85c0d170b0a161f3ae27b9ca2490df601fb047c1873703cb71ce97f1fa
DIST trimesh-4.6.6.gh.tar.gz 13624837 BLAKE2B 4fa6ae4c23c67a244b94071362c2a6ff8d809982bfdf0889a605a2d2309773a7932c3522687a1fadf41c834167423f67584719fd1805ff88d94fc5b1b0c6066f SHA512 4d1c16fcf91aad40469eadbaa7c8103194d84b4a43fb7cd9064118a08cca9f46944a1349c9d3dc45b034613d7256e243755b3bf453910d6ad8adc8d9050c916b
DIST trimesh-4.6.8.gh.tar.gz 13624383 BLAKE2B b25d0d5f6adc27ade707fadddb36606b53bed37526e4b8ef0bdfa7353d774e3b42f63ec4af12827921d9a95b37bbb558e3ff650722d043a8eb5342656140d111 SHA512 7b6b063f3a68bc94510ccf194526499095dd7f5737904c703702d2b63725bd8109749adf81b0be0171768511270e6abc30288e194fc9351f968e2ed7abd288c3
diff --git a/dev-python/trimesh/trimesh-4.6.5.ebuild b/dev-python/trimesh/trimesh-4.6.5.ebuild
deleted file mode 100644
index 71f4a8bbad96..000000000000
--- a/dev-python/trimesh/trimesh-4.6.5.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python library for loading and using triangular meshes"
-HOMEPAGE="
- https://trimesh.org/
- https://github.com/mikedh/trimesh/
- https://pypi.org/project/trimesh/
-"
-SRC_URI="
- https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-RDEPEND="
- dev-python/charset-normalizer[${PYTHON_USEDEP}]
- dev-python/colorlog[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/networkx[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pycollada[${PYTHON_USEDEP}]
- dev-python/pyglet[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
- dev-python/svg-path[${PYTHON_USEDEP}]
- dev-python/sympy[${PYTHON_USEDEP}]
- dev-python/xxhash[${PYTHON_USEDEP}]
- dev-python/rtree[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mapbox-earcut[${PYTHON_USEDEP}]
- dev-python/pillow[webp,${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_TIMEOUT=1800
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires manifold3d
- tests/test_boolean.py::test_multiple_difference
- # timing nonsense
- tests/test_bounds.py::BoundsTest::test_obb_mesh_large
- )
- local EPYTEST_IGNORE=(
- # require pyinstrument
- tests/test_sweep.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-pkg_postinst() {
- optfeature_header "${PN} functionality can be extended by installing the following packages:"
- optfeature "making GUI applications with 3D stuff" dev-python/glooey
- optfeature "2D triangulations of polygons" dev-python/mapbox-earcut
- optfeature "loading a number of additional mesh formats" dev-python/meshio
- optfeature "figuring out how much memory we have" dev-python/psutil
- optfeature "marching cubes and other nice stuff" dev-python/scikit-image
-}
diff --git a/dev-python/url-normalize/Manifest b/dev-python/url-normalize/Manifest
index c0485d5687fc..100f157816cf 100644
--- a/dev-python/url-normalize/Manifest
+++ b/dev-python/url-normalize/Manifest
@@ -1,2 +1 @@
-DIST url-normalize-1.4.3.gh.tar.gz 8478 BLAKE2B 2f15a597642626653c96f378b67794819645918473d17faad18187abe35bf7892b11c0bc78451e78f1146389beb3a6470fb3ea1610e60157fee7fbadd9863614 SHA512 46eaa1753b37e89d56cb19818144a7cf5b38653811720eb506732c35bb3732ef0c556420b22a9ee2c08e70e5b408aab7f44cea5e15d1ebe3d717c0c77706bfb8
DIST url-normalize-2.2.0.gh.tar.gz 17161 BLAKE2B 3025db39c105ab9fb5c8d7cd7ca5327133b92e064a9200b9f6e7ded51a42be8bb995520da74e36afca485aac5d4052e491b8d7e107750c3d8f7ec227b738c354 SHA512 90abb5ca1e2792bdd9cae0b24bdd2f45fb6760e70566305384988bd2be92c1cd283faeeed94594d7fb1fd1fdf442f26ce41089f4c7b4d8ffc0c08c29b1058442
diff --git a/dev-python/url-normalize/url-normalize-1.4.3-r1.ebuild b/dev-python/url-normalize/url-normalize-1.4.3-r1.ebuild
deleted file mode 100644
index 9b2ba654bee6..000000000000
--- a/dev-python/url-normalize/url-normalize-1.4.3-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="URL normalization for Python"
-HOMEPAGE="
- https://github.com/niksite/url-normalize/
- https://pypi.org/project/url-normalize/
-"
-SRC_URI="
- https://github.com/niksite/url-normalize/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # remove problematic pytest options
- rm tox.ini || die
- sed -e '/requires/s:poetry:&-core:' \
- -e '/backend/s:poetry:&.core:' \
- -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/uvicorn/Manifest b/dev-python/uvicorn/Manifest
index 0b4c993b5501..a3d4afdb5b03 100644
--- a/dev-python/uvicorn/Manifest
+++ b/dev-python/uvicorn/Manifest
@@ -1,3 +1,4 @@
DIST uvicorn-0.31.1.gh.tar.gz 728604 BLAKE2B 4f8f4e34bc6b13f6f0866a6890855a5b3bf9aad179de2fdeab40fdb017f76acfaa1cb7c9bd97d55d2ea5cd513afc3b6857ae0613912f6be55dc1d17cf810b213 SHA512 2ceab852cd7819fee592cf2507fa9ce8cc80f19dec0492fec621e6eded4a47edecbe4fe559a8474dacff260546ba146e33af9cab964e121356797fdc9a2dae28
DIST uvicorn-0.34.0.gh.tar.gz 728609 BLAKE2B 50b0cb2d0d7e81398bb078c999d17e3cc021e371274fb3387559d92cc3086386aa5e62a56ba14ae60e5da742017ad58aee3fb8b045e438b614ce8e812934b4ad SHA512 260782e385a2934049da8c474750958826afe1bfe23b38fe2f6420f355af7a537563f8fe6ac3830814c7469203703d10f4f9f3d6e53e79113bfd2fd34f7a7c72
DIST uvicorn-0.34.1.gh.tar.gz 709794 BLAKE2B 9ea07bc6046601c5d9b8bdd263821f4a39de0c8facb41ee83f89ab4686c4d68a861445d1e1e98dc7679c30285fd0efe008dd9a9caf6f3920cd22c97ae72d28a8 SHA512 8a4020eabf644ad03c9cb4ecd69bdaa163c9ad5aaca226a38baf679c02864c8e6c5ad525d4c7b2197ad32553c9e1412376c1d17d51ab936878ab2eb251f23f51
+DIST uvicorn-0.34.2.gh.tar.gz 709898 BLAKE2B 8316b0f51f0a833ae42eaf235839761019e20e80e1bf9a81d79f90c814fc214b0a346b81d98b6734f2b132c8641e96b1ef43c137906b55fcd8d4c825d607626e SHA512 e8d4dbf182a47431ab9485a8f1072b327c2adb97e4489dcad08835d2759241539971192781cffe4cbb12ff68e70b040e07ad60fe274aa1d62320ad0d63278e64
diff --git a/dev-python/uvicorn/uvicorn-0.34.2.ebuild b/dev-python/uvicorn/uvicorn-0.34.2.ebuild
new file mode 100644
index 000000000000..186c7dbe4fef
--- /dev/null
+++ b/dev-python/uvicorn/uvicorn-0.34.2.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2021-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} pypy3 )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Lightning-fast ASGI server implementation"
+HOMEPAGE="
+ https://www.uvicorn.org/
+ https://github.com/encode/uvicorn/
+ https://pypi.org/project/uvicorn/
+"
+# as of 0.28.0, no tests in sdist
+SRC_URI="
+ https://github.com/encode/uvicorn/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/asgiref-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/click-7.0[${PYTHON_USEDEP}]
+ >=dev-python/h11-0.8[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/a2wsgi[${PYTHON_USEDEP}]
+ dev-python/anyio[${PYTHON_USEDEP}]
+ >=dev-python/httptools-0.6.3[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.28[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ >=dev-python/websockets-10.4[${PYTHON_USEDEP}]
+ dev-python/wsproto[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/watchfiles[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # too long path for unix socket
+ tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers
+ # TODO
+ 'tests/protocols/test_http.py::test_close_connection_with_multiple_requests[httptools]'
+ 'tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[httptools-max=defaults sent=defaults+1]'
+ 'tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[h11-max=defaults sent=defaults+1]'
+ )
+ case ${EPYTHON} in
+ pypy3*)
+ # TODO
+ EPYTEST_DESELECT+=(
+ tests/middleware/test_logging.py::test_running_log_using_fd
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p anyio -p pytest_mock -p rerunfailures --reruns=5
+}
+
+pkg_postinst() {
+ optfeature "auto reload on file changes" dev-python/watchfiles
+}
diff --git a/dev-python/ytmusicapi/Manifest b/dev-python/ytmusicapi/Manifest
index 8ddcd59d2839..da5bbe4780ab 100644
--- a/dev-python/ytmusicapi/Manifest
+++ b/dev-python/ytmusicapi/Manifest
@@ -1,2 +1 @@
-DIST ytmusicapi-1.10.2.tar.gz 311488 BLAKE2B 39f9ee3010bbfab893938e2b01841650fdd3b2a46bed4154589098d42a909f4313ba8535d42ea62d48a077eb79c193ec75f6df2fa741408211cf4ec31a9f8ab1 SHA512 7d2d1a4dde485c6c96eac7a9e06df2c87367b0e61df6f441924c1d00974c32a2ae7149e3a1d95612a57d2c7d5c2223f03cb95de4e76af5366f2d64bb639473b5
DIST ytmusicapi-1.10.3.tar.gz 311765 BLAKE2B 7ae6b2085e2b1197da84a80f661e82438835556565eb7fe13e1e63845d36bbaff444925a4d94f2104138ac4e3655cdd705e8c862ac13e61c1d9dfcc4d82a9169 SHA512 39d56db4e08af7c81925751a818de51432a5a49e6a52d2201cc3bb62c796f933aa0e15bf2cb7b02b1794b95868a6cb1363c465896c4a9fe69bf25318d9dfc993
diff --git a/dev-python/ytmusicapi/ytmusicapi-1.10.2.ebuild b/dev-python/ytmusicapi/ytmusicapi-1.10.2.ebuild
deleted file mode 100644
index 71c1c3d05cfd..000000000000
--- a/dev-python/ytmusicapi/ytmusicapi-1.10.2.ebuild
+++ /dev/null
@@ -1,24 +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} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Unofficial API for YouTube Music"
-HOMEPAGE="https://ytmusicapi.readthedocs.io/
- https://github.com/sigma67/ytmusicapi/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-RESTRICT="test"
-
-RDEPEND="
- dev-python/requests[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme