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'),

Reply via email to