summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2023-02-07 09:31:56 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2023-02-07 09:31:56 +0000
commita7be5194c1f29afb75eb2c9b7e89b92250577b03 (patch)
tree5e303b141783e87f3da6a29b1cdb67825ebeb88f
parent2023-02-07 08:47:01 UTC (diff)
parentapp-admin/ansible-core: restore 2.13.7 (diff)
downloadgentoo-a7be5194c1f29afb75eb2c9b7e89b92250577b03.tar.gz
gentoo-a7be5194c1f29afb75eb2c9b7e89b92250577b03.tar.bz2
gentoo-a7be5194c1f29afb75eb2c9b7e89b92250577b03.zip
Merge updates from master
-rw-r--r--app-admin/ansible-core/Manifest1
-rw-r--r--app-admin/ansible-core/ansible-core-2.13.7.ebuild53
-rw-r--r--app-admin/awscli/Manifest1
-rw-r--r--app-admin/awscli/awscli-1.27.65.ebuild80
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.26.65.ebuild68
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.29.65.ebuild74
-rw-r--r--dev-python/cssutils/cssutils-2.6.0.ebuild23
-rw-r--r--dev-python/ensurepip-setuptools/Manifest1
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-67.2.0.ebuild24
-rw-r--r--dev-python/inflect/inflect-6.0.2.ebuild3
-rw-r--r--dev-python/irc/irc-20.1.0.ebuild3
-rw-r--r--dev-python/jaraco-classes/jaraco-classes-3.2.3.ebuild7
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-3.8.0.ebuild7
-rw-r--r--dev-python/jaraco-context/jaraco-context-4.3.0.ebuild7
-rw-r--r--dev-python/jaraco-envs/jaraco-envs-2.4.0.ebuild12
-rw-r--r--dev-python/jaraco-functools/jaraco-functools-3.5.2.ebuild7
-rw-r--r--dev-python/jaraco-itertools/jaraco-itertools-6.2.1.ebuild9
-rw-r--r--dev-python/jaraco-logging/Manifest2
-rw-r--r--dev-python/jaraco-logging/jaraco-logging-3.1.2.ebuild12
-rw-r--r--dev-python/jaraco-path/jaraco-path-3.4.0.ebuild7
-rw-r--r--dev-python/jaraco-stream/jaraco-stream-3.0.3-r1.ebuild7
-rw-r--r--dev-python/jaraco-test/jaraco-test-5.3.0.ebuild7
-rw-r--r--dev-python/jaraco-text/jaraco-text-3.11.1.ebuild7
-rw-r--r--dev-python/keyring/Manifest2
-rw-r--r--dev-python/keyring/keyring-23.13.1-r1.ebuild15
-rw-r--r--dev-python/keyrings-alt/Manifest2
-rw-r--r--dev-python/keyrings-alt/keyrings-alt-4.2.0.ebuild12
-rw-r--r--dev-python/mistune/Manifest1
-rw-r--r--dev-python/mistune/mistune-2.0.5.ebuild21
-rw-r--r--dev-python/mypy/Manifest1
-rw-r--r--dev-python/mypy/mypy-1.0.0.ebuild63
-rw-r--r--dev-python/nspektr/Manifest2
-rw-r--r--dev-python/nspektr/nspektr-0.4.0.ebuild6
-rw-r--r--dev-python/numpy/Manifest1
-rw-r--r--dev-python/numpy/numpy-1.24.2.ebuild164
-rw-r--r--dev-python/path/Manifest2
-rw-r--r--dev-python/path/path-16.6.0-r1.ebuild (renamed from dev-python/path/path-16.6.0.ebuild)8
-rw-r--r--dev-python/pip-run/Manifest2
-rw-r--r--dev-python/pip-run/pip-run-10.0.5-r1.ebuild (renamed from dev-python/pip-run/pip-run-10.0.5.ebuild)8
-rw-r--r--dev-python/platformdirs/Manifest1
-rw-r--r--dev-python/platformdirs/platformdirs-3.0.0.ebuild53
-rw-r--r--dev-python/portend/portend-3.1.0.ebuild3
-rw-r--r--dev-python/pyopenssl/Manifest1
-rw-r--r--dev-python/pyopenssl/pyopenssl-22.1.0.ebuild68
-rw-r--r--dev-python/rst-linker/rst-linker-2.4.0.ebuild7
-rw-r--r--dev-python/setuptools/Manifest1
-rw-r--r--dev-python/setuptools/setuptools-67.2.0.ebuild121
-rw-r--r--dev-python/sqlalchemy/Manifest1
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.2.ebuild110
-rw-r--r--dev-python/stripe/Manifest1
-rw-r--r--dev-python/stripe/stripe-5.1.1.ebuild70
-rw-r--r--dev-python/tempora/tempora-5.2.1.ebuild5
-rw-r--r--dev-python/types-docutils/Manifest1
-rw-r--r--dev-python/types-docutils/types-docutils-0.19.1.3.ebuild16
-rw-r--r--dev-python/virtualenv/Manifest1
-rw-r--r--dev-python/virtualenv/virtualenv-20.18.0.ebuild112
-rw-r--r--dev-python/zipp/zipp-3.12.1.ebuild3
-rw-r--r--eclass/pypi.eclass4
60 files changed, 1116 insertions, 197 deletions
diff --git a/app-admin/ansible-core/Manifest b/app-admin/ansible-core/Manifest
index 4f346b611c0f..b2b071657346 100644
--- a/app-admin/ansible-core/Manifest
+++ b/app-admin/ansible-core/Manifest
@@ -1,2 +1,3 @@
DIST ansible-core-2.12.10.tar.gz 7762154 BLAKE2B deffcc42c124a40ce34ce9a26a0c400b1199018cb05478ea8860500e1a507f9f604c1f40f0d006682fc14ad8f0cc3d035b8ffb1307ee37d26191be3c68e33253 SHA512 8b4eb0e923f976680e81ffbe942c4ddc7ddaaaffe83d14c20f78f7c6ab4f548f21920cdfa57b48de2bc24683028e744a92ac4ca45fecc459ea2b042de8c40737
+DIST ansible-core-2.13.7.tar.gz 13940230 BLAKE2B fd3556514f7692b48a66987ff5a084b132217c910ba0b216f2533cd1e542a9b6da6d2aa96e8e32142ab3a6ed7357fc1b68b9827ceaf44b91238bfbcb15b5d026 SHA512 f46d8acb07fa1d397e6e640c52237ed70b575ae0760eeb82b9e41afc6c06d99d341856d6af3452edb82e63a708600c2f348782b8bebc18c0ea9b03a4df80594a
DIST ansible-core-2.14.2.tar.gz 11514103 BLAKE2B f908ca83497f4a444ab738cd0f7f75a00e1ee6f2e7dc9c32a67c7e5fcfba166fe7b2938168c8a0fdbafdfcdf5bc08e582cc1c98ab0c032e3768a8fb4e21a99af SHA512 210dcd32b3a7faa50028200cc7f2ef4b8a8c5ee90fdfdf31cb61d2bc6d03c86aeb644a751e0c14aea3c1a95ea9e18703de1de304beeedcda4a98780f3e79cfec
diff --git a/app-admin/ansible-core/ansible-core-2.13.7.ebuild b/app-admin/ansible-core/ansible-core-2.13.7.ebuild
new file mode 100644
index 000000000000..ee8d323e90b5
--- /dev/null
+++ b/app-admin/ansible-core/ansible-core-2.13.7.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+DESCRIPTION="Model-driven deployment, config management, and command execution framework"
+HOMEPAGE="https://www.ansible.com/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ansible/ansible.git"
+ EGIT_BRANCH="devel"
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~x64-macos"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/paramiko[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/netaddr[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-0.5.3[${PYTHON_USEDEP}]
+ <dev-python/resolvelib-0.9.0[${PYTHON_USEDEP}]
+ net-misc/sshpass
+ virtual/ssh
+"
+BDEPEND="
+ >=dev-python/packaging-16.6[${PYTHON_USEDEP}]
+ test? (
+ dev-python/botocore[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ export ANSIBLE_SKIP_CONFLICT_CHECK=1
+ distutils-r1_python_compile
+}
diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest
index 34d238036612..286ecfb95746 100644
--- a/app-admin/awscli/Manifest
+++ b/app-admin/awscli/Manifest
@@ -2,3 +2,4 @@ DIST aws-cli-1.27.54.gh.tar.gz 2349811 BLAKE2B 08cb317ea4621273644c39c1152e1a3f8
DIST aws-cli-1.27.59.gh.tar.gz 2360458 BLAKE2B e60117e41cf95d442db333cf49c146e4ed02247007b8f46228799c5dee8c486aec34b236c9a0a6d152d690ff86c34fd797a6f35227a6e443805cdfe1b1b30f00 SHA512 87b9aebe812415223285c09ab5a36de2b9c0da49775d1162a5b5d7489ad61c16ca5361b721bc9e4ec4ccc09306be24513f42d7263b315d6856be20fdf0779686
DIST aws-cli-1.27.63.gh.tar.gz 2363224 BLAKE2B 4fe7971271d4359f9d29cdf4c028bd8d06a1a8188e6aef108c33d6b137bb2aee84f3655f3666381fdbf8166dd5ea071c564faac32fb0c06a461249385dbc503d SHA512 01c578f13c0f316c41bdf3bbc5e8532f01d0bfa108207899b8c56b990acdbf5b80d0ffbf1be944088f34e623494b1a1f6d52823d654c192b07133291e4bd7deb
DIST aws-cli-1.27.64.gh.tar.gz 2363382 BLAKE2B fd0879e793aa5ee449ee535425976d11edb6f844f0385a630df82b62aa6db593c76ccab2b59b960b951859b88e2fd1d2db98f5f9f423b1de4dfed65c22eb131b SHA512 8966543936133e98a7ed27897b3978dbc71fde0728dff18e778cb17cf18b834c6abdc4cae13375f72280b1c3f4b43b33c3a08d4f3b99a2cefb74f27d1dd480a3
+DIST aws-cli-1.27.65.gh.tar.gz 2363808 BLAKE2B ded261ab17b81ff11332df6bf0442c4969848413dcb13c555c806f69c70ce806d62f2be17f445d67b0d6777f12cbf27ef1713478c1dc0ae6038bd368462369c5 SHA512 ff70b0cc0e3c4a4549329eb3e5e87fe9d09e01187ecb717c21a934f7e4a91e76f03334c6035b75e95d6ca4e348525681951b8ceaf3c11a379dfd35699ab2b493
diff --git a/app-admin/awscli/awscli-1.27.65.ebuild b/app-admin/awscli/awscli-1.27.65.ebuild
new file mode 100644
index 000000000000..62c19f3a63fb
--- /dev/null
+++ b/app-admin/awscli/awscli-1.27.65.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit bash-completion-r1 distutils-r1 multiprocessing
+
+MY_P=aws-cli-${PV}
+DESCRIPTION="Universal Command Line Environment for AWS"
+HOMEPAGE="
+ https://github.com/aws/aws-cli/
+ https://pypi.org/project/awscli/
+"
+SRC_URI="
+ https://github.com/aws/aws-cli/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+# botocore is x.(y+2).z
+BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ !app-admin/awscli-bin
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # 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
+ # strip overzealous upper bounds on requirements
+ sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
+ tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
+ tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
+ tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
+ )
+
+ # integration tests require AWS credentials and Internet access
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
+}
+
+python_install_all() {
+ newbashcomp bin/aws_bash_completer aws
+
+ insinto /usr/share/zsh/site-functions
+ newins bin/aws_zsh_completer.sh _aws
+
+ distutils-r1_python_install_all
+
+ rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 5d45bcd6eb8c..467f430cd1d7 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -2,3 +2,4 @@ DIST boto3-1.26.54.gh.tar.gz 592401 BLAKE2B 7fd5bb10cda2b27fc43a7efa65c4651d95c8
DIST boto3-1.26.59.gh.tar.gz 594565 BLAKE2B 90c5fe950da7fabc46a4c34e0a77997cfc643273f6b3c1afed6caad3415486b25a6610c8fb9d3f3450b4f3b73e45cfec5d6b1f02666dbd2608944e2db81a955b SHA512 e4dff5978e41a9f4c29ef131d7b8c1f0ec625d9fc77a8cff9ce3c6d5a00d68e75b62da34b418252ddfeedf6302332edd8a30d88401ea393d0de3add64ab5cc40
DIST boto3-1.26.63.gh.tar.gz 597618 BLAKE2B f48de0f51694efa0a4fa6afa25ad7475fb7e304cf9291d6dcd275d4dd64ee3f29665afd1fb64f5883513c4224e03240a8e225e41765409822d33e95078e1a9ac SHA512 5f781ce615202fa84e321982699877376b2cb3692cf52f2b157eea6800d160ccf6da38b3c545d62cbce029b59f492d5ef67a31d06dc33b6f6bffd1e1b40c5d85
DIST boto3-1.26.64.gh.tar.gz 597913 BLAKE2B f3dc63388cf4055c58610eaf980c10ff4d297c6f00f89fe0b46e6b764fba502b7fd85b71421a9d21f1930b668f95aaf2fa174389e5067901d749babf582a8033 SHA512 17ed0e655706f29ed34e1d60a9913d74ab0098ba8085ea76bafb5fcd1bfde91c2efd95d2f3f3e6bcd1b6ef7bed85f9001ba484c01a0251219ea879543a8f2b47
+DIST boto3-1.26.65.gh.tar.gz 598836 BLAKE2B f6e5c14f120bdaa2e797cbd2f62eb0420a28ee5d677705fff8724d22b730ed28090a106ae69cc5b948e8cb5d50dc2d237c2f769d50f1d33634919fd1f116e897 SHA512 575718f82fc0bcf59b724233aca55ca265add7c45b84f8dd63c475a2c6c6ad821dedf4846aa61bc7a8d875fa5bcf438b50d09112bfddaf72373dfdde4f1f7882
diff --git a/dev-python/boto3/boto3-1.26.65.ebuild b/dev-python/boto3/boto3-1.26.65.ebuild
new file mode 100644
index 000000000000..9523f65d5fb9
--- /dev/null
+++ b/dev-python/boto3/boto3-1.26.65.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 multiprocessing
+
+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"
+
+ # botocore is x.(y+3).z
+ BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
+fi
+
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ 'dev-python/guzzle_sphinx_theme'
+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() {
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 9d4d228e7aa5..9a85127c945c 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -2,3 +2,4 @@ DIST botocore-1.29.54.gh.tar.gz 11127081 BLAKE2B 7c2d11d968ca6a4d3b23b12c44cb8f0
DIST botocore-1.29.59.gh.tar.gz 11131182 BLAKE2B fa85e1f8dc3c366f7a7fb3e9b06dd298b1ad62be882891df3414289aa9e88bff72753690a1438e6040aefb7cafa1718a70c940e8cd2b4e743df44013b5748ef6 SHA512 9a4811b44c67652cacc899d1d84d4db1305cb60e73dd47d7f543b85ec37f921cab00a51d67b48ab6a215be8f7543e30c54585e0fb337085e1b75774b053c4bf3
DIST botocore-1.29.63.gh.tar.gz 11139461 BLAKE2B b05f6d52f55df9e456e80e9b701e2498c5fcdd2c65720719095e2c44b87acf854712a6cbc19e20a53b58b8075c8f20952605f60ed58cb1f99a6a771c61dac4d1 SHA512 7005db01c04d0eb2d94760ff1b7b89d28d956b310736dc5601b9e0bfd4b7ffeac6042a596f4f731b600e669a3fc74a7eededbe2bc0ef70d7d3a68f1d14149f9c
DIST botocore-1.29.64.gh.tar.gz 11141125 BLAKE2B 955c7ac0630bd8df8004a0a3d0ec64a7491aee7d68e63a65c62c9fe7a4362aed7bd74ca967cd8550ead458e42a858a428f0db8922a337c83cd680fcd1d1b62c3 SHA512 bb8e177f335e600389123f26788711f4a94c4943a4d80c6195db03bb3cf9489b2a8b0e42d429635c6c8c501df6c27b4177e9ef71e748b0c63874e6682bf2e8e9
+DIST botocore-1.29.65.gh.tar.gz 11138878 BLAKE2B 6757ec86d6c3428a345217cf4903c8a74de4389f52528779ba3cf575098730c61bd228e7d9476665f4fd141bc5a3fc42c30edfcfcf4f2dc85c9ee5421c3bfc7a SHA512 e4472d44014502f468ec5009bd11015f44913fb7d1a42a51190ec70e74972613513c98cc0f7bc6b3646b7156831e1421c4a225d6fb350edd83006891313795c2
diff --git a/dev-python/botocore/botocore-1.29.65.ebuild b/dev-python/botocore/botocore-1.29.65.ebuild
new file mode 100644
index 000000000000..0f4daaa48e81
--- /dev/null
+++ b/dev-python/botocore/botocore-1.29.65.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 multiprocessing
+
+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}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ 'dev-python/guzzle_sphinx_theme'
+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
+ # fails on unrelated warnings
+ tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME
+ tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME
+ # TODO
+ tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider
+ )
+
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/cssutils/cssutils-2.6.0.ebuild b/dev-python/cssutils/cssutils-2.6.0.ebuild
index ba17b9caaba8..aa70a9c26987 100644
--- a/dev-python/cssutils/cssutils-2.6.0.ebuild
+++ b/dev-python/cssutils/cssutils-2.6.0.ebuild
@@ -6,14 +6,13 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A CSS Cascading Style Sheets library"
HOMEPAGE="
https://pypi.org/project/cssutils/
https://github.com/jaraco/cssutils/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
@@ -34,9 +33,17 @@ BDEPEND="
distutils_enable_tests pytest
-EPYTEST_DESELECT=(
- # network
- encutils/__init__.py::encutils
- cssutils/tests/test_parse.py::TestCSSParser::test_parseUrl
- examples/website.py::website.logging
-)
+python_test() {
+ local EPYTEST_DESELECT=(
+ # network
+ encutils/__init__.py::encutils
+ cssutils/tests/test_parse.py::TestCSSParser::test_parseUrl
+ examples/website.py::website.logging
+ )
+ local EPYTEST_IGNORE=(
+ # path mismatch with "parse" package
+ examples/parse.py
+ )
+
+ epytest
+}
diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index 719d03b41df0..6299f46656da 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -2,3 +2,4 @@ DIST setuptools-65.6.3-py3-none-any.whl 1233963 BLAKE2B 2bad02cc00293c9b6615cdce
DIST setuptools-66.0.0-py3-none-any.whl 1259316 BLAKE2B ef08be5897d35d63d5b4bea2fb7401c59b1be8ff09a2cc410a97074402228e41bf573820712d76f955fb4a117036bbfd6adc7ff78e33406f5f1a5ebb745eb0a3 SHA512 76efcc28173443d5a000cd0d1ff33e24a423786c32be824cc11cbf137ef755f41416317e326edb56f90aca157ebf49a42e20f8f2445feb7a043c36d4aa537bb4
DIST setuptools-66.1.1-py3-none-any.whl 1260206 BLAKE2B e5edfb4f26347601b73d01630029cb763a0ea34e76451393fdefd84d970588713ece61b9fdcbfc56709c3d0c48880406fe77e0bdddaa8122352b5f94e850212f SHA512 a2c2852680e3d39660d71dd607449d79ba7ee73bb3d60ccd5f36c84094fc2f8fc946265ec78769537320a06d249ef4089a403a4a7929e3c062b4522f271ccf8f
DIST setuptools-67.1.0-py3-none-any.whl 1082555 BLAKE2B 8c862d1568a71ccb5e3f10e3d7eb74e40d08843053ccd1f89bb439019890f907ce85c0b3e81f39ae1c4881f066ae9d022fd65fa4e72c7741bbe89dba00b98d3b SHA512 19f56a54c7c5114efed6a97de07de18655234ae788e527ccc4d1a88e645ff30d84943d87e27752c194fb454c95a03d0fe1a9bc8c5ff27afb1b1e70e58dff98b5
+DIST setuptools-67.2.0-py3-none-any.whl 1082973 BLAKE2B 7769ebdbde59e47cfc9f364ab28fada207e0b0826e0a40ccdec4ab4c8536148f8a8e071d688f74464a74dca6fb62ca840f3f54a48ccae5c016dd476634b99d2d SHA512 3987cc21a40b55f3aaae1ec643843dc473f8a3b442461892cbc77cc78f056c7e3736aad8624b68d8061358fbbeb555faf62c498df259de63fe3feecdd0d786e4
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-67.2.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-67.2.0.ebuild
new file mode 100644
index 000000000000..c13c3370cbbe
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-67.2.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2023 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"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/inflect/inflect-6.0.2.ebuild b/dev-python/inflect/inflect-6.0.2.ebuild
index fc71ca7dfd88..1074ffd7ff50 100644
--- a/dev-python/inflect/inflect-6.0.2.ebuild
+++ b/dev-python/inflect/inflect-6.0.2.ebuild
@@ -6,14 +6,13 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Correctly inflect words and numbers"
HOMEPAGE="
https://pypi.org/project/inflect/
https://github.com/jaraco/inflect/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/irc/irc-20.1.0.ebuild b/dev-python/irc/irc-20.1.0.ebuild
index bd05274ef856..52b8f9477824 100644
--- a/dev-python/irc/irc-20.1.0.ebuild
+++ b/dev-python/irc/irc-20.1.0.ebuild
@@ -6,14 +6,13 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="IRC client framework written in Python"
HOMEPAGE="
https://github.com/jaraco/irc/
https://pypi.org/project/irc/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/jaraco-classes/jaraco-classes-3.2.3.ebuild b/dev-python/jaraco-classes/jaraco-classes-3.2.3.ebuild
index 2e24fdbc7d0a..f990153fe649 100644
--- a/dev-python/jaraco-classes/jaraco-classes-3.2.3.ebuild
+++ b/dev-python/jaraco-classes/jaraco-classes-3.2.3.ebuild
@@ -6,16 +6,15 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P="${P/-/.}"
DESCRIPTION="Classes used by other projects by developer jaraco"
HOMEPAGE="
https://github.com/jaraco/jaraco.classes/
https://pypi.org/project/jaraco.classes/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
+SRC_URI="$(pypi_sdist_url "${PN/-/.}")"
+S=${WORKDIR}/${P/-/.}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/jaraco-collections/jaraco-collections-3.8.0.ebuild b/dev-python/jaraco-collections/jaraco-collections-3.8.0.ebuild
index 3663727cd6fe..ae1ba08c5c13 100644
--- a/dev-python/jaraco-collections/jaraco-collections-3.8.0.ebuild
+++ b/dev-python/jaraco-collections/jaraco-collections-3.8.0.ebuild
@@ -6,16 +6,15 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P/-/.}
DESCRIPTION="Models and classes to supplement the stdlib collections module"
HOMEPAGE="
https://github.com/jaraco/jaraco.collections/
https://pypi.org/project/jaraco.collections/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
+SRC_URI="$(pypi_sdist_url "${PN/-/.}")"
+S=${WORKDIR}/${P/-/.}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/jaraco-context/jaraco-context-4.3.0.ebuild b/dev-python/jaraco-context/jaraco-context-4.3.0.ebuild
index 100882e1beea..39e927ce5755 100644
--- a/dev-python/jaraco-context/jaraco-context-4.3.0.ebuild
+++ b/dev-python/jaraco-context/jaraco-context-4.3.0.ebuild
@@ -7,16 +7,15 @@ EAPI=7
DISTUTILS_USE_PEP517=flit
PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P/-/.}
DESCRIPTION="Context managers by jaraco"
HOMEPAGE="
https://github.com/jaraco/jaraco.context/
https://pypi.org/project/jaraco.context/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
+SRC_URI="$(pypi_sdist_url "${PN/-/.}")"
+S=${WORKDIR}/${P/-/.}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/jaraco-envs/jaraco-envs-2.4.0.ebuild b/dev-python/jaraco-envs/jaraco-envs-2.4.0.ebuild
index bfcdd4499f69..093e0fdbeeed 100644
--- a/dev-python/jaraco-envs/jaraco-envs-2.4.0.ebuild
+++ b/dev-python/jaraco-envs/jaraco-envs-2.4.0.ebuild
@@ -6,17 +6,18 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P/-/.}
DESCRIPTION="Classes for orchestrating Python (virtual) environments"
HOMEPAGE="https://github.com/jaraco/jaraco.envs"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
+SRC_URI="$(pypi_sdist_url "${PN/-/.}")"
+S=${WORKDIR}/${P/-/.}
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+# there are no actual tests, just flake8 etc
+RESTRICT="test"
RDEPEND="
dev-python/path[${PYTHON_USEDEP}]
@@ -25,9 +26,6 @@ BDEPEND="
dev-python/setuptools_scm[${PYTHON_USEDEP}]
"
-# there are no actual tests, just flake8 etc
-RESTRICT="test"
-
src_prepare() {
# optional runtime dep, not used by anything in ::gentoo
sed -i -e '/tox/d' setup.cfg || die
diff --git a/dev-python/jaraco-functools/jaraco-functools-3.5.2.ebuild b/dev-python/jaraco-functools/jaraco-functools-3.5.2.ebuild
index 3e23a97da1dd..44c32b79ebb2 100644
--- a/dev-python/jaraco-functools/jaraco-functools-3.5.2.ebuild
+++ b/dev-python/jaraco-functools/jaraco-functools-3.5.2.ebuild
@@ -7,16 +7,15 @@ EAPI=7
DISTUTILS_USE_PEP517=flit
PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P/-/.}
DESCRIPTION="Additional functions used by other projects by developer jaraco"
HOMEPAGE="
https://github.com/jaraco/jaraco.functools/
https://pypi.org/project/jaraco.functools/
"
-SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
+SRC_URI="$(pypi_sdist_url "${PN/-/.}")"
+S=${WORKDIR}/${P/-/.}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/jaraco-itertools/jaraco-itertools-6.2.1.ebuild b/dev-python/jaraco-itertools/jaraco-itertools-6.2.1.ebuild
index 9351e8966bb8..cee7045361a9 100644
--- a/dev-python/jaraco-itertools/jaraco-itertools-6.2.1.ebuild
+++ b/dev-python/jaraco-itertools/jaraco-itertools-6.2.1.ebuild
@@ -6,13 +6,12 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P/-/.}
DESCRIPTION="Tools for working with iterables. Complements itertools and more_itertools"
HOMEPAGE="https://github.com/jaraco/jaraco.itertools"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
+SRC_URI="$(pypi_sdist_url "${PN/-/.}")"
+S=${WORKDIR}/${P/-/.}
LICENSE="MIT"
SLOT="0"
@@ -28,8 +27,6 @@ BDEPEND="
distutils_enable_tests pytest
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
python_test() {
# create a pkgutil-style __init__.py in order to fix pytest's
# determination of package paths
diff --git a/dev-python/jaraco-logging/Manifest b/dev-python/jaraco-logging/Manifest
index 481c6361f06b..7859a90be423 100644
--- a/dev-python/jaraco-logging/Manifest
+++ b/dev-python/jaraco-logging/Manifest
@@ -1 +1 @@
-DIST jaraco.logging-3.1.2.gh.tar.gz 7193 BLAKE2B fab2b65f2cc40d96df1a145bd047aecfca9af8c54c438ec40f965c8698d5db328591c7857390638b6bb48d2faae5cd1ad4541f6eb7c3b85a7ca06d257ad15c98 SHA512 deebf628dd62b6948cdf12931018407de1fb653279e57efce0df1acdf11e4ebab33840ef1e1e452b711ddc70b62fe925ebaf49e065d3450a96f8f6c8bbb0120c
+DIST jaraco.logging-3.1.2.tar.gz 8107 BLAKE2B add8236bdf345d55186d8ab7432c2b392df6921229c23c253a3b224d0362073c417cd4c0540e28117a1331adea15d4e8a17ad72c2cf7084375a19c64c529ccc0 SHA512 d6d26364e44be089616913938d200f26c9da269853d673f1518c3e29905961dda264b95e60a7051e4e0d6b873eb9b65faefa9962a48e2cad43435ca32ef0e1f3
diff --git a/dev-python/jaraco-logging/jaraco-logging-3.1.2.ebuild b/dev-python/jaraco-logging/jaraco-logging-3.1.2.ebuild
index 9a59eed8640b..fc057468aa67 100644
--- a/dev-python/jaraco-logging/jaraco-logging-3.1.2.ebuild
+++ b/dev-python/jaraco-logging/jaraco-logging-3.1.2.ebuild
@@ -6,19 +6,15 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P="${P/-/.}"
DESCRIPTION="Additional facilities to supplement Python's stdlib logging module"
HOMEPAGE="
https://github.com/jaraco/jaraco.logging/
https://pypi.org/project/jaraco.logging/
"
-SRC_URI="
- https://github.com/jaraco/jaraco.logging/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
+SRC_URI="$(pypi_sdist_url "${PN/-/.}")"
+S=${WORKDIR}/${P/-/.}
LICENSE="MIT"
SLOT="0"
@@ -33,8 +29,6 @@ BDEPEND="
distutils_enable_tests pytest
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
python_test() {
# create a pkgutil-style __init__.py in order to fix pytest's
# determination of package paths
diff --git a/dev-python/jaraco-path/jaraco-path-3.4.0.ebuild b/dev-python/jaraco-path/jaraco-path-3.4.0.ebuild
index 52c7e2a1c426..d86aa623b69c 100644
--- a/dev-python/jaraco-path/jaraco-path-3.4.0.ebuild
+++ b/dev-python/jaraco-path/jaraco-path-3.4.0.ebuild
@@ -6,16 +6,15 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P="${P/-/.}"
DESCRIPTION="Miscellaneous path functions"
HOMEPAGE="
https://github.com/jaraco/jaraco.path/
https://pypi.org/project/jaraco.path/
"
-SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
+SRC_URI="$(pypi_sdist_url "${PN/-/.}")"
+S=${WORKDIR}/${P/-/.}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/jaraco-stream/jaraco-stream-3.0.3-r1.ebuild b/dev-python/jaraco-stream/jaraco-stream-3.0.3-r1.ebuild
index 2ec31f67576c..a8bdd74094c2 100644
--- a/dev-python/jaraco-stream/jaraco-stream-3.0.3-r1.ebuild
+++ b/dev-python/jaraco-stream/jaraco-stream-3.0.3-r1.ebuild
@@ -6,16 +6,15 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P/-/.}
DESCRIPTION="Routines for handling streaming data"
HOMEPAGE="
https://github.com/jaraco/jaraco.stream/
https://pypi.org/project/jaraco.stream/
"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
+SRC_URI="$(pypi_sdist_url "${PN/-/.}")"
+S=${WORKDIR}/${P/-/.}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/jaraco-test/jaraco-test-5.3.0.ebuild b/dev-python/jaraco-test/jaraco-test-5.3.0.ebuild
index b0ae205c84c5..0b7c88b9d685 100644
--- a/dev-python/jaraco-test/jaraco-test-5.3.0.ebuild
+++ b/dev-python/jaraco-test/jaraco-test-5.3.0.ebuild
@@ -6,16 +6,15 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P/-/.}
DESCRIPTION="Testing support by jaraco"
HOMEPAGE="
https://github.com/jaraco/jaraco.test/
https://pypi.org/project/jaraco.test/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
+SRC_URI="$(pypi_sdist_url "${PN/-/.}")"
+S=${WORKDIR}/${P/-/.}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/jaraco-text/jaraco-text-3.11.1.ebuild b/dev-python/jaraco-text/jaraco-text-3.11.1.ebuild
index befb604a10f1..c250f0d88525 100644
--- a/dev-python/jaraco-text/jaraco-text-3.11.1.ebuild
+++ b/dev-python/jaraco-text/jaraco-text-3.11.1.ebuild
@@ -7,16 +7,15 @@ EAPI=7
DISTUTILS_USE_PEP517=flit
PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P/-/.}
DESCRIPTION="Text utilities used by other projects by developer jaraco"
HOMEPAGE="
https://github.com/jaraco/jaraco.text/
https://pypi.org/project/jaraco.text/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
+SRC_URI="$(pypi_sdist_url "${PN/-/.}")"
+S=${WORKDIR}/${P/-/.}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/keyring/Manifest b/dev-python/keyring/Manifest
index a6c040323cd6..6bad012465c2 100644
--- a/dev-python/keyring/Manifest
+++ b/dev-python/keyring/Manifest
@@ -1 +1 @@
-DIST keyring-23.13.1.gh.tar.gz 49199 BLAKE2B 46ac7cb3237c7e0a061e9c4c30dba02d9a9c92d377f3db1b79b1c9bc4c5b8b866ffbda8354bbe5848a9db4c6834aec1c0b36f75d5c540ccc29ab71bd6adf30f4 SHA512 b0fc17157536178bba3a8f27f152a1cba497bc9ba2fc73d29ac9d8e61a2be51bdb0dea100eef9ab59979a9b0f8c8d15ca222e5fdc2c7d06d202955b18f21bf24
+DIST keyring-23.13.1.tar.gz 59582 BLAKE2B fb39490ba857f97b9b89856059664dfe21495ffe651bb48ad4e2284efe3f3c7551d34bfb4c39518c2b9b5e31e61b91693301271750f4ec837567d7652b11e9ef SHA512 7e56380e7311a31d8703b9e3beb74a8c8ce026f6cf9e1792780d349f3db61f50a1905c7d509a7013dd7cb47428dd3c28c3620815f01d3c4dbd7f648e056539d0
diff --git a/dev-python/keyring/keyring-23.13.1-r1.ebuild b/dev-python/keyring/keyring-23.13.1-r1.ebuild
index fcef2b34ff55..31b420a665bd 100644
--- a/dev-python/keyring/keyring-23.13.1-r1.ebuild
+++ b/dev-python/keyring/keyring-23.13.1-r1.ebuild
@@ -6,17 +6,13 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Provides access to the system keyring service"
HOMEPAGE="
https://github.com/jaraco/keyring/
https://pypi.org/project/keyring/
"
-SRC_URI="
- https://github.com/jaraco/keyring/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
SLOT="0"
LICENSE="PSF-2"
@@ -39,8 +35,6 @@ BDEPEND="
distutils_enable_tests pytest
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
EPYTEST_DESELECT=(
# this test fails if importlib-metadata returns more than one
# entry, i.e. when keyring is installed already
@@ -53,10 +47,3 @@ EPYTEST_IGNORE=(
# hangs
tests/backends/test_kwallet.py
)
-
-python_compile() {
- distutils-r1_python_compile
- # https://github.com/jaraco/keyring/issues/621
- python_moduleinto keyring
- python_domodule keyring/{py.typed,*.zsh}
-}
diff --git a/dev-python/keyrings-alt/Manifest b/dev-python/keyrings-alt/Manifest
index 15929005b4e3..11ceb2bc92c7 100644
--- a/dev-python/keyrings-alt/Manifest
+++ b/dev-python/keyrings-alt/Manifest
@@ -1 +1 @@
-DIST keyrings.alt-4.2.0.gh.tar.gz 27017 BLAKE2B 736c3de24f54340c7f0c1e8e2b5eb453211fa2a786ec8ac98f9ae959d6f8f661b6d572f06cd362550d0a72bc7e3fbd44746d192e670ab61f7964d4f614aab870 SHA512 395b5a53cb05f3bc96aaf0a2dd826b185902d1ef03f9603f4731bf334938cfd36c7430e41ed7f6c574d54c56ed6a77e1160c741b02877cd3c1169ae1ca86f437
+DIST keyrings.alt-4.2.0.tar.gz 29855 BLAKE2B b256ec47ff93b7ec05193d26c530d5f8e925a7c4dbf2be1de26c47f4967cdcd46236eaffe9bceabc1cf04e4d7a23984fede9e8390ac6f8a6960705725bbb5126 SHA512 fe851f77ee0c794254e5197357c29c7f4dc05aac2df4c65825e54ccfea0f8d8a5d93d62a977b8cd0c462a875ac7c8591fa4bcb5d55e391cab77b3a31c006c0b1
diff --git a/dev-python/keyrings-alt/keyrings-alt-4.2.0.ebuild b/dev-python/keyrings-alt/keyrings-alt-4.2.0.ebuild
index 124dd8c94fba..4d0f67f3d179 100644
--- a/dev-python/keyrings-alt/keyrings-alt-4.2.0.ebuild
+++ b/dev-python/keyrings-alt/keyrings-alt-4.2.0.ebuild
@@ -6,19 +6,15 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P="${P/-/.}"
DESCRIPTION="Alternate keyring implementations"
HOMEPAGE="
https://github.com/jaraco/keyrings.alt/
https://pypi.org/project/keyrings.alt/
"
-SRC_URI="
- https://github.com/jaraco/keyrings.alt/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
+SRC_URI="$(pypi_sdist_url "${PN/-/.}")"
+S=${WORKDIR}/${P/-/.}
LICENSE="MIT"
SLOT="0"
@@ -38,8 +34,6 @@ BDEPEND="
distutils_enable_tests pytest
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
src_prepare() {
# oldschool namespaces
rm keyrings/__init__.py || die
diff --git a/dev-python/mistune/Manifest b/dev-python/mistune/Manifest
index 909f60677b3a..2e6b684c9396 100644
--- a/dev-python/mistune/Manifest
+++ b/dev-python/mistune/Manifest
@@ -1 +1,2 @@
DIST mistune-2.0.4.tar.gz 75977 BLAKE2B f5c29a211695897240664ff9ce7891ce81fec11f6a2e3865cf07e796ddf8e5664a4055f887318e53b315ac3bbdc90a3d0976ed1fe5b74b2f7812dffa29a57bda SHA512 4d000c5791c29069b5f252f2aa5d361eb9cdf717d33f8d66dee8b4aa3bfe1242a572af63ca3dfd57324fac457fb9b5a9dff18e7da15f9036becd14cb27882dba
+DIST mistune-2.0.5.tar.gz 75854 BLAKE2B 3a69d585a5c311a81fd5259574233f514c745fa675b675810c48392cf8f52608d097ae2712a5272f94146b0fcef6f4f77b86fc78115ddeff1d1e7e08a589a7f2 SHA512 109447977a441ebbedfca2abbe62415139d94c48ae56c3d8cae04df3f93ccd1e8333b3dbb8bf61a2096b903df6c3aab2fadd0893fb82815416f17555465e98c7
diff --git a/dev-python/mistune/mistune-2.0.5.ebuild b/dev-python/mistune/mistune-2.0.5.ebuild
new file mode 100644
index 000000000000..deb7384cc355
--- /dev/null
+++ b/dev-python/mistune/mistune-2.0.5.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="The fastest markdown parser in pure Python"
+HOMEPAGE="
+ https://github.com/lepture/mistune/
+ https://pypi.org/project/mistune/
+"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest
index 5184d494fba2..6785b24ea28a 100644
--- a/dev-python/mypy/Manifest
+++ b/dev-python/mypy/Manifest
@@ -1 +1,2 @@
DIST mypy-0.991.gh.tar.gz 2694440 BLAKE2B 857c991a17f5a0195d5c7db60e73427695b64d3c3181b26919ed40a2b825ef5e8f30890a4ca7a55b739087af47f025b1d324563f5ef5e2f58c363562ecc49365 SHA512 02663494700d4ab6d08ab2199a7a81ad144ed090774326ea8d418dec37faec6d3b078f1c3120b8b014a676d69d5dc4e9b528b759c2de086a18569016b28b00d5
+DIST mypy-1.0.0.gh.tar.gz 2763277 BLAKE2B 063bb131f348eba554737f457bb19bae44eb07f395682452d6a8de60244dc5fc305e3bd8dfdc34f479003f0aa195694db8a879a3eab2bba7b324ff0c189e324a SHA512 c80ad21dffe937ed247fb259a4eb11530921c87313233e99754b25cedbf9314139b397edb22067a6031f689ac3e409ee97f9d011aa82724d77f4dfaffaa39169
diff --git a/dev-python/mypy/mypy-1.0.0.ebuild b/dev-python/mypy/mypy-1.0.0.ebuild
new file mode 100644
index 000000000000..af0edc51916c
--- /dev/null
+++ b/dev-python/mypy/mypy-1.0.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="Optional static typing for Python"
+HOMEPAGE="
+ https://www.mypy-lang.org/
+ https://github.com/python/mypy/
+ https://pypi.org/project/mypy/
+"
+SRC_URI="
+ https://github.com/python/mypy/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# stubgen collides with this package: https://bugs.gentoo.org/585594
+RDEPEND="
+ !dev-util/stubgen
+ >=dev-python/psutil-4[${PYTHON_USEDEP}]
+ >=dev-python/typed-ast-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/typed-ast-2[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-3.10[${PYTHON_USEDEP}]
+ >=dev-python/mypy_extensions-0.4.3[${PYTHON_USEDEP}]
+ <dev-python/mypy_extensions-0.5.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.8 3.9 3.10)
+"
+BDEPEND="
+ test? (
+ >=dev-python/attrs-18.0[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-1.18[${PYTHON_USEDEP}]
+ >=dev-python/py-1.5.2[${PYTHON_USEDEP}]
+ >=dev-python/typed-ast-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-16.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ dev-python/furo
+distutils_enable_tests pytest
+
+# this requires packaging a lot of type stubs
+export MYPY_USE_MYPYC=0
+
+python_test() {
+ # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests
+ # fail with high COLUMNS values
+ local -x COLUMNS=80
+ epytest -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/nspektr/Manifest b/dev-python/nspektr/Manifest
index e4f0722f3031..c369f932baaa 100644
--- a/dev-python/nspektr/Manifest
+++ b/dev-python/nspektr/Manifest
@@ -1 +1 @@
-DIST nspektr-0.4.0.gh.tar.gz 6763 BLAKE2B 6393a2d16825cbd580758ba09a7f2277417fc0eb4e7c6f23d49ff1af89a7c6947d4c0bae7158424b96f8f0e3e3aab6ac3f5bb624a8d7edf61eb571b28e690d70 SHA512 c106091e949ce8236c1cf54543bebd2b63484dff95e161fb57668bd6bcb4b17ddf0ecc440c15a0df36cc8c4398ccc439b642eab49b528ba2cbedc75ff009179d
+DIST nspektr-0.4.0.tar.gz 7734 BLAKE2B 66a52f5080c78accc75e2193dab6d07a6257330f9938ac463c160d7e1f9740294416657193e5831f564354eb0dc3112a9ab41676e1c928ac40769d2a4d218089 SHA512 c8e8dcadd3ccd49bc9b1a38d2ff9f1d8d6f85665d3830cc9d7975ec1c63b1e2f1a7a64e12457701ca658e2e0e30cac7652be6d706a4e47ba6a61ae76d9be8875
diff --git a/dev-python/nspektr/nspektr-0.4.0.ebuild b/dev-python/nspektr/nspektr-0.4.0.ebuild
index f9135cbd42cd..09339ae80cd6 100644
--- a/dev-python/nspektr/nspektr-0.4.0.ebuild
+++ b/dev-python/nspektr/nspektr-0.4.0.ebuild
@@ -7,17 +7,13 @@ EAPI=7
DISTUTILS_USE_PEP517=flit
PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Distribution package dependency inspector"
HOMEPAGE="
https://github.com/jaraco/nspektr/
https://pypi.org/project/nspektr/
"
-SRC_URI="
- https://github.com/jaraco/nspektr/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest
index 2fee720619c8..dd09c26f3071 100644
--- a/dev-python/numpy/Manifest
+++ b/dev-python/numpy/Manifest
@@ -1 +1,2 @@
DIST numpy-1.24.0.tar.gz 10897101 BLAKE2B 59e2b913f90de76589d8fbb2f07e2d389012c7f6ce9bd641bc4837776465ce9c41c34f19f92bee55d4bae6245c1d2c84315b359ef0b089fd68d31cd7e7ec44b1 SHA512 3b4e6255b8d39e8504a50ecd3c2ba09d5b16d3f6c70b23b67e4dbf03d1fe390c55030f46090341d39a1ee8228c61ad6212fdc6e4579fcec9e26b4dbe70268661
+DIST numpy-1.24.2.tar.gz 10906862 BLAKE2B e48f65eab709f0c57ec378d813a7b65bcaca6d5960b559d6db1c60726e5cf12517f4b2e1636b0ff815a2109925edccba200270db5170fd0aff5fd635919165ac SHA512 145fd7fb3919a185f75076d51b92c54a7fb1b776b637752ca15fdee15b239d6a517ef1bb8cded7c92e059cf6cda0146c24943c042d19b791e81125bc0ad4b820
diff --git a/dev-python/numpy/numpy-1.24.2.ebuild b/dev-python/numpy/numpy-1.24.2.ebuild
new file mode 100644
index 000000000000..5eb86c776c2a
--- /dev/null
+++ b/dev-python/numpy/numpy-1.24.2.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="threads(+)"
+
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 flag-o-matic fortran-2 pypi toolchain-funcs
+
+DOC_PV=${PV}
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="
+ https://numpy.org/
+ https://github.com/numpy/numpy/
+ https://pypi.org/project/numpy/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="lapack"
+
+RDEPEND="
+ lapack? (
+ >=virtual/cblas-3.8
+ >=virtual/lapack-3.8
+ )
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-python/cython-0.29.30[${PYTHON_USEDEP}]
+ lapack? (
+ virtual/pkgconfig
+ )
+ test? (
+ >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
+ dev-python/charset_normalizer[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/numpy-1.22.0-no-hardcode-blasv2.patch
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Allow use with setuptools 60.x
+ # See numpy-1.22.1-revert-setuptools-upper-bound.patch for details
+ export SETUPTOOLS_USE_DISTUTILS=stdlib
+
+ if use lapack; then
+ local incdir="${EPREFIX}"/usr/include
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ cat >> site.cfg <<-EOF || die
+ [blas]
+ include_dirs = ${incdir}
+ library_dirs = ${libdir}
+ blas_libs = cblas,blas
+ [lapack]
+ library_dirs = ${libdir}
+ lapack_libs = lapack
+ EOF
+ else
+ export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None
+ fi
+
+ export CC="$(tc-getCC) ${CFLAGS}"
+
+ append-flags -fno-strict-aliasing
+
+ # See progress in http://projects.scipy.org/scipy/numpy/ticket/573
+ # with the subtle difference that we don't want to break Darwin where
+ # -shared is not a valid linker argument
+ if [[ ${CHOST} != *-darwin* ]]; then
+ append-ldflags -shared
+ fi
+
+ # only one fortran to link with:
+ # linking with cblas and lapack library will force
+ # autodetecting and linking to all available fortran compilers
+ append-fflags -fPIC
+ if use lapack; then
+ NUMPY_FCONFIG="config_fc --noopt --noarch"
+ # workaround bug 335908
+ [[ $(tc-getFC) == *gfortran* ]] && NUMPY_FCONFIG+=" --fcompiler=gnu95"
+ fi
+
+ # don't version f2py, we will handle it.
+ sed -i -e '/f2py_exe/s: + os\.path.*$::' numpy/f2py/setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ export MAKEOPTS=-j1 #660754
+
+ distutils-r1_python_compile ${NUMPY_FCONFIG}
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # very disk- and memory-hungry
+ numpy/lib/tests/test_histograms.py::TestHistogram::test_big_arrays
+ numpy/lib/tests/test_io.py::test_large_zip
+
+ # precision problems
+ numpy/core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
+
+ # runs the whole test suite recursively, that's just crazy
+ numpy/core/tests/test_mem_policy.py::test_new_policy
+
+ # very slow, unlikely to be practically useful
+ numpy/typing/tests/test_typing.py
+ )
+
+ if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then
+ # Degenerate case. arm32 chroot on arm64.
+ # bug #774108
+ EPYTEST_DESELECT+=(
+ numpy/core/tests/test_cpu_features.py::Test_ARM_Features::test_features
+ )
+ fi
+
+ if use x86 ; then
+ EPYTEST_DESELECT+=(
+ # https://github.com/numpy/numpy/issues/18388
+ numpy/core/tests/test_umath.py::TestRemainder::test_float_remainder_overflow
+ # https://github.com/numpy/numpy/issues/18387
+ numpy/random/tests/test_generator_mt19937.py::TestRandomDist::test_pareto
+ # more precision problems
+ numpy/core/tests/test_einsum.py::TestEinsum::test_einsum_sums_int16
+ )
+ fi
+ if use arm || use x86 ; then
+ EPYTEST_DESELECT+=(
+ # too large for 32-bit platforms
+ numpy/core/tests/test_ufunc.py::TestUfunc::test_identityless_reduction_huge_array
+ )
+ fi
+
+ distutils_install_for_testing --single-version-externally-managed \
+ --record "${TMPDIR}/record.txt" ${NUMPY_FCONFIG}
+
+ cd "${TEST_DIR}/lib" || die
+ epytest -k "not _fuzz"
+}
+
+python_install() {
+ # https://github.com/numpy/numpy/issues/16005
+ local mydistutilsargs=( build_src )
+ distutils-r1_python_install ${NUMPY_FCONFIG}
+ python_optimize
+}
+
+python_install_all() {
+ local DOCS=( LICENSE.txt README.md THANKS.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/path/Manifest b/dev-python/path/Manifest
index 54f88c0201b0..ac041f593be3 100644
--- a/dev-python/path/Manifest
+++ b/dev-python/path/Manifest
@@ -1 +1 @@
-DIST path-16.6.0.gh.tar.gz 45238 BLAKE2B f1fa3a23ba19f623ca276496c1fa7351ea02858710f2dddbf5f4d96cf2c9f8fc3325c74a56f1b4dec809e28e927f2c8adab913eed9d8893016e0fd3d0b3a662d SHA512 4d7772b7eb7017bee78f95f30f6286b14750d6d8edbf5f58617ede12bd664f1b893921b89bb64f797e1d2eb7e67e361d8f1e01618fee26d64a5b879a3854aead
+DIST path-16.6.0.tar.gz 49670 BLAKE2B 16da36676acb4e4c45c364a09c1d031f4cfc6bdabc08426bc5a8945c4b3594a7dd849f880f76dbfaba4dd2282eee00edbc0f9c7c4ed4774750e023c6a03b3939 SHA512 f1ec159c6b755f98eef90e1aac4337fb84fd9f739beddf34205c5faf9e959863baa52d237899bd33fe8f365a2666af6999c2e9388be310a6acae16b4952df022
diff --git a/dev-python/path/path-16.6.0.ebuild b/dev-python/path/path-16.6.0-r1.ebuild
index 92ebbe5403b9..fee2ea063dd8 100644
--- a/dev-python/path/path-16.6.0.ebuild
+++ b/dev-python/path/path-16.6.0-r1.ebuild
@@ -6,17 +6,13 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A module wrapper for os.path"
HOMEPAGE="
https://github.com/jaraco/path/
https://pypi.org/project/path/
"
-SRC_URI="
- https://github.com/jaraco/path/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
SLOT="0"
LICENSE="MIT"
@@ -38,5 +34,3 @@ EPYTEST_DESELECT=(
# unreliable, not really meaningful for end users
test_path.py::TestPerformance
)
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pip-run/Manifest b/dev-python/pip-run/Manifest
index 4779ff17ee75..a3e1ff912d4e 100644
--- a/dev-python/pip-run/Manifest
+++ b/dev-python/pip-run/Manifest
@@ -1 +1 @@
-DIST pip-run-10.0.5.gh.tar.gz 25463 BLAKE2B a25d6f06aa53dabbb15fec0f5a051bd7d612fb96bb1557ac25cd5611db7963110cb5aa8be376fe199e7e9438b3b28930fd45626af1246deb48c41de9b61b8264 SHA512 6595c9b3b635a5bb5ae6e61478986531698947fb4289734b8c689f902afe7726efda283df43530253fc0f9b9416db13c4645a7ac0ed4d2ac8d87a71e9a9923ab
+DIST pip-run-10.0.5.tar.gz 32411 BLAKE2B ce633d003fa869f199dfdded46efb6bfa9fc4e24327cb99b0176d8e6e6bcff552c6f84589b77907a063fba3315b3f9c64d6c182d70dc39d59a1342ee9fe62193 SHA512 55309445793c101d54fd61303e770ae271cfe2be20e7bc084ca0f4e6363a8de28ffdd7cd1b8c595c88d5c0a99863182053d00d3a4175fa5465ef958401601d66
diff --git a/dev-python/pip-run/pip-run-10.0.5.ebuild b/dev-python/pip-run/pip-run-10.0.5-r1.ebuild
index ce468c5d594c..e829ccf41883 100644
--- a/dev-python/pip-run/pip-run-10.0.5.ebuild
+++ b/dev-python/pip-run/pip-run-10.0.5-r1.ebuild
@@ -6,17 +6,13 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Install packages and run Python with them"
HOMEPAGE="
https://github.com/jaraco/pip-run/
https://pypi.org/project/pip-run/
"
-SRC_URI="
- https://github.com/jaraco/pip-run/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
LICENSE="MIT"
SLOT="0"
@@ -49,8 +45,6 @@ BDEPEND="
distutils_enable_tests pytest
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
python_test() {
local EPYTEST_IGNORE=()
diff --git a/dev-python/platformdirs/Manifest b/dev-python/platformdirs/Manifest
index 4ccd86ab2cd7..ad4c503a3fd1 100644
--- a/dev-python/platformdirs/Manifest
+++ b/dev-python/platformdirs/Manifest
@@ -1 +1,2 @@
DIST platformdirs-2.6.2.gh.tar.gz 21184 BLAKE2B 4acc85301f764d4457ace88f9fb409e4d2f8bb17b9133dc3316c4d265a7cf50019298f1ba4cef87f5999b48fd7060687f7008079de26ffe74740a4cefff9309e SHA512 704cc39ba1746055e0459139759e118bd6178fb13cc8ecf580f58d16073fbb8ade0bce8b5eb9230ccc45b19f622a41c84a06f8698ee722da9d5cec44c5f46e25
+DIST platformdirs-3.0.0.gh.tar.gz 21358 BLAKE2B b7dd6d55cc07d9e584d2e3f4a8a1e3bcd5b75eac6786c4225c9b249af9d98cbe0c8b1edc7a6180c147ad13d0a7d5c4fbc9f15cf71af03590c011f7fd4ae336a4 SHA512 36885fdb4767e2525eef48e8ede6cec8013d2e8767c7940381d642faa14382583885c2428ce7b27fc36d33048494354cb4d16b42eac2748ca4458b8c124ed01f
diff --git a/dev-python/platformdirs/platformdirs-3.0.0.ebuild b/dev-python/platformdirs/platformdirs-3.0.0.ebuild
new file mode 100644
index 000000000000..5388ac74cddd
--- /dev/null
+++ b/dev-python/platformdirs/platformdirs-3.0.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9..11} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
+HOMEPAGE="
+ https://pypi.org/project/platformdirs/
+ https://github.com/platformdirs/platformdirs/
+"
+SRC_URI="
+ https://github.com/platformdirs/platformdirs/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "hatchling' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "${PN}"
+ version = "${PV}"
+ description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".'
+ EOF
+ # sigh
+ cat > src/platformdirs/version.py <<-EOF || die
+ __version__ = version = '${PV}'
+ __version_tuple__ = version_tuple = (${PV//./, })
+ EOF
+}
diff --git a/dev-python/portend/portend-3.1.0.ebuild b/dev-python/portend/portend-3.1.0.ebuild
index 3f2ab6986e85..fada1d980ba5 100644
--- a/dev-python/portend/portend-3.1.0.ebuild
+++ b/dev-python/portend/portend-3.1.0.ebuild
@@ -6,14 +6,13 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="TCP port monitoring utilities"
HOMEPAGE="
https://github.com/jaraco/portend/
https://pypi.org/project/portend/
"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/pyopenssl/Manifest b/dev-python/pyopenssl/Manifest
index 5862489c68f4..fdfdbedfa7ec 100644
--- a/dev-python/pyopenssl/Manifest
+++ b/dev-python/pyopenssl/Manifest
@@ -1,2 +1 @@
-DIST pyOpenSSL-22.1.0.tar.gz 181704 BLAKE2B b10a8db111726c5f6626cae670a04af73cc1856a3084d3ca683fcba942724e99e5bd4ab6eb7dc4eb02ea4c6f14aa21f7744020aae1532145e1db24dbe58976cd SHA512 7cccb48cbb1655414d21c5e66e7defee7ec370cb6b46294ae0307208f9a9bc13708345b2c088a43292262f5d5bb3d45241c18ae66d2ad6824046ffe30f0c707e
DIST pyOpenSSL-23.0.0.tar.gz 182375 BLAKE2B 8a902ecd7e771dcd281dda184569fef53c7f7d1a801f5cea663ff95014717786ceaaa999b6f67fe710ade253335c856c3964a96705afd6ddb93679856d57d7cd SHA512 68c42de58305461606d9fb932a7711775cfcf1a7c5dbe900b2c7ba18eab546d4c37fcd3dd82ab2c18b15eb07bef126534473b5b29f8af4f46e0147d45ac9e64b
diff --git a/dev-python/pyopenssl/pyopenssl-22.1.0.ebuild b/dev-python/pyopenssl/pyopenssl-22.1.0.ebuild
deleted file mode 100644
index 32a1ac8dffa5..000000000000
--- a/dev-python/pyopenssl/pyopenssl-22.1.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 toolchain-funcs
-
-MY_PN=pyOpenSSL
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Python interface to the OpenSSL library"
-HOMEPAGE="
- https://www.pyopenssl.org/
- https://github.com/pyca/pyopenssl/
- https://pypi.org/project/pyOpenSSL/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/cryptography-39[${PYTHON_USEDEP}]
- >=dev-python/cryptography-38.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/cffi[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc \
- dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-src_test() {
- local -x TZ=UTC
- local EPYTEST_DESELECT=(
- tests/test_ssl.py::TestContext::test_set_default_verify_paths
- )
-
- # test for 32-bit time_t
- "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null <<-EOF &>/dev/null
- #include <sys/types.h>
- int test[sizeof(time_t) >= 8 ? 1 : -1];
- EOF
-
- if [[ ${?} -eq 0 ]]; then
- einfo "time_t is at least 64-bit long"
- else
- einfo "time_t is smaller than 64 bits, will skip broken tests"
- EPYTEST_DESELECT+=(
- tests/test_crypto.py::TestX509StoreContext::test_verify_with_time
- )
- fi
-
- distutils-r1_src_test
-}
diff --git a/dev-python/rst-linker/rst-linker-2.4.0.ebuild b/dev-python/rst-linker/rst-linker-2.4.0.ebuild
index af00fd4c42e9..94419f478d68 100644
--- a/dev-python/rst-linker/rst-linker-2.4.0.ebuild
+++ b/dev-python/rst-linker/rst-linker-2.4.0.ebuild
@@ -6,16 +6,15 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_PN="${PN/-/.}"
DESCRIPTION="Sphinx plugin to add links and timestamps to the changelog"
HOMEPAGE="
https://github.com/jaraco/rst.linker/
https://pypi.org/project/rst.linker/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
+SRC_URI="$(pypi_sdist_url "${PN/-/.}")"
+S=${WORKDIR}/${P/-/.}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index 64af317376fd..44c3e804388f 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1,3 +1,4 @@
DIST setuptools-65.7.0.tar.gz 2618315 BLAKE2B a0989c3fd0ab476d69885d022eccf1a89dc670a17d0b3e73bbe4ffb530e26a838fcd1cfffc4c2720ddd19cb8ba45d42bc31441f1e3bbc32fa71850d208f37cc8 SHA512 0eb2d9de9ef2565cf012db7d68ee18359a1432dd42ecd3fb7d490f73d57b0e7ba2a67e0401f66051127e913f29c2e221e88c0cbf523b0ac9abe7f00b6ab1ded8
DIST setuptools-67.0.0.tar.gz 2474556 BLAKE2B 470ddb7ba0cba6a8ea677a101a4639701bee7ace860df2616e097e9bb479275877e8904ec4f62c33fcd6c05b3aaac48bb7bf2360cc839eccde4231c9befc6fed SHA512 d006f417920f2bceae0f1d4ecfabbcec5d20866b0de92c002a8fdc0366b9206e3d59fd2b30886b4f71e437dc86b411a9653f7c809dcc2cfb12869571840ff9bf
DIST setuptools-67.1.0.tar.gz 2475095 BLAKE2B 4b803efc140f2f80c512a7cc5758822b64130a9acd4c7c6e2d56cc2793b973e9fbe083041f8c18103edb67097fdfcf579a856b279f29103073416907be901c76 SHA512 bc867c5f49b4fe72b37f1a8e8281603403ce36679be7aae2ac3e0429cda9852735d38ee5624e440d58991a1df773bdfaaaaf2f603f9aecf52d1f573a3975d279
+DIST setuptools-67.2.0.tar.gz 2475665 BLAKE2B 1d82e21d5c5f7aea479d468ae5c29c62a86a552e811203794f2246bc715647c18c66ab6d37c9da3092fc2b402cc865c1ab85989092c9beccc440913ad7d51ccd SHA512 2d15719d7a0305535ee853e82b5196af2eaa29cbcf73c59515c2fa8e8c910c25fcf3854aac515789a51a845555b19c95e8d06fef4199cf19ba4a45dda5b7ab66
diff --git a/dev-python/setuptools/setuptools-67.2.0.ebuild b/dev-python/setuptools/setuptools-67.2.0.ebuild
new file mode 100644
index 000000000000..b6d46c764db4
--- /dev/null
+++ b/dev-python/setuptools/setuptools-67.2.0.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
+EAPI=7
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 multiprocessing 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/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/nspektr-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib_metadata-4.11.1[${PYTHON_USEDEP}]
+ ' 3.9)
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/build[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.9[${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/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-fixture-config[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-virtualenv[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+PDEPEND="
+ >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+"
+
+DOCS=( {CHANGES,README}.rst )
+
+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
+
+ # remove bundled dependencies, setuptools will switch to system deps
+ # automatically
+ rm -r */_vendor || die
+
+ # remove the ugly */extern hack that breaks on unvendored deps
+ rm -r */extern || die
+ find -name '*.py' -exec sed \
+ -e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
+ -i {} + || die
+}
+
+python_test() {
+ local -x SETUPTOOLS_USE_DISTUTILS=stdlib
+
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
+ setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
+ setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
+ 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
+ setuptools/tests/test_editable_install.py::test_editable_with_pyproject
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ )
+
+ epytest -n "$(makeopts_jobs)" setuptools
+}
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index ddce5b17e60a..94b73cab582d 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -3,3 +3,4 @@ DIST SQLAlchemy-1.4.45.tar.gz 8535958 BLAKE2B 09e777584067532ed77d8dca9d86996b22
DIST SQLAlchemy-1.4.46.tar.gz 8544238 BLAKE2B 8ef4aae61bee3c9c54b953a9ba34074d8cac0d54d8ae3389f40fa99f57755b2ee0a8a7826e0835fada2d82b96559d974172c9d9781ec746c79006f59d7a5bba0 SHA512 1977c6125e9f45a45b7941c1e0164866bd5ea72839e619d4e259db9a5370fe2b4f191257f3c9ddb28b5c22617a71d359620601c54d9273c38b3281a6c2f5ff03
DIST SQLAlchemy-2.0.0.tar.gz 9188064 BLAKE2B 2c81b9663c14851f10d6987645b9c7185067ad680107d2c59ccb3a67ffec0507d30e646d8fb283919ed120203b64591b089f6b840ab97d8e7c59bddd4793319e SHA512 54bde6047a94fc6b050ca6e4b6136ab2a62de0f55665c07a7bec953c75462e32908e88de5c2dc42ee45cd0b8b9f155dd33d148408ab5e3cc579b0e13cdf00801
DIST SQLAlchemy-2.0.1.tar.gz 9204926 BLAKE2B ee2735e11caf8b776563d91c43577e94bcba77f33f21f24f451ee3d217e446385a21be6fda7c5cf90e51ddf7b6445374bcea824f06bd59104af6cc6e7cfb5503 SHA512 8164cb9a59a03afe0c60aca2166d5d40a65c5580e8a2618245884a19c36414f8530ddfd963abb6617d03077f49ce37afd6e68db0e5e018402027f93e98de332c
+DIST SQLAlchemy-2.0.2.tar.gz 9230542 BLAKE2B 67b7d350027662fb2046f4c0644b500e714d9976507d2648627b3e365bfe1dd282327cef780abbb8387f8e5506a58be7767734e3e756856ca3f80ab5e9d05430 SHA512 5e9c3d53f82858597a4eb792b5d0b289b9f56167edf8e79a42108a7e71e70667a1691f635a68abd1d69c94953ae8261012b47ad92001eb28c35eadcb8a0722da
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.2.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.2.ebuild
new file mode 100644
index 000000000000..788816669d74
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.2.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 optfeature pypi
+
+MY_PN="SQLAlchemy"
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+SRC_URI="$(pypi_sdist_url "${MY_PN}")"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="MIT"
+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="examples +sqlite test"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+)
+
+src_prepare() {
+ sed -i -e '/greenlet/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ test/ext/mypy/test_mypy_plugin_py3k.py
+ )
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+ # TODO
+ test/orm/test_versioning.py::ServerVersioningTest_sqlite+pysqlite_3_40_1::test_sql_expr_w_mods_bump
+ )
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
+ test/engine/test_processors.py::PyDateProcessorTest::test_date_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_datetime_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
+ test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_3_40_1::test_cant_parse_datetime_message
+ test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_3_40_1::test_delete_single
+ test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_3_40_1::test_insert_single
+ test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_3_40_1::test_update_single
+ test/base/test_utils.py::ImmutableDictTest::test_pep584
+ )
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=
+ # upstream automagically depends on xdist when it is importable
+ if has_version "dev-python/pytest-xdist[${PYTHON_USEDEP}]"; then
+ PYTEST_PLUGINS+=xdist.plugin
+ fi
+ epytest
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql \
+ dev-python/mysql-connector-python
+ optfeature "postgresql support" dev-python/psycopg:2
+}
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index d4779584062e..54449a18910f 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,2 +1,3 @@
DIST stripe-5.0.0.tar.gz 267241 BLAKE2B 6b4a58a355baf2d16d6de8667d1dff655c3334b58933c6172b25963f90bf072ebb5fae197faafd69285ceaaf06ba952c7012c35222df873d0453ec9fcee45cd5 SHA512 3d782abd3d6983734b6248fcb44cb69609475e14b820062882439c11ba8ba64e19f3db7984902157adaf0a80f9c26d18e7fbe414eb27bfeda95a7fae78a07577
DIST stripe-5.1.0.tar.gz 267508 BLAKE2B 973f286c1a6a6703e903d65267465def0a99c15e65b034a690f12d51e6572412f1007eb8fa7ba9df41f4450e09c8b0584a1ce472d0815757ef1e402021daec67 SHA512 1afe76180922bfdd90c19d9a6326a98a9cc8e138fc9bb26c42f245373f8b4b93bc0144d3c41e0fd5f278fe425f6bb219cda7d4f993db845756de22c0047cb228
+DIST stripe-5.1.1.tar.gz 267508 BLAKE2B da7918aeaa50dcb0e02274a93d39db16cc02b185597b00b442437050df3842c4d9dcbf3477015b7166837845fe6d2f9f9b79fc05ace118c985254545d424b1d9 SHA512 119af52d0a3548dc73a14b3de84cf9b8c465cccc296386b045b7aa23e0db6a071f2d03e6d445c0581863055497378b2a1169bd70119eb4d5ecc62382968da2ef
diff --git a/dev-python/stripe/stripe-5.1.1.ebuild b/dev-python/stripe/stripe-5.1.1.ebuild
new file mode 100644
index 000000000000..324896ea5925
--- /dev/null
+++ b/dev-python/stripe/stripe-5.1.1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} 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 ~x86"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.151.0
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+python_test() {
+ epytest tests
+}
+
+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/tempora/tempora-5.2.1.ebuild b/dev-python/tempora/tempora-5.2.1.ebuild
index 555f2ff33323..71fc4eeac1e4 100644
--- a/dev-python/tempora/tempora-5.2.1.ebuild
+++ b/dev-python/tempora/tempora-5.2.1.ebuild
@@ -6,13 +6,10 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_PN="${PN/-/.}"
DESCRIPTION="Objects and routines pertaining to date and time"
HOMEPAGE="https://github.com/jaraco/tempora"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index 7e7e1e717c2c..6c1e84ee753b 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -1 +1,2 @@
DIST types-docutils-0.19.1.2.tar.gz 8973 BLAKE2B 7303c3ce16c9521215f29d2129394a92d436b2c75441189a6c3bbb0279c504ccb34995e9e40c777af7d6a09524043d05640d0419bfdbdc93b83b7daa91c6a9f3 SHA512 b9c4fff2f56bc77209f771996c24eef0c4d902dccb932e50b0f7207cccee8aef8335dfdf2cea7ff63f8c80de00be9293fd8367b78562dd7190f25228811177aa
+DIST types-docutils-0.19.1.3.tar.gz 9008 BLAKE2B 92d5ff462be1e9a1ef370ffc9823c790247de78fa83b44ae1d99245f465241416dea508fc4262168b03f823d2e0094650d3df14a3ab1b4a6f43a6fa0c5559a70 SHA512 e5afb78b50e874969aa96376e81493d1b1b17ea9dc85254d9c143b1d72a147adc0b84fc898006a37b7cbefa8d73d65441d8ef67650c4a582de5185f9a7d129ea
diff --git a/dev-python/types-docutils/types-docutils-0.19.1.3.ebuild b/dev-python/types-docutils/types-docutils-0.19.1.3.ebuild
new file mode 100644
index 000000000000..54e0fde06d1b
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.19.1.3.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for docutils"
+HOMEPAGE="https://pypi.org/project/types-docutils/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest
index 7b3eeb79483c..81b2223b6ca3 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -1 +1,2 @@
DIST virtualenv-20.17.1.tar.gz 12269737 BLAKE2B 5caa223d549ecb69de3a17dec84a608f34f01c5abd39ab478c27438f71e36e6878a719f9002464dbf0f335bc90a2f4552e201d59e0e757fabef6f3caaaf857fb SHA512 6b32145f431f6b1f4c2a2ed888e8b9e5cb941e04ea1e68830053dceac80ee8bbf2286c1f353951d50d4b8417b8d81ee4b30dae597c94f2a3baf50f174f7ef4d4
+DIST virtualenv-20.18.0.tar.gz 12063086 BLAKE2B 272957077dd0a5868e8979c7c34bda1ae28af857d1d5bbafeef6955bcf44a7c5d38f4f131b57a2593180ffdc5a034b18998ba3e4307b7191ebafccc80ef46278 SHA512 b02533878b8d8859f10b51dbdb9fecddf9b49aa2cf1437ddc10cadba82e5361fdeb8b8c94efcc3c8268ddecef31651c28c213e87588aa917479e8d0e2e823493
diff --git a/dev-python/virtualenv/virtualenv-20.18.0.ebuild b/dev-python/virtualenv/virtualenv-20.18.0.ebuild
new file mode 100644
index 000000000000..20fea97bc9ac
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.18.0.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9..11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Virtual Python Environment builder"
+HOMEPAGE="
+ https://virtualenv.pypa.io/en/stable/
+ https://pypi.org/project/virtualenv/
+ https://github.com/pypa/virtualenv/
+"
+
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+SLOT="0"
+
+RDEPEND="
+ <dev-python/distlib-1[${PYTHON_USEDEP}]
+ >=dev-python/distlib-0.3.6[${PYTHON_USEDEP}]
+ <dev-python/filelock-4[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.1[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.4[${PYTHON_USEDEP}]
+"
+# coverage is used somehow magically in virtualenv, maybe it actually
+# tests something useful
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-freezegun-0.4.2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ )
+"
+
+# (unpackaged deps)
+#distutils_enable_sphinx docs \
+# dev-python/sphinx-argparse \
+# dev-python/sphinx_rtd_theme \
+# dev-python/towncrier
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/platformdirs/s:<3,::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/unit/activation/test_xonsh.py
+ tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data
+ tests/unit/create/test_creator.py::test_cross_major
+ # tests failing without python2 installed
+ "tests/unit/create/test_creator.py::test_py_pyc_missing[True-False]"
+ "tests/unit/create/test_creator.py::test_py_pyc_missing[False-False]"
+ )
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ 'tests/unit/create/test_creator.py::test_create_no_seed[root-pypy3-posix-copies-isolated]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[root-pypy3-posix-copies-global]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[venv-pypy3-posix-copies-isolated]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[venv-pypy3-posix-copies-global]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[root-venv-copies-isolated]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[root-venv-copies-global]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[venv-venv-copies-isolated]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[venv-venv-copies-global]'
+ 'tests/unit/create/test_creator.py::test_zip_importer_can_import_setuptools'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.9-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.9--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.10-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.10--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.9-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.9--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.10-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.10--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3--bin-]'
+ )
+ [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
+ # TODO
+ tests/unit/discovery/py_info/test_py_info.py::test_py_info_setuptools
+ tests/unit/discovery/py_info/test_py_info.py::test_custom_venv_install_scheme_is_prefered
+ tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
+ )
+
+ epytest
+}
+
+pkg_postinst() {
+ elog "Please note that while virtualenv package no longer supports"
+ elog "Python 2.7, you can still create py2.7 virtualenvs via:"
+ elog " $ virtualenv -p 2.7 ..."
+}
diff --git a/dev-python/zipp/zipp-3.12.1.ebuild b/dev-python/zipp/zipp-3.12.1.ebuild
index ea6301a426b0..c7f42a4772f9 100644
--- a/dev-python/zipp/zipp-3.12.1.ebuild
+++ b/dev-python/zipp/zipp-3.12.1.ebuild
@@ -7,14 +7,13 @@ EAPI=7
DISTUTILS_USE_PEP517=flit
PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Backport of pathlib-compatible object wrapper for zip files"
HOMEPAGE="
https://github.com/jaraco/zipp/
https://pypi.org/project/zipp/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
index e11999fc7e9c..80860e422ad4 100644
--- a/eclass/pypi.eclass
+++ b/eclass/pypi.eclass
@@ -6,7 +6,7 @@
# Michał Górny <mgorny@gentoo.org>
# @AUTHOR:
# Michał Górny <mgorny@gentoo.org>
-# @SUPPORTED_EAPIS: 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: A helper eclass to generate PyPI source URIs
# @DESCRIPTION:
# The pypi.eclass can be used to easily obtain URLs for artifacts
@@ -27,7 +27,7 @@
# @CODE@
case ${EAPI} in
- 8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac