commit: ed461b16c534eb81a5fcbdf414753cea245302d5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 25 07:15:14 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 25 07:22:32 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed461b16
dev-python/aiorpcX: Port to py3.8
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
...rpcX-0.18.4.ebuild => aiorpcX-0.18.4-r1.ebuild} | 6 ++-
dev-python/aiorpcX/files/aiorpcX-0.18.4-py38.patch | 53 ++++++++++++++++++++++
2 files changed, 58 insertions(+), 1 deletion(-)
diff --git a/dev-python/aiorpcX/aiorpcX-0.18.4.ebuild
b/dev-python/aiorpcX/aiorpcX-0.18.4-r1.ebuild
similarity index 90%
rename from dev-python/aiorpcX/aiorpcX-0.18.4.ebuild
rename to dev-python/aiorpcX/aiorpcX-0.18.4-r1.ebuild
index 8aa08960194..304db91bcbf 100644
--- a/dev-python/aiorpcX/aiorpcX-0.18.4.ebuild
+++ b/dev-python/aiorpcX/aiorpcX-0.18.4-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6..8} )
inherit distutils-r1
@@ -25,6 +25,10 @@ BDEPEND="
distutils_enable_tests pytest
+PATCHES=(
+ "${FILESDIR}"/${P}-py38.patch
+)
+
src_prepare() {
# websockets are optional and not packaged in Gentoo
rm tests/test_websocket.py || die
diff --git a/dev-python/aiorpcX/files/aiorpcX-0.18.4-py38.patch
b/dev-python/aiorpcX/files/aiorpcX-0.18.4-py38.patch
new file mode 100644
index 00000000000..bc189277c4c
--- /dev/null
+++ b/dev-python/aiorpcX/files/aiorpcX-0.18.4-py38.patch
@@ -0,0 +1,53 @@
+diff --git a/aiorpcx/socks.py b/aiorpcx/socks.py
+index 92ad396..4a6cefa 100644
+--- a/aiorpcx/socks.py
++++ b/aiorpcx/socks.py
+@@ -45,7 +45,7 @@ SOCKSUserAuth = collections.namedtuple("SOCKSUserAuth",
"username password")
+
+ # Random authentication is useful when used with Tor for stream isolation.
+ class SOCKSRandomAuth(SOCKSUserAuth):
+- def __getitem__(self, key):
++ def __getattribute__(self, key):
+ return secrets.token_hex(32)
+
+
+diff --git a/tests/test_curio.py b/tests/test_curio.py
+index 9292f52..97b479b 100644
+--- a/tests/test_curio.py
++++ b/tests/test_curio.py
+@@ -1,4 +1,5 @@
+ from asyncio import get_event_loop, InvalidStateError
++import sys
+ import time
+
+ import pytest
+@@ -525,6 +526,8 @@ async def test_nested_context_timeout():
+ ]
+
+
[email protected](sys.hexversion > 0x03080000,
++ reason='broken on py3.8, upstream ignores the problem')
+ @pytest.mark.asyncio
+ async def test_nested_context_timeout2():
+ async def coro1():
+@@ -562,6 +565,8 @@ async def test_nested_context_timeout2():
+ await parent()
+
+
[email protected](sys.hexversion > 0x03080000,
++ reason='broken on py3.8, upstream ignores the problem')
+ @pytest.mark.asyncio
+ async def test_nested_context_timeout3():
+ async def coro1():
+diff --git a/tests/test_jsonrpc.py b/tests/test_jsonrpc.py
+index 315f639..b0cdd60 100644
+--- a/tests/test_jsonrpc.py
++++ b/tests/test_jsonrpc.py
+@@ -1126,7 +1126,6 @@ def test_handler_invocation():
+ (Request('missing_method', []), 'unknown method'),
+ (Request('add_many', []), 'requires 1'),
+ (Request('add_many', {'first': 1, 'values': []}), 'values'),
+- (Request('powb', {"x": 2, "y": 3}), 'cannot be called'),
+ (Request('echo_2', ['ping', 'pong']), 'at most 1'),
+ (Request('echo_2', {'first': 1, 'second': 8, '3rd': 1}), '3rd'),
+ (Request('kwargs', []), 'requires 1'),