summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-01-20 12:42:33 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-01-20 12:42:33 +0000
commitbda684708fa2437a106e95bea75c255c667ab8f2 (patch)
tree93bb750a46fe5f5b72b18109b298185d214b258d /dev-python
parent147329d0d5f260f95d8259cfa93ce6f52e664c14 (diff)
downloadbaldeagleos-repo-bda684708fa2437a106e95bea75c255c667ab8f2.tar.gz
baldeagleos-repo-bda684708fa2437a106e95bea75c255c667ab8f2.tar.xz
baldeagleos-repo-bda684708fa2437a106e95bea75c255c667ab8f2.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.34.23.ebuild64
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.34.23.ebuild68
-rw-r--r--dev-python/flask-api/flask-api-3.1-r1.ebuild4
-rw-r--r--dev-python/griffe/Manifest1
-rw-r--r--dev-python/griffe/griffe-0.39.1.ebuild45
-rw-r--r--dev-python/jsonschema/Manifest1
-rw-r--r--dev-python/jsonschema/jsonschema-4.21.1.ebuild57
-rw-r--r--dev-python/markupsafe/Manifest1
-rw-r--r--dev-python/markupsafe/markupsafe-2.1.4.ebuild25
-rw-r--r--dev-python/pandas/Manifest1
-rw-r--r--dev-python/pandas/pandas-2.2.0.ebuild222
-rw-r--r--dev-python/psutil/Manifest2
-rw-r--r--dev-python/psutil/psutil-5.9.8.ebuild47
-rw-r--r--dev-python/pydantic-core/Manifest1
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.16.1.ebuild151
-rw-r--r--dev-python/pydantic/Manifest1
-rw-r--r--dev-python/pydantic/pydantic-2.6.0_beta1.ebuild55
-rw-r--r--dev-python/pythran/pythran-0.14.0.ebuild2
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-20.9.0.ebuild121
-rw-r--r--dev-python/stripe/Manifest1
-rw-r--r--dev-python/stripe/stripe-7.13.0.ebuild81
-rw-r--r--dev-python/trimesh/Manifest1
-rw-r--r--dev-python/trimesh/trimesh-4.0.10.ebuild68
-rw-r--r--dev-python/virtualenv-clone/files/virtualenv-clone-0.5.7-backport-pr79.patch28
-rw-r--r--dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild4
28 files changed, 1051 insertions, 4 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 03d8a073cfe1..4caae24481d8 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -5,3 +5,4 @@ DIST boto3-1.34.19.gh.tar.gz 764452 BLAKE2B c0388452728e54cdded0a9944e37e6725e81
DIST boto3-1.34.20.gh.tar.gz 766685 BLAKE2B e68cb60bdbec6ccd4e5ec1c1ae116c0cdb952862902c5e38788ea735083f515a89923b7056f862cffdd40bd967ca717a2387537f1e17bb0f76a9bf49ecb39fc8 SHA512 a2c8bc7f09571f27c45595c15794a8125a23317a785d7e8ea296455b2f63e8375fd818906bf28c6788ff65dd6d40a2abd28aaf8ef4a22fe80a56d01c6464585b
DIST boto3-1.34.21.gh.tar.gz 766816 BLAKE2B 79e9c81ce1cfd16b0f8fc4431c2ebba35cdca7e06b48a608986bd4a8aabb08d46a23779e7243c20d2905a1699d40d45062b3450600fb620a1eadeb460c93615b SHA512 3d2176886d0f2da0207b479c71480d6e02f55d8b511c5b12f935d5c4a799911601d5519f5daf629cd002a93c508d323647af06201fd486a5b355192e17bc1096
DIST boto3-1.34.22.gh.tar.gz 766081 BLAKE2B 34e4eae8387e27acb8eb9a6518ed025b18fea03d900b1b07646cbf16ff47e50a1cbda9b1b36c68a70f2961c6f05020cdc5b8956bac2a860066cd4d498981df59 SHA512 7a7a5431b2410303688e76c8e48561606d173757ed0fc98d1b0ef7511927f45b8fa9eab9d9baaad04c1c705deddc330d422cbc83bde03b82b194ee55fe3be300
+DIST boto3-1.34.23.gh.tar.gz 766609 BLAKE2B d00b010c84c41695f02df58a51d483162af1ba770263218b6465132fdb104424ea8dd7c8d96e278c50700aa3c90d2321a21d31e9ae3b42712aff31a1a5c4b65d SHA512 4f1c0cafb3d511a23c07b97ed2b41369299d0a4819e0bf103288c7b44074c93bc55b729a2979b133a50d390660078a0bb0e251dcd1523244fdbe06cae6ef037a
diff --git a/dev-python/boto3/boto3-1.34.23.ebuild b/dev-python/boto3/boto3-1.34.23.ebuild
new file mode 100644
index 000000000000..13391b8a8e76
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.23.ebuild
@@ -0,0 +1,64 @@
+# 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_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/boto3"
+ inherit git-r3
+ BOTOCORE_PV=${PV}
+else
+ SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${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 795904492f6b..b2422f3e4b84 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -5,3 +5,4 @@ DIST botocore-1.34.19.gh.tar.gz 12634480 BLAKE2B 839124ae13bd87697bd9d2c4d62f317
DIST botocore-1.34.20.gh.tar.gz 12636646 BLAKE2B 3389ad9e44b529093c26dd7cb48c64b2551237a82218dbc57e4fbe85ae8b97e07f3eb88946fa5108e2d045e58c1e46402e697992b1adfab373eae223f510f1db SHA512 1956b4c090b60e7176ed67f4b80c25305816cb4f22f41a57308daa0748a54720ebc10cd1f620484bbf7d4df6e05259553ef5e1471141db2b1f0192bc2b6219c2
DIST botocore-1.34.21.gh.tar.gz 12638493 BLAKE2B 28f0ffa7f264e56912bf6f68d2d0851b5126c68eb4687fa9dba777bf58f8737fcbc1bc160f158a38aa15b6e03211b32eb3c08e7c1685adcae7159b498dd02fe8 SHA512 5a074f067a7657ce0856b72eaa7334b4c92be0734ac634a00f81dee3ab9b7e5a0bd95b5e93f6189d3d82cd2006bdef9aa9dfae5922d0e89e6c37898dc00784b8
DIST botocore-1.34.22.gh.tar.gz 12643874 BLAKE2B 7b9d375aff7b39cebf7303dec7b0b984a76a7c356431e4c010334a6f31e3d93dd02a9f8809b0857a92aef9c76f85d3db0c21569cbc1b728b67b4be3192082aa5 SHA512 cb26d52db329d4e599fafd300af646335814de2c71f0c385fc3a20c70e5d5a397805fd4627ba08df629f1513015f7bab5ad0211114d3a95a810eff97595a924c
+DIST botocore-1.34.23.gh.tar.gz 12647072 BLAKE2B be20994714a1f31ac5272d5b7be8424e574be1059c5be311e68d1932eb6884a54f71287dc5a9c11996063e4c2ab15a342bf778a0a90620710761e63a5deaa170 SHA512 fcc1879245e8d848c8cd6283af904e0408a5bdaa3b3e14c4ae267735cb29bdde50f1da5f3232ea23053f25fc1f29a1204a08a5c820909cf8667595543b6cfdea
diff --git a/dev-python/botocore/botocore-1.34.23.ebuild b/dev-python/botocore/botocore-1.34.23.ebuild
new file mode 100644
index 000000000000..2fc3a4924fdb
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.23.ebuild
@@ -0,0 +1,68 @@
+# 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_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/botocore"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ local -x EPYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/flask-api/flask-api-3.1-r1.ebuild b/dev-python/flask-api/flask-api-3.1-r1.ebuild
index 0fd3d17f07ff..028614801e3d 100644
--- a/dev-python/flask-api/flask-api-3.1-r1.ebuild
+++ b/dev-python/flask-api/flask-api-3.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
<dev-python/flask-3[${PYTHON_USEDEP}]
diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest
index 475fc049d167..f91d7c54b391 100644
--- a/dev-python/griffe/Manifest
+++ b/dev-python/griffe/Manifest
@@ -1,2 +1,3 @@
DIST griffe-0.38.1.gh.tar.gz 201135 BLAKE2B cdd1b7a24bb1afa6cdf68cffa696b8a19886d03b97ab6eb821fc9db150b1cd9d2e64de65f55c78f64663448e4b268c12b7d95c512e2dac3418489f0b0ef2f9c3 SHA512 74dd48d687edd399ac5da10454e68d9b226ad1b0418d9df583c364f65f5922cc29e109f1fafb3914a73a7217720f2305a4949324736a693f0065b8cae1f591d1
DIST griffe-0.39.0.gh.tar.gz 214713 BLAKE2B e27015592ffc1a817c6236ae7a242f4968ba7ad2c649541bad9c6c31ba0459df4d7122382a6a776117bf80afb563f50a736d3d6851fcceed3113ac8372af0969 SHA512 b872c929f5dd32d7c63f3f199755c8b1e4b9bae05b21b3c4a477f3ba94ca24170907faf0d4e878b43403f448f6d067300d80e612633d801f993f5e13187f572f
+DIST griffe-0.39.1.gh.tar.gz 215601 BLAKE2B b6c1d4de8e01a57b6a3d48370228184332e2cb6fe298e7ca1b798b25b49995df8e9a096903f2ea942d534af4c310953d28be77c48c6406ce0096a586173a4e4f SHA512 877989570e0981e37f106c22b7fdb1cebb4847730eea3aaead5ca3647c0af97d2491c7d4afb29f9d5c2f5257349549169c70b47fa323881229eb696dcba34b73
diff --git a/dev-python/griffe/griffe-0.39.1.ebuild b/dev-python/griffe/griffe-0.39.1.ebuild
new file mode 100644
index 000000000000..6b674e3230b3
--- /dev/null
+++ b/dev-python/griffe/griffe-0.39.1.ebuild
@@ -0,0 +1,45 @@
+# 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_{8,9,10,11,12} )
+
+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}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/jsonschema-4.17[${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/jsonschema/Manifest b/dev-python/jsonschema/Manifest
index 4616395575d6..b6804f3a5374 100644
--- a/dev-python/jsonschema/Manifest
+++ b/dev-python/jsonschema/Manifest
@@ -1,3 +1,4 @@
DIST jsonschema-4.17.3.tar.gz 297785 BLAKE2B a0383bf5612ae50e94c95dbc1774d796b62c74a7aae3056a40edb7e042ad07fd7885e61d86220120a906a4017afe30d8ee8edbbf0cf01a6dec1f212984ff1c1e SHA512 626fc913c37d2e49e4b47c9e058aab4a96c1dc50c35d8def0b2ea0ca464dc25e3318d4fde4927c11ca38068743cd81779d5189464b821407ac1de1788bad30e2
DIST jsonschema-4.20.0.tar.gz 320243 BLAKE2B 7782665aa97d080a3ade9f0ed600d84602135ba80641c75d027f31f118432d206d5c61243e90a59aa134bce2fcf6bed6aed685bca9ad243178c78d3002d43b66 SHA512 916ce6e5a1cce19e52d34394797d59c4821a3e7abad0248d929a8d5975e8e5a2c0a270b2839d6e1800037a53d0ed8fd38ca44264a88653b5aaba1705d459cb47
DIST jsonschema-4.21.0.tar.gz 321324 BLAKE2B 0c2bcf26fd9cb2c5ce86bb556a1312b861984373bde30e7dae42dce7711967e0e0f51b648cb2683786240c743f276ce81a4ef70fb66ab878e783602c77d903b2 SHA512 7467a1c70e587d32c2d196050b60f01a765a27ac0c97f4481c2c654381863911999e7b8f7592ec6ce24a92fb81f4de4ce5197652977a82ace5b75928a6c2334c
+DIST jsonschema-4.21.1.tar.gz 321491 BLAKE2B 5c8fad04bf62af3f9204818cc5cff88dcc492b7957439be2a2fd8c0731a986c223d1612ab79d47696fa5695224fceacea35b5e699466f14393adc2cf9d89c83f SHA512 b0744a80d64572307860c9238ff5048e062b7665d9ed97dd390bae0b168ab96497f359ddc4e95f052d8b177161e5b808ee432bd9fe182c1ea39cbad417db9278
diff --git a/dev-python/jsonschema/jsonschema-4.21.1.ebuild b/dev-python/jsonschema/jsonschema-4.21.1.ebuild
new file mode 100644
index 000000000000..7f0e7a523ecb
--- /dev/null
+++ b/dev-python/jsonschema/jsonschema-4.21.1.ebuild
@@ -0,0 +1,57 @@
+# 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An implementation of JSON-Schema validation for Python"
+HOMEPAGE="
+ https://pypi.org/project/jsonschema/
+ https://github.com/python-jsonschema/jsonschema/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-specifications-2023.03.6[${PYTHON_USEDEP}]
+ >=dev-python/referencing-0.28.4[${PYTHON_USEDEP}]
+ >=dev-python/rpds-py-0.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ !!dev-python/shiboken6
+ )
+"
+
+# formatter deps
+RDEPEND+="
+ dev-python/fqdn[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/isoduration[${PYTHON_USEDEP}]
+ >=dev-python/jsonpointer-1.13[${PYTHON_USEDEP}]
+ dev-python/rfc3339-validator[${PYTHON_USEDEP}]
+ dev-python/rfc3986-validator[${PYTHON_USEDEP}]
+ dev-python/rfc3987[${PYTHON_USEDEP}]
+ dev-python/uri-template[${PYTHON_USEDEP}]
+ >=dev-python/webcolors-1.11[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires pip, does not make much sense for the users
+ jsonschema/tests/test_cli.py::TestCLIIntegration::test_license
+ # fragile warning tests
+ jsonschema/tests/test_deprecations.py
+ # wtf?
+ jsonschema/tests/test_jsonschema_test_suite.py::test_suite_bug
+)
diff --git a/dev-python/markupsafe/Manifest b/dev-python/markupsafe/Manifest
index 5fcbfad2ed2e..67d46cf2a1ff 100644
--- a/dev-python/markupsafe/Manifest
+++ b/dev-python/markupsafe/Manifest
@@ -1 +1,2 @@
DIST MarkupSafe-2.1.3.tar.gz 19132 BLAKE2B 1edca84c47c93fddfd22ee2fef2ba3907921ecb2d807c0e105c403d235e5abacba929be94970ad693f4c7d019653ece8255238d825bfc84d1a4a604fb476a783 SHA512 97dcfa9277c8b34e5ebf899069f690452e90943e0f84ba8ffac725263d84e7c2b782294f9f386be31e8b6846505f0ec70835e3965fc76a1ce07b19432de4a7de
+DIST MarkupSafe-2.1.4.tar.gz 19288 BLAKE2B 3c358e913b0fb9fc4ea1fb4ed983a8b20a5b6fc6a7212e12cbd4bbd6753e45339dbc88068105cdcab3a86ed812ecd2cb04a6d94222c50bce3752e3125edb783b SHA512 f9abe713349ee81eb0d89c584b665440f7e9c26df3f4f87e277894aa59090cfa769e099a12b16c9029d98257dbb311e49a1d7deeeb4ca9e1863fd38e574b2d94
diff --git a/dev-python/markupsafe/markupsafe-2.1.4.ebuild b/dev-python/markupsafe/markupsafe-2.1.4.ebuild
new file mode 100644
index 000000000000..a98c581ed1e8
--- /dev/null
+++ b/dev-python/markupsafe/markupsafe-2.1.4.ebuild
@@ -0,0 +1,25 @@
+# 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
+PYPI_NO_NORMALIZE=1
+PYPI_PN="MarkupSafe"
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Implements a XML/HTML/XHTML Markup safe string for Python"
+HOMEPAGE="
+ https://palletsprojects.com/p/markupsafe/
+ https://github.com/pallets/markupsafe/
+ https://pypi.org/project/MarkupSafe/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index aae8f69bf1e0..11d6465b0e2c 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -2,3 +2,4 @@ DIST pandas-1.5.3.tar.gz 5203060 BLAKE2B 846a6caa8ead6a2556303494f92e2091582d8fc
DIST pandas-2.1.1.tar.gz 4266250 BLAKE2B 9d8256300db65b606e34b16d7f3884b602794fe3c14d66115056db4a4658603fbe7a7a3082dfc781760517d643d6e21a6d4d43441131ec6aed5965b6fa8a0e9c SHA512 346e13e06805948c569712028c9b8d756c67ca2fab040999a51a4e759206d50d8ee25be38ac3c7cb3d2e692a02d85c1ec198841311fe43cb04b64f2741627a4e
DIST pandas-2.1.3.tar.gz 4272855 BLAKE2B 73717926bb0af44acb9a2d12964df7bf70affd61ca19468b3af4376f9c8084d3612895a9ac5117be97658fd5b7ff0275cd7b2c6f1b9b0e00afb951fd50a1f103 SHA512 71012b47b76444e19507e444c8ef88497e3b286856690216886cbb67ad70786c2f5014a7cf6c89f8378769560109fb5593a8c82c21a034a1059769e15c843b92
DIST pandas-2.1.4.tar.gz 4274800 BLAKE2B 71cd374964d5e751a9ea0b29cb341d7de521de8de3bbe0963fc821eb6fa2babf2a5cb87c0f49fab88fd451bd331d83fd216f199c75876d7c1ea367ba53c20178 SHA512 de02944829ea4df6a3913788c2ae30683504d70a1cef5789c927245dab8700981edd50de18af3619d30ac97f4658fce67f6c7637acf496bd464ad3a4109bfd1c
+DIST pandas-2.2.0.tar.gz 4390211 BLAKE2B 205410d02d1295bfb68403685fb9247ca361c80233e762b8d798ff4a04fd1ca39e22bc3beb3f701490dbaf0a2d69a1afebbfe142ef646506c1d19aba88a1b5c6 SHA512 6de7f6941f08d412d5e6e3b33e7ad569afce4ade2eda9a68f2883e8ccefe8373212a1b80ac384e68522fb5a9c043de0b944b3920d07131ed6625363f2a4b0b5b
diff --git a/dev-python/pandas/pandas-2.2.0.ebuild b/dev-python/pandas/pandas-2.2.0.ebuild
new file mode 100644
index 000000000000..3b469c313318
--- /dev/null
+++ b/dev-python/pandas/pandas-2.2.0.ebuild
@@ -0,0 +1,222 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+PYTHON_REQ_USE="threads(+)"
+
+VIRTUALX_REQUIRED="manual"
+
+inherit distutils-r1 optfeature pypi virtualx
+
+DESCRIPTION="Powerful data structures for data analysis and statistics"
+HOMEPAGE="
+ https://pandas.pydata.org/
+ https://github.com/pandas-dev/pandas/
+ https://pypi.org/project/pandas/
+"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="full-support minimal test X"
+RESTRICT="!test? ( test )"
+
+RECOMMENDED_DEPEND="
+ >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
+ >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
+"
+
+# TODO: add pandas-gbq to the tree
+# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
+# https://github.com/statsmodels/statsmodels/issues/8287
+OPTIONAL_DEPEND="
+ >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
+ dev-python/blosc[${PYTHON_USEDEP}]
+ >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
+ >=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
+ >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
+ >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
+ !x86? ( !hppa? (
+ $(python_gen_cond_dep '
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ ' python3_{8..10} )
+ >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
+ ) )
+ X? (
+ || (
+ >=dev-python/PyQt5-5.15.6[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-2.2.0[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ x11-misc/xsel
+ )
+ )
+"
+DEPEND="
+ >=dev-python/numpy-1.23.2[${PYTHON_USEDEP}]
+"
+COMMON_DEPEND="
+ ${DEPEND}
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${COMMON_DEPEND}
+ >=dev-build/meson-1.2.1
+ >=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
+ >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
+ test? (
+ ${VIRTUALX_DEPEND}
+ ${RECOMMENDED_DEPEND}
+ ${OPTIONAL_DEPEND}
+ >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
+ >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ x11-misc/xsel
+ !!dev-python/pyarrow
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ dev-python/tzdata[${PYTHON_USEDEP}]
+ !minimal? ( ${RECOMMENDED_DEPEND} )
+ full-support? ( ${OPTIONAL_DEPEND} )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # test for rounding errors, fails if we have better precision
+ # e.g. on amd64 with FMA or on arm64
+ # https://github.com/pandas-dev/pandas/issues/38921
+ tests/window/test_rolling.py::test_rolling_var_numerical_issues
+
+ # TODO; unhappy about DISPLAY?
+ tests/test_downstream.py::test_seaborn
+
+ # OOMs
+ tests/io/parser/test_c_parser_only.py::test_bytes_exceed_2gb
+
+ # TODO: numexpr says "forbidden control characters"
+ tests/computation/test_eval.py::TestOperations::test_multi_line_expression_local_variable
+ 'tests/computation/test_eval.py::test_query_token[numexpr-Temp(\xb0C)]'
+ tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_lots_of_operators_string
+ tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_multiple_spaces
+ tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_parenthesis
+ tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_start_with_spaces
+ tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_syntax
+ tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_variable_with_in
+ tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_nested_scope
+ tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_query_scope
+
+ # TODO: missing data not covered by --no-strict-data-files?
+ tests/io/xml/test_xml.py::test_empty_stylesheet
+ tests/io/xml/test_xml.py::test_wrong_file_path
+
+ # TODO
+ tests/frame/test_arithmetic.py::TestFrameFlexArithmetic::test_floordiv_axis0_numexpr_path
+
+ # deprecation warning
+ tests/io/pytables/test_retain_attributes.py::test_retain_index_attributes2
+ 'tests/computation/test_eval.py::TestEval::test_scalar_unary[numexpr-pandas]'
+
+ # Needs 64-bit time_t (TODO: split into 32-bit arch only section)
+ tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
+
+ # hdf / pytables have alignment problems: bug #911660
+ # https://github.com/pandas-dev/pandas/issues/54396
+ tests/io/pytables/test_append.py::test_append_frame_column_oriented
+ tests/io/pytables/test_store.py::test_select_filter_corner
+
+ # blosc2 version
+ tests/io/pytables/test_file_handling.py::test_complibs\[blosc2-{1..9}\]
+
+ # requires -Werror
+ tests/tslibs/test_to_offset.py::test_to_offset_lowercase_frequency_deprecated
+ tests/tslibs/test_to_offset.py::test_to_offset_uppercase_frequency_deprecated
+
+ # requires pyarrow (which is really broken)
+ tests/io/formats/style/test_bar.py::test_style_bar_with_pyarrow_NA_values
+ tests/series/test_api.py::TestSeriesMisc::test_inspect_getmembers
+ )
+
+ case ${EPYTHON} in
+ python3.12)
+ EPYTEST_DESELECT+=(
+ tests/io/pytables/test_select.py::test_select_dtypes
+ tests/io/pytables/test_select.py::test_frame_select
+ # deprecation warnings
+ tests/io/excel/test_writers.py::TestRoundTrip::test_read_excel_parse_dates
+ # some pytest-xdist problem?
+ tests/base/test_unique.py::test_unique_bad_unicode
+ )
+ ;;
+ esac
+
+ local -x LC_ALL=C.UTF-8
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
+ # --no-strict-data-files is necessary since upstream prevents data
+ # files from even being included in GitHub archives, sigh
+ # https://github.com/pandas-dev/pandas/issues/54907
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest pandas/tests \
+ --no-strict-data-files \
+ -m "not single_cpu and not slow and not network and not db" ||
+ die "Tests failed with ${EPYTHON}"
+ rm test-data.xml test_stata.dta || die
+}
+
+pkg_postinst() {
+ optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
+ optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
+ optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
+ optfeature "for msgpack compression using blosc" dev-python/blosc
+ optfeature "Template engine for conditional HTML formatting" dev-python/jinja
+ optfeature "Plotting support" dev-python/matplotlib
+ optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
+ optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
+ optfeature "R I/O support" dev-python/rpy
+ optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
+ optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
+ optfeature "miscellaneous statistical functions" dev-python/scipy
+ optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/QtPy dev-python/pygtk x11-misc/xclip x11-misc/xsel
+}
diff --git a/dev-python/psutil/Manifest b/dev-python/psutil/Manifest
index c903cd5be408..4de298f37df7 100644
--- a/dev-python/psutil/Manifest
+++ b/dev-python/psutil/Manifest
@@ -3,3 +3,5 @@ DIST psutil-5.9.5.tar.gz 493489 BLAKE2B 3db8ce374d9d81dcddc08f03418675318c5e447f
DIST psutil-5.9.6-tests.patch.xz 3780 BLAKE2B 002858235e7abf17c1426558cd9f8356cc7f21898f4488409e1cc4c6d76d6a017b8ca9e005e9973cfa890ff461691f5c0225e7c850ee4fde55cb1335d4ceca29 SHA512 1bd544ecd19ce7ff9a5e9f6e747b3f88ba44aabc289af87e3a1204028ebc26373dcdef9a9c5bd6ae13bc8d8d7d43ade41a8be2b14a02925afde1298ca0f9e6be
DIST psutil-5.9.6.tar.gz 496866 BLAKE2B 65bd35ff6bcc2cfcb5f75f732a5a6955cb1fb5d889a5827aa2da27268716b10aa1dea23a87ee25aafc54e035927216501ecb98e56c655bfada57616a0d67e189 SHA512 0c363bf998868e450f014d5c5ddc2448986cafcd21309571e067be1c4b49d0e78259a5388094cbf32af7bca12865c5f3692480737f0a5225bbcfb895a9bf81f6
DIST psutil-5.9.7.tar.gz 498429 BLAKE2B 7fd60e014d55ab1288040b05f3dc058f0b75135fd4e5c0d0c3aa1365f2b3d940d0fa6897adfda12405451ae2bfe9e546da48b3c86838fd415413feb4421ba2af SHA512 b4bb3bf53fb581e992a06d037880aaac74d23be3adfdaf533a0e7e403d7b200e6584799bc5e7eaebd851bee983009e1d2a662a58c635af1466239ac9997ab64f
+DIST psutil-5.9.8-tests.patch.xz 3716 BLAKE2B cf33173a0d5c6537b0de1c4858beb9ec59c0361c6249f8a5cb3d55edc025578ddc0285a062083d28fcd4ece223728376dd64e9232aed1d761786b772a4cc7778 SHA512 5c9539a9716e25dc3cc5f2ce4373911a6c4524941838aff7aa08cc482d15aba6ec40b7904593723a785284410bcded2595c78a6c186d8af5b5f664c2d77e9220
+DIST psutil-5.9.8.tar.gz 503247 BLAKE2B 192812d9006b9eb1a856ff8d322e6cfb320462e5dc5ee7b88869ce7f4f2277050c4867b5e3f64468bb42de0b5bde85b715b84b37842bd3f605216acf89a62a4c SHA512 6ddeed937119a930bb7b9556ff329f054e9429b8457c9a15d99cb105271297117abba587a974d02760bb8b6b244734973a676bdff6b533a53ce587858e48f337
diff --git a/dev-python/psutil/psutil-5.9.8.ebuild b/dev-python/psutil/psutil-5.9.8.ebuild
new file mode 100644
index 000000000000..463f00431d17
--- /dev/null
+++ b/dev-python/psutil/psutil-5.9.8.ebuild
@@ -0,0 +1,47 @@
+# 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+TEST_PATCH=psutil-5.9.8-tests.patch
+DESCRIPTION="Retrieve information on running processes and system utilization"
+HOMEPAGE="
+ https://github.com/giampaolo/psutil/
+ https://pypi.org/project/psutil/
+"
+SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/${TEST_PATCH}.xz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${WORKDIR}/${TEST_PATCH}"
+)
+
+python_test() {
+ # Since we are running in an environment a bit similar to CI,
+ # let's skip the tests that are disabled for CI
+ local -x TRAVIS=1
+ local -x APPVEYOR=1
+ local -x GITHUB_ACTIONS=1
+ local -x GENTOO_TESTING=1
+ "${EPYTHON}" psutil/tests/runner.py ||
+ die "tests failed with ${EPYTHON}"
+}
+
+python_compile() {
+ # Force -j1 to avoid .o linking race conditions
+ local MAKEOPTS=-j1
+ distutils-r1_python_compile
+}
diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest
index eca8aae845c0..a7bba9870674 100644
--- a/dev-python/pydantic-core/Manifest
+++ b/dev-python/pydantic-core/Manifest
@@ -55,6 +55,7 @@ DIST pydantic_core-2.14.5.tar.gz 360131 BLAKE2B 00385297c5a16b7a11c0d219b58f954f
DIST pydantic_core-2.14.6.tar.gz 360305 BLAKE2B e9e9469c6e17833660b3b6af5bf2e575fb10a8abb47c80a9a4490ea2fc69d0af4006d044ca45f5227ea0d71d4ecab00ffab9470dcbf2de9f130068568e0f93f4 SHA512 c5215ff9915d420e367dcefcec656fdc17c4782b672f33d4532c5d43b8119626298258b7540fb471b46ad7906c5930ca4887f11ecc7104c89fc746e3ed0b3b43
DIST pydantic_core-2.15.0.tar.gz 364369 BLAKE2B df2044e96693db897328e6f73834ed439f0b3fab27e60c8f2f4300668cecfa3b7063c5fa820aa45e59b2e32d557843f2b72b5ff556d4667febfbcad0a7a7e2d2 SHA512 68f05f08cb7a089a8c8279f33c1339537828508af7dff89b623080301e8be6d7c12ce3a1ad87b79388e224e0338af841dab99b77ecc239d519e46682f0e49642
DIST pydantic_core-2.16.0.tar.gz 367651 BLAKE2B bb6a876616d22378f85505b15f15c7303cd99265970e4853c2721e2dfd8026cf106e0626c7b23b4cc4e3b6a220c01b4b81cf94c9089c51b5ada88d730ef8a93c SHA512 8a08c1f3a30364a5285a48692273160ce11755bfeea620a96eb1f5a1b7e1918ffbad217a13dfe57819dbce9dc8f83c70681f99988f40530324dfea84115c4c17
+DIST pydantic_core-2.16.1.tar.gz 368201 BLAKE2B 59c411f606fa1ad3177fe25f44593b957532698482d7b4df275de1a5ce6224bf1cdaf7769811c6716a2af7d6eef780df14336a1a1a5ad2bf18a18f09e318ba22 SHA512 96949c6cf55b940398e7c0b8f7848b627a7e6fc50d7141cf54a38b9201ff33be0475b4cbed9b670fa5085a0dc452e03cf1cb0541ba03132c1e5c95bf2b2ed16c
DIST pyo3-0.19.2.crate 418228 BLAKE2B ee018b33383fada78cd22643aea9231a8c8a2f19d1eb297f40eec9206c5220f322fff4c926d939a93a24ac6d231a207ebb25afcc0709191151c7ed9af7465efa SHA512 58698183e0f2f0507f8f765bf3e90185c933e78d62f0a9be65c4b1ce8eea19a98fe0341abe7c58cafdacb63a012ec417876dccb7be6facc1360fcb22796fcaf9
DIST pyo3-0.20.0.crate 431766 BLAKE2B 104bc21ce2c6931753ca0c7b2d91693f454c964260ca3c4628a899fc8e7edbe4238db913ed7356f3beff154d88a60a17c0e252b655768e75483e1d9d9b86f40b SHA512 85d9533c75f905752c62f6a4898582ae48daf085e287b44949c47260301205a5f00477927877ce46300d2801d22fbc04a958c058a37eb28374c834fff27feca1
DIST pyo3-0.20.1.crate 434263 BLAKE2B 8cd52f6dcdbfc4968dfc82bbeba54a6c7b8b5ff2410500f9862060c3836b2ae7fed3973ac4cc5fc9aaed382e1cd266c38ab0524230609271c79df23dc2b8c684 SHA512 f49a8570b4ed535ef6ac209b080e0612e1185babc2436aa488e29aecb7abcecc12ccf2214225ac17ef38c6c38d343dc8c2a186890e795b81c59ccf2a2ec8509e
diff --git a/dev-python/pydantic-core/pydantic-core-2.16.1.ebuild b/dev-python/pydantic-core/pydantic-core-2.16.1.ebuild
new file mode 100644
index 000000000000..1622d1763e35
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.16.1.ebuild
@@ -0,0 +1,151 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+CRATES="
+ ahash@0.8.7
+ aho-corasick@1.0.2
+ allocator-api2@0.2.16
+ autocfg@1.1.0
+ base64@0.21.7
+ bitflags@1.3.2
+ cc@1.0.79
+ cfg-if@1.0.0
+ enum_dispatch@0.3.12
+ equivalent@1.0.1
+ form_urlencoded@1.2.1
+ getrandom@0.2.10
+ hashbrown@0.14.3
+ heck@0.4.1
+ idna@0.5.0
+ indexmap@2.0.0
+ indoc@2.0.4
+ itoa@1.0.8
+ jiter@0.0.6
+ lexical-core@0.8.5
+ lexical-parse-float@0.8.5
+ lexical-parse-integer@0.8.6
+ lexical-util@0.8.5
+ lexical-write-float@0.8.5
+ lexical-write-integer@0.8.5
+ libc@0.2.147
+ lock_api@0.4.10
+ memchr@2.6.3
+ memoffset@0.9.0
+ num-bigint@0.4.4
+ num-integer@0.1.45
+ num-traits@0.2.16
+ once_cell@1.18.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.8
+ percent-encoding@2.3.1
+ proc-macro2@1.0.76
+ pyo3-build-config@0.20.2
+ pyo3-ffi@0.20.2
+ pyo3-macros-backend@0.20.2
+ pyo3-macros@0.20.2
+ pyo3@0.20.2
+ python3-dll-a@0.2.9
+ quote@1.0.35
+ redox_syscall@0.3.5
+ regex-automata@0.4.3
+ regex-syntax@0.8.2
+ regex@1.10.2
+ rustversion@1.0.13
+ ryu@1.0.14
+ scopeguard@1.1.0
+ serde@1.0.195
+ serde_derive@1.0.195
+ serde_json@1.0.109
+ smallvec@1.11.2
+ speedate@0.13.0
+ static_assertions@1.1.0
+ strum@0.25.0
+ strum_macros@0.25.3
+ syn@2.0.48
+ target-lexicon@0.12.9
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.13
+ unicode-ident@1.0.10
+ unicode-normalization@0.1.22
+ unindent@0.2.3
+ url@2.5.0
+ uuid@1.6.1
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.48.1
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.48.0
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Core validation logic for pydantic written in Rust"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic-core/
+ https://pypi.org/project/pydantic-core/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=virtual/rust-1.70.0
+ test? (
+ >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2022.7.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
+
+src_prepare() {
+ sed -i -e '/--benchmark/d' pyproject.toml || die
+ sed -i -e '/^strip/d' Cargo.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/benchmarks
+ )
+ local EPYTEST_DESELECT=(
+ # TODO: recursion till segfault
+ tests/serializers/test_functions.py::test_recursive_call
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf pydantic_core || die
+ epytest -p pytest_mock -p timeout
+}
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index 5bac6e2a71ef..43f9ccee50a3 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -4,3 +4,4 @@ DIST pydantic-2.4.2.tar.gz 654020 BLAKE2B 2f91b6bf89f87230976a2e777541bb7418382f
DIST pydantic-2.5.1.tar.gz 651461 BLAKE2B 4c52abec0f1fc52fdaa0bd820bbb649ffdc348c1b1537ca31b73bf4c4477055841c0cd08df5336e0388974ebe20c384349c4233af20149317d79f51ee98208c6 SHA512 5a3ca05a57297cded56a21f37e13a61e7abce3faa34b1d2f4ad1abab0205aa8b7f753b6e0ac630336ea398b9c5ebd4c7cab55df4fa0f9e965e07b5a7e9d49f3c
DIST pydantic-2.5.2.tar.gz 652158 BLAKE2B d3a7eeb4e1933d4893df69d2600437a4df1a640f4ec6564079669f8703b8d21bba548197277a373e5a653f4aea67de2336ea983906c2e96b514cdab3f8821dc1 SHA512 56753c9739759251004476620ca25d69bebc7743da911f69a09fcbffa6d6e5ec9b9fc22975e845599fcb2aed5cbbf081c3737d6eab55b9e1696818c4da405e6d
DIST pydantic-2.5.3.tar.gz 651797 BLAKE2B 9494bd7a243d5cda762d916b10120861870b5f3112f581aa33b888eab7b605adcd3eb861853467e2d021b88b1c2583bbaf6ace8e96154543c6946e13722ed345 SHA512 bfc2f9704688815dbf418e2a7c72e193de80f279ac578fdaefe763f7cd8a9dce6c9152bd950d013f7fa48ea743468ae588adf61e277924536637590b63792779
+DIST pydantic-2.6.0b1.tar.gz 675468 BLAKE2B 42c1ebcccd437e6c8de832f784732a1066aeb439804999ed58f39679b99672d26d56bdeaa6745aba1a16e4fc6daf66a15700d876dbdcc46828f8bd4610af453d SHA512 8d8252376de7e1662358dfd8b84bb5b9a811e164d41e1ec2af6c678faf584365a0ff2b31ad6d32c46c6f4bb0b926d9935acd116aeb72c0bd91c1d5c7cc6a69b1
diff --git a/dev-python/pydantic/pydantic-2.6.0_beta1.ebuild b/dev-python/pydantic/pydantic-2.6.0_beta1.ebuild
new file mode 100644
index 000000000000..f371681d7f79
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.6.0_beta1.ebuild
@@ -0,0 +1,55 @@
+# 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-2.16.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/benchmark/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ # benchmarks
+ tests/benchmarks
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/pythran/pythran-0.14.0.ebuild b/dev-python/pythran/pythran-0.14.0.ebuild
index 4b7a7ab19d90..3f0652c40a09 100644
--- a/dev-python/pythran/pythran-0.14.0.ebuild
+++ b/dev-python/pythran/pythran-0.14.0.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
dev-libs/boost
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 4afb2ed00d44..1108b9c06141 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -22,6 +22,7 @@ DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c42
DIST sqlglot-20.5.0.tar.gz 9066011 BLAKE2B a2062e4bbb74abe84d14fa1bdde57374185a7487c42c90b13d4fdee5d0793f0cbe54c8da21d33ec0aef398fd4e2015547bc34dd0d444391079c33aa90d612f77 SHA512 4ccc3bf40fe778e8911008a6a51ef84a2c46e430ad15b7ac93e64d68c13705d9811f72691e96f35ab7ce2c45835776afb50815807ab585b52489b1971bb7ddaa
DIST sqlglot-20.7.1.tar.gz 9293277 BLAKE2B 8a7d894033122a5541f1e6bf3bc9066805fc8a43e700186dde49c007e042baecfb59742918607b8779f11d0215f0f107cd45ed793683256fdcd2e1b11a4ab058 SHA512 ffc4d539752e9357cb93669ab936666b7c11d37ccca1358059ce19322a9ba65b05b8492ecc3c39b5905564b3aae2fe13d4ae87c80b51b5cf5a43bbb074cc2c88
DIST sqlglot-20.8.0.tar.gz 9300786 BLAKE2B 843043c4b389145a9da5f0045d8861d054f046b3f79d9f9e7025b1a4ffc10564a83b3b413766190d64c7477795252738e8c5f35dde81d07f1b5d4a6e3a3a12ee SHA512 d88bef209ff27ae2b8187c58746e6388252e693282f0dfe736eff5f1ed2a2b6322632921f3a759f2d6f304b8339abee76be638ff899d23ad13eec72d1322c062
+DIST sqlglot-20.9.0.tar.gz 9323993 BLAKE2B fcd06bb5ca4520a1f67fc3f65706d1de16869efe181c9c8c5f1d71f0124501914bc5c496c3898e3efb7db29e1dee4c085939325f3e0879526fd0f076ec92da45 SHA512 1867810771d5909e5392adca25d538a316d9b7fe0f5668ec3a26371801f32230b5515595d113f58c97dbe1f844cf4b6853755810fbc9824f172743b2117a6d83
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
diff --git a/dev-python/sqlglot/sqlglot-20.9.0.ebuild b/dev-python/sqlglot/sqlglot-20.9.0.ebuild
new file mode 100644
index 000000000000..c040bab3734b
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-20.9.0.ebuild
@@ -0,0 +1,121 @@
+# 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_{8,9,10,11,12} )
+
+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}]
+ )
+"
+
+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_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 9c97b813994f..a17adbdbd541 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,3 +1,4 @@
DIST stripe-7.10.0.tar.gz 783205 BLAKE2B ab06c4f81bd3f2492a1e5982995f5205f345f395b8cc7e470a22af62d57421789208c76097a08019550a61ab65b41ea24305bd303a9e3d6e3cb791fe552bcbc7 SHA512 dbdfd2ca11f592caa31fb53b0204e64292d4471d5d3e607447bbcfabe24db684331d77f0ff12da77ec5c4ad20709328a7366eb55b9c3d804ca39442971cefcde
DIST stripe-7.11.0.tar.gz 783456 BLAKE2B 9317526b9c19d98b921f3fa8222486537b3bfa3a9c239d83098be1d9856a258a67276690c1f1ced6087a8d7f1fb180240f737d67f9ded5605e82de7fc4355fc0 SHA512 5cfa650d43745c8a3ab5588f30c6eaab0952aff060b9fdb84027db3422c88002d074eb29b3e2a40ed1457be6e8cd883b3323e8da538af0991114a10976b86842
DIST stripe-7.12.0.tar.gz 783948 BLAKE2B 063df7bbc118847bdee35f2919bd8023f4d58b5f1a36ad9d81dd63b6771513e3323a50ce8f83bb1719d6a44e6e823384a908af9b2091fb7c27a7bf78e5e22b40 SHA512 819aa9f4ec1d7269d14d43abd2c4ec7b20b76bdd4f290962ac51b89926ab2e1f1644dd9c653556673b7a65e97510e6d588052fcc4a7e3c05464a0564bb8d8ed0
+DIST stripe-7.13.0.tar.gz 789362 BLAKE2B 326a8b0987ffc7b9bcca2c3fbff548770223a6e153ac4b04fdfe70c400ce0b7d06d40182727ca2fc0ab700f57133481510aec9432c6582dec2a34eba57e682fe SHA512 0ed4d7d1781236f8e6bb3685680f59cf9c3bdf8645e0f5cd17753d079e42965660666ec76cb65ee6d4145514706fd39f6c0f1af331033d0eb3f47f8445082be7
diff --git a/dev-python/stripe/stripe-7.13.0.ebuild b/dev-python/stripe/stripe-7.13.0.ebuild
new file mode 100644
index 000000000000..f95e50daee78
--- /dev/null
+++ b/dev-python/stripe/stripe-7.13.0.ebuild
@@ -0,0 +1,81 @@
+# 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_{8,9,10,11,12} 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.180.0
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+src_prepare() {
+ if ! use telemetry; then
+ sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
+ fi
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests -p pytest_mock
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index 8e3e6f4fa080..8dc4c83a6301 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1,2 +1,3 @@
+DIST trimesh-4.0.10.gh.tar.gz 13435507 BLAKE2B 9e60ac72af4020997b606738dba044b23914a50ec07bcb014defcf23b2d5afde279755cc244dccc2e0a482f3b10eab025f9a0ea9f37becb62067a65192c948b1 SHA512 783730dfedbbbb09c829240c11de3ee15a5518454335734cc98b25b289011fb4310e80c6a11d3fe7b83d0661e38d36e98650333a976fed210aa1dc9fa30d857b
DIST trimesh-4.0.8.gh.tar.gz 13434746 BLAKE2B 858ad7daf9cff3bbedef3ea124d6af1be96233b09a2bd9abd0d2cc43b6f981f844300a36dfef751caf1abf721dd0481a189e0d80ddba8a3fcacbe87183c3d26e SHA512 77472e954b9defdf39fac7813aad892f56f02da475801effdac7de28b6e28f6ca5a7c99fa51013e44435a2143f01a5a2be1e8419c1c81c0c02dca237b8e21dd3
DIST trimesh-4.0.9.gh.tar.gz 13435804 BLAKE2B 7e07ad04f7c08b01763ce0d4f50ad7a00fa4888f43abab92bbce495cb0c1dc8815e0c346e326f19c811fbe8d9d2657b45390016f1508e1d994ee529af182b2c1 SHA512 8d6d48a7889693536a54355efac5dc35eb2a8babeb5c93d71127e65935e7750d7330bd9b96b31b37dded7a5fd50151d39b6c38a29e0075374ee29ca975e5ed9d
diff --git a/dev-python/trimesh/trimesh-4.0.10.ebuild b/dev-python/trimesh/trimesh-4.0.10.ebuild
new file mode 100644
index 000000000000..364d5a02286d
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.0.10.ebuild
@@ -0,0 +1,68 @@
+# 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_{8,9,10,11,12} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Python library for loading and using triangular meshes"
+HOMEPAGE="
+ https://trimesh.org/
+ https://github.com/mikedh/trimesh/
+ https://pypi.org/project/trimesh/
+"
+SRC_URI="
+ https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pycollada[${PYTHON_USEDEP}]
+ dev-python/pyglet[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
+ dev-python/svg-path[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ sci-libs/rtree[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mapbox_earcut[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_TIMEOUT=900
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature_header "${PN} functionality can be extended by installing the following packages:"
+ optfeature "making GUI applications with 3D stuff" dev-python/glooey
+ optfeature "2D triangulations of polygons" dev-python/mapbox_earcut
+ optfeature "loading a number of additional mesh formats" dev-python/meshio
+ optfeature "figuring out how much memory we have" dev-python/psutil
+ optfeature "marching cubes and other nice stuff" sci-libs/scikit-image
+}
diff --git a/dev-python/virtualenv-clone/files/virtualenv-clone-0.5.7-backport-pr79.patch b/dev-python/virtualenv-clone/files/virtualenv-clone-0.5.7-backport-pr79.patch
new file mode 100644
index 000000000000..7ded302ed099
--- /dev/null
+++ b/dev-python/virtualenv-clone/files/virtualenv-clone-0.5.7-backport-pr79.patch
@@ -0,0 +1,28 @@
+https://bugs.gentoo.org/918079
+https://github.com/edwardgeorge/virtualenv-clone/pull/79
+
+From 028494ee84cf4626aab291c621b2b9ec23f8688a Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Mon, 18 Dec 2023 18:18:17 -0500
+Subject: [PATCH] Support Python 3.11, 3.12
+
+---
+ .travis.yml | 2 ++
+ setup.py | 2 ++
+ tests/__init__.py | 2 +-
+ tox.ini | 2 +-
+ 4 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/tests/__init__.py b/tests/__init__.py
+index c9a52ca..14648f4 100644
+--- a/tests/__init__.py
++++ b/tests/__init__.py
+@@ -8,7 +8,7 @@
+ tmplocation = tempfile.mkdtemp()
+ venv_path = os.path.realpath(os.path.join(tmplocation,'srs_venv'))
+ clone_path = os.path.realpath(os.path.join(tmplocation,'clone_venv'))
+-versions = ['2.7', '3.4', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10']
++versions = ['2.7', '3.4', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
+
+ def clean():
+ if os.path.exists(tmplocation): shutil.rmtree(tmplocation)
diff --git a/dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild b/dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild
index 5c80171ab717..23a04de4db25 100644
--- a/dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild
+++ b/dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -28,4 +28,6 @@ BDEPEND="
)
"
+PATCHES=( "${FILESDIR}/${PN}-0.5.7-backport-pr79.patch" )
+
distutils_enable_tests pytest