summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-07-19 05:49:04 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-07-19 05:49:04 +0000
commitb14b5d68da9389c520607e04bfd3e080ff90b0a8 (patch)
tree22a8fd76c3850b2df633877a740e23c4709ab755 /dev-python
parent5a0113d08399c71655e8f0d1faf900295b0cb0ad (diff)
downloadbaldeagleos-repo-b14b5d68da9389c520607e04bfd3e080ff90b0a8.tar.gz
baldeagleos-repo-b14b5d68da9389c520607e04bfd3e080ff90b0a8.tar.xz
baldeagleos-repo-b14b5d68da9389c520607e04bfd3e080ff90b0a8.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.34.145.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.34.145.ebuild76
-rw-r--r--dev-python/cfn-lint/Manifest1
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.8.1.ebuild70
-rw-r--r--dev-python/dep-logic/Manifest3
-rw-r--r--dev-python/dep-logic/dep-logic-0.4.1.ebuild25
-rw-r--r--dev-python/dep-logic/dep-logic-0.4.3.ebuild (renamed from dev-python/dep-logic/dep-logic-0.3.5.ebuild)0
-rw-r--r--dev-python/ensurepip-setuptools/Manifest1
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-71.0.3.ebuild24
-rw-r--r--dev-python/furo/Manifest1
-rw-r--r--dev-python/furo/furo-2024.7.18.ebuild42
-rw-r--r--dev-python/jaraco-context/jaraco-context-5.3.0.ebuild2
-rw-r--r--dev-python/jupyterlab/Manifest1
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.2.4.ebuild81
-rw-r--r--dev-python/mrcfile/Manifest2
-rw-r--r--dev-python/mrcfile/mrcfile-1.5.2.ebuild (renamed from dev-python/mrcfile/mrcfile-1.5.0-r1.ebuild)1
-rw-r--r--dev-python/pdm/Manifest1
-rw-r--r--dev-python/pdm/pdm-2.17.0.ebuild119
-rw-r--r--dev-python/pyaml/Manifest1
-rw-r--r--dev-python/pyaml/pyaml-24.7.0.ebuild30
-rw-r--r--dev-python/setuptools/Manifest1
-rw-r--r--dev-python/setuptools/setuptools-71.0.3.ebuild133
-rw-r--r--dev-python/sphinx/Manifest1
-rw-r--r--dev-python/sphinx/sphinx-7.4.6.ebuild142
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-25.6.1.ebuild121
-rw-r--r--dev-python/stripe/Manifest1
-rw-r--r--dev-python/stripe/stripe-10.4.0.ebuild88
-rw-r--r--dev-python/urllib3/urllib3-2.2.2.ebuild2
31 files changed, 995 insertions, 31 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 8cfbe581ea05..3044998b158d 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,4 @@
DIST boto3-1.34.136.gh.tar.gz 826543 BLAKE2B 307705ba777d155772a2dafad775e55d94e17a9e4c2986e48bd8a691c3bc4e433f212e1a59053222927bda42584b2d1d266bc2489f94fd3e4463416c56531d54 SHA512 f2307db517b393164028c17a8073c5baf7f7e3be36c988a90d455cad98a55b7a7e1a6e44584038141047237e81cb495bffaf70747de421ce316bb457e2d168e8
DIST boto3-1.34.140.gh.tar.gz 828290 BLAKE2B 129c0f791ddc07f90d2b9ae2972839a0bcaa393e3a8f843a9bca9ebf699f36290b95d17c3f906f49ae5c9ee8cd15c5de7f9de96572573f12d40c7ada778c7679 SHA512 b052ac336e68577140017b5a45f1787eec985e42d86e25cdafc15c6eadf8652b75bb006cf86ce0a3e0d9f3b657ae2afee41a75f624fb5e277a49f1653a83f64f
DIST boto3-1.34.144.gh.tar.gz 840506 BLAKE2B 7fccc6ae45dec6411995795dc7dd180cec51b79f93362a221d7709f35ece2652390219d51507130fcfcedf82f0d2fa89461c112027b7d8040f84f2f907518b30 SHA512 4da24e40cb8beafd975cf21de0e548b167de59e1b47b4b005f4320d2c4cd60e0c5b72378ecdb1b21ec789b4b943df4856128890d865e0fb974a34563871a2078
+DIST boto3-1.34.145.gh.tar.gz 841776 BLAKE2B e93a6c4d634c2df22ed27e58c2abe0a6cc835364b4a93c73c8c221ba39b63b89c5f3ddbf210eb90a451c9b6650061f08a173395f1fb3cd4abe8fde90347b4c63 SHA512 ebd85e3068d1ad332b2ed4c2ad45c022fadb090f8aacdcd72c0d515f91b218201afd69750281b68c909dbf2ab35bef3a39412a616f5b134780f15c0cc9854123
diff --git a/dev-python/boto3/boto3-1.34.145.ebuild b/dev-python/boto3/boto3-1.34.145.ebuild
new file mode 100644
index 000000000000..509842b2699d
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.145.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_{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/
+"
+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 a7719db423c9..fb3ae7640ec6 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,4 @@
DIST botocore-1.34.136.gh.tar.gz 13151618 BLAKE2B 800b800ff2481335f0defb79c10a4216c8bb107a3369e6a45a9c0a6d8f703209a9e44560ebf859f7fc616498c68e9b0de331478a8b5e2d3b36788bdedb597a0b SHA512 e9a31f6e8e241964fa34df65c8a9f8acaa1e33865eeb8257bf6da16982a3704b8ab66b6f424952ff100944471bb8f40cbdbcc26f72120da2d6033319948de81e
DIST botocore-1.34.140.gh.tar.gz 13156596 BLAKE2B 4a264fe767c35dcc65ddbe1eb29529d2576553e4d6f9a3d6c28f249aaa0eab5a0fd150fdbdc1dbd1b83cc1fb6fce8f58c68de43f5dc338cb3feb5b9f76c8f973 SHA512 36c90da9670639ccc10e65ced501a2b16e50b664f11be2686f6fcfc56fa81271f160b27b7ffac513446afe09ef6ed4768818ad8b8ca540571737c47fdf980443
DIST botocore-1.34.144.gh.tar.gz 13221134 BLAKE2B 9b688a781ad80f294c147ce4aacc31b59ad90369722a256b934610790682fbe54fcc18bded66d3151c24335dafdcc2eecaa293a30f6715aa69ded57efacd6540 SHA512 92d96253eb62b0425d3763cd9df7f5e944e780c5694b6bad03aa1671b65a5a786b54cad037479f2e227b86b2dd33da1a10db1da1ede857378a9f9783405bb288
+DIST botocore-1.34.145.gh.tar.gz 13230154 BLAKE2B ebcf6acdd7ab01bca4032eaa9bc94fd72807edb3b0ce7cdc7addc4bed9a3500627b95d95e69c3027ecb384e65d95c0955e71a0e3262d89e3e8d49eefc37e9aaf SHA512 96042253f2f5ec74b258327c3c4eb322a8ed534ac8ed78f38a5aafb3a97ce832bfe5184090a2dadd41e30b75bf35c463d8d80c3de72a46410656d62076469650
diff --git a/dev-python/botocore/botocore-1.34.145.ebuild b/dev-python/botocore/botocore-1.34.145.ebuild
new file mode 100644
index 000000000000..64a61a30c80b
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.145.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_{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/
+"
+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/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 7f042643fe84..0724366e0cea 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -4,3 +4,4 @@ DIST cfn_lint-1.6.1.tar.gz 2366313 BLAKE2B af7b3e8d5145f3368d4c7b2e86b0ffe441c1f
DIST cfn_lint-1.7.1.tar.gz 2412588 BLAKE2B 259b548e7fc7704c12ca0191d27dd82ce2a75e33c7462520becf218261ac693308f600719850a357d9948f5d2700846b6bc35781491cc4c0598cc494d1090e3f SHA512 ce4933a1c3cdf25b3911b0e057d60a6ff0753937dbb6a5cdf6a1e0afae3fc1532302ac2572191781337cb6a5f0ae1743409714317f79fb9da55295875bd56b27
DIST cfn_lint-1.7.2.tar.gz 2412586 BLAKE2B 5ec2034dce3c347411408723ebd1e00143c8b2428364cd33591c260fddb1911d595398121dba356d5179737400ac56fa4077ce8458d0b061c886284e152052b8 SHA512 7c9f785ecb08e937f21be47dea736719b1c7afac2b2989e65f84745e220657a0e3ac3427fa53ece4c5fe51b7880fb9da04c9eac7bd509f43978255ec5706f434
DIST cfn_lint-1.8.0.tar.gz 2376789 BLAKE2B 927a7e789167d5adf04f6a76b309b62b4a2b128db6b1db6a46a771289bc8e6826d021c44209b7dcd711feded2836d10db7727c61daa9f8ef2254a7080c3f30d7 SHA512 e55b24a6e60b4d96317f541787f7828205d04c51816dc5684c37a129b6ff0240e8a0616f15d7fd6917ea18f90d5892c0221fad53fa916cea7a3cd689c1a3c7c2
+DIST cfn_lint-1.8.1.tar.gz 2376797 BLAKE2B ac79f507edc99a9e5fb1d9e3e5bae43951625ef4b529d4c87cf9f748b13b2018607411dc0502fb6063b70282acd88bd350ebf9c9e5c918af079390a1c4bb7ced SHA512 dee0f4228753fc40fd430e58bf1a649023c8136ea11bec1e974800af68f4cce48b34f6b1ce06efa5d722e73ac096a24ba985ecff3e9149b8e66b9202e2c6b1d7
diff --git a/dev-python/cfn-lint/cfn-lint-1.8.1.ebuild b/dev-python/cfn-lint/cfn-lint-1.8.1.ebuild
new file mode 100644
index 000000000000..cb4c0566bc6f
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.8.1.ebuild
@@ -0,0 +1,70 @@
+# 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 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.89.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/dep-logic/Manifest b/dev-python/dep-logic/Manifest
index 6af3d73515d4..a7ac5aa4d018 100644
--- a/dev-python/dep-logic/Manifest
+++ b/dev-python/dep-logic/Manifest
@@ -1,3 +1,2 @@
-DIST dep_logic-0.3.5.tar.gz 33880 BLAKE2B 0aa7b2ef7408e0c3a0a81d2cd1fc11037e633a521aff5b673e2c9c4efc535ff59d0991daa9ee50b859302a25cfcdaf94406950358a150cd173d627e87b497a51 SHA512 7ceb90c4cf8d98a192dca94206c363e6bc5d68fa596f18c64374f1512afbfa33339b739343ed7663bba6a94d8c6a573e62bf46fecccb01d0d87827a810d0f4d9
-DIST dep_logic-0.4.1.tar.gz 34727 BLAKE2B 08475ec5f6836f853d2406be6fad2d00df54498555902e61987f1e7b61bfa99a769b5d7472e56fb8e27063f1129a8c989f49ae69f4c8dd8c5c1482995aae5c20 SHA512 da0445f126877281764c182550d14e8b549b6cd344ec61780d993c223c00829b003837d0cdbd78c905f1bb0eec90a24f24e55501d3a2e291c0d417f21486d854
DIST dep_logic-0.4.2.tar.gz 34743 BLAKE2B e3d520f935034c5dacf3dbe123eacb2adb45a3b6d6e13c23d3c21c9d36af56093f504660c621ba586335930963243298d5284b41a29247fb9904bff13da7c724 SHA512 7a522e74cf6537ff644e785489c9a17108910d42769abfbc31dcdffde1d36e79c0cc76c98cd289982877296aab451a6963ee039dd258be67e0e82d2c81fd219b
+DIST dep_logic-0.4.3.tar.gz 34793 BLAKE2B abbaa23d39d258b10912844cb28ca279efe7475e419f8c7be7a1119ed636d60bed851ae7fe47cf04f2caa391d933f8a2c5d404db6e8a8c7cf55224224b6a228c SHA512 4800e9cbd9f2479ebb2a2052361f385b68b1ec5ea3f308378dbef199e61a0443c0e28e4f4f7df8a444a4bd50edd25c7168428812543edc0bb0209d2fc5e0dfac
diff --git a/dev-python/dep-logic/dep-logic-0.4.1.ebuild b/dev-python/dep-logic/dep-logic-0.4.1.ebuild
deleted file mode 100644
index 0be9fa5f44dd..000000000000
--- a/dev-python/dep-logic/dep-logic-0.4.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2023-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} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python dependency specifications supporting logical operations"
-HOMEPAGE="
- https://github.com/pdm-project/dep-logic/
- https://pypi.org/project/dep-logic/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/packaging-22[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/dep-logic/dep-logic-0.3.5.ebuild b/dev-python/dep-logic/dep-logic-0.4.3.ebuild
index 0be9fa5f44dd..0be9fa5f44dd 100644
--- a/dev-python/dep-logic/dep-logic-0.3.5.ebuild
+++ b/dev-python/dep-logic/dep-logic-0.4.3.ebuild
diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index de694ce30744..93754d5d0114 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -2,3 +2,4 @@ DIST setuptools-70.1.1-py3-none-any.whl 883347 BLAKE2B f0e9c3b3ee278942b72ebf470
DIST setuptools-70.2.0-py3-none-any.whl 930834 BLAKE2B 7ef99e6c7c47fd306c4a136504a1d3285faa046da6a4b0be15ec66a2a2eccbe34f203bed794f0a9114ae6970aea163207d22bd4bf5aedf44a92cc2abcac3d881 SHA512 ed6b5199a795c776d653f02e665e560da27e515cf334a2afbbf7f7cb7eb9cd738ca685a2b52d43d68ce6f63486d8da5baa216e58af95e5fad03c6dd95d3d901a
DIST setuptools-70.3.0-py3-none-any.whl 931070 BLAKE2B 92c424f7efc52f42bb4e04f3ddcc57eb079e2db3cb2af1a142520f656c05895ed5bde816e37f05d96d4c431fb888bf09d576956313667a029b6f8de9afc867b4 SHA512 085d39ef4426aa5f097fbc484595becc16e61ca23fc7da4d2a8bba540a3b82e789e390b176c7151bdc67d01735cce22b1562cdb2e31273225a2d3e275851a4ad
DIST setuptools-71.0.0-py3-none-any.whl 908395 BLAKE2B 9195292e68f5bfa557ff952b9dfe50ef68c15517309ed960657600dbebeebba4227d3d8b339bd7298bb67246a174f1f7f8060837f84d26062b58597467252139 SHA512 21376e2207ef8695e8ef699a153d9effd7d9c062ca51639087f53e73d7cb57bf2f415fcf859677f118fa733695a9e9a2678f17616f08ad366675b9a63483d589
+DIST setuptools-71.0.3-py3-none-any.whl 2341516 BLAKE2B bf3e6d2c5da5b6a7a61ebb3293a1779f68b99ca3e75bec08839852158a0c085b6bd8a23f03e961edfe762ce7c7b59a06f3b1f29a306b80b443c07ebb50680c86 SHA512 e2145ba3558c881d61e83689a034a2f712d1012ed9017f72f08b40d0de55fb021703a98958079630a046c49a051d997d73a8c55161ce8b61097993f0da49aeaa
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-71.0.3.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-71.0.3.ebuild
new file mode 100644
index 000000000000..97aca4a61872
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-71.0.3.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/setuptools/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/furo/Manifest b/dev-python/furo/Manifest
index 1fb117f9f491..e0b47e55e011 100644
--- a/dev-python/furo/Manifest
+++ b/dev-python/furo/Manifest
@@ -1 +1,2 @@
DIST furo-2024.5.6-py3-none-any.whl 341199 BLAKE2B 6cecc3407bb91f096ba755d2d36f8e165dd8887f513495013533907017248c8a1f15d8019d5b4d5e7acd2793d95dc82cf95fc5ca1d9ad42bdcc57983d451db97 SHA512 932336ddff321b5dcdf98ee6aeda2cd33ce7981fb3f74fad5c2c732ff7d5be9c8666dd89808630a24b7d610965f8921ad477e9409ba5c2b9ad112d338dd06629
+DIST furo-2024.7.18-py3-none-any.whl 340824 BLAKE2B 619e7183541921ec31f5a7e7ebcbc86f0507e04bf7e5c9e308a3b6a6b580cf734fe46b641b3bcaaeeaba39516ca27b49ef8faadd0d9d5864343aafc15a05037d SHA512 62c047742a0a851e5faf56013751d05a411920ca7659ef42fc06bcce6766a6605734b370a636f4b1c2805def42881c273a2b5eb6704484571d76a44145b0a346
diff --git a/dev-python/furo/furo-2024.7.18.ebuild b/dev-python/furo/furo-2024.7.18.ebuild
new file mode 100644
index 000000000000..f1087bcdfd0f
--- /dev/null
+++ b/dev-python/furo/furo-2024.7.18.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# sphinx-theme-builder is completely unusable, as it requires pinning
+# to a very-specific nodejs version number, and ofc loves fetching
+# everything from the Internet
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Clean customisable Sphinx documentation theme"
+HOMEPAGE="
+ https://pypi.org/project/furo/
+ https://github.com/pradyunsg/furo/
+"
+SRC_URI="$(pypi_wheel_url)"
+S=${WORKDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-basic-ng[${PYTHON_USEDEP}]
+"
+
+src_unpack() {
+ if [[ ${PKGBUMPING} == ${PVR} ]]; then
+ unzip "${DISTDIR}/${A}" || die
+ fi
+}
+
+python_compile() {
+ distutils_wheel_install "${BUILD_DIR}/install" \
+ "${DISTDIR}/${P}-py3-none-any.whl"
+}
diff --git a/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild b/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild
index 6fa7418a470a..99008810ef65 100644
--- a/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild
+++ b/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
RDEPEND="
$(python_gen_cond_dep '
diff --git a/dev-python/jupyterlab/Manifest b/dev-python/jupyterlab/Manifest
index 0872029c07db..2a4d23478f8a 100644
--- a/dev-python/jupyterlab/Manifest
+++ b/dev-python/jupyterlab/Manifest
@@ -1 +1,2 @@
DIST jupyterlab-4.2.3.tar.gz 21505072 BLAKE2B 8cc9aaed2fb848ecad6fb408968d66583ed69752cd8b5f62e19949b7aa5180d66950802649c137feddeab9e26f5ecb0394b7fdba751a4d784d00625d9b750fd3 SHA512 4ed3dd40ee43a05c8393531b87f568f3ffab43f20d1e8c8ad96c90bed4f67d6c83ab0a2664098cd5e39580427e03f4170eb4d91e9b8cc924b70f977db3cdc7de
+DIST jupyterlab-4.2.4.tar.gz 21506914 BLAKE2B b130f91807c96d57d01127a37dcac1589422ef36023e9b02a32ade9c2ceedf128fce49d1a11dfbb5836dd5f40a0828e32f625cb3d99eb0098785b5be6b56eeba SHA512 2327c7d7b63185c9e1a90acfcac4b31224835601ed8e0bb545077e0c68f6cbb612af884fef288b7e28245b83a035542590cbd721b0f9e44af27bb4aa8a00acab
diff --git a/dev-python/jupyterlab/jupyterlab-4.2.4.ebuild b/dev-python/jupyterlab/jupyterlab-4.2.4.ebuild
new file mode 100644
index 000000000000..7e7785d9fc2c
--- /dev/null
+++ b/dev-python/jupyterlab/jupyterlab-4.2.4.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=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi xdg
+
+DESCRIPTION="JupyterLab computational environment"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyterlab/jupyterlab/
+ https://pypi.org/project/jupyterlab/
+"
+
+LICENSE="BSD MIT GPL-3 Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/async-lru[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.5.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
+ dev-python/jupyter-core[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-lsp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-server-2.27.1[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
+ >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-40.0.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+ ' 3.10)
+ >=dev-python/tornado-6.2.0[${PYTHON_USEDEP}]
+ dev-python/traitlets[${PYTHON_USEDEP}]
+ net-libs/nodejs
+"
+
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
+ >=dev-python/pytest-jupyter-0.5.3[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-cache[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # These tests call npm and want internet
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_uninstall_core_extension
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_install_and_uninstall_pinned_folder
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_install_and_uninstall_pinned
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_custom_minimal_core_config
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_custom
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_check
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build
+ jupyterlab/tests/test_build_api.py::TestBuildAPI::test_clear
+ jupyterlab/tests/test_build_api.py::TestBuildAPI::test_build
+)
+
+EPYTEST_IGNORE=(
+ jupyterlab/tests/test_announcements.py
+)
+
+distutils_enable_tests pytest
+# TODO: package sphinx_copybutton
+#distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme dev-python/myst-parser
+
+python_install_all() {
+ distutils-r1_python_install_all
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
diff --git a/dev-python/mrcfile/Manifest b/dev-python/mrcfile/Manifest
index 6a0bde5cf502..89662f4a99b4 100644
--- a/dev-python/mrcfile/Manifest
+++ b/dev-python/mrcfile/Manifest
@@ -1,2 +1,2 @@
-DIST mrcfile-1.5.0.gh.tar.gz 148148453 BLAKE2B 45cb7483e0aa5d6a2ac4e077bd0e2a9a8a265c4fdb69fc467e1dd3bab79960478d69ed0ec5e4f97ff528a02255c1c0b3e839e808ff0380e7ea2926b569a5478f SHA512 90e85e74c413b74e9ea86996b9e1ed4ac8f8cc0e7537f1916482d5e89d1fa99814c23ad2e51d912485a02644eeb65925067190bb3a7b222310aca4946b037ecc
DIST mrcfile-1.5.1.gh.tar.gz 148148989 BLAKE2B 335a30b5e69bb4bb0348da421c721d27dcf6d1b1d1ab37bd2038e57c5c7499348e9bd183aa5b21280a8009b68e64cec03b08bde4ff3509084873ebffa2fd3b1a SHA512 8553c435c640d814b26f14253ea8954ddd54fab737879e53714cee0be77b9a929e870d2c49a5244c49b9261e2946fbfb0ac1294af6cd3888c6884d476af3ad7a
+DIST mrcfile-1.5.2.gh.tar.gz 148149005 BLAKE2B 6ea599aad553f9a1e8b794a133502f440432e6cdb65aa8c906148dad5c10c63d4905f52665b4b1875be474e32d08a761c3faebec38f124b9a20862adf66ceb52 SHA512 0db3c0a0e641166e0fcea52202b9435212c1ddc0e0b3040f0830b61da86c1d51ac102fbd08039d0ae74724723122156f2db9f68fbab095eb365a7de68b8acd11
diff --git a/dev-python/mrcfile/mrcfile-1.5.0-r1.ebuild b/dev-python/mrcfile/mrcfile-1.5.2.ebuild
index dfc482df8c3d..f476d539ed73 100644
--- a/dev-python/mrcfile/mrcfile-1.5.0-r1.ebuild
+++ b/dev-python/mrcfile/mrcfile-1.5.2.ebuild
@@ -23,7 +23,6 @@ SLOT="0"
KEYWORDS="~amd64 ~arm64"
RDEPEND="
- <dev-python/numpy-2[${PYTHON_USEDEP}]
>=dev-python/numpy-1.16.0[${PYTHON_USEDEP}]
"
diff --git a/dev-python/pdm/Manifest b/dev-python/pdm/Manifest
index 8c7499f37e57..10e190178ea4 100644
--- a/dev-python/pdm/Manifest
+++ b/dev-python/pdm/Manifest
@@ -1 +1,2 @@
DIST pdm-2.16.1.tar.gz 2618476 BLAKE2B f32de9aafbaa1050e9373921bc50643c21b43775e7737f5717914f8bc65de7ad126d7dadf94ae55e7848596db1b6b0c1ffa9cb1d9ada914dc2be85cc71ac404f SHA512 8b244c67421ed5b3eb3b6958da38abf776cb8fe7eb5b9de646027fc14d15ecf74f90a128d4a4405cedd775294df3b13f76d606c2cfc86b222ede1c2134f63f84
+DIST pdm-2.17.0.tar.gz 2626110 BLAKE2B 600a319c419003d000445d2dfe0e694b78514c41ab29174465eef0126f629e588e7da996cf999901844686abfc9089db1f176509a7200ba405fd20be82fdcf0a SHA512 ef2924f4cafd690c5519e29b0ecab308dfc2a739bd50c76d6e0c1f294af31356b1102a0ea6c7324439105008fbd7270812fc2a855340e6417d55e9e8de273b59
diff --git a/dev-python/pdm/pdm-2.17.0.ebuild b/dev-python/pdm/pdm-2.17.0.ebuild
new file mode 100644
index 000000000000..b862b2effdd3
--- /dev/null
+++ b/dev-python/pdm/pdm-2.17.0.ebuild
@@ -0,0 +1,119 @@
+# Copyright 2023-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 pypi
+
+DESCRIPTION="Python package and dependency manager supporting the latest PEP standards"
+HOMEPAGE="
+ https://pdm-project.org/
+ https://github.com/pdm-project/pdm/
+ https://pypi.org/project/pdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/blinker[${PYTHON_USEDEP}]
+ >=dev-python/dep-logic-0.4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/truststore[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/hishel[${PYTHON_USEDEP}]
+ >=dev-python/pbs-installer-2024.4.18[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ >=dev-python/unearth-0.16.0[${PYTHON_USEDEP}]
+ <dev-python/findpython-1[${PYTHON_USEDEP}]
+ >=dev-python/findpython-0.6.0[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}]
+ dev-python/installer[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ 'tests/cli/test_build.py::test_build_with_no_isolation[False]'
+ tests/test_project.py::test_access_index_with_auth
+ "tests/test_project.py::test_find_interpreters_with_PDM_IGNORE_ACTIVE_VENV[True]"
+ tests/cli/test_others.py::test_build_distributions
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]'
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[-e file:///${PROJECT_ROOT}/tests/fixtures/projects/demo-#-with-hash#egg=demo]'
+ tests/models/test_candidates.py::test_find_candidates_from_find_links
+ tests/cli/test_build.py::test_build_single_module
+ tests/cli/test_build.py::test_build_single_module_with_readme
+ tests/cli/test_build.py::test_build_package
+ tests/cli/test_build.py::test_build_src_package
+ tests/cli/test_build.py::test_build_package_include
+ tests/cli/test_build.py::test_build_src_package_by_include
+ tests/cli/test_build.py::test_build_with_config_settings
+ tests/cli/test_build.py::test_cli_build_with_config_settings
+ tests/cli/test_build.py::test_build_ignoring_pip_environment
+ tests/cli/test_others.py::test_show_self_package
+ tests/cli/test_publish.py::test_publish_and_build_in_one_run
+ "tests/cli/test_hooks.py::test_hooks[build]"
+ "tests/cli/test_hooks.py::test_hooks[publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-publish]"
+ "tests/cli/test_venv.py::test_conda_backend_create[True]"
+ "tests/cli/test_venv.py::test_conda_backend_create[False]"
+ tests/cli/test_lock.py::test_lock_all_with_excluded_groups
+ # hangs on interactive keyring prompts
+ tests/cli/test_config.py::test_repository_overwrite_default
+ tests/cli/test_config.py::test_hide_password_in_output_repository
+ tests/cli/test_config.py::test_hide_password_in_output_pypi
+ # junk output, sigh
+ tests/cli/test_others.py::test_info_command_json
+ # why does it try to use python 2.7?!
+ tests/cli/test_run.py::test_import_another_sitecustomize
+ # fails in tinderbox (bug #928964)
+ tests/test_project.py::test_project_packages_path
+ # i guess doesn't expect some dep to be present
+ tests/cli/test_build.py::test_build_with_no_isolation
+ )
+ [[ ${EPYTHON} != python3.10 ]] && EPYTEST_DESELECT+=(
+ # test seems hardcoded to 3.10
+ tests/test_project.py::test_project_packages_path
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not network and not integration and not path" \
+ -p pytest_mock
+}
diff --git a/dev-python/pyaml/Manifest b/dev-python/pyaml/Manifest
index 36a1bc105e6a..3ebae752d3e5 100644
--- a/dev-python/pyaml/Manifest
+++ b/dev-python/pyaml/Manifest
@@ -1 +1,2 @@
DIST pyaml-24.4.0.tar.gz 27204 BLAKE2B f0f7c43ffdfd648945bfb20c589ab3e48000ac98a602192ba75fd1a611e12877bbc848f79b070864ac10f59b9c1796d89f35521314e827c5a7951995de86a657 SHA512 d2c1ae1f29f61d210cb822c2c1b3fa3ace81a4b863c7dfec5d75c5418537256828ee54ca545edc9ce30995ba272dfd064f7ed6009dae00910a081ffc0270546e
+DIST pyaml-24.7.0.tar.gz 27935 BLAKE2B 09ccdd3c0966d4f13480b174bcec800a49464ac0ccd7cc7ce6e4d2bcb8407283fd6ef94c2b661c7d6c912c203bc284efa15df072508869a2ec5f9978d5ede9ac SHA512 c5ce15f0264e8783ed6e03348ad74d25708129fbd377e2ec0fd0c6de72e763ff3cf79ba5d6cc4b641f0422ab87f8103538f2ba6abb16ea21e6820259f4a48b29
diff --git a/dev-python/pyaml/pyaml-24.7.0.ebuild b/dev-python/pyaml/pyaml-24.7.0.ebuild
new file mode 100644
index 000000000000..e111187e313e
--- /dev/null
+++ b/dev-python/pyaml/pyaml-24.7.0.ebuild
@@ -0,0 +1,30 @@
+# 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 pypi
+
+DESCRIPTION="PyYAML-based module to produce pretty and readable YAML-serialized data"
+HOMEPAGE="
+ https://github.com/mk-fg/pretty-yaml/
+ https://pypi.org/project/pyaml/
+"
+
+LICENSE="WTFPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/unidecode[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index 0bb69c82194f..8981ecf125e5 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -2,3 +2,4 @@ DIST setuptools-70.1.1.tar.gz 2292324 BLAKE2B 9d489117a80ef9cefab6b730680a614d99
DIST setuptools-70.2.0.tar.gz 2332711 BLAKE2B d552e3c7fb8bad3829b6c210827af2a3993afa7c534502d08cb7f87df846f9939b75ce181217c673be7a0c71e81ede437b5f44cf9a42ff13133a9f922e426c1d SHA512 a2b0aaf57d012326475ee7637e65ebbc3b1a09b338850e8b0c6a0f169c49651f934c813d6d347ba1ff04894a4d8341bb5fedbea35d45dbc19f317587bbb35094
DIST setuptools-70.3.0.tar.gz 2333112 BLAKE2B cffe583c1440e2c6ed049fc0c3da70d6b3f43710cec8eeba9b96906d7d3113c0156ac0398f12355e2c0eeeb73dc351e56eea117361c83a4819e255f2b44d01da SHA512 9f330bd9867631da69ee0886551033a6e8ef3cf52cfe38aad9fcd359cbfc2e0d7ee8c85382b29f8d52568c674893dc07f2b2a896afe5154e6140bb3209ee50a0
DIST setuptools-71.0.0.tar.gz 2343301 BLAKE2B 9150d60b2fedb91a91dd9738d81791bf8e6546f71842e3463fba98347aa6b8ad25e121e0177d096fe092e8689ec3cae39de1c71a607812ea518b007791be8e25 SHA512 41a10469e1527dfaf1edaeca96c3c3c725ecf9ee3a59cac0cf48a2e66e178bd1c375e735a2e545b4d5c19b57ea9e19e78dfc4bdf95704a19780c82c40b9bc606
+DIST setuptools-71.0.3.tar.gz 2422226 BLAKE2B e85136be2673b64f4fbd28fcc7e8dba8503880e67f25c3bf9be4ee5adba562c47a2d8eda6268b6dfb9c9ecb088a4559c8646ddcec6b58ee56a509dba87115c23 SHA512 ade0ede91b8abf629ec09c2124169cbe64d2a65c590a82a7550ec820ce3dc3be8aeef87ac5b76bcf174257deec37456c55f08943ec5a168643c3280965e70a84
diff --git a/dev-python/setuptools/setuptools-71.0.3.ebuild b/dev-python/setuptools/setuptools-71.0.3.ebuild
new file mode 100644
index 000000000000..6ffac40dabf5
--- /dev/null
+++ b/dev-python/setuptools/setuptools-71.0.3.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !!<dev-python/setuptools-rust-1.8.0
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/jaraco-test[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-subprocess[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+# setuptools-scm is here because installing plugins apparently breaks stuff at
+# runtime, so let's pull it early. See bug #663324.
+#
+# trove-classifiers are optionally used in validation, if they are
+# installed. Since we really oughtn't block them, let's always enforce
+# the newest version for the time being to avoid errors.
+# https://github.com/pypa/setuptools/issues/4459
+PDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}/setuptools-62.4.0-py-compile.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # breaks tests
+ sed -i -e '/--import-mode/d' pytest.ini || die
+
+ # remove bundled dependencies
+ rm -r */_vendor setuptools/_distutils/_vendor || die
+
+ find -name '*.py' -exec sed \
+ -e 's:from [.]_vendor[.]:from :' \
+ -i {} + || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
+ setuptools/tests/test_build_meta.py::test_legacy_editable_install
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_editable_install.py
+ setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
+ setuptools/tests/test_virtualenv.py::test_clean_env_install
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ setuptools/tests/test_extern.py::test_distribution_picklable
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # TODO, probably some random package
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
+ # Internet, sigh
+ setuptools/tests/test_integration.py
+ # flaky
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_transitive_extra_dependency
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_distutils_command_dep
+ # broken by unbundling
+ setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata
+ )
+
+ local EPYTEST_XDIST=1
+ local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH}
+ epytest -o tmp_path_retention_policy=all \
+ -m "not uses_network" setuptools
+}
diff --git a/dev-python/sphinx/Manifest b/dev-python/sphinx/Manifest
index f004ecdc679f..d5846cf1f623 100644
--- a/dev-python/sphinx/Manifest
+++ b/dev-python/sphinx/Manifest
@@ -3,3 +3,4 @@ DIST sphinx-7.3.7.gh.tar.gz 7165383 BLAKE2B bcc68f26937e6aefe60cedea533a5c8e245c
DIST sphinx-7.4.0.gh.tar.gz 8186356 BLAKE2B 968d2bc887c6326c44c741cfdfeb67bb303c718d4283d8149b1ab7bafa84ef7f3ef5ff3fd72b82a207846e91bda3fff72ed6c8953c1bcf8482bc79b992f636f3 SHA512 fea84f86e414bba741537f4db68a1f0e0922f8fe6eea5e0eefac4a76bfb30d5eb97eb5590404c7e427b03c57b589844ebba8ef5f3f6d786ca91bb2dbbc704d8f
DIST sphinx-7.4.4.gh.tar.gz 8184232 BLAKE2B cf75b1dc39d194293845a621c12246fd78249541634dc5edee6ed6da15285ab763223729a63ef2c375215a394c12e189333d248b7f047195b66d8e7c6706ed18 SHA512 4f2ef5f0c4270517a12b9dc169903ece7ec809687c14961522c37a5ea829d1624ee45926a5fe48fefce77ac73b5dc4035e2452b2b6c4bbdf14c06e9201596f66
DIST sphinx-7.4.5.gh.tar.gz 8187162 BLAKE2B 95aa15db43abfb9671c3d7a3094525afb4f3a56eda6ef6c81a2e669b3d6512ff8a5e7c0c6f29614abe06316fbea1fef34f8b6884ed04c1e060e043f04950748c SHA512 649d8776561fe0fc3452302cafe01cca66680db19ab5283d34656023ab78f9803d3cd33156aeb00c8d5d205f78afbc75d0d676a44ace52a86e51200afd14fb3a
+DIST sphinx-7.4.6.gh.tar.gz 8187130 BLAKE2B 69cf73dc3644ac0fbb4e2d26ee07652b4a16bb2d87fba1a6f5a3dba74533af470d2449658eb7029479618d47ea34d6dc896126cfe330d31b343c0a3300ba90b3 SHA512 7015aa5b926856e1e3ed35b559a78dbeb8a1746028f4a488a3237c65ea5eb786a9feff05649b8126395c6f8277802a093c704ca13e941d3aab561b2fca8b0de8
diff --git a/dev-python/sphinx/sphinx-7.4.6.ebuild b/dev-python/sphinx/sphinx-7.4.6.ebuild
new file mode 100644
index 000000000000..fc49ec061c2a
--- /dev/null
+++ b/dev-python/sphinx/sphinx-7.4.6.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinx/
+ https://pypi.org/project/Sphinx/
+"
+SRC_URI="
+ https://github.com/sphinx-doc/sphinx/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc latex"
+
+RDEPEND="
+ >=dev-python/alabaster-0.7.14[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.13[${PYTHON_USEDEP}]
+ <dev-python/docutils-0.22[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.20[${PYTHON_USEDEP}]
+ >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.30.0[${PYTHON_USEDEP}]
+ >=dev-python/snowballstemmer-2.2[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-applehelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-devhelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-jsmath[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-htmlhelp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-serializinghtml-1.1.9[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2[${PYTHON_USEDEP}]
+ ' 3.10)
+ latex? (
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ app-text/dvipng
+ )
+"
+BDEPEND="
+ doc? (
+ dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+ )
+ test? (
+ app-text/dvipng
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.0[${PYTHON_USEDEP}]
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ virtual/imagemagick-tools[jpeg,png,svg]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/sphinx-3.2.1-doc-link.patch"
+ #"${FILESDIR}/sphinx-4.3.2-doc-link.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # disable internet access
+ sed -i -e 's:^intersphinx_mapping:disabled_&:' \
+ doc/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # we can't use distutils_enable_sphinx because it would
+ # introduce a dep on itself
+ use doc && build_sphinx doc
+}
+
+python_test() {
+ mkdir -p "${BUILD_DIR}/sphinx_tempdir" || die
+ local -x SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
+
+ local EPYTEST_DESELECT=(
+ # less interesting failures
+ tests/test_builders/test_build_latex.py::test_build_latex_doc
+ tests/test_extensions/test_ext_math.py::test_imgmath_png
+ tests/test_extensions/test_ext_math.py::test_imgmath_numfig_html
+ )
+ case ${EPYTHON} in
+ python3.13x)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_special_members
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_type_aliases
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_format_fully_qualified
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_none
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_signature
+ )
+ ;;
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_exception
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_ignore_module_all
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_inherited_members_None
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_subclass_of_builtin_class
+ tests/test_extensions/test_ext_autodoc.py::test_automethod_for_builtin
+ tests/test_extensions/test_ext_autodoc.py::test_cython
+ tests/test_extensions/test_ext_autodoc.py::test_format_signature
+ tests/test_extensions/test_ext_autodoc.py::test_partialfunction
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_builtin_function
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_methoddescriptor
+ tests/test_extensions/test_ext_autodoc_automodule.py::test_automodule_inherited_members
+ tests/test_extensions/test_ext_autodoc_preserve_defaults.py::test_preserve_defaults_special_constructs
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
+ tests/test_util/test_util_inspect.py::test_isattributedescriptor
+ tests/test_util/test_util_inspect.py::test_signature
+ tests/test_util/test_util_typing.py::test_is_invalid_builtin_class
+ )
+ ;;
+ esac
+
+ # note: pytest-xdist causes random test failures
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=5
+}
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 558b4999ffc5..0ce8be2025af 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.5.1.tar.gz 19034839 BLAKE2B 5af6d4d9893f70831729ff1107ac2159e42a099ab6896e7a004a9337d95ab4f63500fceacbbe3e329908787345420e1ed95fddeb672e2c65045526025dfca390 SHA512 e2f3ad495d77810211368bf172af8351d52102462bd7c568915e9eeddced60d46627a6f443b28fb58e1aa48d2d647a6425f5262c4eaec2433ec9e3fc81fbaa2e
DIST sqlglot-25.6.0.tar.gz 19040214 BLAKE2B a471b18f4b815265682b22ab0f1640157e895650251ec3d5598047163f6efd73601a3c33c2ba8fbe53d5452e4c2bec293ec8e5c7fedf7b743f359d104b2e9526 SHA512 f7a565878d867eb7e46a7528d0ad69a26711e0a0eeabd88e11bd389b96d511de9cf56129dce4f336a0d278629be7806282e465b25df20d594f44d92b76b6dc9f
+DIST sqlglot-25.6.1.tar.gz 19055366 BLAKE2B 3fec14d7a2a2da6c9a704ff4b42d7bcb099027da061ae600985842f021e3de96e57ea5a4edbd4bc508597f9ff2f39d74bdc618ddd5e0337188fcdfb910a48b45 SHA512 ac6e56c9b1207f5264a668e163d2c8f08548856c7ef36b6e6ff818b1f40ae6afe45785e2dc2c4bbeda50f7e303f5de39c343cc823fa8ecbe63fc2e61c067228a
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-25.6.1.ebuild b/dev-python/sqlglot/sqlglot-25.6.1.ebuild
new file mode 100644
index 000000000000..c040bab3734b
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-25.6.1.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 3e48f9eb3a0a..977d9284e0bc 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,2 +1,3 @@
DIST stripe-10.1.0.tar.gz 1290758 BLAKE2B 0ec51d9189b1d574eb1eb2eb7c3683b2b6b86c9879445c2de60da1a16684e0fe095abbe841cc59ea8daad6862d864550bfb5a9c9dd6a034df42a01c8ec59be4c SHA512 ecac8856ce6993ba5c339a44791b9197f2e1b8a62292d5e9e555e02004007ad90c400dff8d111df2ae1428436ba413a47b59ef9b5e9da445872495c45aa844c3
DIST stripe-10.3.0.tar.gz 1300786 BLAKE2B 626a3c52cbb93aeae3749f6ffedd421557aa4e8085d2b0591ca2c1c866caa64ef78bdf8f0e5c85ee814ffd588d95ee05267748a97f2a50ff89d28a9e501d4da8 SHA512 7353df871f0b83330208e1a3e0fa339d319c3bb1b2e4e90bf045dd691120b22b908e263f3cdae5127b3a1299b950be3685ec631492888884d42570947de70268
+DIST stripe-10.4.0.tar.gz 1301246 BLAKE2B 5ec34792d1c89e5bac40b808992ef0f0798fad3d5859cc0777bc3e7ead0857c706d8969bb8c8bea3213db9f5561377fad6c2e5487d84a1e21c26e8b8ba97b4f4 SHA512 e3575c13b3722f8ea56b08ed5c013bebc32da4ef095ac6b809c216734e29d4147ab54c8c78793d7864eee7cb27549cb42368fcf5f771665283f31442f77d4628
diff --git a/dev-python/stripe/stripe-10.4.0.ebuild b/dev-python/stripe/stripe-10.4.0.ebuild
new file mode 100644
index 000000000000..cb8f555d6683
--- /dev/null
+++ b/dev-python/stripe/stripe-10.4.0.ebuild
@@ -0,0 +1,88 @@
+# 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.186.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
+ )
+"
+
+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
+ # https://github.com/stripe/stripe-python/pull/1297
+ sed -e 's:from mock:from unittest.mock:' \
+ -i tests/test_http_client.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ 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/urllib3/urllib3-2.2.2.ebuild b/dev-python/urllib3/urllib3-2.2.2.ebuild
index 6646cd4a8d30..9f5b61c07924 100644
--- a/dev-python/urllib3/urllib3-2.2.2.ebuild
+++ b/dev-python/urllib3/urllib3-2.2.2.ebuild
@@ -27,7 +27,7 @@ SRC_URI+="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
IUSE="brotli http2 test zstd"
RESTRICT="!test? ( test )"