summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-07-16 01:44:25 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-07-16 01:44:25 +0100
commitd8616435f08981d5bc3df9f348190309a7bdbbc0 (patch)
tree6c51fc295fb9c2f5511a7ebb14fab377a5f8e171 /dev-python
parentfa1962ff69701bd9c0f15fb225cdbfb487125e0e (diff)
gentoo auto-resync : 16:07:2022 - 01:44:25
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin257485 -> 257466 bytes
-rw-r--r--dev-python/commentjson/Manifest1
-rw-r--r--dev-python/commentjson/commentjson-0.9.0-r2.ebuild40
-rw-r--r--dev-python/confuse/Manifest2
-rw-r--r--dev-python/confuse/confuse-1.7.0-r1.ebuild2
-rw-r--r--dev-python/dulwich/Manifest2
-rw-r--r--dev-python/dulwich/dulwich-0.20.45.ebuild59
-rw-r--r--dev-python/greenlet/Manifest3
-rw-r--r--dev-python/greenlet/files/greenlet-1.1.2-fix-py3.11.patch223
-rw-r--r--dev-python/greenlet/greenlet-1.1.2-r1.ebuild6
-rw-r--r--dev-python/iminuit/Manifest2
-rw-r--r--dev-python/iminuit/iminuit-2.12.2.ebuild41
-rw-r--r--dev-python/irc/Manifest2
-rw-r--r--dev-python/irc/irc-20.1.0.ebuild46
-rw-r--r--dev-python/keystoneauth/Manifest2
-rw-r--r--dev-python/keystoneauth/keystoneauth-5.0.0.ebuild62
-rw-r--r--dev-python/markdown/Manifest2
-rw-r--r--dev-python/markdown/markdown-3.4.ebuild40
-rw-r--r--dev-python/pytest-metadata/Manifest2
-rw-r--r--dev-python/pytest-metadata/pytest-metadata-2.0.2.ebuild32
-rw-r--r--dev-python/python-cinderclient/Manifest2
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-9.0.0.ebuild45
-rw-r--r--dev-python/python-ironicclient/Manifest4
-rw-r--r--dev-python/python-ironicclient/metadata.xml2
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.0.0.ebuild46
-rw-r--r--dev-python/python-keystoneclient/Manifest2
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-5.0.0.ebuild52
-rw-r--r--dev-python/python-neutronclient/Manifest2
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-8.0.0.ebuild72
-rw-r--r--dev-python/python-swiftclient/Manifest2
-rw-r--r--dev-python/python-swiftclient/python-swiftclient-4.0.1.ebuild40
-rw-r--r--dev-python/sentry-sdk/Manifest2
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.7.2.ebuild91
-rw-r--r--dev-python/simplegeneric/Manifest1
-rw-r--r--dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild21
-rw-r--r--dev-python/sphinx-aiohttp-theme/Manifest1
-rw-r--r--dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild23
37 files changed, 972 insertions, 5 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 9cc4fe4c5127..9aae55ea4217 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/commentjson/Manifest b/dev-python/commentjson/Manifest
index c0f2f00e1d9f..c8eaed343494 100644
--- a/dev-python/commentjson/Manifest
+++ b/dev-python/commentjson/Manifest
@@ -1,3 +1,4 @@
DIST commentjson-0.9.0.gh.tar.gz 15297 BLAKE2B a857b0fa5551079d3d37bff94fb51a903e998c4fb84e0f62a5de28d6eafe0cb8a38b3215515e72c56de0cddb661f109921c801d15b9ba93771290135adaaa5b1 SHA512 cd3d28adecbc445ed3faed7847c65a23829f408cf8aa3fa85544a0f0cf9fa5544b8aff560725cf51921f249123daf9ce9953069e99ca64a312bb4bff652512fe
EBUILD commentjson-0.9.0-r1.ebuild 801 BLAKE2B 30814ef36f082d6ef81f6210a6cab42978ab9190b8e9429f2640e08eac366455b5a8c17850aa2f42d643de2379910461fbcd89f2e5661cf6d94695f2456d1e8a SHA512 f64e4338cf9fd7368d8ce7f105a1cbc434a94abbe14936fdf9d822ec4f7246748f757bdfe4a759674bd89dda12b1a1a78eff991fa580273ef579c8ab724b9314
+EBUILD commentjson-0.9.0-r2.ebuild 836 BLAKE2B 5c766b422cd21ce6fc1a6164f6e76a3ecf71a78080f6f2d10dd7bab20fc748cbec46a97c4e84ebaf818115cad76b0737379d8c785fc0b835177a8922f38d0722 SHA512 2bb449859ad14b5aa163f58cabb7bc0c9986d35fb0fff494dc5bcafc3438d462b9ff081b36588d5917374865bd8726fbebe532ca81d48aac7d6e3c5ff1d168d2
MISC metadata.xml 351 BLAKE2B c572a2399353ef88fbb0bc49d31eed6607fa157340c3ccc1311a1e2103a5488f66ed09f10d73daf2aa9a062ce36d2635e4bf703a61a9e4e7341b70e8ab1a97a8 SHA512 90aaec57bf7a92233f7761ee780faf9607dfa79d93627fc3c17cbe63aa6d2b41cdc7229fc17e46c2eb155a5749aee379a1a665e3192f44910aee344c89fe6160
diff --git a/dev-python/commentjson/commentjson-0.9.0-r2.ebuild b/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
new file mode 100644
index 000000000000..2309f67cfbc1
--- /dev/null
+++ b/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Add Python and JavaScript style comments in your JSON files"
+HOMEPAGE="
+ https://pypi.org/project/commentjson/
+ https://github.com/vaidik/commentjson/
+"
+SRC_URI="
+ https://github.com/vaidik/commentjson/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/lark[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # remove lark-parser dependency to allow painless upgrade to lark
+ sed -e '/lark-parser/d' -i setup.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/confuse/Manifest b/dev-python/confuse/Manifest
index 528e22ae87b2..921bfddd5b41 100644
--- a/dev-python/confuse/Manifest
+++ b/dev-python/confuse/Manifest
@@ -1,3 +1,3 @@
DIST confuse-1.7.0.tar.gz 49171 BLAKE2B f102ed445d4fc259739305f745fea6c1fef90fe4d8eb7b77bb6c370d37929807478df86ad78ffc8fc2fb1d4cd7033d76e34d880d6dab6721b5fd6cc0e7f5d02a SHA512 0da6cb237aa31f63cf6d2df2e90eb27e7b1a81bd126546a4314425b9dc1d9f993232b4787815abaf7ef4b54ef03ac3286c321e6654fdf18f05f92aa69c3da78e
-EBUILD confuse-1.7.0-r1.ebuild 594 BLAKE2B 8b0f7ba5a388353e522cec0d16935435d4aa52f4f2f88dae9a92673304e45d24b5594590b5ba368580fc417c68bfe8b9a3464ad904a1c87b59ff59e372e07378 SHA512 2065057b179a03fd8fc586dd825ff64d7ba499048e6bb92409feafb56dc652ef8dffc4779d809765cf03a39732f7fab7265c3ddc7a666fe4ac8632e3ec661193
+EBUILD confuse-1.7.0-r1.ebuild 594 BLAKE2B 295b99da58291a2204b9e00390199e6ae9363f2f24d60915c8fb6d77c5a14244a3deae45f55d1cd7fc649c0db688e05c7a19008d7b4c808acca15036ebc75089 SHA512 96e9a82f7c60ab27435a4385d559497805b5548ca51b4bef56ad307cdbf4034f7f39042b32618d3d5a11f8e6affc4b7ae2f72f88420f752660166981f74aadd9
MISC metadata.xml 878 BLAKE2B 2c3a52104c43764bd91ab68c7706013373ab30fa0fdb447bd5401f986ac242b1935268ced5fb70657d44ae2539758b81f8956eddcb0656c7dee70be292e240f8 SHA512 64f959d0ce18e4fb412f482712101117f8f824f333c0befce184e736b52897dd105a0d9d71d65eea57bb21d724e2b69661f9efcaffa36536c61d9c6ae2d2a522
diff --git a/dev-python/confuse/confuse-1.7.0-r1.ebuild b/dev-python/confuse/confuse-1.7.0-r1.ebuild
index cd24c772bbc3..865cf80bbc1d 100644
--- a/dev-python/confuse/confuse-1.7.0-r1.ebuild
+++ b/dev-python/confuse/confuse-1.7.0-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
+PYTHON_COMPAT=( python3_{8..11} pypy3 )
DISTUTILS_USE_PEP517=flit
inherit distutils-r1
diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index 160f7923a223..6c627c024850 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -1,5 +1,7 @@
DIST dulwich-0.20.43.tar.gz 423604 BLAKE2B e8f6b3fc22ac2289e6529d862f54d8c407725c8d22ba9ee7ddb0d700b4ea617f8b069b14168c43c25cccf6e84592e63f88d3402e58b15413952e5b139bda2c2b SHA512 68ef6e3928a202d76ab882d764d08f8948743825b3b07950a81bd86522c9db6865260c2c725a08b26365719e99343daa1c2a2d242bafe991be2552d06b2e3684
DIST dulwich-0.20.44.tar.gz 425226 BLAKE2B ba120c682b0fd298a9f17eec524ffdd92af9024e30d0b8c52accda3ef8a1d4876b483e8aaa5f12b4beb73a6c1719ed4504c52396cd355244ab688ceab551faaf SHA512 124a3ae89abf5df9e192919f916012be67112195fc7cfd7c30e814a04d93749a3dc396e12f2d8df1456b113a24cdd1b2f3a1f2733864d5cfad22431a987c25fb
+DIST dulwich-0.20.45.tar.gz 424373 BLAKE2B 4eb6731312bd8bb45d35efdc1e640dd2cfb118b633de461c4f9ffa2a9e50258bada2c77b4d4bf2e72bc9947f143f89fd720e4e9411f0f84d67ab208f39f7b4b8 SHA512 5b7217fac88a84591e42db2cd3c812a0aae6482221e1da9474df9b3fd968a80b653353fec804103f36a29f0f96e650267f124575a260dd082a3106de5f13fc7b
EBUILD dulwich-0.20.43.ebuild 1644 BLAKE2B c27c433faf91999c3a52391cde1bd690c19edaf77b12f5b7fbccb9c5c9c52f2cd7ff0bb1ee162991738ff46d8ab892b10d4590c3b2f6f0aa653b04a2dcbfdd0a SHA512 bd78b84c26d625706bffcecd4fa3cb187746392df0366f4107262628034dbbe7095ea9a54fc9d826acaa8ce315c7c5ec33d62a5b7c2e85d58c77d75504caeea6
EBUILD dulwich-0.20.44.ebuild 1648 BLAKE2B 3fd03d65cbc5d76d7a6bb7dc1b65bf1e87c41a75479e891d43555dcfb5739649465c6548152011bf33e058a3da45b645ae1a8a8b527d6ef7154c9a1784d6aa99 SHA512 e89ffbc7baa3c8ee0df81ca231230d97ce837022bdbc001ba157d7074eff5900113c9fb23a0b4f7b7e5a555fd4dd505a39439bbbfc7a1b79241eb5bb0c518d46
+EBUILD dulwich-0.20.45.ebuild 1648 BLAKE2B 3fd03d65cbc5d76d7a6bb7dc1b65bf1e87c41a75479e891d43555dcfb5739649465c6548152011bf33e058a3da45b645ae1a8a8b527d6ef7154c9a1784d6aa99 SHA512 e89ffbc7baa3c8ee0df81ca231230d97ce837022bdbc001ba157d7074eff5900113c9fb23a0b4f7b7e5a555fd4dd505a39439bbbfc7a1b79241eb5bb0c518d46
MISC metadata.xml 556 BLAKE2B 240554ff522160e9508bf6debadafcc44b5ccc4074dd4c9d3ce82358963084c60a1afae9fafee6ab1e6e5d898940ccb4d1b524cebff155e61bf6707c9396b647 SHA512 a7cdca224a01d5bd26bf4a5adb0273977ddff61f75cd02f5642132656fd0c6608114617efcb068d834f107804666cf4fb3725967e804b73d2ddcb67342dc30de
diff --git a/dev-python/dulwich/dulwich-0.20.45.ebuild b/dev-python/dulwich/dulwich-0.20.45.ebuild
new file mode 100644
index 000000000000..95effa84bf17
--- /dev/null
+++ b/dev-python/dulwich/dulwich-0.20.45.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
+HOMEPAGE="
+ https://github.com/jelmer/dulwich/
+ https://pypi.org/project/dulwich/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2+ Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ !hppa? ( !ia64? ( !s390? (
+ dev-python/gevent[${PYTHON_USEDEP}]
+ dev-python/geventhttpclient[${PYTHON_USEDEP}]
+ ) ) )
+ app-crypt/gpgme[python,${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/fastimport[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+
+python_test() {
+ # remove interference from the tests that do stuff like user.name
+ unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE \
+ GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE EMAIL
+ # Do not use make check which rebuilds the extension and uses -Werror,
+ # causing unexpected failures.
+ "${EPYTHON}" -m unittest -v dulwich.tests.test_suite ||
+ die "tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/greenlet/Manifest b/dev-python/greenlet/Manifest
index eafa41ea259f..23b86623210f 100644
--- a/dev-python/greenlet/Manifest
+++ b/dev-python/greenlet/Manifest
@@ -1,3 +1,4 @@
+AUX greenlet-1.1.2-fix-py3.11.patch 7811 BLAKE2B 96312cf875837e5873e7eb56e6b499250fc97afc8851bcc83a2b6151af91761c9bd680428b4ca1dfa849c3fe9749013e59c5e2993109e89576bd2cff97496c3a SHA512 679313c0f43219782842eec3162124dddadbf422ca9cfac7249961cbb650e96c1ccb1c3a113ad9df08e1a3eb1f109d6efdb9efddd575c37152b7f6c82c73ae80
DIST greenlet-1.1.2.tar.gz 91224 BLAKE2B 1430f96acfba3c184b9ac0f51acde7c48aa5d2e648a155cadf16399c878f527a4bafcb547d2b28835095ba2fd21c33096ee6fb51ce5feda0a8c5915be521b32a SHA512 e7bcc1bfffc80fcaee735ee69f6f53e8f68bd4d3ab8ad6ed813684ffad72340a347e4810f18cc32d9c3948b5c995aefc3a53ce4ae60324093dae12042d33183b
-EBUILD greenlet-1.1.2-r1.ebuild 747 BLAKE2B b4178234b49813a346e72c12e5ce3e3964a6cfd4cb3b32b8adfb1d649d4666d28e2b7709a4cd02e1bac44780e0115ca7097581e2e967e340ab900b95a51311de SHA512 998ef9dfb0bbe6d1dd022960282ff09ac0dc9b8e28512faf1495fdafa14d97a132d324e8bed7d3c15be7179da367012de5fddfddb1102e2e4050d38da1ffc009
+EBUILD greenlet-1.1.2-r1.ebuild 797 BLAKE2B f7ea916a47769fd8683a14cf56cfd2ac3a5bbea78c66269b3b26c719eb9c164c4832cc0918ecc50a559262304e653ec27cb1d37274b4b2f22e4400e9cd781d28 SHA512 e682ce1e79740c9517243d678524d348aa2821442412588a5acd25a799107868ccb5fef4a919bc4f9dbf3437da2a38610452bbc55f5686c1c4dd38a9ae033f65
MISC metadata.xml 322 BLAKE2B 57f3f966edd48a761d9ff80514dcd8e2439eb83fd79c1df2dd6610b9c03366a70be02134b6fa3e2d06ceeaafc1e5ed594efbcbcaea015043ff7bfdf54bd52e53 SHA512 2e119f8948096d416c6aa1db1203a37820a353dfe704f596243f805b5a6892498bb82a59b1fe59a51a1086d1b24c79a90de265bd06170e3b1bbd836bdee1915d
diff --git a/dev-python/greenlet/files/greenlet-1.1.2-fix-py3.11.patch b/dev-python/greenlet/files/greenlet-1.1.2-fix-py3.11.patch
new file mode 100644
index 000000000000..475fcd82fb34
--- /dev/null
+++ b/dev-python/greenlet/files/greenlet-1.1.2-fix-py3.11.patch
@@ -0,0 +1,223 @@
+From: Victor Stinner <vstinner@python.org>
+Subject: [PATCH] Closes #305: Add Python 3.11 support
+
+* Add GREENLET_PY311 macro
+* PyGreenlet structure:
+
+ * Add 3 members for the "data stack": 'datastack_chunk',
+ 'datastack_top' and 'datastack_limit'.
+ * Add 'current_frame' member.
+
+* Rename CFrame to _PyCFrame
+* tox.ini: Add py311 environment.
+
+Changes partially backport from the master branch:
+commit 63e1099acc3677e614532bea0fa2e1967b69125f.
+
+Co-Authored-By: Miro HronĨok <miro@hroncok.cz>
+
+https://github.com/python-greenlet/greenlet/pull/306
+--- a/src/greenlet/greenlet.c
++++ b/src/greenlet/greenlet.c
+@@ -170,9 +170,11 @@ green_clear_exc(PyGreenlet* g)
+ {
+ #if GREENLET_PY37
+ g->exc_info = NULL;
+- g->exc_state.exc_type = NULL;
+ g->exc_state.exc_value = NULL;
++#if !GREENLET_PY311
++ g->exc_state.exc_type = NULL;
+ g->exc_state.exc_traceback = NULL;
++#endif
+ g->exc_state.previous_item = NULL;
+ #else
+ g->exc_type = NULL;
+@@ -525,8 +527,13 @@ g_switchstack(void)
+ { /* save state */
+ PyGreenlet* current = ts_current;
+ PyThreadState* tstate = PyThreadState_GET();
++#if GREENLET_PY311
++ current->recursion_depth = (tstate->recursion_limit
++ - tstate->recursion_remaining);
++#else
+ current->recursion_depth = tstate->recursion_depth;
+ current->top_frame = tstate->frame;
++#endif
+ #if GREENLET_PY37
+ current->context = tstate->context;
+ #endif
+@@ -551,6 +558,15 @@ g_switchstack(void)
+ */
+ current->cframe = tstate->cframe;
+ ts__g_switchstack_use_tracing = tstate->cframe->use_tracing;
++#if GREENLET_PY311
++ current->current_frame = tstate->cframe->current_frame;
++ current->datastack_chunk = tstate->datastack_chunk;
++ current->datastack_top = tstate->datastack_top;
++ current->datastack_limit = tstate->datastack_limit;
++ PyFrameObject *frame = PyThreadState_GetFrame(tstate);
++ Py_XDECREF(frame); /* PyThreadState_GetFrame gives us a new reference. */
++ current->top_frame = frame;
++#endif
+ #endif
+ }
+
+@@ -574,9 +590,6 @@ g_switchstack(void)
+ PyGreenlet* target = ts_target;
+ PyGreenlet* origin = ts_current;
+ PyThreadState* tstate = PyThreadState_GET();
+- tstate->recursion_depth = target->recursion_depth;
+- tstate->frame = target->top_frame;
+- target->top_frame = NULL;
+
+ #if GREENLET_PY37
+ tstate->context = target->context;
+@@ -607,7 +620,18 @@ g_switchstack(void)
+ */
+ tstate->cframe->use_tracing = ts__g_switchstack_use_tracing;
+ #endif
+-
++#if GREENLET_PY311
++ tstate->recursion_remaining = (tstate->recursion_limit
++ - target->recursion_depth);
++ tstate->cframe->current_frame = target->current_frame;
++ tstate->datastack_chunk = target->datastack_chunk;
++ tstate->datastack_top = target->datastack_top;
++ tstate->datastack_limit = target->datastack_limit;
++#else
++ tstate->recursion_depth = target->recursion_depth;
++ tstate->frame = target->top_frame;
++#endif
++ target->top_frame = NULL;
+ assert(ts_origin == NULL);
+ Py_INCREF(target);
+ ts_current = target;
+@@ -810,7 +834,7 @@ static int GREENLET_NOINLINE(g_initialstub)(void* mark)
+ We want to defer copying the state info until we're sure
+ we need it and are in a stable place to do so.
+ */
+- CFrame trace_info;
++ _PyCFrame trace_info;
+ #endif
+ /* save exception in case getattr clears it */
+ PyErr_Fetch(&exc, &val, &tb);
+@@ -875,7 +899,12 @@ static int GREENLET_NOINLINE(g_initialstub)(void* mark)
+ }
+ self->top_frame = NULL;
+ green_clear_exc(self);
++#if GREENLET_PY311
++ self->recursion_depth = (PyThreadState_GET()->recursion_limit
++ - PyThreadState_GET()->recursion_remaining);
++#else
+ self->recursion_depth = PyThreadState_GET()->recursion_depth;
++#endif
+
+ /* restore arguments in case they are clobbered */
+ ts_target = self;
+@@ -1006,13 +1035,13 @@ green_new(PyTypeObject* type, PyObject* args, PyObject* kwds)
+ it uses the ``root_cframe`` just to have something to put there.
+ However, once the greenlet is actually switched to for the first
+ time, ``g_initialstub`` (which doesn't actually "return" while the
+- greenlet is running) stores a new CFrame on its local stack, and
++ greenlet is running) stores a new _PyCFrame on its local stack, and
+ copies the appropriate values from the currently running CFrame;
+- this is then made the CFrame for the newly-minted greenlet.
++ this is then made the _PyCFrame for the newly-minted greenlet.
+ ``g_initialstub`` then proceeds to call ``glet.run()``, which
+- results in ``PyEval_...`` adding the CFrame to the list. Switches
++ results in ``PyEval_...`` adding the _PyCFrame to the list. Switches
+ continue as normal. Finally, when the greenlet finishes, the call to
+- ``glet.run()`` returns and the CFrame is taken out of the linked
++ ``glet.run()`` returns and the _PyCFrame is taken out of the linked
+ list and the stack value is now unused and free to expire.
+ */
+ ((PyGreenlet*)o)->cframe = &PyThreadState_GET()->root_cframe;
+@@ -1121,9 +1150,11 @@ green_traverse(PyGreenlet* self, visitproc visit, void* arg)
+ Py_VISIT(self->context);
+ #endif
+ #if GREENLET_PY37
+- Py_VISIT(self->exc_state.exc_type);
+ Py_VISIT(self->exc_state.exc_value);
++#if !GREENLET_PY311
++ Py_VISIT(self->exc_state.exc_type);
+ Py_VISIT(self->exc_state.exc_traceback);
++#endif
+ #else
+ Py_VISIT(self->exc_type);
+ Py_VISIT(self->exc_value);
+@@ -1159,9 +1190,11 @@ green_clear(PyGreenlet* self)
+ Py_CLEAR(self->context);
+ #endif
+ #if GREENLET_PY37
+- Py_CLEAR(self->exc_state.exc_type);
+ Py_CLEAR(self->exc_state.exc_value);
++#if !GREENLET_PY311
++ Py_CLEAR(self->exc_state.exc_type);
+ Py_CLEAR(self->exc_state.exc_traceback);
++#endif
+ #else
+ Py_CLEAR(self->exc_type);
+ Py_CLEAR(self->exc_value);
+@@ -1253,9 +1286,11 @@ green_dealloc(PyGreenlet* self)
+ Py_CLEAR(self->context);
+ #endif
+ #if GREENLET_PY37
+- Py_CLEAR(self->exc_state.exc_type);
+ Py_CLEAR(self->exc_state.exc_value);
++#if !GREENLET_PY311
++ Py_CLEAR(self->exc_state.exc_type);
+ Py_CLEAR(self->exc_state.exc_traceback);
++#endif
+ #else
+ Py_CLEAR(self->exc_type);
+ Py_CLEAR(self->exc_value);
+--- a/src/greenlet/greenlet.h
++++ b/src/greenlet/greenlet.h
+@@ -14,6 +14,15 @@ extern "C" {
+ /* This is deprecated and undocumented. It does not change. */
+ #define GREENLET_VERSION "1.0.0"
+
++#if PY_VERSION_HEX >= 0x30B00A6
++# define GREENLET_PY311 1
++ /* _PyInterpreterFrame moved to the internal C API in Python 3.11 */
++# include <internal/pycore_frame.h>
++#else
++# define GREENLET_PY311 0
++# define _PyCFrame CFrame
++#endif
++
+ typedef struct _greenlet {
+ PyObject_HEAD
+ char* stack_start;
+@@ -25,6 +34,12 @@ typedef struct _greenlet {
+ PyObject* run_info;
+ struct _frame* top_frame;
+ int recursion_depth;
++#if GREENLET_PY311
++ _PyInterpreterFrame *current_frame;
++ _PyStackChunk *datastack_chunk;
++ PyObject **datastack_top;
++ PyObject **datastack_limit;
++#endif
+ PyObject* weakreflist;
+ #if PY_VERSION_HEX >= 0x030700A3
+ _PyErr_StackItem* exc_info;
+@@ -39,7 +54,7 @@ typedef struct _greenlet {
+ PyObject* context;
+ #endif
+ #if PY_VERSION_HEX >= 0x30A00B1
+- CFrame* cframe;
++ _PyCFrame* cframe;
+ #endif
+ } PyGreenlet;
+
+--- a/tox.ini
++++ b/tox.ini
+@@ -1,6 +1,6 @@
+ [tox]
+ envlist =
+- py27,py35,py36,py37,py38,py39,py310,docs
++ py27,py35,py36,py37,py38,py39,py310,py311,docs
+
+ [testenv]
+ commands =
diff --git a/dev-python/greenlet/greenlet-1.1.2-r1.ebuild b/dev-python/greenlet/greenlet-1.1.2-r1.ebuild
index 588dfd23e08c..794ee971d35b 100644
--- a/dev-python/greenlet/greenlet-1.1.2-r1.ebuild
+++ b/dev-python/greenlet/greenlet-1.1.2-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
# Note: greenlet is built-in in pypy
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
inherit distutils-r1
@@ -21,6 +21,10 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 -hppa -ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+PATCHES=(
+ "${FILESDIR}/${P}-fix-py3.11.patch"
+)
+
distutils_enable_sphinx docs
distutils_enable_tests unittest
diff --git a/dev-python/iminuit/Manifest b/dev-python/iminuit/Manifest
index c1ccaee09bdb..f0dc09253b3d 100644
--- a/dev-python/iminuit/Manifest
+++ b/dev-python/iminuit/Manifest
@@ -1,7 +1,9 @@
DIST iminuit-2.11.2.tar.gz 411984 BLAKE2B 8fa47b24890f26718ebb8f053c2f908d982a7b6cc7f71f6523f387128ab0bd894bb851f18e2f8611ff5ab1c113651f526893445f465fbbfa10d487dc15effcbd SHA512 b60755f21ae38bd19860e0d711bab9c6e37dd361cc8cf43bdd1a583e8c06abca38e42ae0a6c4631be05c5082c9ab169bddb51e4d84397ce8f81833fd4c46cdd7
DIST iminuit-2.12.0.tar.gz 420687 BLAKE2B 9d3761bd756f58a7c36a61f161e4667f8efbb6edef9bb1882fcd324efe46aaec126dbfb4b692a5b7f56a1f162cb292c9e58a0d3337ae04a019756455bc0df1e9 SHA512 1697c04722323506bbe43682befe1b6020656348c98fec0a877ea8403390e741ea106d61d95e31595d894b020025606b413b2f185fd747b2b7d733b729919fe1
DIST iminuit-2.12.1.tar.gz 420488 BLAKE2B 8910017f27d683b5129a506c7536def9b70b3dac27153985023f81bc94fb767c33f0a9fb4c8ac6911634839fd3870ac3bb63ddbf0cd8925b68778983c341354b SHA512 2b54ebb3c66eb508e848fbedae32aac32a82d794da899d10848d683b7a97b7882014e77b1e98be3563b0e96957208072f048e8df23a8c14f5e3b472eae5b5f23
+DIST iminuit-2.12.2.tar.gz 420639 BLAKE2B b158dd0916d5de229a1af16c402d8f51fd01cb9ed8e894677c2cb941fb587ac10ec94ce6787fb76291315c4e91cbf6c1492e65b821580a395385b2f50a38cdfd SHA512 620cfe19862ca6559ea5b2bc3f04a3212d8041e6de97056a17fe1e2a9dfe37d1c2128ae4bf6b2a5b796ce48719eeaa0d31dd025a0f469f401b1d9858685b3c82
EBUILD iminuit-2.11.2.ebuild 905 BLAKE2B 2479a6ab793907917ba57ab1aab34e4701e53001450c1e2e3f3aa68eea555adb0650ecea26aa5ddb3ae12787ec6d32caba93af6dd44918f93353ba9029fb6fc1 SHA512 82e97833ccd58ca8675a2d6f06848d960c0797c0ec18e3a26880d473d49f0e99be1e6417888171178f4f0f9dc711eeede872b1294234be6bb5dfeb1bc9b7295a
EBUILD iminuit-2.12.0.ebuild 905 BLAKE2B 2479a6ab793907917ba57ab1aab34e4701e53001450c1e2e3f3aa68eea555adb0650ecea26aa5ddb3ae12787ec6d32caba93af6dd44918f93353ba9029fb6fc1 SHA512 82e97833ccd58ca8675a2d6f06848d960c0797c0ec18e3a26880d473d49f0e99be1e6417888171178f4f0f9dc711eeede872b1294234be6bb5dfeb1bc9b7295a
EBUILD iminuit-2.12.1.ebuild 905 BLAKE2B 2479a6ab793907917ba57ab1aab34e4701e53001450c1e2e3f3aa68eea555adb0650ecea26aa5ddb3ae12787ec6d32caba93af6dd44918f93353ba9029fb6fc1 SHA512 82e97833ccd58ca8675a2d6f06848d960c0797c0ec18e3a26880d473d49f0e99be1e6417888171178f4f0f9dc711eeede872b1294234be6bb5dfeb1bc9b7295a
+EBUILD iminuit-2.12.2.ebuild 905 BLAKE2B 2479a6ab793907917ba57ab1aab34e4701e53001450c1e2e3f3aa68eea555adb0650ecea26aa5ddb3ae12787ec6d32caba93af6dd44918f93353ba9029fb6fc1 SHA512 82e97833ccd58ca8675a2d6f06848d960c0797c0ec18e3a26880d473d49f0e99be1e6417888171178f4f0f9dc711eeede872b1294234be6bb5dfeb1bc9b7295a
MISC metadata.xml 494 BLAKE2B c97d7fad530773c29b5e723843f13c8305aa1f011e678ad4e9625181ca633c1dfaa3847cb7b3aa09433b6ce665cbf4eb39fde7f80ead402292bc75bb8442beba SHA512 04413a2cbdc7f6843f89560a519ccdb00bcfcf0c9254e9fff7a8901ed992cd7121ba052191399fd60f76f35e495f84c2297acd0a9a1898d4fbcadb7a60841d99
diff --git a/dev-python/iminuit/iminuit-2.12.2.ebuild b/dev-python/iminuit/iminuit-2.12.2.ebuild
new file mode 100644
index 000000000000..3a700725da54
--- /dev/null
+++ b/dev-python/iminuit/iminuit-2.12.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+# forced implicitly
+CMAKE_MAKEFILE_GENERATOR=emake
+inherit cmake distutils-r1 virtualx
+
+DESCRIPTION="Minuit numerical function minimization in Python"
+HOMEPAGE="https://github.com/scikit-hep/iminuit/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT LGPL-2.1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ epytest -p no:pytest-describe || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/irc/Manifest b/dev-python/irc/Manifest
index 04196a612b28..03830e6eabb5 100644
--- a/dev-python/irc/Manifest
+++ b/dev-python/irc/Manifest
@@ -1,3 +1,5 @@
DIST irc-20.0.0.tar.gz 88662 BLAKE2B 627354a051964e53322484c8a2c28487e25738b21c485121589af331e2da59b80c5704ef4268ff0bac3e84d26f77af031ba6ce0064a46496e846c7160462a5f9 SHA512 cd54e20075e97d7c8259275514741f9bb2f93712b1cc8628399fb7d4b37ff7d1d6515be14f5326fa30e59f49cfb853b954f4f095b4d3cac870a63a9946cfbed2
+DIST irc-20.1.0.tar.gz 89157 BLAKE2B 42498e63e1d62a5c2e545f1d0d581bdbc9f49228ec14e523f4add130b903be2a736072b8ad53775a7f16298a7c57761d8c06053570dc01a338491593564b3fd7 SHA512 83a988b5f75c1d55376a140519725749824dbc9f32e6b0e5d3684d9c58973a746ae517441594cfa745edb89a0fbd98ef847e937a620548fed4e344b66a97ad1c
EBUILD irc-20.0.0-r1.ebuild 1123 BLAKE2B 39800e4d1b9d6b8ef6aad057db63161a9f94bab7b49ca114ec9246ff83a09f87220ec0b7b7e8d5a462aa1d56a5252bde5a8670b9f4e420634c2cc5bd38dffc59 SHA512 91592ad238452fcaa68fc585755e0d44c8efd89bbefc850a6bff950891086972af4e503003c6f9e99dc909e7a88678b2f0055b1bf494b68dbb29ceaae879bccd
+EBUILD irc-20.1.0.ebuild 1125 BLAKE2B b3497ff44559a44367a62db701def03251ddd9ec62ef335f59647745a2dccf55117b8d18ce35bb4d70fe581c12ff30ee8516257b4c59701beb11e55eecdc7355 SHA512 a7bf4ea77eba66dd6dcd9f15cfd6ff49317a3e496795dbe132c4024b2b1e9a1a6e5f2f0f61066b0b1e53e2b52f0b4c8580957bf16f5ad2ac4012f64556d34bae
MISC metadata.xml 816 BLAKE2B 8390d70debcbbd36f9d4cf9e7bf204f108a3aa04bab4b1b7166e807899c402b94e4aca435df16c80feebe73caffe180846ae4116132111377951663dedd64b68 SHA512 04478d5d9ab60c09105e6594a19957e1aa059489f389918baed7ebd185f31cbe513ebf7816f565e40d42d27477842e2bd92ca17ba845a4a4de2e7a4f71df42a1
diff --git a/dev-python/irc/irc-20.1.0.ebuild b/dev-python/irc/irc-20.1.0.ebuild
new file mode 100644
index 000000000000..1e762924d3c7
--- /dev/null
+++ b/dev-python/irc/irc-20.1.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit distutils-r1
+
+DESCRIPTION="IRC client framework written in Python"
+HOMEPAGE="
+ https://github.com/jaraco/irc/
+ https://pypi.org/project/irc/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-1.20[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-itertools-1.8[${PYTHON_USEDEP}]
+ dev-python/jaraco-logging[${PYTHON_USEDEP}]
+ dev-python/jaraco-stream[${PYTHON_USEDEP}]
+ dev-python/jaraco-text[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/tempora-1.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools_scm-3.4.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/scripts"
+ dodoc -r scripts
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/keystoneauth/Manifest b/dev-python/keystoneauth/Manifest
index ce77a7e4d700..2dff2d26fcc9 100644
--- a/dev-python/keystoneauth/Manifest
+++ b/dev-python/keystoneauth/Manifest
@@ -1,3 +1,5 @@
DIST keystoneauth1-4.6.0.tar.gz 267019 BLAKE2B ad1df2ce6f88ca03f1c9cde6bd84014fc7afedb3fb2375bc95461bab466f82464393e20919e4e506bce2cdbf1283ef53777c7ab3e92e2195b21d95459814f408 SHA512 fe6fbb0e47fb3608b0653362da0d19bdcb7055f9d043c776d487a2f6af76bda1cc1d8a2b87a771cafb54d0cd349695618428ed7dd93aba273d3d455b4175cbc8
+DIST keystoneauth1-5.0.0.tar.gz 267142 BLAKE2B 9c595151287c0f5eff2faa3618e97c1a540e7a2ae4bbf6b76b7ebb5b3a7d0b1443843d7ead98d1997d68ef5def7745b2eb728ff4cde7842a35d46e69b3ea15d7 SHA512 41844b669d8f355525f444b7c837aa6ad6e7efc3e7ce727b6bc6ff441d6b6b49fe8dc2d601d8135ac872484e827cec75c72b613d001f5312e077016d424dcbfa
EBUILD keystoneauth-4.6.0.ebuild 1799 BLAKE2B 4f0a3ad166e37d431ef552e2d700c7d2f863eea003ec5681ef19ef63b8d228d931ec77ffd2562920247426a8d645bdb37be6384212e921b46075b09c118f9bde SHA512 430009f0927c4981e71e1f42b2b3d05c500640d1e6e00e37a11abe236363c3f20089575a6879e26ae4fee7e3f100a8155e90d26dcd3ad5ac18b27a13315442f0
+EBUILD keystoneauth-5.0.0.ebuild 1802 BLAKE2B 855bf75eaeb28b9e6890430898844cb88028eacb2836ef2739f5fc498fb5d4a9093ea18ff8d1b620b81c9dd1bbcf5dd5d2bd7da3242fce71655502be36469b61 SHA512 3b78d5498ed078709baeb52c10530c218e7a593e7e115341e7a54dd1f00218c743855b6dc99a4239461f519cfac29c63ba64ab0cff71f5564e334dd325dff0c8
MISC metadata.xml 518 BLAKE2B 8a84b6a7146096e67c0517623f0680cbe7772a48d8167b1aaf34dd12f7f626c84e60c0a15b3d90ae9df6483c33d7b51fc5cbf51d35e4f409e04573eb8fe18d1b SHA512 9a5b7fe8f29deed8ed59d6b3a96cfbacd5b566d6aa6eabd55545f02521d3dcc7ef7347632cdbead0735d28004ffe55a18550ee45cf8634253900f0190f140434
diff --git a/dev-python/keystoneauth/keystoneauth-5.0.0.ebuild b/dev-python/keystoneauth/keystoneauth-5.0.0.ebuild
new file mode 100644
index 000000000000..ced69f35280b
--- /dev/null
+++ b/dev-python/keystoneauth/keystoneauth-5.0.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="This package contains tools for authenticating to an OpenStack-based cloud"
+HOMEPAGE="https://github.com/openstack/keystoneauth"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}1/${PN}1-${PV}.tar.gz"
+S="${WORKDIR}/${PN}1-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+CDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/iso8601-0.1.11[${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}]
+ >=dev-python/os-service-types-1.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${CDEPEND}
+ test? (
+ >=dev-python/betamax-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
+ >=dev-python/requests-kerberos-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # relies on specific test runner name
+ sed -i -e 's:run\.py:unittest_or_fail.py:' \
+ keystoneauth1/tests/unit/test_session.py || die
+ # remove the test that requires hacking
+ rm keystoneauth1/tests/unit/test_hacking_checks.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ eunittest -b
+}
diff --git a/dev-python/markdown/Manifest b/dev-python/markdown/Manifest
index 8c286e74f8a4..b87b9a2a09b9 100644
--- a/dev-python/markdown/Manifest
+++ b/dev-python/markdown/Manifest
@@ -1,3 +1,5 @@
DIST Markdown-3.3.7.tar.gz 324130 BLAKE2B 4ecf804b81181a9895e15d2f54881544648939f2bb772b036aa84dc8bf57b7976c6ebdf8549041b39a303bd7c68c16df3c126463a8da19b3c92f99b420e9ffb9 SHA512 39b9f45939be9e842e90470307c3aeec88d1389439b0c7a0c5b39f6e203b51d3a52ce431c4d5c278f399552c4218fc1a619b0efc56883de50a9f300f42120f4e
+DIST Markdown-3.4.tar.gz 322529 BLAKE2B db7d5a6f9c6e60916756d208b90ad5134349df83f2cf720ec23421de3e48cae4cc812b73423f1e1731b643642560697295499955dc3c40846efe40e23e3a9f43 SHA512 5ef87d89518a758009ec0d52ce1141b48777088e82c8dc4862d2b388f9a6b82ebaf66a7382342303076c8f71ca7afe5c79133f33b23dced5eb21ddcd8bdaa426
EBUILD markdown-3.3.7.ebuild 1010 BLAKE2B 04abb0f2d38eedacf1af71cf3d508e3ef0bc08d4505c86c677fc6a40d0a56c7abd3c0c568b277142af767b63ea91807403bd96dbd37b60cda9aae32b2392a0c7 SHA512 ddc5fc1148d82715ae083992d8d3f15ad514b9ff1515660bda5725d8594c42baf6543d1b76c5e6126601fc4cd0b7251ed8719e28a77d814cdefdc4c098c411fe
+EBUILD markdown-3.4.ebuild 1018 BLAKE2B 38156b02909532b8381876db20145da4ddba4d5fca35b3f5cfc3034bd4c4a718392d5b687a94b82f9c1c857bb51c04c6076e9ac1bb6fc4436ee7a8f3967c0439 SHA512 32797574d86172fc0efdf8c41de90c3e011b73376de0a682fe72b5359d6a16a8d8a1ac2fef2b5d109140317a06067ef713a7faa4764e0ba934470b92dfead01c
MISC metadata.xml 400 BLAKE2B 325197e9e700565d94ac477c4acefb1ccad5fea759bcb9bb980122f2a8fd0b7509fbf54768948b28a180392154d26d9a9068b996661a35ec79bb03998ae538f5 SHA512 68bb4ebfe231af6e30c3f8a9fafdab8f1b90fb67d942605d0366bfe504de0ae482da8c4e45279cf7bfae857ed9ccb0729a36f6ea1b18bd459e0dc3e1e3a9f6bf
diff --git a/dev-python/markdown/markdown-3.4.ebuild b/dev-python/markdown/markdown-3.4.ebuild
new file mode 100644
index 000000000000..80d3ecb64f9a
--- /dev/null
+++ b/dev-python/markdown/markdown-3.4.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of the markdown markup language"
+HOMEPAGE="
+ https://python-markdown.github.io/
+ https://pypi.org/project/Markdown/
+ https://github.com/Python-Markdown/markdown"
+SRC_URI="mirror://pypi/M/${PN^}/${P^}.tar.gz"
+S="${WORKDIR}/${P^}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/importlib_metadata[${PYTHON_USEDEP}]
+ ' 3.8 3.9)"
+BDEPEND="
+ test? (
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/pytidylib[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ use doc && dodoc -r docs/
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pytest-metadata/Manifest b/dev-python/pytest-metadata/Manifest
index 3f969c71707c..13afbd5e70c6 100644
--- a/dev-python/pytest-metadata/Manifest
+++ b/dev-python/pytest-metadata/Manifest
@@ -1,3 +1,5 @@
DIST pytest-metadata-2.0.1.gh.tar.gz 19945 BLAKE2B 931ede3b58471e3092eb26af38f380810140539c7c50b5e3e9a63bdddedd9577b1f23aafb24ce80de55078f772b0dae8715368559f79a3f31f33e15870134f45 SHA512 03981b4fbcd812cf5896d6db2b74cbc1e6c84cc13613f916248767cacfc7650580f668a5ea8892be85c87fa08101a8a2f440ee6e0cc1342d4fa9919d41153a6b
+DIST pytest-metadata-2.0.2.gh.tar.gz 19993 BLAKE2B 274ce5532fe96b6e4116d6ed1bf20911342f8b239b00a9b6cc1b553ad2819a619691e34bd93ef82676ffdcd4ba32adebba481c65168ce76eef2099eb7295d65d SHA512 b35c0b1a357a246aa12b65dd67b48b6c4201d75d4a23db9026659407583e97517971ba6af1054cff7812f2c6ae54019b26d1108664d632a45c0514a716b321b2
EBUILD pytest-metadata-2.0.1.ebuild 740 BLAKE2B ff12af000c7ee94f06b187a64b6174955b875eda17c5828997ad5705c93bb67bb5ecb4279dd0944ae7514ef528dd6a2857a5c6ac1c34e92616238bef15e08192 SHA512 a3ed0507ff666e97be6547d53b7d6d19f4c1657223a3de1ca120a068b9ab9477d29b670f6ff65c283e1928771949c0ab5860642716dc0e6a767fa3fe2127b26f
+EBUILD pytest-metadata-2.0.2.ebuild 740 BLAKE2B 1866863702a685214239761a41f942c183dcabc8005393d24b1ea579e6a0f2a166ccaf0415e3acc76a1e0c78e82a850ed24601fbddf1a9d6b484fdb4d43956ff SHA512 52b7c96b0786d0a7115e0feb5f8bdc1ced78e663de01cdb2bd5aab8eda8b17c21c5455895b40b22c7021eec0924c952d1ff121b229cf97da423171fa40b43e94
MISC metadata.xml 385 BLAKE2B a888886c89fe52cd8e209fc9638fc3cdbf9b7dde0114c46d57b4f9b91f1ef49ebdb3f967e913036109054547d3840c8bd5ca24e5b80ac541889c48ef63748233 SHA512 20094512c77c3ea6f5501aaff0fc9b6ef07aa0580c555e3da5d6ad25e1ecf2f9f42443b7a43256f3fb99aab029a83a2d2696e9a0c8b2ce81e95ef15ab0c33b23
diff --git a/dev-python/pytest-metadata/pytest-metadata-2.0.2.ebuild b/dev-python/pytest-metadata/pytest-metadata-2.0.2.ebuild
new file mode 100644
index 000000000000..07cee70b8a98
--- /dev/null
+++ b/dev-python/pytest-metadata/pytest-metadata-2.0.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{8..11} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A plugin for pytest that provides access to test session metadata"
+HOMEPAGE="https://github.com/pytest-dev/pytest-metadata/"
+SRC_URI="
+ https://github.com/pytest-dev/pytest-metadata/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+RDEPEND="
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools_scm-6.2.3[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/python-cinderclient/Manifest b/dev-python/python-cinderclient/Manifest
index b6d5d4a59b0f..2637078ea401 100644
--- a/dev-python/python-cinderclient/Manifest
+++ b/dev-python/python-cinderclient/Manifest
@@ -1,3 +1,5 @@
DIST python-cinderclient-8.3.0.tar.gz 234371 BLAKE2B 092d7abdd348f5fac750efb3f3f4df1575584684ad613d22c558630576ad2f82c399af671aad7070dd224a89fa01d73333c2505dc0166d2e4c70e21ac01f298d SHA512 4d633b39a3c59cfdc2fc2c6235b3b87093f7617c89a80b50cf26d8f6fd63e8c3197d788e0b9e81347b9427cf363289b09b85376512d5820031472a735e0ca839
+DIST python-cinderclient-9.0.0.tar.gz 234533 BLAKE2B 18d673cbe02c5a4221b8667d051b1e0c1cbfe0c071e2b8c2f37b37dcf4ea9adae7ee64a7d5c8663c8ebd5946be53d91e253b9fb1df75e0d7f4dd8554098d22db SHA512 66542e10041d567fd7193a577ea5e8e7de6d7f735e05b1135f5d41e88847a6d042356431f54b481d9c13ec99c56e6d898df0222737e17c21fe6be6cfa886eafe
EBUILD python-cinderclient-8.3.0.ebuild 1237 BLAKE2B 83416e79a26d7c137d7a8871a11d5e1203d438cbb04d2719f862663e76e94ca5e5288ac25bd838468f3fa6eae4f0fdef20ddb58c67b0d83b40563022ab960c4c SHA512 e512063e57ab396f5673a3ff3334631808393b033cc764670a23a9b590e5f6caf70ddcedeb6c017c8da220b33aea40bf790fa6bf716bb623bd5dfc46d660b2af
+EBUILD python-cinderclient-9.0.0.ebuild 1239 BLAKE2B 8400d04b62c26500ddb25ed6677c49f3349825bc77f22fc4b26505a419c1c5283c2e459a55b93cab882986d00f9f04d929b551cf035a115de281c9fa199bab67 SHA512 123f9daa1e9befee64a822446fcab70b122823ca24376556e7a52014ce794997ea3f454b0b95ac31cc60e7530ad1c1aa472450922d7123fe2a199f20863722f2
MISC metadata.xml 727 BLAKE2B 0017cc08edf25f27b8a2816bc3ce1374148a17522bf2c5ea643ad10cde9f5779b1b6bf1e3c91627db76d2f77b8dcbfc87a29fb2cdd8064b3140fb14d1e6e00a1 SHA512 e30e64371f7a5f5fa506396f2edbbc7f862a585c7fe9af4f6fe63e99d4bbe9f9bf3a1f002a62c40ab9d75bd90ab99446bb80bf7f2fedf5b37287eeb54e5dacbe
diff --git a/dev-python/python-cinderclient/python-cinderclient-9.0.0.ebuild b/dev-python/python-cinderclient/python-cinderclient-9.0.0.ebuild
new file mode 100644
index 000000000000..69b8678ff2eb
--- /dev/null
+++ b/dev-python/python-cinderclient/python-cinderclient-9.0.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Cinder API"
+HOMEPAGE="https://launchpad.net/python-cinderclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/keystoneauth-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/simplejson-3.5.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-ironicclient/Manifest b/dev-python/python-ironicclient/Manifest
index 9bf36b61cdde..2cda2986857a 100644
--- a/dev-python/python-ironicclient/Manifest
+++ b/dev-python/python-ironicclient/Manifest
@@ -1,3 +1,5 @@
DIST python-ironicclient-4.11.0.tar.gz 220770 BLAKE2B a653cf04497a4df9627ed5026094690d0569dd7d6c55abf3a3223fee8cbc14e450106645ed1e4461cb3931f2ca49c8df47ca9e8e2ec9478cf15fcc0623d19379 SHA512 863429269807f759a864e427206d29a68b7431ce33009e1b6d3a630ab154e66b85b9f61dd90303a681a5ed459005af1686edf056eb9a63cfb6de1f1eda85bbb5
+DIST python-ironicclient-5.0.0.tar.gz 220583 BLAKE2B 8de728995db55d6786349ad390234c02b2dd38cb0119569c3f2af3a88789bae1b9fb6a43300502f083f4c01e75476d707a8b86576b509b4f3dbf750038f915b9 SHA512 3bee0be64daeee1ae3b88f00a3c3bf4a96a0ad10e7c55e60fd5342925e836a753668e32284b64aee4bf9d88b9f4379ad66287516559738b817efe1e815bb483d
EBUILD python-ironicclient-4.11.0.ebuild 1442 BLAKE2B 091cccb364fd3149797fa0119175c0be1db34db55ddd1be37c7566777fd2802fbf216f7eba59c6e21588d919c4ded935bff74a08497cec771db20e4f605ef262 SHA512 8af3ff0dc6a4704bb04c934235f317d2e69d9a6ca9ab1e2b122055674e71d0ed3da765eaf3bc081d0de522595165a74acbde4c161ac461d4d17c6716f1a5c3a6
-MISC metadata.xml 438 BLAKE2B b2028cc1ec57e7e7529f12df2488aad68aaea4a9fcb955bda1fc837fef9d923e58379d35f6855127d1035456bad22b0cfad430d89dc2e33a60f1cf7768af4e5f SHA512 ff95238ceec079bce66bf738d3d18d6de2a3afe6e8e8d5da500612be2adc15b51fcfa73dfb5beccb2c6593ad51a287df9a60dc151f87d12483cc29d2f6656b88
+EBUILD python-ironicclient-5.0.0.ebuild 1444 BLAKE2B cdea4e287b563283cdd269bbb0319412922f6cbd22407e2187dd902f7c597f2d1dd182586aee2d466bca070444704264ba1a1905f7ac051ce3891cddcf41728f SHA512 7d0a62f8f30a81537f51af27e8692f3ebc54ec101ae43a2d9df6546388d776550abe7f54596f884b97fce5efadf54f4cc3f4b5536a85ea3ae4fe611bda9a62ab
+MISC metadata.xml 531 BLAKE2B 0dc9961528a2fda61466eace2d8069b75dbb362b32d5adc3f50dd8b6c9daf5bb2690bc145e30d96807cb063c450e98824d783d566c2db96f036cc227f025dbc4 SHA512 99b57932cfbc2fc5e6607b167991964c17376504f07e7d3741900940d512a40a9c5dda73c0f87cc9b3718159d7aced0360831ef9c11ba063d11febda0786f943
diff --git a/dev-python/python-ironicclient/metadata.xml b/dev-python/python-ironicclient/metadata.xml
index 59f66e649665..cc52d8fed675 100644
--- a/dev-python/python-ironicclient/metadata.xml
+++ b/dev-python/python-ironicclient/metadata.xml
@@ -9,7 +9,9 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">python-ironicclient</remote-id>
+ <remote-id type="github">openstack/python-ironicclient</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python-ironicclient/python-ironicclient-5.0.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.0.0.ebuild
new file mode 100644
index 000000000000..39d952acbce6
--- /dev/null
+++ b/dev-python/python-ironicclient/python-ironicclient-5.0.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the Ironic API"
+HOMEPAGE="https://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/appdirs-1.3.0[${PYTHON_USEDEP}]
+ >dev-python/cliff-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.18.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${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/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/python-keystoneclient/Manifest b/dev-python/python-keystoneclient/Manifest
index 63efa541da3f..d250e5fcea89 100644
--- a/dev-python/python-keystoneclient/Manifest
+++ b/dev-python/python-keystoneclient/Manifest
@@ -1,3 +1,5 @@
DIST python-keystoneclient-4.5.0.tar.gz 325120 BLAKE2B 4511cb381ebfc11afefef0dbb7b9962efd2bbb5ac7455386ef4e831459614dfd51570cfaa1be9672936a6ed45d58b9b29e8326830840e80ffdb758089cbab887 SHA512 d3a5034bd05843b733410d4c6fc2c271edb25c837b50ba801031b45a00c0632b4420f2f4dd24dd25e78bf71b5ae31e2ec6b303d85aa4ecea0a89a49b5c67533d
+DIST python-keystoneclient-5.0.0.tar.gz 325208 BLAKE2B 86feea8d226976ee9fc568d10514d56d378727a11fada2d3f7acb1f95a33cbdcef165e8c5add656e53874463d81f8250905753aa03234de9dc87cf8d92213309 SHA512 94010e8a681817cae7c0555968a34102a430366b81393badc7661fd13eeea17e4e82d2065385a41c569c0e6ee89f4ccf3308a909186fbe2d29d7f46c5795d95b
EBUILD python-keystoneclient-4.5.0.ebuild 1603 BLAKE2B 204392034fee3def14cc9bf20894a6859a81c860088c8e6af9a8a8f7ddbd0cbf0a632260a532dde9df61d44b67940d9d8f2bdca3873a2e048ead5b7c56366a95 SHA512 b9bab09647576f6f20832a8fa8b1fe2bd148704c260de32c725ea62bf5a0c18e95c9fd8b43491938f6cae865169de2495949cd4d1bc38483cf10d79307b94cc5
+EBUILD python-keystoneclient-5.0.0.ebuild 1605 BLAKE2B 3d751c0f9f6a9dae5e686a9242445814909e7f14d1146dddc2451231f6449ec9bbfe98adf711900f7ea974e22c1250fae233ba0de4c58ac73ecc0f6c8cccf3cf SHA512 123cd2608cf0d67b2ff61c5796e95375cfd1d5fcb41d178399159433687eb267c83be6caaac277b13b6a0b308fdd0ebd03eda1e8885196b068f036f38bfab206
MISC metadata.xml 594 BLAKE2B effce3a1ff7b31d301f9a597ccc8a7c70854d64aa50f92e5d990deec018f47b8fe7460eeda8c72a032ad713ddf32fcb3d84c9bddead92e5e82c807b5646360f6 SHA512 319bc83641ffbe8bcda7aafedcbb63a95dac3dd9a151a9d9f8c51d5f7a4522bf08b04f3157cae5667cd14ce8c87707e40426bece26c37b5df41845d3dfe90586
diff --git a/dev-python/python-keystoneclient/python-keystoneclient-5.0.0.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-5.0.0.ebuild
new file mode 100644
index 000000000000..1d319bef1a1a
--- /dev/null
+++ b/dev-python/python-keystoneclient/python-keystoneclient-5.0.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Client Library for OpenStack Identity"
+HOMEPAGE="https://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+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/keystoneauth-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 f2bd2c4fcd4b..f92251cf2537 100644
--- a/dev-python/python-neutronclient/Manifest
+++ b/dev-python/python-neutronclient/Manifest
@@ -1,3 +1,5 @@
DIST python-neutronclient-7.8.0.tar.gz 304872 BLAKE2B 780e1b2942a43bca93888683d1c2e713cfc0927d49135004a6f6d42dff7962def6b0fc7f308b75b4392f4fb5df4d26fcea107b9006d4ba957c0d76294395e5c9 SHA512 3022d79348334632ab3afa142aab11e424b168a4ba04223722da80e59de2695b477c2d829bb14a37e7baf387f9d63b8c4456fc5712f8d591d3de51fad76d6c78
+DIST python-neutronclient-8.0.0.tar.gz 304243 BLAKE2B 664594bacd1d7480d502f97a0b0a3f441433ee70dac2af9359a22091c64503aba51e026b4e5eb0c68e7bc847b9120639ffdc1547d1d4ff92785459e1880a9747 SHA512 8846a87fb70555ca9f02a93f04dc68aa4ad332aea41398df744531f9afab034a37cb5390b93fa4fe4bd9ca25a9ee5787cccc1493232fe4019e5fcb2a842b2b44
EBUILD python-neutronclient-7.8.0.ebuild 2242 BLAKE2B 652582a9b006c17bc92c9f6c29fda3385677d7d6a7f4869420ff1b979776a6eee2b049a27afbc4440dedf607cf70a5611cf9adebbc5d9f626bb11b48c0df7271 SHA512 a1271d1d26ba54fe0c53a488459452ed40a56009a81fc31e25c954a9a803beec2dcd922168735c3e45a2ec065f535ffda06d8ea748ee6e20e76436b9f5e57f64
+EBUILD python-neutronclient-8.0.0.ebuild 2244 BLAKE2B ad8fa1cc4013e6a1e9350ada9949ae9b927e82487a588f67ab9a8c0117ff250480a70332a7cf6015aa3c4695d4989cf8140300b6b3361a8cd7e8fc8f8b07b881 SHA512 eb2a5ea3b61c9fde1681eb55ceaba6e9c8f48dd34560826cc6aeec66a8b0f5bc22dc4470b81a70ae713ab8ddf82401ac828a18a470ff10d317096ef31d9a331c
MISC metadata.xml 645 BLAKE2B 7c6f6fa18789cbd9334a7d611b47f5d2b9b0110a2c15cfcd50b95a4be593e8d5c7fa5d53a2db8a82c68c6e9f75db668cef4b4dfa7aa446f4cada0db80a669acb SHA512 035c9734f11c8b8d1edad8991c527d51060f58a171dbacd26c62a37cf8b061df318fad31ca352c17116e77e7e2338a85cfd8ee8550b10a2f93eb7ca3be3fd192
diff --git a/dev-python/python-neutronclient/python-neutronclient-8.0.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-8.0.0.ebuild
new file mode 100644
index 000000000000..6a5635106383
--- /dev/null
+++ b/dev-python/python-neutronclient/python-neutronclient-8.0.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Quantum API"
+HOMEPAGE="https://launchpad.net/neutron"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+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/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/keystoneauth-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-3.5.1[${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
+ local SITEDIR="${D}$(python_get_sitedir)" || die
+ cd "${SITEDIR}" || die
+ local egg=( python_neutronclient*.egg-info )
+ #[[ -f ${egg[0]} ]] || die "python_quantumclient*.egg-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-swiftclient/Manifest b/dev-python/python-swiftclient/Manifest
index 8c5f400a8f34..38d93f451edd 100644
--- a/dev-python/python-swiftclient/Manifest
+++ b/dev-python/python-swiftclient/Manifest
@@ -1,3 +1,5 @@
DIST python-swiftclient-4.0.0.tar.gz 200490 BLAKE2B 37cadf27758640a916014e09309282a4b7ffebb3e578ae7411744fafd22431cfb748cffb4127309b20a8b2d8daca7f8f0a1ed6431f55766c33b243744ce5a71e SHA512 9058558564973ea2a4944e87dedd7b9b12e106672576da1d796eae336d3127ce8b35803cade93c605b38fd16a2d3466e6dc710838ceb77143059007625299360
+DIST python-swiftclient-4.0.1.tar.gz 201300 BLAKE2B 6a506ae8996a3937048f67e7b3f8e5185605f9e5fe955f23e1131eead4d3699fb01e7851ab632e3dfaa75c12e88ec17cec5b4c1b19c1663163a2ff95530561ec SHA512 0028bc12a9694047e31da3c05fe92ce846de8858743771281cc9b93f0826c596bb6ed5ee72f4e5c68c4bba2dbd9f311062dccdf13c9917536d2aaec7eaf33ef9
EBUILD python-swiftclient-4.0.0.ebuild 1056 BLAKE2B f238ad88b6d5af2b50a97ea8d9609223e051f9540e5d83ff1a59ef006609d4d9243e5ffcc7169ef8315cff903e36bf321fbaa0f8d1d81297eb9be4a591525dad SHA512 70a794f5441ba89d9fe557d532b7de99b0abddb415683023f0b8587cb187385ad6cc13773d5c87e9433b0e288f2248b5a6b9575e1c8df46da6878a6b4c0c9859
+EBUILD python-swiftclient-4.0.1.ebuild 1058 BLAKE2B 83a4bb09c10997147dca2778374df5182fc60d0f3f08a6d47c35b8df42a86beadfc5b5e79b66c6ddae722b32072eb2fbf896ee41a4dbcd6fdbd9b034c69e630c SHA512 7f956de72d2dca1a77ceb2c0f6f6b2c431ce47b7f4976e3b2564f334d142d177b63753f61e6c2bd02aab18bfac24c4379ec2dc6089204d92319bd778515deb63
MISC metadata.xml 623 BLAKE2B 168e5384739e27a69e799a4e94038a8b7ba8434a439f92f601657ab4404c2f610da2324364a73c982aadc39a691fc368099b0ed604209331e9d83a33da1ece67 SHA512 d3028eb4ff16c9baae166c749c40388d45627a583ce041ece508f66cd8eea2f5f1ab72eed930c860497d6cb1e3e7f03c20f165c661197c4e507bf5a2c6833d1d
diff --git a/dev-python/python-swiftclient/python-swiftclient-4.0.1.ebuild b/dev-python/python-swiftclient/python-swiftclient-4.0.1.ebuild
new file mode 100644
index 000000000000..2336700dc435
--- /dev/null
+++ b/dev-python/python-swiftclient/python-swiftclient-4.0.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings to the OpenStack Object Storage API"
+HOMEPAGE="https://launchpad.net/python-swiftclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ dev-python/python-keystoneclient[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.11.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_prepare_all() {
+ sed -e 's/test_password_prompt/_&/' -i test/unit/test_shell.py || die
+ # fix duplicate script/entry point
+ # https://bugs.launchpad.net/python-swiftclient/+bug/1975361
+ sed -i -e '/bin\/swift/d' setup.cfg || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/sentry-sdk/Manifest b/dev-python/sentry-sdk/Manifest
index 82ff837488f3..fbc71d01a6c4 100644
--- a/dev-python/sentry-sdk/Manifest
+++ b/dev-python/sentry-sdk/Manifest
@@ -2,8 +2,10 @@ DIST sentry-sdk-1.5.12.tar.gz 247388 BLAKE2B 72dc4a5df97656074243045f20cfdbcb15b
DIST sentry-sdk-1.6.0.gh.tar.gz 249637 BLAKE2B c4d6788c80184ce9127ed85dfb5305363fd27bcbebd74763e4c14c4fed35dd05069ad4a244fa2d8a59f8cb618df22d4d864bf72510fe42600d23fcc6bf8228cf SHA512 d2999831af595ed7f1861ec78887e46887eea8c4c931f22bd4003aede508511287f67eb6100232362a110d16b7bdec892572225440be52a9bd37952c30478f15
DIST sentry-sdk-1.7.0.gh.tar.gz 251695 BLAKE2B b31a11ee6dcd55960b2d267c26cabdb35a463ab8c081889dceca55ae9ad87c90827875fb75f0912e98457391f24263816d5e61c59551121fe8dede8bb4921a8b SHA512 5595266185618630493eb9bf84c8570f419339b37e8f4afcd4feee80d62d9f678da68d58df081a5361380fe166df589029606ba1d7b70c1844fe174e3292f54c
DIST sentry-sdk-1.7.1.gh.tar.gz 251834 BLAKE2B e12c16780c3748754b9b104fbb38c7f7aba5fba3186c0ea00f40e742095828bedc926d6c8ed3cae05cc324fde8dac14053035ea4f75fa8f7669dc953e844ea0c SHA512 92d6e04cc6efb3d3272e3afdeb302115d8dfed9907db914bdf387bb257a8175f3d0713041e8c86c64a8d027fbcd3d6d03b4cccba55e6c76e52412ae404de7dc5
+DIST sentry-sdk-1.7.2.gh.tar.gz 254370 BLAKE2B e65b2236bfec9279a4aa05b77c9492547f657e461a7c96c4158acb6bc0887571186bfa71893dce34251ef8d783fb5d583b25aa12539c5db7993cec65fdf05229 SHA512 9fe2c283a326b78c8be95500e4916bb633dc7369960a4e0ef69c0f29de74c38db81f43b3931c47d50431ee7f1a66a2b18e8c4fc02ce71c404a5e9700644cb76c
EBUILD sentry-sdk-1.5.12.ebuild 2867 BLAKE2B 713c54d0b7774765790baa3db1631023e16291796d33a1481adef9db6daaa5548a899393d28a68ff3dd1df2df86f6c935c53f410dd9a91d5d7837a0ed11ad0e2 SHA512 1a259533119f6d72f04229d48ad8ae33379c345d08f5ea2c51f75bdf44534de69da266a60db06dcdb6c3fcac21a592a518d0bdffbda8e53b664328919adceadb
EBUILD sentry-sdk-1.6.0.ebuild 2874 BLAKE2B 499f352134ac1748e95c5b690a7b3848a4cfca4d532388ab4c056d8b59e37885faeed409c50d2764907280dfc83f2a015a72420f5620724026d7f418d1884040 SHA512 4ffa0cd99c29794138a199ab295e32817ea7fe8c7383a6f68598cd77c992a5ad7782bae3db5e52bf074351e061a2ebd3ab49f9123858e438a813627a82511cdb
EBUILD sentry-sdk-1.7.0.ebuild 2874 BLAKE2B 499f352134ac1748e95c5b690a7b3848a4cfca4d532388ab4c056d8b59e37885faeed409c50d2764907280dfc83f2a015a72420f5620724026d7f418d1884040 SHA512 4ffa0cd99c29794138a199ab295e32817ea7fe8c7383a6f68598cd77c992a5ad7782bae3db5e52bf074351e061a2ebd3ab49f9123858e438a813627a82511cdb
EBUILD sentry-sdk-1.7.1.ebuild 2874 BLAKE2B 499f352134ac1748e95c5b690a7b3848a4cfca4d532388ab4c056d8b59e37885faeed409c50d2764907280dfc83f2a015a72420f5620724026d7f418d1884040 SHA512 4ffa0cd99c29794138a199ab295e32817ea7fe8c7383a6f68598cd77c992a5ad7782bae3db5e52bf074351e061a2ebd3ab49f9123858e438a813627a82511cdb
+EBUILD sentry-sdk-1.7.2.ebuild 2874 BLAKE2B 499f352134ac1748e95c5b690a7b3848a4cfca4d532388ab4c056d8b59e37885faeed409c50d2764907280dfc83f2a015a72420f5620724026d7f418d1884040 SHA512 4ffa0cd99c29794138a199ab295e32817ea7fe8c7383a6f68598cd77c992a5ad7782bae3db5e52bf074351e061a2ebd3ab49f9123858e438a813627a82511cdb
MISC metadata.xml 510 BLAKE2B e00011699ac2cc83f1923e1f6fa813ede7eab8c57f9ce9d9fca04e721b089db1c5f2bdffaa7b9856f56b433abd9189125e07ffd3f329e4fa8d098e28a4f2d7bd SHA512 bafb77a102d94fe050cb526b298fb8cfd56775cb4d07eda280f6356fbec6fbe5df5c9ebd459d9d4457cd027c2e0d7c349e053fa6070b52f0d2989f6ec600b87d
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.7.2.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.7.2.ebuild
new file mode 100644
index 000000000000..45d775960169
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-1.7.2.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+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
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/sentry-python-${PV}"
+
+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/gevent[${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/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/eventlet[${PYTHON_USEDEP}]
+ ' python3_{8..9})
+ )
+"
+
+distutils_enable_tests pytest
+
+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
+ # 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
+)
+
+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
+ # incompatible version?
+ tests/integrations/falcon/test_falcon.py
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_too_large_event_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
+)
diff --git a/dev-python/simplegeneric/Manifest b/dev-python/simplegeneric/Manifest
index 1242354c0a0e..608bd970a66c 100644
--- a/dev-python/simplegeneric/Manifest
+++ b/dev-python/simplegeneric/Manifest
@@ -1,3 +1,4 @@
DIST simplegeneric-0.8.1.zip 12663 BLAKE2B cc3d70f8f4f04209b7ce259c6caaccec001515a3da04736cb8baa5fe7e6091f4f85bdde0c5c4227a01bfe52739f51ab0116d8bfdc4bb58bd2188c3a54c5eac37 SHA512 74c25d4e04fe197058cb43fabe3702cc5901989dc0b0bcf7511369f4f3d90fd98e4225174db0680c8f39389914f82824bdbdaf4c302b53998fbabbf0dba393e4
EBUILD simplegeneric-0.8.1-r1.ebuild 527 BLAKE2B 64cd198525603bb492dd9bafb32ba57e9948746d2fbb3c980e3ca5465810ae5415b42b567f86fa96f3b0d4dd188c849815983c501747f89794841f8a5081601a SHA512 26980fee6afaa01ec6b5e737e3cb938670ec8db7bf004ea0fd999800eb4ed0b0531396305a0419beb9e9f2016267dc99fa4342f343c0fb07feb1d94f6297a8be
+EBUILD simplegeneric-0.8.1-r2.ebuild 566 BLAKE2B d9a3c074af42fe37eb172b8071ada1d3a6c38805f804fdfc29be16f7ae9dcf9dc62f4cf5fa95dfdfe17d1e646d5d184625ad1959287a2f9e241c140a5f9b84e4 SHA512 027976bf1ac8c384847b283f032218d355cfc459dc8bcb27602b9827c8973a7d10fa36f7ee65aaa219ee91b0a346ab26adeb23ab7c82dcb04144e47053954639
MISC metadata.xml 733 BLAKE2B 88889e26678b81dc9b4ace8b4e02e896be9310aeed05859925dad1f3b3a31f5bd431b1336cadd6feb91e637b90fdcb96f5ee53ed1a963741e2308e6fc84e4881 SHA512 6abd7eec6fab90f5a42bb6e043140f7784ad6a602125e6086d1616f4e1c6155c98b0471cdb4041e1989d0d9995d34e38e8b2d6a447443ad514bd91652588be44
diff --git a/dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild b/dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild
new file mode 100644
index 000000000000..6cda9300b798
--- /dev/null
+++ b/dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple generic functions for Python"
+HOMEPAGE="https://pypi.org/project/simplegeneric/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+BDEPEND="app-arch/unzip"
+
+distutils_enable_tests setup.py
diff --git a/dev-python/sphinx-aiohttp-theme/Manifest b/dev-python/sphinx-aiohttp-theme/Manifest
index 99a26ea65d69..f6d8e62ae33f 100644
--- a/dev-python/sphinx-aiohttp-theme/Manifest
+++ b/dev-python/sphinx-aiohttp-theme/Manifest
@@ -1,3 +1,4 @@
DIST aiohttp-theme-0.1.6.tar.gz 10921 BLAKE2B f1a5a0b82c1a99e0afa2fa118e9b2a13d59d742634c8826c0f67f45bd049c96851f1ac694cb6ebfcee1f66b1e03d445b4a3eef676135076af99a1d30541a0a4e SHA512 58b3b595eed97de546484dae562172c7751a3d4d90a6a1ea885e86a44b78d9017834372179d2881e048c4b2916f2b53d11ddb9368a5474462ac9ef7d75925b7f
+EBUILD sphinx-aiohttp-theme-0.1.6-r1.ebuild 580 BLAKE2B 5df33c302997af42dc81c7c117d390d880d52091465d789da64eda816dee18846f1276bac89552ecd8f804257e3cdc8ad0a16d2157178351f25bdfbc7bce119d SHA512 baf479cac30ca9bd86a70c6939e1b1df097e030dbcad8f74d21790fc401ff74f6532358f50577bc6c77ccd906449b3cc5284ed022b52d2d069a4a5358b17f3e8
EBUILD sphinx-aiohttp-theme-0.1.6.ebuild 541 BLAKE2B 824da60a9421c1efd0193e9ff03ba48e20711f6fd70c50c70cc040b4fc3804e2f9104ff38e6e1ec6f2bc441092758f884dd503f408583ff3a3adf758b02da46b SHA512 d84a2747e8a5d83b2cc561458f0313a5225740cf4bc944857934b626d658f5d9ef091f553c7f82ebbcacb2e3ac6bfbb9b595d114fd22077398d681650fc7ce0e
MISC metadata.xml 381 BLAKE2B 288ec644e49f4faf57d9d5dac331a3a69b507c04c7a9e03564ff88ca9c24fd6a8a7e33f4c36c2e40b6db8004cd9b0e0d5ae559880b162e823a42df66eb2d8fed SHA512 b38f855cf814202f4f01c4ab677af6026090740dc2db00b52ceca8d6ceae39d47c49317bd9e251ee1316d1920c236b8286017fbde011963ad464d3c293c3351c
diff --git a/dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild b/dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild
new file mode 100644
index 000000000000..af017f6db7c3
--- /dev/null
+++ b/dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit distutils-r1
+
+MY_PN="${PN#sphinx-}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Sphinx theme for aiohttp"
+HOMEPAGE="https://github.com/aio-libs/aiohttp-theme"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"