summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-10-03 04:43:49 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-10-03 04:43:49 +0100
commit9b22dab88308071d43d47cd078b37903900f47d3 (patch)
tree67e9a0a10dcdbe72770cc89ba63028a4a8efd711 /dev-python
parentf354cd2612137255e64a82b6578696697b0415b4 (diff)
gentoo auto-resync : 03:10:2024 - 04:43:49
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin272935 -> 272944 bytes
-rw-r--r--dev-python/boto3/Manifest2
-rw-r--r--dev-python/boto3/boto3-1.35.31.ebuild53
-rw-r--r--dev-python/botocore/Manifest2
-rw-r--r--dev-python/botocore/botocore-1.35.31.ebuild76
-rw-r--r--dev-python/fsspec/Manifest3
-rw-r--r--dev-python/fsspec/files/fsspec-2024.9.0-backports.patch128
-rw-r--r--dev-python/fsspec/fsspec-2024.9.0.ebuild63
-rw-r--r--dev-python/griffe/Manifest2
-rw-r--r--dev-python/griffe/griffe-1.3.2.ebuild49
-rw-r--r--dev-python/httpcore/Manifest2
-rw-r--r--dev-python/httpcore/httpcore-1.0.6.ebuild69
-rw-r--r--dev-python/pymdown-extensions/Manifest2
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-10.11.2.ebuild37
-rw-r--r--dev-python/pymongo/Manifest2
-rw-r--r--dev-python/pymongo/pymongo-4.10.1.ebuild228
-rw-r--r--dev-python/pyproj/Manifest2
-rw-r--r--dev-python/pyproj/pyproj-3.7.0.ebuild55
-rw-r--r--dev-python/pyrqlite/Manifest5
-rw-r--r--dev-python/pyrqlite/files/pyrqlite-2.2.3-test-support.patch50
-rw-r--r--dev-python/pyrqlite/pyrqlite-2.2.2.ebuild30
-rw-r--r--dev-python/pyrqlite/pyrqlite-2.2.3.ebuild1
-rw-r--r--dev-python/python-tests/Manifest2
-rw-r--r--dev-python/python-tests/python-tests-3.12.7_p1.ebuild69
-rw-r--r--dev-python/qrcode/Manifest2
-rw-r--r--dev-python/qrcode/qrcode-8.0.ebuild34
-rw-r--r--dev-python/reportlab/Manifest2
-rw-r--r--dev-python/reportlab/reportlab-4.2.5.ebuild53
-rw-r--r--dev-python/rich/Manifest2
-rw-r--r--dev-python/rich/rich-13.9.1.ebuild77
-rw-r--r--dev-python/setuptools-rust/Manifest7
-rw-r--r--dev-python/setuptools-rust/setuptools-rust-1.10.2.ebuild176
-rw-r--r--dev-python/snakeoil/Manifest4
-rw-r--r--dev-python/snakeoil/snakeoil-0.10.9.ebuild (renamed from dev-python/snakeoil/snakeoil-0.10.8.ebuild)0
-rw-r--r--dev-python/sqlglot/Manifest2
-rw-r--r--dev-python/sqlglot/sqlglot-25.24.1.ebuild129
-rw-r--r--dev-python/stripe/Manifest2
-rw-r--r--dev-python/stripe/stripe-11.0.0.ebuild93
-rw-r--r--dev-python/tox/Manifest2
-rw-r--r--dev-python/tox/tox-4.21.0.ebuild98
-rw-r--r--dev-python/uv/Manifest3
-rw-r--r--dev-python/uv/uv-0.4.18.ebuild144
-rw-r--r--dev-python/vobject/Manifest2
-rw-r--r--dev-python/vobject/vobject-0.9.8.ebuild29
44 files changed, 1758 insertions, 35 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 99bc7811baf3..e85a7bc6ab94 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index cbfdab7273a2..b64c116cf430 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,7 +1,9 @@
DIST boto3-1.35.19.gh.tar.gz 861578 BLAKE2B 5011df66763e646768232a65022080ffbe3db08253f1bf3e192cf57be010ccdd08f8add78ec365e1c04d78ba1722cf6ef54fbc170f7f2419fcd370c08d48e3ce SHA512 faabd3ef8eb35a323ed64a711e0a026f8f77974516b05a93d389fb82b84932f69a2c784a1065811699dac4db016549f3756f24b879485b2dfb6ca380e6873670
DIST boto3-1.35.24.gh.tar.gz 864653 BLAKE2B e2327ae352d17f0cfabdcca6d7db07e0212ea740c66d8f36baf44d0617cdbfdcb018388fed1deeea37bef5e44edb360f2cb77b41085e7a3308f7d4045b0a4aa3 SHA512 e34b02cf141bd77d92a34dbef266e07f6d45d46aa924e3941dbe09a9562253f375b79a6a4f1e3df248d711341e00367a8519f816b2200353a6262de72a40fba0
DIST boto3-1.35.29.gh.tar.gz 867438 BLAKE2B 7a47e8156bd438e94fe2abf9fa978aa243bf131bf7c9afdafeca7f7ada9b014daea410da82417e95bdd57f14bf5a973429cc7b431ba72088f9f9619c59cf9b93 SHA512 7238f353520768576390651a4a90a389b24205b38ff9c58829ff53b6210fb3a4ad5c27301e5be27bb10ed2017ff29691780102af983e16d0b14a4f9add17ba12
+DIST boto3-1.35.31.gh.tar.gz 868424 BLAKE2B 28c352784c8af273f29318b788ed2c29b88e2e2deb248849937f7a33d0a0d11132a8ee571bce18486c60e63c5c2972fa041389f8ea41dda7d18fd7ee21a30fd2 SHA512 2f614c8f0fc9631a7c77889e392c789493e836d195d5210fa5a63d10bc67c8879f06251a006c6d398afd71fc646320e4571060174a277538fcba63930d6183a7
EBUILD boto3-1.35.19.ebuild 1198 BLAKE2B 99a7fa08055cee13f14557124398df39119bae2e4b684265d4647ad0ec83a502bb422365e3797ff5c0440c4b1c9866ede4c62b1876510178dc2e6a0b05ed8781 SHA512 c020cc5535d63c948dd456d9f4af4e97339cb36dc0bb2b2c53d3da0c8c62737e0846ff71d9f85ca9b2936a8a7bfc43b67c3114f91440e75c9870beaa8997107a
EBUILD boto3-1.35.24.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
EBUILD boto3-1.35.29.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
+EBUILD boto3-1.35.31.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
MISC metadata.xml 493 BLAKE2B 7d6324fc877ffe1d20c5369c2af0b09a7028f94d28f1841188913d0d8be7ea699c9d3f92c624992c4c96bd69615d3a1211a2483c76c56b7d3082492e43512523 SHA512 44420d8c03d5986f990b76369edfa8dfd7659b4952db3ad946fd05392ec594628a28745ad888d055d4f074d5214f61fcffafe6c04c4ab54109d45ac0371582bd
diff --git a/dev-python/boto3/boto3-1.35.31.ebuild b/dev-python/boto3/boto3-1.35.31.ebuild
new file mode 100644
index 000000000000..8cba6d95740e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.35.31.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_{10..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 a4582a290252..b9b12005cd5d 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,7 +1,9 @@
DIST botocore-1.35.19.gh.tar.gz 13376459 BLAKE2B ba64ff0dc221782ce23592a6d6a146a680e2b86aa734673d4b16d6fd83355958b32af0e86a6769d2237e6234d80fb7fb23d52e3bcd2187cfe7d3646307fdea38 SHA512 6988f442b573e951766f1978325937a29141436d976baedb9c29959d5ff64014520c1bee4a8ce9b0d4226f62a6efb081a0532b2a825811e8cb2de3217ed311ae
DIST botocore-1.35.24.gh.tar.gz 13406391 BLAKE2B ddc1c456e4358b3e28ca8f6a92230fb843309fd6059eaf909a9fb3de0bd580fb52389173187e0794054b9f1bc21a829f457b80067868c13fd7987fc682acd024 SHA512 7a1e8c1a85e8699a811a41b59cdefcee2457c5dfdf01d54f3048f894869c5c4033287909095bf15304e408c268cf772194655afffff280dbb6fd6c6daac1d8cb
DIST botocore-1.35.29.gh.tar.gz 13404400 BLAKE2B 41dab50dbed91c55df3c74cc3c57bd02a770b37445cf26690d199c62642b2d96d1c56d06cfea58ac23e6fa0826be99c684bd98d5e00e0e7aa8bcc0b599f70bce SHA512 c82c942942c5ad7c0b941bf1e89003730bda68fd9a2f623e8db85690f8157f73517b0ff6b7009cb15461bbff41b7ee713c5ab935cc0eb96ba3ef3e3100e363e5
+DIST botocore-1.35.31.gh.tar.gz 13414420 BLAKE2B 942455ccd037fb7cd9142a43cbc316ccc0ff8a7bc55f00096bea11527d2701cb6ac89984faca19793dcdbba5163bba330f1cddbbb9427a411d9db0cf50c9cfba SHA512 972a9f72e2d922f95e7df23ee087787962062dc97b1aa1c7732fac7a4de17d8728bad0f38dfa4dd6963c285acdd10a327044e6aba43b54953d8ab9531619b927
EBUILD botocore-1.35.19.ebuild 1665 BLAKE2B 1171f3bdcbe2eada97adf58c2011691cb51300028737903ec51e9fea4d80943dc3e199f4a1671be350ca2cf921e5dbdd4e7c8ca4658261143646cf9c0c82f522 SHA512 db8027472dcb87b167d63ed89910783e104513361b9191f5e2e2928a2904493c22d9629aa206f61206c4f29c6a9c43e8208c57a9b9bf99b031101b915d326674
EBUILD botocore-1.35.24.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
EBUILD botocore-1.35.29.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
+EBUILD botocore-1.35.31.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
MISC metadata.xml 499 BLAKE2B e5aaa7da26f200c09adfdf38b68f656bbccbec627cb5d966b280ac2165334e7eec659c89075bcace748f58e2ec3e7d2998e54a688d56ecea2d30653c67dfd35a SHA512 103c554d5dbd967bf9b6e418b3913d9235e7e910d012160909ce0715134ed2e37b06e6a345395f9d16ce08d1cf51f3ce458bce93c6a978fd3dca6610f2acdbd0
diff --git a/dev-python/botocore/botocore-1.35.31.ebuild b/dev-python/botocore/botocore-1.35.31.ebuild
new file mode 100644
index 000000000000..4f1ad852bdc1
--- /dev/null
+++ b/dev-python/botocore/botocore-1.35.31.ebuild
@@ -0,0 +1,76 @@
+# 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_{10..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
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # memory use tests, probably fragile
+ tests/functional/leak/test_resource_leaks.py::TestDoesNotLeakMemory
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/fsspec/Manifest b/dev-python/fsspec/Manifest
index 34fe42e27e47..dc2b77858b35 100644
--- a/dev-python/fsspec/Manifest
+++ b/dev-python/fsspec/Manifest
@@ -1,3 +1,6 @@
+AUX fsspec-2024.9.0-backports.patch 5095 BLAKE2B 432c68771500a179a44ee248783e0252cc7f5fe85fa580e08e5ab2450c741b462c8e59610a3ffcb3413ad512cfb0c89d223c016934c2120da11e574963b99d80 SHA512 d3af20471958e4c6ee68f37fbc582eb6af69cacc0aa9db9b177f89bc2b26f77ac1ee99e6b55b86647d2eeb27db9e6e8e2bcc12a67535957a87e04f663f90c529
DIST filesystem_spec-2024.6.1.gh.tar.gz 409416 BLAKE2B c5b2ba4935dcf0a141c952d611b49c4370a07e3c9ed439ae4d7e98f86e93610a2b1eb8c394eb73ed4494555cca1ac169f1ee7b11144cf0d1ecae7316a46092b6 SHA512 67ecf2bc10c3ae28fa64be5ecb659fc466e97b52b152f3f223d347931b04730e58a48e90d7c546a47c5422831103711037fc268c24984cf77ef65ca4714b0e5e
+DIST filesystem_spec-2024.9.0.gh.tar.gz 413991 BLAKE2B b4dbb17e39481d3d5ee900618b3bea036faec0ce84d95cf2e581feb59d0eb5cb1ecc73730b87bbeb175110db34d52db062bf8d94e82f27a28a6f1693e10c49e7 SHA512 2600f7b020019634ec3f4ffd2a66f458c04423f10c00afbfd99dabad7fca809af28792a5b8a6625c57548f8dc172ab0d9498cbfcd570cd1d04a905c079fe4fb9
EBUILD fsspec-2024.6.1.ebuild 1385 BLAKE2B eaaa1dc24cd20232b13cdee77bbf2b3482e59f8ffcb51358ac0b6bc2da1154d014b3132cdfe0fc3532f0c017fcd861d6d95ff1b3dd6595b4711210e44c19d83d SHA512 8285972ae0e1a58e9157fa506564fd6d147483ead9d0846eb6022b8caf5e617c74a2ab6381bb776f2c59589baa5b30d1af5754a5ee01df41ced77fc23681709a
+EBUILD fsspec-2024.9.0.ebuild 1602 BLAKE2B 5957fda44aebb09de2d90fedef05991368de0ca797455577088daf36d72f6d00c15b381348efe5fc775b29e8738f757d1beb3fedc10a27fc947a05cf4db7b822 SHA512 e61e69f056e0388fb40e838f6abf0d59b074eeb114e6995d5d00448a42fc4ebcb6b7054b103cd92ead03e1f26e3144fd5a6c8bda320363d7990863e3d985bc7e
MISC metadata.xml 374 BLAKE2B 6c0b18a0ad3b85713ae6f618ac0646ed63f08549bd7d1ed5bd94b80d89d79efaf2f97ce913a0a7d6e54e77cc602994416520a22deadcc71e484cf7ca22bc6dde SHA512 5bf051387d6bcffb3022d023f60ee8f76ca277bb8d626dda988a0baaf1d1e3a71e872d8316607ee7e269e579b5a17c23ab93c56fade533150171d3ce44e4bb71
diff --git a/dev-python/fsspec/files/fsspec-2024.9.0-backports.patch b/dev-python/fsspec/files/fsspec-2024.9.0-backports.patch
new file mode 100644
index 000000000000..a8f9f965c083
--- /dev/null
+++ b/dev-python/fsspec/files/fsspec-2024.9.0-backports.patch
@@ -0,0 +1,128 @@
+From edf495736a39c0031d5514e8350363dfa229f3d4 Mon Sep 17 00:00:00 2001
+From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
+Date: Sun, 22 Sep 2024 23:48:36 -0400
+Subject: [PATCH] Fix handling of Paths in zip implementation
+
+Fixes #1688
+---
+ fsspec/implementations/zip.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/fsspec/implementations/zip.py b/fsspec/implementations/zip.py
+index aa6a57842..6db3ae278 100644
+--- a/fsspec/implementations/zip.py
++++ b/fsspec/implementations/zip.py
+@@ -1,3 +1,4 @@
++import os
+ import zipfile
+
+ import fsspec
+@@ -48,7 +49,7 @@ def __init__(
+ if mode not in set("rwa"):
+ raise ValueError(f"mode '{mode}' no understood")
+ self.mode = mode
+- if isinstance(fo, str):
++ if isinstance(fo, (str, os.PathLike)):
+ if mode == "a":
+ m = "r+b"
+ else:
+From dc4f5a97d90238b862fa7974a9b8e93602f44540 Mon Sep 17 00:00:00 2001
+From: Martin Durant <martindurant@users.noreply.github.com>
+Date: Mon, 23 Sep 2024 09:42:21 -0400
+Subject: [PATCH] Don't require absolute offsets in zip tests (#1691)
+
+---
+ fsspec/implementations/tests/test_zip.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/fsspec/implementations/tests/test_zip.py b/fsspec/implementations/tests/test_zip.py
+index ecd082f3f..8bf8155d9 100644
+--- a/fsspec/implementations/tests/test_zip.py
++++ b/fsspec/implementations/tests/test_zip.py
+@@ -169,12 +169,16 @@ def _assert_all_except_context_dependent_variables(result, expected_result):
+ result_without_date_time.pop("_raw_time")
+ result_without_date_time.pop("external_attr")
+ result_without_date_time.pop("create_system")
++ result_without_date_time.pop("_end_offset", None)
++ result_without_date_time.pop("header_offset", None)
+
+ expected_result_without_date_time = expected_result[path].copy()
+ expected_result_without_date_time.pop("date_time")
+ expected_result_without_date_time.pop("_raw_time")
+ expected_result_without_date_time.pop("external_attr")
+ expected_result_without_date_time.pop("create_system")
++ expected_result_without_date_time.pop("_end_offset", None)
++ expected_result_without_date_time.pop("header_offset", None)
+ assert result_without_date_time == expected_result_without_date_time
+
+
+From 0021859ff78bbf62e86c330e2dad00c5dd205108 Mon Sep 17 00:00:00 2001
+From: Martin Durant <martin.durant@alumni.utoronto.ca>
+Date: Wed, 2 Oct 2024 11:37:14 -0400
+Subject: [PATCH] Limit fields checked in ZIP tests
+
+---
+ fsspec/asyn.py | 4 +++
+ fsspec/implementations/tests/test_zip.py | 34 +++++++++++++-----------
+ 2 files changed, 23 insertions(+), 15 deletions(-)
+
+diff --git a/fsspec/asyn.py b/fsspec/asyn.py
+index f203fa0a4..de41839ea 100644
+--- a/fsspec/asyn.py
++++ b/fsspec/asyn.py
+@@ -344,6 +344,10 @@ async def _rm(self, path, recursive=False, batch_size=None, **kwargs):
+ async def _cp_file(self, path1, path2, **kwargs):
+ raise NotImplementedError
+
++ async def _mv_file(self, path1, path2):
++ await self._cp_file(path1, path2)
++ await self._rm_file(path1)
++
+ async def _copy(
+ self,
+ path1,
+diff --git a/fsspec/implementations/tests/test_zip.py b/fsspec/implementations/tests/test_zip.py
+index 8bf8155d9..14d00086e 100644
+--- a/fsspec/implementations/tests/test_zip.py
++++ b/fsspec/implementations/tests/test_zip.py
+@@ -164,21 +164,25 @@ def zip_file_fixture(tmp_path):
+ def _assert_all_except_context_dependent_variables(result, expected_result):
+ for path in expected_result.keys():
+ assert result[path]
+- result_without_date_time = result[path].copy()
+- result_without_date_time.pop("date_time")
+- result_without_date_time.pop("_raw_time")
+- result_without_date_time.pop("external_attr")
+- result_without_date_time.pop("create_system")
+- result_without_date_time.pop("_end_offset", None)
+- result_without_date_time.pop("header_offset", None)
+-
+- expected_result_without_date_time = expected_result[path].copy()
+- expected_result_without_date_time.pop("date_time")
+- expected_result_without_date_time.pop("_raw_time")
+- expected_result_without_date_time.pop("external_attr")
+- expected_result_without_date_time.pop("create_system")
+- expected_result_without_date_time.pop("_end_offset", None)
+- expected_result_without_date_time.pop("header_offset", None)
++ fields = [
++ "orig_filename",
++ "filename",
++ "compress_type",
++ "comment",
++ "extra",
++ "CRC",
++ "compress_size",
++ "file_size",
++ "name",
++ "size",
++ "type",
++ ]
++
++ result_without_date_time = {k: result[path][k] for k in fields}
++
++ expected_result_without_date_time = {
++ k: expected_result[path][k] for k in fields
++ }
+ assert result_without_date_time == expected_result_without_date_time
+
+
diff --git a/dev-python/fsspec/fsspec-2024.9.0.ebuild b/dev-python/fsspec/fsspec-2024.9.0.ebuild
new file mode 100644
index 000000000000..b6cde0c2fe2c
--- /dev/null
+++ b/dev-python/fsspec/fsspec-2024.9.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=filesystem_spec-${PV}
+DESCRIPTION="A specification that python filesystems should adhere to"
+HOMEPAGE="
+ https://github.com/fsspec/filesystem_spec/
+ https://pypi.org/project/fsspec/
+"
+# upstream removed tests in 2024.6.0
+SRC_URI="
+ https://github.com/fsspec/filesystem_spec/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+# Note: this package is not xdist-friendly
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+PATCHES=(
+ # https://github.com/fsspec/filesystem_spec/pull/1689
+ # https://github.com/fsspec/filesystem_spec/pull/1691
+ # https://github.com/fsspec/filesystem_spec/pull/1700
+ "${FILESDIR}/${P}-backports.patch"
+)
+
+src_test() {
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p pytest_mock -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest
index ab940835859f..e3610beeb8d3 100644
--- a/dev-python/griffe/Manifest
+++ b/dev-python/griffe/Manifest
@@ -1,5 +1,7 @@
DIST griffe-1.3.0.gh.tar.gz 383337 BLAKE2B e1908e68f812b9227f4ba7249a8f20ae1d75cac3237ca90c5f47adb51a8d0efcd31b016f30f9f9e0af2a2292b86cf5fb08d9314e72ca4282bd36cafce19030ac SHA512 839d0bb8fc36f5552d50721f72905d533849d9b7258ba1ed1eabc783dddc4aee87ea612605bd23268f4282c06e71e010e76dfebce0951ef92917abc80211e7d1
DIST griffe-1.3.1.gh.tar.gz 383076 BLAKE2B e7bc85daa49531c17215ce64209db89c3e4c12fe7b20a7ba004ee696c1fa0307a1753c7663d455ac6562b226c6526725750c0b25c2e148af468431d1a38d8aad SHA512 45d44cc81ca3e108127470271f058dcfaa80702ed4e5d2610a9b4f6bb5e1e16052c9ae5c6a5b396b1cc8d6002b9cf3531cae611b15e7d54b1096d74b4bf04976
+DIST griffe-1.3.2.gh.tar.gz 383330 BLAKE2B ce96d0ce14dec7a48172758cb08331e07b36c436f953061aee375fbb7c4ad7fa01050b6a15335dae44d292c90ea5724c85abda9b4f8dd231e979ca1b8d2faa38 SHA512 098f78f95e89d22738ef5b8b6e91fffd7f0c48705492081aee0c072d2ac409f88bb7698ffbcbbfa9cd7627d081c441a8eafba3d261a81dba02a92e04ac80d7c0
EBUILD griffe-1.3.0.ebuild 1096 BLAKE2B 3886294c47b5384a087a051da90cc310016714bb7a47c27c1b5f0b4084212f1b6571648c1bc99c735c09424c98b2b298bf85e59fbcafcd1855ade5ba6cb1dd66 SHA512 7f1c9c445dff41dfcaf59ecc1badc863fe2eff1c11d5d8f8ef2f0522bf8181936297f55dda47d054eec6b54af61ee1d6c5e0aba814a532dccb6c2d0a3af246ce
EBUILD griffe-1.3.1.ebuild 1096 BLAKE2B 3886294c47b5384a087a051da90cc310016714bb7a47c27c1b5f0b4084212f1b6571648c1bc99c735c09424c98b2b298bf85e59fbcafcd1855ade5ba6cb1dd66 SHA512 7f1c9c445dff41dfcaf59ecc1badc863fe2eff1c11d5d8f8ef2f0522bf8181936297f55dda47d054eec6b54af61ee1d6c5e0aba814a532dccb6c2d0a3af246ce
+EBUILD griffe-1.3.2.ebuild 1096 BLAKE2B 3886294c47b5384a087a051da90cc310016714bb7a47c27c1b5f0b4084212f1b6571648c1bc99c735c09424c98b2b298bf85e59fbcafcd1855ade5ba6cb1dd66 SHA512 7f1c9c445dff41dfcaf59ecc1badc863fe2eff1c11d5d8f8ef2f0522bf8181936297f55dda47d054eec6b54af61ee1d6c5e0aba814a532dccb6c2d0a3af246ce
MISC metadata.xml 393 BLAKE2B f207ed2887879f849db9133aac5b82d507a5c6fc3fed0b931dd0aec5ec8d48991731a15825c7b51d82f1f148c2f6818e3102e963d3342aa248bd475d4b29a692 SHA512 b541674c9f9bf9e356d46de91673e384f50ade9b6f19b0218f03b6e307dde88df2d0078f202bc0a77e18b0d91e89cb6d36ffdac23689ef35306167619404dc01
diff --git a/dev-python/griffe/griffe-1.3.2.ebuild b/dev-python/griffe/griffe-1.3.2.ebuild
new file mode 100644
index 000000000000..b3ab8d048238
--- /dev/null
+++ b/dev-python/griffe/griffe-1.3.2.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=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Signature generator for Python programs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/griffe/
+ https://github.com/mkdocstrings/griffe/
+ https://pypi.org/project/griffe/
+"
+# Tests need files absent from the PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/backports-strenum-1.3[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
+ dev-python/mkdocstrings[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
+
+EPYTEST_DESELECT=(
+ # fragile to installed packages
+ # (failed on PySide2 for me)
+ tests/test_stdlib.py::test_fuzzing_on_stdlib
+)
diff --git a/dev-python/httpcore/Manifest b/dev-python/httpcore/Manifest
index dd9510640c00..85152f521f28 100644
--- a/dev-python/httpcore/Manifest
+++ b/dev-python/httpcore/Manifest
@@ -1,3 +1,5 @@
DIST httpcore-1.0.5.gh.tar.gz 97696 BLAKE2B 2e05f790e0e67c36f86ac1ee47eea716f820d68678eff63e73bce0f652448d782c66764e7f1ab3f8e891ebf2243b96ba79ca211ea769bbf5df117342e2942cbb SHA512 4b37f3874e65908598b906167d5b0840f66ffef95b65110d318d9e64df5fd23770a08ea44ea2f3cf6f9db50f20bb9fec99b40323b959675b37168414cf397bf8
+DIST httpcore-1.0.6.gh.tar.gz 99863 BLAKE2B 0da9b958674d92ed787c0310ad6819cd9359b6e608bfff1b366233ba10085905ec5aeb1b1f0b99ea3fef84aaed31f3aa832ced3fa22cb659e3016c0626dac997 SHA512 f83fb851267bb2007a1735d387acba4d99a957db7f85decd5dc6d7d7235a41fe50081b33267e61dc5c52627f07429ba99839868e95997cff1f6c8b2c046a0596
EBUILD httpcore-1.0.5.ebuild 1606 BLAKE2B 04040c4352bdea65e89e65ead8d5a29f29877034330148e8d7638045efa252493c03c1c431abb9fd9d533496aa9211df25445b7d992b412a273d07ba625ad805 SHA512 78a93a7213d359b77783b7c4ae5030ef2e3eb501810fc8ac5597684632ee23928730026ac8dd69804933db1447e80b1bebacbc73ae7749888dde0b77bfddbe6c
+EBUILD httpcore-1.0.6.ebuild 1614 BLAKE2B 7352f3cbd44640faa08e42be65501d68b2fc5104cdf49e3a3c9a98960c2994d535482338410bd6f110c0541f1bcc52c3ba61a95c19fb291d5fa457bcafc2d305 SHA512 2d441a80e160469e140522ef0a091af29fbdafd51265e729470e22e58af41e10d92a7444c79e4c8cf8ed85a58ad47397502b7ac53dd4467a0c05cf128573d933
MISC metadata.xml 454 BLAKE2B f8a48d9ab81e5f74623dd0c8490e5de5cc711fda7f4614932e7ac6caa80bd23436037ddf9327d6bddc3d39c8b601b4ee74a85c0a10bacb20514cbf8278e34d1f SHA512 af962141bd55f51b27e0d4b61bcf7d5426e816df4f8c65be257d8fddd597664afe04e78ebe7e11caaebf06ae4fe17b88f568dc440403865ba6b8e3b47d796aa6
diff --git a/dev-python/httpcore/httpcore-1.0.6.ebuild b/dev-python/httpcore/httpcore-1.0.6.ebuild
new file mode 100644
index 000000000000..f0e565de6747
--- /dev/null
+++ b/dev-python/httpcore/httpcore-1.0.6.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="A minimal low-level HTTP client"
+HOMEPAGE="
+ https://www.encode.io/httpcore/
+ https://github.com/encode/httpcore/
+ https://pypi.org/project/httpcore/
+"
+SRC_URI="
+ https://github.com/encode/httpcore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+ <dev-python/h11-0.15[${PYTHON_USEDEP}]
+ <dev-python/h2-5[${PYTHON_USEDEP}]
+ =dev-python/sniffio-1*[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+ dev-python/socksio[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/pytest-trio[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ ' 3.{10..13})
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local opts=()
+ local EPYTEST_IGNORE=()
+
+ if ! has_version "dev-python/trio[${PYTHON_USEDEP}]"; then
+ opts+=( -k "not trio" )
+ EPYTEST_IGNORE+=(
+ tests/_async/test_connection_pool.py
+ )
+ fi
+
+ if ! has_version "dev-python/pytest-trio[${PYTHON_USEDEP}]"; then
+ opts+=( -m "not trio" -o addopts= )
+ fi
+
+ epytest "${opts[@]}"
+}
+
+pkg_postinst() {
+ optfeature "SOCKS support" dev-python/socksio
+}
diff --git a/dev-python/pymdown-extensions/Manifest b/dev-python/pymdown-extensions/Manifest
index eb8a8faed9ae..314d228b2228 100644
--- a/dev-python/pymdown-extensions/Manifest
+++ b/dev-python/pymdown-extensions/Manifest
@@ -1,9 +1,11 @@
DIST pymdown_extensions-10.10.2.tar.gz 829801 BLAKE2B 8da4c0afba79a4736621ce8b644a42b4918c04685c1c0312f6a184007c456f92e106fdfd9ae9be64a32bba1d907b6a528fdc49267d1153c0393a8c20c4ded527 SHA512 5885a8f9ea774a5718647a9d546dc5285186d19761441cd1ef39d5f8be40ee13f8fb6cf8791f890001affa6fe051962a45f8cfe8c1d0c549eb4bfeab956494f9
DIST pymdown_extensions-10.11.1.tar.gz 830215 BLAKE2B b32f11d7c3ee3c680b6a225ec44e7eaab4bd23cc95dd96fff29a037938384ac348ef0405a3fabf9dfb2bccc705e2cc2293d04dec7e323a47612c9a1d2ca7188c SHA512 cb04fef9cf6e2c2371287f0cc914b892a519392bb573b04eb547f96c7167cbd93da5848324c5693fc3e9cbec61c9a6d45b22d12d5164db4a09621d8de1d44999
+DIST pymdown_extensions-10.11.2.tar.gz 830241 BLAKE2B c4048ae6931e7c540b8fd97080daa2290df74be76933874c91db09edac49a272c079d8767b15f28ecee0bf2efa3569179f236d6c4e703dd0d324feabab8da3db SHA512 9636552de1a9ae4519e1c6d7ca7b9c6cd0eb8b4be27a844ea926937cfa00add0b9ca8894f3b8f95e7c95ef0b6012e9a5d0c5b8d0f9aa20d7300fb4878c6f91da
DIST pymdown_extensions-10.11.tar.gz 829898 BLAKE2B ed0acbfa6ec4b8a61e1a05817aff8abc94545fe9c6da9c43000a696a25c7f3ec7a27b9398079c2cdecad397fff6ddd8716ea07d36c00272ae7ae144a513e39f3 SHA512 a06c00e64635fa6223a7e764e3f5f4604cc7d8ae4c2a8f6e47f6f799e877a213eab5398e67d7bb6586142ad03b2c155897b559bbb66d50e343405d15c53fe7c0
DIST pymdown_extensions-10.9.tar.gz 812128 BLAKE2B 2427c41b8587e8b0c4d9bedc4e7c413959545f6c1a12b2c9453861bdb349cbd5bb70327384821f6423718296f56efa17aae21db79bdd038f330246555bcd538b SHA512 3642ccf18a85ffe6ac03dcb132f4b64009490e2a6d0cc70c322ef7640de2a5895a321f755f2d6e16f9c9e84b112c12ded2db18ff73d3201f7b9e0a10c8cd78b5
EBUILD pymdown-extensions-10.10.2.ebuild 719 BLAKE2B ae1ad392f5db068b381c94da4d2f347d5f5e42530e27c7417ac6443a8961c890a5fba8f32fae1ea314d5e036523813791b051721106bc4e76d3abeb770451286 SHA512 0aa712ee104fe3f72d072bdfe49f4544f0549c0f978bfa0cec5388cbb4b05d4fe7dce19f5fa7e6c015ed3795b90f2977c66f03332350b1dd7f3dd8b10b1cf68e
EBUILD pymdown-extensions-10.11.1.ebuild 719 BLAKE2B ae1ad392f5db068b381c94da4d2f347d5f5e42530e27c7417ac6443a8961c890a5fba8f32fae1ea314d5e036523813791b051721106bc4e76d3abeb770451286 SHA512 0aa712ee104fe3f72d072bdfe49f4544f0549c0f978bfa0cec5388cbb4b05d4fe7dce19f5fa7e6c015ed3795b90f2977c66f03332350b1dd7f3dd8b10b1cf68e
+EBUILD pymdown-extensions-10.11.2.ebuild 719 BLAKE2B ae1ad392f5db068b381c94da4d2f347d5f5e42530e27c7417ac6443a8961c890a5fba8f32fae1ea314d5e036523813791b051721106bc4e76d3abeb770451286 SHA512 0aa712ee104fe3f72d072bdfe49f4544f0549c0f978bfa0cec5388cbb4b05d4fe7dce19f5fa7e6c015ed3795b90f2977c66f03332350b1dd7f3dd8b10b1cf68e
EBUILD pymdown-extensions-10.11.ebuild 719 BLAKE2B ae1ad392f5db068b381c94da4d2f347d5f5e42530e27c7417ac6443a8961c890a5fba8f32fae1ea314d5e036523813791b051721106bc4e76d3abeb770451286 SHA512 0aa712ee104fe3f72d072bdfe49f4544f0549c0f978bfa0cec5388cbb4b05d4fe7dce19f5fa7e6c015ed3795b90f2977c66f03332350b1dd7f3dd8b10b1cf68e
EBUILD pymdown-extensions-10.9.ebuild 716 BLAKE2B 27275e4a6432d8f8c4d682c5ce0bec5ffec05f9768b39d3e74652aa092056fc1e39100799150e4346f5a23a14e8dedd5690041098123dca668987c637764f262 SHA512 3d170cc203987a3d7f2513a96323769f5eca4991706555d8a93cf22d087d6854e357eb885a1e5089c1853a32eb936607e442f2d27a6e83024a682748c477fd0f
MISC metadata.xml 536 BLAKE2B f417ab2132b06eadbf1785654080084c4ef694f983e223ade83d5c77213e4443203a498a168efd68e4a3b1cccbe019c5b88716ac851719b9197deba9d2fd5411 SHA512 51304b48f9e296abea376be300053e041ea331f93e1ec7a2a3cdf10eea0ed6e9b8f04cdcbbed7920b46c60d5f6ce9337e3e25635516871d7b080eb54bfa16f57
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.11.2.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.11.2.ebuild
new file mode 100644
index 000000000000..8447dcb9ba40
--- /dev/null
+++ b/dev-python/pymdown-extensions/pymdown-extensions-10.11.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extensions for Python Markdown"
+HOMEPAGE="
+ https://github.com/facelessuser/pymdown-extensions/
+ https://pypi.org/project/pymdown-extensions/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/markdown-3.6[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/pygments-2.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest
index 1fb7d0fe4ec5..d52065be518b 100644
--- a/dev-python/pymongo/Manifest
+++ b/dev-python/pymongo/Manifest
@@ -1,8 +1,10 @@
DIST mongo-python-driver-4.10.0.gh.tar.gz 1948389 BLAKE2B 19429aad69baa013226a4b36de5c654fe074bdb39a462d588a1a4298a35fd8bbf941d8189dbe632e25619fb691a960c98988e205e82796ec1572d2dc63379b2d SHA512 3153e97ad6e749a35d071ef91eb870be76d75f404526e5275cc5ab19470f09a8450debba519cb10bd79191d1b1dd8cfc04882b1d7ef4898471b14bf131fa8c83
+DIST mongo-python-driver-4.10.1.gh.tar.gz 1957402 BLAKE2B 66f7c166af7c7467ca7cb20266d313e453ab485516c17e8eda5a4771b4818778c00ad314e7bd5868a95f2045f879a73617f64549db634257f1abbc7a9a095181 SHA512 200bda479cd951beef6234a15120a043b4399cadd8ef2fda69bfcd6904e1e0e43d179626092dc81d89f48806768bf8147c55108c91620920f5544f712bf3be51
DIST mongo-python-driver-4.7.2.gh.tar.gz 1548375 BLAKE2B a40dbe153f36cdf2836583aa0116f447d08376ce7980a09d0f21cea37a34ab318e5ff0b34b7fe1721cf7fc5d5443a1dbe0982d59cb941b0da8a4a99abdc7b19d SHA512 1de8bd14301e365eb53252dedaaaf8c9056dd534662543e2a500511e5f5f67a69e1f11a8a8575efdbd8852bb47b632d59762f66024d32973d20dc17c4448b9be
DIST mongo-python-driver-4.8.0.gh.tar.gz 1550149 BLAKE2B 9462480b17f3da54918883fbcb28a4324e6a00a9c2c34b16267ebcd378170f7fd34ec7290f7a0e3c4c38a5f1f803428cb6a0c64a562d956b3a19c37130697012 SHA512 17513a278187424fea1876d288651e385be759f23eebceca8d04a15182b15ffd64956193bb53e4a90e8b2197c2ebbade274737091f5d2e5fb4398539674c41df
DIST mongo-python-driver-4.9.1.gh.tar.gz 1937311 BLAKE2B 9312c7df50f86dad7dd713b34aba0a87dd9f878b115b3c00ae9e0825c883c869f57e0d55d552b1b4bf9715930840a540572b451d296e185085c4c0c707855811 SHA512 e616418c90088bfc328505dea315a225bfcc942fa29dcc348d3b80d0fb329b7e8fe9d6164c0e13a0562e6126535cc7d04c2cf497a39a04071f6db8af3c8ed1f1
EBUILD pymongo-4.10.0.ebuild 6852 BLAKE2B 8f7f4d5d2f2899a5156b930223e699c9c150bd86521d97a57dfd00a0d4393ecb62a1b818457844c1caf24cc95591853b63427058fc61c924384f174933414db6 SHA512 f79923f2a0e3e64df6fcaa8512cbe417d1f62823de148fe12d6b4a9f3293774d6ed1ff745097c86dcb997f009262452ee2506afecfd63bd6d81428e42fff9c8e
+EBUILD pymongo-4.10.1.ebuild 6852 BLAKE2B 8f7f4d5d2f2899a5156b930223e699c9c150bd86521d97a57dfd00a0d4393ecb62a1b818457844c1caf24cc95591853b63427058fc61c924384f174933414db6 SHA512 f79923f2a0e3e64df6fcaa8512cbe417d1f62823de148fe12d6b4a9f3293774d6ed1ff745097c86dcb997f009262452ee2506afecfd63bd6d81428e42fff9c8e
EBUILD pymongo-4.7.2.ebuild 5267 BLAKE2B 1045523964d4f0482bb1fd5c57841684479dae05b9135f873008d41de4163834bbc1d6d0249e183aec0e5f7751ea7740d2dc05ae0ec69048f1b24e5d1f215675 SHA512 3e19264bd6944e334d673ac0303e738dccd61b68e9b9d7e9cdd06eeea811d52cc5206d4e8ff57e88cf928ac5b47cc69a77bd5dc18aab801b2db8dcbe894f4456
EBUILD pymongo-4.8.0.ebuild 5839 BLAKE2B add017703bd0be4c70abe7791ed3cf19453ab63f04d61e0b8139e6f59677ebaf002118b0e055ac23cb4e56c67033326abb16c73d76827698719e10900cebb90e SHA512 6e4ec05b25bfafd953d8254b6ceaf28fa5784cda21af76a9b27329af2a909aca7d43d242514b1b2dfb7db294e43eee17c15ad26bd73ed0c4fcc382e9cc7205c2
EBUILD pymongo-4.9.1.ebuild 6852 BLAKE2B 8f7f4d5d2f2899a5156b930223e699c9c150bd86521d97a57dfd00a0d4393ecb62a1b818457844c1caf24cc95591853b63427058fc61c924384f174933414db6 SHA512 f79923f2a0e3e64df6fcaa8512cbe417d1f62823de148fe12d6b4a9f3293774d6ed1ff745097c86dcb997f009262452ee2506afecfd63bd6d81428e42fff9c8e
diff --git a/dev-python/pymongo/pymongo-4.10.1.ebuild b/dev-python/pymongo/pymongo-4.10.1.ebuild
new file mode 100644
index 000000000000..286a8d403b6a
--- /dev/null
+++ b/dev-python/pymongo/pymongo-4.10.1.ebuild
@@ -0,0 +1,228 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit check-reqs distutils-r1
+
+MY_P=mongo-python-driver-${PV}
+DESCRIPTION="Python driver for MongoDB"
+HOMEPAGE="
+ https://github.com/mongodb/mongo-python-driver/
+ https://pypi.org/project/pymongo/
+"
+SRC_URI="
+ https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="doc kerberos +native-extensions +test-full"
+
+RDEPEND="
+ <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
+ kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ test-full? (
+ >=dev-db/mongodb-2.6.0
+ )
+ )
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests pytest
+
+reqcheck() {
+ if use test && use test-full; then
+ # During the tests, database size reaches 1.5G.
+ local CHECKREQS_DISK_BUILD=1536M
+
+ check-reqs_${1}
+ fi
+}
+
+pkg_pretend() {
+ reqcheck pkg_pretend
+}
+
+pkg_setup() {
+ reqcheck pkg_setup
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # we do not want hatch-requirements-txt and its ton of NIH deps
+ sed -i -e '/requirements/d' pyproject.toml || die
+}
+
+python_compile() {
+ # causes build errors to be fatal
+ local -x TOX_ENV_NAME=whatever
+ local DISTUTILS_ARGS=()
+ # unconditionally implicitly disabled on pypy3
+ if ! use native-extensions; then
+ export NO_EXT=1
+ else
+ export PYMONGO_C_EXT_MUST_BUILD=1
+ unset NO_EXT
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ rm -rf bson pymongo || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=(
+ # network-sandbox
+ test/asynchronous/test_client.py::AsyncClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
+ test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_logging
+ test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_warning
+ test/asynchronous/test_client.py::TestClient::test_service_name_from_kwargs
+ test/asynchronous/test_client.py::TestClient::test_srv_max_hosts_kwarg
+ test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
+ test/test_client.py::ClientUnitTest::test_detected_environment_logging
+ test/test_client.py::ClientUnitTest::test_detected_environment_warning
+ test/test_client.py::TestClient::test_service_name_from_kwargs
+ test/test_client.py::TestClient::test_srv_max_hosts_kwarg
+ test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
+ test/test_srv_polling.py
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
+
+ # broken regularly by changes in mypy
+ test/test_typing.py::TestMypyFails::test_mypy_failures
+
+ # fragile to timing? fails because we're getting too many logs
+ test/test_connection_logging.py::TestConnectionLoggingConnectionPoolOptions::test_maxConnecting_should_be_included_in_connection_pool_created_message_when_specified
+
+ # hangs?
+ test/asynchronous/test_grid_file.py::AsyncTestGridFile::test_small_chunks
+ )
+
+ local run_separately=(
+ # need to run some tests separately and then restart mongodb
+ # to prevent it from crashing
+ # https://bugs.gentoo.org/934389
+ # note that this list must not overlap with EPYTEST_DESELECT
+ test/test_bulk.py
+ test/test_change_stream.py
+ test/test_collection.py
+ test/test_crud_unified.py
+ test/test_gridfs.py
+ test/test_gridfs_bucket.py
+ )
+ local run_separately2=(
+ test/test_command_monitoring.py
+ test/test_connection_monitoring.py
+ test/test_cursor.py
+ test/test_database.py
+ test/test_grid_file.py
+ test/test_monitoring.py
+ )
+ local run_separately_async=(
+ test/asynchronous/test_database.py
+ test/asynchronous/test_grid_file.py
+ )
+
+ if ! use test-full; then
+ # .invalid is guaranteed to return NXDOMAIN per RFC 6761
+ local -x DB_IP=mongodb.invalid
+ epytest
+ return
+ fi
+
+ # Yes, we need TCP/IP for that...
+ local -x DB_IP=127.0.0.1
+ local -x DB_PORT=27000
+
+ local dbpath=${TMPDIR}/mongo.db
+ local logpath=${TMPDIR}/mongod.log
+
+ local stage failed=
+ for stage in {1..5}; do
+ # Now, the hard part: we need to find a free port for mongod.
+ # We're just trying to run it random port numbers and check the log
+ # for bind errors. It shall be noted that 'mongod --fork' does not
+ # return failure when it fails to bind.
+
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ LC_ALL=C \
+ mongod --dbpath "${dbpath}" --nojournal \
+ --bind_ip ${DB_IP} --port ${DB_PORT} \
+ --unixSocketPrefix "${TMPDIR}" \
+ --logpath "${logpath}" --fork \
+ && sleep 2
+
+ # Now we need to check if the server actually started...
+ if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+ # yay!
+ eend 0
+ break
+ elif grep -q 'Address already in use' "${logpath}"; then
+ # ay, someone took our port!
+ eend 1
+ : $(( DB_PORT += 1 ))
+ continue
+ else
+ eend 1
+ eerror "Unable to start mongod for tests. See the server log:"
+ eerror " ${logpath}"
+ die "Unable to start mongod for tests."
+ fi
+ done
+
+ local async=( -p asyncio -m default_async )
+ local def=( -p asyncio -m "default or encryption" )
+ case ${stage} in
+ 1)
+ nonfatal epytest "${def[@]}" "${run_separately[@]}" || failed=1
+ ;;
+ 2)
+ nonfatal epytest "${def[@]}" "${run_separately2[@]}" || failed=1
+ ;;
+ 3)
+ EPYTEST_DESELECT+=(
+ "${run_separately[@]}"
+ "${run_separately2[@]}"
+ )
+ nonfatal epytest "${def[@]}" || failed=1
+ ;;
+ 4)
+ nonfatal epytest "${async[@]}" "${run_separately_async[@]}" || failed=1
+ ;;
+ 5)
+ EPYTEST_DESELECT+=(
+ "${run_separately_async[@]}"
+ )
+ nonfatal epytest "${async[@]}" || failed=1
+ ;;
+ esac
+
+ mongod --dbpath "${dbpath}" --shutdown || die
+ done
+
+ [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+ rm -rf "${dbpath}" || die
+}
diff --git a/dev-python/pyproj/Manifest b/dev-python/pyproj/Manifest
index 024303b0495a..b88113e23a7b 100644
--- a/dev-python/pyproj/Manifest
+++ b/dev-python/pyproj/Manifest
@@ -1,3 +1,5 @@
DIST pyproj-3.6.1.gh.tar.gz 239568 BLAKE2B e396e7c13dfc90f8a8eaf93b7bc0e62921779930d9c42b21ce8afa95597b13e527c179096600f40140d6d00d0f425580fccc34ae55a4e8c985d1b618554c9db4 SHA512 19c55e7ab99aae70bc318246146dc98ba75cc4884de798392f590df48c6a83e1b80504fd9c555ffd9d19262eb93cdf2c46e4805a3ae6dc07b3eaa4669f025ff0
+DIST pyproj-3.7.0.gh.tar.gz 240143 BLAKE2B e5508adbfe8f30ce6808bfeacfa8de0cd70ac2f7578aaffb3a3962aacd4cde0b7100645d562fe8822ab1d962b19c7c1d02bc336bc830058dac8a1995044adc9c SHA512 6cc1df752a5ca58b3a90a725ca113f52648e2bf72b4ecdd516169571f71652cee5c6b34bd4932b9ddf0b94b084ea4a406d915aebfa9abf1d4065567f7b48d660
EBUILD pyproj-3.6.1.ebuild 1144 BLAKE2B c694fb7047f7171a4fbf85a2604887d0fb67ec38d5adba32b57f0762f1133289b62acea52ca5ec307cb305927cdad361a58e8690bc0769aa379a6b6090305197 SHA512 f897343d3f0cfe2ec0be8760776bf353fd48e6489a2e47f9d141950c0a08732f6cf4ed2823a8a35a5313845609d3743be57b69d470fc57f33e4e2b8aba740179
+EBUILD pyproj-3.7.0.ebuild 1146 BLAKE2B b1bbe0ede741d2fa182be9b2aff4d5006555aa1b670727be0bb8a2a208852f31a0d67534725471ef4fbc6b32eb6b6c173d1fb956e65fb9be3b4a7c8390972c5c SHA512 6b713d1a526f842837c3716048df87ce367d6e8d90c5e6b720cf56b80ddbd7d1d6a54dab86523888dc61c7b545665152a22f0dd39b84a131cf0308d8a064360a
MISC metadata.xml 415 BLAKE2B 4f3ab70bc72ca97a428c357257d3a59591b410f12276a42e141cd0a43072b79107529c95c6a313906129e8893c75b63a6ef11ddc2f3842a7f5e5e7f7349ec38e SHA512 7ca8a01534471dff67c42a96c524d166278e26da309b2c4d766045e38086cc0e52ccc990881ebed7ca81219d705d9e4a9c16e86b052a50867bb032457e354903
diff --git a/dev-python/pyproj/pyproj-3.7.0.ebuild b/dev-python/pyproj/pyproj-3.7.0.ebuild
new file mode 100644
index 000000000000..9d26a37735d1
--- /dev/null
+++ b/dev-python/pyproj/pyproj-3.7.0.ebuild
@@ -0,0 +1,55 @@
+# 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_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to the PROJ library"
+HOMEPAGE="
+ https://github.com/pyproj4/pyproj/
+ https://pypi.org/project/pyproj/
+"
+SRC_URI="
+ https://github.com/pyproj4/pyproj/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux"
+
+DEPEND="
+ >=sci-libs/proj-9.0.0:=
+"
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-python/cython-3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/shapely[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ # Avoid greedily trying -L/usr/lib, etc
+ # https://github.com/pyproj4/pyproj/blob/main/setup.py#L76
+ export PROJ_LIBDIR="${ESYSROOT}/usr/$(get_libdir)"
+ export PROJ_INCDIR="${ESYSROOT}/usr/include"
+}
+
+python_test() {
+ rm -rf pyproj || die
+ epytest -m "not network" test
+}
diff --git a/dev-python/pyrqlite/Manifest b/dev-python/pyrqlite/Manifest
index 06b4f915a89e..12f163bf57ec 100644
--- a/dev-python/pyrqlite/Manifest
+++ b/dev-python/pyrqlite/Manifest
@@ -1,5 +1,4 @@
-DIST pyrqlite-2.2.2.gh.tar.gz 21302 BLAKE2B 8a16155287f4a4698ca63d4643c9fde0dbf4fc8238b4259f194b66a30846bab9b6420df0cc8049b2ea16d8ffdcd8c99f2b7e49a135af458e2b239b52e3ac4f5b SHA512 6faf6d5b1a264a85247ee5a790bc4e718d0632ee4d4bcd16aed2bce65216f23c0cb44d7c367ae73874bdb618d9c56bbefdaeebb40322f228e0ee50d78e03b91b
+AUX pyrqlite-2.2.3-test-support.patch 1528 BLAKE2B 71754c366e71795655ca9559eae7d46fb2c7fba8561fcf587d7be32fea125877495df9ae515309f60e0c1021516ae5463dfc85d59b1e6c109fafae4ab481648f SHA512 5c6039ee2025861c5c43db010e0a999247a17988cd87790d651aa0de41197cfde851df7559d313eddb94ec3182caddcd136b0dc99e922a31c71fdab9424f1e5c
DIST pyrqlite-2.2.3.gh.tar.gz 21554 BLAKE2B 1a3c09eaee20a19ab06a4f91a5b12659eafe425f796599ef9abf85f99563a62b40f1f82488611e0bbd1fb18853e2b1e310ecd7f94cb89f5840e34c51a4bd42ef SHA512 063a9072846c31fd34ea5261fe97f1023a95122c39c58292c7ab08ba148e01ab5001adda28c2856f0e29b67be553a8bae011d274edfdd3028aacd22179d309d7
-EBUILD pyrqlite-2.2.2.ebuild 544 BLAKE2B 0b0d6f6cf6a0f0d49334beb3944511924dc364a2fa32d94132ba9cb3c70bde8167f23853806a1f7daeaf262747fd9893d624c517720e40210a383f72244363c9 SHA512 7d8e6f8f02a18847ae5c8028c8de9455c0dac51db02614f2d4c338a496c70c8453d42e0dea64939a4dbf4f320b7f98a72aff5d75014758c61da679bb27fec296
-EBUILD pyrqlite-2.2.3.ebuild 544 BLAKE2B 0b0d6f6cf6a0f0d49334beb3944511924dc364a2fa32d94132ba9cb3c70bde8167f23853806a1f7daeaf262747fd9893d624c517720e40210a383f72244363c9 SHA512 7d8e6f8f02a18847ae5c8028c8de9455c0dac51db02614f2d4c338a496c70c8453d42e0dea64939a4dbf4f320b7f98a72aff5d75014758c61da679bb27fec296
+EBUILD pyrqlite-2.2.3.ebuild 602 BLAKE2B 969c3e81d474c3e9ef903c4b876ef598d05a5a85ae3dbdf3c75942f290cd7d13cdbb7cc68f74bb1b2412944b66e4e16617086cb98edb5b9680efbb6ef94cc2f9 SHA512 916fc24ea5f1d0fb5d34175daaf5df99f2e9eb7d82db02c16488beded9890f525e83737ce23f7ed8786709a2f9daafdbc55792f2bb6a3565818f97aa3b1281e6
MISC metadata.xml 357 BLAKE2B 449eff24c8febb1ff5a30b6ceab4786f1b85aded9e3dfb10dd89c116e7b740ca30377a0404dee72988d884298c7e378291a2eccc40bdc1b56a65031dcaea1887 SHA512 2168a2d8f948b9d8e29561931469cb4b4a708d2068c5c1767bdae45046b8ad138e0eac8379003f50a933e488c2bb624a9f2e0e10702e096b1ff486cbfba994e1
diff --git a/dev-python/pyrqlite/files/pyrqlite-2.2.3-test-support.patch b/dev-python/pyrqlite/files/pyrqlite-2.2.3-test-support.patch
new file mode 100644
index 000000000000..06559446ef12
--- /dev/null
+++ b/dev-python/pyrqlite/files/pyrqlite-2.2.3-test-support.patch
@@ -0,0 +1,50 @@
+From cb5ba83c0ba95eae0026afdc8ae0312b8e51f647 Mon Sep 17 00:00:00 2001
+From: Zac Medico <zmedico@gmail.com>
+Date: Wed, 2 Oct 2024 16:48:38 -0700
+Subject: [PATCH] Eliminate non-public test.support usage
+
+This fixes the "No module named test" issue reported here:
+
+https://bugs.gentoo.org/940579
+---
+ src/test/test_dbapi.py | 17 ++++++-----------
+ 1 file changed, 6 insertions(+), 11 deletions(-)
+
+diff --git a/src/test/test_dbapi.py b/src/test/test_dbapi.py
+index df32f2f..cb756d2 100644
+--- a/src/test/test_dbapi.py
++++ b/src/test/test_dbapi.py
+@@ -24,13 +24,6 @@
+ from __future__ import print_function
+
+ import sys
+-try:
+- import test.support.warnings_helper as test_support
+-except ImportError:
+- try:
+- import test.support as test_support
+- except ImportError:
+- from test import test_support
+ import unittest
+
+ import pyrqlite.dbapi2 as sqlite
+@@ -571,10 +564,12 @@ class ConstructorTests(unittest.TestCase):
+ ts = sqlite.TimestampFromTicks(42)
+
+ def test_CheckBinary(self):
+- with (test_support.check_warnings() if sys.version_info[0] >= 3
+- else test_support.check_py3k_warnings()):
+- b = sqlite.Binary(chr(0).encode() + b"'"
+- if sys.version_info[0] >= 3 else chr(0) + b"'")
++ self.assertEqual(
++ b"\0'",
++ sqlite.Binary(
++ chr(0).encode() + b"'" if sys.version_info[0] >= 3 else chr(0) + b"'"
++ ),
++ )
+
+ class ExtensionTests(unittest.TestCase):
+ @classmethod
+--
+2.45.2
+
diff --git a/dev-python/pyrqlite/pyrqlite-2.2.2.ebuild b/dev-python/pyrqlite/pyrqlite-2.2.2.ebuild
deleted file mode 100644
index ec12bed1b7aa..000000000000
--- a/dev-python/pyrqlite/pyrqlite-2.2.2.ebuild
+++ /dev/null
@@ -1,30 +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_{10..13} )
-inherit distutils-r1
-
-DESCRIPTION="Python client for rqlite"
-HOMEPAGE="
- https://github.com/rqlite/pyrqlite/
- https://pypi.org/project/pyrqlite/
-"
-SRC_URI="
- https://github.com/rqlite/pyrqlite/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="
- test? (
- >=dev-db/rqlite-6.7.0
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyrqlite/pyrqlite-2.2.3.ebuild b/dev-python/pyrqlite/pyrqlite-2.2.3.ebuild
index ec12bed1b7aa..133e7efb299b 100644
--- a/dev-python/pyrqlite/pyrqlite-2.2.3.ebuild
+++ b/dev-python/pyrqlite/pyrqlite-2.2.3.ebuild
@@ -26,5 +26,6 @@ BDEPEND="
>=dev-db/rqlite-6.7.0
)
"
+PATCHES=("${FILESDIR}/pyrqlite-2.2.3-test-support.patch")
distutils_enable_tests pytest
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
index ff91d8d1e2fb..badf88bf073b 100644
--- a/dev-python/python-tests/Manifest
+++ b/dev-python/python-tests/Manifest
@@ -29,6 +29,7 @@ DIST python-gentoo-patches-3.12.6.tar.xz 6048 BLAKE2B 577032d7aa4bab423781bffad8
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.tar.xz 8752 BLAKE2B 79fd69eba63bb6aafe05aaf95a3733a3b66d0e2b86eae8498a4f4b98bd492029f1c197a9f70738d4d17283653921b13fc7aba854223e498cb0093a93228f7f0b SHA512 513deafc50f2af13c88b01f2651899ce1bb5bd52a8035ca3edb469095c910e473b66d9dc120a61b78310a406147436feee1f77dcba32ce85db00979a01431e61
+DIST python-gentoo-patches-3.12.7_p1.tar.xz 10228 BLAKE2B 71cc6034201198d9483414fa362d68b550bfcbf75ca6f44dd8ab9d90b201098a05cbf4799b1db9359f4dc464acfcee9b0ce59045db27e8e9ce916b5aab010448 SHA512 22f9256c28b96723ad86878cbe44da155e280a8df08c6bcc568dc5296aca1a6fcc41ab823ee9e6d34ce5954bbedb76aea7dba2d9189e0558c536e8b2b9a3c8ce
DIST python-gentoo-patches-3.13.0rc1_p3.tar.xz 15148 BLAKE2B 668060644372e8ddf2d9686796ec304ae7689f5c10ecbc6862f054f96504c418b0e4df28675e4fbb610889f9a665a7a54f23633036b0df35f19f40ef8e6bab32 SHA512 c0cbdf9e0fe2ad29175302e548ebfda1d2af42af0ffeb363eb8b0dc53e1059f5abd7dcd02fd8e9eb9ba7bef2b34b7693633f0a62dc1ab933f43077feacf00fbc
DIST python-gentoo-patches-3.13.0rc2.tar.xz 5696 BLAKE2B 4e716d1d6225e811b598d029ef1dbdc413df614ef00ab8051ea697e633477a0114a3660cae037bdf4142f76c9f2efdefc25b604af11c31eb77d6d98d8f932cff SHA512 c20b53772bd7d305562657722aec70de78fffbf8ab7939f59d496e06c21b31fcd7b4a92573b1000d3bee4d90fd8b7422543f9cfdad15d60bc9a7ecf2a2259599
DIST python-gentoo-patches-3.13.0rc2_p1.tar.xz 7360 BLAKE2B be41dfc96c333ca19a4a21f0931287503094676d1eba1e9e5ae86bf07be571fb7ddaf75eab87dc2ce9364ea1861ca5307ae1b8cdbe2c6f9a1a0e351f42f0fb97 SHA512 38b8b5f5ec21d3cf02a4db43929f4dd870200bde655b9b3acd0f398ed0468f9e43996821510cebb5e01b5633afc7e6fc254b0c80062bb577a044d85e25d28ff2
@@ -45,6 +46,7 @@ EBUILD python-tests-3.12.6.ebuild 1504 BLAKE2B d8f1cec8212407b33a927d704c0a8f20e
EBUILD python-tests-3.12.6_p2.ebuild 1505 BLAKE2B 1663242777e3f433b315e8e47025a8430f88f689d75d93d70cf91852f3200b1cd98225c8bcde7ffe403d2843c0ec812e54fa757e7e5e24c0b8bee057bee003f4 SHA512 eefc970f7ccebe40fde130e830f9ace079924d40e4343b75b38457bd26745e1ed837f576e3fddf41d4338e8e0772891c92462c18f21eec8c9d466934344309a6
EBUILD python-tests-3.12.6_p4.ebuild 1510 BLAKE2B b3e2dc00626f5e66479205dcd616100c7015d6d171db418b09b2d2e8327f03d5aaadffc416bfd2ac075db049ea12880de4d402da85296f1c0b805931f2fd5987 SHA512 995b665085bf7dc6c63208cfdecf4a6b3044a50a8793db3a9eda49e9c6129abe4e934dc85032f18d37bca46bf578571ebc4465cc0740173f5e0b0ae109bf3268
EBUILD python-tests-3.12.7.ebuild 1510 BLAKE2B b3e2dc00626f5e66479205dcd616100c7015d6d171db418b09b2d2e8327f03d5aaadffc416bfd2ac075db049ea12880de4d402da85296f1c0b805931f2fd5987 SHA512 995b665085bf7dc6c63208cfdecf4a6b3044a50a8793db3a9eda49e9c6129abe4e934dc85032f18d37bca46bf578571ebc4465cc0740173f5e0b0ae109bf3268
+EBUILD python-tests-3.12.7_p1.ebuild 1510 BLAKE2B b3e2dc00626f5e66479205dcd616100c7015d6d171db418b09b2d2e8327f03d5aaadffc416bfd2ac075db049ea12880de4d402da85296f1c0b805931f2fd5987 SHA512 995b665085bf7dc6c63208cfdecf4a6b3044a50a8793db3a9eda49e9c6129abe4e934dc85032f18d37bca46bf578571ebc4465cc0740173f5e0b0ae109bf3268
EBUILD python-tests-3.13.0_rc1_p3.ebuild 1426 BLAKE2B c30aea2c2cd004f6fac36aff8cb6a328c37565f0125c1034b8050189764f26201238651d4cc9af3dec8716084cceff0014ebe72b4a22d7a5a26bb252c4b7b2de SHA512 6f7f79d82f030459a75bbaeb92ec5d1b55e7b6617450b02db1ef6f51fb7468a9a9bb449d8e70f8efc6cb5a4f34d4aabd4d1191030adf67e4478341a0307ca632
EBUILD python-tests-3.13.0_rc2.ebuild 1516 BLAKE2B ef7ae9677e2d4d56e2f6dfcd57d7f3cc35882a53bddb994a80ae294de92c206a96599e15e558f7dfe304a3e50138625d9212a2b185935f8dc774b775120cc770 SHA512 e420d4e082fa6e907bf01d38710f256621865ea331781733760a43a04b9714c5a2460767586dfed1fb034f55931fbbb87bdb3439d9b47cc1b455b016395f0bff
EBUILD python-tests-3.13.0_rc2_p1.ebuild 1516 BLAKE2B ef7ae9677e2d4d56e2f6dfcd57d7f3cc35882a53bddb994a80ae294de92c206a96599e15e558f7dfe304a3e50138625d9212a2b185935f8dc774b775120cc770 SHA512 e420d4e082fa6e907bf01d38710f256621865ea331781733760a43a04b9714c5a2460767586dfed1fb034f55931fbbb87bdb3439d9b47cc1b455b016395f0bff
diff --git a/dev-python/python-tests/python-tests-3.12.7_p1.ebuild b/dev-python/python-tests/python-tests-3.12.7_p1.ebuild
new file mode 100644
index 000000000000..b2a3254a3e50
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.12.7_p1.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_12 )
+
+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/qrcode/Manifest b/dev-python/qrcode/Manifest
index becaac99eb05..adbfd8df7327 100644
--- a/dev-python/qrcode/Manifest
+++ b/dev-python/qrcode/Manifest
@@ -1,3 +1,5 @@
DIST qrcode-7.4.2.tar.gz 535974 BLAKE2B 250290bfd31079d91133f669138d7172529e99c381836a74c853061c01666df09fb99c445d705d5f0c02a975810bfc4853c2ec616974849b1834b0ade3917c48 SHA512 a8642845990341034e39c43ef674f5b4ce8d3175a44d6062f711af2c24ffd45bda5f3ecf8a7825b7ebafe734b6396d52a37bb59177c544f921e43eaa9f1f5405
+DIST qrcode-8.0.tar.gz 42743 BLAKE2B 16cea7b8030eeebd6d165a60193c2d682edc066d8f857d5e4ae19b1dbe653fce2dc4562822def07e3c7fd0721ae57208c2993165865918af67f8bdf357dfb556 SHA512 14d37ef4fe0fca3253c92f39db7948f9d804f600ee3bf9ba053baf4e01488f340cb4977b94a338f448dd4f9007f9f0cb7c5cf1db5405d98a9b38a809c8ed8650
EBUILD qrcode-7.4.2.ebuild 1074 BLAKE2B a872f77e78e38365654f812020d18c5702ba6f15809377c04b78582646c9da0c42ee23709f59efb7af041f5a5ececc9647f0f63155e91979af0e986a17f82bfa SHA512 b8e922a4acf13d5df316f7a07ac5b661c1c140a77e03fe347eaca3c9906f3ccce054529438431b1fda19e3f2f4f088a6b101526b186b023903319cb5a26636d6
+EBUILD qrcode-8.0.ebuild 758 BLAKE2B 9652cb00da4445dc740cd5f4b2a9a3de6d37b0be55cb10d309df432e1a84d0bef2af1925a3d3d9014120d357e282e9ebc1c355b629f0c34f4d9dbac50911fa2d SHA512 0e67fd7c1b8e1c95742fc00931d4eccd98717ff797ef4cd6afcf5033b313ca64843b30f033d25d62ef6237df0e6ff3478c8fecedea1635b1aa4dea609b54e1ed
MISC metadata.xml 399 BLAKE2B 35c778030a5c082a2b0683513dff8b6a3e1f7869e031c1d24618c1b8a6259263d57c140e18e792c5f10cd7c8790b3c146472f48ff44bfa6c0eafbadddb9b9b26 SHA512 e56f4843622c02c2e97efd1f319db4ebb017672330cd97f339136a47c56d697fd2885d830511c8755b918e8a46daee87dd33fade2ac54034f5251f909a09e6b9
diff --git a/dev-python/qrcode/qrcode-8.0.ebuild b/dev-python/qrcode/qrcode-8.0.ebuild
new file mode 100644
index 000000000000..f0c7e7f0fb2f
--- /dev/null
+++ b/dev-python/qrcode/qrcode-8.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="QR Code generator on top of PIL"
+HOMEPAGE="
+ https://github.com/lincolnloop/python-qrcode/
+ https://pypi.org/project/qrcode/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+
+# optional deps:
+# - pillow and lxml for svg backend, set as hard deps
+RDEPEND="
+ dev-python/lxml[${PYTHON_USEDEP}]
+ >=dev-python/pillow-9.1.0[${PYTHON_USEDEP}]
+ dev-python/pypng[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # release process-specific tests, broken on py3.12
+ qrcode/tests/test_release.py
+)
diff --git a/dev-python/reportlab/Manifest b/dev-python/reportlab/Manifest
index 55c30fb2623f..e06acb2bbafc 100644
--- a/dev-python/reportlab/Manifest
+++ b/dev-python/reportlab/Manifest
@@ -1,6 +1,8 @@
DIST pfbfer-20070710.zip 677333 BLAKE2B 100214476a361a5e5d1f3da0999591345f6e3a3f8c6bc3f6a3e9eca734190c6259758a43302c6e41254d33491fe535eb7d5dd07aa9727c912424bebc31fc18df SHA512 6fd4a5d955464b10d13a7b748703450c1fe120d5ed09e8cfa1b4dfa9c183c59fe001df29433af551796b0df62544b7ddc364f9bb1bdcc2cd300434340ffcc4f2
DIST reportlab-4.2.2.tar.gz 3690306 BLAKE2B 1f778d25cb02f918758db13f27e380db4d0082c79c534699840e760a54ccb40c1d8bffc51b66de1f79030458ab9d48df7464a40a0a154382f1d02534696f7701 SHA512 4dc7a414ea32a741f660f523d14605fb46410d844d3be60b9f6d39642c0a7ad6162fa4b7448eba650b087a31e40e0ff7fc0bb5eb416dbbaeb104c416285a438d
DIST reportlab-4.2.4.tar.gz 3581357 BLAKE2B 3a06bde9bba5f057dd895929186d70ea1eb66c458aec380c10fff6ada557c2037664085881fffd7781c5148ea526c9e77a5dbf6b42fae5dfda2583063ff23d52 SHA512 ad6754d6142ea43b4f160d6eecbede83d8bc4f3dfc7822fc0de9e39d357370c43c8fe43ae6603a117c9b8b5cf354e925673567cf01883a0401b881b354352a3c
+DIST reportlab-4.2.5.tar.gz 3581379 BLAKE2B 560175a5180f3e991a3bed26f40b1c73b80a0f7dde9a30be2693ca0008d5272a3c1903fa930112e5f023e433a45c6ce384f9f239335c12400434a390a25ca501 SHA512 1daf01a03dd12770d40dbc1be66f0128a63953eebc97175d5cdf9a30cc6f827bc7a50e4f12cf0def8edecd3798fdc1fe009b3b92b0a252ca8a1395f83d6e970f
EBUILD reportlab-4.2.2.ebuild 1121 BLAKE2B 1667ced19580677aa0723aacf600208b3024d95ba5f1a49c314221d70aa9866f1c7aefb4874566c7bef251e4ed2efc3229e0806b5d13ddb0ae7217289216a5e3 SHA512 6fe4e883745dde3001e2bb91b5e6bab7ac252ddfd3c1d1ffa1bdecad3feef01f192e88dbc73da0dc006397b4b6bdd1842b82c6810f4f28faeeba11ef03e59967
EBUILD reportlab-4.2.4.ebuild 1128 BLAKE2B 83270a6293396631a941550bcdea82e3374becd133027c6fe7862baef6f935e1300b9a212547a1ab810fbeb80e892e31f1f88bc4bf9b965e63d3772d33dfa7a3 SHA512 9bc5dcda511abaef7dbab3524bfa8846f6a924cbac3c0ac1dad9f5c6c83a8760acef62085e164201d3ab2434b93d10996f6b9a6bc9b135da1dae43e6d9d31fd2
+EBUILD reportlab-4.2.5.ebuild 1128 BLAKE2B 83270a6293396631a941550bcdea82e3374becd133027c6fe7862baef6f935e1300b9a212547a1ab810fbeb80e892e31f1f88bc4bf9b965e63d3772d33dfa7a3 SHA512 9bc5dcda511abaef7dbab3524bfa8846f6a924cbac3c0ac1dad9f5c6c83a8760acef62085e164201d3ab2434b93d10996f6b9a6bc9b135da1dae43e6d9d31fd2
MISC metadata.xml 1913 BLAKE2B e088a4a5ee1ca40351c04d8ee825fb783679c8c4ac5ba7c513975e546f7f90f4777a7d9b312a4bb2ce97db5695fcfcf913610b02a9780ffc86143ee1845ee281 SHA512 84422b0f54f169b4342bb5842935a57dd7721d8d6e41f4fece4ce0cf20ee70a764fa1914371e47ed9437bd40243ec22c93f20c167a48ee6ba9d9cfbf3e7c1fe8
diff --git a/dev-python/reportlab/reportlab-4.2.5.ebuild b/dev-python/reportlab/reportlab-4.2.5.ebuild
new file mode 100644
index 000000000000..4c2de91a5490
--- /dev/null
+++ b/dev-python/reportlab/reportlab-4.2.5.ebuild
@@ -0,0 +1,53 @@
+# 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_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Tools for generating printable PDF documents from any data source"
+HOMEPAGE="
+ https://www.reportlab.com/
+ https://pypi.org/project/reportlab/
+"
+SRC_URI+="
+ https://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/pillow[tiff,truetype,jpeg(+),${PYTHON_USEDEP}]
+"
+BDEPEND="
+ app-arch/unzip
+"
+
+distutils_enable_sphinx docs/source
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ cd ${P}/src/reportlab/fonts || die
+ unpack pfbfer-20070710.zip
+}
+
+src_configure() {
+ cat > local-setup.cfg <<-EOF || die
+ [OPTIONS]
+ no-download-t1-files = 1
+ EOF
+}
+
+python_test() {
+ pushd tests >/dev/null || die
+ "${EPYTHON}" runAll.py --post-install --verbosity=2 ||
+ die "Testing failed with ${EPYTHON}"
+ popd >/dev/null || die
+}
diff --git a/dev-python/rich/Manifest b/dev-python/rich/Manifest
index 6f0e0cef5d2f..ce6fb3a84277 100644
--- a/dev-python/rich/Manifest
+++ b/dev-python/rich/Manifest
@@ -1,3 +1,5 @@
DIST rich-13.8.1.gh.tar.gz 15062921 BLAKE2B 6df186dee1eccabbb28ef4bcd3bbceac335fbe39cf1ff6318726146f3eead9033fe362ca3c363c057c9b898ebb824d55f13454d68cb917dfc82e07e1e0038fa4 SHA512 d84d05fcc657fbcbcca09c22856c36fb945fde481111565292b13a9c5472cc1cf7e6266069f80b48821f7307a1479edc65a48d3b8a96334922b151d93b402daa
+DIST rich-13.9.1.gh.tar.gz 15063679 BLAKE2B ce08c00e9d1754c75485ebc025a2479bd2dd851f38d87a40c38ef17118c626a9f1ca17219578b7a0e7ad758d626465f467850ccf2d37d8d29501951eca516eec SHA512 c45406ad33f86d0f310a6ae229b0e9eea39313bf21fb7d44bc2e40993c4928814db26f6b9740477dc6418c4eb1974fe2bf782b98288dac12b109673ee783a62c
EBUILD rich-13.8.1.ebuild 2007 BLAKE2B 68341542a05c6b1face0a9d90f07411b78bd018bd97d96eeb97fd0cc34ee76524e1d22fd5ed9ada7e116b725289b19b71e8d5af420d43b8ad00a5114caabb885 SHA512 a9eddebc103117511b12dc4939fae762555aa64ee9c393b1975cf429ae328c56dc14af4a4f4ac31a89d6bca44fac745060149669776da7cc932a47286cfbb984
+EBUILD rich-13.9.1.ebuild 2106 BLAKE2B 033790ff2ef5358730b05f09c385b3073bec6637fd1375caf97c6b2727cda5abd8dd1408923bcd7751102a2d1b187ec59167fa248d78b012d35d985197d77231 SHA512 35b4dd0743e3a30a7eda2f4d0e340f0b1b99210f3249146b107649f02485d6681eb38f224513ed65cc233635bc729ee0501b2c4c1a3e82fa7fc0c8eaae1d97e1
MISC metadata.xml 387 BLAKE2B 049491e034ba233f33c76dc5e3f1b887ba5d2da9d65b09bda51a7cf4eb30a9c66f3ddf714f52407a73e51da78523084064bccd4fc687e0bc0fc2b32dbb4c513b SHA512 448ce879331748e3166f670981a27ee5c3ef20b51af442ccc684cb6514c0d6a0d4e433a8bc1ddb3bdf68c734bac013c1ba04d38adf90644b062231ab1c1d2c0b
diff --git a/dev-python/rich/rich-13.9.1.ebuild b/dev-python/rich/rich-13.9.1.ebuild
new file mode 100644
index 000000000000..de21ed690f8d
--- /dev/null
+++ b/dev-python/rich/rich-13.9.1.ebuild
@@ -0,0 +1,77 @@
+# 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_{10..13} pypy3 )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Python library for rendering rich text, tables, etc. to the terminal"
+HOMEPAGE="
+ https://github.com/Textualize/rich/
+ https://pypi.org/project/rich/
+"
+SRC_URI="
+ https://github.com/Textualize/rich/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/colorama[${PYTHON_USEDEP}]
+ >=dev-python/markdown-it-py-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.13.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ >=dev-python/attrs-21.4.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_console.py::test_size_can_fall_back_to_std_descriptors
+ # TODO: segfault in recursion (PyQt6 interfering?)
+ tests/test_traceback.py::test_recursive
+ )
+ # version-specific output -- the usual deal
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # pypy3.10, to be more precise
+ tests/test_inspect.py::test_inspect_integer_with_methods_python310only
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ tests/test_inspect.py::test_inspect_builtin_function_except_python311
+ tests/test_inspect.py::test_inspect_integer_with_methods_python38_and_python39
+ tests/test_inspect.py::test_inspect_integer_with_methods_python310only
+ tests/test_inspect.py::test_inspect_integer_with_methods_python311
+ tests/test_pretty.py::test_pretty_dataclass
+ tests/test_pretty.py::test_reference_cycle_dataclass
+ tests/test_pretty.py::test_max_depth_dataclass
+ tests/test_pretty.py::test_attrs_broken
+ )
+ ;;
+ esac
+
+ local -x COLUMNS=80
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets
+}
diff --git a/dev-python/setuptools-rust/Manifest b/dev-python/setuptools-rust/Manifest
index a3a39f08f4e4..8fa233a6480f 100644
--- a/dev-python/setuptools-rust/Manifest
+++ b/dev-python/setuptools-rust/Manifest
@@ -43,10 +43,15 @@ DIST precomputed-hash-0.1.1.crate 1640 BLAKE2B 64a37ef3edd317f771e833bb394f7c19b
DIST proc-macro-hack-0.5.20+deprecated.crate 15045 BLAKE2B fb7b9fa57ad64f2920e801482bfccc762bb7b2c8c1db7da32f393c7b47414fab37234c8a408a4ca9d7072a541df22b07775fc509f76f352fb6be9fe822f84dfd SHA512 278e786f8e0c93e346de900666b3d55d366324167a2e5e553565870c4444bfe661cf8c151a29cbd3176a4905ec49d69cffb81ae1e4a129f30404f930972c4b43
DIST proc-macro2-1.0.82.crate 48452 BLAKE2B c01f60b788c1395d1041d7eb55fe9519ae4e78f86e3dfa732458747767ff801fcdd5a19a81ee9a8d8cd2457eb0a2bb7cec118299a5a9a64d65b5cf06b9d81165 SHA512 3726463868483243adce01c319c1deb1ab153188f1adcb083b53bff838fa80371091bb8e20ce88709ea850ab3ef74dcd99ca5aa95fa375b330841fd4230c842d
DIST pyo3-0.22.2.crate 538342 BLAKE2B faf347695117f9fe0ebe5cd7f6aa1b0dcfe718343875d6c06438046deccc1075f104d2a2413dcda41ae9827bc363aa147057b45968f6634f577a6a4510a4bb8e SHA512 e8bae09059f50ffe477dad44499cedeaf3a734665f0fd8e8bd4b44f48578d21e4bdb8d55ceea00c5a27da750761842ddf89cfcecdecb2e7a4a17ab192259be9c
+DIST pyo3-0.22.3.crate 542516 BLAKE2B 26607f4455a58ea704cc2d01dfe3857147e03ff891ab0aadab73c7eef2ecb4445097b369d8986c18bdd5efa3ba767b9f41411d5a8f10d6d06851634d07d42642 SHA512 17940627701b0d3c401ccb4221241e7bc727d2b89cc26bbb231aec597cda1c04f07d4315b617d4e9f85623a6fff0031f83c6b7afcaf442c50e694785b07022ad
DIST pyo3-build-config-0.22.2.crate 31225 BLAKE2B c2e6a3d3d23b7f2f51bcbf1214ab20a298a1e62f85c9af3dab1e77b09f20b657b576feefffb18eb49d438f0ffab525b6bcd1086d500601c327ffd4fd24a719ee SHA512 644c82d30bb27051557efcc9789a81380a64e29bc62abf97de88f42c3791dac74228c7a7d09e0d46d14f07c0475f0bc03fac6ed1367b9a616153e8820b94cbc8
+DIST pyo3-build-config-0.22.3.crate 31297 BLAKE2B dbac8f03e96ba1bfef9b31b3e28e7f81a79f24a9596ae786f602633dc18dbccb583380d324e3e2ccdc2909c57a23d1e488f300ac123c7f8309e052fc97c9fe28 SHA512 42265d570b07b23603783903181c49c4a8bfef1a67055510d9c8c9a504c8e0435b8bae9a352740be791c5562e0abdc48f97ea1d7c03cfc270e821e643dbadea2
DIST pyo3-ffi-0.22.2.crate 67749 BLAKE2B 0a4357d5f4fbcab9717d58b7a80b63a63bc329267d4725136c4eac7c0101095a50e5f840638dde79034e5df99c4f46664cfdc2ad437837643db5d475c5705cb3 SHA512 bf8b83b4790832d99de8c6a61a15a43fc189505dd843011933305f7f93c4f5f4849fb00cc2a6fa410b788645f8ed8c0df61799cf801966a925abb9756b1ab579
+DIST pyo3-ffi-0.22.3.crate 69099 BLAKE2B c085c9485f585ab8c2a636385dcf90dc70fe854285b223a298283803c98ff21d3c3623a2cc8a00b61950ac07c123efa7c244d4c924eb0945b4a6c6023cd7e4d5 SHA512 f964b6b0ed17f968a06106f5396a23c5162f66bcf36e897ecf7b37cbd059f28093400c602b51d9a28dfdcfc8af6ff21c4fd68c6627b049a319c85096bf6024cd
DIST pyo3-macros-0.22.2.crate 8136 BLAKE2B 9dc97d2f60581db1b8ddb562dac917069525f297fe2cbb9aff3ed34d5a08ea43c112c9c7a450539da3536d753778b5ca506dd1b18e1d6b8a3649fc098e7af439 SHA512 f4f4f6af8dc3aa4bcc1698661990ab2112391ef9502e9f71d86e35bd10dc4e1be309102ebb1b7b32751817a6033168dc0486fdb16b35c626101e69f0de807a4a
+DIST pyo3-macros-0.22.3.crate 8183 BLAKE2B 5ef8297c67f2910580caa349951580b4d962329f1324eb3a53ef946cc5f41ffe10f4af1d7184904621cd0f318a94618af43cf785f3a3ef57fc4747c47db02820 SHA512 c0ad8480ef7f7ac5287a3bbd363136c63668b2cb77f475d5a6cd5921aa9dcf0336baf6a464b4d2a0068fb21724184785faa79d75b588f90359e8aa250a17e85f
DIST pyo3-macros-backend-0.22.2.crate 65620 BLAKE2B 37fba9ff384373418d3a7341acafb8e33308a64e30026f828693a37c32ab4a74d058f2db84d00467a20f9f267c96fe54c0f154d1ebbae92490e8dfc0d29c042f SHA512 0517080c0d5d4ed8136521fd37aa3a192c2eb8cab58545d8543ee4df9cd0dcea19fe0678d5ab90f05fe3eb0f4a86fc2f07b76f2e12ac1fcf7e7c195c2ffa4fd8
+DIST pyo3-macros-backend-0.22.3.crate 66032 BLAKE2B 33c2e8cae9b44e4a4806833f780e03f553ef0e6dbac733e9232e406fb64757691fbdfb65fd864280e14e8af8a4bb9c485a3c02227e8d1286ce11f1d4dbd61c28 SHA512 7b52977e02aca9bf4754d60957e69d47f9f447fe8bda40f146bbbd31eb7ebf2fc01c600c9b279f97cdf203e2cc66d96c1617c08041bc1215a02a80a90244417c
DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
DIST rand-0.7.3.crate 112246 BLAKE2B ecc7c1bd70ac874c03bd8b7faa3016bb2d5ee5c19603280a12a45a81598f706e445971ee081e6ca410ab6f0f5f7a06d9315848cd556a2d8522a82024f6ff91e4 SHA512 f9b68ef9446f1ca2c8092c50990f15c1b4cb5529eeeac4df8d69755e0b7253c663c587775e7cb0a7298c31edb444975dda34926759306541f6d43d0d3cf57b7e
DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
@@ -65,6 +70,7 @@ DIST serde-1.0.200.crate 77611 BLAKE2B 57f4a76cf534ffda009a5441e694b0ac87b30e470
DIST serde_derive-1.0.200.crate 55785 BLAKE2B 45eca5504aff6bd099a42dfc794cf732c7e76e5ed362d16082ac069d29e1e6c22bb3e13dede4bc498df8f008bdba15479de618380f37c9742a34d97c9ca12efe SHA512 e70f0e092d81542a96b33610da8ddbf04023d8ecc1fa4a4f31978699c118f096e8534f9e3e4e479ee74280efb86d752dd1fce038ef2def329fdcc10c1aa50942
DIST servo_arc-0.1.1.crate 9817 BLAKE2B 88586ca0c969df8bfb3a04ba4a689606995876434877a2cd48a72b26451deb6fdcf65273aa9b03948adcbc66b2450301840910e5c4162b993535d69585c62128 SHA512 59d531dcf7a9191b8462ce395e713194994714b65275c0af412186f862be169d0c6fc5d86603332a1aacd8af9ace934dc78531b9cb576cf8179ec35709225447
DIST setuptools-rust-1.10.1.gh.tar.gz 303851 BLAKE2B 09ede3e017fb3c7202a6e4426f3ac401234ae306e93b88dc6c7364e0718ccb0ce2f1b863c3a41f1158b85cb24e3a4c3ea4ba8ef5e6fa16e4768f9ac42c89aa71 SHA512 9fff3f5a8f1808da4a588ab2e3684b0d279c7813fbcb994a98996a5f20bbe9f5e26e2ad3235f35baac727106ea5023e744015f238b22436bbf3a3f6e0e8b9c2f
+DIST setuptools-rust-1.10.2.gh.tar.gz 303901 BLAKE2B 163513eac052461f387cf27645e43f7c57ea3a850e8871e1e9d1485cd514ad45fdd4bca99917f72b5907069d81f00be8285a6f46c7f6a812f1989901cc865a49 SHA512 0e085ffed62085fc342bf3c5250ac3d4c5c1a7e84cf57694745b7f6361fef469e2c4e8b6226924b55201adca79c6279f20e9cf4283e0f9595aad9ac6dfe602f7
DIST siphasher-0.3.11.crate 10442 BLAKE2B 771221614bbd56f609b9743da4352dc7a2cbd0f6257952fab0cd052e5e5b258a4c95a0461d6d1b579dec90b72d66a0e58e036899b3db8341ae753a421a4cd4d5 SHA512 601121bd41da896142dc6ccc74a6eec3ebee3e976857ab8b5d21e915fdc8bc6e979af66a489c406371fbbbfc7a13338cc4b3744aa981206e43c53998f3e1699b
DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03
@@ -90,4 +96,5 @@ DIST windows_x86_64_gnu-0.52.5.crate 831539 BLAKE2B 54f84c19988addeb7cbbbddb940e
DIST windows_x86_64_gnullvm-0.52.5.crate 433246 BLAKE2B f34328a6d100e092ecb34a6305daedf4fecd71840432f104e8707f049b60d784584ce4f02fabdd0281fdb8bc7ebed34b38fdacf3be9c8abd60084e9a4ee9fd56 SHA512 22a978c40df9705cd94e4c52f2b706e477e667b564c608d0adb144b38cb486c279c09d1eb1dd2d6c7bd3401b75a2dc5eafe0f7d642ffe6453f394d1f59483a08
DIST windows_x86_64_msvc-0.52.5.crate 827905 BLAKE2B fd5dac198bfbf29878cb461a7338c289c9af16ea80b3e5fa567980d2a6a5ea6a1cd83729ce6fd67e4da171873083dbeb1d6e16a287620f0245201f9cb29c29b4 SHA512 81176090dc725d7fe3867e6322fdc4a4065168580847b35e6f8da345f685c4f66a81e35cd1880dbaabdd4cdc82446dde9d6a0e583cf0b7fe47dda8bc8002f1c6
EBUILD setuptools-rust-1.10.1.ebuild 3667 BLAKE2B b443bb7d22b290ba1f03960e01cd13596099ee166e4fad78c7b4ddd5ccb70b8b4b3f2c8c681d041560d8ff3381b166f0f0ecb713a565aad0bcd77ef6900c5bcb SHA512 27a18532b60670b37441e9eafb18fed9c537d30c2fd918b654116bbd21a0a026cbd1c3c8e6b4967fb919aeff560bd48aa1c14d79f8dd1d588758001884b2cf98
+EBUILD setuptools-rust-1.10.2.ebuild 3674 BLAKE2B 4e15c65777f3485d66c80bdb8b1f960e38ffe8f05bfa922ade7f0bdabdbc55aaffbb250a342fa52ab7904644fd5ff938b77be29e989b6af73ffdeefc287923b5 SHA512 b927243261e14f93bc848690e890b85d3626765292db37d5f967adbf5d40de176bcc07bd46b23847d9b79cd97e08851a1011c5ac72b919844176bf50ddbe9cec
MISC metadata.xml 476 BLAKE2B c8f0ef0779f0a4412a7d9b97e1bb03e3bfb3c031209f489a100b30402d99224014e379712989afd0cb76c85be301dcf9a51e21e8f9195262c5920dd1db0703d1 SHA512 af74755e9e8fb61cbded2dc3e63cd20f95393ef2650bed9f81e299f7759ae79c63b45df8048cd0fe25397ec7db10156be681fa5278606a20481f78d5279b815b
diff --git a/dev-python/setuptools-rust/setuptools-rust-1.10.2.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.10.2.ebuild
new file mode 100644
index 000000000000..599df7d35124
--- /dev/null
+++ b/dev-python/setuptools-rust/setuptools-rust-1.10.2.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CARGO_OPTIONAL=yes
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+CRATES="
+ autocfg@1.3.0
+ bitflags@1.3.2
+ bitflags@2.5.0
+ byteorder@1.5.0
+ cfg-if@1.0.0
+ convert_case@0.4.0
+ cssparser-macros@0.6.1
+ cssparser@0.27.2
+ derive_more@0.99.17
+ dtoa-short@0.3.4
+ dtoa@1.0.9
+ futf@0.1.5
+ fxhash@0.2.1
+ getrandom@0.1.16
+ getrandom@0.2.15
+ heck@0.5.0
+ html5ever@0.25.2
+ indoc@2.0.5
+ itoa@0.4.8
+ kuchiki@0.8.1
+ libc@0.2.154
+ lock_api@0.4.12
+ log@0.4.21
+ mac@0.1.1
+ markup5ever@0.10.1
+ matches@0.1.10
+ memoffset@0.9.1
+ new_debug_unreachable@1.0.6
+ nodrop@0.1.14
+ once_cell@1.19.0
+ parking_lot@0.12.2
+ parking_lot_core@0.9.10
+ phf@0.8.0
+ phf_codegen@0.8.0
+ phf_generator@0.10.0
+ phf_generator@0.8.0
+ phf_macros@0.8.0
+ phf_shared@0.10.0
+ phf_shared@0.8.0
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.17
+ precomputed-hash@0.1.1
+ proc-macro-hack@0.5.20+deprecated
+ proc-macro2@1.0.82
+ pyo3-build-config@0.22.3
+ pyo3-ffi@0.22.3
+ pyo3-macros-backend@0.22.3
+ pyo3-macros@0.22.3
+ pyo3@0.22.3
+ quote@1.0.36
+ rand@0.7.3
+ rand@0.8.5
+ rand_chacha@0.2.2
+ rand_chacha@0.3.1
+ rand_core@0.5.1
+ rand_core@0.6.4
+ rand_hc@0.2.0
+ rand_pcg@0.2.1
+ redox_syscall@0.5.1
+ rustc_version@0.4.0
+ scopeguard@1.2.0
+ selectors@0.22.0
+ semver@1.0.23
+ serde@1.0.200
+ serde_derive@1.0.200
+ servo_arc@0.1.1
+ siphasher@0.3.11
+ smallvec@1.13.2
+ stable_deref_trait@1.2.0
+ string_cache@0.8.7
+ string_cache_codegen@0.5.2
+ syn@1.0.109
+ syn@2.0.61
+ target-lexicon@0.12.14
+ tendril@0.4.3
+ thin-slice@0.1.1
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ utf-8@0.7.6
+ wasi@0.11.0+wasi-snapshot-preview1
+ wasi@0.9.0+wasi-snapshot-preview1
+ windows-targets@0.52.5
+ windows_aarch64_gnullvm@0.52.5
+ windows_aarch64_msvc@0.52.5
+ windows_i686_gnu@0.52.5
+ windows_i686_gnullvm@0.52.5
+ windows_i686_msvc@0.52.5
+ windows_x86_64_gnu@0.52.5
+ windows_x86_64_gnullvm@0.52.5
+ windows_x86_64_msvc@0.52.5
+"
+
+inherit distutils-r1 cargo
+
+DESCRIPTION="A plugin for setuptools to build Rust Python extensions"
+HOMEPAGE="
+ https://github.com/PyO3/setuptools-rust/
+ https://pypi.org/project/setuptools-rust/
+"
+SRC_URI="
+ https://github.com/PyO3/setuptools-rust/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? ( ${CARGO_CRATE_URIS} )
+"
+
+# crates are used at test time only, update via pycargoebuild -L -i ...
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ virtual/rust
+ <dev-python/semantic-version-3[${PYTHON_USEDEP}]
+ >=dev-python/semantic-version-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-62.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-62.4[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )
+"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+python_test() {
+ local -x UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+
+ local examples=(
+ html-py-ever
+ namespace_package
+ rust_with_cffi
+ )
+ for example_dir in ${examples[@]}; do
+ pushd examples/${example_dir} >/dev/null || die
+ einfo "Running ${example_dir} test"
+ esetup.py build --build-lib=build/lib
+
+ case ${example_dir} in
+ html-py-ever)
+ pushd tests >/dev/null || die
+ local -x PYTHONPATH=../build/lib
+ ${EPYTHON} run_all.py || die "Tests failed with ${EPYTHON}"
+ popd >/dev/null || die
+ ;;
+ *)
+ pushd build/lib >/dev/null || die
+ epytest ../../tests
+ popd >/dev/null || die
+ ;;
+ esac
+
+ rm -rf build || die
+ popd >/dev/null || die
+ done
+}
diff --git a/dev-python/snakeoil/Manifest b/dev-python/snakeoil/Manifest
index d2a28ef33ab5..dc6710091ff0 100644
--- a/dev-python/snakeoil/Manifest
+++ b/dev-python/snakeoil/Manifest
@@ -1,4 +1,4 @@
-DIST snakeoil-0.10.8.tar.gz 174380 BLAKE2B 96c5f4e106513ee8061c6278345ac132510202faa0e915b362170ee7de5f23f0b7bfdc671c0c07721f57eeeb90df5f6851be70d4541295029d93126ea680e50b SHA512 7088cd3fb34bc666a51ddd59b0bf6c9d9da2f04727057ffa5b74ffb188efd63153afcf45442e99b8e1611642b71cf92518dafcacb85717dfa82370df18458497
-EBUILD snakeoil-0.10.8.ebuild 815 BLAKE2B 3c5db7772bdc009c44c4211da27516e03b105b6805afd43e415058f71081d9feb233373248c3edf0ba8b587b236f1d22610c5270cf8b41f4069dfc9ab0f12f16 SHA512 bc3549c7d3d46365d7e4591d3ceb8c1cc7bc718644acad72c1a029580ff7e0b11dd9202b40ca7ceb26a35de41c758e0e6a7b998105161a3b226ddc2cdeabaf2f
+DIST snakeoil-0.10.9.tar.gz 174546 BLAKE2B c42771bff9b068aa4c31f76e0d8efc44121d2946b24ff8b8ce6e11028503d7272087ae62c1b6c9963c9b3eb89202ffbad917c63984d478d062c4ba2272811ba2 SHA512 0cedfeca3c8a30cfa53a2135b9dc8f83b003dd07fd0a1767fc1e2fe3d1ee67022033c20c4f990dede7e6a0ad0e8dc94eeebce7529b230ce83c84d6161c1b656d
+EBUILD snakeoil-0.10.9.ebuild 815 BLAKE2B 3c5db7772bdc009c44c4211da27516e03b105b6805afd43e415058f71081d9feb233373248c3edf0ba8b587b236f1d22610c5270cf8b41f4069dfc9ab0f12f16 SHA512 bc3549c7d3d46365d7e4591d3ceb8c1cc7bc718644acad72c1a029580ff7e0b11dd9202b40ca7ceb26a35de41c758e0e6a7b998105161a3b226ddc2cdeabaf2f
EBUILD snakeoil-9999.ebuild 823 BLAKE2B ad99aa3acc30a10739bb646605a28af34283e64f16bf289aac40b110d865ce873daf6f2c5dc7d8506818052316d4afe3f57bff288c568bf2aac61d8b99498a62 SHA512 0ccf351c90387da3df43fa57b0201b2b3de276b5e9032da89d1a2e8f07f02df0229383a8b72854b2f1db599ffc48aaa2f47a455e86f985f4b3a871b1bf11f9ae
MISC metadata.xml 394 BLAKE2B 1f11a6a69a1ed5736bdddaf949b97760d2986eaf848bbceafa706dae01dd8e84f2977d130179324856e35353702e8f84e2cf7b2e30587b5f21a7113237825c3e SHA512 71abd7d9037eb4412a992bcf6933999f0dfec0c39465fe5bcb63e6a8437ff901764c03ad65e363f4ce5d8789f364b7f732542c7f298f1d04a2a68343acbc2129
diff --git a/dev-python/snakeoil/snakeoil-0.10.8.ebuild b/dev-python/snakeoil/snakeoil-0.10.9.ebuild
index c5937703364d..c5937703364d 100644
--- a/dev-python/snakeoil/snakeoil-0.10.8.ebuild
+++ b/dev-python/snakeoil/snakeoil-0.10.9.ebuild
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index f152ad7ae553..3c75f4bde01b 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -21,6 +21,7 @@ DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb9
DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
DIST sqlglot-25.23.2.tar.gz 19470352 BLAKE2B 6dd198a1de9d5c240cb6040a55f7afa08abd12021c6768242d955ef959db7a04f5de180b675b4f719a00488784e43a49834f9031a7adbfbed1f58cf607e1051a SHA512 b15e08a894458bb8e423f1d6c4c994eda548f8d2248ea4a46873e709bf0ec7830a5bb8fea9d2a7952c6f4522ef1ddff223b8592ee24e00653e52a121bd821d77
DIST sqlglot-25.24.0.tar.gz 19471462 BLAKE2B 3a173667d307830c79a87723697081bf108285ae7c724f8103f373e95efd9c2c68c98603fc8cc92b4a6ef337d741d88ce94daa9ec749cfb820acf0639c932b02 SHA512 dff3253479665a2b887ff5f7514536f8be0f490142c610821145cc5dc80bddcffa3a9daac0e33802b4057d7f1d624bbfb105645f5006458d7e90bc7b72511ec7
+DIST sqlglot-25.24.1.tar.gz 19476850 BLAKE2B 69b7f960a06202f4e926eab3bb088fff949a761389d1c43365c3347763bf657ad9f81e6a4767266bc1cb6523dbc9c9acc4395b6e4af60d924dec14534bff7894 SHA512 f5422cd3f01ea77d2c65115a91a2c2e179253cc054a539443122357347d6ecb445f8300bfa8210cea030c9aa6934057966efed9b84499bff1aaef94ee04d40ef
DIST syn-2.0.41.crate 246016 BLAKE2B 9d389f2e2a0acb4c84c309456e8ffcc88c5d4d541535ed136832d7a6054dde45a598bb68e8a6f3062ca2a96e1ceae947d54b3aec9bad65b0c51d6733aa6c80db SHA512 6bbaf69ca783025dfb81ac3612ac60bfbed31b2d87792909b35c12892dadebdaff2ddf9463105e536b671dce5870610ab90fe29471284bbd3014dca8d6993f1a
DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
@@ -35,4 +36,5 @@ DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e
DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
EBUILD sqlglot-25.23.2.ebuild 2817 BLAKE2B cf3d2e32dc5f98fbba79487c4d6c8d31ea7f611b3226c0f3ef4cd415b6e0d425ac9cd7e6b92df12f9640b8983bb419f399b1f766a90a15183659a5a572517a04 SHA512 1ba127adea3b9d677c02fbc559dab225a8f6d37f065d61420bc89fbc74a163603360c5198f0fdc3ee319ced2bb878e7ecd24b442169f3a14cd95921475201342
EBUILD sqlglot-25.24.0.ebuild 2817 BLAKE2B cf3d2e32dc5f98fbba79487c4d6c8d31ea7f611b3226c0f3ef4cd415b6e0d425ac9cd7e6b92df12f9640b8983bb419f399b1f766a90a15183659a5a572517a04 SHA512 1ba127adea3b9d677c02fbc559dab225a8f6d37f065d61420bc89fbc74a163603360c5198f0fdc3ee319ced2bb878e7ecd24b442169f3a14cd95921475201342
+EBUILD sqlglot-25.24.1.ebuild 2817 BLAKE2B cf3d2e32dc5f98fbba79487c4d6c8d31ea7f611b3226c0f3ef4cd415b6e0d425ac9cd7e6b92df12f9640b8983bb419f399b1f766a90a15183659a5a572517a04 SHA512 1ba127adea3b9d677c02fbc559dab225a8f6d37f065d61420bc89fbc74a163603360c5198f0fdc3ee319ced2bb878e7ecd24b442169f3a14cd95921475201342
MISC metadata.xml 611 BLAKE2B 10bf684677182565c9932d51ed9b3b9c80d376d6db945bd7b0dd0d9a19a85dc0d10cb169ff2048ae5f7f73d0f438d259b6231c13c525b5374ec99377f4ffdd10 SHA512 2b26d0f77962807052b94ad78addcfdce9859042af3be34df267dc6e70b6231dd779563935fd21955cd8646fd0cce3fee8c939387ac8056194a0b777743dd2ae
diff --git a/dev-python/sqlglot/sqlglot-25.24.1.ebuild b/dev-python/sqlglot/sqlglot-25.24.1.ebuild
new file mode 100644
index 000000000000..456b6e98cfce
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-25.24.1.ebuild
@@ -0,0 +1,129 @@
+# Copyright 2023-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_{10..13} )
+
+CARGO_OPTIONAL=1
+CRATES="
+ autocfg@1.1.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ heck@0.4.1
+ indoc@2.0.4
+ libc@0.2.150
+ lock_api@0.4.11
+ memoffset@0.9.0
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ proc-macro2@1.0.70
+ pyo3-build-config@0.20.0
+ pyo3-ffi@0.20.0
+ pyo3-macros-backend@0.20.0
+ pyo3-macros@0.20.0
+ pyo3@0.20.0
+ quote@1.0.33
+ redox_syscall@0.4.1
+ scopeguard@1.2.0
+ smallvec@1.11.2
+ syn@2.0.41
+ target-lexicon@0.12.12
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ # remove fragile timing check
+ sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # timing, sigh
+ # https://github.com/tobymao/sqlglot/issues/3961
+ tests/test_generator.py::TestGenerator::test_generate_nested_binary
+ )
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index 579a1d519c0c..07795e310b18 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,5 +1,7 @@
DIST stripe-10.11.0.tar.gz 1317883 BLAKE2B fa533f6a3ab66a844ff16513ad8cb8b6a8d87677fa01ea93c406cb229577456ccc567b63196c3616878a1cb78c5b91e56ac9fff8d53e0b961702cbd65ab9024f SHA512 64b6adaf3eabe77ab863fe3ef2e0d20d6cfa0e266bb58cde0b0d2edd87dd240a0a8fedf11c35252f3cc6cd517cc767b2c4714facc29475597270e7a143e091dc
DIST stripe-10.12.0.tar.gz 1318680 BLAKE2B 0de2d108c6813d4ed0493b0e2b906a5d41f6b39b0f60fb2730fc3737b9f641d732e22c5ddf5e4e856b6bc5a1b312c10c9304467f29b5474bf8d6a9ca219f876d SHA512 0843cae0e1dd9a54604938a3ae5a28bb681e5166c2e800478c543b22b103626ac138ee999e468e909e3b5865754ed131af5a01287044603082f1f05329da45d3
+DIST stripe-11.0.0.tar.gz 1339985 BLAKE2B f41c8f574c598a5d35b9563a21b4bab7cc7164abd27aecd633bab0842b92cb66c7b07879300f36d9470a563ff0d5d9df840a9f740852719337b128af3553dda8 SHA512 3f7493f6aac38b328cbf06f7497f56385ac852dcc8aea9a1f4b7fc7365b296a4d9c92d096689444d3a372c42d0c5c192729a924bd781a66ff81ac9bb1f20aab4
EBUILD stripe-10.11.0.ebuild 2479 BLAKE2B 8ab9df0009ae15ca658d143fb49e9d9f8507549074fae6f947a00be821a16d859f48c4faef9e5803ebbe64e442bda7bcad76e81999c8d599f6f0944230e18365 SHA512 aa50f6adfca871d93e842005baedbcd538e1a7879d4e794d0a7a71f169095c49410e99b68a29f306ea70854f5e31fdedc9df1f10d78e5d4b1f7a641180ae0f6e
EBUILD stripe-10.12.0.ebuild 2482 BLAKE2B d41cf1130ba524c02435e623798554a866081bd5b1932ad5bac674b789ae68df6cb444b3a968ab13cefd73da7205c69860939f4cebdc28ad62680cea45dd53a9 SHA512 ece77ea1c315f239297549734c61b1e9645ba881bc2eb487ebf50cfe213f847e3fbc5551a148e8ad2d43db5ddb66e1d05d49732192204ee94881b1cca7d2b7e7
+EBUILD stripe-11.0.0.ebuild 2578 BLAKE2B 66c0ef40ab3b6a0136cfc9c779f077664e56dc61562888e24adc5fac098087db61db14c05767088be3b4e7206a76a5726937d2f663a14e57b636012c0f4c1c63 SHA512 e90a1aaffc951db8dfc1807761c6ba0f8ec99746384f2e85b59c839bd1e7ffff69fe3acf3f6ce120c95a870943f878abafcd752e25cbf92fbfc9cfc596aaa535
MISC metadata.xml 673 BLAKE2B 6b85b1f88713d2365274fcff21648748039b48028b3c34c1192e16ca12d0f3b4d14ab13c7c2a744c381898ea0c1304bda8be52d3fadddc1a1b787f010b001398 SHA512 e3178927a69d14f59673acc5eaedda59db5a07e2145ed6fb0597363b60183cb3e7a7b0feefc1d4c9095d52ed96e0be32ef5dc23ad0c20fd6e6b33c830177c0be
diff --git a/dev-python/stripe/stripe-11.0.0.ebuild b/dev-python/stripe/stripe-11.0.0.ebuild
new file mode 100644
index 000000000000..ef239893882b
--- /dev/null
+++ b/dev-python/stripe/stripe-11.0.0.ebuild
@@ -0,0 +1,93 @@
+# 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_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Stripe Python bindings"
+HOMEPAGE="
+ https://github.com/stripe/stripe-python/
+ https://pypi.org/project/stripe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="telemetry"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.188.0
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ if ! use telemetry; then
+ sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # exception message mismatch with aiohttp-3.10.0
+ "tests/test_integration.py::TestIntegration::test_async_timeout[asyncio-aiohttp]"
+ "tests/test_integration.py::TestIntegration::test_async_raw_request_timeout[asyncio-aiohttp]"
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests -p anyio -p pytest_mock
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest
index 91112873e195..eb0db0495b69 100644
--- a/dev-python/tox/Manifest
+++ b/dev-python/tox/Manifest
@@ -1,7 +1,9 @@
DIST tox-4.18.1.tar.gz 181159 BLAKE2B db9b2233363b6214b1c0bae2c0319b72a7ef4a7f833628833fecb7a8d04eef0594f1a93e17f8273d45873c2130e96b7adad8afe69662cb8fe37251028ba1581f SHA512 289ee3e8b7c941dbeb94adea24442169b33cfe3ae2c4d6eadd12974ee01488325d05beb92cc3b3d5aa1f795f9d3ffe65ed3da81bc62b0527edf56f5ddb9ceb32
DIST tox-4.19.0.tar.gz 181219 BLAKE2B fd20fcce2b0cf59b572feb1c206b1d8188dcd8eafcb2c31b6c48d982badddb20bd4afa7eb0647e2dc4f2fec47da95e27b1cd870ec14e12e513da0202755ae722 SHA512 46b34524c48ac4e1d906633c8f1fb6da81d26a110638b24e95b97973ef7a17a0412dad584f4e8e9dbd01c5fde3ebd48053caad9bdbc07c1a5a4d17a0c16a34be
DIST tox-4.20.0.tar.gz 181364 BLAKE2B 2651bb2a7eff09764b7288c0640d44031f2074f8c1c41aaf18989cdc3b8828d6b91f90b131a11b31ed01c4819524aedd4acedb56da2716eb5e3e607a8d5f1bf2 SHA512 c4b9a03a62c7d1993a8b027cd2f8f22fc033fa802176f20b0daeda84d528c5e8618ae9781f04c3d8820d9f49c5786d56b96dd596e95e489ac372631d61425616
+DIST tox-4.21.0.tar.gz 187638 BLAKE2B 0c8667cb2456f11e19fb975a6801f4002e0116bb5fbe2670a056a34e0b602da65a50c1fbd9f27ebb7d17e91c03e53e3a591da717fa584e1058792e0d385a5d08 SHA512 e4a5d56ea2b2865a5a114cb77bf0e25d0504f9b652cf086d803170ba3ef46731a55ec0a4c591e562cd31b13d408d97618dcf21f60da28faf1d7ce6a955e1fc71
EBUILD tox-4.18.1.ebuild 3011 BLAKE2B f291424f9c1e8963f127abc830d7fb316f3c785f85c0e08faf784c40e98f84e1a73712ed90a8847e698d916cc4fe872069bc12492b1ea36bb68c6080de0c9b07 SHA512 daa45e28c520a0b9bccedb1f86f642169042911a68e47ed1f8c835121932c68f159aacd768a11df4da0783d348162b848d5949f433942250548d79730468c87f
EBUILD tox-4.19.0.ebuild 3019 BLAKE2B 2ddcfa08fce2dcaa4a3473a159d1d509be5589a2ddd79bdd6a330c820c959019728d7845e0ca46dcc89c0e3dcb96f5ec4791ef27f541f82ee27e747034dc4815 SHA512 c9294e85a911f25222863fbd240839780222b77e0442bb29be977fd35c4685d3e086151cae339df55a967812609e63fa2d86d241d15c8dbb885e83221d8c9998
EBUILD tox-4.20.0.ebuild 3019 BLAKE2B 2ddcfa08fce2dcaa4a3473a159d1d509be5589a2ddd79bdd6a330c820c959019728d7845e0ca46dcc89c0e3dcb96f5ec4791ef27f541f82ee27e747034dc4815 SHA512 c9294e85a911f25222863fbd240839780222b77e0442bb29be977fd35c4685d3e086151cae339df55a967812609e63fa2d86d241d15c8dbb885e83221d8c9998
+EBUILD tox-4.21.0.ebuild 3063 BLAKE2B 0ed57b8b5b97fee66df8a22d8574b6513b77d30e07c832d9bc79fba690e872ed8d664a847ad2f27bd568e6a67a6f0a0486f6a23c85e01123ba42533febc0fecc SHA512 55edd7cbc352c49d057026e401f041dddbd9a1aa7364dd110416754d1378a87e077c756bc11edb7e33b03a204dde901213955a6930e314118b6296d265eb16dc
MISC metadata.xml 382 BLAKE2B 7c0704c5c187ce4a7972fe0372b23c5537a81a8d62fd83436d9558a61761f10764adb5a4d5f6795f0dd1fe905afa604c0be77fe1d48d291847f6ae65dc1b032c SHA512 9d0ced4df9352a81034a50d5766a01534ae8fa889985d99cc9e2a8d0889e31c6c11550677d9a5a74e2aab57c320192ce3a42708a6d23b0419ee34a6054398344
diff --git a/dev-python/tox/tox-4.21.0.ebuild b/dev-python/tox/tox-4.21.0.ebuild
new file mode 100644
index 000000000000..35198cd27b99
--- /dev/null
+++ b/dev-python/tox/tox-4.21.0.ebuild
@@ -0,0 +1,98 @@
+# 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_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="
+ https://tox.readthedocs.io/
+ https://github.com/tox-dev/tox/
+ https://pypi.org/project/tox/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/cachetools[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ dev-python/pyproject-api[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/distlib[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # devpi_process is not packaged, and has lots of dependencies
+ cat > "${T}"/devpi_process.py <<-EOF || die
+ def IndexServer(*args, **kwargs): raise NotImplementedError()
+ EOF
+
+ local -x PYTHONPATH=${T}:${PYTHONPATH}
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_run_installpkg_targz
+ )
+ local EPYTEST_IGNORE=(
+ # requires devpi*
+ tests/test_provision.py
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[constraints-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit+requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_indirect-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_constraints_indirect-True-True]'
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # https://github.com/tox-dev/tox/issues/3290
+ 'tests/config/loader/test_str_convert.py::test_str_convert_ok_py39[1,2-value1-Optional]'
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index b169bf43ada7..38652b1cf242 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -5,6 +5,9 @@ DIST tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.gh.tar.gz 37106 BLAKE2B c30d1c3
DIST uv-0.4.16-crates.tar.xz 46123176 BLAKE2B eeaa189f91742296e48f123f7695b5836e538681b99da1c7e9f7acd9b2cf6b29e570b41fc7436a664ae180e0aff51be03300e03a184a72d986b2a7840f99c3ab SHA512 41eaa866818fa3b58a7451f748f60da6f940865c377405fd999db9eab4bea696aab053be99faf8f8bad2d3a15b84d137607f87cd97c5d7a1884dcbee461f562b
DIST uv-0.4.16.gh.tar.gz 2685666 BLAKE2B 34159ce43382bcd5b10191b6b9ed763ca831c755dbe5312f8c10493a2c224882b5014c583851f6c0a7ebcdb70591cacd755e1a9b3305a1533986b06706cb6d08 SHA512 e0c25a56b67ac73156f97a0e9d1637ad395a05a6d87dffd7f39ee5c78028a555ce6d5cf97c6a0a11a709fd7f25d179e48a57eea4dbcc7f34b307b02f751a62d8
DIST uv-0.4.17.gh.tar.gz 2698002 BLAKE2B aa208d30d3378e6ea21d1cb9f9c3c7d55169485964a3a7e8b97119e25624cdbb84776e5695ed0d265df3d12254acbe03b68739be1468fb07ac0a94ce9a408105 SHA512 0681f50b8edb52479d1cc08f44a7b37f176cf439bae440259e42339138d9b036ce9b025e9a517e090c7ef5674828275a99b0735ab7174aaf334f0bb95b8ed71c
+DIST uv-0.4.18-crates.tar.xz 45322392 BLAKE2B 3486f46b76a6a9420b52043a227ebb4dbdd185bbc5848a9606c1eb2e6575b12d060f084243fbb55fbfc1bb936f0bb051fae4a9628639778a33b2ff1eac50c58e SHA512 121c6241422668662233de6a2f084a323be4df4dfcfa9ae168f5f6aa41fc77cfc09b56dfa95eaf7ca95769a9d4ed334bed439d3bbd18c682e377c610162821e4
+DIST uv-0.4.18.gh.tar.gz 2692682 BLAKE2B 8239bcd761ee771c0bfeba3d3d6dd1438e8f86ffe2f211893a8457160440d0ba8a8ca11b6e4c7a9a93d3f3749ceae3ac2ea1c7ed1397a5ae41e130f6eb17025d SHA512 694793867a016f7c5fd6520b0d91f1ee1e0bff25efe86628c365837849b74b5a6c8527d977ddf4eed52619291b7ae6df751c77f368e184882938711be5ac9ed7
EBUILD uv-0.4.16.ebuild 3419 BLAKE2B 310fa7d3e925a4088c23b380a15fc4982379597452eb1dd6df55a38a57a3f27a41ce9a51512c40b9571acb277833ac7b5ea458fdeb0e6183f32eb9a9fc05dffc SHA512 80d271d7488b5d5e2840cbbf81eb4982e505d55c9f3cac75363559ab09c4fc40a3afc9dda2ead07b39be74af59122bc8746fadf6cddfa338b695e09073598508
EBUILD uv-0.4.17.ebuild 3467 BLAKE2B 56e86493e5e429157f348d3f00118567e9f34ef866db8659ce1e883abdf9b883baaa46c674060926eca5bfa875a360d15418b97e07c282cb638277ea40b0f6ce SHA512 b70241d8e92ccd76503388eceb6d22dbcb8e505d4691beda9db5819abff16a75253bae31676385d84cd59df1a5d033297f677c0e2bde3ef3ce7de62b4d96ad3e
+EBUILD uv-0.4.18.ebuild 3467 BLAKE2B 23f90936f36d3d5e72a14e3c0c5840f96d931a5b53bcef9c56bfc552c1660b34a87396d87402152986071439584dd2383e2bb72f1ab008150bfcee0835c7335c SHA512 4ef8feef24060df07d5638b1b94f20909a847df77a2a622cbaa9ab275483ba7454aee6d35c420ad472103e4290cfa5d5e348a0f30d2e0fba8b2c9490837084b8
MISC metadata.xml 336 BLAKE2B 4b5933e24e3e9450dde5da099185dcdf3afb5916b55cffa7c2f3f6fac77e439197cbe4ba529a87f83442d8f87d238e8abef06dc052ce9a62659060ffea9fdb47 SHA512 9910fd10ebbc395b9c330774b74798c9ffdba3bb368347658380a22e01d6dc9d1961ea50fbfb4a904c9db84b94c713c054e418a7294425b86ff41a607fd3e310
diff --git a/dev-python/uv/uv-0.4.18.ebuild b/dev-python/uv/uv-0.4.18.ebuild
new file mode 100644
index 000000000000..300228c69c2b
--- /dev/null
+++ b/dev-python/uv/uv-0.4.18.ebuild
@@ -0,0 +1,144 @@
+# 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;011b24604fa7bc223daaad7712c0694bac8f0a87;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;388685a8711092971930986644cfed152d1a1f6c;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;5e3eaf254b5bd481c75d2710eed055f95b756913;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;5e3eaf254b5bd481c75d2710eed055f95b756913;reqwest-middleware-%commit%/reqwest-retry'
+ [tl]='https://github.com/charliermarsh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+)
+
+inherit cargo check-reqs
+
+CRATE_PV=0.4.18
+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-DFS-2016
+"
+# 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="
+ >=virtual/rust-1.80
+ 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
+ )
+"
+
+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
+}
+
+src_prepare() {
+ default
+
+ # remove patch.* that breaks GIT_CRATES
+ local reqmw=${GIT_CRATES[reqwest-middleware]}
+ reqmw=${reqmw#*;}
+ reqmw=${reqmw%;*}
+ sed -i -e "/^\[patch/,\$s@^\(reqwest-middleware = \).*@\1 { path = \"${WORKDIR}/reqwest-middleware-${reqmw}/reqwest-middleware\" }@" Cargo.toml || die
+
+ # 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=
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+}
diff --git a/dev-python/vobject/Manifest b/dev-python/vobject/Manifest
index a5185d04a4d5..0b6efabf30ec 100644
--- a/dev-python/vobject/Manifest
+++ b/dev-python/vobject/Manifest
@@ -1,3 +1,5 @@
DIST vobject-0.9.7.tar.gz 58657 BLAKE2B 56c55631b88ff5e999ec6822c401cf03bfa4bd66cf3d9092420934f07cd14580752de080e57c674adb1fedf7252eb84df1e490613bf8314dba5421c73c039cbd SHA512 7e3704b5c0ccafbb7171a98b45b7448419776b7f4a568ab4fffad905bd9303af55d89ddd6f91c0095083c3d9d53633fcdd3d0bc89aa2b4297d316e4123f56590
+DIST vobject-0.9.8.tar.gz 61760 BLAKE2B 5bdf6be0ff52f11d10c99eb34a233f3926e14e706c5d4777a4a9c17bdf2c5f9ceb4be4216313ecc1489c06d821fc261e3e9bb97acda11f8ab7442e98abd4975c SHA512 8ba48fdd242c60b256d3a40d0aa1a6af9493a03fbff97870245102e676603d7eecad055db20a5eaa941eadc071fe41b522fc8226d0316c430d87e9331464a823
EBUILD vobject-0.9.7.ebuild 584 BLAKE2B 779415a4192f46feda2aa9ec41a216be96451ad23e297ad96034d8cc7c850b5ed555aa4f7db6401303f175f2c8c3ac7c9973d46e16639d07b6c133c1d4011c67 SHA512 e82fc93f9b53466544f25f19b6791e3c6c24cd56ecdad312f3f215b0346a392f3265c5801dbe3e6bd4484e6d24c68de1a1191433a137766b1b730fa984ba484f
+EBUILD vobject-0.9.8.ebuild 657 BLAKE2B 46a8bae47ba4cb8ced38d9db98d742a4aa74d8dfd62f2573b0533fdf962733e078f44df2fc1ed959183107b6f229b104e188c91115ffb1a87f45ed9d0d445ea4 SHA512 8bca9219af15eeb216a7a345df561c9f9227777e400fa4706e925a0cd39ef5abf4cffcb4b25437f022af386d3ca0d74e5ed123a1b50c33cb41f7c0f6a54b2c35
MISC metadata.xml 389 BLAKE2B 488ab19a363394f2464f47b2b39e82af96c2a214e89e1a3417b9d92472fc62a7e8622d77a114975204a9a3a79affc4312b6fba91e38fe5be9e6cce3046b566db SHA512 a6f569dcadc3a1767df6750efc836100f6d7af853e6d9f79ab48482853f8bb6ddf92afb52968e71230f132a0af04b085a78578ec44b20cf4e2b061692bb00af4
diff --git a/dev-python/vobject/vobject-0.9.8.ebuild b/dev-python/vobject/vobject-0.9.8.ebuild
new file mode 100644
index 000000000000..b666270ee681
--- /dev/null
+++ b/dev-python/vobject/vobject-0.9.8.ebuild
@@ -0,0 +1,29 @@
+# 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_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python package for parsing and generating vCard and vCalendar files"
+HOMEPAGE="
+ https://github.com/skarim/vobject/
+ https://pypi.org/project/vobject/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.7.0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+DOCS=( ACKNOWLEDGEMENTS.txt README.md )
+
+distutils_enable_tests unittest