summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/autopxd/Manifest1
-rw-r--r--dev-python/autopxd/autopxd-2.5.0.ebuild31
-rw-r--r--dev-python/autopxd/metadata.xml10
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.35.74.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.35.74.ebuild67
-rw-r--r--dev-python/cleo/Manifest1
-rw-r--r--dev-python/cleo/cleo-2.2.1.ebuild53
-rw-r--r--dev-python/click-aliases/click-aliases-1.0.5.ebuild2
-rw-r--r--dev-python/cryptg/cryptg-0.5.0_p0.ebuild2
-rw-r--r--dev-python/fonttools/Manifest1
-rw-r--r--dev-python/fonttools/fonttools-4.55.1.ebuild99
-rw-r--r--dev-python/hachoir/hachoir-3.3.0.ebuild2
-rw-r--r--dev-python/jellyfish/Manifest21
-rw-r--r--dev-python/jellyfish/jellyfish-1.1.2.ebuild79
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild4
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/line-profiler/Manifest1
-rw-r--r--dev-python/line-profiler/line-profiler-4.2.0.ebuild46
-rw-r--r--dev-python/lru-dict/lru-dict-1.3.0.ebuild2
-rw-r--r--dev-python/mako/Manifest1
-rw-r--r--dev-python/mako/mako-1.3.7.ebuild54
-rw-r--r--dev-python/pillow-heif/Manifest2
-rw-r--r--dev-python/pillow-heif/files/pillow-heif-0.21.0-respect-cflags.patch (renamed from dev-python/pillow-heif/files/pillow-heif-0.15.0-respect-cflags.patch)4
-rw-r--r--dev-python/pillow-heif/pillow-heif-0.21.0.ebuild (renamed from dev-python/pillow-heif/pillow-heif-0.20.0.ebuild)9
-rw-r--r--dev-python/prometheus-client/Manifest1
-rw-r--r--dev-python/prometheus-client/prometheus-client-0.21.1.ebuild35
-rw-r--r--dev-python/pydantic-settings/pydantic-settings-2.6.1.ebuild2
-rw-r--r--dev-python/pydantic/Manifest1
-rw-r--r--dev-python/pydantic/pydantic-2.10.3.ebuild65
-rw-r--r--dev-python/pyglm/Manifest2
-rw-r--r--dev-python/pyglm/metadata.xml10
-rw-r--r--dev-python/pyglm/pyglm-2.7.3.ebuild39
-rw-r--r--dev-python/pyrime/Manifest2
-rw-r--r--dev-python/pyrime/pyrime-0.0.7.ebuild (renamed from dev-python/pyrime/pyrime-0.0.4.ebuild)6
-rw-r--r--dev-python/pysnmp/Manifest1
-rw-r--r--dev-python/pysnmp/pysnmp-7.1.14.ebuild49
-rw-r--r--dev-python/python-daemon/Manifest1
-rw-r--r--dev-python/python-daemon/python-daemon-3.1.2.ebuild52
-rw-r--r--dev-python/python-olm/python-olm-3.2.16.ebuild6
-rw-r--r--dev-python/python-statemachine/Manifest1
-rw-r--r--dev-python/python-statemachine/python-statemachine-2.5.0.ebuild48
-rw-r--r--dev-python/python-tests/Manifest9
-rw-r--r--dev-python/python-tests/python-tests-3.11.11_p1.ebuild74
-rw-r--r--dev-python/python-tests/python-tests-3.12.8.ebuild69
-rw-r--r--dev-python/python-tests/python-tests-3.13.1.ebuild69
-rw-r--r--dev-python/pyzotero/Manifest3
-rw-r--r--dev-python/pyzotero/pyzotero-1.5.25.ebuild38
-rw-r--r--dev-python/pyzotero/pyzotero-1.5.28.ebuild (renamed from dev-python/pyzotero/pyzotero-1.5.20.ebuild)0
-rw-r--r--dev-python/questionary/questionary-2.0.1.ebuild2
-rw-r--r--dev-python/repology-client/Manifest2
-rw-r--r--dev-python/repology-client/repology-client-0.3.0.ebuild (renamed from dev-python/repology-client/repology-client-0.0.2.ebuild)6
-rw-r--r--dev-python/rich-click/rich-click-1.8.5.ebuild2
-rw-r--r--dev-python/rpds-py/Manifest6
-rw-r--r--dev-python/rpds-py/rpds-py-0.22.1.ebuild60
-rw-r--r--dev-python/rst2ansi/rst2ansi-0.1.5-r3.ebuild2
-rw-r--r--dev-python/securesystemslib/Manifest1
-rw-r--r--dev-python/securesystemslib/securesystemslib-1.2.0.ebuild41
-rw-r--r--dev-python/snakeoil/Manifest1
-rw-r--r--dev-python/snakeoil/snakeoil-0.10.10.ebuild33
-rw-r--r--dev-python/sphinx-sitemap/sphinx-sitemap-2.6.0.ebuild2
-rw-r--r--dev-python/textual-serve/Manifest2
-rw-r--r--dev-python/textual-serve/textual-serve-1.1.1.ebuild (renamed from dev-python/textual-serve/textual-serve-1.1.0.ebuild)2
-rw-r--r--dev-python/textual/Manifest2
-rw-r--r--dev-python/textual/textual-0.88.1.ebuild (renamed from dev-python/textual/textual-0.86.3.ebuild)13
-rw-r--r--dev-python/types-gdb/Manifest2
-rw-r--r--dev-python/types-gdb/types-gdb-15.0.0.20241204.ebuild (renamed from dev-python/types-gdb/types-gdb-12.1.4.20240704.ebuild)1
-rw-r--r--dev-python/uv/Manifest3
-rw-r--r--dev-python/uv/uv-0.5.6.ebuild170
72 files changed, 1378 insertions, 130 deletions
diff --git a/dev-python/autopxd/Manifest b/dev-python/autopxd/Manifest
new file mode 100644
index 000000000000..a388c9845281
--- /dev/null
+++ b/dev-python/autopxd/Manifest
@@ -0,0 +1 @@
+DIST autopxd2-2.5.0.tar.gz 109511 BLAKE2B 599ac008291d60a5734de034ff7341048b83114c835056525b08efbce20b9fd087e211cd00debd35ff2b050d9304e2218e48402ee12b47a731ed94be9dfaa009 SHA512 e1eecf7742d0520e62d850eff98904635507d75aaf1c6180d85d606050dfa216d5acd3e955a252db51986c11726f6e48b1ab8d2d9ea0893b0f5827332edd7ce0
diff --git a/dev-python/autopxd/autopxd-2.5.0.ebuild b/dev-python/autopxd/autopxd-2.5.0.ebuild
new file mode 100644
index 000000000000..1afe15bb4165
--- /dev/null
+++ b/dev-python/autopxd/autopxd-2.5.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYPI_PN="${PN}2"
+inherit distutils-r1 pypi
+
+DESCRIPTION="generates .pxd files automatically from .h files"
+HOMEPAGE="
+ https://github.com/elijahr/python-autopxd2
+ https://pypi.org/project/autopxd2
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/pycparser[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ epytest
+}
diff --git a/dev-python/autopxd/metadata.xml b/dev-python/autopxd/metadata.xml
new file mode 100644
index 000000000000..1f5112a5fdf6
--- /dev/null
+++ b/dev-python/autopxd/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>wuzhenyu@ustc.edu</email>
+ <name>Wu, Zhenyu</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 42b34dd94a7d..918f398ebefc 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -2,3 +2,4 @@ DIST boto3-1.35.63.gh.tar.gz 891481 BLAKE2B 092f4380aa31e57b3c8f6ef41ea8f0a4272e
DIST boto3-1.35.68.gh.tar.gz 901189 BLAKE2B f7449998af169c873319d7b8748035db72c3af7be6499453c9fe61f40cbfd724dce7cf003fe700f6046f43c887768f4c26dd52e491f5734a5ec55c5b54e360c0 SHA512 24582ed20764870e2491a2dc48869089ebc4371a279eff68827ce3a6a962568fc1738e52285fa89a3a846385b498bb233460c1d0ae3177d735ad20b2cef7fea2
DIST boto3-1.35.71.gh.tar.gz 903019 BLAKE2B 48bf56c54a8eaa52c1850078a92cef7e5acb06f2d9d551414d640c6f5c5f381f2edc4ae6f582d9c1578f68d78a272142033bd41caba95577af917a492e995edb SHA512 56df8d30c0d3efc71caa6d629354e1311d944c71b5568b4154fc93c315558d600e4411ccc80abca98cb4a3adf3a3ab4f4dbce22ca06184e11d720f36f33b58d2
DIST boto3-1.35.72.gh.tar.gz 906195 BLAKE2B 42fa9727d0d35eaa2ea61580538923da30d57e2569dd2ff0b75a2f19ee29b0e5745e93724bf5145296794ee2ee51f3abe1bad017435e68ce9f12c61ccfd3bdf7 SHA512 c54bd53eb6c7753a310dfa26fa9080d5331b0e5ca4cc87c32265f045a615b406e2ace93e41301c6039108ea5be4aa5fd826b875b63253ca4b8c2f8c5892f7bcd
+DIST boto3-1.35.74.gh.tar.gz 908732 BLAKE2B e8e25f5a349956ebe12e80e3170b6cfb97e1e4ea166877f349191667098ae42775d2d37158470d90c41844f3ff2ddd37f40a533c7b18bc2a46dc5d21a14dc986 SHA512 86311657423cc06004268e66750037d0ea91518db156ed7712397afa66c701350b96c5ad32ead49936231e9e196a686dcaefbec8a90b5168450977ed77532486
diff --git a/dev-python/boto3/boto3-1.35.74.ebuild b/dev-python/boto3/boto3-1.35.74.ebuild
new file mode 100644
index 000000000000..d91ce27598cf
--- /dev/null
+++ b/dev-python/boto3/boto3-1.35.74.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 985f47bc7f76..47782ef4882a 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -2,3 +2,4 @@ DIST botocore-1.35.63.gh.tar.gz 13692343 BLAKE2B 41ded808c412e9af8f938cf64db1632
DIST botocore-1.35.68.gh.tar.gz 13887015 BLAKE2B f49ea77be07628c9c0a471a76b87bc2b2e0371afdfdaf6da2ad39fdc828376dff14681167a2989b440f37fc5754dae12c7160cb14fb82187acbcf07e34647fc3 SHA512 e31ff9022f29e4cacd9c6085e9c8741d799986746e34965c37e12d8ecfc3a5f4fed8e14045e9ce4f2f552f31d07641ffe8a0209d9d220b942e1b54c2e0d0f848
DIST botocore-1.35.71.gh.tar.gz 13908196 BLAKE2B beba990a19a2a6de3a10d9acd9f97c79872548a5c2bdb2e0944d69292efefd171a0f2e2c989da1551f07902f35b9530984cfe037ff6a9ac9168f9fc5dc5105d5 SHA512 e962cd711e8a9ee6df4e58b3bab22b5e9ded2d75d89fcabd50476789270af50513dcdd4eaeba9f7f778cb9055b4b0cadde0e436cdb1ef333b4322c9f128e910e
DIST botocore-1.35.72.gh.tar.gz 14003906 BLAKE2B 8d02bed4b6b39ff29ce981ed9bbca2acd1261c4d2514373ef299b6809126de90162c489dbece90e75e45e679bed2b5febaa5f48661b01168ed91a73f94ed5506 SHA512 b5b3941fe6bd0b8c150ca1443170c554314853def35641865479228d510cfc306b6ba5f70ff24c98ec34d3edd8c5da168f7351e6631c6df6837cd0f8b9f4f607
+DIST botocore-1.35.74.gh.tar.gz 14071251 BLAKE2B 13ac404c0b25a812df9638cc3a90d3ee36517b616da98315f9aa4b62a39c6c11076b23fbf45d250d13b15aee284b48ee90860b2d71c8edc6c6326d554110a5ff SHA512 185e038d5b0c204a12febc36297377ba92fa7ea91f56d084d7191f298a5eb333fb5fd059feca041055dbed3104381efae3aa9d575f489153e2d292dcee86ddb5
diff --git a/dev-python/botocore/botocore-1.35.74.ebuild b/dev-python/botocore/botocore-1.35.74.ebuild
new file mode 100644
index 000000000000..7816e9efeb52
--- /dev/null
+++ b/dev-python/botocore/botocore-1.35.74.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cleo/Manifest b/dev-python/cleo/Manifest
index af13cbc69e2f..96e21f71bf3f 100644
--- a/dev-python/cleo/Manifest
+++ b/dev-python/cleo/Manifest
@@ -1,2 +1 @@
DIST cleo-2.1.0.gh.tar.gz 165795 BLAKE2B 7c9d0cc869d1e185c2c5a092a8aa1d1b3cce5fc25246939c0ff94920ac7070000b110be9f6cd9d1f827ed951ff22b9ad62e3c17a941022967b7599e456cda837 SHA512 e73a4c02470052f0f602fae8b5bf7073f3342d0816074398b19f0fb25caddda51b6d2fcb9ef57026638d0dc8861a2b5142d87551b105cefa5e54426e4aa1225c
-DIST cleo-2.2.1.gh.tar.gz 162526 BLAKE2B 2f5da066672ecf7067801cd6287cd81055be893001a00067ada150c76363dde1ad3dc715d030963a15cee56080a15d1843d34499a92a55a4d4a3dfe340239ce5 SHA512 905411ca3f4769b12857df807e19f42f88f2aade3dd9b7f38dc3e61efce926479a6afcfc4cfff622ec98122d35871eef47e9146a61a159d4cf083e9eceb3b4ed
diff --git a/dev-python/cleo/cleo-2.2.1.ebuild b/dev-python/cleo/cleo-2.2.1.ebuild
deleted file mode 100644
index 84fd2a95101c..000000000000
--- a/dev-python/cleo/cleo-2.2.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2022-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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python tool for building testable command-line interfaces"
-HOMEPAGE="
- https://github.com/python-poetry/cleo/
- https://pypi.org/project/cleo/
-"
-SRC_URI="
- https://github.com/python-poetry/cleo/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin rapidfuzz
- sed -i -e '/rapidfuzz/s:\^:>=:' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- tests/ui/test_exception_trace.py::test_render_debug_better_error_message_recursion_error
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_mock
- epytest
-}
diff --git a/dev-python/click-aliases/click-aliases-1.0.5.ebuild b/dev-python/click-aliases/click-aliases-1.0.5.ebuild
index c99284ede9e9..91b303d5f158 100644
--- a/dev-python/click-aliases/click-aliases-1.0.5.ebuild
+++ b/dev-python/click-aliases/click-aliases-1.0.5.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/cryptg/cryptg-0.5.0_p0.ebuild b/dev-python/cryptg/cryptg-0.5.0_p0.ebuild
index 9c172856072f..a7463ca8c370 100644
--- a/dev-python/cryptg/cryptg-0.5.0_p0.ebuild
+++ b/dev-python/cryptg/cryptg-0.5.0_p0.ebuild
@@ -8,7 +8,7 @@ EAPI=8
CARGO_OPTIONAL=1
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_EXT=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
CRATES="
aes@0.8.4
diff --git a/dev-python/fonttools/Manifest b/dev-python/fonttools/Manifest
index d9ebbb2f3e32..3b48139682cf 100644
--- a/dev-python/fonttools/Manifest
+++ b/dev-python/fonttools/Manifest
@@ -3,3 +3,4 @@ DIST fonttools-4.53.1.gh.tar.gz 3850978 BLAKE2B 9c6b5af2cbde939b82043e29ffbbb234
DIST fonttools-4.54.0.gh.tar.gz 3858868 BLAKE2B edd02f52d094223e4217a85cab10c7c384977cf7a57abaab401b73c8a0fc638b4e23fa44f7f3a728824bc67888ebb7136a3bdce08efe99434d0b07347fc188b6 SHA512 0840c8fbcabd5555c2226bb89cba306e5b792c4ed92063f7c32c26616d9e4b061ae782177a1181a9e891a686ca6265796e50ed7c0acf8c82051697a8618f7623
DIST fonttools-4.54.1.gh.tar.gz 3863311 BLAKE2B 879edb1d5639b2d5a40d10531209504bf30912804a482be16071673727f693042e3158c65b02dc290bfad91767d3f4df10c62539b400f1d48253acf5bf2b86be SHA512 07e5d2401979fa7b1f926a3e3dfb05c2d712e9056e5bd49f879ed818d1f0ec1eb2435b295e30cd95a4e57288e2ce1c113c96a98093b4b57843bb6e3c9d07a7ad
DIST fonttools-4.55.0.gh.tar.gz 3886815 BLAKE2B ace8c3c1c866f4c181f685a44aeb69b8927bd7ddd452cb8268dc7c06183b372ddd88b64f7eba7ab3e4fa15ae359ffcf1d8144de4afbb1b4751173d75259eef3b SHA512 5f8a65687b5d66604eff5c518aaa51e5b2307e624e5397e5dc15b9489eeb6f300376ab6c70288f9bb7056532951f16085c5580f03b44de2a1d53f2860b573191
+DIST fonttools-4.55.1.gh.tar.gz 3888082 BLAKE2B 01cc804ad04814dbb397000e7c408e0994dce5c33c8f1a43b570258b27b9981f437d0469bdcbdf22eb3ee101fc6c17f8a1ab064e11a1bf471f6e3f2957056010 SHA512 68bab5b76b2dda4ebb306764434248020ee0750e4ab700ebb0db6c78b832dd87d58ee12c51b2b54da13027ea0a109460e6ed68eb0afebd5fbe51fb6d2ce7e7ff
diff --git a/dev-python/fonttools/fonttools-4.55.1.ebuild b/dev-python/fonttools/fonttools-4.55.1.ebuild
new file mode 100644
index 000000000000..2b9bd3ce3dd4
--- /dev/null
+++ b/dev-python/fonttools/fonttools-4.55.1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
+HOMEPAGE="
+ https://github.com/fonttools/fonttools/
+ https://pypi.org/project/fonttools/
+"
+SRC_URI="
+ https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions"
+
+RDEPEND="
+ >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ test? (
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ dev-python/munkres[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ app-arch/zopfli
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # When dev-python/pytest-shutil is installed, we get weird import errors.
+ # This is due to incomplete nesting in the Tests/ tree:
+ #
+ # Tests/feaLib/__init__.py
+ # Tests/ufoLib/__init__.py
+ # Tests/svgLib/path/__init__.py
+ # Tests/otlLib/__init__.py
+ # Tests/varLib/__init__.py
+ #
+ # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
+ touch Tests/svgLib/__init__.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local -x FONTTOOLS_WITH_CYTHON=$(usex native-extensions)
+ [[ ${EPYTHON} == pypy3 ]] && FONTTOOLS_WITH_CYTHON=0
+ distutils-r1_python_compile
+}
+
+src_test() {
+ # virtualx used when matplotlib is installed causing plot module tests to run
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # flaky test
+ Tests/ttLib/woff2_test.py::WOFF2ReaderTest::test_get_normal_tables
+ )
+
+ if [[ ${EPYTHON} == pypy3 ]] &&
+ has_version "dev-python/pyxattr[${PYTHON_USEDEP}]" &&
+ {
+ has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
+ has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
+ }
+ then
+ EPYTEST_DESELECT+=(
+ # affected by a bug in PyPy/pyxattr
+ # https://github.com/iustin/pyxattr/issues/41
+ Tests/t1Lib/t1Lib_test.py::ReadWriteTest::test_read_with_path
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest \
+ -p rerunfailures --reruns=5 \
+ Tests fontTools || die -n "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/hachoir/hachoir-3.3.0.ebuild b/dev-python/hachoir/hachoir-3.3.0.ebuild
index ca2b8a9b354e..f437ffbd80f4 100644
--- a/dev-python/hachoir/hachoir-3.3.0.ebuild
+++ b/dev-python/hachoir/hachoir-3.3.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/jellyfish/Manifest b/dev-python/jellyfish/Manifest
index 51b6f73fca48..7f0baaaac209 100644
--- a/dev-python/jellyfish/Manifest
+++ b/dev-python/jellyfish/Manifest
@@ -1,37 +1,58 @@
DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d
DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
+DIST autocfg-1.4.0.crate 17712 BLAKE2B 7f7300439899be03d001dd32b7e797bc4b9a58103081b6f7353c4b5897813cedf870b3fb1fa25d320a75326b334b44d8287e8603de34fc560d0b567143915cc6 SHA512 3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST csv-1.3.0.crate 888212 BLAKE2B df05956223c50cde32f4ae6df922fbdedd8b50008a8898dd49bcc8bb7430d25727a03430c32ec23cc44ced043709de1f80f4d750e335bd12b22d0b06050881c6 SHA512 1b9e870c433e4d37e61cd604d2712c59ccd392cab55b8c88596a7094245072dcae02ecc80d3ee7cdaaa083ec2c2865b71712330c55e93715917a86106a2230ed
+DIST csv-1.3.1.crate 888542 BLAKE2B cbb2a64cbde9c315bfdf2ddc3c14b2cf650595dda8fe233d8b84ceacf4756e72dd9b5a932e4c27b496c70ea5cb8fa1d29abea3d833b8169b6f271bc3834ed2aa SHA512 6b0be5e017b2b2cb926d11d7a36cdae1bf0ddb56165127f25f6fd55956f95a572ed7e054f863610e91c9c2329f5af0eee9678f9020644800587d6daa5a94755b
DIST csv-core-0.1.11.crate 25852 BLAKE2B 9f56cea786b5b35f6fd5c4f41fc3cc06d777f6d643d939ca7d57b1f1a24d4ee16ae3a4de629e484b0e4cf87009abf4911dc4d1bc199968ef5c7f4100cd238d1a SHA512 0445c8a4d4d0f90f03e5d6507c26454aaeac0b355fb39d19e1676a7cb27b4372db3541367ce838d38151862b7bfbf19750cb550e24e74ab5e07ae9bb4edeedee
DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311
+DIST itoa-1.0.14.crate 11210 BLAKE2B b2d33dc384757963eab3ae7d80bb672d828a549967986e3af8c70fe71a0ad46c4a278da2db4dfccef99e804e6cd4934067e97c0697a33ac3302cafbc46eeb416 SHA512 ea2d38df373652ddacccd11e610dfdad4e3ae7f0d476514e6ac58092733c817bd834e8cd88c3bc4178dd5a646ba628ae626195e0aa407e8534ae3c2a7b049987
DIST jellyfish-1.1.0.tar.gz 364391 BLAKE2B b5cf7344f28095e80a3519d9acd6f1210f7480e33d62c4e071dee509b5f94616ed5bf0004f7f4190a0a51deb89ba83d2172bf43ef792268f2e9e2ff545ae5f9f SHA512 2af68c88d7858d18d2cba0d8ee34a7435566a492fc4077db906600b9c7bed82ec28e63c434fc447ef3fe496dec163471e734ea71b7e38a2d1876a7bc95b6a97b
+DIST jellyfish-1.1.2.tar.gz 364387 BLAKE2B 116ed8375ae114b9db1364dc9e649aa3a373e0b0f19c3928cdef6683c1c7c5d95c186de5bcea45b037e4005d0ce0de552f04e656f69f3c710bb83ab4e7bd3163 SHA512 160bd8a2658b7814bc39a96e63ce669c4f3acd95e664418f71d5776d4d76a2d6939c19f1a2efd1c7d3222ff198f67da0d51d41d8c184ec2cc2d800c04366fa66
DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
+DIST libc-0.2.167.crate 757723 BLAKE2B 38f1657dea6d13cb6cc87c8cbededa9f0ac280e4f141f780719164451c941ef873cf6348fef7ab249ba7eed1cbf6768c6a8dc9a51796007c8ce31cdd2f90ecaa SHA512 f6690776266836371e5f9e20ec3a93bb17bc4296219755750e4e70e745016245dab9e247fe564e0f21d10d0c7c97ae97bf54da5068464a48ebfac244cf699166
DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956
DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2bda0e0e36a940c04e3d87698f039dc30c97f26648ecf0d9742962f1f0a117568f7c705a8a3fc167085b0ca3e80 SHA512 bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8
+DIST portable-atomic-1.10.0.crate 174760 BLAKE2B 9a05d6162c95f5140709cbd005c1997449fb6373700e8ed3966e3379898e95f3cbdb90b387f1c7deb3f1eb33125378852a7168d0d22b433813f6c082112b0365 SHA512 fb47ab53fe240d5b0824dd068c6dda473d3e71ae6f5dfccaa17262a8b6de0e1dde05d83975e53bbfcf43f10ef5c634fc024f94613937927ae93f1adad1dadb19
DIST portable-atomic-1.7.0.crate 145385 BLAKE2B 7d9622d636677e3adae0f909405090318a9d6189fc18683ed21074e9360f213b44c5213f3561e3dd1f642547c2c2e6682b9e1efa63243c1f12636bb11bd15dbe SHA512 0849edaa7a1f9ea66182443e31691e7839c857240916521bbd6009b5e692b13f5b315df36e656134651386bc50d895ecf6155a906750009514cad8bfc7e57fe2
DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
+DIST proc-macro2-1.0.92.crate 52353 BLAKE2B 9aa29fa6f1c56c0392a94a81b4c61953f4d185012cdca37e356817845535da79d7094bf43472ce63109ce479a2fd0cbef4d802afd61daf92c4db303bcac60e7e SHA512 e614f08acc0a7e97ef580479cf5b682378df1ca16f09bfb2296ebb3490a435229dea9d682c621c54ce57e8e1d3b7803eb8ff83c88bd02e07228dba6d02f14aee
DIST pyo3-0.22.2.crate 538342 BLAKE2B faf347695117f9fe0ebe5cd7f6aa1b0dcfe718343875d6c06438046deccc1075f104d2a2413dcda41ae9827bc363aa147057b45968f6634f577a6a4510a4bb8e SHA512 e8bae09059f50ffe477dad44499cedeaf3a734665f0fd8e8bd4b44f48578d21e4bdb8d55ceea00c5a27da750761842ddf89cfcecdecb2e7a4a17ab192259be9c
+DIST pyo3-0.22.6.crate 546746 BLAKE2B 2a6f8c5ce2ee96e1812177a11c5fad7e15f3a73d9e30850edf0855b13db6cc95427e186883b4aae25a2d2466d3fe82f56180a39f3e6e0a54bb0a3ef78d495400 SHA512 d746007eae22f5b7bbf173759c61cbd2aa893898d88b8be5680a0237deec4d113246edf5f62fbbec3579ad4bd7307499b94b887ec306112ffe3df5190fe70e44
DIST pyo3-build-config-0.22.2.crate 31225 BLAKE2B c2e6a3d3d23b7f2f51bcbf1214ab20a298a1e62f85c9af3dab1e77b09f20b657b576feefffb18eb49d438f0ffab525b6bcd1086d500601c327ffd4fd24a719ee SHA512 644c82d30bb27051557efcc9789a81380a64e29bc62abf97de88f42c3791dac74228c7a7d09e0d46d14f07c0475f0bc03fac6ed1367b9a616153e8820b94cbc8
+DIST pyo3-build-config-0.22.6.crate 31369 BLAKE2B a1a72de120c4ac4f23a3faaf9b2e340231d7a778a29083ef25fd863fa213afb2a9b720333e3d46a6e1d32105f63073276a23b9bcd999a97fe71eaff3afc7db99 SHA512 9ab44c830e56ddb9ee537ce438fc690664d2c5416f01cdf72498ce062e4c1e7192eac8b7dc2de86c9f2212890b133b69a66209b1615c4eabdf4eaa6882a980fe
DIST pyo3-ffi-0.22.2.crate 67749 BLAKE2B 0a4357d5f4fbcab9717d58b7a80b63a63bc329267d4725136c4eac7c0101095a50e5f840638dde79034e5df99c4f46664cfdc2ad437837643db5d475c5705cb3 SHA512 bf8b83b4790832d99de8c6a61a15a43fc189505dd843011933305f7f93c4f5f4849fb00cc2a6fa410b788645f8ed8c0df61799cf801966a925abb9756b1ab579
+DIST pyo3-ffi-0.22.6.crate 69352 BLAKE2B 99eea6ed87001b23fdeb263937bc14be0fadadc1ad77d4fa8834045ba2fc6ba5c0b89f4051916a058b7640be655afe22785b1da42aac8a32d10209b7b37bf810 SHA512 616e51a0eae1207830fe95251d5b62f126daf446bec68ac98cb1b8538aaa59761dbde62d446a9ee205c23453dbd32bd8ecb15e26265ed1fa1e5e2056efd96369
DIST pyo3-macros-0.22.2.crate 8136 BLAKE2B 9dc97d2f60581db1b8ddb562dac917069525f297fe2cbb9aff3ed34d5a08ea43c112c9c7a450539da3536d753778b5ca506dd1b18e1d6b8a3649fc098e7af439 SHA512 f4f4f6af8dc3aa4bcc1698661990ab2112391ef9502e9f71d86e35bd10dc4e1be309102ebb1b7b32751817a6033168dc0486fdb16b35c626101e69f0de807a4a
+DIST pyo3-macros-0.22.6.crate 8182 BLAKE2B 81998e4f4cb325763e4d3477af05b332e184cabf6391761f850d23508cebcf8d496ce12f747ea241523bb3899886eb20494b076a0651151744bb81d52901a1b4 SHA512 63f7a7b42e099742518c8a3bbc7647e98debb5500d08c39e11e8140fc146e790ab06e005d8d14c89aba79ebc5bf04fe1c92c0e9c5b13421307d3a4682d044179
DIST pyo3-macros-backend-0.22.2.crate 65620 BLAKE2B 37fba9ff384373418d3a7341acafb8e33308a64e30026f828693a37c32ab4a74d058f2db84d00467a20f9f267c96fe54c0f154d1ebbae92490e8dfc0d29c042f SHA512 0517080c0d5d4ed8136521fd37aa3a192c2eb8cab58545d8543ee4df9cd0dcea19fe0678d5ab90f05fe3eb0f4a86fc2f07b76f2e12ac1fcf7e7c195c2ffa4fd8
+DIST pyo3-macros-backend-0.22.6.crate 66312 BLAKE2B ec0b11bee1ad2192e8d95cebab0075d6ec5bf628e3344b86fb8e20a6d0bc1f891b56ccfa4622840a609480581f32bd211b9a3d1dd989716cf255efe3fdc89331 SHA512 87463939b5a5674e30e8ca05ae747f652f8679f0c5c85d20967e9910ad853768a769a914580e82e409188fe4add80a3117ccb9da24c250406bc6f76fe4453799
DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05
DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84
DIST serde-1.0.204.crate 78253 BLAKE2B 6fdebf3cbcc0327b404caaae43c87ba2b6105374a5ee3eaa34d44866e782132cff535da4c069c007783b7b6468d55cb1ceb6a41da74b9eab03ace7cf4811e09e SHA512 2fefbeed0117bd791fd25dd5ad0c99ed4f60aac5919605b6f642050f748dd472bf9d4d121b78b0cfe8719db30a675559d097bcc7542cb57451d1779dfd8d294f
+DIST serde-1.0.215.crate 78527 BLAKE2B ca8e1175839ca45a4d78a155f5943396211408a85e0840b065c52948188010653d68fc4fc7b63bf2c39a11a6988abb7f6f3c6d878ca1373596e0a5d62186e109 SHA512 3da13f1a74393f1fcb6d659b5e060a11ecae358f55cdf4a2fd05bfc863fea6f75d3140d3bc74902f8feba8cddf7dae71a3f4e4e78e78e1b08ed46b3e4900281f
DIST serde_derive-1.0.204.crate 55871 BLAKE2B 8f0cdb244a820712d557a3273e505c4461f4d7db89e8394040b4c66ede787b6b38b4c9923b38959ab4042c9076b8af72008c0dd15ac93a0ecdeb99da8fb526ae SHA512 bbb2b5e60e2af5bc7528b937ffaf0d3ffd433dbd9cb2592c1e07090620309057e4f11cbd6112fc1d2c5557e1bb3c0f4d59eb06ff06fa021ec683ab880997140e
+DIST serde_derive-1.0.215.crate 57092 BLAKE2B f28bb66017599afdcd8d45c514b8e07854eb944c1dcf931e052a01ce421e0de6c20c13b3867da5922e2153e25ce88bf9fa27e2e68ddc9d212977f71fa0bd6352 SHA512 cae686bdf10c683149956ffe1c64fcf3e9b9bf0cd6e33b4ce7429d0ca35b9fdb55443693866c1202fa79348c6ea0f49ab3be3d5f857de4ae0818d2b4c8c67d9b
DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
DIST syn-2.0.72.crate 267069 BLAKE2B b0b979f78937a10a6db45f96d5d93c595427a4e158d658a2186419d89b219a4a405ade488d88d9ebdbd605ce4b706aba7088ab39a77294f3cf9847bf032d8f91 SHA512 c3d26bf9787555bc6fd8bd789855d252e80ad28a413593e13bad174adf86087ff195a6b4227bdeb6d1a1c87b0af8e965d6f2d04b8d45e7383b6de49990b92e89
+DIST syn-2.0.90.crate 290584 BLAKE2B 9f469001c1439ffe57c578119653d3021c2709767e8e881441459a190402679f4fb78aa65e7822ff20913801c3be00d9b8f115189ea8e63ed94ed359b40fc9e1 SHA512 44606124f113c259c19edcb2adc1378d8292b422d800604c0e0d1ba89bd2d13d518cf4a6afa58daded54da9cb285464aadb113815406a0f09c5e18f865789ae0
DIST target-lexicon-0.12.15.crate 26384 BLAKE2B d1ba50aa9d50647c6f778df86b35db1a4dee56fad918e6ef216688d9ac716dc5e8b40bff15aa89a99e4874e74d7e2731ad7fd9ea7094652def8abf57b74f9811 SHA512 32cf3e2da1c28003e1b6347abc8ae4d8182bf5b719ef84772271fc871dbaf96ec98c03b555a748cb8ab76584e67e17532757193d1d84b057cc90bed525727fb3
+DIST target-lexicon-0.12.16.crate 26488 BLAKE2B e7950e4a302059a1bfc9bc15618a3c1b971a17cffae117a6e8f5f63a0d82fd2bd02680301d15338612d5426d349dd24cfee30ee787a15a7d3187f2a6825e69ce SHA512 092639957c4a0391560b6442b31c47159c04d12e971010f730a6ec9cb5389e4be903ef3d7daa06db95e64dc78b6970731fb647179ebaad2b12e9ed5e9b24da27
DIST tinyvec-1.8.0.crate 46796 BLAKE2B 720d0e6d881855a36779e12f5ffa708d3a8b96e6d0de9056cb33c9b8ce0d408f99b22f5b2bb9d64bee72a011fef846dbebbea2ccd238d7b951eb5ef0c4866e05 SHA512 b7b32e38229645965900f80f298685f13e6d13e58cfd6945409a6643ca9c9adc2621456956d5998ab9dd91c2db4ae79638b156ca0d9c7c5505023fd9b28414df
DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unicode-ident-1.0.14.crate 47547 BLAKE2B 30e0b6d7f3a967aaf5b9d91237008a60c3a8ded53bda901696e23cea3931dd71b01ddab866dca9e31e17c395d5f5a68f2a938655b693e894962568c2cff5ca15 SHA512 7c6dcd1724e8cfedc37546d1abd49088b633dad228097acc73d7b6cab255b223e830c541144e05a00388fd8ca8066f27c18792419cfa58ee9da4460a38d0bc0a
DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5
+DIST unicode-normalization-0.1.24.crate 126536 BLAKE2B 1d6d535a1236562918d2625172d38c261854cd8c45cccc81c5d5aefb052db5d0e33981d95f5c87e8760cf77b3651c60b7ec1762421a7a9caa72fe7eac3f562a0 SHA512 f7af59688773319b9d1523955ce9b82e6735bd72358715ba5c056f41956ca050b6a612cae1b39199cc089674b3c71e4016d85d48167277c794c5cef3df881754
DIST unicode-segmentation-1.11.0.crate 102740 BLAKE2B 6ab5de53073ff56da4924e8c6ecbfa4bbd72a66b8d86f2c32b2f0ccfefee8064997a6b5311af5de2b71943089c9f52862e3cb13cf366cd645f57c96f2ac8673a SHA512 4914543cf022680f341c4a235f6d9204b3ac9a9098f34a80ee8c94e3d8ccbb82e78af016978eda910987533044593ac629a35286dc80707d349b33e405e86bef
+DIST unicode-segmentation-1.12.0.crate 106323 BLAKE2B 268b60aff6694434f05afb7e2b8187eeccdceb77460f8ce2ac0f84d470f8a4e03182ce3f7906177cd2f00f989273a7e69061a763006245f0876bf21b15076804 SHA512 55eebfe5e9972b39d7c0011d80eb5f517d636de37870999119a3d8f064f21f67b66a5ba9761d562738b05f220e21d56b5be7bbd9cc51662994e40dd67c38f946
DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
diff --git a/dev-python/jellyfish/jellyfish-1.1.2.ebuild b/dev-python/jellyfish/jellyfish-1.1.2.ebuild
new file mode 100644
index 000000000000..008399fdb548
--- /dev/null
+++ b/dev-python/jellyfish/jellyfish-1.1.2.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+CRATES="
+ ahash@0.8.11
+ autocfg@1.4.0
+ cfg-if@1.0.0
+ csv-core@0.1.11
+ csv@1.3.1
+ getrandom@0.2.15
+ heck@0.5.0
+ indoc@2.0.5
+ itoa@1.0.14
+ libc@0.2.167
+ memchr@2.7.4
+ memoffset@0.9.1
+ num-traits@0.2.19
+ once_cell@1.20.2
+ portable-atomic@1.10.0
+ proc-macro2@1.0.92
+ pyo3-build-config@0.22.6
+ pyo3-ffi@0.22.6
+ pyo3-macros-backend@0.22.6
+ pyo3-macros@0.22.6
+ pyo3@0.22.6
+ quote@1.0.37
+ ryu@1.0.18
+ serde@1.0.215
+ serde_derive@1.0.215
+ smallvec@1.13.2
+ syn@2.0.90
+ target-lexicon@0.12.16
+ tinyvec@1.8.0
+ tinyvec_macros@0.1.1
+ unicode-ident@1.0.14
+ unicode-normalization@0.1.24
+ unicode-segmentation@1.12.0
+ unindent@0.2.3
+ version_check@0.9.5
+ wasi@0.11.0+wasi-snapshot-preview1
+ zerocopy-derive@0.7.35
+ zerocopy@0.7.35
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Python module for doing approximate and phonetic matching of strings"
+HOMEPAGE="
+ https://github.com/jamesturk/jellyfish/
+ https://pypi.org/project/jellyfish/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/jellyfish/_rustyfish.*.so"
+
+distutils_enable_tests pytest
+
+export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+
+python_test_all() {
+ cargo_src_test
+}
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index 37a64204a00a..a11d7c268c91 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1,3 +1 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
-EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9b3521c5721afa49a58e0c35267f7d82bb56bd7e1d6d3152be0d36cd220180a526cb20b90b1113fbf0fff4a512137570f0b3bcf864498b7b7cc00403cb61ca27 SHA512 16d311400bf84a5f04e15f3da4b68b2810e4b005009f4d03dc8a487176dfc294403c976c412c83dcfa8084a49ef7b7d5389b43fb2ba446ce107ce4595e3558c6
-MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
new file mode 100644
index 000000000000..637368d2f237
--- /dev/null
+++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
@@ -0,0 +1,13 @@
+Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
+
+--- a/setup.py
++++ b/setup.py
+@@ -18,7 +18,7 @@ setup(
+ author_email='michal.danilak@gmail.com',
+ url='https://github.com/Mimino666/langdetect',
+ keywords='language detection library',
+- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
+ include_package_data=True,
+ install_requires=['six'],
+ license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index 56733bbffc48..eb2586280d80 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,4 +19,6 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
+
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index 020e07f2a3dd..c0f74ac187e2 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,11 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
</maintainer>
- <upstream>
- <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
+
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/line-profiler/Manifest b/dev-python/line-profiler/Manifest
index e961efc57d9d..1283416da0a6 100644
--- a/dev-python/line-profiler/Manifest
+++ b/dev-python/line-profiler/Manifest
@@ -1 +1,2 @@
DIST line_profiler-4.1.3.gh.tar.gz 103226 BLAKE2B 209fe81bfd29cad1fe5866af792294d956a8f5d4d20948335a418aa0c7c3c5ff23e271c49cfc6cf228287cb1031e00a0f540fc88f52ccc3a0c329443de17b188 SHA512 cc8367b40558647f097e33152bd1d8b241720a1ed79c1f1930a7958e333cecdf38bc7d1ab0a8ebfb11e3251fa076966076ec42a8b633dfcb9de0c598c02b8b93
+DIST line_profiler-4.2.0.gh.tar.gz 105578 BLAKE2B 5ccef934619986e225e338e6e8b99bc2182c571b8c5377df829d83365bafb0a23eefd5cdbe4bba92a728bc6ac3299084fb61177d342c9a0034c4fc1f9d69b45b SHA512 1ed1324445f3189d7a7b9528c96b0251e1a44faace43c9ca14ecafbead60134138803cabb7c355f7b943bed85720f53689fd40260f02c98dc8597128b945ce01
diff --git a/dev-python/line-profiler/line-profiler-4.2.0.ebuild b/dev-python/line-profiler/line-profiler-4.2.0.ebuild
new file mode 100644
index 000000000000..7fea6df353dd
--- /dev/null
+++ b/dev-python/line-profiler/line-profiler-4.2.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+MY_P=line_profiler-${PV}
+DESCRIPTION="Line-by-line profiler"
+HOMEPAGE="
+ https://github.com/pyutils/line_profiler/
+ https://pypi.org/project/line-profiler/
+"
+SRC_URI="
+ https://github.com/pyutils/line_profiler/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/ipython[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/ubelt[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export LINE_PROFILER_BUILD_METHOD=cython
+
+python_test() {
+ cd tests || die
+ epytest
+}
diff --git a/dev-python/lru-dict/lru-dict-1.3.0.ebuild b/dev-python/lru-dict/lru-dict-1.3.0.ebuild
index fcc056be8dfe..8d1a11ada188 100644
--- a/dev-python/lru-dict/lru-dict-1.3.0.ebuild
+++ b/dev-python/lru-dict/lru-dict-1.3.0.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_EXT=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
PYPI_NO_NORMALIZE=1
inherit distutils-r1 pypi
diff --git a/dev-python/mako/Manifest b/dev-python/mako/Manifest
index c0388276e6ba..c44eceeda6de 100644
--- a/dev-python/mako/Manifest
+++ b/dev-python/mako/Manifest
@@ -1 +1,2 @@
DIST mako-1.3.6.tar.gz 390206 BLAKE2B 9ead8381e738033d06950a537ecd04b8f83909027430f5d246a0dac13f3e7ad874353d3945d2d1f5ff188d5379db051a1092c68b84e0f6f4d93a7fc8ed715b4d SHA512 ad7a05b7cb4a330495ba5842d578565356d19912fee20e2d894a6e5a7812197944943d947eb15a539ef4a11d2bafde29fc7b007767228bd8e40f154d53631073
+DIST mako-1.3.7.tar.gz 392052 BLAKE2B 06e5c850f77c85fd5e11a66707f0eb3d318dcc5f5080f6a8f4292270a0195f17a032ecc87cbe418e2364e6ebe74e29ca2b6acbf9cdf0bc2b4992981acc85168c SHA512 b52bcaa688091ae0fb8195e16bec6b4075c1424073cb0aef9cfdd7a92a27386f492181aeeb6c1b30aea57a9c9c4c32dc909133e9ef8e1de858d24c2d816c776c
diff --git a/dev-python/mako/mako-1.3.7.ebuild b/dev-python/mako/mako-1.3.7.ebuild
new file mode 100644
index 000000000000..8fafab0f5a3e
--- /dev/null
+++ b/dev-python/mako/mako-1.3.7.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python templating language"
+HOMEPAGE="
+ https://www.makotemplates.org/
+ https://github.com/sqlalchemy/mako/
+ https://pypi.org/project/Mako/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-python/markupsafe-0.9.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/babel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ test/test_exceptions.py::ExceptionsTest::test_alternating_file_names
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ rm -r doc/build || die
+
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pillow-heif/Manifest b/dev-python/pillow-heif/Manifest
index a4be976894da..eb79d4e0a9d0 100644
--- a/dev-python/pillow-heif/Manifest
+++ b/dev-python/pillow-heif/Manifest
@@ -1 +1 @@
-DIST pillow_heif-0.20.0.tar.gz 16173556 BLAKE2B aa549d4344e2e7f04e85d287e5b800068823dd9c9af22cbc24d6891c7e7c23d2e875979a83aa3cd2fbaf1fe60488a885257d644f2b3528f5029c0900101689ea SHA512 2c11cc0d93b0b684a80c1b2b6c076928417f021cda1aa46f1806c39ed24a5283d7878a679bf7e6293b9e6f90d3c60c10c7ce1597c528c269cd8892dd18a8aa9b
+DIST pillow_heif-0.21.0.tar.gz 16178019 BLAKE2B 1ac057f4485331c36348f277b31d073dfe5d3aab69baaef0947449002fb095c81ffd562442f059afc29a19cafb3fa898b011c17a622963e6813a53dd2779c2f7 SHA512 9683b3eea9ea4dc0730bfab2e1163545ea31719b62cfd90a4f58aaf7ab401aef27afb7b9458c93daf9e5fa445b8f7f1ec3b3174fa9ae44513d9baaa10e777913
diff --git a/dev-python/pillow-heif/files/pillow-heif-0.15.0-respect-cflags.patch b/dev-python/pillow-heif/files/pillow-heif-0.21.0-respect-cflags.patch
index 0a3c021348ad..543ab690562e 100644
--- a/dev-python/pillow-heif/files/pillow-heif-0.15.0-respect-cflags.patch
+++ b/dev-python/pillow-heif/files/pillow-heif-0.21.0-respect-cflags.patch
@@ -1,10 +1,10 @@
--- a/setup.py
+++ b/setup.py
-@@ -206,7 +206,7 @@
+@@ -206,7 +206,7 @@ class PillowHeifBuildExt(build_ext):
self._add_directory(library_dirs, "/usr/lib")
self._add_directory(library_dirs, "/lib")
-- self._update_extension("_pillow_heif", ["heif"], extra_compile_args=["-Ofast", "-Werror"])
+- self._update_extension("_pillow_heif", ["heif"], extra_compile_args=["-O3", "-Werror"])
+ self._update_extension("_pillow_heif", ["heif"])
self.compiler.library_dirs = library_dirs + self.compiler.library_dirs
diff --git a/dev-python/pillow-heif/pillow-heif-0.20.0.ebuild b/dev-python/pillow-heif/pillow-heif-0.21.0.ebuild
index 36e98a4c519a..c22a7b4abbcf 100644
--- a/dev-python/pillow-heif/pillow-heif-0.20.0.ebuild
+++ b/dev-python/pillow-heif/pillow-heif-0.21.0.ebuild
@@ -36,6 +36,13 @@ BDEPEND="
)
"
-PATCHES=( "${FILESDIR}/${PN}-0.15.0-respect-cflags.patch" )
+PATCHES=( "${FILESDIR}/${P}-respect-cflags.patch" )
+
+EPYTEST_DESELECT=(
+ # only works with libeif-1.19.5
+ # https://github.com/bigcat88/pillow_heif/pull/312/commits/d740dcce7d967d025c4100611cc7a4632aa3fc3a
+ "tests/read_test.py::test_heif_read_images[image_path16]"
+ "tests/read_test.py::test_heif_read_images[image_path43]"
+)
distutils_enable_tests pytest
diff --git a/dev-python/prometheus-client/Manifest b/dev-python/prometheus-client/Manifest
index cfe71f9123a2..80560cb263dc 100644
--- a/dev-python/prometheus-client/Manifest
+++ b/dev-python/prometheus-client/Manifest
@@ -1 +1,2 @@
DIST prometheus_client-0.21.0.tar.gz 78634 BLAKE2B 878c6b3948ebb45fced9ceb24ef5ebb07b2538117712dc2b0a6365282fa1bd0e732f5c79bf496aa54386cc42ced458202b1537c6706e3906a6c48d71a3709437 SHA512 ad86e7d7eb1919bda77c5fe80e800721c6d93f8b849955903ec346c2c6d35130f7e179b470c261aba3d8aa2f2cb10c43dcc5e8c06024dcd79fac5818b87f76c5
+DIST prometheus_client-0.21.1.tar.gz 78551 BLAKE2B 309b32e8fd52576190c6010c52a1ec9c7cec5ce7a617285acb424dacf3cbc9a7cc4681b4fce1c291626d603ac9708c7e05d5562d2bd82c95558609b6477b2f4e SHA512 e62302e46d1dddd38463e02ed1d79448084cb76e0b2301c3af5ca4312646c450472a3bf42e4fda440d580635e8eec611948ae4a99b16961672ec3a34ce4a3df9
diff --git a/dev-python/prometheus-client/prometheus-client-0.21.1.ebuild b/dev-python/prometheus-client/prometheus-client-0.21.1.ebuild
new file mode 100644
index 000000000000..17cec18787e0
--- /dev/null
+++ b/dev-python/prometheus-client/prometheus-client-0.21.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 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="Python client for the Prometheus monitoring system"
+HOMEPAGE="
+ https://github.com/prometheus/client_python/
+ https://pypi.org/project/prometheus-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/twisted[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # optional tests, broken with >=dev-python/asgiref-3.8
+ tests/test_asgi.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/pydantic-settings/pydantic-settings-2.6.1.ebuild b/dev-python/pydantic-settings/pydantic-settings-2.6.1.ebuild
index 10bd7298f5a6..02f9e325888c 100644
--- a/dev-python/pydantic-settings/pydantic-settings-2.6.1.ebuild
+++ b/dev-python/pydantic-settings/pydantic-settings-2.6.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index d2e8cf6fff8e..6f74332738a1 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -3,4 +3,5 @@ DIST pydantic-2.10.0b1.tar.gz 777569 BLAKE2B 6fdde0673b28feb51921417b501b8a9fb43
DIST pydantic-2.10.0b2.tar.gz 781700 BLAKE2B 82a3d8e4ab99113ca3e5ac46e058d1844d0870ce4fd5d6ada2ef23cebfc19cb040c4af553088b07904b857609e872caa7d20946536c5ed77fe4a452093e52cf3 SHA512 93ffa34b34ced16746b1f3e53218b863284f08cb1ec2f966cd024826926305c69b8b3bdfb389b9f1a2f26e5b678b054c20cd15bb2849cd665457977e9338b5e8
DIST pydantic-2.10.1.tar.gz 783717 BLAKE2B fed0933c2f9443ab75cd1d8330944cef11abd0d1dad454c8b857ac76583c8dc9d32e1de99e7096b1e9b0134b258490dabd2b98db1c7901ef73fe5ef7c2675f1e SHA512 fd2283ec7463568f12e2a7a687e2a2b030441101f6c9aa621914ce1ba2bfd0b43da0767bdb0d1909a321f11cd37f85222eac4cc4ca59aa73a7b2fc6ccefd0f8a
DIST pydantic-2.10.2.tar.gz 785401 BLAKE2B b148575c16226b6abf38348edc1727013aab3450d18df42862f49d44535888b6674d553057563d89bea3f980592fcdafa125984f8ed9d98aff2a1da79458604a SHA512 07aeec5a6fb18b11a27128c24835cb2cc414aa9caa5b3c50c61d5a4aaeed27c5d6fff8448c56328b3d3b25265ed6bb07360172ea341c054f3457cda202e0a44a
+DIST pydantic-2.10.3.tar.gz 786486 BLAKE2B 74abce2fb92704ab15b4b855fb1d96256720cca086a9911a031a5ffcf3c0fc8fcc2c9975affca8796709a13b4c5173c9598ec939207aa544762767577dc7117f SHA512 d5264c29b042ce24e8c03bad7a7db1fa556fb84c90b287cb87ddc52560d60db3d363ed7f05ea1af9e1469e52150388c9b119982cea5272960c0db2b31bd57fc6
DIST pydantic-2.9.2.tar.gz 769917 BLAKE2B 4e34fda6a9e8e8331278d0b7d0c2dfd61bde637c126fa6dabf78a09c6ef993f84dc8df6af421c8fb6d69c8e1c387a40e4bcd38cbe02f5ac521c6c70821735763 SHA512 2aace9e79a98bd94e5dc626736a245051912a11fdce36013d2ad2f96b266052386a3e12b259dca30ddc38b63c6b00b5bcc9cd5e80f7805de4d8701064f0982aa
diff --git a/dev-python/pydantic/pydantic-2.10.3.ebuild b/dev-python/pydantic/pydantic-2.10.3.ebuild
new file mode 100644
index 000000000000..f3d3b68b6777
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.10.3.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 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
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-2.27.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/faker-18.13.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/benchmark/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ # benchmarks
+ tests/benchmarks
+ )
+
+ if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_pickle.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/pyglm/Manifest b/dev-python/pyglm/Manifest
new file mode 100644
index 000000000000..546f86117e38
--- /dev/null
+++ b/dev-python/pyglm/Manifest
@@ -0,0 +1,2 @@
+DIST pyglm-2.7.3-glm.gh.tar.gz 232356 BLAKE2B ae9c1dada06c33240eac906af5e6ecad903a19d62640aa569371a0aa223ebc0afa6d7f3cfc4ad419376bc43d5877e5e606f5e419d048306247f8b3eba352ca1d SHA512 9005100f39990b5b61eced679863d116bb6375060384c6e4cddbd2dc0caa3a66d165d9b294de84fdfe58e610f15500ffa172ca0760eba4efff9d91c65a310852
+DIST pyglm-2.7.3.gh.tar.gz 735017 BLAKE2B 9584c9f7dd7121843ccaa8b036d535532b29b3d4eee48b5ce24daddd1669160cf9f5262c08ef8c6912ccb3f8e39958a63563a2e0369ebc88b5673a3bd4822c77 SHA512 e48019abc27f8c6dfbad48d7fd94169f0cea24fb8ba3428ea7f418e7129eb900fc1c670b96637a3b7ff8a5fefbd3dbaa399738eb508523460d5b2a62e148a202
diff --git a/dev-python/pyglm/metadata.xml b/dev-python/pyglm/metadata.xml
new file mode 100644
index 000000000000..137044fdb488
--- /dev/null
+++ b/dev-python/pyglm/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gasc@eurecom.fr</email>
+ <name>Gasc Henri</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pyglm/pyglm-2.7.3.ebuild b/dev-python/pyglm/pyglm-2.7.3.ebuild
new file mode 100644
index 000000000000..05e2e400e1cb
--- /dev/null
+++ b/dev-python/pyglm/pyglm-2.7.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+HASH="fbc534be62f8c785db989f8ae7526edf6d0dc306"
+DESCRIPTION="Fast OpenGL Mathematics (GLM) for Python"
+HOMEPAGE="https://github.com/Zuzu-Typ/PyGLM https://pypi.org/project/PyGLM"
+SRC_URI="
+ https://github.com/Zuzu-Typ/PyGLM/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz
+ https://github.com/Zuzu-Typ/glm/archive/${HASH}.tar.gz -> ${P}-glm.gh.tar.gz
+"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ media-libs/glm
+ test? ( dev-python/numpy[${PYTHON_USEDEP}] )
+"
+
+src_prepare() {
+ default
+ mv "${WORKDIR}/glm-${HASH}"/* -t "${S}/glm"
+}
+
+EPYTEST_DESELECT=(
+ # Tests fails, see https://github.com/Zuzu-Typ/PyGLM/issues/227
+ test/PyGLM_test.py::test_findMSB
+ test/PyGLM_test.py::test_bitCount
+)
+distutils_enable_tests pytest
diff --git a/dev-python/pyrime/Manifest b/dev-python/pyrime/Manifest
index 703c4b88a9b7..5cbf2f71e386 100644
--- a/dev-python/pyrime/Manifest
+++ b/dev-python/pyrime/Manifest
@@ -1 +1 @@
-DIST pyrime-0.0.4.tar.gz 44562 BLAKE2B c120a3f52fada357db3249a352a46a1d7f62bd525f2c5080884a2cad26ff89711a2ec30c42fbaf92c6f6c3d30cb383afe97e91d721855758f73013f36a95ce13 SHA512 b19439ec60b2bf02209aefff28e2422a8668f97dfb8715f9a85dfb9fc0d952d15f209f43849955bb9a7b7839480a54850d46f11479a895967b212940721d9cc6
+DIST pyrime-0.0.7.tar.gz 42660 BLAKE2B 0166f8248c2af6451a39096dedba69e0f8448b92119795813813a306affebdf492e27c05c91e884df7b509ae53a37e9546419bc38abf127b85b870c5944da480 SHA512 e88cfa65ae9cba052fbf1110bf0270cabc3fe44898bdbbf5f59ca83cff192b678c0b2ea86d8385f4a2c43765b94c22667de605a2958099bd8444bdafe23f32af
diff --git a/dev-python/pyrime/pyrime-0.0.4.ebuild b/dev-python/pyrime/pyrime-0.0.7.ebuild
index f1e02d50d6f8..de102a11a944 100644
--- a/dev-python/pyrime/pyrime-0.0.4.ebuild
+++ b/dev-python/pyrime/pyrime-0.0.7.ebuild
@@ -21,6 +21,8 @@ IUSE="+prompt-toolkit +ptpython"
DEPEND="
app-i18n/librime
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/autopxd[${PYTHON_USEDEP}]
"
EPYTEST_XDIST=1
@@ -28,8 +30,8 @@ distutils_enable_tests pytest
RDEPEND="
$DEPEND
- prompt-toolkit? ( dev-python/prompt-toolkit )
- ptpython? ( dev-python/ptpython )
+ prompt-toolkit? ( dev-python/prompt-toolkit[${PYTHON_USEDEP}] )
+ ptpython? ( dev-python/ptpython[${PYTHON_USEDEP}] )
"
python_test() {
diff --git a/dev-python/pysnmp/Manifest b/dev-python/pysnmp/Manifest
index 454b33b5bbe5..1eec5aee6579 100644
--- a/dev-python/pysnmp/Manifest
+++ b/dev-python/pysnmp/Manifest
@@ -1 +1,2 @@
DIST pysnmp-7.1.13.tar.gz 378397 BLAKE2B e10c50b85f604211f0b96199150fa3580c40e7acac8670fe1419d2095fd8bf479ce0c4ff1ef77a69f2c178e0c9f8b8ccdc72ee75acb3153cfc428d398bf0051e SHA512 630dd81ea6db5c7b75564031c8382408fda6a4625fa9f694a57f9f3570c70293de2560f3b1fb607d929d604731633dcbb9e6fd9cb9a8b189ef339257a3c16569
+DIST pysnmp-7.1.14.tar.gz 380516 BLAKE2B 972426164598d1579b174cadae84e610cfe0a8c5574c25cee8ea8dca804021900818a2d66c89df6d185257050f88625a1cdddcfcc5b43fcf03d053523bdae9cd SHA512 edbce007d53bd0a876bef7ee2b0286b46f6c6a33b9da89a82d737580bc31a34197a9ad490e4d09441984ccc89b61110bfea2a9f563a84b081d4127a29bee1c80
diff --git a/dev-python/pysnmp/pysnmp-7.1.14.ebuild b/dev-python/pysnmp/pysnmp-7.1.14.ebuild
new file mode 100644
index 000000000000..59db4fe102cf
--- /dev/null
+++ b/dev-python/pysnmp/pysnmp-7.1.14.ebuild
@@ -0,0 +1,49 @@
+# 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 pypi
+
+DESCRIPTION="Python SNMP library"
+HOMEPAGE="
+ https://pypi.org/project/pysnmp/
+ https://github.com/lextudio/pysnmp/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~sparc ~x86"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/cryptography-43.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.4.8[${PYTHON_USEDEP}]
+ >=dev-python/pysmi-1.5.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# TODO
+# distutils_enable_sphinx docs/source dev-python/furo dev-python/sphinx-copybutton dev-python/sphinx-sitemap
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/smi/manager/test_mib-tree-inspection.py::test_getNodeName_by_symbol_description_with_module_name_2
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ mibdump CISCO-ENHANCED-IPSEC-FLOW-MIB.py || die
+ mibdump LEXTUDIO-TEST-MIB || die
+ mibdump NET-SNMP-EXAMPLES-MIB || die
+ mibdump IF-MIB || die
+ epytest -p asyncio
+}
diff --git a/dev-python/python-daemon/Manifest b/dev-python/python-daemon/Manifest
index df8de7b158f9..ee2c30ce17d6 100644
--- a/dev-python/python-daemon/Manifest
+++ b/dev-python/python-daemon/Manifest
@@ -1,2 +1,3 @@
DIST python_daemon-3.1.0.tar.gz 61947 BLAKE2B d6f24cb72a033401a2eb1149c359ec49e044b0d549ae8ccb337dc60525f3ad80efd8646a50a51e6ba0768a5e8e77a3a5bd5b1a5aea3b54c5546769a5599d49ad SHA512 d7641baba841af8724dd37b66db605d07a62c947f01ff6328c44aca56deaa5a0891b8fe3bbbf5840e16c7080402776676892f105aac900944a8d2921a12edba4
DIST python_daemon-3.1.1.tar.gz 71104 BLAKE2B 56ab3f178233f4fffe64413d34046297f1a136b9e6843e5f90a05e2634bb6cad49dec39ec66d85bf3edd003127ee57a0ed772b192d073e8d7a935956b0992cc2 SHA512 faf074e8ef07b5cda32cbdd66f613d2830569d6a0316b8048e0173b65c45b5472a42a90edacecb811c4cd7daf1d239f898f8a939c4dfb807ef88455f2dc27a9b
+DIST python_daemon-3.1.2.tar.gz 71576 BLAKE2B 605b84271935e5c8bf54aee64f4a4a4dfec06e87acb7d2edd2c7676c67f0b1b933bceec29ab91debad8745e501744cf507f745e1aa0b159f7b600257ed68815c SHA512 3901b9f14f11b8765eb31874fdb9410cbda1425ce70d2702827fe4745b5b8fb93f23e9f71faa6b0ca001745aeea03c186c4e29d973cb12a5912340dae6aa2ee0
diff --git a/dev-python/python-daemon/python-daemon-3.1.2.ebuild b/dev-python/python-daemon/python-daemon-3.1.2.ebuild
new file mode 100644
index 000000000000..96b64c9f1ce1
--- /dev/null
+++ b/dev-python/python-daemon/python-daemon-3.1.2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 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="Library to implement a well-behaved Unix daemon process"
+HOMEPAGE="
+ https://pagure.io/python-daemon/
+ https://pypi.org/project/python-daemon/
+"
+
+# build system and tests use GPL-3.0+ but none of these files are installed
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/lockfile-0.10[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ test? (
+ dev-python/testtools[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # overengineered logic with NIH deps
+ rm setup.py || die
+ cat > setup.cfg <<-EOF || die
+ [metadata]
+ version = ${PV}
+ description = ${DESCRIPTION}
+ maintainer =
+ long_description =
+ exclude = doc
+ EOF
+
+ # tests for their overengineered setup
+ rm test/test_{setup,util_metadata}.py || die
+}
diff --git a/dev-python/python-olm/python-olm-3.2.16.ebuild b/dev-python/python-olm/python-olm-3.2.16.ebuild
index 7b0db6fb774b..f98a4e501489 100644
--- a/dev-python/python-olm/python-olm-3.2.16.ebuild
+++ b/dev-python/python-olm/python-olm-3.2.16.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_EXT=1
inherit distutils-r1
@@ -20,7 +20,9 @@ KEYWORDS="~amd64"
DEPEND="dev-libs/olm"
RDEPEND="
${DEPEND}
- dev-python/cffi[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
"
EPYTEST_DESELECT=(
diff --git a/dev-python/python-statemachine/Manifest b/dev-python/python-statemachine/Manifest
index 457e2233f0bd..d50202bcfd58 100644
--- a/dev-python/python-statemachine/Manifest
+++ b/dev-python/python-statemachine/Manifest
@@ -1,2 +1,3 @@
DIST python-statemachine-2.3.6.gh.tar.gz 351057 BLAKE2B 03d605b0389dd9fac3e2d8a979295ab7724a79b2b1e677cbd114d8eddaa9a987f361aebbea29eb670930fd7978cb1d9f59ef2a40ec98f9c515d080fcc902f25c SHA512 cc8400a118da6d54b97108ff8b11462aee32dc28ada97fbf2a68049de2659c5a7faaa24802fab376b72586c1052db13b67b570a5d62eb9c28252572d14634215
DIST python-statemachine-2.4.0.gh.tar.gz 362766 BLAKE2B 79a34b43841cf920ae1eb87821c19d31f4dc1eb59903ad1cce6166586b44ed7437278ae647ffac190bd1dc795d251b81022b51aef644607d5f2f7b92f1c89e9e SHA512 fc51668efee69a2a59c5f3a5bbb08e6a6647a819175bbd02305e6eac51d0f8ef31c4e89f85dcb7451c24681ee76f0534e676995e134c0cbbed4d680c5418c612
+DIST python-statemachine-2.5.0.gh.tar.gz 405778 BLAKE2B 5c85d7c75de1fe77694acc50a31b9f389a1b0b7ec572939a9662ef2b538b506d8acc30ee3d8168d21ca229c1ce7bfd14b4c54946dfa5d7577cb67ec1a3867352 SHA512 79331758fe305525fd7f97e3e1a9eecc22f79e96047080a31ad8df8d033b506d39c79fa5fe9e20cc2cb63db271517842ffcdab3f1fdb9785d135d3f65dffce6d
diff --git a/dev-python/python-statemachine/python-statemachine-2.5.0.ebuild b/dev-python/python-statemachine/python-statemachine-2.5.0.ebuild
new file mode 100644
index 000000000000..5f1e8a92703d
--- /dev/null
+++ b/dev-python/python-statemachine/python-statemachine-2.5.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Finite State Machines made easy."
+HOMEPAGE="
+ https://pypi.org/project/python-statemachine/
+ https://github.com/fgmacedo/python-statemachine
+"
+SRC_URI="https://github.com/fgmacedo/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="dev-python/pydot[${PYTHON_USEDEP}]"
+
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ tests/test_mixins.py::test_mixin_should_instantiate_a_machine
+)
+
+EPYTEST_IGNORE=(
+ tests/test_profiling.py
+ tests/django_project/workflow/tests.py
+)
+
+python_test() {
+ epytest -o 'addopts=""'
+
+}
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
index 0606468ed5ca..b68e2378d875 100644
--- a/dev-python/python-tests/Manifest
+++ b/dev-python/python-tests/Manifest
@@ -2,16 +2,25 @@ DIST Python-3.10.15.tar.xz 19596540 BLAKE2B fe62f7c7377136576e73a59b5f0b3c9729f9
DIST Python-3.10.15.tar.xz.asc 833 BLAKE2B 31858fe2d3c8d868417eea66de1cf0b2fc7880e73ea7770b50191b8088bbd1c78485c64d94f6f005d18cef559d7e8e0906cb2a30aa1472d90f5af4cca045970b SHA512 0cac9b78649330a2a35a835d45e4a8a111db45943cc0ae0d24f5d9e03a058b4b739fe43d6cd1aee481dcd415a57820bf875996fa60b81d4d5911588db5adad70
DIST Python-3.11.10.tar.xz 20067656 BLAKE2B aba211a09e4c083d71574c7537ba98474476ebf7092ddda815f8d355d01605456868a89f0bcc6a9e747f71f914fa0129547de2ae70d8b579c6458fdeeafd23f0 SHA512 6ce77cced1ce90bb5eea38504dfc1bc19c872149a5a63fdd8353ac8c772c54ab7a42176e141c7f6f898d31761bf93e1739b238920fbeefbedd6016ad033c1de0
DIST Python-3.11.10.tar.xz.asc 833 BLAKE2B a1cbe57e568367fbc5817c983696619f515263a9b37662ca536c4d1132ad336959285bbe3076a251778016966f030d1e259f48accdb0df67c116af0e335acb8f SHA512 3a9efe1dd39fd6883ae3fc8dd7f6e25af7e06c6e6049cf9a31a1a82e6d7c84f85ac838d2a71127977d93ce77233a8bbff86a10a80d24fcee85a4e70fcbd1db19
+DIST Python-3.11.11.tar.xz 20085792 BLAKE2B a9a778eff94529e1029ae252ef28ecdc2f0673a4406d831865e12de3cba21ea48905542d0e806e428802b05947239ca6a44eff3573bd541469b01644790c7377 SHA512 3ff90f15f725fa8d06686158aaddb887a247b03ca4dc1fdfd81a8efb53373db3e8673bd0b3de30bb7669f3f07d9854e9d8a2dbcd49b18d15b8172787a53a0a9e
+DIST Python-3.11.11.tar.xz.asc 833 BLAKE2B 6a9d873e181d636712567ea46823ad7f972f872d038092506e67bada24187441188b8fde4672c205ce6d37e60c4e0c69a8f3cc5d1915fd8f5dd8743292a16d1b SHA512 d71b0b42537fb636e8c469d62d13ff020149e4fb9d87eb17f8c999301195e418d134dbdb7e4ab49b06de16e96f8ef6bbcf2a749956fffca2ce03185f191c181d
DIST Python-3.12.6.tar.xz 20434028 BLAKE2B 527fafdbfd0c1784ff72a93cdeb3f49666bae7d9343b6d1e4ef773fc52bd397081b41bec3ee9ed5b7652f28f09f29a1b553424cef26aebfa6c2e13499870bf2b SHA512 e658b0d59b5cfdc591d626e8282b9945759f27ee6fbc8bcb8670737db32ffc11fb832dfed9b0e80188fb5f7f3f39fe6dd6191ab7736376453c9e248321e9b063
DIST Python-3.12.6.tar.xz.asc 963 BLAKE2B d5f9e4c5053610a1a53769278e69d8a25e2fb047afb2a55dfee67917d8d200ebc159e614327ac87f34a4a9718cb3436b55190322ee231116b26074a78bb72642 SHA512 91a15bb7e8dd26616a2cdabe69c3ee81668cc67cb55a88b2be20433d24c9f8ae41c8f93f67aff2fa5858cd5b94600409cd472bd437a2fd33153483734ecd863f
DIST Python-3.12.7.tar.xz 20444032 BLAKE2B eed8744261cab3b401963ec5187a8b814adb9a18f8d0a6a3d59c027a83cf8408524af9b20204b0a0861d173cc33c45ae37bb1542a1ace3344dc59c649087ff1f SHA512 4a363d3f852ad8f4fd1484aa4cec35494a3811be48ef67fadb2bdf2e2489ed07dc78fad6ab475257db503ddd64d39f9800f23a1c94b6bbd15b7f632cff0c90ae
DIST Python-3.12.7.tar.xz.asc 963 BLAKE2B 8c7db3d1971d93a10c611a2e6dd3679d0b331b48df87b5fe410b089061e48753d98af67084d4f051a31ae803fce3aa3c7af7cba9c692640f50068bd1e46f40e6 SHA512 4d0a7a0da2c81888e93d8ff89ca2ed4bb85a7b0bd00f0d54a14e2c201affac2677ef3984d2b5aea253e624f6465548d9032eefdd9033c1eb3864d82cfd8d3df0
+DIST Python-3.12.8.tar.xz 20489808 BLAKE2B 24b9a5abafdb9fedfc371e7acf0efce50bdc6702050c4f5f0b9e97916a899e3462f928cb217c48e6ffae6fdd4d2cd7c05c5f1d73eaa9ef646f4b3281db5ca977 SHA512 406ce1146c4c2c70d252df56bbe9e5970ef469395cbaa211a96af71f32de2cf7abd944906920cc18b4a470027e63a3f64bf7679fb4954b31bf4ca4baf24fa370
+DIST Python-3.12.8.tar.xz.asc 963 BLAKE2B 5aeacf16d337949a66bb56e346447e7bbcd9166b60fc512c98bcff6862976732ef2e3ac59869cd9df29a653c2bafd4af63b1e6c14f4c6603efb85d5c3dd88357 SHA512 19493499ddb80764aa105e100585d2ef872798dc30fdff2e31d158cd7fd65b69ca133c6d9d16eb974660eed6ba474a26a2af3acd13a90522cf50e142492bd9a6
DIST Python-3.13.0.tar.xz 22532980 BLAKE2B 4a4e397199402de8c9fe8e4d63443ed972cbe8a4f541743908d699c7987127d159d600fd14145b6a946e8671426279d230c9155fdc5863c1e49a945eedcbf21b SHA512 44a143c9b96b55b01885ec020c3364265bda55289615cd7d5071915b0d0178a6f35e7551a89090001fcb7f3172d38177a56bf8b8532b15c9dbc50295c9210152
DIST Python-3.13.0.tar.xz.asc 963 BLAKE2B d05f02692a9fea42b73dbfe5dc42bd6533555e5ecb848510d2b94bb7f0e55d4a0f89bcd20b073ed2c7f7a68be35b12cb6dbff6bc16fc9a4592ded2c339ada7fd SHA512 1b8bb0fe4eb93e31ec1770e90b94d44b5864c0391aad5dcba3a30d8e505d9b17107385414353c0060007f8a536254f49b8e919f36ddf6421a6e4330f817f1a3e
+DIST Python-3.13.1.tar.xz 22589692 BLAKE2B 161d5c0a7b4cacc4ce9983f9540a7e01662a7b76cbb34c5f3681582b0e7207574bdec5ad7bf79d820d8744b69bc2fb7196cf07a2ecadbfab6a158872f562741d SHA512 056c9b5fc0a6b540f41513d045f43c1ed463d15e0f345cecec703ec9c2335e53b4beb19de9c74ab2b236b023f934d5fd9ae7727a808634eaa01cfe66018a9a35
+DIST Python-3.13.1.tar.xz.asc 963 BLAKE2B 47cbfb6bceb92716181a0ed8f41742958568e62609fa4996d341e465bd6be0ebcab586ba1ebe275aa3a99108221be047fab66ec4b7e90af27d9db7524b6b4951 SHA512 1b56b7c2f547aa39c75c18978e174debb113444ce3f9da3829ba6842e3160051e0de70bd49d306b8014299aa8aa911d7c67efe71dd648c3528cf8d7535a01599
DIST python-gentoo-patches-3.10.15_p1.tar.xz 24048 BLAKE2B 191c28ad9bc781d6f3077870e8d40ff98a47a64009ecfbbd10fe2b3c5330692181837fd3e9b336fd01f936a39160fc12761b2ef9bc00843248ab978cda2e2767 SHA512 4461e351c991694415e2812e558d6c3d3f79295358623dc955bc0839691a170d95a3efd31c0bf9f0d6191e4184d7b55fdb485b948d591782fef5b060d7660cce
DIST python-gentoo-patches-3.10.15_p2.tar.xz 25284 BLAKE2B 24ecd523dba88915db130b174a5d692b9218decf81db7617ba016d4e21555cefa807e344a490110bcd3992637a95d0ce3179b219911417d29d008b4e2b5d7b33 SHA512 e1017b80272c57c18dbf7e1515d50fe13ead8de028d1ccaf1339a93ad4b0286f758979ee6f27011fa12350855cefdbdf049927bf2dd185905d4f3fe146c5bd68
DIST python-gentoo-patches-3.11.10_p1.tar.xz 10592 BLAKE2B 1cc02d22b55cb76beba133c37e6db3b9ba12b11cd8776acb064f14431842405cbc9efb5a06319cff1c73d9178ddbbe2e340829d4628c88a9589aa2fc1d308f80 SHA512 7ddb08e4d8a9173a26fa18de687a4c85c3d460e2bc595da6f4b15cfe3be264ccdc7d61d5fed1e7a82f256d21caf3ea7de87f774fde61a9d37bed15f86f546adb
+DIST python-gentoo-patches-3.11.11_p1.tar.xz 11644 BLAKE2B d080e1b987ea0e1b397113f20a5c84f6a34d6619a3ed9f7389fd10d95636169563fba97d212477ca7f9b93d2bd0b66c9521fc61963bb468805a661ca3ab287a7 SHA512 f6045adf25923053fc9a60506b9164c9c062580d6886f1a3dcaca00dc4affe69aa9e138f8ce93f093798ccf33322ccca2aca674ab87457df98a93dcaca234b44
DIST python-gentoo-patches-3.12.6_p2.tar.xz 8144 BLAKE2B 2f36ce972e0b3e2884c9df629e3aeb1af05e4c77dffb866ff28e08a0a7df3c7cf36a9de250d148d909c07fd5bad483c95b3267818657c04e7d0d6fe512e21f9a SHA512 caa86c6cf693f9293b3aa8944452d117b78c1c3f8d6a6aa658cb5c2d2ffb0cecc6cf14b293872bd2101766ee7167ba88183904b2814090f8cbc64c1fa3b771be
DIST python-gentoo-patches-3.12.6_p4.tar.xz 8764 BLAKE2B a75b9bc3768f1e07272f43d1a8f0fb6858eee7c786bc3141cd152382c287ee984b92ff1301e5894db7c24af994ee52ac7374a3edf692aa4255c1413b73209020 SHA512 237c9e8b50173a757204621d7019f68f230ea3e520ea1f078528acfb509fe7f44c0919a8ac0245e79b1a51c3e3545dd9ded51047451048ca782e35b1c4365363
DIST python-gentoo-patches-3.12.7_p1.tar.xz 10228 BLAKE2B 71cc6034201198d9483414fa362d68b550bfcbf75ca6f44dd8ab9d90b201098a05cbf4799b1db9359f4dc464acfcee9b0ce59045db27e8e9ce916b5aab010448 SHA512 22f9256c28b96723ad86878cbe44da155e280a8df08c6bcc568dc5296aca1a6fcc41ab823ee9e6d34ce5954bbedb76aea7dba2d9189e0558c536e8b2b9a3c8ce
+DIST python-gentoo-patches-3.12.8.tar.xz 10772 BLAKE2B 9833b5ee6c307a4aa1335fd966fcd64a0f3732a97a190abdd3121b3496ea68ead9436af4ec5e3e8c0e781fd68df41403a1b2e5f29f264fc8569a883141e5f7f9 SHA512 d5906845a6259f7349a0299e185f569750b493c64ea1f6537dc8bfc0babc9b54de7db1c4f1b5b6ec2f7076937ad07ca0ca9c4941bbb8d542da6c687957bdbd5e
DIST python-gentoo-patches-3.13.0.tar.xz 8316 BLAKE2B 8fb8ba8f41f310140ad7066b614952023112d5043e5d82058364125611785144c1843e87eecb7669bcbab51c40d0694069526219f7419a7009517ce0821b74ba SHA512 0eb31ebfa3411020aa70b3b66fd7eec98b4b7a686b0e8f1f7ed76a8186a7c1ee85ccd9565a86a1d7ec13b975855eeb7303036af05e2dfdce3d64e4ad99299df4
+DIST python-gentoo-patches-3.13.1.tar.xz 8320 BLAKE2B 2fef9c501df7ed7603eabb3e01a8c3bde5bcfae3a8ac9bbe772b458cb04ffa9598cf38f3a74f6dcbcda29e7bd294d664b8fb12f7ddd9e0e42ed6268300947bb0 SHA512 419e1f12daaf19ed2d2195699b5e8c2c604779562d84d6a68adb4016dcb13fc3e0383ccc4b01eb153930600e6c9cdcc518929ffce3d6343019226a6111e9d617
diff --git a/dev-python/python-tests/python-tests-3.11.11_p1.ebuild b/dev-python/python-tests/python-tests-3.11.11_p1.ebuild
new file mode 100644
index 000000000000..70726a3617cd
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.11.11_p1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.11.9_p2-r1:${PYVER}
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ local dirs=(
+ ctypes/test distutils/tests idlelib/idle_test lib2to3/tests
+ ./test tkinter/test unittest/test
+ )
+ local dir
+ for dir in "${dirs[@]}"; do
+ python_moduleinto "/usr/lib/python${PYVER}/${dir%/*}"
+ python_domodule "${dir}"
+ done
+}
diff --git a/dev-python/python-tests/python-tests-3.12.8.ebuild b/dev-python/python-tests/python-tests-3.12.8.ebuild
new file mode 100644
index 000000000000..1d5ca0c330a0
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.12.8.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.12.5_p1-r1:${PYVER}
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/python-tests/python-tests-3.13.1.ebuild b/dev-python/python-tests/python-tests-3.13.1.ebuild
new file mode 100644
index 000000000000..56462beb82dd
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.13.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV/_}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.13.0_rc1_p3-r1:${PYVER}
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/pyzotero/Manifest b/dev-python/pyzotero/Manifest
index 6b5c5d504c53..4bb760214106 100644
--- a/dev-python/pyzotero/Manifest
+++ b/dev-python/pyzotero/Manifest
@@ -1,3 +1,2 @@
-DIST pyzotero-1.5.20.tar.gz 526300 BLAKE2B 7f9110d70843563ce675c2efadc2e7f336671e4e6c9b70ead48dfec1680dd48ec3b4f6ea2898ed37e4548bca4cdeb68d4f50e68f617aefcb94002c9fe1881a40 SHA512 925b1c735c05a251d19de64565e83a91a88e6f21ac9ce0a14bb6fe4288337ff3564623589d1bf1b3c3794d25081e72aa21b9582716a2e4391f404107a9d5a62a
-DIST pyzotero-1.5.25.tar.gz 527019 BLAKE2B 4acc2dcfa581df45d7db44f15cf2200a456b170036baee8b506e49e5edf020bc9330caa072fa6cac439f0bca3b093401d57a8b157090ea366fcdd55575782ec7 SHA512 7a5e897d54a2b9a87155a0dc47aa4414a746184deae6931ee3d277c5913fe813c87bf2c658b2567cfe526aac98e0d9d8e964c4a9de507f5be4becda539aacecd
DIST pyzotero-1.5.27.tar.gz 543758 BLAKE2B 6e1e0c2cc8b36eafc4dac20dbc0a2b4ef03d5b0760c24af2cd0e7ed4d12d0501e509129e76de424f961785580915fb581c02a0ff44810f12915c7380876633f5 SHA512 a6b4b4502e1734a6e957fba3e4d193d62d2a03eefc61e866530c561bc592c42ca56ee8757e829ceec1a586a4adc7391e769e18850dead9ce3acd1c06fa8ee941
+DIST pyzotero-1.5.28.tar.gz 543724 BLAKE2B 9dc01bb0af052936419c47c02f02da4bc1aaa14c4b3307902b3119bda967f4b7f9a1ccac9dbc3637485d236acac606247bc1baeda8942084914254fc2dcb48b9 SHA512 0a11d0326b25f23a1a8e016668693b29571227097de0af8fd9b3c24ee90a56150687fa1305ef45c232aa9a6b7d8c705b0d3d72695cc8316b5d0015b8841b638d
diff --git a/dev-python/pyzotero/pyzotero-1.5.25.ebuild b/dev-python/pyzotero/pyzotero-1.5.25.ebuild
deleted file mode 100644
index bebe284de971..000000000000
--- a/dev-python/pyzotero/pyzotero-1.5.25.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2024 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="A Python client for the Zotero API"
-HOMEPAGE="
- https://github.com/urschrei/pyzotero/
- https://pypi.org/project/pyzotero/
-"
-
-LICENSE="BlueOak-1.0.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- app-text/zotero-bin
- dev-python/bibtexparser[${PYTHON_USEDEP}]
- >=dev-python/feedparser-6.0.11[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- >=dev-python/requests-2.21.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}]
- test? (
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/httpretty[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc --no-autodoc
-distutils_enable_tests pytest
diff --git a/dev-python/pyzotero/pyzotero-1.5.20.ebuild b/dev-python/pyzotero/pyzotero-1.5.28.ebuild
index bebe284de971..bebe284de971 100644
--- a/dev-python/pyzotero/pyzotero-1.5.20.ebuild
+++ b/dev-python/pyzotero/pyzotero-1.5.28.ebuild
diff --git a/dev-python/questionary/questionary-2.0.1.ebuild b/dev-python/questionary/questionary-2.0.1.ebuild
index ed65a802f615..c1410c65c081 100644
--- a/dev-python/questionary/questionary-2.0.1.ebuild
+++ b/dev-python/questionary/questionary-2.0.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/repology-client/Manifest b/dev-python/repology-client/Manifest
index 3c76498f3802..590b365fc1de 100644
--- a/dev-python/repology-client/Manifest
+++ b/dev-python/repology-client/Manifest
@@ -1,2 +1,2 @@
-DIST repology_client-0.0.2.tar.gz 432386 BLAKE2B 5ef3b7ed8a9f79a889ef5dd6506cb9d3b44d0f2e45419412629c3d4bb31d0166a2279a5db26e93a136da3f2d885f92feb5f1626d511cf2b2a21cc30b498fa1d5 SHA512 fa58633c03e451bc751d478464f2c3deadb5558ae603139bb658bb273e111d11da43dcdc28afc9c7d397adb2b9a158501ee008a74ba435c83a55af0c4c482687
DIST repology_client-0.2.0.tar.gz 801523 BLAKE2B a6d9c1ed1f419d770930cfb5b5e64dee6381da516b7f1e6014f4e72394de73a02d3552f13cd0eee85e6ec827fc6d34b442d63099645988a120fd93b8ec39c06a SHA512 f60bf0c428093e4bbbf239fada260d0e4dbdeedd0f38ee3f802ad7b3dd95faef966c77ddf0ca3ce92cb130a6f35c31266dff6b1f7db25959eb725ba043389290
+DIST repology_client-0.3.0.tar.gz 895370 BLAKE2B 2bf22860735d33ca0db570c4f4880084f0be2863fbacddaedef096f3e5bb216f2b678057f9e9d6b3318889181013ad8dbd9bc2d228caf8632a9bc72bfc4e1753 SHA512 b3a22e1c86c351ce9a44299e85e5001f0cd9abe5e3125e15c0b83f237b3ed31541d28bc543060ccb81a04413b2ceb596a8b91b0adfa01d061f2fc158066aba8d
diff --git a/dev-python/repology-client/repology-client-0.0.2.ebuild b/dev-python/repology-client/repology-client-0.3.0.ebuild
index 83ab5aef5715..c9d72556bb8e 100644
--- a/dev-python/repology-client/repology-client-0.0.2.ebuild
+++ b/dev-python/repology-client/repology-client-0.3.0.ebuild
@@ -16,12 +16,14 @@ HOMEPAGE="
LICENSE="CC-BY-SA-3.0 EUPL-1.2"
SLOT="0"
KEYWORDS="~amd64"
-IUSE="test"
RDEPEND="
+ >=dev-python/aiohttp-3[${PYTHON_USEDEP}]
<dev-python/aiohttp-4[${PYTHON_USEDEP}]
>=dev-python/pydantic-2[${PYTHON_USEDEP}]
<dev-python/pydantic-3[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-core-2[${PYTHON_USEDEP}]
+ <dev-python/pydantic-core-3[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
@@ -33,5 +35,5 @@ BDEPEND="
distutils_enable_tests pytest
distutils_enable_sphinx docs \
- dev-python/aiohttp-theme \
+ dev-python/alabaster \
dev-python/sphinx-prompt
diff --git a/dev-python/rich-click/rich-click-1.8.5.ebuild b/dev-python/rich-click/rich-click-1.8.5.ebuild
index 1a354b01a458..d52764d97ac3 100644
--- a/dev-python/rich-click/rich-click-1.8.5.ebuild
+++ b/dev-python/rich-click/rich-click-1.8.5.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
inherit click-app distutils-r1
diff --git a/dev-python/rpds-py/Manifest b/dev-python/rpds-py/Manifest
index ea7b3f8daac5..a70cb372bd06 100644
--- a/dev-python/rpds-py/Manifest
+++ b/dev-python/rpds-py/Manifest
@@ -11,19 +11,25 @@ DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa
DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
DIST pyo3-0.22.6.crate 546746 BLAKE2B 2a6f8c5ce2ee96e1812177a11c5fad7e15f3a73d9e30850edf0855b13db6cc95427e186883b4aae25a2d2466d3fe82f56180a39f3e6e0a54bb0a3ef78d495400 SHA512 d746007eae22f5b7bbf173759c61cbd2aa893898d88b8be5680a0237deec4d113246edf5f62fbbec3579ad4bd7307499b94b887ec306112ffe3df5190fe70e44
DIST pyo3-0.23.1.crate 1072552 BLAKE2B 1d83f3d853eada9d10e7502c76ba665ccd75afe51ad8f09e6b72d076aba4eab5da535bcd9f0d636d9a5a120dd632d67bf89b65fc4372511b042a74bb697be56b SHA512 6f0f457669c0d5d54196e4d7f10a78c8ef1f576ffaf01e11fd142634949e9b1e12c8e4dcf041f9bbe21f7e9b4779ff7ac1b625b3d0ecaf8e448b468aaef7b3f5
+DIST pyo3-0.23.2.crate 1073639 BLAKE2B 01ddd26a4e347f3b6d7fee215a1894e779167730710373d59712f2119332fcf287d9c0e75d3d28baff8cf5000afb9d0e577947a26bdd8828428d33aa0f8be537 SHA512 b2b40809e1f26978c140b7ca4ecebb661a47fc01cd03fcd5c486076576c9b229de04f15ed55661db4e26545cb29110f1034a185abb623e4bf7fbb69188db335c
DIST pyo3-build-config-0.22.6.crate 31369 BLAKE2B a1a72de120c4ac4f23a3faaf9b2e340231d7a778a29083ef25fd863fa213afb2a9b720333e3d46a6e1d32105f63073276a23b9bcd999a97fe71eaff3afc7db99 SHA512 9ab44c830e56ddb9ee537ce438fc690664d2c5416f01cdf72498ce062e4c1e7192eac8b7dc2de86c9f2212890b133b69a66209b1615c4eabdf4eaa6882a980fe
DIST pyo3-build-config-0.23.1.crate 31755 BLAKE2B 7cac76855763159f61c26bf401545d12a95d8d0970ce4a0ae90e5b7ad1d67747af5414c02b8848042b4e2c2aa773d8cfe3b3db077895d12305097457dbd0ea60 SHA512 ec7b47db39e910760373adf3c035d7bef0cf48595562bf8c70d6ecf98ae3a676f19c94302bcf29dae60797b0dcd180498bf41faa65d6a6a268a0e2b14a309e42
+DIST pyo3-build-config-0.23.2.crate 32197 BLAKE2B 393c76b1dcb625145673736272d4cb9d96a02df87ddcc385316652f0ff1b5595a34ebe5d789f61888c2fd82de05476c85f781d21018bd99cb630fa634afee203 SHA512 29678272073e896cb0b65efb0eaba40c82977b18efd389597aef8902e32daff51f2609c6be93ecfe0336260446c3186951f770ff449823cdde5a0518a1585c81
DIST pyo3-ffi-0.22.6.crate 69352 BLAKE2B 99eea6ed87001b23fdeb263937bc14be0fadadc1ad77d4fa8834045ba2fc6ba5c0b89f4051916a058b7640be655afe22785b1da42aac8a32d10209b7b37bf810 SHA512 616e51a0eae1207830fe95251d5b62f126daf446bec68ac98cb1b8538aaa59761dbde62d446a9ee205c23453dbd32bd8ecb15e26265ed1fa1e5e2056efd96369
DIST pyo3-ffi-0.23.1.crate 73993 BLAKE2B 4b16d423f6aec1a4b99aad79976dd17a8039e9a37ec35badb50cbd12001f12b88b7223e2dc6bb67257e821ffc935a3f23876f93941f2495e63ac88e631be51d9 SHA512 7533fdd016afb71a482cec07a61b04b0eaee10eb131e11d9c6d650e090a575896fb5ea243880341a2500b0b8442c36ac7792cb6ed39a2f9bd29645556cdc807e
+DIST pyo3-ffi-0.23.2.crate 74052 BLAKE2B 085c66bae61e6059331813be77a1e4f850c4b8b12ac60b03188f2a009c9f58e062dc3ea2b9e470a480956bb8cbef645f95e53fae2638d59ebf5039aa5d41d504 SHA512 e228e473da98ce0fe4f15cf840ba1f51f66bb6fd103a7c0bb76b3218980c93b45ecf691f712333f4a27a9efc76517a85f6e13d5e9650b774eadebf59a647e493
DIST pyo3-macros-0.22.6.crate 8182 BLAKE2B 81998e4f4cb325763e4d3477af05b332e184cabf6391761f850d23508cebcf8d496ce12f747ea241523bb3899886eb20494b076a0651151744bb81d52901a1b4 SHA512 63f7a7b42e099742518c8a3bbc7647e98debb5500d08c39e11e8140fc146e790ab06e005d8d14c89aba79ebc5bf04fe1c92c0e9c5b13421307d3a4682d044179
DIST pyo3-macros-0.23.1.crate 8064 BLAKE2B 26f0c07d230c6a749848094e84e1cd86d151b1d7639aa17debef73a49c9d15210a6f5ddf20d832f1175ba9fca690edc2be3244aef286112d2d097677558348e2 SHA512 2897b64b1e6695526a74822adc2e6bd6fccd0185918ab5e87561341c5e37382e77094a9e102bd6c817cddc919ed45c1a133cdc1e947ecab2c851328fecf14508
+DIST pyo3-macros-0.23.2.crate 8056 BLAKE2B a87c4b8aab972eaf5e9b941db34e18be411bed8b5753d3e2d3f65e4a18723a72e70858bb34e8db949f0c6b748e122fed41e9c78f6c20150077fcc3c4eb0026ba SHA512 dba0b5bd212b6a5f38d6fc93183c8ab80bb53bfa5f03d471897014f2d3d1959804e5fdbc817845c1cef797f314b924d58eff95cfcb848eb98b283e104d24637c
DIST pyo3-macros-backend-0.22.6.crate 66312 BLAKE2B ec0b11bee1ad2192e8d95cebab0075d6ec5bf628e3344b86fb8e20a6d0bc1f891b56ccfa4622840a609480581f32bd211b9a3d1dd989716cf255efe3fdc89331 SHA512 87463939b5a5674e30e8ca05ae747f652f8679f0c5c85d20967e9910ad853768a769a914580e82e409188fe4add80a3117ccb9da24c250406bc6f76fe4453799
DIST pyo3-macros-backend-0.23.1.crate 70118 BLAKE2B df6e7db9f88bc0fd039c2b0553c3371fcde654bad4528320e0e8cb8ee5ae98b541bf7fe800a872fb5ee43562e07a5b0cd9543f4b5c66b482818107a53e6e49ea SHA512 bb6df78ad712ab6c85535c60d3d5d8aa1b012b175845c6e073ca7b174c558e4a546fed5e62453bc3ce7f46dfaf3b016c01b88e13c8516b18d5024565464c1bf8
+DIST pyo3-macros-backend-0.23.2.crate 70067 BLAKE2B 905c0e6e5ca0c0a91af8386a632cc81f4a9b08a51a22a260188078abf9ee70d60f77e2fc0df09483d8dc6b37cd455a23b7f70f41ee74a2ad9dd0dbef39cc22c2 SHA512 dc3f8780c09c63c0e0d4f26c29a9a4e29e4fc9f14254ac8a942235e480a3f4bfa3bf073d3011e043b6c22e1999d1f68bf7b0fdf212e9edb4bfb2396a97ab0ee1
DIST python3-dll-a-0.2.10.crate 74573 BLAKE2B 770c5b070f4dd1b9639b8aff59bb733575eb1117ae8e510818b6e13bdc69b22bcad395bb5cf0d1931de3562775a56e1404bb7fca7384b62e5e782e6284fa1494 SHA512 c1171c29f6914ff809950a9f6c330638e72c58c7c691bf4d9e765dee47166915cc91131b494b65aeb3a812543690c5072f2f5ff32cdebb76ba588330f9c74cdb
DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
DIST rpds-1.1.0.crate 69493 BLAKE2B f2d02c758de1abd46ff133965e0491a0276e4a95be5b64b6c83947bf8b3718896781eb96cf96d4abac84aba0c7caaa5e95abf1364ab2ffd65d573d0af212e058 SHA512 b24640e34c2f88ecfff5efb1581941eb02987bb7b342dc439513e8d7c8ee0afa63949f8dee09bf8f445ec6f3b3ec22d2927d3d03be05fee3c651b29c924a6b3e
DIST rpds_py-0.21.0.tar.gz 26335 BLAKE2B fa85722ccba1c21b20fe6a7f8069a68bdd03fc953299c5b53aa6b3343db363e8ebe491590a8ba6174e9fb2f2eb3b02bc43020896471b81c0cdc13c4296bf57ee SHA512 0cb1c48f6672d69c00e2b6c22cf586396849491fbeea4ca86a493fe09e59c2e4354bf4356320de32b5825c0a013b462085b03d2a7446ed878e52a139d97a41c7
DIST rpds_py-0.22.0.tar.gz 26723 BLAKE2B f905d0801619b308b0eff1ab1f87b5758c2faad08363c156cfccb3df569acb6004ee0a2da4843b9e359e03ad2124db287dfac2b87e8fe349e36363b3c732b293 SHA512 b19d2cf94e63ef44abf8cdd0248d8b054ff74e740c08d20317f449b7ac5ae400da28c9fdf502a9967b62dc7bd8837405c0da612b44007fbd3f038ed52305547c
+DIST rpds_py-0.22.1.tar.gz 26762 BLAKE2B 2af3334503a8de58d28cc8a3a519de26f137bd6769042323d0fdf24dffefb55cdbaacfb481ca39969a22fc8e47b78ebe75a09b996d02df4e75c31895d50a0c23 SHA512 344070477b51f0e9d2a0b5b565fabd63b98e4aae738df2d10411976f64905693ea7a63b71f25ac7c12c19ca24c2595c52640b804ac5ffb9ef4f163ecc200d6ad
DIST syn-2.0.69.crate 265441 BLAKE2B b01576c2c86426d2bbb2c9553dc1dce6a309d9922c35167ee6a718ad08cf3d0a22f0aed4d4c547cdbed85b47283e5b60a128fd1bbb230a6687f0c28af3a9c228 SHA512 fddc0f1ffa3e68ce57833c6ff18382296838287dd98f9f77f679ced471c3f801af30376363a870232f337bda27b3ba6ea93074f8e3c05ee390bcc024e3690bea
DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
DIST triomphe-0.1.13.crate 29568 BLAKE2B f0450292e3a4c2df6b400621bada57c099e5779cd3659c6171e452b552d2acaedbb2c0cd074c8f2144fbba9dc095648ba1c43a3fdcfe6fe3e01efe2561f6971d SHA512 e8364bf262d41aaf23de5c519c0303fd6ad928d8691843c7e0eda26b530c746c458837b08421559c50edf1cb8b9a2a216d7c32f5ea50be1543a2dec2cc60dd6a
diff --git a/dev-python/rpds-py/rpds-py-0.22.1.ebuild b/dev-python/rpds-py/rpds-py-0.22.1.ebuild
new file mode 100644
index 000000000000..1d072daa8a6f
--- /dev/null
+++ b/dev-python/rpds-py/rpds-py-0.22.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+CRATES="
+ archery@1.2.1
+ autocfg@1.3.0
+ cc@1.0.90
+ cfg-if@1.0.0
+ heck@0.5.0
+ indoc@2.0.5
+ libc@0.2.155
+ memoffset@0.9.1
+ once_cell@1.19.0
+ portable-atomic@1.6.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.23.2
+ pyo3-ffi@0.23.2
+ pyo3-macros-backend@0.23.2
+ pyo3-macros@0.23.2
+ pyo3@0.23.2
+ python3-dll-a@0.2.10
+ quote@1.0.36
+ rpds@1.1.0
+ syn@2.0.69
+ target-lexicon@0.12.14
+ triomphe@0.1.13
+ unicode-ident@1.0.12
+ unindent@0.2.3
+"
+
+RUST_MIN_VER="1.77.1"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)"
+HOMEPAGE="
+ https://github.com/crate-py/rpds/
+ https://pypi.org/project/rpds-py/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so"
+
+distutils_enable_tests pytest
+
+export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
diff --git a/dev-python/rst2ansi/rst2ansi-0.1.5-r3.ebuild b/dev-python/rst2ansi/rst2ansi-0.1.5-r3.ebuild
index 14045c05e50b..cd985129251d 100644
--- a/dev-python/rst2ansi/rst2ansi-0.1.5-r3.ebuild
+++ b/dev-python/rst2ansi/rst2ansi-0.1.5-r3.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/securesystemslib/Manifest b/dev-python/securesystemslib/Manifest
index 06f8ac0d7082..9f8ccf8f10c8 100644
--- a/dev-python/securesystemslib/Manifest
+++ b/dev-python/securesystemslib/Manifest
@@ -1 +1,2 @@
DIST securesystemslib-1.1.0.tar.gz 934688 BLAKE2B f9e997306e0f17d5f75b8a85c732950460ff7443fd301e845c721a6e49f74dc48f6d2b5b7e0def63b262a09e6901affe8b293124bd4f82e69157e8cd26cb134c SHA512 65ec41c08ad679884c327c291e27a8529e6a559f52eb154a4c1c13a558df7845cabc21e466e908029afcd57b6581b2f429c4ea87e34b664e52369ca6b0f63ba1
+DIST securesystemslib-1.2.0.tar.gz 934472 BLAKE2B 573a8a422cb0b54f20caf35716c83051e70658e233a1334c983555aa26a9239ef86817fd80964bdd23e77408b403ee94b25e65359ccfa0aa54b854ed53d0e388 SHA512 eb1c0a3e2d304d26d1cf0f1a529810131a67a7f5bbed24233dd2495cea7b107beb7a0dd9ac85433b0526de0c39b346bbea5244b34b309e959ada5b9e7d272003
diff --git a/dev-python/securesystemslib/securesystemslib-1.2.0.ebuild b/dev-python/securesystemslib/securesystemslib-1.2.0.ebuild
new file mode 100644
index 000000000000..26b3bc7100ec
--- /dev/null
+++ b/dev-python/securesystemslib/securesystemslib-1.2.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2024 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
+
+DESCRIPTION="Cryptographic routines for Secure Systems Lab projects at NYU"
+HOMEPAGE="
+ https://github.com/secure-systems-lab/securesystemslib/
+ https://pypi.org/project/securesystemslib/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/cryptography-40.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+# TODO: unbundle https://github.com/pyca/ed25519 (wtf? not on PyPI?)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires pyspx
+ tests/test_signer.py::TestSphincs::test_sphincs
+ )
+ local EPYTEST_IGNORE=(
+ # requires PyKCS11
+ tests/test_hsm_signer.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests
+}
diff --git a/dev-python/snakeoil/Manifest b/dev-python/snakeoil/Manifest
index 275148e81f6a..c2df97b38a61 100644
--- a/dev-python/snakeoil/Manifest
+++ b/dev-python/snakeoil/Manifest
@@ -1 +1,2 @@
+DIST snakeoil-0.10.10.tar.gz 174648 BLAKE2B b71a7006bef87527b1fca1dac4608ba38c33f38de23d7b3533ee5333b3671f69b0300c18a737d663532ce1a60f092fb4d9a40f1edab020604c4a78e92053ad59 SHA512 606204d80f099334abfc73475982b724da78117753a545ebcee9378f7cc88cd67e42c0f3c4dbf98c9c138dddf2bcf067ca47add664fde8454e4185bb8e8474d1
DIST snakeoil-0.10.9.tar.gz 174546 BLAKE2B c42771bff9b068aa4c31f76e0d8efc44121d2946b24ff8b8ce6e11028503d7272087ae62c1b6c9963c9b3eb89202ffbad917c63984d478d062c4ba2272811ba2 SHA512 0cedfeca3c8a30cfa53a2135b9dc8f83b003dd07fd0a1767fc1e2fe3d1ee67022033c20c4f990dede7e6a0ad0e8dc94eeebce7529b230ce83c84d6161c1b656d
diff --git a/dev-python/snakeoil/snakeoil-0.10.10.ebuild b/dev-python/snakeoil/snakeoil-0.10.10.ebuild
new file mode 100644
index 000000000000..968263ddbfa8
--- /dev/null
+++ b/dev-python/snakeoil/snakeoil-0.10.10.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+inherit distutils-r1
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/snakeoil.git
+ https://github.com/pkgcore/snakeoil.git"
+ inherit git-r3
+else
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+ inherit pypi
+fi
+
+DESCRIPTION="misc common functionality and useful optimizations"
+HOMEPAGE="https://github.com/pkgcore/snakeoil"
+
+LICENSE="BSD BSD-2 MIT"
+SLOT="0"
+
+RDEPEND="
+ dev-python/lazy-object-proxy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/flit-core-3.8[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinx-sitemap/sphinx-sitemap-2.6.0.ebuild b/dev-python/sphinx-sitemap/sphinx-sitemap-2.6.0.ebuild
index 132f6c88c4c4..f7993898b583 100644
--- a/dev-python/sphinx-sitemap/sphinx-sitemap-2.6.0.ebuild
+++ b/dev-python/sphinx-sitemap/sphinx-sitemap-2.6.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/textual-serve/Manifest b/dev-python/textual-serve/Manifest
index 7ba8c6c0d2a8..b190bad55b22 100644
--- a/dev-python/textual-serve/Manifest
+++ b/dev-python/textual-serve/Manifest
@@ -1 +1 @@
-DIST textual-serve-1.1.0.gh.tar.gz 447911 BLAKE2B 04b40d5511c7087e8172bbba93b45914a491a394604076f9c6f84f1963221798b7552c0b41bfc21110e8905091e9a5cebf2e5a65a3350f686f635385fd3dab96 SHA512 f8aa93fc006922494ba17161d92b4c86dc7f089952324b63fcfda079b950e92994f918ebb7e131cd8b479be806abc2c6d46ec84b9e84ae0c749f8102ca5cb01d
+DIST textual-serve-1.1.1.gh.tar.gz 447915 BLAKE2B 851d8147e37bc9921cab94beca811193e98b88d2d9bf625bbf5e2fbca398cead9c6570e6a1a3c9aefa369aef7636250cca75dddf52adb52455b753db6b30f520 SHA512 af684e13b6280bff66a51ea018832e14ca6a258394980a83ab41fbd472b4c7b5d804c4abb8b666fd69c9035caa10d0b1b831092e82acd60bab48d62c101400eb
diff --git a/dev-python/textual-serve/textual-serve-1.1.0.ebuild b/dev-python/textual-serve/textual-serve-1.1.1.ebuild
index 9f9bd8a51447..71142164ed3c 100644
--- a/dev-python/textual-serve/textual-serve-1.1.0.ebuild
+++ b/dev-python/textual-serve/textual-serve-1.1.1.ebuild
@@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{9,10,11,12,13} )
inherit distutils-r1
-HASH="3ddc373822ff16a680d5dff647f52f0afcf552cf"
+HASH="6d13319e689766f41cb6bd589379d4a692cae081"
DESCRIPTION="Serve Textual apps locally"
HOMEPAGE="https://github.com/Textualize/textual-serve https://pypi.org/project/textual-serve/"
SRC_URI="https://github.com/Textualize/${PN}/archive/${HASH}.tar.gz -> ${P}.gh.tar.gz"
diff --git a/dev-python/textual/Manifest b/dev-python/textual/Manifest
index 4e0c35237931..409b91620018 100644
--- a/dev-python/textual/Manifest
+++ b/dev-python/textual/Manifest
@@ -1 +1 @@
-DIST textual-0.86.3.gh.tar.gz 29492586 BLAKE2B 78eb3b3e0904389286dbbd03b9d269b4ec5c1478f3d23321ea78a4d2eb04a17ee14f7ef77333699ff6833f91f4cdd1c3f38235094699dea18d1ce5217ed6c2ec SHA512 dc24f54a92aea4be7a65c1516a0f8dde34aa71a0d9ed9f1da7ac62dcbcd7af1dbe8aabb2d921e642bbb1cc44c4299b5e06c70ed59c402a810db2ca2ee316411a
+DIST textual-0.88.1.gh.tar.gz 29517235 BLAKE2B 457caef7957eab0b7317e94ce4dd991cf0da54c4b7c9b670089de6cb762b1fd28c1021b8be89e66947717452dcc4925ff70eb856cef470eacda6062322df2e7a SHA512 7c849dac56ca93853b36ad8c67f5544f5a071ad3b23f7753f46a6b62a1017098b40ce2be0aa526aa5a4de397ec26bb7b42a245170516e22ef297ccbc49321394
diff --git a/dev-python/textual/textual-0.86.3.ebuild b/dev-python/textual/textual-0.88.1.ebuild
index e0800d2f3c31..3efb2dafd302 100644
--- a/dev-python/textual/textual-0.86.3.ebuild
+++ b/dev-python/textual/textual-0.88.1.ebuild
@@ -38,7 +38,6 @@ BDEPEND="
dev-python/httpx[${PYTHON_USEDEP}]
dev-python/platformdirs[${PYTHON_USEDEP}]
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
=dev-python/textual-dev-1.7*[${PYTHON_USEDEP}]
)
"
@@ -50,6 +49,7 @@ DEPEND="${RDEPEND}"
# "${FILESDIR}/fix-mkdocstrings.patch"
# )
+EPYTEST_XDIST=1
EPYTEST_DESELECT=(
# Those tests ask to press keys
tests/snapshot_tests/test_snapshots.py
@@ -59,6 +59,17 @@ EPYTEST_DESELECT=(
tests/text_area/test_languages.py
)
distutils_enable_tests pytest
+python_test() {
+ if [[ ${EPYTHON} == python3.13 ]]; then
+ EPYTEST_DESELECT+=(
+ # See https://github.com/Textualize/textual/issues/5327
+ "tests/text_area"
+ )
+ epytest -m 'not syntax' tests
+ else
+ epytest tests
+ fi
+}
python_compile_all() {
echo "INHERIT: mkdocs-offline.yml" > "${S}/mkdocs.yml"
diff --git a/dev-python/types-gdb/Manifest b/dev-python/types-gdb/Manifest
index f5a4eec2bb67..0664acf495d9 100644
--- a/dev-python/types-gdb/Manifest
+++ b/dev-python/types-gdb/Manifest
@@ -1,2 +1,2 @@
-DIST types-gdb-12.1.4.20240704.tar.gz 11819 BLAKE2B 80866a0eb484e7b3e30a01ea3606b5ee4a832194efba38dcec61d61316ad61eed432d478fdcef10bc481707468156c209bc3ec34e5995b350a84afd3aa21d9a8 SHA512 1d8141dc056df6b5a2a95a682098f254e499ca9cce5c98393c977cfb08bb4e13de9d5e1e539fef95f5836a396491fe74ac0db1610f3e1f194c36568e7e142682
DIST types-gdb-15.0.0.20241015.tar.gz 14343 BLAKE2B e9a7695c318ad1391c9f5c3eea82d9fd821234b539d7a7cd6e81e994f2d76bf58e73a36364bd52561cfe756e49840b4dd730bebe8b2dd5ff87c1c375cd696125 SHA512 0299448d2a07af9afda92ecc435a21b80aeec45ab5300a8e6c61c4767f0ea1f6593e46f0e76979f392b2b4a51af2d1f61a8474ac6e51c53467fbee14b88cfc98
+DIST types_gdb-15.0.0.20241204.tar.gz 19947 BLAKE2B e4b9e90f49dd2100f95be6d8cf323869581e46054b3130c1b4465b66cb7e58380de37af40751d06a581a5690aa96c11a0e4b7187c7bda5b9acb823c5572f2525 SHA512 f7acc0bad022244d95a45a6bbf428e893f7cd8e5e88ea34459bb209a7e36c6a34bac78a5824d9df39a0f6f8e0360285e478ed3d3c894bffa76d52c9bbc3b2b56
diff --git a/dev-python/types-gdb/types-gdb-12.1.4.20240704.ebuild b/dev-python/types-gdb/types-gdb-15.0.0.20241204.ebuild
index 5b6f8698ec22..b3ec5812fd0b 100644
--- a/dev-python/types-gdb/types-gdb-12.1.4.20240704.ebuild
+++ b/dev-python/types-gdb/types-gdb-15.0.0.20241204.ebuild
@@ -4,7 +4,6 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
inherit distutils-r1 pypi
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 66a5b821543c..3ed189eb2788 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -1,3 +1,4 @@
+DIST pubgrub-57832d0588fbb7aab824813481104761dc1c7740.gh.tar.gz 95600 BLAKE2B 8bdf971091d6816c326925c4603aa9296d6a92c2ede6a6245e0e5e64b741863e5d93aac03990004c13bd592d3d6ca2c662500e4c8d33e9959d6df9e1023a41e5 SHA512 8eae3c00928d921ca7cfdeff124962e477ae32387fb4b1ebfecd968181ec6bb2c2d96c918d8a9f521f1b9666eb6272c9f982b444d22a432f9471414f081694ee
DIST pubgrub-57afc831bf2551f164617a10383cf288bf5d190d.gh.tar.gz 93839 BLAKE2B 14253f61758d294b4140bbeacf4ab169e4e653eed1f8b36269a650962bda16e867a16b21b1f8304323e776d9c6714748807b69a29807378579940ae1ddc0d626 SHA512 1423aa1f2410ed130cba2d663e0bba4d0a27db53cec81d389fdfe08c196e203fc7212b73fed2aa8c382306093d1a38c8def069e5adc0fc3506ecefa820c825ac
DIST pubgrub-95e1390399cdddee986b658be19587eb1fdb2d79.gh.tar.gz 88127 BLAKE2B 661b639a7028b7dfe4967b4e2f187c3d403e1796bb09ae4606854414547cf81a5907d7dc9c1f8c3f6fe6986b1c8c22a89fee9e93d2ca79d5241350916991cf05 SHA512 8fdcd1ca1badbd140eb386ff37dd91b26d2b81273544b25a376462b900e9b84e59523ff75a68abe4a03834d72ee0d44246f16aea5c7e9091ad5375a86d3aee70
DIST pubgrub-9cd9049a64c7352de2ff3b525b9ae36421b0cc18.gh.tar.gz 95485 BLAKE2B 08db87c7bce1d6553e23fda3a4ab8d259d09ef50500846fbadae3c24841d7df0af40b052448d71f52196bb2da4ce0428ad9ad6c43dbede2910f39e602c168f6b SHA512 1ea397be9ecc236c275706c8bdd9c6f9baa9852fce30cdc7009bfeff43ecc745391c3aa75784f1a39bcc8d77b9687f028a494610af632ab6e8a9efbc88ad1653
@@ -11,3 +12,5 @@ DIST uv-0.5.3-crates.tar.xz 46488584 BLAKE2B 896f56ca633f3bdfb167df1a93c12358613
DIST uv-0.5.3.gh.tar.gz 2908026 BLAKE2B 0b9393a5d0cf8833e3e4bd9cd3374f689c5295053f02b4e750512f57a02844126d91e2538e044d4fac719a573ad13f592fe99ec1bcdd233b409e1dd9e32a3e9e SHA512 00afce159326a0551ef09d6e0fa82270b9baf40ba47ed3ef5e56b73e272f56d4d9a410fdc3e832989218c0997f7778a2d339b87171e69fed55baacdf2d48b556
DIST uv-0.5.5-crates.tar.xz 46246372 BLAKE2B c461c5140f7ffae63d16fac6c4069999c57d62095d4e4c447981edc63bb7d5c0da74b5bdbd60150abbf9a645430c52df4ec305e05c1025ce0603b221e01d32bc SHA512 3caba853e65b9fec57a4e3a260c57af8a38e7d9a73b09da22661a14ec329cf0ed7d1851a6804d69c750390edb59872c6d97b023557c48730bedc7ccd2b1b9bef
DIST uv-0.5.5.gh.tar.gz 2932557 BLAKE2B 0a31c0529ab82ed6eb0cbb5595f6b00dfffa53c55b204adc70bec5bd1b22b1108caff9422d9ff2adb0ff17468ede46b9393639945b7cd11df2f03fd0bdb754c3 SHA512 0962ccf3b69be53e7d3d6b5d539b2b0c02dd615ab25913c3feb2701e1285e2e8c2fc2ba3d0dc361121ceb4cd439d7fa3a30ff82eb6b76ec23958a8a27154c88d
+DIST uv-0.5.6-crates.tar.xz 46263172 BLAKE2B 73b1d2dc957f89f923dda09a8c038426041292c442ce253ff9110f996cd1e1f892a5a438d8e1c894fc0d823401cced0ddc8ad88b5e6a83199af7055a04ce85dc SHA512 c9d4f8085416bffb1e1872fd907d15a50cae0c0c5fba994d27b3acdc3c836dffd771558246573af4bb7467353a031ea56018d5ae1fbdffa4f63988462de00343
+DIST uv-0.5.6.gh.tar.gz 2952255 BLAKE2B b815b60b99f959751f5839365b8b210919247ad99bff93ee4d202bc152bd06b83a62914cfbf341bfddb5b2c87d9e546c5e2a6d1baff1599d0218160ee89de504 SHA512 fc8c7f4f60a3d2ce997341450daf20ad039ef379ac5dd4575f8db0327284bd8278419b66f8f9695f2701a9579ab004b5b60476bd8dc4c27314211f795118bc5a
diff --git a/dev-python/uv/uv-0.5.6.ebuild b/dev-python/uv/uv-0.5.6.ebuild
new file mode 100644
index 000000000000..c67a480aec6d
--- /dev/null
+++ b/dev-python/uv/uv-0.5.6.ebuild
@@ -0,0 +1,170 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;57832d0588fbb7aab824813481104761dc1c7740;pubgrub-%commit%'
+ [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+ [version-ranges]='https://github.com/astral-sh/pubgrub;57832d0588fbb7aab824813481104761dc1c7740;pubgrub-%commit%/version-ranges'
+)
+
+RUST_MIN_VER="1.80.1"
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT
+ MPL-2.0 Unicode-3.0 Unicode-DFS-2016 ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-lang/python:3.8
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+}
+
+src_configure() {
+ local myfeatures=(
+ git
+ pypi
+ python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+ local -x PYTHONDONTWRITEBYTECODE=
+ # fix tests failing because of our config
+ local -x XDG_CONFIG_DIRS=${T}
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}