summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-12-05 21:10:33 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-12-05 21:10:33 +0000
commit0ff2b922b0569616bb03f92e9563ac1812dd7604 (patch)
tree0f412fe2846b82b12eab5ed493c392582a050cbb /dev-python
parentd9af447f4fbcf1081e40b9c10b74d82a369b7291 (diff)
downloadbaldeagleos-repo-0ff2b922b0569616bb03f92e9563ac1812dd7604.tar.gz
baldeagleos-repo-0ff2b922b0569616bb03f92e9563ac1812dd7604.tar.xz
baldeagleos-repo-0ff2b922b0569616bb03f92e9563ac1812dd7604.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild5
-rw-r--r--dev-python/ansible-pygments/files/ansible-pygments-0.1.1-make_lexer_test_compare_tokens.patch324
-rw-r--r--dev-python/ansible-pygments/files/ansible-pygments-0.1.1-tests_pygments2_14.patch75
-rw-r--r--dev-python/bareos/Manifest2
-rw-r--r--dev-python/bareos/bareos-22.1.2.ebuild (renamed from dev-python/bareos/bareos-22.1.0.ebuild)0
-rw-r--r--dev-python/canonicaljson/canonicaljson-2.0.0.ebuild2
-rw-r--r--dev-python/cherrypy/metadata.xml4
-rw-r--r--dev-python/django-filter/Manifest1
-rw-r--r--dev-python/django-filter/django-filter-23.5.ebuild42
-rw-r--r--dev-python/django-tables2/Manifest1
-rw-r--r--dev-python/django-tables2/django-tables2-2.7.0.ebuild49
-rw-r--r--dev-python/django/Manifest2
-rw-r--r--dev-python/django/django-5.0.ebuild97
-rw-r--r--dev-python/h5py/Manifest1
-rw-r--r--dev-python/h5py/h5py-3.10.0-r1.ebuild66
-rw-r--r--dev-python/ijson/ijson-3.2.3.ebuild2
-rw-r--r--dev-python/immutabledict/immutabledict-4.0.0.ebuild2
-rw-r--r--dev-python/jupyter-server/Manifest1
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.11.2.ebuild75
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild2
-rw-r--r--dev-python/nbconvert/Manifest1
-rw-r--r--dev-python/nbconvert/nbconvert-7.12.0.ebuild82
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.13.26.ebuild2
-rw-r--r--dev-python/pipx/Manifest1
-rw-r--r--dev-python/pipx/pipx-1.3.3.ebuild48
-rw-r--r--dev-python/pulsectl-asyncio/pulsectl-asyncio-1.1.1.ebuild2
-rw-r--r--dev-python/pulsectl/pulsectl-23.5.2-r1.ebuild2
-rw-r--r--dev-python/pyicu/pyicu-2.12.ebuild2
-rw-r--r--dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild2
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-4.4.0-r1.ebuild1
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.4.0.ebuild2
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-11.0.0.ebuild2
-rw-r--r--dev-python/python-novaclient/python-novaclient-18.4.0.ebuild2
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild2
-rw-r--r--dev-python/pywlroots/pywlroots-0.16.6-r2.ebuild (renamed from dev-python/pywlroots/pywlroots-0.16.6-r1.ebuild)24
-rw-r--r--dev-python/pyzmq/Manifest1
-rw-r--r--dev-python/pyzmq/pyzmq-25.1.2.ebuild92
-rw-r--r--dev-python/signedjson/signedjson-1.1.4.ebuild2
-rw-r--r--dev-python/txredisapi/txredisapi-1.4.10.ebuild2
41 files changed, 934 insertions, 103 deletions
diff --git a/dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild b/dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild
index a8912cddf485..55b062ffda6f 100644
--- a/dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild
+++ b/dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild
@@ -16,11 +16,10 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~riscv"
-# 2.14.0+ needed in order for tests to pass
-RDEPEND=">=dev-python/pygments-2.14.0[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
PATCHES=(
- "${FILESDIR}"/${PN}-0.1.1-tests_pygments2_14.patch
+ "${FILESDIR}"/${PN}-0.1.1-make_lexer_test_compare_tokens.patch
)
distutils_enable_tests pytest
diff --git a/dev-python/ansible-pygments/files/ansible-pygments-0.1.1-make_lexer_test_compare_tokens.patch b/dev-python/ansible-pygments/files/ansible-pygments-0.1.1-make_lexer_test_compare_tokens.patch
new file mode 100644
index 000000000000..41ce8a5c2314
--- /dev/null
+++ b/dev-python/ansible-pygments/files/ansible-pygments-0.1.1-make_lexer_test_compare_tokens.patch
@@ -0,0 +1,324 @@
+Backported upstream patch 179c74e9f1a5dc870dec6d4db6cab60d2dca1ed2
+
+--- a/tests/lexer_test.py
++++ b/tests/lexer_test.py
+@@ -1,26 +1,24 @@
+ # Author: Felix Fontein <felix@fontein.de>
+ # License: BSD-2-Clause
+ # Copyright: Felix Fontein <felix@fontein.de>, 2021
+-"""Tests for Pygments lexers."""
++"""Tests for Pygments lexers.
+
+-from pygments import highlight
+-# pylint: disable=no-name-in-module
+-# Ref: https://github.com/PyCQA/pylint/issues/491
+-from pygments.formatters import HtmlFormatter
+-
+-from ansible_pygments.lexers import AnsibleOutputLexer
++They rely on token comparison for stability reasons. Relying on
++additional style formatting is known to break with updates to
++the pygments library itself.
++"""
+
++from pygments import __version__ as _pygments_version
++from pygments.lexers import get_lexer_by_name as _get_lexer_by_name
++from pygments.token import Token
+
+-def run_test(data, lexer):
+- """Format the data snippet as HTML using a given lexer."""
+- formatter = HtmlFormatter()
+- result = highlight(data, lexer, formatter)
+- return formatter.get_style_defs('.highlight'), result
++PYGMENTS_VERSION_INFO = tuple(map(int, _pygments_version.split('.')))
++IS_OLD_PYGMENTS_PRE_2_14 = PYGMENTS_VERSION_INFO <= (2, 14, 0)
+
+
+ def test_ansible_output_lexer():
+- """Test that AnsibleOutputLexer produces expected HTML output."""
+- data = R"""
++ """Test that ``AnsibleOutputLexer`` produces expected tokens."""
++ ansible_play_output_example = R"""
+ ok: [windows] => {
+ "account": {
+ "account_name": "vagrant-domain",
+@@ -71,58 +69,226 @@
+
+ changed: [localhost]
+ """
+- _, result = run_test(data, AnsibleOutputLexer())
+- print(result)
+
+- # pylint: disable=line-too-long
+- assert result == R"""<div class="highlight"><pre><span></span><span class="k">ok</span><span class="p">:</span> <span class="p">[</span><span class="nv">windows</span><span class="p">]</span> <span class="p">=&gt;</span> <span class="p">{</span>
+- <span class="nt">&quot;account&quot;</span><span class="p">:</span> <span class="p">{</span>
+- <span class="nt">&quot;account_name&quot;</span><span class="p">:</span> <span class="s">&quot;vagrant-domain&quot;</span><span class="p">,</span>
+- <span class="nt">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;User&quot;</span>
+- <span class="p">},</span>
+- <span class="nt">&quot;authentication_package&quot;</span><span class="p">:</span> <span class="s">&quot;Kerberos&quot;</span><span class="p">,</span>
+- <span class="nt">&quot;user_flags&quot;</span><span class="p">:</span> <span class="p">[]</span>
+-<span class="p">}</span>
+-
+-<span class="k">TASK</span> <span class="p">[</span><span class="l">paused</span><span class="p">]</span> <span class="nv">************************************************************************************************************************************</span>
+-<span class="w">Sunday 11 November 2018 20:16:48 +0100 (0:00:00.041) 0:07:59.637 *******</span>
+-<span class="gd">--- before</span><span class="w"></span>
+-<span class="gi">+++ after</span><span class="w"></span>
+-<span class="gu">@@ -1,5 +1,5 @@</span><span class="w"></span>
+-<span class="w"> </span>{<span class="w"></span>
+-<span class="gd">- &quot;exists&quot;: false,</span><span class="w"></span>
+-<span class="gd">- &quot;paused&quot;: false,</span><span class="w"></span>
+-<span class="gd">- &quot;running&quot;: false</span><span class="w"></span>
+-<span class="gi">+ &quot;exists&quot;: true,</span><span class="w"></span>
+-<span class="gi">+ &quot;paused&quot;: true,</span><span class="w"></span>
+-<span class="gi">+ &quot;running&quot;: true</span><span class="w"></span>
+-<span class="w"> </span>}<span class="w"></span>
+-<span class="w">\ No newline at end of file</span>
+-
+-<span class="k">changed</span><span class="p">:</span> <span class="p">[</span><span class="nv">localhost</span><span class="p">]</span>
+-
+-<span class="k">TASK</span> <span class="p">[</span><span class="l">volumes (more volumes)</span><span class="p">]</span> <span class="nv">********************************************************************************************************************</span>
+-<span class="w">Sunday 11 November 2018 20:19:25 +0100 (0:00:00.607) 0:10:36.974 *******</span>
+-<span class="gd">--- before</span><span class="w"></span>
+-<span class="gi">+++ after</span><span class="w"></span>
+-<span class="gu">@@ -1,11 +1,11 @@</span><span class="w"></span>
+-<span class="w"> </span>{<span class="w"></span>
+-<span class="w"> </span> &quot;expected_binds&quot;: [<span class="w"></span>
+-<span class="gd">- &quot;/tmp:/tmp:rw&quot;,</span><span class="w"></span>
+-<span class="gd">- &quot;/:/whatever:rw,z&quot;</span><span class="w"></span>
+-<span class="gi">+ &quot;/tmp:/somewhereelse:ro,Z&quot;,</span><span class="w"></span>
+-<span class="gi">+ &quot;/tmp:/tmp:rw&quot;</span><span class="w"></span>
+-<span class="w"> </span> ],<span class="w"></span>
+-<span class="w"> </span> &quot;expected_volumes&quot;: {<span class="w"></span>
+-<span class="gd">- &quot;/tmp&quot;: {},</span><span class="w"></span>
+-<span class="gd">- &quot;/whatever&quot;: {}</span><span class="w"></span>
+-<span class="gi">+ &quot;/somewhereelse&quot;: {},</span><span class="w"></span>
+-<span class="gi">+ &quot;/tmp&quot;: {}</span><span class="w"></span>
+-<span class="w"> </span> },<span class="w"></span>
+-<span class="w"> </span> &quot;running&quot;: true<span class="w"></span>
+-<span class="w"> </span>}<span class="w"></span>
+-<span class="w">\ No newline at end of file</span>
+-
+-<span class="k">changed</span><span class="p">:</span> <span class="p">[</span><span class="nv">localhost</span><span class="p">]</span>
+-</pre></div>
+-"""
++ expected_resulting_text_tokens = [
++ (0, Token.Text.Whitespace, '\n'),
++ (1, Token.Keyword, 'ok'),
++ (3, Token.Punctuation, ':'),
++ (4, Token.Text, ' '),
++ (5, Token.Punctuation, '['),
++ (6, Token.Name.Variable, 'windows'),
++ (13, Token.Punctuation, ']'),
++ (14, Token.Text, ' '),
++ (15, Token.Punctuation, '=>'),
++ (17, Token.Text, ' '),
++ (18, Token.Punctuation, '{'),
++ (19, Token.Text, '\n '),
++ (24, Token.Name.Tag, '"account"'),
++ (33, Token.Punctuation, ':'),
++ (34, Token.Text, ' '),
++ (35, Token.Punctuation, '{'),
++ (36, Token.Text, '\n '),
++ (45, Token.Name.Tag, '"account_name"'),
++ (59, Token.Punctuation, ':'),
++ (60, Token.Text, ' '),
++ (61, Token.Literal.String, '"vagrant-domain"'),
++ (77, Token.Punctuation, ','),
++ (78, Token.Text, '\n '),
++ (87, Token.Name.Tag, '"type"'),
++ (93, Token.Punctuation, ':'),
++ (94, Token.Text, ' '),
++ (95, Token.Literal.String, '"User"'),
++ (101, Token.Text, '\n '),
++ (106, Token.Punctuation, '}'),
++ (107, Token.Punctuation, ','),
++ (108, Token.Text, '\n '),
++ (113, Token.Name.Tag, '"authentication_package"'),
++ (137, Token.Punctuation, ':'),
++ (138, Token.Text, ' '),
++ (139, Token.Literal.String, '"Kerberos"'),
++ (149, Token.Punctuation, ','),
++ (150, Token.Text, '\n '),
++ (155, Token.Name.Tag, '"user_flags"'),
++ (167, Token.Punctuation, ':'),
++ (168, Token.Text, ' '),
++ (169, Token.Punctuation, '['),
++ (170, Token.Punctuation, ']'),
++ (171, Token.Text, '\n'),
++ (172, Token.Punctuation, '}'),
++ (173, Token.Text, '\n'),
++ (174, Token.Text.Whitespace, '\n'),
++ (175, Token.Keyword, 'TASK'),
++ (179, Token.Text, ' '),
++ (180, Token.Punctuation, '['),
++ (181, Token.Literal, 'paused'),
++ (187, Token.Punctuation, ']'),
++ (188, Token.Text, ' '),
++ (
++ 189,
++ Token.Name.Variable,
++ '*' * 132,
++ ),
++ (321, Token.Text, '\n'),
++ *(
++ (
++ (
++ 322,
++ Token.Text.Whitespace,
++ 'Sunday 11 November 2018 20:16:48 +0100 (0:00:00.041) '
++ '0:07:59.637 *******\n',
++ ),
++ ) if IS_OLD_PYGMENTS_PRE_2_14 else (
++ (
++ 322,
++ Token.Text,
++ 'Sunday 11 November 2018 20:16:48 +0100 (0:00:00.041) '
++ '0:07:59.637 *******',
++ ),
++ (401, Token.Text.Whitespace, '\n'),
++ )
++ ),
++ (402, Token.Generic.Deleted, '--- before'),
++ (412, Token.Text.Whitespace, '\n'),
++ (413, Token.Generic.Inserted, '+++ after'),
++ (422, Token.Text.Whitespace, '\n'),
++ (423, Token.Generic.Subheading, '@@ -1,5 +1,5 @@'),
++ (438, Token.Text.Whitespace, '\n'),
++ (439, Token.Text.Whitespace, ' '),
++ (440, Token.Text, '{'),
++ (441, Token.Text.Whitespace, '\n'),
++ (442, Token.Generic.Deleted, '- "exists": false,'),
++ (461, Token.Text.Whitespace, '\n'),
++ (462, Token.Generic.Deleted, '- "paused": false,'),
++ (481, Token.Text.Whitespace, '\n'),
++ (482, Token.Generic.Deleted, '- "running": false'),
++ (501, Token.Text.Whitespace, '\n'),
++ (502, Token.Generic.Inserted, '+ "exists": true,'),
++ (520, Token.Text.Whitespace, '\n'),
++ (521, Token.Generic.Inserted, '+ "paused": true,'),
++ (539, Token.Text.Whitespace, '\n'),
++ (540, Token.Generic.Inserted, '+ "running": true'),
++ (558, Token.Text.Whitespace, '\n'),
++ (559, Token.Text.Whitespace, ' '),
++ (560, Token.Text, '}'),
++ (561, Token.Text.Whitespace, '\n'),
++ *(
++ (
++ (
++ 562,
++ Token.Text.Whitespace,
++ '\\ No newline at end of file\n',
++ ),
++ ) if IS_OLD_PYGMENTS_PRE_2_14 else (
++ (562, Token.Text, '\\ No newline at end of file'),
++ (589, Token.Text.Whitespace, '\n'),
++ )
++ ),
++ (590, Token.Text.Whitespace, '\n'),
++ (591, Token.Keyword, 'changed'),
++ (598, Token.Punctuation, ':'),
++ (599, Token.Text, ' '),
++ (600, Token.Punctuation, '['),
++ (601, Token.Name.Variable, 'localhost'),
++ (610, Token.Punctuation, ']'),
++ (611, Token.Text, '\n'),
++ (612, Token.Text.Whitespace, '\n'),
++ (613, Token.Keyword, 'TASK'),
++ (617, Token.Text, ' '),
++ (618, Token.Punctuation, '['),
++ (619, Token.Literal, 'volumes (more volumes)'),
++ (641, Token.Punctuation, ']'),
++ (642, Token.Text, ' '),
++ (
++ 643,
++ Token.Name.Variable,
++ '*' * 116,
++ ),
++ (759, Token.Text, '\n'),
++ *(
++ (
++ (
++ 760,
++ Token.Text.Whitespace,
++ 'Sunday 11 November 2018 20:19:25 +0100 (0:00:00.607) '
++ '0:10:36.974 *******\n',
++ ),
++ ) if IS_OLD_PYGMENTS_PRE_2_14 else (
++ (
++ 760,
++ Token.Text,
++ 'Sunday 11 November 2018 20:19:25 +0100 (0:00:00.607) '
++ '0:10:36.974 *******',
++ ),
++ (839, Token.Text.Whitespace, '\n'),
++ )
++ ),
++ (840, Token.Generic.Deleted, '--- before'),
++ (850, Token.Text.Whitespace, '\n'),
++ (851, Token.Generic.Inserted, '+++ after'),
++ (860, Token.Text.Whitespace, '\n'),
++ (861, Token.Generic.Subheading, '@@ -1,11 +1,11 @@'),
++ (878, Token.Text.Whitespace, '\n'),
++ (879, Token.Text.Whitespace, ' '),
++ (880, Token.Text, '{'),
++ (881, Token.Text.Whitespace, '\n'),
++ (882, Token.Text.Whitespace, ' '),
++ (883, Token.Text, ' "expected_binds": ['),
++ (904, Token.Text.Whitespace, '\n'),
++ (905, Token.Generic.Deleted, '- "/tmp:/tmp:rw",'),
++ (925, Token.Text.Whitespace, '\n'),
++ (926, Token.Generic.Deleted, '- "/:/whatever:rw,z"'),
++ (949, Token.Text.Whitespace, '\n'),
++ (950, Token.Generic.Inserted, '+ "/tmp:/somewhereelse:ro,Z",'),
++ (982, Token.Text.Whitespace, '\n'),
++ (983, Token.Generic.Inserted, '+ "/tmp:/tmp:rw"'),
++ (1002, Token.Text.Whitespace, '\n'),
++ (1003, Token.Text.Whitespace, ' '),
++ (1004, Token.Text, ' ],'),
++ (1008, Token.Text.Whitespace, '\n'),
++ (1009, Token.Text.Whitespace, ' '),
++ (1010, Token.Text, ' "expected_volumes": {'),
++ (1033, Token.Text.Whitespace, '\n'),
++ (1034, Token.Generic.Deleted, '- "/tmp": {},'),
++ (1050, Token.Text.Whitespace, '\n'),
++ (1051, Token.Generic.Deleted, '- "/whatever": {}'),
++ (1071, Token.Text.Whitespace, '\n'),
++ (1072, Token.Generic.Inserted, '+ "/somewhereelse": {},'),
++ (1098, Token.Text.Whitespace, '\n'),
++ (1099, Token.Generic.Inserted, '+ "/tmp": {}'),
++ (1114, Token.Text.Whitespace, '\n'),
++ (1115, Token.Text.Whitespace, ' '),
++ (1116, Token.Text, ' },'),
++ (1120, Token.Text.Whitespace, '\n'),
++ (1121, Token.Text.Whitespace, ' '),
++ (1122, Token.Text, ' "running": true'),
++ (1139, Token.Text.Whitespace, '\n'),
++ (1140, Token.Text.Whitespace, ' '),
++ (1141, Token.Text, '}'),
++ (1142, Token.Text.Whitespace, '\n'),
++ *(
++ (
++ (
++ 1143,
++ Token.Text.Whitespace,
++ '\\ No newline at end of file\n',
++ ),
++ ) if IS_OLD_PYGMENTS_PRE_2_14 else (
++ (1143, Token.Text, '\\ No newline at end of file'),
++ (1170, Token.Text.Whitespace, '\n'),
++ )
++ ),
++ (1171, Token.Text.Whitespace, '\n'),
++ (1172, Token.Keyword, 'changed'),
++ (1179, Token.Punctuation, ':'),
++ (1180, Token.Text, ' '),
++ (1181, Token.Punctuation, '['),
++ (1182, Token.Name.Variable, 'localhost'),
++ (1191, Token.Punctuation, ']'),
++ (1192, Token.Text, '\n'),
++ ]
++
++ unprocessed_text_tokens = list(
++ _get_lexer_by_name('ansible-output').
++ get_tokens_unprocessed(ansible_play_output_example),
++ )
++ assert unprocessed_text_tokens == expected_resulting_text_tokens
diff --git a/dev-python/ansible-pygments/files/ansible-pygments-0.1.1-tests_pygments2_14.patch b/dev-python/ansible-pygments/files/ansible-pygments-0.1.1-tests_pygments2_14.patch
deleted file mode 100644
index d58a13256ac5..000000000000
--- a/dev-python/ansible-pygments/files/ansible-pygments-0.1.1-tests_pygments2_14.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-Backported upstream commit 0ddab3516217ac2067b6e980f5b2a6b2ac1be3fa
-
---- a/tests/lexer_test.py
-+++ b/tests/lexer_test.py
-@@ -86,41 +86,41 @@ def test_ansible_output_lexer():
-
- <span class="k">TASK</span> <span class="p">[</span><span class="l">paused</span><span class="p">]</span> <span class="nv">************************************************************************************************************************************</span>
- <span class="w">Sunday 11 November 2018 20:16:48 +0100 (0:00:00.041) 0:07:59.637 *******</span>
--<span class="gd">--- before</span><span class="w"></span>
--<span class="gi">+++ after</span><span class="w"></span>
--<span class="gu">@@ -1,5 +1,5 @@</span><span class="w"></span>
--<span class="w"> </span>{<span class="w"></span>
--<span class="gd">- &quot;exists&quot;: false,</span><span class="w"></span>
--<span class="gd">- &quot;paused&quot;: false,</span><span class="w"></span>
--<span class="gd">- &quot;running&quot;: false</span><span class="w"></span>
--<span class="gi">+ &quot;exists&quot;: true,</span><span class="w"></span>
--<span class="gi">+ &quot;paused&quot;: true,</span><span class="w"></span>
--<span class="gi">+ &quot;running&quot;: true</span><span class="w"></span>
--<span class="w"> </span>}<span class="w"></span>
-+<span class="gd">--- before</span>
-+<span class="gi">+++ after</span>
-+<span class="gu">@@ -1,5 +1,5 @@</span>
-+<span class="w"> </span>{
-+<span class="gd">- &quot;exists&quot;: false,</span>
-+<span class="gd">- &quot;paused&quot;: false,</span>
-+<span class="gd">- &quot;running&quot;: false</span>
-+<span class="gi">+ &quot;exists&quot;: true,</span>
-+<span class="gi">+ &quot;paused&quot;: true,</span>
-+<span class="gi">+ &quot;running&quot;: true</span>
-+<span class="w"> </span>}
- <span class="w">\ No newline at end of file</span>
-
- <span class="k">changed</span><span class="p">:</span> <span class="p">[</span><span class="nv">localhost</span><span class="p">]</span>
-
- <span class="k">TASK</span> <span class="p">[</span><span class="l">volumes (more volumes)</span><span class="p">]</span> <span class="nv">********************************************************************************************************************</span>
- <span class="w">Sunday 11 November 2018 20:19:25 +0100 (0:00:00.607) 0:10:36.974 *******</span>
--<span class="gd">--- before</span><span class="w"></span>
--<span class="gi">+++ after</span><span class="w"></span>
--<span class="gu">@@ -1,11 +1,11 @@</span><span class="w"></span>
--<span class="w"> </span>{<span class="w"></span>
--<span class="w"> </span> &quot;expected_binds&quot;: [<span class="w"></span>
--<span class="gd">- &quot;/tmp:/tmp:rw&quot;,</span><span class="w"></span>
--<span class="gd">- &quot;/:/whatever:rw,z&quot;</span><span class="w"></span>
--<span class="gi">+ &quot;/tmp:/somewhereelse:ro,Z&quot;,</span><span class="w"></span>
--<span class="gi">+ &quot;/tmp:/tmp:rw&quot;</span><span class="w"></span>
--<span class="w"> </span> ],<span class="w"></span>
--<span class="w"> </span> &quot;expected_volumes&quot;: {<span class="w"></span>
--<span class="gd">- &quot;/tmp&quot;: {},</span><span class="w"></span>
--<span class="gd">- &quot;/whatever&quot;: {}</span><span class="w"></span>
--<span class="gi">+ &quot;/somewhereelse&quot;: {},</span><span class="w"></span>
--<span class="gi">+ &quot;/tmp&quot;: {}</span><span class="w"></span>
--<span class="w"> </span> },<span class="w"></span>
--<span class="w"> </span> &quot;running&quot;: true<span class="w"></span>
--<span class="w"> </span>}<span class="w"></span>
-+<span class="gd">--- before</span>
-+<span class="gi">+++ after</span>
-+<span class="gu">@@ -1,11 +1,11 @@</span>
-+<span class="w"> </span>{
-+<span class="w"> </span> &quot;expected_binds&quot;: [
-+<span class="gd">- &quot;/tmp:/tmp:rw&quot;,</span>
-+<span class="gd">- &quot;/:/whatever:rw,z&quot;</span>
-+<span class="gi">+ &quot;/tmp:/somewhereelse:ro,Z&quot;,</span>
-+<span class="gi">+ &quot;/tmp:/tmp:rw&quot;</span>
-+<span class="w"> </span> ],
-+<span class="w"> </span> &quot;expected_volumes&quot;: {
-+<span class="gd">- &quot;/tmp&quot;: {},</span>
-+<span class="gd">- &quot;/whatever&quot;: {}</span>
-+<span class="gi">+ &quot;/somewhereelse&quot;: {},</span>
-+<span class="gi">+ &quot;/tmp&quot;: {}</span>
-+<span class="w"> </span> },
-+<span class="w"> </span> &quot;running&quot;: true
-+<span class="w"> </span>}
- <span class="w">\ No newline at end of file</span>
-
- <span class="k">changed</span><span class="p">:</span> <span class="p">[</span><span class="nv">localhost</span><span class="p">]</span>
diff --git a/dev-python/bareos/Manifest b/dev-python/bareos/Manifest
index ede21f58a067..f5a1721f35bd 100644
--- a/dev-python/bareos/Manifest
+++ b/dev-python/bareos/Manifest
@@ -1 +1 @@
-DIST bareos-22.1.0.tar.gz 14719993 BLAKE2B 38e354d3227d401c69ffb003c83ae90c2067720490af089d529da636bc300e2fb5042451ab439b8b102f6850aeadbe8dedc4311dba13f800eab0bc77d89f809d SHA512 dea64c6eb34a93f1a93eb6b0ac628a75101ac8873e06800a256f226e8f3a556fe39ce4e500246f9c51de30a2b0907732f789c6394f29b7bb9d983a64c709ad2c
+DIST bareos-22.1.2.tar.gz 14746158 BLAKE2B 5d8c9c098f61bd35b11f907a3e215a7c08b504c3e529c67a4c8c5cbbf24775158966800e63efca260b4cc513417332cdf43a158d21684f09be3d89dd93258880 SHA512 76d53425b2a28f4f7887b323a70bf9b37df44302e0e25aff7156c1b3ee26ffa60bbfb45ed29a0f2fe763d5c38b8f7135ac2a3e405d8e2b10717f4893baf9c327
diff --git a/dev-python/bareos/bareos-22.1.0.ebuild b/dev-python/bareos/bareos-22.1.2.ebuild
index 45f6686d56bf..45f6686d56bf 100644
--- a/dev-python/bareos/bareos-22.1.0.ebuild
+++ b/dev-python/bareos/bareos-22.1.2.ebuild
diff --git a/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild b/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild
index 2ab5c0f0a44f..18c308407bd0 100644
--- a/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild
+++ b/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild
@@ -16,6 +16,6 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
distutils_enable_tests unittest
diff --git a/dev-python/cherrypy/metadata.xml b/dev-python/cherrypy/metadata.xml
index ea8988e8af6a..5f8db3e69b89 100644
--- a/dev-python/cherrypy/metadata.xml
+++ b/dev-python/cherrypy/metadata.xml
@@ -5,7 +5,9 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
-
+ <upstream>
+ <remote-id type="cpe">cpe:/a:cherrypy:cherrypy</remote-id>
+ </upstream>
<origin>gentoo-staging</origin>
<stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/django-filter/Manifest b/dev-python/django-filter/Manifest
index 8cd33a357042..51f1674b082f 100644
--- a/dev-python/django-filter/Manifest
+++ b/dev-python/django-filter/Manifest
@@ -1,2 +1,3 @@
DIST django-filter-23.3.gh.tar.gz 137495 BLAKE2B 70049e744ec87a1dab9680144093684d3d23dd338a9b2d697de302b45e65bcd6f93c03c55ad5386ba1a7187e7ff5d1c43904f19cb17652ef6644b47a0f23101c SHA512 1da3f9bb1988d0b89d25f4101c26f4102d38e4717cdbd8d0cd4ae03a97658bfcc050afd3468ef6d0e33dc6533c7679f1906ddaccba8e7096a4bd570282a93c0a
DIST django-filter-23.4.gh.tar.gz 137524 BLAKE2B 2ba4697e72f2a211860cd5571e76e4cb2c74a588112ea1570ea53cbb57358b178f9f64f651df471fbc06034ab6713e21e61ad83576adb29e3d758bbba965fa1f SHA512 ee564b3b67e355e6598adcc7b9046e4a3855a0dfd99cf551793c3a5c9797b0d87805b2b78b29f1e20de7e68337e6e1472205908f3b5cf26e36f554345b99cce9
+DIST django-filter-23.5.gh.tar.gz 137866 BLAKE2B 8956441dc4425925ff8a121833fc59552709274a64d880aa5cadbae8063a67891969a712f79c9a5aa03fcd404ed288294e818e9f2e968c4d88761a847e35a3e9 SHA512 5534a4e8538b4ed0b5dbc168a7ba4eb51b0431d22874d1d4613b421ec830f45caed8faa71ecb144ba26704ff842742e8517d1599277b84480c4bf4282c19308c
diff --git a/dev-python/django-filter/django-filter-23.5.ebuild b/dev-python/django-filter/django-filter-23.5.ebuild
new file mode 100644
index 000000000000..02cc0675df3b
--- /dev/null
+++ b/dev-python/django-filter/django-filter-23.5.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Django app allowing declarative dynamic QuerySet filtering from URL parameters"
+HOMEPAGE="
+ https://github.com/carltongibson/django-filter/
+ https://pypi.org/project/django-filter/
+"
+SRC_URI="
+ https://github.com/carltongibson/django-filter/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-3.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/djangorestframework[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ !!dev-python/coreapi
+ )
+"
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE=tests.settings
+ "${EPYTHON}" -m django test -v 2 || die
+}
diff --git a/dev-python/django-tables2/Manifest b/dev-python/django-tables2/Manifest
index ee978c42ee21..ba806cadfcdd 100644
--- a/dev-python/django-tables2/Manifest
+++ b/dev-python/django-tables2/Manifest
@@ -1 +1,2 @@
DIST django-tables2-2.6.0.gh.tar.gz 431368 BLAKE2B 56896a416599e6f4293202ca945bf808c99ce08c4b5f53848919c3a32590e18d867e694fe7c989fdb855a5cdaf94350199c65735078c0d312d1f4f0a556ed9ae SHA512 29cabb777ed102dfde4d24836c5952bf892c7c8e3c5e5f608e00fd1aa4eecc33c6a2b1be1fd07617b354d7de34215d501592c53033d6f48c29e89ab68fdcb22d
+DIST django-tables2-2.7.0.gh.tar.gz 431811 BLAKE2B 2a6a9d74fa50bab049b9b85fc4a2d39b5a54b0fbbcd51f86f2b196e51bd1a1ef36ccc032db13f7cde4f836419a2d92248571b4fb985a8aefb3be2bb740856a2b SHA512 9666dad152d995ef7772881ace4bb83fc41aca1675e0cc116791e4fbfb970de600bd8cc2310b5694558b11e479dea2fc84584a669f6a8127a4bb0a354d24e39a
diff --git a/dev-python/django-tables2/django-tables2-2.7.0.ebuild b/dev-python/django-tables2/django-tables2-2.7.0.ebuild
new file mode 100644
index 000000000000..53dff965ebfa
--- /dev/null
+++ b/dev-python/django-tables2/django-tables2-2.7.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Table/data-grid framework for Django"
+HOMEPAGE="
+ https://pypi.org/project/django-tables2/
+ https://github.com/jieter/django-tables2/
+"
+SRC_URI="
+ https://github.com/jieter/django-tables2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+SLOT="0"
+LICENSE="BSD-2"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-3.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/django-filter[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/psycopg:2[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # these tests require tablib
+ rm tests/test_export.py tests/test_templatetags.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ "${EPYTHON}" manage.py test -v 2 tests || die
+}
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 49fae91316ec..2ad1582bb268 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -6,3 +6,5 @@ DIST Django-4.2.6.checksum.txt 2572 BLAKE2B 1bdd9b4a11e80bcbb7c857c25bd9666b1a14
DIST Django-4.2.6.tar.gz 10407018 BLAKE2B d2d365d234aecd730bcffd64cdfaee283933779be339d1baa75cf490fe7477248feb079c8716f3c8dc570c54bf6af94ce9864908f1efdbf69e5b6e9369126cf7 SHA512 bfd36ae6f7c4393bad45e97d6d43b370fb37d7e21cd115a6f6b730bb38ad11c6ccdcef94d5ddcd09e8eb9107a51ff486ec79b39cf3f4250d0ae1af000820cd82
DIST Django-4.2.8.checksum.txt 2553 BLAKE2B 552fd9dc6740baabc434a4d069c0a22c49e36661da58face4853c8ca5f34254314a3ca85048d5a4786a9a15ed27c8f73016c9a3d7bcf63dc617373e243a3ee77 SHA512 e3808f5d28fb95aa6ebbcc393161cc69cb948ab4ebe0dcc7a4f6ca8964e4a3dacf4aa185688d21b5d176456621f609e95909cbbc4abe6528f72afe3b644b5ea3
DIST Django-4.2.8.tar.gz 10425581 BLAKE2B e3592dadb54a616cea6129ba45f27e1c93dda2fcffec8c827e2f74a46c6c953a6c2893f236eff64dc77106ee60246eb843e028d44ebf27b8e30da1a6f766315f SHA512 9a60d2202886656a239e764c79b3638d4bc9e549bba8a822b36c745ab32468e3ddd813e7cda4a9e69c867ede0fca02da63391a2efe1462798e5c2e4f35625b63
+DIST Django-5.0.checksum.txt 2553 BLAKE2B 93202aa273f62a828b05ae9b34e7e96dd74ef5b852a94953fbd24e9a609609bf23fa73eaa005d4c9da48dba508bf2efe6a21e91096fee90b1f6811c0af6d4843 SHA512 eb44a3a4128188fd4dd90c6e7b0202652c64db8572daa72e617cf0464b2278cc7839562b880158264bbebc24efe871c3b376c3c134a5c7033292f2b765d6f3b0
+DIST Django-5.0.tar.gz 10585390 BLAKE2B 50cc715e21b046292dd86c08801b6f182c8e71a36c73de657ca631b611738e196ab6d4fa035589c26fff952170fb92e0a752a8af15771c33107e343b01d7b4d7 SHA512 d0591eb109cecffd330138ef63c7f768a77b6763ce73a5bc656d892181613981094221e2f77d5888ba4679b581df21ec8e6ac5faa67d31d00d289f4d892caf2f
diff --git a/dev-python/django/django-5.0.ebuild b/dev-python/django/django-5.0.ebuild
new file mode 100644
index 000000000000..a3c7cb409bd8
--- /dev/null
+++ b/dev-python/django/django-5.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+S="${WORKDIR}/${P^}"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/asgiref-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.11.0[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${P^}.checksum.txt" sha256 "${P^}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
+ -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:2
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/h5py/Manifest b/dev-python/h5py/Manifest
index 5f00a98654e5..9858508408b0 100644
--- a/dev-python/h5py/Manifest
+++ b/dev-python/h5py/Manifest
@@ -1 +1,2 @@
+DIST h5py-3.10.0-cython3.patch.xz 3868 BLAKE2B 3c0d952bdca5307ebf0bf878c26b94d0593bb89ac538a51017fb94e1e488bffc1583dcf4e713005b87d1b5e20d7b73043b24d65404faf60fb69515e598ca2133 SHA512 a0a0e3d1a9bccad1c89aa7efe3ba1e080eb70cae1f42f8de1021c212817970eaaa7070131e8e39859eea3c18d6c1243a17e7f53f2179f34ff6c406b315bab8fa
DIST h5py-3.10.0.tar.gz 403716 BLAKE2B a8e4351a15aee5fe9d23f9c5f9b6ff44e688a391ba17e27338675bde60415c73e3cd97a4a0c05490df849f649d626450d3dbecc9ae6ea3d24d784a0a4aaa1850 SHA512 840d7f2b9b9d5e22e8edae21c84884abec64acdd6c36437a4921ce9dc1b343c55f66f72b699146d71fe55688f6f948787b62335a24906288e9565b2b19b24b01
diff --git a/dev-python/h5py/h5py-3.10.0-r1.ebuild b/dev-python/h5py/h5py-3.10.0-r1.ebuild
new file mode 100644
index 000000000000..dc901afeb1c4
--- /dev/null
+++ b/dev-python/h5py/h5py-3.10.0-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple Python interface to HDF5 files"
+HOMEPAGE="
+ https://www.h5py.org/
+ https://github.com/h5py/h5py/
+ https://pypi.org/project/h5py/
+"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-3.10.0-cython3.patch.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="examples"
+
+DEPEND="
+ >=sci-libs/hdf5-1.10.4:=[hl(+)]
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/numpy-1.17.3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ >=dev-python/cython-0.29.31[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.14.5[${PYTHON_USEDEP}]
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ test? (
+ dev-python/QtPy[testlib,${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${WORKDIR}"/${PN}-3.10.0-cython3.patch
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/alabaster
+
+python_prepare_all() {
+ # avoid pytest-mpi dep, we do not use mpi anyway
+ sed -i -e 's:pytest-mpi::' pytest.ini || die
+ distutils-r1_python_prepare_all
+
+ export H5PY_SETUP_REQUIRES=0
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest -m "not mpi"
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/ijson/ijson-3.2.3.ebuild b/dev-python/ijson/ijson-3.2.3.ebuild
index 7908bd2e8da8..698bb12525fe 100644
--- a/dev-python/ijson/ijson-3.2.3.ebuild
+++ b/dev-python/ijson/ijson-3.2.3.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~ppc64 x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
DEPEND="
dev-libs/yajl
diff --git a/dev-python/immutabledict/immutabledict-4.0.0.ebuild b/dev-python/immutabledict/immutabledict-4.0.0.ebuild
index d30306b92cc3..dd02b5e65cf1 100644
--- a/dev-python/immutabledict/immutabledict-4.0.0.ebuild
+++ b/dev-python/immutabledict/immutabledict-4.0.0.ebuild
@@ -16,6 +16,6 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
distutils_enable_tests pytest
diff --git a/dev-python/jupyter-server/Manifest b/dev-python/jupyter-server/Manifest
index dbbf00c083a9..702acb520c31 100644
--- a/dev-python/jupyter-server/Manifest
+++ b/dev-python/jupyter-server/Manifest
@@ -1,4 +1,5 @@
DIST jupyter_server-2.10.1.tar.gz 709933 BLAKE2B dd05748eb9e4a1af7adeb8a023c9e1336483f48d32e100f0e8dc8d80bf94afe1fb57343f168828a5856cfa0ccd0f4ffeaa6c0da50e6c98d5ed1f254a87878803 SHA512 15a65df22aa7908d3dd6d694306250e71ddc31b1e66969986ed59d9ed517c28ed474c530916b1de7eab25677f9cec29318798b0b7368c4b37ca92a1adbdfbc8d
DIST jupyter_server-2.11.0.tar.gz 710596 BLAKE2B 61a4d4b23df22625ed0adb5c783e16ee6fe4ee46ffccfd74f0ddf4324056a18c001e4cd1369ee023357cceb6ac73fce6e1cec61d3b6bac7dae2b023806ac59f8 SHA512 fbcc6964ce31cf5285201a91d5a53157bd7feb9c405a8bc6abb64f4373478fbc59de9a8c1e69c27962f04426cd8ef31c2360c549eed4b90fe4d317a4104ed43b
DIST jupyter_server-2.11.1.tar.gz 712608 BLAKE2B 5d33f55d82bca6cb6680f2a44394c6588836e4d63ccfa9b9765582b41f46958e5ffa8949737089b2b3f9673a19c342fd64d9dd962cbecd47cc2ef697c91916c3 SHA512 42822a68efae6385dfd60bc9061310b7d0d38693e6af4a0e8e87b12f0bbc9d88196d1c61e0ee43da5e5fb15033a2de993f27a816bd57f3560ee798893dce90ae
+DIST jupyter_server-2.11.2.tar.gz 712617 BLAKE2B a52518e738869832e87e7f19929b965d207e0078fd081013b758afc9e97cc10acee06c9dd61cb4efe4f1ec5fc2b6797abc45bbc69da4be092aa005f181d335f7 SHA512 625975fa1982657cf048d9fa58436b3e4d7fccfb172234ac92e00db0c388924e564e553d77c863ad3dd26712e15f8244c9f088a34aa21c2b0790161e6f373e9c
DIST jupyter_server-2.9.1.tar.gz 709013 BLAKE2B dee0de771bb8488cccaecb49e2b4a2003f2530243013cafa7f170384380423a7c190504baabf458c59ffece28c4f60662c0530f55535dae25699be269f159743 SHA512 148c3eaa4b6ca1147961c1188e0016a634e5adae350e762903bdde000acde7ab62507e71dbe1278c2b9358ce2cf1c28c17ea8b184f3d4a2d59277910b5b44965
diff --git a/dev-python/jupyter-server/jupyter-server-2.11.2.ebuild b/dev-python/jupyter-server/jupyter-server-2.11.2.ebuild
new file mode 100644
index 000000000000..83db03a72059
--- /dev/null
+++ b/dev-python/jupyter-server/jupyter-server-2.11.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core services, APIs, and REST endpoints to Jupyter web applications"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter-server/jupyter_server/
+ https://pypi.org/project/jupyter-server/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/anyio-3.1.0[${PYTHON_USEDEP}]
+ dev-python/argon2-cffi[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-7.4.4[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-5.1.0[${PYTHON_USEDEP}]
+ dev-python/jupyter-server-terminals[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-events-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-6.4.4[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.3.0[${PYTHON_USEDEP}]
+ dev-python/overrides[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/prometheus-client[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24[${PYTHON_USEDEP}]
+ >=dev-python/send2trash-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/terminado-0.8.3[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.6.0[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]
+
+"
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # This fails if your terminal is zsh (and maybe other non-bash as well?)
+ tests/test_terminal.py
+ # Fails because above is ignored
+ tests/auth/test_authorizer.py
+ # Fails with additional extensions installed
+ tests/extension/test_app.py::test_stop_extension
+ )
+
+ # FIXME: tests seem to be affected by previously installed version
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest \
+ -p pytest_tornasync.plugin \
+ -p jupyter_server.pytest_plugin \
+ -p pytest_console_scripts \
+ -p pytest_timeout
+}
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index a11d7c268c91..e9da2ac43cac 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1 +1,3 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
+EBUILD langdetect-1.0.9.ebuild 493 BLAKE2B 0df8bce19bc80f79f8e76bcef5a4c2caf333365fe0cb9a3c076b7858bceded5a3e58921474f866a2709dd657b7ed330c1ec4a7f9d7bab0fcf1bc92d77cabc32d SHA512 ea2a1adcb133ac5fc951ba1aa90ef1ce3dfcc424e59727591763d4875aa044a74188be2d15fd89c6b2e83ed6ea04ec3d9851ed584ae79d2c2c127bde7d994b48
+MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index 736a1167c898..020e07f2a3dd 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -1,6 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
-
- <origin>gentoo-guru-overlay</origin>
+ <maintainer type="person">
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
+ </upstream>
+ <origin>slonko-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild b/dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild
index 1a06cdeb72cc..0be2e14a0b45 100644
--- a/dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild
+++ b/dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild
@@ -22,7 +22,7 @@ S="${WORKDIR}/matrix-python-common-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
RDEPEND="
dev-python/attrs[${PYTHON_USEDEP}]
diff --git a/dev-python/nbconvert/Manifest b/dev-python/nbconvert/Manifest
index bd46da416051..9b6d637661f8 100644
--- a/dev-python/nbconvert/Manifest
+++ b/dev-python/nbconvert/Manifest
@@ -1 +1,2 @@
DIST nbconvert-7.11.0.tar.gz 851158 BLAKE2B 0506acda6a645ffba6771f600c63f0c37705481021b716a2b5ec61b49f2b9da490beac7a1fec67718d091d7bfcf82d7f07b68e207573ca5c08271fc502214eb1 SHA512 097e740413520b943afea11e2b797fbb163e1c34b79932597ec1c5a2c64bbb9342e4b3e1f0ab7e4d6dbdaa736d747650d8e0e50da0e4db5398151da8c3b57c59
+DIST nbconvert-7.12.0.tar.gz 851572 BLAKE2B e6f91a29790fc24901bfb527fc4335000af11354090c969d393eb1c95ad9f36c1e65e941a061b20ed884fd4e70316c6cdf1eb7ca115147ecb8a4726f62a98b83 SHA512 ba450938e7a907a6b5679e619b79ea6555f81b6f4ca387c3fab94377ce060d5b99424804052855451ec3f6f8a160355d58c6b875bdd3951a16c5dacae19a2c24
diff --git a/dev-python/nbconvert/nbconvert-7.12.0.ebuild b/dev-python/nbconvert/nbconvert-7.12.0.ebuild
new file mode 100644
index 000000000000..9f46a712cd87
--- /dev/null
+++ b/dev-python/nbconvert/nbconvert-7.12.0.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="Converting Jupyter Notebooks"
+HOMEPAGE="
+ https://nbconvert.readthedocs.io/
+ https://github.com/jupyter/nbconvert/
+ https://pypi.org/project/nbconvert/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.7[${PYTHON_USEDEP}]
+ dev-python/jupyterlab-pygments[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}]
+ <dev-python/mistune-4[${PYTHON_USEDEP}]
+ >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.7[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pandocfilters-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.1[${PYTHON_USEDEP}]
+ dev-python/tinycss2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ >=dev-python/ipywidgets-7[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ mkdir -p share/templates/classic/static || die
+ # tries to refetch stuff even if it's already present
+ sed -e 's:css = .*:raise PermissionError("You shall not fetch!"):' \
+ -i hatch_build.py || die
+ distutils-r1_src_prepare
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_nbconvertapp.py::TestNbConvertApp::test_convert_full_qualified_name
+ tests/test_nbconvertapp.py::TestNbConvertApp::test_post_processor
+ # crazy qtweb* stuff, perhaps permissions
+ tests/exporters/test_qtpdf.py::TestQtPDFExporter::test_export
+ tests/exporters/test_qtpng.py::TestQtPNGExporter::test_export
+ )
+
+ # virtx implies nonfatal, make it explicit to avoid confusion
+ nonfatal epytest || die
+}
+
+pkg_postinst() {
+ if ! has_version virtual/pandoc; then
+ einfo "Pandoc is required for converting to formats other than Python,"
+ einfo "HTML, and Markdown. If you need this functionality, install"
+ einfo "app-text/pandoc or app-text/pandoc-bin."
+ fi
+}
diff --git a/dev-python/phonenumbers/phonenumbers-8.13.26.ebuild b/dev-python/phonenumbers/phonenumbers-8.13.26.ebuild
index 2d1254a847c2..f02aa11719e0 100644
--- a/dev-python/phonenumbers/phonenumbers-8.13.26.ebuild
+++ b/dev-python/phonenumbers/phonenumbers-8.13.26.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}/python
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pipx/Manifest b/dev-python/pipx/Manifest
index a21fe44564cd..cd4c66c5369e 100644
--- a/dev-python/pipx/Manifest
+++ b/dev-python/pipx/Manifest
@@ -1,3 +1,4 @@
DIST pipx-1.2.1.gh.tar.gz 405585 BLAKE2B ca24ffd9fe3657549d149aa6e24f85ef2d7ae0832f94605a0a52ecd255232c3bd1b553e61be805bd80c9d54586a4e6e9e156db17c5bb901e24069828f0716594 SHA512 93a0d67de9540584987be126d4e28a2628beefba99e15936369c948dc29fb7f11745413ef3f0ace5586b4456ed8554103bcd5079079bc0a34babc02823f7f9d3
DIST pipx-1.3.1.gh.tar.gz 418883 BLAKE2B f9c0ee11eb1e92efb4fc1600d56383ff838b3d97200a4baef32d1221e05c65aeb9d9cc48477dbdf85cb596f44423fb746abd97be2861724ca0de433aa6794d68 SHA512 9ee91efa142f72fbe962d05a21ad3bfcef4d401a20078863bb65a932b3598efff95cd707ec27cca1d4c82f3396270c7162d4cb1407ad1d40b2e477aa0b3c02fc
DIST pipx-1.3.2.gh.tar.gz 411632 BLAKE2B d7a84a7b23f937e1b00340a7acd76e8d90c54de8955233e6aed8f95aa4b8ee613b1120fbda5a02ffdb63fe11e7efed6e0fdbca7bcb9de42476e78b9af4144b34 SHA512 a0a21c22a867b7bae3d6aceb68e1c5ee404ad794211c7f9014223d510250953b80a5fb525a11a422ae54ee9b0ede81220fa1e145f91b934bf000185a50b613f7
+DIST pipx-1.3.3.gh.tar.gz 355893 BLAKE2B f2ae8847d4c6f2205fe75a47df04afb49d57cc8f717cc615d5201f54bd2dee2940bc095a778496cd7baf048df8db8e74ca7ff5a7ee3b2024bf37f27bbeb425eb SHA512 42246a0d8275beee16b85a1007d46d328a892beb89e79fb406ba53942a57b7312d34150376835395b9eca3ecb68db71f0c3c470fd92519dd9175311003707a3d
diff --git a/dev-python/pipx/pipx-1.3.3.ebuild b/dev-python/pipx/pipx-1.3.3.ebuild
new file mode 100644
index 000000000000..0652d6901f29
--- /dev/null
+++ b/dev-python/pipx/pipx-1.3.3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Install and Run Python Applications in Isolated Environments"
+HOMEPAGE="
+ https://pipx.pypa.io/stable/
+ https://pypi.org/project/pipx/
+ https://github.com/pypa/pipx/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/pypa/pipx/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/argcomplete-1.9.4[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ >=dev-python/userpath-1.9.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+PROPERTIES="test_network"
+RESTRICT="test"
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ epytest --net-pypiserver
+}
diff --git a/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.1.1.ebuild b/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.1.1.ebuild
index 128d053a2528..0e8f1c8a5588 100644
--- a/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.1.1.ebuild
+++ b/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.1.1.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~riscv ~x86"
RDEPEND="
>=dev-python/pulsectl-23.5.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pulsectl/pulsectl-23.5.2-r1.ebuild b/dev-python/pulsectl/pulsectl-23.5.2-r1.ebuild
index ad3de1d24a97..186201685853 100644
--- a/dev-python/pulsectl/pulsectl-23.5.2-r1.ebuild
+++ b/dev-python/pulsectl/pulsectl-23.5.2-r1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~riscv ~x86"
RDEPEND="
media-libs/libpulse
diff --git a/dev-python/pyicu/pyicu-2.12.ebuild b/dev-python/pyicu/pyicu-2.12.ebuild
index 040fc439c4fa..91b7e54f7239 100644
--- a/dev-python/pyicu/pyicu-2.12.ebuild
+++ b/dev-python/pyicu/pyicu-2.12.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
DEPEND="
dev-libs/icu:=
diff --git a/dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild b/dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild
index 5e5af6c0c3c8..a196520eaa9f 100644
--- a/dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild
+++ b/dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
RDEPEND="
dev-python/pynacl[${PYTHON_USEDEP}]
diff --git a/dev-python/python-glanceclient/python-glanceclient-4.4.0-r1.ebuild b/dev-python/python-glanceclient/python-glanceclient-4.4.0-r1.ebuild
index 0d005eb068ea..e86ad9f7f485 100644
--- a/dev-python/python-glanceclient/python-glanceclient-4.4.0-r1.ebuild
+++ b/dev-python/python-glanceclient/python-glanceclient-4.4.0-r1.ebuild
@@ -40,6 +40,7 @@ BDEPEND="
dev-python/tempest[${PYTHON_USEDEP}]
dev-python/testscenarios[${PYTHON_USEDEP}]
dev-python/testtools[${PYTHON_USEDEP}]
+ <dev-python/urllib3-2[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/python-ironicclient/python-ironicclient-5.4.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.4.0.ebuild
index cb9a2c212246..1c958afee486 100644
--- a/dev-python/python-ironicclient/python-ironicclient-5.4.0.ebuild
+++ b/dev-python/python-ironicclient/python-ironicclient-5.4.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
+KEYWORDS="amd64 ~arm arm64 x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-neutronclient/python-neutronclient-11.0.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-11.0.0.ebuild
index 83a755e1acee..b85e8c291d8a 100644
--- a/dev-python/python-neutronclient/python-neutronclient-11.0.0.ebuild
+++ b/dev-python/python-neutronclient/python-neutronclient-11.0.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-novaclient/python-novaclient-18.4.0.ebuild b/dev-python/python-novaclient/python-novaclient-18.4.0.ebuild
index 707a1d3f49d9..f69d6b1e1b35 100644
--- a/dev-python/python-novaclient/python-novaclient-18.4.0.ebuild
+++ b/dev-python/python-novaclient/python-novaclient-18.4.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild
index e494a6a1b28b..43812b33853d 100644
--- a/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild
+++ b/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pywlroots/pywlroots-0.16.6-r1.ebuild b/dev-python/pywlroots/pywlroots-0.16.6-r2.ebuild
index 262cc2ffab5d..5f9a5c33fd34 100644
--- a/dev-python/pywlroots/pywlroots-0.16.6-r1.ebuild
+++ b/dev-python/pywlroots/pywlroots-0.16.6-r2.ebuild
@@ -18,25 +18,37 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ~riscv ~x86"
+IUSE="X"
# See README for wlroots dep
DEPEND="
dev-python/cffi:=[${PYTHON_USEDEP}]
>=dev-python/pywayland-0.4.14[${PYTHON_USEDEP}]
>=dev-python/xkbcommon-0.2[${PYTHON_USEDEP}]
- =gui-libs/wlroots-$(ver_cut 1-2)*:=
- x11-base/xwayland
+ =gui-libs/wlroots-$(ver_cut 1-2)*:=[X?]
"
RDEPEND="
${DEPEND}
"
-PATCHES=(
- "${FILESDIR}"/${PN}-0.15.24-no-import-version-check.patch
-)
-
distutils_enable_tests pytest
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}"/${PN}-0.15.24-no-import-version-check.patch
+ )
+
+ # override automagic detection and caching that's completely broken
+ # by design; https://github.com/flacjacket/pywlroots/issues/132
+ cat > wlroots/_build.py <<-EOF || die
+ has_xwayland = $(usex X True False)
+ EOF
+ sed -e "s:return.*has_xwayland$:return $(usex X True False):" \
+ -i wlroots/ffi_build.py || die
+
+ distutils-r1_src_prepare
+}
+
python_test() {
rm -rf wlroots || die
epytest
diff --git a/dev-python/pyzmq/Manifest b/dev-python/pyzmq/Manifest
index 64ba51e9228b..3a31b5895105 100644
--- a/dev-python/pyzmq/Manifest
+++ b/dev-python/pyzmq/Manifest
@@ -1 +1,2 @@
DIST pyzmq-25.1.1.gh.tar.gz 389825 BLAKE2B d8e231a0eeaa6a7ad372da912cb42e96e4d862e163859b97d1c369a7940e019c074fc717685f53da06de69cfee79430e343fcd1987d768f3cc99ec75cad0955b SHA512 4aa0d5d5c1036e6ac35898c48d9612f677ee6e9345fafd02091ba81a5081f1ac8bf552eb5c03636ad643cc87e17f037013ec981d9b852c0252d30de8ce046d5a
+DIST pyzmq-25.1.2.gh.tar.gz 391272 BLAKE2B 80814704e7ea08d407859c1d71338f6ea283efcd1f3994155334aa5b60c4b6cd89167de8c78d19f8efdbeb5f4071f7b5954ea911eb6e7fbb48a0087b86579cab SHA512 b146a6dbce7cbbe2eb1da7ebd64e463067354f1566cdb4ff634b59bbb6d65e16263b6acb2d101a4ea53f870be5c753c9a12f9cc37bc5a81236681ea4fda6c56b
diff --git a/dev-python/pyzmq/pyzmq-25.1.2.ebuild b/dev-python/pyzmq/pyzmq-25.1.2.ebuild
new file mode 100644
index 000000000000..3a1352e9059b
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-25.1.2.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
+HOMEPAGE="
+ https://zeromq.org/languages/python/
+ https://pypi.org/project/pyzmq/
+ https://github.com/zeromq/pyzmq/
+"
+SRC_URI="
+ https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="drafts"
+
+# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
+DEPEND="
+ >=net-libs/zeromq-4.2.2-r2:=[drafts=]
+"
+# It uses cffi backend for pypy, cython backend for cpython
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ' 'python*')
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-23.2.0-libdir.patch
+)
+
+distutils_enable_tests pytest
+# TODO: Package enum_tools
+# distutils_enable_sphinx docs/source \
+# dev-python/numpydoc \
+# dev-python/sphinx-rtd-theme \
+# dev-python/myst-parser
+
+python_prepare_all() {
+ export ZMQ_DRAFT_API=$(usex drafts '1' '0')
+ export ZMQ_PREFIX="${EPREFIX}/usr"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ zmq/tests/test_auth.py
+ zmq/tests/test_cython.py
+ zmq/tests/test_zmqstream.py
+
+ # swap thrashing on low-mem hosts, per Debian:
+ # https://salsa.debian.org/python-team/packages/pyzmq/-/blob/master/debian/patches/skip_large_send
+ zmq/tests/test_socket.py::TestSocket::test_large_send
+ )
+ local EPYTEST_IGNORE=(
+ # Avoid dependency on mypy
+ zmq/tests/test_mypy.py
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # not implemented in cffi variant?
+ zmq/tests/test_draft.py::TestDraftSockets
+ )
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest -p asyncio -p rerunfailures
+}
diff --git a/dev-python/signedjson/signedjson-1.1.4.ebuild b/dev-python/signedjson/signedjson-1.1.4.ebuild
index 119450d0b0ce..2c22b60375dd 100644
--- a/dev-python/signedjson/signedjson-1.1.4.ebuild
+++ b/dev-python/signedjson/signedjson-1.1.4.ebuild
@@ -19,7 +19,7 @@ S="${WORKDIR}/python-${P}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
RDEPEND="
dev-python/canonicaljson[${PYTHON_USEDEP}]
diff --git a/dev-python/txredisapi/txredisapi-1.4.10.ebuild b/dev-python/txredisapi/txredisapi-1.4.10.ebuild
index d29f0c6f340a..090e7fea814e 100644
--- a/dev-python/txredisapi/txredisapi-1.4.10.ebuild
+++ b/dev-python/txredisapi/txredisapi-1.4.10.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
IUSE="test"
RESTRICT="!test? ( test )"