summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-06-23 18:14:17 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-06-23 18:14:17 +0000
commit8e146d363570cb4e9e36fd0d39db04eefbb531b3 (patch)
tree57b2f66c5c413b86e93885468e942dcf0ca62d9a /dev-python
parent87f36aaf3366c9564cd36289415d414144a76a74 (diff)
downloadbaldeagleos-repo-8e146d363570cb4e9e36fd0d39db04eefbb531b3.tar.gz
baldeagleos-repo-8e146d363570cb4e9e36fd0d39db04eefbb531b3.tar.xz
baldeagleos-repo-8e146d363570cb4e9e36fd0d39db04eefbb531b3.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/PyGithub/Manifest1
-rw-r--r--dev-python/PyGithub/PyGithub-1.59.0.ebuild38
-rw-r--r--dev-python/aws-sam-translator/Manifest1
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.70.0.ebuild60
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.26.159.ebuild66
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.29.159.ebuild79
-rw-r--r--dev-python/cattrs/cattrs-23.1.2.ebuild14
-rw-r--r--dev-python/cbor2/cbor2-5.4.6.ebuild12
-rw-r--r--dev-python/cons/Manifest1
-rw-r--r--dev-python/cons/cons-0.4.6.ebuild30
-rw-r--r--dev-python/crashtest/crashtest-0.4.1.ebuild2
-rw-r--r--dev-python/flufl-lock/Manifest1
-rw-r--r--dev-python/flufl-lock/flufl-lock-8.0.1.ebuild36
-rw-r--r--dev-python/hcloud-python/Manifest1
-rw-r--r--dev-python/hcloud-python/hcloud-python-1.22.0.ebuild48
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.79.2.ebuild97
-rw-r--r--dev-python/ijson/Manifest1
-rw-r--r--dev-python/ijson/ijson-3.2.2.ebuild48
-rw-r--r--dev-python/keyring/Manifest1
-rw-r--r--dev-python/keyring/keyring-24.1.0.ebuild46
-rw-r--r--dev-python/markdown2/Manifest1
-rw-r--r--dev-python/markdown2/markdown2-2.4.9.ebuild31
-rw-r--r--dev-python/mysqlclient/Manifest1
-rw-r--r--dev-python/mysqlclient/mysqlclient-2.2.0.ebuild91
-rw-r--r--dev-python/openstacksdk/Manifest1
-rw-r--r--dev-python/openstacksdk/openstacksdk-1.3.0.ebuild84
-rw-r--r--dev-python/oslo-utils/files/oslo-utils-6.1.0-py3.12-fix.patch26
-rw-r--r--dev-python/oslo-utils/oslo-utils-6.1.0-r1.ebuild60
-rw-r--r--dev-python/oslotest/files/oslotest-4.5.0-py3.12-fix.patch23
-rw-r--r--dev-python/oslotest/oslotest-4.5.0-r3.ebuild40
-rw-r--r--dev-python/pdm-backend/Manifest1
-rw-r--r--dev-python/pdm-backend/pdm-backend-2.0.7.ebuild65
-rw-r--r--dev-python/pep517/Manifest1
-rw-r--r--dev-python/pep517/pep517-0.13.0.ebuild45
-rw-r--r--dev-python/platformdirs/Manifest1
-rw-r--r--dev-python/platformdirs/platformdirs-3.8.0.ebuild49
-rw-r--r--dev-python/proto-plus/Manifest1
-rw-r--r--dev-python/proto-plus/proto-plus-1.22.3.ebuild41
-rw-r--r--dev-python/pyglet/Manifest1
-rw-r--r--dev-python/pyglet/pyglet-2.0.8.ebuild82
-rw-r--r--dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild1
-rw-r--r--dev-python/pytest-subprocess/Manifest1
-rw-r--r--dev-python/pytest-subprocess/metadata.xml (renamed from dev-python/pep517/metadata.xml)0
-rw-r--r--dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild42
-rw-r--r--dev-python/python3-xapp/Manifest1
-rw-r--r--dev-python/python3-xapp/python3-xapp-2.4.1.ebuild57
-rw-r--r--dev-python/scikit-build-core/Manifest1
-rw-r--r--dev-python/scikit-build-core/metadata.xml (renamed from dev-python/toml/metadata.xml)1
-rw-r--r--dev-python/scikit-build-core/scikit-build-core-0.4.6.ebuild48
-rw-r--r--dev-python/sentry-sdk/Manifest1
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.26.0.ebuild118
-rw-r--r--dev-python/tblib/Manifest1
-rw-r--r--dev-python/tblib/tblib-2.0.0.ebuild35
-rw-r--r--dev-python/toml/Manifest2
-rw-r--r--dev-python/toml/toml-0.10.2-r1.ebuild48
-rw-r--r--dev-python/ubelt/Manifest1
-rw-r--r--dev-python/ubelt/ubelt-1.3.2.ebuild42
60 files changed, 1465 insertions, 166 deletions
diff --git a/dev-python/PyGithub/Manifest b/dev-python/PyGithub/Manifest
index 17bf6064b8f7..b6b6642f41dc 100644
--- a/dev-python/PyGithub/Manifest
+++ b/dev-python/PyGithub/Manifest
@@ -1 +1,2 @@
DIST PyGithub-1.58.2.tar.gz 3171156 BLAKE2B 251964d542eff68b16a4b56740ed3753f80e56f56458cbc1b909b082b6f5deaf805088a24002e1bb95dae46fc7dcd54da6dbfdbd43c79c097a55f118c0bcc755 SHA512 91db0db09c4bfd145013c4b0861d12271a83bce9de7865eaa3e8baeb02bbb262218987556e7df435b50fcd14ea178da7bc23225d4d93ccf1714fa9a894cd46bd
+DIST PyGithub-1.59.0.tar.gz 3295401 BLAKE2B 39261ddcd20112aa529c17f66c8e69d7af7db9708f179395f29ea4b881fdec4598637b63ca1214affc2f6a9c15db227e57ade51029ed578a6b90633d353712cf SHA512 2a95fb9a99c096a1ee0971df133338764275a9ac99e58a4d81ece954831497e0aaf6eec26172513843098777666ab4f3c5df92a42802f0b953fe50f5ec7824a9
diff --git a/dev-python/PyGithub/PyGithub-1.59.0.ebuild b/dev-python/PyGithub/PyGithub-1.59.0.ebuild
new file mode 100644
index 000000000000..e667770f0cd7
--- /dev/null
+++ b/dev-python/PyGithub/PyGithub-1.59.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to access the Github API v3"
+HOMEPAGE="
+ https://github.com/PyGithub/PyGithub/
+ https://pypi.org/project/PyGithub/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# cryptography via pyjwt[crypto]
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pynacl-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.0[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/httpretty-0.9.6[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/aws-sam-translator/Manifest b/dev-python/aws-sam-translator/Manifest
index 79c4956aad2a..9ad27f6cb9a8 100644
--- a/dev-python/aws-sam-translator/Manifest
+++ b/dev-python/aws-sam-translator/Manifest
@@ -1,2 +1,3 @@
DIST serverless-application-model-1.68.0.gh.tar.gz 5807706 BLAKE2B 82d596bf9c93ca9f45cf7d9f6bbfbe46c0e845eb618f7619377f74a6e9e3971c60ba1ac6a73e5247f292553e1efaff723bbb66503bec74731eac97661a325950 SHA512 40a6961556e6e162d45d521f31fd086da77ce2e4e93d081d7be41f47779673513e09f8d48953b53410d59800942c9514eacb765d55534a3df4e2cddc09d658c7
DIST serverless-application-model-1.69.0.gh.tar.gz 5925860 BLAKE2B 0182aad62920c911551dfcd5378f8d61a2c7f50eda6f222591128ebc513a7cb2f738875ceb24edf6136a964f56e5f39929f8734e5cf5e09d36331f0f988ac4f4 SHA512 4fa7941188af8ef0f0aef688617b8c5b02152fc565433af740bd7243b9b9d9b41035d4cf76c31ae5da764b4143d6ae5c1eda1345daf3b7265b48aaf2e1624284
+DIST serverless-application-model-1.70.0.gh.tar.gz 5931243 BLAKE2B cf166c21197a7c66f6da74290f62e2c3ecf513c15ade5feacff1e60236810e13c6feaa315f4d62ba620ca65f5af852d9d592aea20c981b8f49662b12554b41cd SHA512 899c89b7ada9b0f3bb4fef96a9932e4dce45ef9dc30e4ea224791051628410302ab87bfff5ffc11deef518ec100b7ee987de96beca7cc7c3b154e6c8137620ab
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.70.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.70.0.ebuild
new file mode 100644
index 000000000000..8d58efa50f75
--- /dev/null
+++ b/dev-python/aws-sam-translator/aws-sam-translator-1.70.0.ebuild
@@ -0,0 +1,60 @@
+# 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_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+MY_P=serverless-application-model-${PV}
+DESCRIPTION="A library that transform SAM templates into AWS CloudFormation templates"
+HOMEPAGE="
+ https://github.com/aws/serverless-application-model/
+ https://pypi.org/project/aws-sam-translator/
+"
+SRC_URI="
+ https://github.com/aws/serverless-application-model/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/boto3-2[${PYTHON_USEDEP}]
+ >=dev-python/boto3-1.19.5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2[${PYTHON_USEDEP}]
+ <dev-python/pydantic-2[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.8[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # so much noise...
+ sed -i -e '/log_cli/d' pytest.ini || die
+
+ # deps are installed by ebuild, don't try to reinstall them via pip
+ truncate --size=0 requirements/*.txt || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x AWS_DEFAULT_REGION=us-east-1
+ epytest -o addopts=
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 6e80f1a0b23f..b259f11fe82d 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -8,3 +8,4 @@ DIST boto3-1.26.155.gh.tar.gz 664838 BLAKE2B 35c78d4da5bcba6f218a854d67647b71b16
DIST boto3-1.26.156.gh.tar.gz 665272 BLAKE2B 7926b1ec420872d68d47483539ab9174ef9d8697ec0829a3ed3293ed589e459eb1a16591e53283b0d3cf639cbdd0d34fe730f347d1a50a8e72ce7ee545d332db SHA512 49b1653ccb1380529dd9ca90d63975b0a4dc5f671016d905d684074f858e3825dc6420de80bd90512aff91e33792dfbac94cd853acb617859e46e74d5aabee47
DIST boto3-1.26.157.gh.tar.gz 666162 BLAKE2B ad80278fed9022dabb77879cca15cb7abf2bebfcbd7982a743dd0b5a91bfc8f577e46dd9c9dce83177825cc5995e861127b6161413e3dd351f96019e0bdcb6ef SHA512 7a95efa482ba8fca1578414dc24fa999731347a934ccfe67ea9b56f7497c879749a7cdeedd244741900c8d85f61ef79a5ef9359cb54d34c4e32e28792c76ac4b
DIST boto3-1.26.158.gh.tar.gz 667274 BLAKE2B e507fc9d404fabeb179524408c883ae5311c2273d838d7270eb60aa0c13e4f8faa3fe0ae4dc58566ba8f61764d171c3b012906e6d5ff91e1e958d5fb6ea2936e SHA512 ff70265a03fd29de37f7cc328c2ab277483390f27977f36fca5199ac2b10d978f5ef4db1504f12da4f3d1453fb7051375784cbc840ec3be7f161c6a42c44c1a4
+DIST boto3-1.26.159.gh.tar.gz 667712 BLAKE2B 6604ba81b3c52dba19d31a92b8e800958abbc5927f6513eff688c7dacb7db9f16927402336113a33a4a8d6da9440b1f91323b18957be77137eff351aae3ef550 SHA512 a5ba427bb5b5cd3e60b668cd4f9923ddf4f5e3341aa219a599c1b15b27bc22d6c6e3a07b38e75ad302cd15ecb3e2bfd42570e7bd4007929345b9f61eb3a853fe
diff --git a/dev-python/boto3/boto3-1.26.159.ebuild b/dev-python/boto3/boto3-1.26.159.ebuild
new file mode 100644
index 000000000000..03c610b184f7
--- /dev/null
+++ b/dev-python/boto3/boto3-1.26.159.ebuild
@@ -0,0 +1,66 @@
+# 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_{7,8,9,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_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 34a2c197bc96..81619045753f 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -8,3 +8,4 @@ DIST botocore-1.29.155.gh.tar.gz 11673165 BLAKE2B 653cc8b368d34502bcb16622677f11
DIST botocore-1.29.156.gh.tar.gz 11675796 BLAKE2B 683a26d0e19a9c567c68bd297bbe72c1319e2d7767e47f23fb51c9f5934fdfde69e15d86e86390198fe7c3fe1621129bf777c4d8a17e4a4c94c1ba160bb35b3a SHA512 93e6bd8878848c81d7e97706db7a456743c58372596ebf215e1a76f6b7b9a0ac75eefb1da5621d2cf21ff75184f9760fef0d67aeb076820ca8f0ba8ee6546e41
DIST botocore-1.29.157.gh.tar.gz 11678505 BLAKE2B f946118809c4d96000bc6cc23f650ea166d2dc52d0ffbd7eb5a6263feb81f0e102aa5083ff5562ec06ad6289045659234647fba6b2625e6b9d1b2204089f69fa SHA512 1bd7cf41979583b5ca6b956f7c4de7a63e19e3ce07b00d285f498c75b31dd640d0319416c9292cec41b7daf0b8a1c75e7859ba631d965e5ad746654f390d5ce1
DIST botocore-1.29.158.gh.tar.gz 11687611 BLAKE2B dde78cc51bde5e7f49054d5954ddaff190d2b26d5c156a3967fb10dd420ab9665bd6981c0a9ad05a358cc76ed51913bf544cd79d4a6e44cf993a81b7d3ab60dd SHA512 bf7523bfd888906f5a38b8789bbeddffc59fec9609d8bb173476e88e60b8fd036c26efdc3fa56fed1d23d69d09c1ee0f2b1e5ee946224cf3cb1435456098790c
+DIST botocore-1.29.159.gh.tar.gz 11694696 BLAKE2B 8643d3beb049b8ab153fda947801b862926f4160586d29831c0a1d6fef7e3caed2c2ff83bdffe1d61f49f81a11aa9dcc57b3c2d2419e21ccc543cc40a3532308 SHA512 782d051749f5a998cf93878e53b3f12e4fde36712708adff58f1e720e83f79f4330410725e0a8b097f5ca425cc093dfea8e746afedeceb582a3e82c7fd169477
diff --git a/dev-python/botocore/botocore-1.29.159.ebuild b/dev-python/botocore/botocore-1.29.159.ebuild
new file mode 100644
index 000000000000..509d06dedf97
--- /dev/null
+++ b/dev-python/botocore/botocore-1.29.159.ebuild
@@ -0,0 +1,79 @@
+# 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_{7,8,9,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_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
+ # urllib3-2 compatibility, mock relies on implementation details
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_continue_no_response_from_server
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_continue_returned
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_continue_sends_307
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_sends_connection_header
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_handles_expect_100_with_different_reason_phrase
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_state_reset_on_connection_close
+ )
+
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/cattrs/cattrs-23.1.2.ebuild b/dev-python/cattrs/cattrs-23.1.2.ebuild
index ce96ebe34ec2..eff17bdbc59f 100644
--- a/dev-python/cattrs/cattrs-23.1.2.ebuild
+++ b/dev-python/cattrs/cattrs-23.1.2.ebuild
@@ -21,6 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
+IUSE="test-rust"
RDEPEND="
>=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
@@ -35,12 +36,14 @@ BDEPEND="
>=dev-python/hypothesis-6.54.5[${PYTHON_USEDEP}]
>=dev-python/immutables-0.18[${PYTHON_USEDEP}]
>=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/orjson-3.5.2[${PYTHON_USEDEP}]
>=dev-python/pymongo-4.2.0[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
>=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
>=dev-python/tomlkit-0.11.4[${PYTHON_USEDEP}]
>=dev-python/ujson-5.4.0[${PYTHON_USEDEP}]
+ test-rust? (
+ >=dev-python/orjson-3.5.2[${PYTHON_USEDEP}]
+ )
)
"
@@ -54,6 +57,15 @@ src_prepare() {
}
python_test() {
+ local EPYTEST_DESELECT=()
+ if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_preconf.py::test_orjson
+ tests/test_preconf.py::test_orjson_converter
+ tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides
+ )
+ fi
+
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -p xdist -n "$(makeopts_jobs)" tests
}
diff --git a/dev-python/cbor2/cbor2-5.4.6.ebuild b/dev-python/cbor2/cbor2-5.4.6.ebuild
index 04fd7f7a910d..6a320741b039 100644
--- a/dev-python/cbor2/cbor2-5.4.6.ebuild
+++ b/dev-python/cbor2/cbor2-5.4.6.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
inherit distutils-r1 pypi
@@ -31,3 +31,13 @@ python_prepare_all() {
sed -i -e "s/--cov//" pyproject.toml || die
distutils-r1_python_prepare_all
}
+
+python_compile() {
+ local -x CBOR2_BUILD_C_EXTENSION=1
+ # pypy3 not supported upstream
+ # py3.12: https://github.com/agronholm/cbor2/issues/171
+ if has "${EPYTHON}" pypy3 python3.12; then
+ CBOR2_BUILD_C_EXTENSION=0
+ fi
+ distutils-r1_python_compile
+}
diff --git a/dev-python/cons/Manifest b/dev-python/cons/Manifest
index 939df9dd30a8..9bc0d1539881 100644
--- a/dev-python/cons/Manifest
+++ b/dev-python/cons/Manifest
@@ -1 +1,2 @@
DIST cons-0.4.5.gh.tar.gz 40318 BLAKE2B c01f195c4f29ffe42e08fba6b57806b96263f7ebbc1cc859b8d146cd94e257829506502f2bc81f5665f4caf3bb8725ec556b70b951ede2b8117ba50fdb4388e5 SHA512 fea3af6b7198760f36194793a32a87f17729877f75baca6fd9627c32c4602e640cf667bb106624e9d756aece57053974e90e32329de484619a14b3500bea26e7
+DIST cons-0.4.6.gh.tar.gz 40414 BLAKE2B 5d234ed77d44f0b892c3cc8fc4816a4cc1ca5cca36501adca8cbc84a48dff320c3ea45555aaa2203d1ed5072e74404e62184f000db393c155b008943990b7df3 SHA512 195a2e23a6ee37aba1cc34c0f26a2b55f86948c4a2eb5dab50b9b917bdee97bbb53562830c75184c8483260ba9bc9352d1430f99937aa29156cbf3ce2fb0254b
diff --git a/dev-python/cons/cons-0.4.6.ebuild b/dev-python/cons/cons-0.4.6.ebuild
new file mode 100644
index 000000000000..51cedf01399e
--- /dev/null
+++ b/dev-python/cons/cons-0.4.6.ebuild
@@ -0,0 +1,30 @@
+# 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_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Implementation of Lisp/Scheme-like cons in Python"
+HOMEPAGE="
+ https://pypi.org/project/cons/
+ https://github.com/pythological/python-cons/
+"
+SRC_URI="
+ https://github.com/pythological/python-cons/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/python-${P}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+
+RDEPEND="
+ dev-python/logical-unification[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/crashtest/crashtest-0.4.1.ebuild b/dev-python/crashtest/crashtest-0.4.1.ebuild
index 1d29cb74776e..07f51fc9801b 100644
--- a/dev-python/crashtest/crashtest-0.4.1.ebuild
+++ b/dev-python/crashtest/crashtest-0.4.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
inherit distutils-r1
diff --git a/dev-python/flufl-lock/Manifest b/dev-python/flufl-lock/Manifest
index 575b8a19c771..4ca0c432444a 100644
--- a/dev-python/flufl-lock/Manifest
+++ b/dev-python/flufl-lock/Manifest
@@ -1 +1,2 @@
DIST flufl.lock-7.1.1.tar.gz 33017 BLAKE2B 813b4b77fe2b7c9d7125e9d4a5530a77aa4205e1eb0a90852419f29669db97c683fe1d73d221bc7490a7a827da24e23bfac38002c1e6a179289b56b59e2d4dfa SHA512 eb9d8a80013ca07cc3eaab30ced596c0362cfc59d5a1f7cf17aacbf4068d9989b443df7e2d5f5e09d6f60e0ebc784ab1897ca7379fde7eeb57246cb6b5dfef3f
+DIST flufl_lock-8.0.1.tar.gz 34442 BLAKE2B 07a837ec1965ae9c9f61a7601de0727bbab25b625744358e1c7e4c3112e26cd02db00fefe31d4900a2631d436eff8150aaddf6e80f8adb5e799bc9440ccea681 SHA512 059a0ed742d941f936a5a06f6fb0b72aa218fc4cd4c03788fcec6ddcef9fcc2bda767ff89a7d380ad79e07a2eec4840b32efc0921c0ff277d00a9fb8cbe80e4e
diff --git a/dev-python/flufl-lock/flufl-lock-8.0.1.ebuild b/dev-python/flufl-lock/flufl-lock-8.0.1.ebuild
new file mode 100644
index 000000000000..af23d1ba7b68
--- /dev/null
+++ b/dev-python/flufl-lock/flufl-lock-8.0.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="NFS-safe file locking with timeouts for POSIX systems"
+HOMEPAGE="
+ https://gitlab.com/warsaw/flufl.lock/
+ https://pypi.org/project/flufl-lock/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/atpublic[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/sybil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -e '/addopts/d' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/hcloud-python/Manifest b/dev-python/hcloud-python/Manifest
index 014321dd020f..3b84b411bba6 100644
--- a/dev-python/hcloud-python/Manifest
+++ b/dev-python/hcloud-python/Manifest
@@ -1,2 +1,3 @@
DIST hcloud-python-1.20.0.gh.tar.gz 100107 BLAKE2B 584e1399ddb1c5d1e5ad0beaf795609bb63d37457afe33c663cf303f8b20e2c6f6b3ff294007e9f4ae2d9aa833794e59516ad167f1dd51d14e692f6eab887881 SHA512 b17abc716ae6f7c78803096f2fd887e47ee746fccbe299cc434b7f445abdd7818e445d186f5adacc715971e2ebe2e92551cdb08aa1891ed58d8f443ea3be61fb
DIST hcloud-python-1.21.0.gh.tar.gz 102150 BLAKE2B 4ec6fb813f61f3c487d632e12a71f9105af5d45a307567fd2b22ff716e30c645bffebc5cd768846fc7d7892ab753d3e4487a1b72edfee62fb99dfefe188be41d SHA512 8226a79324f0097d576cc1336e813a28a562fb9c3f50dcac1debb3c32bb52f4f5e563e920e2bbb6ce8be407a65de321b734d30156fd066d74ed95f6e6bd94a35
+DIST hcloud-python-1.22.0.gh.tar.gz 103301 BLAKE2B 0280567bf75dfe1e684cc9a630cd9c517a9039add7b8937d6293fdddf55e593afa68c4ee7ffc73c186b3444d47fb5dcd385229bace3cf058a37497790d2abf46 SHA512 fca41cc61033c050981588633f9a9801a444db5782eafa35933dec5011f24542a103b1c900b9a830ea426418070d060e4ec407941d54cb9579291a7b467e6a22
diff --git a/dev-python/hcloud-python/hcloud-python-1.22.0.ebuild b/dev-python/hcloud-python/hcloud-python-1.22.0.ebuild
new file mode 100644
index 000000000000..8649d9830163
--- /dev/null
+++ b/dev-python/hcloud-python/hcloud-python-1.22.0.ebuild
@@ -0,0 +1,48 @@
+# 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_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+MY_P=hcloud-python-${PV}
+DESCRIPTION="Official Hetzner Cloud python library"
+HOMEPAGE="
+ https://github.com/hetznercloud/hcloud-python/
+ https://pypi.org/project/hcloud/
+"
+# sdist is missing doc assets as of 1.19.0
+# https://github.com/hetznercloud/hcloud-python/pull/183
+SRC_URI="
+ https://github.com/hetznercloud/hcloud-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.7.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Integration tests need docker:
+ # https://github.com/hetznercloud/hcloud-python/blob/master/.travis.yml#L16
+ tests/integration
+)
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 716a194a9b9d..ed176f12eebc 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,3 +1,4 @@
DIST hypothesis-6.76.0.gh.tar.gz 9373576 BLAKE2B ed580296f163f9808597aa3a7b2ceaf1ea43431a9049ffdba229dc0f7886c8ee42829c45c98cc8ec0aae7d1f41f455f7ffd818beb1a956498ac4d676cd72b678 SHA512 2e46762a3bcc595c92eb57e65b2c7ef07062df1c393033efd2cb6b3c774ecbbe41f672e7b6c63ca0e8afb732c0f5308dddd6908bc2f43eab5c0713a6d688d5f4
DIST hypothesis-6.79.0.gh.tar.gz 9377619 BLAKE2B 8e0650967f8552b3968f8627ef61119ea1532656009fcc83899d4c1e5e97e71e7cb14ffe0864008f7e6c658cff864a7a6d94d04365aba99d38383e3c1b4941a6 SHA512 d4268503425805d7ce0800434474b0f582d6114c3323b36abf6ce58e9f8530d7c11ab634671670f1d67387ac8c90d198303129c552130c8127dc0b3bbad2c766
DIST hypothesis-6.79.1.gh.tar.gz 9377826 BLAKE2B 13bf9383df81bf8aa504e4f1314958c98612bd507a935c749411008a25c9c1502cb157f4e80ae43b707486cfa5c4706c13118ea4c62d2cf8d7c40a8a811aba98 SHA512 aa52b85162ddb1fd1da8d01de4e47a5426831791c402fe589090474070608b98e40e8fcda197c18d7b8b4d13004afd0b04fb6f65f965e1af05b41005d3b38618
+DIST hypothesis-6.79.2.gh.tar.gz 9377998 BLAKE2B 7b9aa513fa6bf535094ebf9b6aad51df0f9d3a3c0da9e1402a86c8f41b840efe76b97a8204ba746e933128b1586d4622ab784ea3f040b599a7b61c6d563e9f09 SHA512 af8573f99d128300d358362c7f1f7ad801d27a29c89be554bbaa5325ff406d7237b98090ce7ec79fb72b04819f22ce0a3bc27c28028615ac9de8fc4a58d24d27
diff --git a/dev-python/hypothesis/hypothesis-6.79.2.ebuild b/dev-python/hypothesis/hypothesis-6.79.2.ebuild
new file mode 100644
index 000000000000..650d615b5128
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.79.2.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 multiprocessing optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/requests-toolbelt-0.10.1
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,pytest_forked,_hypothesis_pytestplugin
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_IGNORE=()
+ local EPYTEST_DESELECT=(
+ # these tests can randomly fail with RecursionError when run
+ # in parallel
+ # https://github.com/HypothesisWorks/hypothesis/issues/3671
+ hypothesis-python/tests/cover/test_lookup.py::test_resolving_mutually_recursive_types
+ hypothesis-python/tests/cover/test_lookup.py::test_resolving_mutually_recursive_types_with_defaults
+ )
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= -n "$(makeopts_jobs)" \
+ tests/cover tests/pytest tests/quality
+}
+
+python_install() {
+ distutils-r1_python_install
+ if ! use cli || ! has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ rm -r "${ED}/usr/bin" "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/ijson/Manifest b/dev-python/ijson/Manifest
index 2b546a9b7eaa..f27deb1e8bf6 100644
--- a/dev-python/ijson/Manifest
+++ b/dev-python/ijson/Manifest
@@ -1,2 +1,3 @@
DIST ijson-3.2.0.post0.gh.tar.gz 127558 BLAKE2B 38e06039bb177c43e4744f145fed2159e317a0b8da628b85a62215cdfe6693b271c39629811513d2e563b532244950616b9105134916bc577446a0b5e5ce25f7 SHA512 b926253a3d6a070e2ac27c61542d340e4a1498de7642957dbe59e9fd3c53d700ed4e8ee71c83efcb90b2c302d15b0d268c38054c10728bbb436521aa5b42050b
DIST ijson-3.2.1.gh.tar.gz 127577 BLAKE2B 1b3c8ce6d8b01d0cf4af4d8995bcc33d879321ed5b89c4b6baa84ef10cd311a1e66254113a17229c228c26e2b996a52c4b0629b42dbd830f296fd4903b603468 SHA512 2bd3a978016fbbd3f5aca6644778d19478a561f40729206eaa4f14e30fde4ff3b92c8aa33c928cb9e81c678a5a84fa59ab68e747421d725e77c79a9c987e4536
+DIST ijson-3.2.2.gh.tar.gz 127965 BLAKE2B 2e20f7cc822406fe3e7eec99c3ef394e42d90b0b518226a7b8eb078763cb8317acb4a28934301116c32a2a9cc37403c2950b18232800485b1ea1206dace7ff23 SHA512 5935071bd0d3eecc39b3c30ca5cb2a959e4d455c57e36414d5c97ba71bbcf1a0b53c8b8afed7551a3a4ac4595294105566c9d7501b35832dd7e46a1bb2151287
diff --git a/dev-python/ijson/ijson-3.2.2.ebuild b/dev-python/ijson/ijson-3.2.2.ebuild
new file mode 100644
index 000000000000..d0162a8c3442
--- /dev/null
+++ b/dev-python/ijson/ijson-3.2.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 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_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1
+
+MY_P="${P//_p/.post}"
+DESCRIPTION="Iterative JSON parser with a Pythonic interface"
+HOMEPAGE="
+ https://github.com/ICRAR/ijson/
+ https://pypi.org/project/ijson/
+"
+SRC_URI="
+ https://github.com/ICRAR/${PN}/archive/v${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+
+DEPEND="
+ dev-libs/yajl
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ local -x IJSON_BUILD_YAJL2C=1
+ # The extension is broken on PyPy3, probably a bug in PyPy itself.
+ # https://github.com/ICRAR/ijson/issues/101
+ [[ ${EPYTHON} == pypy3 ]] && IJSON_BUILD_YAJL2C=0
+ distutils-r1_python_compile
+}
+
+python_test() {
+ rm -rf ijson || die
+ epytest
+}
diff --git a/dev-python/keyring/Manifest b/dev-python/keyring/Manifest
index 766d1ff041e6..46f8e6392004 100644
--- a/dev-python/keyring/Manifest
+++ b/dev-python/keyring/Manifest
@@ -1,3 +1,4 @@
DIST keyring-23.13.1.tar.gz 59582 BLAKE2B fb39490ba857f97b9b89856059664dfe21495ffe651bb48ad4e2284efe3f3c7551d34bfb4c39518c2b9b5e31e61b91693301271750f4ec837567d7652b11e9ef SHA512 7e56380e7311a31d8703b9e3beb74a8c8ce026f6cf9e1792780d349f3db61f50a1905c7d509a7013dd7cb47428dd3c28c3620815f01d3c4dbd7f648e056539d0
DIST keyring-24.0.0.tar.gz 59671 BLAKE2B 424247f21958c5f485de2a4eca3d0cabcb2eec3b80ab3492f15ce1c0df3ff33131453387083da2119aaac7368153a59c31ad1919d7f350f62b1cfa367b9f0eed SHA512 4e6ce15d43aadbb831005e9b8f5cdebe4c034d9e2e47798814ae83d8146226504147585b8bfcb10ee5461113bd45d296f41c8c2bbf6fd30665192051b937ef05
DIST keyring-24.0.1.tar.gz 58592 BLAKE2B ccd9990ec3c947cf7a83e3503dbdd53d364b6e69a5bb12e79bf5c796f253bfa233a7828593aece4f7aaaa2bea1b651f9459e12709312deb77984352bf8ef25a4 SHA512 52cab8c91c9178a310d4891541ad13d016feb866fd7592a7d114d421cd0781e4e0c121f8b82c44af91c516f1feb674d207626a881aadc1c802b02678960e37c9
+DIST keyring-24.1.0.tar.gz 58824 BLAKE2B e27caa20c13e658183a09bceb5653cd6afc80e45c8667bde2525c3531df36e406e2c841608b7cb19d6c705c79a42b0700901e798cfb2c148781baf7a22a6fde9 SHA512 effd121d0e9c1dc5d32ee1337974ac5b6b53d128e72f6b4f355d0134f2dfe1af8942802b7772587ff8e473a7ffab518182af600a378e86cb3aa0555844289fdb
diff --git a/dev-python/keyring/keyring-24.1.0.ebuild b/dev-python/keyring/keyring-24.1.0.ebuild
new file mode 100644
index 000000000000..8bd78d9be83f
--- /dev/null
+++ b/dev-python/keyring/keyring-24.1.0.ebuild
@@ -0,0 +1,46 @@
+# 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_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Provides access to the system keyring service"
+HOMEPAGE="
+ https://github.com/jaraco/keyring/
+ https://pypi.org/project/keyring/
+"
+
+SLOT="0"
+LICENSE="PSF-2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/secretstorage-3.2[${PYTHON_USEDEP}]
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ >=dev-python/jeepney-0.4.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-4.11.4[${PYTHON_USEDEP}]
+ ' 3.9 3.10 3.11)
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # this test fails if importlib-metadata returns more than one
+ # entry, i.e. when keyring is installed already
+ tests/test_packaging.py::test_entry_point
+)
+
+EPYTEST_IGNORE=(
+ # apparently does not unlock the keyring properly
+ tests/backends/test_libsecret.py
+ # hangs
+ tests/backends/test_kwallet.py
+)
diff --git a/dev-python/markdown2/Manifest b/dev-python/markdown2/Manifest
index 8a460fddd0f6..dffce91b4d90 100644
--- a/dev-python/markdown2/Manifest
+++ b/dev-python/markdown2/Manifest
@@ -1 +1,2 @@
DIST markdown2-2.4.8.tar.gz 119398 BLAKE2B 41a8a4fc669b048be243d5689b3cde91b5d071926454009ca5fc08a28f1fef2938ec6382f06e6a876c4e8b08824c61bedfe8da251bf1f6414b777ab8e745704c SHA512 d7ec267ac11bdb5f58b34d9bef095377790de50cea03d1ebb50f586c463c1c3ab541a88a00ea5afae83943699e607827e760504e211014ce8a2c33b4c72ff07e
+DIST markdown2-2.4.9.tar.gz 122039 BLAKE2B b21a6d749d88ebc6959309cac7b7e35081032f6c8bb43b51164c59094afc333bcf0d613c4065607e0c7e80e05de8295053cda3aeaff459681ac8327a1c5b00ef SHA512 6d6791b4552cd92e8f9647ac70b7515d23e38d40c0ae6320c2a55dddecdf6d24b41c24d1c375451ea51b95470382036860d7bc04d53a9da1f2452c9114eba4f5
diff --git a/dev-python/markdown2/markdown2-2.4.9.ebuild b/dev-python/markdown2/markdown2-2.4.9.ebuild
new file mode 100644
index 000000000000..1132ba6f552a
--- /dev/null
+++ b/dev-python/markdown2/markdown2-2.4.9.ebuild
@@ -0,0 +1,31 @@
+# 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_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Markdown language reimplementation"
+HOMEPAGE="
+ https://github.com/trentm/python-markdown2/
+ https://pypi.org/project/markdown2/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/pygments-2.7.3[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ cd test || die
+ "${EPYTHON}" -m unittest test_markdown2.py -v ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/mysqlclient/Manifest b/dev-python/mysqlclient/Manifest
index b6daf5fb0e4f..16337db4e649 100644
--- a/dev-python/mysqlclient/Manifest
+++ b/dev-python/mysqlclient/Manifest
@@ -1 +1,2 @@
DIST mysqlclient-2.1.1.tar.gz 88138 BLAKE2B fdd044f2703af874dc0ca67b2fe07fcac3ceed5a4543aa15a0daa852ddf5ad6940a43675c0f104d9aa173e96da946e33054e1cc4c1b9812487558af64cc8fd43 SHA512 d8aed044b651aabb8d28d2df085f84e4d824ef0f147216d111425a9c8024f55634236ec131debf46660084c5a8fd67c944db60ffbf89e1d712cdca80c0726a06
+DIST mysqlclient-2.2.0.tar.gz 89543 BLAKE2B 1e75d37825b81300103d980174d12986d7d02fa2f958ebbdb3d8a2ecea498a8afd9f43c2e3d46a88109364bc0ba172f91c7d5853ed4bd173ef34bc451d31c7b3 SHA512 c392bfc173c2a2e20821b862c3f23621bcd0c20884f58623c345921aaa4f0557b3f75e75e5577a0df150adf119ec008af5ad1fcbfe11248d73918c0a211e8df9
diff --git a/dev-python/mysqlclient/mysqlclient-2.2.0.ebuild b/dev-python/mysqlclient/mysqlclient-2.2.0.ebuild
new file mode 100644
index 000000000000..58b7a63865bd
--- /dev/null
+++ b/dev-python/mysqlclient/mysqlclient-2.2.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2023 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_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python interface to MySQL"
+HOMEPAGE="
+ https://pypi.org/project/mysqlclient/
+ https://github.com/PyMySQL/mysqlclient/
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ dev-db/mysql-connector-c:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-db/mariadb[server]
+ )
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests pytest
+
+src_test() {
+ local datadir="${T}/mysql" \
+ install_log="${T}/mysqld_install.log" \
+ pidfile="${T}/mysqld.pid" \
+ socket="${T}/mysqld.sock" \
+ log="${T}/mysqld.log"
+ einfo "Creating test MySQL instance ..."
+ if ! mysql_install_db \
+ --no-defaults \
+ --auth-root-authentication-method=normal \
+ --basedir="${EPREFIX}/usr" \
+ --datadir="${datadir}" >& "${install_log}"
+ then
+ cat "${install_log}"
+ die "Failed to create database"
+ fi
+
+ einfo "Starting test MySQL instance ..."
+ mysqld \
+ --no-defaults \
+ --character-set-server=utf8 \
+ --pid-file="${pidfile}" \
+ --socket="${socket}" \
+ --skip-networking \
+ --datadir="${datadir}" >& "${log}" &
+
+ local i timeout=10
+ einfo "Waiting for MySQL to start for up to ${timeout} seconds ..."
+ for i in seq 1 ${timeout}; do
+ [[ -S "${socket}" ]] && break
+ sleep 1
+ done
+ if [[ ! -S "${socket}" ]]; then
+ cat "${log}"
+ die "MySQL failed to start in ${timeout} seconds"
+ fi
+
+ cat > "${T}/mysql.cnf" <<- EOF
+ [MySQLdb-tests]
+ socket = ${socket}
+ user = root
+ database = test
+ EOF
+
+ distutils-r1_src_test
+
+ einfo "Stopping test MySQL instance ..."
+ pkill -F "${pidfile}" &>/dev/null
+}
+
+python_test() {
+ local -x TESTDB="${T}/mysql.cnf"
+ rm -rf MySQLdb || die
+ epytest
+}
diff --git a/dev-python/openstacksdk/Manifest b/dev-python/openstacksdk/Manifest
index dce91e2a895e..f4988e9e4e99 100644
--- a/dev-python/openstacksdk/Manifest
+++ b/dev-python/openstacksdk/Manifest
@@ -1 +1,2 @@
DIST openstacksdk-1.2.0.tar.gz 1160015 BLAKE2B d3ed5b9415715faf6d9cae225e2a8e7c3bd69907599fd2683f53e2070513a1f27aaae2d2f4aa40ada26ff819b5f8238c09e208243197165aa52f19776e53fc7c SHA512 4ce118b8b19b495f333f76cb416d2b4cc2c9ea835979cf67e83f6f7f40df13d29e19ed054a2f3ee469e6c5496da4a7a11193e4815b20195b28ba4c48263b6c1c
+DIST openstacksdk-1.3.0.tar.gz 1158244 BLAKE2B c318be32242ff6a5dce3fb94122c08603f3f132d0e9781a13f6bad9bf8fb516741e62b255e1d0d9b12c2967bbd6cea54cfcc248ba9de6279edfac85399b4a0bd SHA512 ceeb68fea5ce9e5271a86b783986bc3a26f03654cc3e2be0b704484976e273049c0499377d08c59466fa02d45d6ec39fdc4fcc42d8b4ee4b5723bfe3853737b3
diff --git a/dev-python/openstacksdk/openstacksdk-1.3.0.ebuild b/dev-python/openstacksdk/openstacksdk-1.3.0.ebuild
new file mode 100644
index 000000000000..90a810d51d04
--- /dev/null
+++ b/dev-python/openstacksdk/openstacksdk-1.3.0.ebuild
@@ -0,0 +1,84 @@
+# 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_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A collection of libraries for building applications to work with OpenStack"
+HOMEPAGE="
+ https://opendev.org/openstack/openstacksdk/
+ https://github.com/openstack/openstacksdk/
+ https://pypi.org/project/openstacksdk/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+ >=dev-python/appdirs-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/requestsexceptions-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonpatch-1.20[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/decorator-4.4.1[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.6.5[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7.0[${PYTHON_USEDEP}]
+ dev-python/importlib-metadata[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.4.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Internet?
+ sed -e 's:test_create_dynamic_large_object:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+
+ # TODO
+ sed -e 's:test_generate_form:_&:' \
+ -e 's:test_create_static_large_object:_&:' \
+ -e 's:test_object_segment_retries:_&:' \
+ -e 's:test_object_segment_retry_failure:_&:' \
+ -e 's:test_slo_manifest_retry:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+
+ # unhappy about paths due to test runner
+ sed -e 's:test_method_not_supported:_&:' \
+ -i openstack/tests/unit/test_exceptions.py || die
+ sed -e 's:test_repr:_&:' \
+ -i openstack/tests/unit/test_resource.py || die
+
+ # requires hacking
+ rm openstack/tests/unit/test_hacking.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstack/tests/unit
+}
diff --git a/dev-python/oslo-utils/files/oslo-utils-6.1.0-py3.12-fix.patch b/dev-python/oslo-utils/files/oslo-utils-6.1.0-py3.12-fix.patch
new file mode 100644
index 000000000000..8b92b6f41aa1
--- /dev/null
+++ b/dev-python/oslo-utils/files/oslo-utils-6.1.0-py3.12-fix.patch
@@ -0,0 +1,26 @@
+Subject: [PATCH] Replace deprecated assertAlmostEquals method
+
+The assertAlmostEquals method has been deprecated since Python 3.2 and
+was removed in Python 3.12 [1], assertAlmostEqual should be used as the
+replacement.
+
+[1] https://docs.python.org/3.13/whatsnew/3.12.html#removed
+
+Upstream: https://review.opendev.org/c/openstack/oslo.utils/+/886725
+
+diff --git a/oslo_utils/tests/test_timeutils.py b/oslo_utils/tests/test_timeutils.py
+index 98194f1..390d037 100644
+--- a/oslo_utils/tests/test_timeutils.py
++++ b/oslo_utils/tests/test_timeutils.py
+@@ -192,7 +192,7 @@ class TimeUtilsTest(test_base.BaseTestCase):
+ before = timeutils.utcnow()
+ after = before + datetime.timedelta(days=7, seconds=59,
+ microseconds=123456)
+- self.assertAlmostEquals(604859.123456,
++ self.assertAlmostEqual(604859.123456,
+ timeutils.delta_seconds(before, after))
+
+ def test_is_soon(self):
+--
+2.39.3
+
diff --git a/dev-python/oslo-utils/oslo-utils-6.1.0-r1.ebuild b/dev-python/oslo-utils/oslo-utils-6.1.0-r1.ebuild
new file mode 100644
index 000000000000..b714373a80f4
--- /dev/null
+++ b/dev-python/oslo-utils/oslo-utils-6.1.0-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo Utility library"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.utils/
+ https://github.com/openstack/oslo.utils/
+ https://pypi.org/project/oslo.utils/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.4[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-py3.12-fix.patch"
+)
+
+distutils_enable_tests unittest
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}"/install -name '*eventletutils*' -delete || die
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ eunittest
+}
diff --git a/dev-python/oslotest/files/oslotest-4.5.0-py3.12-fix.patch b/dev-python/oslotest/files/oslotest-4.5.0-py3.12-fix.patch
new file mode 100644
index 000000000000..d9325741d5d6
--- /dev/null
+++ b/dev-python/oslotest/files/oslotest-4.5.0-py3.12-fix.patch
@@ -0,0 +1,23 @@
+Subject: [PATCH] Replace find_module function
+
+find_module function was deprecated in Python 3.4 [1] and later removed
+in Python 3.12 [2], the find_spec function should be used instead. This
+change is necessary for proper Python 3.12 support.
+
+[1] https://docs.python.org/3.4/library/importlib.html#importlib.abc.MetaPathFinder.find_module
+[2] https://github.com/python/cpython/issues/98040
+
+Upstream: https://review.opendev.org/c/openstack/oslotest/+/886646
+
+diff --git a/oslotest/modules.py b/oslotest/modules.py
+index f453b17..8fe04a2 100644
+--- a/oslotest/modules.py
++++ b/oslotest/modules.py
+@@ -45,6 +45,6 @@
+ def __init__(self, module):
+ self.module = module
+
+- def find_module(self, fullname, path):
++ def find_spec(self, fullname, path, target):
+ if fullname == self.module or fullname.startswith(self.module + '.'):
+ raise ImportError
diff --git a/dev-python/oslotest/oslotest-4.5.0-r3.ebuild b/dev-python/oslotest/oslotest-4.5.0-r3.ebuild
new file mode 100644
index 000000000000..3fde92f91dde
--- /dev/null
+++ b/dev-python/oslotest/oslotest-4.5.0-r3.ebuild
@@ -0,0 +1,40 @@
+# 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_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo test framework"
+HOMEPAGE="
+ https://opendev.org/openstack/oslotest/
+ https://github.com/openstack/oslotest/
+ https://pypi.org/project/oslotest/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ >=dev-python/pbr-1.8[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-py3.12-fix.patch"
+)
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ sed -i -e '/subunit/d' requirements.txt || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pdm-backend/Manifest b/dev-python/pdm-backend/Manifest
index 1ff3f48744ba..7b9f1f0a4237 100644
--- a/dev-python/pdm-backend/Manifest
+++ b/dev-python/pdm-backend/Manifest
@@ -1,2 +1 @@
-DIST pdm-backend-2.0.7.gh.tar.gz 131573 BLAKE2B 69750ccada51e09886d39b37fe00f842ccc70d1b7fd301ce2a72601f72e6d8d01ed0eef43ce7d9a6d9094e2c547965e91013dec7e7692479a5c9e2d0b7025c83 SHA512 7bfbdd52af739d6b6c85468888b44144fbc4fe542e758b62a09a85d7a503a980a82ef3450ac5c234005bbd7dd399ab7ddbe9b7948820b7ba7e8558c5b0fd9581
DIST pdm-backend-2.1.0.gh.tar.gz 134050 BLAKE2B 941795a8e108442d8ab651cee2c87f72d01c55e16634d9028f6e6300576ae7c67eaff90cbd6bcd4e24131ddabe92626583cbaf3af1807fd03490650d85653376 SHA512 999940464a467e5a8a6cb232cb8602846461cf7e146256be5f745743e47bfeab7b2b8157dc49ba7b03cff46051d080efe2097c450cfab037e0594ffa5fc3802b
diff --git a/dev-python/pdm-backend/pdm-backend-2.0.7.ebuild b/dev-python/pdm-backend/pdm-backend-2.0.7.ebuild
deleted file mode 100644
index 98b4ad7b27bb..000000000000
--- a/dev-python/pdm-backend/pdm-backend-2.0.7.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A PEP 517 backend for PDM that supports PEP 621 metadata"
-HOMEPAGE="
- https://pypi.org/project/pdm-backend/
- https://github.com/pdm-project/pdm-backend/
-"
-SRC_URI="
- https://github.com/pdm-project/pdm-backend/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
- >=dev-python/pyproject-metadata-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
-
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.{9..10})
- $(python_gen_cond_dep '
- >=dev-python/importlib-metadata-3.6[${PYTHON_USEDEP}]
- ' 3.9)
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-# setuptools are used to build C extensions
-RDEPEND+="
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- rm -r src/pdm/backend/_vendor || die
- find -name '*.py' -exec sed \
- -e 's:from pdm\.backend\._vendor\.:from :' \
- -e 's:from pdm\.backend\._vendor ::' \
- -e 's:import pdm\.backend\._vendor\.:import :' \
- -i {} + || die
- distutils-r1_src_prepare
-}
-
-src_test() {
- git config --global user.email "test@example.com" || die
- git config --global user.name "Test User" || die
- distutils-r1_src_test
-}
diff --git a/dev-python/pep517/Manifest b/dev-python/pep517/Manifest
deleted file mode 100644
index 10ec756e1802..000000000000
--- a/dev-python/pep517/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pep517-0.13.0.gh.tar.gz 23816 BLAKE2B d1bab5fe1a629384dcd264c0ea3d42d6b11de3530441de5de49516543630293b9a8023c8a55b291a7a415f8c90d4077f156cd036ed7fd477339d1210bfe47059 SHA512 dc534e73ea8659994041a39c8bfc92ee0a81b164c2d1ee383e3549d830f513fc89227d1bda3f749352532d0610e450de6b2be956aa4387f4b2f272d9f8aec0a0
diff --git a/dev-python/pep517/pep517-0.13.0.ebuild b/dev-python/pep517/pep517-0.13.0.ebuild
deleted file mode 100644
index 91af77ca87fa..000000000000
--- a/dev-python/pep517/pep517-0.13.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# 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_{7,8,9,10,11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Wrappers to build Python packages using PEP 517 hooks"
-HOMEPAGE="
- https://pypi.org/project/pep517/
- https://github.com/pypa/pep517/
- https://pep517.readthedocs.io/
-"
-SRC_URI="
- https://github.com/pypa/pep517/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/tomli[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/testpath[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # require Internet
- tests/test_meta.py
-)
-
-src_prepare() {
- sed -i -e '/--flake8/d' pytest.ini || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/platformdirs/Manifest b/dev-python/platformdirs/Manifest
index 9e59a510634c..63125dfde14b 100644
--- a/dev-python/platformdirs/Manifest
+++ b/dev-python/platformdirs/Manifest
@@ -3,3 +3,4 @@ DIST platformdirs-3.5.2.tar.gz 17775 BLAKE2B 2ec36d1efb77cdf5d247dd7e3a731389f41
DIST platformdirs-3.5.3.tar.gz 17780 BLAKE2B bffcc38623022f24175d1cb7097e65f73208b5aefedba2a22a584ea63fafeafe9ec7fd3701f903890282bca33dfd03d11c3070327f7efe474eb64ed548448ac6 SHA512 2510f7e5a260df6ac5d111e80a513979060f7a77c038b79d6db4b42d196ffb8bbacb2db6e986186926931bb28fec867404ed4e23eb3268b6abdbf318d79baa69
DIST platformdirs-3.6.0.tar.gz 18187 BLAKE2B 22e6da0d01e3862518052eba5a20efca4bb365619a6acdbd7722367b5acc4724a06f3baa8a57e8ba2d1957d9be35fd0074db89cc5732596e05bd44c2b5248a41 SHA512 f760e0fec11ca040e2138fc6c8423f9a39106fdf1f41811a19598892fbda31dc75cdeb4138e6355d87bbeeb879fd42ac2eee6e337e6093e59150ee26e73e4d41
DIST platformdirs-3.7.0.tar.gz 18322 BLAKE2B dc1d68c0149e29d043373904616d9d82aea12b62da639cd2daf1d2134b28338200bfd44bdd1750d8ff0202608e92764023dbd9f899f4602d074e246fd3eb10ab SHA512 a7c392787f7db55393888fc5a5e2b7ace131a3ed09d063169630a5cd86f0a9ec5569b2b5de599d2844f3bad439b6a36deb61cbc209faa0913c30c0803ad48ac2
+DIST platformdirs-3.8.0.tar.gz 18451 BLAKE2B cac717c3968fd20b7bdac464443cedcdc50b04b732ae8a212fcb946170ad1553ffae82cbdca05c2cf01ebbc4383216cd0f0afe84cddc2ce6107f10fd40213542 SHA512 64937f3e9e03a9ec8dc2068777dfe553ec09cef62ce53a753608bd9a73e0afaa4489c98046e7b4b3fdbded237cf2813bfd306a6d5ad5788031b6857d8d4fa430
diff --git a/dev-python/platformdirs/platformdirs-3.8.0.ebuild b/dev-python/platformdirs/platformdirs-3.8.0.ebuild
new file mode 100644
index 000000000000..2c65d0f2dfcc
--- /dev/null
+++ b/dev-python/platformdirs/platformdirs-3.8.0.ebuild
@@ -0,0 +1,49 @@
+# 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_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
+HOMEPAGE="
+ https://pypi.org/project/platformdirs/
+ https://github.com/platformdirs/platformdirs/
+"
+
+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"
+
+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/proto-plus/Manifest b/dev-python/proto-plus/Manifest
index a36f2b395b1a..23b742edb47a 100644
--- a/dev-python/proto-plus/Manifest
+++ b/dev-python/proto-plus/Manifest
@@ -1 +1,2 @@
DIST proto-plus-1.22.2.gh.tar.gz 69899 BLAKE2B ad485b04e4187dd5e33259e314d807ad5541c2ddf4fb8e0a85deb195c7643194d34101428fb4fcb7dd692d60e4dd4c4037f821b8fb0049a6e36e002ce870e48a SHA512 bacb8f285417bf0e4d20898c9bb2563e16204b09fc6fb92aadfcd67ad12df388681658eaaacd9b945f4d0ad7e2ce9b95dfc938f5ccc0c4419805c53ed837b2d7
+DIST proto-plus-python-1.22.3.gh.tar.gz 94230 BLAKE2B 7d7def297a2f1b863c4226ed6af35b3ecc6cfac5d324ddc311b5d44189b45773c46b83bf242fa9f9847399e1f6a55d5b114a6a1d69fe170201201fa92747dac7 SHA512 8505656798426d07e27929bf43873ae3f46b1cbd1e1b81e41035382c6edb5e5de4a550e41985d93b3c161a5fc676a1db6fc14b8e74dce5d1b1b7bf3a80419ae4
diff --git a/dev-python/proto-plus/proto-plus-1.22.3.ebuild b/dev-python/proto-plus/proto-plus-1.22.3.ebuild
new file mode 100644
index 000000000000..3e3fba8d5f9d
--- /dev/null
+++ b/dev-python/proto-plus/proto-plus-1.22.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+MY_P=${PN}-python-${PV}
+DESCRIPTION="Beautiful, Pythonic protocol buffers"
+HOMEPAGE="
+ https://github.com/googleapis/proto-plus-python/
+ https://pypi.org/project/proto-plus/
+"
+SRC_URI="
+ https://github.com/googleapis/proto-plus-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/protobuf-python-5[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-3.19.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/google-api-core-1.31.5[${PYTHON_USEDEP}]
+ dev-python/grpcio[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
diff --git a/dev-python/pyglet/Manifest b/dev-python/pyglet/Manifest
index 416e50f77449..cfc3a10eda26 100644
--- a/dev-python/pyglet/Manifest
+++ b/dev-python/pyglet/Manifest
@@ -1 +1,2 @@
DIST pyglet-2.0.7.gh.tar.gz 6187601 BLAKE2B 00bebe51d6e4f2971aaaead69d483234528ed676b3a2b273fe6ee3c0b997d61490b9be3218c5caf092c83fdb58fb39051fde843845e63965e8e6c3510f873a90 SHA512 e51c63e12cfb450ef5b0ef8f113b50fd9a7ccd20f9afe61ef487c47a42248d674ca3bd300d3300bf3bfd5f45a9a029017a9fbf8dd7231f8b58c4b7354a4715cb
+DIST pyglet-2.0.8.gh.tar.gz 6197927 BLAKE2B 7b6f26b0c22fea5da3372ab0a3c71fdc55960452530ea565c2946b39de978fb67e5b4467097ed477ec8eff3a3b5ee5f30f84a31172879c9068821492b4d21bbc SHA512 f8fe20d8e43dcd852e96523e03d0e10fff9a18dd50131e0ddc46a49c981f33b3ea9055c769b87c421e4465c4a98fd5a991a862b37215e1d9eac44ff4d33f4bdf
diff --git a/dev-python/pyglet/pyglet-2.0.8.ebuild b/dev-python/pyglet/pyglet-2.0.8.ebuild
new file mode 100644
index 000000000000..4969be3e14e7
--- /dev/null
+++ b/dev-python/pyglet/pyglet-2.0.8.ebuild
@@ -0,0 +1,82 @@
+# 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_{7,8,9,10,11} )
+
+inherit distutils-r1 virtualx xdg-utils
+
+DESCRIPTION="Cross-platform windowing and multimedia library for Python"
+HOMEPAGE="
+ https://pyglet.org/
+ https://github.com/pyglet/pyglet/
+ https://pypi.org/project/pyglet/
+"
+SRC_URI="https://github.com/pyglet/pyglet/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples image +sound"
+
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ media-libs/fontconfig
+ )
+"
+RDEPEND="
+ virtual/glu
+ virtual/opengl
+ image? ( || (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ x11-libs/gtk+:2
+ ) )
+ sound? ( || (
+ media-libs/libpulse
+ media-libs/openal
+ ) )
+"
+# ffmpeg? ( media-libs/avbin-bin )
+
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ xdg_environment_reset
+
+ local EPYTEST_DESELECT=(
+ # lacking device/server permissions
+ tests/unit/media/test_listener.py::test_openal_listener
+ tests/unit/media/test_listener.py::test_pulse_listener
+ # fragile to system load
+ tests/unit/media/test_player.py::PlayerTestCase::test_pause_resume
+ tests/unit/test_clock_freq.py::test_elapsed_time_between_tick
+ )
+ if [[ ${EPYTHON} == python3.11 ]]; then
+ EPYTEST_DESELECT+=(
+ # broken test
+ # https://github.com/pyglet/pyglet/issues/606
+ tests/unit/test_events.py::test_push_handlers_instance
+ )
+ fi
+
+ # Specify path to avoid running interactive tests
+ # We could add in integration tests, but they're slow
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest tests/unit || die "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild b/dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild
index b19288fd6268..c1e6c42febe6 100644
--- a/dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild
+++ b/dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild
@@ -4,6 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+# py3.12 does not work, see https://github.com/seb-m/pyinotify/issues/204
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
PYTHON_REQ_USE="threads(+)"
diff --git a/dev-python/pytest-subprocess/Manifest b/dev-python/pytest-subprocess/Manifest
new file mode 100644
index 000000000000..50d817de0d37
--- /dev/null
+++ b/dev-python/pytest-subprocess/Manifest
@@ -0,0 +1 @@
+DIST pytest-subprocess-1.5.0.gh.tar.gz 34771 BLAKE2B b76ab9234ff2ec437ef9679c2e8af6cdc545189c7fd9f832f68c5cad094c80250c5fe1fd6e0da54d7a8c09da30a66f7f097da66f03d169e149186b49e2b72b56 SHA512 8489993cc396d41d127927ab46a43120528dbcb9641e7be03777689af127df29fe618eee3a815e96a0353cc02117dc1af22800d748476c4fe2b76c2246229f08
diff --git a/dev-python/pep517/metadata.xml b/dev-python/pytest-subprocess/metadata.xml
index a0d4c5913ba0..a0d4c5913ba0 100644
--- a/dev-python/pep517/metadata.xml
+++ b/dev-python/pytest-subprocess/metadata.xml
diff --git a/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild b/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild
new file mode 100644
index 000000000000..cd9ee2cda6c6
--- /dev/null
+++ b/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A plugin to fake subprocess for pytest"
+HOMEPAGE="
+ https://github.com/aklajnert/pytest-subprocess/
+ https://pypi.org/project/pytest-subprocess/
+"
+SRC_URI="
+ https://github.com/aklajnert/pytest-subprocess/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pytest-4.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/anyio[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.12[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.15.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -p no:flaky
+}
diff --git a/dev-python/python3-xapp/Manifest b/dev-python/python3-xapp/Manifest
index a2b8ab2d3a8d..eae5330a4645 100644
--- a/dev-python/python3-xapp/Manifest
+++ b/dev-python/python3-xapp/Manifest
@@ -1 +1,2 @@
DIST python3-xapp-2.4.0.tar.gz 20787 BLAKE2B e225ad100119f90813b0f7657832bb186675542b3476beec639ff4e0771f4c00629c5d297a2ca0392fbd630066ba0a95a6f8553bd01a9f2df18752536a513127 SHA512 7c9afabbc810ffe878e831f7e1ff585ce49abc6d1db3d4ea70deb6630e2bb18f61ded31ae0e075cccae2283cac50b3440204a586f844ba9ee9cfbcb572bf7573
+DIST python3-xapp-2.4.1.tar.gz 21181 BLAKE2B 460aba09d147d64c8102f66d059c6ab1f7c39893ce98844e59ab5954b690d81ab4b253cb6a17f9b3c781dfb5e965d1a4de859aaeff5ef65ab3f67a86a4c6e6c2 SHA512 97045061aa5965adcfe7301774dbd35a226fa9b846e31a7c097229cc417ff4008e518ebd5b600d4ce6a46daa39d51de70d391b6b0a7c78490419d3a96daca6a9
diff --git a/dev-python/python3-xapp/python3-xapp-2.4.1.ebuild b/dev-python/python3-xapp/python3-xapp-2.4.1.ebuild
new file mode 100644
index 000000000000..9f8480d936ca
--- /dev/null
+++ b/dev-python/python3-xapp/python3-xapp-2.4.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit meson python-r1
+
+DESCRIPTION="Python bindings for x11-libs/xapp"
+HOMEPAGE="https://github.com/linuxmint/python3-xapp"
+SRC_URI="https://github.com/linuxmint/python3-xapp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ >=x11-libs/xapp-2.4.1[introspection]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+ dev-python/psutil[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ echo "option('python', type: 'string', value: 'python3')" >> meson_options.txt || die
+ sed -i "s/find_installation('python3')/find_installation(get_option('python'))/" meson.build || die
+ default
+}
+
+src_configure() {
+ configuring() {
+ meson_src_configure \
+ -Dpython="${EPYTHON}"
+ }
+ python_foreach_impl configuring
+}
+
+src_compile() {
+ python_foreach_impl meson_src_compile
+}
+
+src_test() {
+ python_foreach_impl meson_src_test
+}
+
+src_install() {
+ installing() {
+ meson_src_install
+ python_optimize
+ }
+ python_foreach_impl installing
+}
diff --git a/dev-python/scikit-build-core/Manifest b/dev-python/scikit-build-core/Manifest
new file mode 100644
index 000000000000..ad4ae8e5b25c
--- /dev/null
+++ b/dev-python/scikit-build-core/Manifest
@@ -0,0 +1 @@
+DIST scikit_build_core-0.4.6.tar.gz 160670 BLAKE2B 8efa818ed17d898818c7fd1f56ed36369b25fcba62fdc4172e147db9a70a9a468e8472b8cca599c7afd32fe5ef3fdfce30d173359ddc4ff7ea7db6c257f63f9a SHA512 24f5ebfd855677c6f7af8f5098c257326cffc5de5cd0d04b4dc51f40c78784c7dc49ccbc97d43460f5091478b0b9bb09c4d3c93178699ec1938521688fc48bd8
diff --git a/dev-python/toml/metadata.xml b/dev-python/scikit-build-core/metadata.xml
index ea8988e8af6a..a0d4c5913ba0 100644
--- a/dev-python/toml/metadata.xml
+++ b/dev-python/scikit-build-core/metadata.xml
@@ -3,7 +3,6 @@
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
- <name>Python</name>
</maintainer>
<origin>gentoo-staging</origin>
diff --git a/dev-python/scikit-build-core/scikit-build-core-0.4.6.ebuild b/dev-python/scikit-build-core/scikit-build-core-0.4.6.ebuild
new file mode 100644
index 000000000000..6834eedfdd8c
--- /dev/null
+++ b/dev-python/scikit-build-core/scikit-build-core-0.4.6.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Build backend for CMake based projects"
+HOMEPAGE="
+ https://github.com/scikit-build/scikit-build-core/
+ https://pypi.org/project/scikit-build-core/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# we always want [pyproject] extra
+RDEPEND="
+ >=dev-python/packaging-20.9[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-metadata-0.5[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1.1[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ >=dev-python/cattrs-22.2.0[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ >=dev-python/pytest-subprocess-1.5[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -m "not isolated and not network"
+}
diff --git a/dev-python/sentry-sdk/Manifest b/dev-python/sentry-sdk/Manifest
index 6fff33d621bc..5c1b588ee3da 100644
--- a/dev-python/sentry-sdk/Manifest
+++ b/dev-python/sentry-sdk/Manifest
@@ -1,2 +1,3 @@
DIST sentry-python-1.24.0.gh.tar.gz 360564 BLAKE2B 032c929b75e29ebb0e95f8dddcc567d7367399b0945f918821c5331898b0aa90eac4af531f4f49c52949d00b655508cd57a88915ab054f2a44f72e3dc81cc9a9 SHA512 9dee3f14082331232f743c7bd38a7a46273d4c467bdd4f8672f7597fa0d3baaecd34423d07669f14f0265be2c947bdbddc983aaa8cab66a139aeb036fde1b708
DIST sentry-python-1.25.1.gh.tar.gz 362026 BLAKE2B f392d766305a119d8d24472d21efade8a0f058d18e8d0e7b15fbcc2c368171e89a79394534aa85a7f9c4013fc1ba2566ee3de6d4708e1c5d7f3e3dd2aae56d4d SHA512 eb22213d99989711fc1449f3910dbd81eafe6d8903181955cb307066ba90a6e0cf587e875c806a013ca2b9465dc070e622c4ec6a656bdec51668455d353ad91a
+DIST sentry-python-1.26.0.gh.tar.gz 371531 BLAKE2B cdc44a8c4067405242b7aaec28999902df8ac7938d933ec8f5c050b6659bf5f920d7422dbe712813de995308fd49ce6173ca59e346d5a8912f6c3452f6063fb2 SHA512 de1d1c4af1d629c7689691d99ebd0acd3c023fc07fcfc6e706e7738b536601186ce33672b85ba08123f430923bb0c67cdbe0e56c9642d2219df55c8f1d14f07d
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.26.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.26.0.ebuild
new file mode 100644
index 000000000000..3161d9dcc8f6
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-1.26.0.ebuild
@@ -0,0 +1,118 @@
+# 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_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+MY_P=sentry-python-${PV}
+DESCRIPTION="Python client for Sentry"
+HOMEPAGE="
+ https://sentry.io/
+ https://github.com/getsentry/sentry-python/
+ https://pypi.org/project/sentry-sdk/
+"
+SRC_URI="
+ https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/executing[${PYTHON_USEDEP}]
+ dev-python/fakeredis[${PYTHON_USEDEP}]
+ dev-python/flask-login[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pyrsistent[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/python-socks[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
+)
+
+EPYTEST_IGNORE=(
+ # tests require Internet access
+ tests/integrations/httpx/test_httpx.py
+ tests/integrations/requests/test_requests.py
+ tests/integrations/stdlib/test_httplib.py
+ tests/integrations/flask/test_flask.py
+ tests/integrations/django/test_basic.py
+ tests/integrations/socket/test_socket.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # broken by rq-1.10.1 (optional dep)
+ tests/integrations/rq/test_rq.py
+ # fastapi is not packaged
+ tests/integrations/asgi/test_fastapi.py
+ # TODO
+ tests/integrations/bottle
+ # TODO: causes breakage in other tests
+ tests/integrations/starlette
+ # TODO
+ tests/integrations/tornado
+ # requires mockupdb
+ tests/integrations/pymongo
+)
+
+EPYTEST_DESELECT=(
+ # hangs
+ 'tests/test_transport.py::test_transport_works'
+ # TODO
+ 'tests/test_basics.py::test_auto_enabling_integrations_catches_import_error'
+ tests/test_client.py::test_databag_depth_stripping
+ tests/test_client.py::test_databag_string_stripping
+ tests/test_client.py::test_databag_breadth_stripping
+ tests/integrations/asgi/test_asgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/asgi/test_asgi.py::test_websocket
+ tests/integrations/aiohttp/test_aiohttp.py::test_transaction_style
+ tests/integrations/aiohttp/test_aiohttp.py::test_traces_sampler_gets_request_object_in_sampling_context
+ tests/integrations/django/test_data_scrubbing.py::test_scrub_django_custom_session_cookies_filtered
+ # incompatible version?
+ tests/integrations/falcon/test_falcon.py
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_large_event_not_truncated
+ # test_circular_references: apparently fragile
+ 'tests/integrations/threading/test_threading.py::test_circular_references'
+ # test for new feature, fails with IndexError
+ tests/integrations/wsgi/test_wsgi.py::test_session_mode_defaults_to_request_mode_in_wsgi_handler
+ # TODO
+ tests/integrations/wsgi/test_wsgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/wsgi/test_wsgi.py::test_profile_sent_when_profiling_enabled
+ tests/test_profiler.py::test_sample_buffer
+ tests/test_profiler.py::test_thread_scheduler_takes_first_samples
+ tests/test_profiler.py::test_thread_scheduler_takes_more_samples
+ tests/test_profiler.py::test_thread_scheduler_single_background_thread
+ # broken with py3.11, *shrug*
+ tests/test_profiler.py::test_extract_stack_with_max_depth
+ # TODO
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_long_sql_query_preserved
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_engine_name_not_string
+ tests/test_scrubber.py::test_breadcrumb_extra_scrubbing
+ tests/test_scrubber.py::test_span_data_scrubbing
+ # this is not even funny
+ tests/integrations/modules/test_modules.py::test_installed_modules
+)
diff --git a/dev-python/tblib/Manifest b/dev-python/tblib/Manifest
index ba48320ce09b..a5b0740e8b7e 100644
--- a/dev-python/tblib/Manifest
+++ b/dev-python/tblib/Manifest
@@ -1 +1,2 @@
DIST tblib-1.7.0.tar.gz 33074 BLAKE2B e05b94b9a36efde4d3fe76e9b72502674554e84e49916ea585de4f6cf9e898d1544535b1a8935fe15ffc100fcbf2b5d4f9edfdcf0ce5c86d479f2f412d3ea83f SHA512 10dcff18a1da386d9dd6bae35608f4a2d3bc8f87c15fcf49d886f98d95a6defd348ef0dc5637e03f4c553a933a0ecb4c215cf15b1e78fca58fea10052f9fb4e9
+DIST tblib-2.0.0.tar.gz 28695 BLAKE2B 7c7cb584e5a5f03d403253d94c051d7ffd988b2320b095376184b479f30674989cecd39ca43fd269884e73ad97e6f9424a29dec9f1338e002ebe1adfc31a52d4 SHA512 740e7b02c4ae61b12ed1c0c3623c5c2dd142aaa24989e57d67ceed4894212bc18d51f0ab0a97953f1a0e16b30ef992ecee3730038e8b8fd4a3bc437d4a1a92b0
diff --git a/dev-python/tblib/tblib-2.0.0.ebuild b/dev-python/tblib/tblib-2.0.0.ebuild
new file mode 100644
index 000000000000..b8aad5fd7409
--- /dev/null
+++ b/dev-python/tblib/tblib-2.0.0.ebuild
@@ -0,0 +1,35 @@
+# 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_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Traceback fiddling library for Python"
+HOMEPAGE="
+ https://github.com/ionelmc/python-tblib/
+ https://pypi.org/project/tblib/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/twisted[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/toml/Manifest b/dev-python/toml/Manifest
deleted file mode 100644
index cb2d13b7ae5e..000000000000
--- a/dev-python/toml/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST toml-0.10.2-1.tar.gz 23325 BLAKE2B dedab7d08dadca963e62d64e9108e254dd73b78761985faa892792823027befc6473ae02c35c275a216b4544d1af8776afa78e39c63c95eb856e2bccf1de49c4 SHA512 5c706a3ae336e6b29bdce9752b91c677f7610cbcc1af4169cc24779e248031406cd19ac367725b2aa7903e4b1db71fa59255238c0270b2c146fd5d7e12d9a5da
-DIST toml-test-280497fa5f12e43d7233aed0d74e07ca61ef176b.tar.gz 19593 BLAKE2B e9deba7c5d1eea7bd87fcf5e5c74bda4c2b9e9686e597e3ad51516f60eb8d192fb01d052ac57729c6f0851e2715cc6409a904affd637c9b099cabc1b12ad5d52 SHA512 7bd69b8c14f09bf431094b52d988eb233922527719ba5047ff769d2e709c2039fb6fb1c8144e630ad2a58835d19e0e4cc51433a427596d37f8eccb6d73d7e5c0
diff --git a/dev-python/toml/toml-0.10.2-r1.ebuild b/dev-python/toml/toml-0.10.2-r1.ebuild
deleted file mode 100644
index 5070d75dc7d7..000000000000
--- a/dev-python/toml/toml-0.10.2-r1.ebuild
+++ /dev/null
@@ -1,48 +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_{7,8,9,10,11} pypy3 )
-
-inherit distutils-r1
-
-TOML_TEST_VER="280497fa5f12e43d7233aed0d74e07ca61ef176b"
-
-DESCRIPTION="Python library for handling TOML files"
-HOMEPAGE="
- https://github.com/uiri/toml/
- https://pypi.org/project/toml/
-"
-SRC_URI="
- https://github.com/uiri/${PN}/archive/${PV}.tar.gz -> ${P}-1.tar.gz
- test? (
- https://github.com/BurntSushi/toml-test/archive/${TOML_TEST_VER}.tar.gz
- -> toml-test-${TOML_TEST_VER}.tar.gz
- )
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-DOCS=( README.rst )
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- if use test; then
- mv "${WORKDIR}/toml-test-${TOML_TEST_VER#v}" "${S}/toml-test" || die
- fi
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/ubelt/Manifest b/dev-python/ubelt/Manifest
index 8e921d7e7488..f53d605f00a2 100644
--- a/dev-python/ubelt/Manifest
+++ b/dev-python/ubelt/Manifest
@@ -1,2 +1,3 @@
DIST ubelt-1.2.4.gh.tar.gz 337670 BLAKE2B 4c8b1c05cbed0f28e69b43445f12881e4c619be4a513b9263a6eb4d674e56b0a869d1e78072e1e89a505a12b3b40dddbb48424bccdcfbae1a7eabf7746bc79d0 SHA512 5fbe36598a035d1504b24a06e8f0fcd1c9d0ccc238f81bfad582288aced9ebc8323e7acf2705d47e60f36513cbf665051f554cce122d75d55247b5fc122af419
DIST ubelt-1.3.0.gh.tar.gz 345051 BLAKE2B f7019311fa432e8c520b42261cc2cf1a494029bbb627c1b868364d4f816bc6a5c55c22e9755c4302f81f5984947bb7ada07b4d0137c1fee9be99e404c744ca54 SHA512 cd63501092d63426fa6169ab87d8224342f6ad59b1d9a41f36c53fda57057a10f8d20db26502bdbcc13c803eff3054cd2da67509308cc0930e1f765fe5f1281a
+DIST ubelt-1.3.2.gh.tar.gz 345932 BLAKE2B 9ad9413a69402708117c5f0c1d804c6a4f9f54f55fa62b44eca5b79db1c37c466d011225ffd1e30c321907775395a9cbe3c11b6257ce5dd5edec8c5ecbcd2904 SHA512 3aa058a5028a93d618805b5612b7384d9ca2074e30adf1011acd3993d07f30f80b7d759290b7ccebab606b27a91bb8377626e4d6d99ea7f595c2e553a5aaa605
diff --git a/dev-python/ubelt/ubelt-1.3.2.ebuild b/dev-python/ubelt/ubelt-1.3.2.ebuild
new file mode 100644
index 000000000000..923181ac3b8c
--- /dev/null
+++ b/dev-python/ubelt/ubelt-1.3.2.ebuild
@@ -0,0 +1,42 @@
+# 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_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="A stdlib like feel, and extra batteries. Hashing, Caching, Timing, Progress"
+HOMEPAGE="
+ https://github.com/Erotemic/ubelt/
+ https://pypi.org/project/ubelt/
+"
+SRC_URI="
+ https://github.com/Erotemic/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.25.1[${PYTHON_USEDEP}]
+ dev-python/xdoctest[${PYTHON_USEDEP}]
+ >=dev-python/xxhash-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ tests/test_editable_modules.py::test_import_of_editable_install
+ # relies on passwd home being equal to ${HOME}
+ ubelt/util_path.py::userhome:0
+)