summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-03-01 23:41:30 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-03-01 23:41:30 +0000
commit1331637681273dc8391d7a7caa6175405dceb735 (patch)
tree57acd1953dffe9d8e88a0735a76115e20fa09d26 /dev-python
parent5d5b0e27ed33330cca5636eb792368fbbf46774c (diff)
gentoo auto-resync : 01:03:2024 - 23:41:29
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin269818 -> 269820 bytes
-rw-r--r--dev-python/croniter/Manifest2
-rw-r--r--dev-python/croniter/croniter-2.0.2.ebuild31
-rw-r--r--dev-python/griffe/Manifest2
-rw-r--r--dev-python/griffe/griffe-0.41.1.ebuild45
-rw-r--r--dev-python/httpx-socks/Manifest2
-rw-r--r--dev-python/httpx-socks/httpx-socks-0.9.0.ebuild50
-rw-r--r--dev-python/mkdocs-autorefs/Manifest2
-rw-r--r--dev-python/mkdocs-autorefs/mkdocs-autorefs-1.0.1.ebuild34
-rw-r--r--dev-python/mkdocs-material/Manifest2
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.5.12.ebuild67
-rw-r--r--dev-python/mkdocs-static-i18n/Manifest2
-rw-r--r--dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.2.ebuild32
-rw-r--r--dev-python/pymdown-extensions/Manifest2
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-10.7.ebuild16
-rw-r--r--dev-python/python-cinderclient/Manifest2
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-9.5.0.ebuild48
-rw-r--r--dev-python/python-dateutil/Manifest4
-rw-r--r--dev-python/python-dateutil/files/python-dateutil-2.9.0-no-pytest-cov.patch18
-rw-r--r--dev-python/python-dateutil/files/python-dateutil-2.9.0-system-tzdata.patch91
-rw-r--r--dev-python/python-dateutil/python-dateutil-2.9.0.ebuild47
-rw-r--r--dev-python/python-glanceclient/Manifest2
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-4.5.0.ebuild52
-rw-r--r--dev-python/python-keystoneclient/Manifest2
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-5.4.0.ebuild56
-rw-r--r--dev-python/python-neutronclient/Manifest2
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-11.2.0.ebuild78
-rw-r--r--dev-python/python-novaclient/Manifest2
-rw-r--r--dev-python/python-novaclient/python-novaclient-18.5.0.ebuild62
-rw-r--r--dev-python/scrypt/Manifest2
-rw-r--r--dev-python/scrypt/scrypt-0.8.22.ebuild25
-rw-r--r--dev-python/testfixtures/Manifest2
-rw-r--r--dev-python/testfixtures/testfixtures-8.1.0.ebuild46
-rw-r--r--dev-python/twisted/Manifest2
-rw-r--r--dev-python/twisted/twisted-24.3.0.ebuild152
35 files changed, 982 insertions, 2 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index b63f16c90a75..d0ff8cbd4352 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/croniter/Manifest b/dev-python/croniter/Manifest
index 8cc94a1e7f6c..eaa11d743609 100644
--- a/dev-python/croniter/Manifest
+++ b/dev-python/croniter/Manifest
@@ -1,3 +1,5 @@
DIST croniter-2.0.1.tar.gz 42599 BLAKE2B 78bc432fe14995d33bd2b0290772849c825fd11e976913b7e68d9c7490e7d768df7c0ced614b0246d17681aea351232529eac3316a7f117bf0179fa2879ad1d5 SHA512 548738d60af7628e986e4f5252025c031154c3a6885d06e1429255a4f2105d56d6e68793ae8a9a0aff8325792524b49665083ddfdbc3df8efa3109b052a043a4
+DIST croniter-2.0.2.tar.gz 42739 BLAKE2B 3156c6676e38aead9efd425d92676620e6736bbccef7b4e53ca1ab91728f522e4aa9ac4b518205717e6bc7034dd231f90d6f6f5bc58d04da0c8f76ce8cbc1ff6 SHA512 f1ef58b21be070a4da7447322130bb2a7672572a78c0214d6df37428a8103234582c647747e76d890194dde8293dd2cc097a65484738a03423061545263417fe
EBUILD croniter-2.0.1.ebuild 609 BLAKE2B a499ff6da583d1989e0da5e738bd3b0672af5dc84040a223814198212deea026bcc9ff7cef88c048f8d81702f1608b4a6689ce0c34c6fe44984362509e4b82e2 SHA512 e4ca129b250f1accdeaa8697f7743373ce988a27dfc13c07e321827707aa8fe305767a005ca1cb2ccd9a37c8e2cedb0c4f54679ae6fe15c6c67eb0e25c3ecfc5
+EBUILD croniter-2.0.2.ebuild 612 BLAKE2B 6d7e39f0a7c42781887615dc854d44b1dbeaea164585d1e47ddd57d82f94b196f5a77d301bbf86743d6fa69acdb02900f26724cde2abc1832477b905efc8ecdf SHA512 e9b7013d6f3463ea8e81707e4ce81be02434c4ac769505a4e6421cfb36157a4bf4eef54d09a6c942edaa7e53017e4541a56759639e263df89db6fd605147f1af
MISC metadata.xml 470 BLAKE2B ee6bfe88287fe27cb8bb33258f6fbb3275daf8294a834e899975e27c34d9103e21dcdef3f43b5df3a9a9e5d741f971d0117ad6e4410c1117306d9b913c8f2bc6 SHA512 e2167dfde1b79b2ec613ad671868a7ad28e64705515534b7911d2bc1f2cfeb6e68e14b1d93e6e29ab2f60c2b49b60454d4b6d9bba2f7bcf9cc3f3a20424fe3a7
diff --git a/dev-python/croniter/croniter-2.0.2.ebuild b/dev-python/croniter/croniter-2.0.2.ebuild
new file mode 100644
index 000000000000..3d5f6c8e5f9f
--- /dev/null
+++ b/dev-python/croniter/croniter-2.0.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module to provide iteration for datetime object"
+HOMEPAGE="
+ https://github.com/kiorky/croniter/
+ https://pypi.org/project/croniter/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/tzlocal[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest
index 60e881219b2d..1a343409d141 100644
--- a/dev-python/griffe/Manifest
+++ b/dev-python/griffe/Manifest
@@ -1,5 +1,7 @@
DIST griffe-0.40.1.gh.tar.gz 216435 BLAKE2B 0b2e304db94dadd113e72fd49d593a56fb4a115d18bde46a76f27a28e44d7efc7620e0782eb9960a32278c63ca79c7a499a5214cc3856794dc9d89c4333f44ec SHA512 6e7d3d120cee4270f6455ac46a43e03da7f77e6b8c2776eea3a49d0809737cdebf24ca413d1fb05c025b820d5dd55717781d33749b29dc60edcfa5848c890d7b
DIST griffe-0.41.0.gh.tar.gz 216110 BLAKE2B ce7865bc38afc60b61ca530937599a25a45e5eb1ed905d989558da39246bf4fd75cf109f8158cd11a1d83c5d369a30d15fda1fa2d301b6ce0b54f198e21284a3 SHA512 48fbe053755027dca9c5cb00ed9eff07667114585381a4ff017de508bcd555a54ea457c652719d43e28878eef26a985517d4b14d4992a8681d60be9090507814
+DIST griffe-0.41.1.gh.tar.gz 216351 BLAKE2B e4c8bad6c6870aab7dee9d8d4326537d7943b3afdb96d8c3ffb90387f1e6dde7296f63a9cecf0b8f7f444ee1d05845af3a064483b6c96e6434ee6469acd9c7ca SHA512 853082357ee79cf29d8551a22c2b6bf40e74a332234afeeea629a27814e8bbc91f682d2a0a305c93baf27e5e4f2697b8ee19cbf43e63e03ac71879f872a71988
EBUILD griffe-0.40.1.ebuild 963 BLAKE2B 1048aef3e64f935a399d5961b2d7c63301c0d3b99dc4592b8af5dbfd5160cba965245de477eda22ab35fb4250441f125b4ac8d0ffe9b703c46919c1118d6b398 SHA512 febd9e6b6406d6fe35f2444d479981a0973614b59a467fa78e83bf00c6db575be2db6b21e59ade85d0d3fa711556685ab80369c4d681258df6df2ffc56398987
EBUILD griffe-0.41.0.ebuild 963 BLAKE2B 1048aef3e64f935a399d5961b2d7c63301c0d3b99dc4592b8af5dbfd5160cba965245de477eda22ab35fb4250441f125b4ac8d0ffe9b703c46919c1118d6b398 SHA512 febd9e6b6406d6fe35f2444d479981a0973614b59a467fa78e83bf00c6db575be2db6b21e59ade85d0d3fa711556685ab80369c4d681258df6df2ffc56398987
+EBUILD griffe-0.41.1.ebuild 963 BLAKE2B 1048aef3e64f935a399d5961b2d7c63301c0d3b99dc4592b8af5dbfd5160cba965245de477eda22ab35fb4250441f125b4ac8d0ffe9b703c46919c1118d6b398 SHA512 febd9e6b6406d6fe35f2444d479981a0973614b59a467fa78e83bf00c6db575be2db6b21e59ade85d0d3fa711556685ab80369c4d681258df6df2ffc56398987
MISC metadata.xml 398 BLAKE2B eb35dbbdd7d3482404991416d9e06e3e87f88a96cc91d481b5a2f53eb732172116b4cfefa1a65f9ba8db44e2b10ed0fd6e4031b7d17382e9e931d1a2eedb322e SHA512 833aac5d52c2584143d67b7ad325e9538cee17d454410b3c4708ad9b47f58d3b2c0875d735b149603bb36ae124d24343b2e456a6db5e5f806da2e13f32c108cc
diff --git a/dev-python/griffe/griffe-0.41.1.ebuild b/dev-python/griffe/griffe-0.41.1.ebuild
new file mode 100644
index 000000000000..73f99c53e1af
--- /dev/null
+++ b/dev-python/griffe/griffe-0.41.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Signature generator for Python programs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/griffe/
+ https://github.com/mkdocstrings/griffe/
+ https://pypi.org/project/griffe/
+"
+# Tests need files absent from the PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
+
+EPYTEST_DESELECT=(
+ # fragile to installed packages
+ # (failed on PySide2 for me)
+ tests/test_stdlib.py::test_fuzzing_on_stdlib
+)
diff --git a/dev-python/httpx-socks/Manifest b/dev-python/httpx-socks/Manifest
index 6e7de9cc6298..ccb68e59bc06 100644
--- a/dev-python/httpx-socks/Manifest
+++ b/dev-python/httpx-socks/Manifest
@@ -1,5 +1,7 @@
DIST httpx-socks-0.8.0.gh.tar.gz 15285 BLAKE2B 1da3bffff2be273e62452d96c8e07f38cf3c488bb89704ab377565feecafc1f96e9b96b615dfca4c3721c295414005014f868982a440ed47f3454814545aa6c7 SHA512 f58555670bc689002633daf3cf373641cbab6417636d16e878d5f9fc796b8bf7111d7c6985909590ccaeedb95793f589676e7f36c217330cbf46b4778319a4b7
DIST httpx-socks-0.8.1.gh.tar.gz 15289 BLAKE2B 08a8431c5818ea653ea27a0dbc3de6708cb81a7129cda779e8c8cbe3d497ccdad0ed646faf06c5138f6c136a74d4c1b06e6e3920fc5362d471aa03372721cd33 SHA512 804e609826eff4c9e321440b657f3c96d688bf27a4e9a1fdd6b07a410f7f7671fef840403d2231a48b53133a8a4db9522f6c46467e78dc2443270fea4116d66e
+DIST httpx-socks-0.9.0.gh.tar.gz 15209 BLAKE2B 44a4cd3d7f1f8c29578343a5237e04f2f331789ab3d2a89e254780ef4b6265d42678ae61a872205c4780312c49ece4a9d5351151979291da219098ea1be95f28 SHA512 313b6482d4afd49759f8e0208bc657eb21f7b0016acece2e2c4af4fa6f839e362ba5ccd4323d93c0fdc4751e9fe5a997ab751c2b5a7f0a2b263790df864f8e40
EBUILD httpx-socks-0.8.0-r1.ebuild 1215 BLAKE2B 161026c144fd49e0b9fe516f3d2dd5177f6f196db3621b4192092f804094045a6c085afe7811b4f25355bfa55c707120f809146afad992d1c1fe529bd83aa253 SHA512 a40399ced8524a28c337af5d1035c256acbd4535988cabb2b69cbc2da10200f23f2d16f36c314f408320aa503df2b1694d6112b2fb2562b0533ec7589cee64cb
EBUILD httpx-socks-0.8.1.ebuild 1265 BLAKE2B 5dd7bead159ded13898a6bc0717399d1be0a9e302b5fd6861b2be6f4c3c98094de29e658867925bf6d166b9c79a0779b08b737d7e9c9331c01f53abea4845e57 SHA512 d49c268efa0b58abb8465bedbcdca8df38eb1df4cb98c18f4e0faec7faa2607c10515015f58fa759a4d49cd349fdadb3cf7844d695db1348cfb32bc694588402
+EBUILD httpx-socks-0.9.0.ebuild 1265 BLAKE2B 5dd7bead159ded13898a6bc0717399d1be0a9e302b5fd6861b2be6f4c3c98094de29e658867925bf6d166b9c79a0779b08b737d7e9c9331c01f53abea4845e57 SHA512 d49c268efa0b58abb8465bedbcdca8df38eb1df4cb98c18f4e0faec7faa2607c10515015f58fa759a4d49cd349fdadb3cf7844d695db1348cfb32bc694588402
MISC metadata.xml 400 BLAKE2B b244ebd9f79b1c3313797b0384339d17df61913473cd26ab01c8490fe02cbe735609dbd2b2d76e7b1b7f716bbb3038590517481a05c1b7886ad49905f171f5e3 SHA512 3cb1600426cdc5b9ec3bd5d18b547dedb961bbc341891293f828e70d5156d845c8676ba25244804d32c702fab40134c39237e5ce4fc518104a969a8f8ffb282f
diff --git a/dev-python/httpx-socks/httpx-socks-0.9.0.ebuild b/dev-python/httpx-socks/httpx-socks-0.9.0.ebuild
new file mode 100644
index 000000000000..04525123e363
--- /dev/null
+++ b/dev-python/httpx-socks/httpx-socks-0.9.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Proxy (HTTP, SOCKS) transports for httpx"
+HOMEPAGE="
+ https://github.com/romis2012/httpx-socks/
+ https://pypi.org/project/httpx-socks/
+"
+# no tests in sdist, as of 0.7.6
+SRC_URI="
+ https://github.com/romis2012/httpx-socks/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/httpx-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/httpcore-0.17.3[${PYTHON_USEDEP}]
+ >=dev-python/python-socks-2.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/hypercorn-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.18.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-trio-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.19.1[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.18.0[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.6.3[${PYTHON_USEDEP}]
+ dev-python/tiny-proxy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin dependencies
+ sed -i -e 's:,<[0-9.]*::' setup.py || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/mkdocs-autorefs/Manifest b/dev-python/mkdocs-autorefs/Manifest
index 95482f5719c4..3a64a0768c30 100644
--- a/dev-python/mkdocs-autorefs/Manifest
+++ b/dev-python/mkdocs-autorefs/Manifest
@@ -1,3 +1,5 @@
DIST mkdocs_autorefs-0.5.0.tar.gz 12517 BLAKE2B 34672364f158a3cae5786cfe8576d0bd8cfad4fb21ecd72a29eae11a5d74994ae68920232ba07f306b87f8f7b8523c37e8557f537b98c3be5fe3e4bdee1ecb80 SHA512 b7bdf1b7d085fdf167d13a776369f1b9a2fd220d6e6c7061ab6c8386e734a34ce522fd69b9b16910bab51c80deac1bb820425f4b42c2d89e59b0ef5db95ffcb4
+DIST mkdocs_autorefs-1.0.1.tar.gz 17743 BLAKE2B 400a640bf200276744b2ad8694cfc37818526e725c9c5b551ad585c2f6dc2edc63f253228c6717a44d86c912d9dbe9625569fce716d6ca7041cd777046fd11d2 SHA512 2494cea8bee86f2d996347a71f775ec428d76f7cc2060e51b6d8df573fbabc6c848d3055636e81329236ea4aa14fa7b97070e1d3af93d5a7242118be7c02629d
EBUILD mkdocs-autorefs-0.5.0.ebuild 587 BLAKE2B 8ed318a15436c630f7d0505545736c375790d3297f891e6080606a4076a0472e7f876419396cf380a926db4c45d7485f1669d561bccd1d5c1180336a00082c16 SHA512 2247719bca21d6b4ff06b37693f28db6e307dcf5fc691fd78aac2308fe37c2bf72637c729d67dc1b4e3e0635c4384c2679454cc00a91e6f7beae1e33607a14f5
+EBUILD mkdocs-autorefs-1.0.1.ebuild 776 BLAKE2B b4c7e7c709041604c5f67b66fe26b4b40b25c31b219f80d9a3db075211787da4d9960345ee11dd5e280463d01921ffdc161d27272275ce08e7aa5dc586410530 SHA512 fc4d043f967e2a1b3b4379c0f18a448a8c575b7470bfb6874aa155a904040385cc0e17d6a916809d1753d12aa997efc9e881b5368cfab424d6fe1b06e9dce0a2
MISC metadata.xml 409 BLAKE2B fd2eb4943b6229ae1eee9468b8923714474662645f968653506c1e685f42f3eb133ae0c035b943d2be639a88e10babca1f18b3d4330d812057ba8e7f57628f50 SHA512 8079217df9a9d4db4bb7d345ba9508b7275fa77e43d3b6a23969ba23cf8c348a15782ba71bb66f7a3fa8f15a05bf4993dbca7e8137c02838f36274e245726391
diff --git a/dev-python/mkdocs-autorefs/mkdocs-autorefs-1.0.1.ebuild b/dev-python/mkdocs-autorefs/mkdocs-autorefs-1.0.1.ebuild
new file mode 100644
index 000000000000..fded0de2a9ac
--- /dev/null
+++ b/dev-python/mkdocs-autorefs/mkdocs-autorefs-1.0.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+DISTUTILS_USE_PEP517=pdm-backend
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Automatically link across pages in MkDoc"
+HOMEPAGE="
+ https://mkdocstrings.github.io/autorefs/
+ https://github.com/mkdocstrings/autorefs/
+ https://pypi.org/project/mkdocs-autorefs/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/markdown-3.3[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pygments-2.16[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-10.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest
index b32e790b73af..40be0c0fe6ca 100644
--- a/dev-python/mkdocs-material/Manifest
+++ b/dev-python/mkdocs-material/Manifest
@@ -1,10 +1,12 @@
AUX mkdocs-material-8.5.7-simplify-build.patch 529 BLAKE2B 60a246940983ca713b370b454fff74a36dedf1aec175e72455255b35164f75f7eb79144cff67df4b1ec143a4e19b043042c9bce562456133c917c27018c4862a SHA512 51b18f3faa4a3adfc9cf8ad1fa5fd63f787a3b2b9c9769b5889a2abab621ff6e14e034487f5573418405b26bc11155e44f7c6d50acea8baf9f45164fb3ec7984
DIST mkdocs-material-9.5.10.gh.tar.gz 14770017 BLAKE2B 90f436c205d226332b1b3acee73649a77bf01ced13e403230396f0fcf5aa7a30721d1eacb6b788324f12b08c190c7387677f4588d00d6ccab59b6ed46d2fbc1f SHA512 4ab89fdf3f31355520d49e290db613e8585a92a349bc5bb064363d8dc6c65c2998cceb2e455324880166300b05593e2195c6dcf916dbe5ac286f3112ff4f82a2
DIST mkdocs-material-9.5.11.gh.tar.gz 14776542 BLAKE2B c15e89522b1720aba4fbd00d9039238be43a96765010ab8a3197e6e964036db5b959595facc6debd2d582740bfcd2134abc8773f767188b45af6e26ce5234400 SHA512 b0c532dd96abc656fb3b3fe45b2c6b90ac29edae35492423f7a62851dbd4c07c6cf32249f09d67e1266293f5afbc6675505260770f3cbfed08d50f07342c17de
+DIST mkdocs-material-9.5.12.gh.tar.gz 14786551 BLAKE2B 149be39600d4d59553b0281df8ea606ab9ac39a98ca7ac75a945dec16147a43e0d706c9c71478123eda6ab1d3e57227f9d367da00acefd57607cd2d967674787 SHA512 669a55d79d7ae2aba3666c9e72f0374788d97eb266854795ac8b7cd10b462a3b609e0308a9581889764a001086bb9348242dcff735379f10c2f8ad003f257621
DIST mkdocs-material-9.5.7.gh.tar.gz 14715071 BLAKE2B 4eb978e28150b00b925fa151445b459cb048b8a48526aadc1f82b12fab65e8635d1417546b280cfd7af3dc6a9cf4d2ed7984958896bfa910d3d14fa27059c907 SHA512 4a5163bb5e5705a1d9bf35ed88746cff1e8bb74e7dfa92b73304a9261702449e6c63fbbcaf7680ff28ba8a344376adf777d74f145f3668076036518c143064e5
DIST mkdocs-material-9.5.9.gh.tar.gz 14726800 BLAKE2B dad4da1b661b0e1c67884248cf526bc19b3c2e33d5d2da7bfcc5589f6dde953147672ac657e84e7825ef8dcc061f6bc8aaabd6b24a3caa962dbdfa5ab8f2d49e SHA512 74031f4e9bb3ffd5cd02ee4301b5d61861e36a5cbdbc385c7db253e18c4d935ef959bf6c58033887f1edd6e3011d38b45c6bdca0ae838f76536df439447d79fc
EBUILD mkdocs-material-9.5.10.ebuild 1797 BLAKE2B a39f2daf4cb4df3d7b94ba8d4cd5c7ba541e97afbe8747f21ce9f6e88e4455e2b40d13a37090ff0df1d5b98676c73e4c6d1db7a89f09c315034e00c823c39c5f SHA512 482cd4f0c8e3512b8f3270115b1a90f727ab29d9c7097deb9a5a0215516f2b9ac1825f00bf1ae50b91b8aaeb22b75f7b77f1e8e22c10efb4ea8424a2e7a5ce5a
EBUILD mkdocs-material-9.5.11.ebuild 1797 BLAKE2B a39f2daf4cb4df3d7b94ba8d4cd5c7ba541e97afbe8747f21ce9f6e88e4455e2b40d13a37090ff0df1d5b98676c73e4c6d1db7a89f09c315034e00c823c39c5f SHA512 482cd4f0c8e3512b8f3270115b1a90f727ab29d9c7097deb9a5a0215516f2b9ac1825f00bf1ae50b91b8aaeb22b75f7b77f1e8e22c10efb4ea8424a2e7a5ce5a
+EBUILD mkdocs-material-9.5.12.ebuild 1797 BLAKE2B a39f2daf4cb4df3d7b94ba8d4cd5c7ba541e97afbe8747f21ce9f6e88e4455e2b40d13a37090ff0df1d5b98676c73e4c6d1db7a89f09c315034e00c823c39c5f SHA512 482cd4f0c8e3512b8f3270115b1a90f727ab29d9c7097deb9a5a0215516f2b9ac1825f00bf1ae50b91b8aaeb22b75f7b77f1e8e22c10efb4ea8424a2e7a5ce5a
EBUILD mkdocs-material-9.5.7.ebuild 1794 BLAKE2B 57edfb330af7a05f23b7baa57c878462f123a83e5b647ecfab1b8e25e5aa44a59586878bab2e3b7744174bc818dd4ba6b4561d3bfb7df69de53db1112ece4545 SHA512 bdb3af90984d501faa16d0cd27bf72fc9e4965ecbf427b99fcb5e7d615f4edb8610bfeb86b958559a3640b05d4bef3e2d7fe35a3e136ef044886461deae6496a
EBUILD mkdocs-material-9.5.9.ebuild 1797 BLAKE2B a39f2daf4cb4df3d7b94ba8d4cd5c7ba541e97afbe8747f21ce9f6e88e4455e2b40d13a37090ff0df1d5b98676c73e4c6d1db7a89f09c315034e00c823c39c5f SHA512 482cd4f0c8e3512b8f3270115b1a90f727ab29d9c7097deb9a5a0215516f2b9ac1825f00bf1ae50b91b8aaeb22b75f7b77f1e8e22c10efb4ea8424a2e7a5ce5a
MISC metadata.xml 1146 BLAKE2B c9eb031eb40f303fdcc39f891cdd2d4317075deb030d0f8374f874ecd63bf73960427eb3ee485b5b28515f58689b1e1bf977ee7b565bf8f9275b115853044f2c SHA512 01db399842cb09af4823278f84fcf8c51ed42609a2e61d8e64964e1759e14d22ed2f32ec0565f19184575089a218dad4939337798cd3a5b39f5be55f5f7edb69
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.5.12.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.5.12.ebuild
new file mode 100644
index 000000000000..46c2a0851fa9
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.5.12.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/mkdocs-material-extensions
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs-redirects
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="A Material Design theme for MkDocs"
+HOMEPAGE="
+ https://github.com/squidfunk/mkdocs-material/
+ https://pypi.org/project/mkdocs-material/
+"
+SRC_URI="
+ https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="social"
+
+RDEPEND="
+ >=dev-python/Babel-2.10.3[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}]
+ >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.16[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}]
+ >=dev-python/readtime-2.0[${PYTHON_USEDEP}]
+ >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26[${PYTHON_USEDEP}]
+ social? (
+ >=dev-python/pillow-10.2[${PYTHON_USEDEP}]
+ >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}]
+"
+# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
+PDEPEND="
+ >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ # simplify pyproject to remove extra deps for metadata
+ "${FILESDIR}/${PN}-8.5.7-simplify-build.patch"
+)
+
+src_prepare() {
+ echo "__version__ = '${PV}'" > gentoo_version.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/mkdocs-static-i18n/Manifest b/dev-python/mkdocs-static-i18n/Manifest
index 0aad51518ae1..ddc85b762740 100644
--- a/dev-python/mkdocs-static-i18n/Manifest
+++ b/dev-python/mkdocs-static-i18n/Manifest
@@ -1,3 +1,5 @@
DIST mkdocs_static_i18n-1.2.0.tar.gz 1368013 BLAKE2B b983be467a6afab2e40e9452f625fa1771eb640142fc3e9ce2c1df3d93442e91a1f99ef17ba06ff4045b2c9a1c049f63ab99971416875c592ad15e581710a519 SHA512 a5737faf85adf76d8dd60fa9fd21f454177318508fcb9a74f63208ade7013975c5bb23646261e579b1c1617e214568e07c788c6ba8af9fe2ee3877308bcff6c7
+DIST mkdocs_static_i18n-1.2.2.tar.gz 1370000 BLAKE2B 2be26c971ad28a306b6d34adb4c8359954f4a7333f031f1939c08a470388004f9ac825da3c5b4e6a88e5dd41dfb12ac972938bf39b80c91ef16b760ea3c6c46a SHA512 7a356590b306c92d4cd664c90538110bf613220930c17a5285aeb4f9ad092ea9b93efd2390beed6609f176aa26ab4f51be60c89e2d2da19a1d78ac2603fe891b
EBUILD mkdocs-static-i18n-1.2.0.ebuild 625 BLAKE2B 0daab0d4083bbae0a409533a25c93925c79f112658c58ddf12996f36ec22acd8cd0665956e2f593a7484a2bf2f2753403daeb090264ea976d4a3ba6c4364097f SHA512 02c1bc378f12fd0a7d61b6075792a966c254116d3e722a5ab4fb3d23bd2c3e29668c3d2a6bfa6508da2b38c45e8c4a3ef0e2901d6e5185a3fdc3ba0fec6e41c5
+EBUILD mkdocs-static-i18n-1.2.2.ebuild 655 BLAKE2B fcc91e2c0467a7bf809b6328c1e18b5b66b16c39d972a003612fe790d227e36c52a5dcd6b8def69dfcc9bf2dce89dec6c748dabe9d0ca086b31ea62fc36f9366 SHA512 21f44f86bd2362000e45e5d536ce5c167cdc63697fa2e732514e14ab4ddcc0040cc7325e9fb96b73702960e2fe0bee7926215e1c76fbe2cc90979c524be0e608
MISC metadata.xml 426 BLAKE2B a1a83c2bfade1a80f4dd328454854eb13ecda83c573f368cf93b474248ec20a4f7fad951a22b3121d312f011c22b7c887877089e3789ed4c4cdc4e1fcb130234 SHA512 1cf10f39090f02ab59464129b255d36f4ee435f25710de7125137a78e95855d2cb505bb152762b2de6899ad6146e27d7973164a692ef43e6a0a3840010ded5e8
diff --git a/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.2.ebuild b/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.2.ebuild
new file mode 100644
index 000000000000..ebaafc9439a1
--- /dev/null
+++ b/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517="hatchling"
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="MkDocs i18n plugin using static translation markdown files"
+HOMEPAGE="
+ https://github.com/ultrabug/mkdocs-static-i18n
+ https://pypi.org/project/mkdocs-static-i18n/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/mkdocs-1.5.2[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ !!dev-python/mkdocs-i18n
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pymdown-extensions/Manifest b/dev-python/pymdown-extensions/Manifest
index 44e7c7c13f56..ba76c08f5f43 100644
--- a/dev-python/pymdown-extensions/Manifest
+++ b/dev-python/pymdown-extensions/Manifest
@@ -1,3 +1,3 @@
DIST pymdown_extensions-10.7.tar.gz 811535 BLAKE2B d933fa172e34e4d36956d8db385865939519f3cc8c5eecc3e132e4d2730910edf8df40ff52183caad26a5ea7613230fe55f09ca8e74a0911b4bbc039b2160ed3 SHA512 1fd1514dc2d322de42b077f90c9e328b6359f34904339deaaed699278c41ea464c793a3a794337d7bb634e2eca4411d54553005a3e5b0d8e31444feeb9e9a0db
-EBUILD pymdown-extensions-10.7.ebuild 639 BLAKE2B fa31a81f0f99cd99bf35a43cf6d9eb1f457819392187374847812bd4534c580030cd74a325b2344e309d92252dd83466e8acb2029db8a2b4e0c85b29e7bb3b03 SHA512 d5530b839843bd48c85e32a06657a48d54b2b8b8eda6cf4fa0cedb0777a95818e7cb2e52e7009aa62218a1998435e099c57a373c872e77bee236fbca7fbf05d7
+EBUILD pymdown-extensions-10.7.ebuild 868 BLAKE2B 832ba54389e5d087a18c93466e66decbaca279ef605e91d09e57390762b62edd7eda04fa2a41f4e02e79be652184ab061ba1d455ff6c393e78c747e9ac584574 SHA512 2b6a1a2589e8ccfb23ed4bad94399584eb72baf5484deb02f5a74ea13249598a1e2c935604d9c412eed7133ce62f9454119b3154ec7019f7440d86e610fac044
MISC metadata.xml 536 BLAKE2B f417ab2132b06eadbf1785654080084c4ef694f983e223ade83d5c77213e4443203a498a168efd68e4a3b1cccbe019c5b88716ac851719b9197deba9d2fd5411 SHA512 51304b48f9e296abea376be300053e041ea331f93e1ec7a2a3cdf10eea0ed6e9b8f04cdcbbed7920b46c60d5f6ce9337e3e25635516871d7b080eb54bfa16f57
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.7.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.7.ebuild
index e511be06d01e..b625aeccdfcc 100644
--- a/dev-python/pymdown-extensions/pymdown-extensions-10.7.ebuild
+++ b/dev-python/pymdown-extensions/pymdown-extensions-10.7.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1 pypi
@@ -30,3 +30,17 @@ BDEPEND="
"
distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ 'tests/test_syntax.py::test_extensions[compare54]'
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/python-cinderclient/Manifest b/dev-python/python-cinderclient/Manifest
index e86f2e8c9f17..a231e1830811 100644
--- a/dev-python/python-cinderclient/Manifest
+++ b/dev-python/python-cinderclient/Manifest
@@ -1,3 +1,5 @@
DIST python-cinderclient-9.4.0.tar.gz 236451 BLAKE2B 75d5ee0c3f64c3254e7f9f806bccc685ab929c5812076fb7b78a995e9c9adbf384f296799f7119128e1781a34e727e305e3ae4bef04939adc2e7fd0268e83b1c SHA512 e7628b569bf46c7a8d5ecf7918be9133b400411d5509112baad49f7ff60ad0fc5d7c98cec9d4d6286cf8bd9c23c918af3aaa52c1b2d68536a3a2e4a89ce8502b
+DIST python-cinderclient-9.5.0.tar.gz 236811 BLAKE2B 60d450ea31357d366c0c18b6715a36f51a9700393c2e5bb0967cd86706dd552fb2deaee428816019e87bd2c272b2f9342118b1f770370ce5aba062d3ebd292ce SHA512 efcc0f4b32e1d6f8d696137c416aeed6fc4f2a69b6fa59d47f0c46dc7d38d1f2bbc5ea35d1bcbac0604e9db8b75d256d47a76d17d040b6e84fca6069a65df8d8
EBUILD python-cinderclient-9.4.0.ebuild 1272 BLAKE2B f398f805ef2af5b386b1b396f4fc27c1461006176603579d02aacfe484079079b5c9e2c9d7f38bf4368cb5cb24c5e61ccfb5dd85a2dbcfb46d038986094d1bcb SHA512 c92922e6435e1abd75469eb15323fda7a4d9d90d48883cd2765c5139ce8d7707fb7f8a51e43895e068db7b0ebba2ec3351775b72113d0e0ace602e75349c2a3c
+EBUILD python-cinderclient-9.5.0.ebuild 1275 BLAKE2B 30df52bfe14c91fe586c5fa7435d95315a6d875258eac69ddd0915241af32c6304b959916a607dd17f56d8a638df028493327e54294e6cd45ded7b36a24dd345 SHA512 0758dc8bd99d4cae30a6edab7ad249e13cc84b826bf431936a6886038e8f78f1ebddc2f316ab658ffea9adc036d8f6fd4e85bfbc12262ef1f15f2d8a7ca36ef4
MISC metadata.xml 727 BLAKE2B 0017cc08edf25f27b8a2816bc3ce1374148a17522bf2c5ea643ad10cde9f5779b1b6bf1e3c91627db76d2f77b8dcbfc87a29fb2cdd8064b3140fb14d1e6e00a1 SHA512 e30e64371f7a5f5fa506396f2edbbc7f862a585c7fe9af4f6fe63e99d4bbe9f9bf3a1f002a62c40ab9d75bd90ab99446bb80bf7f2fedf5b37287eeb54e5dacbe
diff --git a/dev-python/python-cinderclient/python-cinderclient-9.5.0.ebuild b/dev-python/python-cinderclient/python-cinderclient-9.5.0.ebuild
new file mode 100644
index 000000000000..cab20f180eb5
--- /dev/null
+++ b/dev-python/python-cinderclient/python-cinderclient-9.5.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 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_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack Cinder API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-cinderclient/
+ https://github.com/openstack/python-cinderclient/
+ https://pypi.org/project/python-cinderclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/keystoneauth1-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-5.0.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-5.5.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.25.1[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-3.3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ddt[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/oslo-serialization[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b cinderclient/tests/unit
+}
diff --git a/dev-python/python-dateutil/Manifest b/dev-python/python-dateutil/Manifest
index 2c46b2281a36..bc474a2c8368 100644
--- a/dev-python/python-dateutil/Manifest
+++ b/dev-python/python-dateutil/Manifest
@@ -1,5 +1,9 @@
AUX python-dateutil-2.8.1-no-pytest-cov.patch 687 BLAKE2B 97eb6d653a013b6fb279209804d7a82b4599ed672eb7a6b94654dc789ae3ad5e2978c9684439d94e405423c0a022ff70155c7d50f5d03a5e74cfe111a665ff7c SHA512 f4e90ed1d1cdab509a574319ae6cf0b646c2741eb05459c408caa29e1a6ca512e71a258ca8119c8e1f59948276c9e14e726b6f53cea868709bd89dea2280b700
AUX python-dateutil-2.8.2-system-tzdata.patch 3495 BLAKE2B b3d5ca203731932044f16bcde48f8f981f6907ce8a9319423d41eb0baf62331d472c1a5dd72ec3ac1f059296423adaea18bd4ea6d660add56cfd73ea86f26bf2 SHA512 44d2f3f9f0c04401cb545dc0a757b682eb3a9a66e63cf64121e75243cebdfa53945c6ae9bf197cb6b754c9732e9407fc9384aa45b2d7181740bb1ae23af718fe
+AUX python-dateutil-2.9.0-no-pytest-cov.patch 655 BLAKE2B cacb3840f5ad17062b65d7ce532dac96acd5f3ced199eddbcaae421cfa280d6628184cbe618aa54f24d841501c021828a0f8a1e761cb960eb73836cff596ef0e SHA512 6f1bf01585918463af85ade0f78e9648e27b9a2c7b8e735ee2cfc84625f895eb803b20b2ff66c733d5c866b3671939d52bb8f7396e02204ed278f62b9abfe1d9
+AUX python-dateutil-2.9.0-system-tzdata.patch 3072 BLAKE2B 53bdba62ec738f3987fea98caf020ab98c07de3a6dd3ce4195590a556526a6646b493fa55dce8aab9d5c63eb100604360274c188688c5a64991bb863ed4cfd8b SHA512 2a242d5aaccfb86efcf481b03ef17b00122e453984587ded8630da62b0dac422ebb09cf346f15c9a51a290d2df6b14b0a0482f90319d3fb29ac01d369cde7d6f
DIST python-dateutil-2.8.2.tar.gz 357324 BLAKE2B 060f97280b63ed70e6d83fa5696af6dc3c729cdf5bc48c7a90e3e59eb0cc0360e5205536685550330d64ecc9b6e40ca12888409d6819dd136b17a67add2ec4e8 SHA512 6538858e4a3e2d1de1bf25b6d8b25e3a8d20bf60fb85e32d07ac491c90ce193e268bb5641371b8a79fb0f033a184bac9896b3bc643c1aca9ee9c6478286ac20c
+DIST python-dateutil-2.9.0.tar.gz 342990 BLAKE2B 32e4e4e251d27e5a870df24445fa0b2fa76761cb06ba4d8a779938a58fd5cf4bbf1739670f60ca4b41d46db6343a785d6bd71fbe3dd2a816d5cb0fa0d3296fbc SHA512 7dd550d646477c8c3953a42aabe4c0aa3f4d1f74f6fed018a1a429270f41aa2c6832df264e67510d380d149eaa436c1b613544c8026c180c2241f15205ca6d36
EBUILD python-dateutil-2.8.2-r1.ebuild 1131 BLAKE2B 92f694c73d52b86e5ff2004949b6a7793a3a32700130eaf90962b20d4277333f751aa14cc5c9804fca95fa4b68401df4444ce72f59fdda5127afe9d268c8c492 SHA512 eecb7473247860723fa774e041ea3958037b5818c866550e0de253083e92eff71c8573609aa108ee710112b078ab0490a234d245cc4cf00f10112be819e9c949
+EBUILD python-dateutil-2.9.0.ebuild 1139 BLAKE2B 07a18ac51de792625ef2dd26b734024fcd9c0822a668b5c82f7b1d8972f22f3a5c1c9569846d012271c80630297f6f5809d569c51ef9a2ddef07a08ac580f8c9 SHA512 c88c3f8316093a7cc0332e1eeece3881de7be179224ca07123faf5f540357ce95326d557486eade65b406e3c7245d6a5cc015ae9631d38da5971686b73d870f7
MISC metadata.xml 629 BLAKE2B 214855770bf1b160328f6a862bc1e3fd2d0e27a36c8ad240d494e8d8a54e5be4bac6abb7c2b94b1d8cccd7cc1026a100c8cc092203de3fd4c4173139d4722385 SHA512 ae326caea99b731c8ba2a162b2ea7e9441381777c9be8dd021caf12e04d2ec068215f61bbe2dd1baa6d4710defcd2dbc4ec5ee8b15f1c1817aaba1f8c841eda5
diff --git a/dev-python/python-dateutil/files/python-dateutil-2.9.0-no-pytest-cov.patch b/dev-python/python-dateutil/files/python-dateutil-2.9.0-no-pytest-cov.patch
new file mode 100644
index 000000000000..d483451a0adf
--- /dev/null
+++ b/dev-python/python-dateutil/files/python-dateutil-2.9.0-no-pytest-cov.patch
@@ -0,0 +1,18 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 78ed70a..4bb4c0a 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -14,10 +14,11 @@ def pytest_collection_modifyitems(items):
+
+ marker = marker_getter('xfail')
+
++ # requires pytest-cov
+ # Need to query the args because conditional xfail tests still have
+ # the xfail mark even if they are not expected to fail
+- if marker and (not marker.args or marker.args[0]):
+- item.add_marker(pytest.mark.no_cover)
++ #if marker and (not marker.args or marker.args[0]):
++ # item.add_marker(pytest.mark.no_cover)
+
+
+ def set_tzpath():
diff --git a/dev-python/python-dateutil/files/python-dateutil-2.9.0-system-tzdata.patch b/dev-python/python-dateutil/files/python-dateutil-2.9.0-system-tzdata.patch
new file mode 100644
index 000000000000..08a983d9f6a2
--- /dev/null
+++ b/dev-python/python-dateutil/files/python-dateutil-2.9.0-system-tzdata.patch
@@ -0,0 +1,91 @@
+diff --git a/src/dateutil/zoneinfo/__init__.py b/src/dateutil/zoneinfo/__init__.py
+index 34f11ad..e3f0f94 100644
+--- a/src/dateutil/zoneinfo/__init__.py
++++ b/src/dateutil/zoneinfo/__init__.py
+@@ -1,6 +1,7 @@
+ # -*- coding: utf-8 -*-
+ import warnings
+ import json
++import os
+
+ from tarfile import TarFile
+ from pkgutil import get_data
+@@ -10,7 +11,7 @@ from dateutil.tz import tzfile as _tzfile
+
+ __all__ = ["get_zonefile_instance", "gettz", "gettz_db_metadata"]
+
+-ZONEFILENAME = "dateutil-zoneinfo.tar.gz"
++ZONEDIRECTORY = "/usr/share/zoneinfo"
+ METADATA_FN = 'METADATA'
+
+
+@@ -19,12 +20,14 @@ class tzfile(_tzfile):
+ return (gettz, (self._filename,))
+
+
+-def getzoneinfofile_stream():
+- try:
+- return BytesIO(get_data(__name__, ZONEFILENAME))
+- except IOError as e: # TODO switch to FileNotFoundError?
+- warnings.warn("I/O error({0}): {1}".format(e.errno, e.strerror))
+- return None
++def iter_zones(topdir):
++ for dirpath, dirnames, filenames in os.walk(topdir):
++ for f in filenames:
++ if f.endswith(('.list', '.tab', '.zi', 'leapseconds')):
++ continue
++ fpath = os.path.join(dirpath, f)
++ relpath = os.path.relpath(fpath, topdir)
++ yield (relpath, tzfile(fpath, filename=relpath))
+
+
+ class ZoneInfoFile(object):
+@@ -48,7 +51,7 @@ class ZoneInfoFile(object):
+ # no metadata in tar file
+ self.metadata = None
+ else:
+- self.zones = {}
++ self.zones = dict(iter_zones(ZONEDIRECTORY))
+ self.metadata = None
+
+ def get(self, name, default=None):
+@@ -99,7 +102,7 @@ def get_zonefile_instance(new_instance=False):
+ zif = getattr(get_zonefile_instance, '_cached_instance', None)
+
+ if zif is None:
+- zif = ZoneInfoFile(getzoneinfofile_stream())
++ zif = ZoneInfoFile()
+
+ get_zonefile_instance._cached_instance = zif
+
+@@ -140,7 +143,7 @@ def gettz(name):
+ DeprecationWarning)
+
+ if len(_CLASS_ZONE_INSTANCE) == 0:
+- _CLASS_ZONE_INSTANCE.append(ZoneInfoFile(getzoneinfofile_stream()))
++ _CLASS_ZONE_INSTANCE.append(ZoneInfoFile())
+ return _CLASS_ZONE_INSTANCE[0].zones.get(name)
+
+
+@@ -163,5 +166,5 @@ def gettz_db_metadata():
+ DeprecationWarning)
+
+ if len(_CLASS_ZONE_INSTANCE) == 0:
+- _CLASS_ZONE_INSTANCE.append(ZoneInfoFile(getzoneinfofile_stream()))
++ _CLASS_ZONE_INSTANCE.append(ZoneInfoFile())
+ return _CLASS_ZONE_INSTANCE[0].metadata
+diff --git a/tests/test_imports.py b/tests/test_imports.py
+index 7d0749e..4256f45 100644
+--- a/tests/test_imports.py
++++ b/tests/test_imports.py
+@@ -232,9 +232,8 @@ def test_import_zone_info_from():
+ def test_import_zone_info_star():
+ from dateutil.zoneinfo import gettz
+ from dateutil.zoneinfo import gettz_db_metadata
+- from dateutil.zoneinfo import rebuild
+
+- zi_all = (gettz, gettz_db_metadata, rebuild)
++ zi_all = (gettz, gettz_db_metadata)
+
+ for var in zi_all:
+ assert var is not None
diff --git a/dev-python/python-dateutil/python-dateutil-2.9.0.ebuild b/dev-python/python-dateutil/python-dateutil-2.9.0.ebuild
new file mode 100644
index 000000000000..6d49a8fbb658
--- /dev/null
+++ b/dev-python/python-dateutil/python-dateutil-2.9.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 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_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extensions to the standard Python datetime module"
+HOMEPAGE="
+ https://dateutil.readthedocs.io/
+ https://pypi.org/project/python-dateutil/
+ https://github.com/dateutil/dateutil/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/six-1.5[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/python-dateutil-2.9.0-system-tzdata.patch"
+ "${FILESDIR}/python-dateutil-2.9.0-no-pytest-cov.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't install zoneinfo tarball
+ sed -i '/package_data=/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/python-glanceclient/Manifest b/dev-python/python-glanceclient/Manifest
index e98a46417511..f757fd8cbff5 100644
--- a/dev-python/python-glanceclient/Manifest
+++ b/dev-python/python-glanceclient/Manifest
@@ -1,3 +1,5 @@
DIST python-glanceclient-4.4.0.tar.gz 205612 BLAKE2B 8a1e31eb8dbefe4b08e945377bb190264332cd01066b96ec061e8839a45294ed6cf5ab08fd89d97b57bc072987ce04d19f94a887d5e8eaa10760d996058122bf SHA512 31d2994fef3298f790a3ec268b26d432602a6b73265277e961ff2b47df2a84028253da8b2090193e1e65c55ab6e4b40413a16d01a653b90cae926545ea4097ae
+DIST python-glanceclient-4.5.0.tar.gz 205909 BLAKE2B 5e48abd2c869d4f3a0bfbfc593950754fd165bd36a98bc4358d88a1b64f6892b6633f10421999733c014fe8f1664d1181b5019739997139c1ef5d604194cfda8 SHA512 141f03fa55012981214283e961c4d4020a2fa4dc87b7cbc323d87c536b88e98f4798b59d83dc627a5846c5437fdac963fb34a3db444c20410a01441bf5838fa7
EBUILD python-glanceclient-4.4.0-r1.ebuild 1447 BLAKE2B 40c40c23b254d7a10f601302f303e116ebb1e11fe3a2dae611f618b3e7fc3f87a44e7696b3a2f759dbcef55247db40619bb0c6898936a18d2ded3e33da6d4b66 SHA512 42efacf1d4b5cee415f527472033c4f89d6e274523ea82b08f8db4e088f50e97b91bc0c80277807cb619ee89673582eb98ceb3b84c8260e7366252502fd3ab5c
+EBUILD python-glanceclient-4.5.0.ebuild 1450 BLAKE2B d58d4dca81d4b85d005cb7deece8138cca60df7154e7b07d90a5115d7c1a61a48c37f42d5e8919fd8462047a96fabddc337af7019f342691054d51e681a27fa2 SHA512 092c588db974c8facee2b5baf8a5ed721fb3110a2dd1e67b7e8f68a450206513648dceb7d6bea8a841820ff2a605502504a8d5704177843ffc219da2ba00d307
MISC metadata.xml 663 BLAKE2B 642540f3f4d577797725731f2374b5801ec2d4ad799ee4ccfaa4e29d955bd93a8ade0e6c9ec7712ee27d9f1f93186854472d301016a732020575b8f7bc1c5138 SHA512 fa9b88dce5a10824dd0d6987698587666343c95d8b6c607e466f14883c34fb0ebc846b683ae7d8bb65efe88007e6db0d2b1b41ba389c3b656a24f1839d03d9e2
diff --git a/dev-python/python-glanceclient/python-glanceclient-4.5.0.ebuild b/dev-python/python-glanceclient/python-glanceclient-4.5.0.ebuild
new file mode 100644
index 000000000000..6930cb7e8b95
--- /dev/null
+++ b/dev-python/python-glanceclient/python-glanceclient-4.5.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 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_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack Glance API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-glanceclient/
+ https://github.com/openstack/python-glanceclient/
+ https://pypi.org/project/python-glanceclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/keystoneauth1-3.6.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/warlock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ddt[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/tempest[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ <dev-python/urllib3-2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b glanceclient/tests/unit
+}
diff --git a/dev-python/python-keystoneclient/Manifest b/dev-python/python-keystoneclient/Manifest
index 959110fcb434..f8b966f8840b 100644
--- a/dev-python/python-keystoneclient/Manifest
+++ b/dev-python/python-keystoneclient/Manifest
@@ -1,3 +1,5 @@
DIST python-keystoneclient-5.3.0.tar.gz 324777 BLAKE2B e6cc16b10771e062d96aa33868eec7c5e71b27d739f0f3c5fb57c505e9127d4f9b5636f1357ae07e3916f74c51076e7d6aa2085b558caadaf07b5d876e15d92d SHA512 788486de97faac3bb157c9834db97552f6665602155c9f38fb061feeb91c6b23b35d1bd3be47b23db53b5d67c80cd675cf45212d37062d2f0814f8406a3329b4
+DIST python-keystoneclient-5.4.0.tar.gz 324151 BLAKE2B a086432c7fe81e6b39661f2e582e5c81efde88f04ba9e8e4fca17d4d217cb67a9a7cc38087e41a2b47e5b4540245a2586436c31e9596a2c520ad3e3219ff9b0f SHA512 496c321cc68efc3f7eaacfcef39ce3a4e669ab816245e6d4afb8e06a97490eafa6f16135a2c957bfdaecf9fe12577f0ecb6a97185844d376e41d22beee190475
EBUILD python-keystoneclient-5.3.0.ebuild 1709 BLAKE2B 5c44b1cd14b9090eb403726cb05c9c41260bebdec34d3ab861f7905fae7f634ab35f24b6616b170e64497eac412b5b840991e0b68b596db71675082648ad88ff SHA512 0153067307b3f757668252b928891473b9c1e6f4fe642ea100921ae34833bc8957d1555d9497cb58403a6e4023338a714c94824e2a3699ef25b6fab96891fb62
+EBUILD python-keystoneclient-5.4.0.ebuild 1712 BLAKE2B 6504ce53757f1950b87a1cb1677f920046c19a86373323d52f533403c922f6db4b7af2d819ac87d121a8fca92f9257d151d4c72fce8d59a410c430faee6b0412 SHA512 eae92a165a5d8de9704c46f04327fa281f68109a5962ab4402390eccdc5254848a94e8d34fae72a7f95366fe3236fdaff942f907500baabbbc76063bbc8d04e9
MISC metadata.xml 667 BLAKE2B 47026519bc6a282a39e2503fc0fe2ebb54902ddf8cefac20f36e13c5dbe6589bd245588e461ff958d8b6e16c58e4d07f0937484da0fe438e4ac5367c9957efdd SHA512 df9d8fc8aebd726b4dbc63548a573352206dc92cf2db1520e558ce8bf1635ecab36589e7fae0bd38e34a62b16369ae890855b0f0390a0182e20a28ca8b48a635
diff --git a/dev-python/python-keystoneclient/python-keystoneclient-5.4.0.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-5.4.0.ebuild
new file mode 100644
index 000000000000..a5db41307ba8
--- /dev/null
+++ b/dev-python/python-keystoneclient/python-keystoneclient-5.4.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 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_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Client Library for OpenStack Identity"
+HOMEPAGE="
+ https://opendev.org/openstack/python-keystoneclient/
+ https://github.com/openstack/python-keystoneclient/
+ https://pypi.org/project/python-keystoneclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6.2[${PYTHON_USEDEP}]
+ >=dev-python/os-client-config-1.28.0
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest keystoneclient/tests/unit
+}
diff --git a/dev-python/python-neutronclient/Manifest b/dev-python/python-neutronclient/Manifest
index e8201fd5a91f..c019d71a01b1 100644
--- a/dev-python/python-neutronclient/Manifest
+++ b/dev-python/python-neutronclient/Manifest
@@ -1,3 +1,5 @@
DIST python-neutronclient-11.1.0.tar.gz 210626 BLAKE2B c9b3328a57fb05a6bd4058b3a96a1a346caea08110724cc5d7d3855d08140bb2baeb3f133464aa02d74a6ed18e3b7f174560766134d15aa681fea68b169c7b2c SHA512 04f81f0dffc085a16ffca76d16c4de7b9c0a686053e45aacbedfb94902651c20dd34c6ccc29b15bb8e8836df5124e466d5f1bea94a82dc06d194fa6c2df62734
+DIST python-neutronclient-11.2.0.tar.gz 211150 BLAKE2B 3384e75eedf0f81ce1d056c1e58c8ecf4ee94041f54225b4435dbc3f8d01cbb709428e7e42bf312b7734b276dae959c3014dae66696bd9019a120ccf8805029e SHA512 47d0bdd9765c727cf3b9fba44269853652bb0d9ba84a25123402262b8381ae3f3d9f9e98916f0ff770b6a3c92699d5d2e3140ad19cdb9b17c94fed3185d7fca0
EBUILD python-neutronclient-11.1.0.ebuild 2385 BLAKE2B 2d1e20340ea693afceaf02284a0423a647af4e196f9352b9b9d85f55f91ce31ed8cef13739ea6fa3f248fb79d24500512497c45d1713dbe35575a7e9dfcb8b3d SHA512 c9c31380592cb5e6dfaca826661b5b574f035585a08e2c743052d704df8de97c125c356467ac81b85c6efa60ec68fccbad8c588985301e285c3647f08e7101cc
+EBUILD python-neutronclient-11.2.0.ebuild 2388 BLAKE2B c42bb5d905ed7a98195b45620f8e71ecd667defaab4bc70f977e6de9aa594b492ac358e260be2df03e88805870e06d6d27cdca8f005fc6adc189206879b8542e SHA512 393055b64b5ee7e622919a6bf546641fa915da3b3e969c4e1813c1067c51ffc9fa7887533a7309a68c12c84d43fc0083d9d66b5bcdba73ee2d132f665e485b0e
MISC metadata.xml 717 BLAKE2B 75f33edaa71a10416b2b714a8cf11293977a15c6f2480b1606836d2dff0a5833e0ae10080acc5da0d665b466b6487f01e9bb911b4099f68c45bd0509eec811ed SHA512 39e07805e8c08291ddee7b569f092bfd2c2b7bad520bb076d724427e939b3e33b0a83007fce2f43a075fb53606bb611bdf2dd56cb5ddf0dcc7a26ad71f086cea
diff --git a/dev-python/python-neutronclient/python-neutronclient-11.2.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-11.2.0.ebuild
new file mode 100644
index 000000000000..700ffba1b843
--- /dev/null
+++ b/dev-python/python-neutronclient/python-neutronclient-11.2.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 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_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack Quantum API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-neutronclient/
+ https://github.com/openstack/python-neutronclient/
+ https://pypi.org/project/python-neutronclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/os-client-config-1.28.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/bandit[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/oslotest[${PYTHON_USEDEP}]
+ dev-python/python-openstackclient[${PYTHON_USEDEP}]
+ dev-python/subunit[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ dev-python/tempest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Needs osprofile
+ rm neutronclient/tests/unit/test_http.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b neutronclient.tests.unit
+}
+
+python_install() {
+ distutils-r1_python_install
+ # stupid stupid stupid
+ local SITEDIR="${D}$(python_get_sitedir)" || die
+ cd "${SITEDIR}" || die
+ local egg=( python_neutronclient*.dist-info )
+ [[ -d ${egg[0]} ]] || die "python_quantumclient*.dist-info not found"
+ ln -s "${egg[0]}" "${egg[0]/neutron/quantum}" || die
+ ln -s neutronclient quantumclient || die
+ ln -s neutron quantumclient/quantum || die
+}
diff --git a/dev-python/python-novaclient/Manifest b/dev-python/python-novaclient/Manifest
index 22a3a4c5b705..552fb9dc7ad2 100644
--- a/dev-python/python-novaclient/Manifest
+++ b/dev-python/python-novaclient/Manifest
@@ -1,3 +1,5 @@
DIST python-novaclient-18.4.0.tar.gz 339338 BLAKE2B 6a0c47d8d7aec338986d5928d29a736020a08ccbd3df3bbaeda77dd18de8fb78d51da9586065bf25bd620f224462cbcaf421dcb28c649e1a4ee92911a9f12a9a SHA512 767d53c3fa3b312b2210dcdbe8895baefa167c00041fe6b228a30099c892b17ed4339477894a81d314b746da5c2a772a07e7a887eb807a31ef7bbdbea621c40f
+DIST python-novaclient-18.5.0.tar.gz 339744 BLAKE2B 7d7a6ae9f57e5d703d370d4f58b3aec5680db3928b04eb60eff1688f09e63f5b1cd4bd2205a8cef39c7f5b79d4f4e5aafdd880a70142a8be87f93e5449519e25 SHA512 97d67e56c03dbb2dfcc0029beac2d55ebaf50405c6f9b18706e41605aac38fcab182e10f1cb5764775abea97dd358df9f9d334dbf105ea9a41bf5de6ed4c55cf
EBUILD python-novaclient-18.4.0.ebuild 1912 BLAKE2B 2b20f48f6ecc1166814b970c7dfed23bc33982c256e9d8f6fd1e57393b611edeca988f8ba067d96283f3f2c1c27925eeb282d141535516827dff8ccbff53e49f SHA512 8dd054f515c09150b0a32955c4975752c1c0b50d75c598d2ff058815ba5314f8ac387f902482a313f09695ce9e10f56a633485d27e14d7968c7156dc66e36c04
+EBUILD python-novaclient-18.5.0.ebuild 1867 BLAKE2B eb5b1ab8364118b7a73720dee44105c92a2195b821bcd43fd0fa225a3334363c4892864f7250eb51bae655fa2da6a8edf13e1a743f62c3741ec242436e12abba SHA512 a274c7034024c6d9e5488797c06c1d761f7dacb8f1f2e4ddaf3169777d9b9a7139d4a766181516a279760222963772a4aeeb051cd3c5c955efa4a32ad6717399
MISC metadata.xml 893 BLAKE2B 42037d5052de72a81e2aac430fd14d107a0fa723c4288cd7f599bef817975ecc6b1dfc82b754ace2a50e4f9e0f5870cc6a43a3f0722d7647a38322e6cfde7eb8 SHA512 f89bf49eddaa5803ab953abc2dac189252095e529071cbd6412c15885e0a890a8e73a71295d3c3f9ebfb16bfe321316693c104d330037d112d03e04eadbf5a4d
diff --git a/dev-python/python-novaclient/python-novaclient-18.5.0.ebuild b/dev-python/python-novaclient/python-novaclient-18.5.0.ebuild
new file mode 100644
index 000000000000..8aaa96958dde
--- /dev/null
+++ b/dev-python/python-novaclient/python-novaclient-18.5.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-novaclient/
+ https://github.com/openstack/python-novaclient/
+ https://pypi.org/project/python-novaclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.5.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ >dev-python/requests-2.12.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/bandit[${PYTHON_USEDEP}]
+ dev-python/ddt[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/python-keystoneclient[${PYTHON_USEDEP}]
+ dev-python/python-cinderclient[${PYTHON_USEDEP}]
+ dev-python/python-glanceclient[${PYTHON_USEDEP}]
+ dev-python/python-neutronclient[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/openstacksdk[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ dev-python/tempest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ sed -e 's/test_osprofiler/_&/' -i novaclient/tests/unit/test_shell.py || die
+ sed -e 's/novaclient\.tests\.unit\.//' -i novaclient/tests/unit/test_api_versions.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b novaclient/tests/unit
+}
diff --git a/dev-python/scrypt/Manifest b/dev-python/scrypt/Manifest
index aab2f5b4f6ec..90fbf6ccdf98 100644
--- a/dev-python/scrypt/Manifest
+++ b/dev-python/scrypt/Manifest
@@ -1,3 +1,5 @@
DIST scrypt-0.8.20.tar.gz 55874 BLAKE2B b31c7dcec735944f6162709ba6ceb90160b3c9c403121a47e62563f8d2fc50f0505f180d7c18fa2c8e9037a097ca3bffea4c54c1f3b6861004f65a189a20b576 SHA512 da8d34755d4b6c98dc57ff7baf17839cf2434a6d7eb9f6fdc69b3e458d41b4fc49f7fd3a5631318b82bc4b2e46dedb806035897bf1be5a4670b4120f6b46efbc
+DIST scrypt-0.8.22.tar.gz 56165 BLAKE2B fa68da9c8f187691f39b9d0f53985c8b439548e32453214f14d63ce85c65e7d360d91f68b6967cdda58e75d15a221c5da2081a118f7682d6ee4a907821f17dcc SHA512 921a791e013bb4d0dd1a11a8692d8e9d30071f8dd46898af4e62e19092b8fbaa62fcd7533641c548f4f2be213c1622871dcd09fb8ab607376b1c75d977055781
EBUILD scrypt-0.8.20.ebuild 604 BLAKE2B 8a9a686a5ff37ea81592983836f77234c08f0767e1c097960ea4576b220352852e0316077a20d2cb9602b53c95f3ec07495bcf7014f95f12abce0b4003fc7b6f SHA512 2505306b0c4dbdb23a29a6bddcc266adc4f291a9c541d3677f19d2fc97f9d193034580daa676e5a4b74a03ce9ccb7289dc9f38778d28d3d8ddb789acc1615d7b
+EBUILD scrypt-0.8.22.ebuild 612 BLAKE2B 7b4e3097f7da586d8654d8e6f7c0bb612ac97169ff05adadb511eff6315c060615c3b291375014151824850440ec76b5aed6cc2d559ed746ea80b1273376fb92 SHA512 fde2954a4e30d9d47f5ca1c4a5174b648f493dc86442936996f617fba5e776fffc81e379ec50c4ee279a7afc072a6d37395bd48891e8a29a7b497722cdb9a029
MISC metadata.xml 477 BLAKE2B eeb9120e1d43440497244d45f746ed7582d5a2fcbd3883bf72183c4164f63e87d57fc54d77be71bb873807b8bb6e0c878362aba21ca28a2c02209ef7aa2fb666 SHA512 151f92893c8b3b34dbf2f9145caae7e031be75f7f79f3517c9b645973454fe1910e0b5b2f4c37b6d3768038baaec126d8aa1a36626218f896a8f5b9cde82591c
diff --git a/dev-python/scrypt/scrypt-0.8.22.ebuild b/dev-python/scrypt/scrypt-0.8.22.ebuild
new file mode 100644
index 000000000000..a111e97acd2c
--- /dev/null
+++ b/dev-python/scrypt/scrypt-0.8.22.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Bindings for the scrypt key derivation function library"
+HOMEPAGE="
+ https://github.com/holgern/py-scrypt/
+ https://pypi.org/project/scrypt/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="dev-libs/openssl:0="
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests unittest
diff --git a/dev-python/testfixtures/Manifest b/dev-python/testfixtures/Manifest
index b029afc8242d..5bf9f0e271d2 100644
--- a/dev-python/testfixtures/Manifest
+++ b/dev-python/testfixtures/Manifest
@@ -1,5 +1,7 @@
DIST testfixtures-7.2.2.tar.gz 133809 BLAKE2B 6a3701bb9c5ca476aadc144f1013268f87e10dd47a6f757e8a0aaa3feb33e1a06663a38f0789b7c54cf439b07562dfb638bd9b89efdc36831d04977f6035ecc8 SHA512 4f7a5ed659b650080deac0b1caff6d2dff0b71d23eaeb26b48b7daa4df85dc0a1f6cfef98275c9a90289eb893c0a06311c849b84f2cc35447fb766f4d0d41c89
DIST testfixtures-8.0.0.tar.gz 133847 BLAKE2B 0197f1946b6124298251a2d0bedf706f36982b1f10c8f959fe1ac52aa8290a9123355a110aa2bdf932229bd152bd041f086eba76b29aa97f9df2f8a1b3a3f7c3 SHA512 57d7876cccda12f3abb47c50e15c5a9e2cbae2039a573733cb10d1708245f20adbf959fec34fd06edf1ba9279a10e336b34acd8bda0cf1f8a64f9940bd5c8c2b
+DIST testfixtures-8.1.0.tar.gz 134639 BLAKE2B 9f930d15b039a808717e06d86711553c4b165b39927c36901a78a028d227a9aaa39b05091192bcaf15a579f08262e8f9561670e959d6cfa58541f2213f8c15ef SHA512 17aa2be892e8095d2386b72e72daa73689fb44283a168a0cb3fad8c847cd9527e4e273cf0ac527cdd2579f2e0689074de77b26c1124e3ae7aa7efce0f5909fec
EBUILD testfixtures-7.2.2.ebuild 1556 BLAKE2B 024e2b3e202ada793fd4c74d6d061b3585f6d1ce0df6a9975b3700cb01d4e3779242f43408ee9e1fc0c878829c1edbc14a5b15cc5c2ca9b0e85ff1e64e41f3fb SHA512 92c1195c1d21431fb306073e28258fb164feef0d3387fbd407e3eba3b012d821ec1683e16ecadf5d632422289af76ebc6c904333fa697c8d65988e5805428432
EBUILD testfixtures-8.0.0.ebuild 1106 BLAKE2B 4630f4db57959e3a5dcafd8432e8b905c44f7abff055e64673f154dd4b864648ca78a14232d7222c9d5e60bdfa733eea3cdfaecd799dc9811eb68ea4afbe8b99 SHA512 3163a6620ecbd79d7150c557ff3b42694de6660e24367a7c0bc9b49d2283e5d14fa0556d39899f2c51a9db7550677c47a758cbf0c3b720aa437edf58489b69bd
+EBUILD testfixtures-8.1.0.ebuild 1106 BLAKE2B 4630f4db57959e3a5dcafd8432e8b905c44f7abff055e64673f154dd4b864648ca78a14232d7222c9d5e60bdfa733eea3cdfaecd799dc9811eb68ea4afbe8b99 SHA512 3163a6620ecbd79d7150c557ff3b42694de6660e24367a7c0bc9b49d2283e5d14fa0556d39899f2c51a9db7550677c47a758cbf0c3b720aa437edf58489b69bd
MISC metadata.xml 416 BLAKE2B 19f5d275458874364d2719ecf363f7a5627f9e612b7d3a3f2c075e306063ed899dec0b2e59ea5e5d7ba65209c9a6d91045d80b2fe50e74278e61247d0426b940 SHA512 8a5776feee4d6758da67dc0b413e2d0ddc0c843075ca96c9b44adace1f7669a6abf820c5b73b86652b27e9feed19a4a30e1004a021b24bda0829b5690a1687ec
diff --git a/dev-python/testfixtures/testfixtures-8.1.0.ebuild b/dev-python/testfixtures/testfixtures-8.1.0.ebuild
new file mode 100644
index 000000000000..5bd6337f763e
--- /dev/null
+++ b/dev-python/testfixtures/testfixtures-8.1.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A collection of helpers and mock objects for unit tests and doc tests"
+HOMEPAGE="
+ https://pypi.org/project/testfixtures/
+ https://github.com/Simplistix/testfixtures/
+"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ >=dev-python/sybil-6[${PYTHON_USEDEP}]
+ >=dev-python/twisted-18[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/furo
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTHONPATH="."
+ local -x DJANGO_SETTINGS_MODULE=testfixtures.tests.test_django.settings
+
+ local EPYTEST_DESELECT=(
+ # TODO
+ testfixtures/tests/test_shouldwarn.py::ShouldWarnTests::test_filter_missing
+ testfixtures/tests/test_shouldwarn.py::ShouldWarnTests::test_filter_present
+ )
+
+ epytest
+}
diff --git a/dev-python/twisted/Manifest b/dev-python/twisted/Manifest
index a8dd31292ff8..4e2f8953313e 100644
--- a/dev-python/twisted/Manifest
+++ b/dev-python/twisted/Manifest
@@ -2,7 +2,9 @@ AUX twistd.conf 277 BLAKE2B 78ca35b410a6597c9afe6a9c8d3dfb1de113411634901f936794
AUX twistd.init 563 BLAKE2B 24488118b025bf2068bbf07af900064ff6a7ee99106c3da30f15f2b3f85af7443212afebc6b52a12645488b85656f87b653df9263fc2be6bd09707917899f252 SHA512 7860601beba1efda2b0a045b2a044ec33caff9ee915d45225c05e281760a68da349b4c45080600177aab32aa806714327acf3cf5dda92be0874f781f129bb129
DIST twisted-23.10.0.tar.gz 3495627 BLAKE2B 3b5c2dc56686203cfe7c863211f0be34f49b26273af7b0f54a891851cf5f32096da880f35dd549b8ff82c6885fda2f644ef747fc9574e830da4fe2ddb588e70f SHA512 da6cc663005776fca716503ec53ae367576e9c89ec2b90a367e73afb1e63c51a24dfad39b9ed1edb597e77e1d805dcbd179cefc1685faddd4044efc8f6c82d5f
DIST twisted-24.2.0rc1.tar.gz 3500738 BLAKE2B d286b8bbd8e3c9bef82bf3b6a3ea3714358f4447a2bd4b3e82a0f4be0bda89c9a0804f807592dd951b6bb4ff74076b4a35a13b98d9d99e4334a644fe668f7802 SHA512 6f8946e65ec6affce5cac79a6b6019a48ba6bb9c2eb42bc2a251a50bd33eb429dd6aec570ed51ce98c618cc220451a935f8e32c93281953ef4b2a9e658793b68
+DIST twisted-24.3.0.tar.gz 3500456 BLAKE2B b2cebb2f3482dbeba250786b1977ddbb09e1a9a81f71ce5906efe8289b0e134a8b26c191c2262e8ee8ba3fccccea508c34145016b29ecf301541134dcea19e08 SHA512 c3dd227f5936ffa586a0b7447f5df4c2257dce0c0ba740373d82197a72029e7eeb0aef9789247dde73e2f24dd043f3b0b7d795f16e6e908583b054aad9b9eb6a
DIST twisted-regen-cache.gz 911 BLAKE2B ffd3fcda6c67ffe6fd3ef581c8d507548396b66ed0708e9a5c790095e579c0d5f0f71596acf05712989da2ddef2b8d437eca973bc4d80ef8a9fa852915f38305 SHA512 95a9b931c73017d16d1b5e6b41345dddffe62b6af1a8e93b5e40d06d3d15be17b0dd0181c767ffeeb791534d463764ef9e066fa6c2ee2ac4b53c86d1da8fce03
EBUILD twisted-23.10.0.ebuild 4134 BLAKE2B 48ad17b240e917bf0302c7e70a72fec9225108f07065110951685331bb3464588a0503c387efad0a16e3a1391cb8af1fe0b7461247b4462391adad25bb4d2076 SHA512 5619ee1cfb20422b6c3e2df29eb20d2d2c01748c2ef1201c009cd856e3f07f4811c703eb570429ac4de4bc051c532d32a8ee51f3f2c336a11ebe34380ec256a5
EBUILD twisted-24.2.0_rc1.ebuild 4218 BLAKE2B fd42d75236c53fc50baab6c6000940eda5545d184096764b01624059dc02f1a970a3a6c694880187aa9a51bf357c39b69b23dfe9c0c8c3009fafbc947a884029 SHA512 1f7c84f034600d48686a641c736c120b71aaaad92729cfcd90720329831bdeb7391047ef3922e303f8501fdc665d1f01b9a2ed855abc50f5ec4415dc09694ca4
+EBUILD twisted-24.3.0.ebuild 4218 BLAKE2B fd42d75236c53fc50baab6c6000940eda5545d184096764b01624059dc02f1a970a3a6c694880187aa9a51bf357c39b69b23dfe9c0c8c3009fafbc947a884029 SHA512 1f7c84f034600d48686a641c736c120b71aaaad92729cfcd90720329831bdeb7391047ef3922e303f8501fdc665d1f01b9a2ed855abc50f5ec4415dc09694ca4
MISC metadata.xml 1231 BLAKE2B 60cd09e34c32152e6f08727c1281c65e871a51e64310a62a3104342fcb0e87e96b10cd4c7601668f054f9a2cb01fdf8ebeca3ed86b61ae2496a4d941897aa296 SHA512 800d9cd783d95cecb268362619deb346783149fa9226df714f9ce990da2d45edd3c8e5669e24ad15dfdf986a5816a5361c00f13719bb0dee3e6ae1578a889339
diff --git a/dev-python/twisted/twisted-24.3.0.ebuild b/dev-python/twisted/twisted-24.3.0.ebuild
new file mode 100644
index 000000000000..4869d844543e
--- /dev/null
+++ b/dev-python/twisted/twisted-24.3.0.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+HOMEPAGE="
+ https://twisted.org/
+ https://github.com/twisted/twisted/
+ https://pypi.org/project/Twisted/
+"
+SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="conch http2 serial ssl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/automat-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/constantly-15.1[${PYTHON_USEDEP}]
+ >=dev-python/hyperlink-17.1.1[${PYTHON_USEDEP}]
+ >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-5[${PYTHON_USEDEP}]
+ conch? (
+ >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-3.3[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ )
+ http2? (
+ <dev-python/h2-5.0[${PYTHON_USEDEP}]
+ >=dev-python/h2-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/priority-2.0[${PYTHON_USEDEP}]
+ >=dev-python/priority-1.1.0[${PYTHON_USEDEP}]
+ )
+ serial? (
+ >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
+ )
+ ssl? (
+ >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
+ >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.4[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}]
+ <dev-python/cython-test-exception-raiser-2[${PYTHON_USEDEP}]
+ >=dev-python/cython-test-exception-raiser-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.4[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.56[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ >=dev-python/pyhamcrest-2[${PYTHON_USEDEP}]
+ >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
+ virtual/openssh
+ ssl? (
+ >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
+ >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
+ )
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+python_prepare_all() {
+ # upstream test for making releases; not very useful and requires
+ # sphinx (including on py2)
+ rm src/twisted/python/test/test_release.py || die
+
+ # multicast tests fail within network-sandbox
+ sed -e 's:test_joinLeave:_&:' \
+ -e 's:test_loopback:_&:' \
+ -e 's:test_multiListen:_&:' \
+ -e 's:test_multicast:_&:' \
+ -i src/twisted/test/test_udp.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ # the test suite handles missing file & failing ioctl()s gracefully
+ # but not permission errors from sandbox
+ addwrite /dev/net/tun
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ # breaks some tests by overriding empty environment
+ local -x SANDBOX_ON=0
+ "${EPYTHON}" -m twisted.trial twisted ||
+ die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # own the dropin.cache so we don't leave orphans
+ > "${D}$(python_get_sitedir)"/twisted/plugins/dropin.cache || die
+
+ python_doscript "${WORKDIR}"/twisted-regen-cache
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+}
+
+python_postinst() {
+ twisted-regen-cache || die
+}
+
+pkg_postinst() {
+ if [[ -z ${ROOT} ]]; then
+ python_foreach_impl python_postinst
+ fi
+}
+
+python_postrm() {
+ rm -f "${ROOT}$(python_get_sitedir)/twisted/plugins/dropin.cache" || die
+}
+
+pkg_postrm() {
+ # if we're removing the last version, remove the cache file
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ python_foreach_impl python_postrm
+ fi
+}