summaryrefslogtreecommitdiff
path: root/dev-python/aiorpcx
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /dev-python/aiorpcx
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'dev-python/aiorpcx')
-rw-r--r--dev-python/aiorpcx/Manifest1
-rw-r--r--dev-python/aiorpcx/aiorpcx-0.25.0.ebuild47
-rw-r--r--dev-python/aiorpcx/files/aiorpcx-0.25.0-py314.patch22
-rw-r--r--dev-python/aiorpcx/files/aiorpcx-0.25.0-pytest-asyncio-1.patch152
-rw-r--r--dev-python/aiorpcx/metadata.xml10
5 files changed, 232 insertions, 0 deletions
diff --git a/dev-python/aiorpcx/Manifest b/dev-python/aiorpcx/Manifest
new file mode 100644
index 000000000000..3e9cfb48cbf3
--- /dev/null
+++ b/dev-python/aiorpcx/Manifest
@@ -0,0 +1 @@
+DIST aiorpcX-0.25.0.gh.tar.gz 70797 BLAKE2B 50b613b9bd7baf97ef1d42bbe9808dc7d425f1a941702aa40a8f8101e0a2772ae222bb298876b4dd67cfe062183eed061ab64194bafa1bb7a5cca72d54e8f7f9 SHA512 324093a9fbc1170ff3f9f8f97e6cea9250ba2a6fb32bacb12cf8bc67ff2f2abc941aa76158a3842e86b32300bcde48641730d1fb0afa73e647dd7ac5cea911df
diff --git a/dev-python/aiorpcx/aiorpcx-0.25.0.ebuild b/dev-python/aiorpcx/aiorpcx-0.25.0.ebuild
new file mode 100644
index 000000000000..633f948e608b
--- /dev/null
+++ b/dev-python/aiorpcx/aiorpcx-0.25.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_P=aiorpcX-${PV}
+DESCRIPTION="Generic async RPC implementation, including JSON-RPC"
+HOMEPAGE="
+ https://github.com/kyuupichan/aiorpcX/
+ https://pypi.org/project/aiorpcX/
+"
+SRC_URI="
+ https://github.com/kyuupichan/aiorpcX/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+BDEPEND="
+ test? (
+ dev-python/uvloop[${PYTHON_USEDEP}]
+ >=dev-python/websockets-0.14[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # require Internet
+ tests/test_socks.py::TestSOCKSProxy::test_create_connection_resolve_good
+)
+
+PATCHES=(
+ # https://github.com/kyuupichan/aiorpcX/commit/b8ce32889c45c98b44c4e247ec0b0ae206e9ee91
+ "${FILESDIR}/${P}-pytest-asyncio-1.patch"
+ # https://github.com/kyuupichan/aiorpcX/commit/25043621700672ee375d20b78804118acac43b1b
+ "${FILESDIR}/${P}-py314.patch"
+)
diff --git a/dev-python/aiorpcx/files/aiorpcx-0.25.0-py314.patch b/dev-python/aiorpcx/files/aiorpcx-0.25.0-py314.patch
new file mode 100644
index 000000000000..b000d6eb18ed
--- /dev/null
+++ b/dev-python/aiorpcx/files/aiorpcx-0.25.0-py314.patch
@@ -0,0 +1,22 @@
+From 25043621700672ee375d20b78804118acac43b1b Mon Sep 17 00:00:00 2001
+From: Neil Booth <kyuupichan@pm.me>
+Date: Thu, 19 Feb 2026 13:29:30 +0000
+Subject: [PATCH] Make test_misc() async (danigm)
+
+---
+ tests/test_jsonrpc.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_jsonrpc.py b/tests/test_jsonrpc.py
+index 81414a7..8cda788 100755
+--- a/tests/test_jsonrpc.py
++++ b/tests/test_jsonrpc.py
+@@ -1064,7 +1064,7 @@ async def send_batch(batch):
+ await group.spawn(send_batch(batch))
+
+
+-def test_misc(protocol):
++async def test_misc(protocol):
+ '''Misc tests to get full coverage.'''
+ connection = JSONRPCConnection(protocol)
+
diff --git a/dev-python/aiorpcx/files/aiorpcx-0.25.0-pytest-asyncio-1.patch b/dev-python/aiorpcx/files/aiorpcx-0.25.0-pytest-asyncio-1.patch
new file mode 100644
index 000000000000..4f8a94d2926c
--- /dev/null
+++ b/dev-python/aiorpcx/files/aiorpcx-0.25.0-pytest-asyncio-1.patch
@@ -0,0 +1,152 @@
+From b8ce32889c45c98b44c4e247ec0b0ae206e9ee91 Mon Sep 17 00:00:00 2001
+From: Neil Booth <kyuupichan@pm.me>
+Date: Wed, 30 Jul 2025 14:41:44 -0400
+Subject: [PATCH] Remove event_loop fixture usage from tests
+
+---
+ tests/test_session.py | 43 +++++++++-------------------------------
+ tests/test_socks.py | 6 +++---
+ tests/test_unixsocket.py | 16 +++++----------
+ tests/test_util.py | 3 ++-
+ 4 files changed, 19 insertions(+), 49 deletions(-)
+
+diff --git a/tests/test_session.py b/tests/test_session.py
+index 8877fca..f52ab6b 100755
+--- a/tests/test_session.py
++++ b/tests/test_session.py
+@@ -17,13 +17,6 @@ from aiorpcx.session import Concurrency
+ from util import RaiseTest
+
+
+-if sys.version_info >= (3, 7):
+- from asyncio import all_tasks
+-else:
+- from asyncio import Task
+- all_tasks = Task.all_tasks
+-
+-
+ def raises_method_not_found(message):
+ return RaiseTest(JSONRPC.METHOD_NOT_FOUND, message, RPCError)
+
+@@ -86,21 +79,12 @@ def caplog_count(caplog, message):
+
+
+ @pytest.fixture
+-def server_port(unused_tcp_port, event_loop):
+- coro = serve_rs(MyServerSession, 'localhost', unused_tcp_port, loop=event_loop)
+- server = event_loop.run_until_complete(coro)
++async def server_port(unused_tcp_port):
++ server = await serve_rs(MyServerSession, 'localhost', unused_tcp_port)
+ yield unused_tcp_port
+- if hasattr(asyncio, 'all_tasks'):
+- tasks = asyncio.all_tasks(event_loop)
+- else:
+- tasks = asyncio.Task.all_tasks(loop=event_loop)
+
+- async def close_all():
+- server.close()
+- await server.wait_closed()
+- if tasks:
+- await asyncio.wait(tasks)
+- event_loop.run_until_complete(close_all())
++ server.close()
++ await server.wait_closed()
+
+
+ class TestRPCSession:
+@@ -765,21 +749,12 @@ class MessageServer(MessageSession):
+
+
+ @pytest.fixture
+-def msg_server_port(event_loop, unused_tcp_port):
+- coro = serve_rs(MessageServer, 'localhost', unused_tcp_port, loop=event_loop)
+- server = event_loop.run_until_complete(coro)
++async def msg_server_port(unused_tcp_port):
++ server = await serve_rs(MessageServer, 'localhost', unused_tcp_port)
+ yield unused_tcp_port
+- if hasattr(asyncio, 'all_tasks'):
+- tasks = asyncio.all_tasks(event_loop)
+- else:
+- tasks = asyncio.Task.all_tasks(loop=event_loop)
+-
+- async def close_all():
+- server.close()
+- await server.wait_closed()
+- if tasks:
+- await asyncio.wait(tasks)
+- event_loop.run_until_complete(close_all())
++
++ server.close()
++ await server.wait_closed()
+
+
+ def connect_message_session(host, port, proxy=None, framer=None):
+diff --git a/tests/test_socks.py b/tests/test_socks.py
+index 43ca282..a8d3af2 100755
+--- a/tests/test_socks.py
++++ b/tests/test_socks.py
+@@ -482,10 +482,10 @@ localhosts = ['127.0.0.1', '::1', 'localhost']
+
+
+ @pytest.fixture(params=localhosts)
+-def proxy_address(request, event_loop, unused_tcp_port):
++async def proxy_address(request, unused_tcp_port):
+ host = request.param
+- coro = event_loop.create_server(FakeServer, host=host, port=unused_tcp_port)
+- server = event_loop.run_until_complete(coro)
++ event_loop = asyncio.get_running_loop()
++ server = await event_loop.create_server(FakeServer, host=host, port=unused_tcp_port)
+ yield NetAddress(host, unused_tcp_port)
+ server.close()
+
+diff --git a/tests/test_unixsocket.py b/tests/test_unixsocket.py
+index f75f23d..ae8c27f 100755
+--- a/tests/test_unixsocket.py
++++ b/tests/test_unixsocket.py
+@@ -11,20 +11,14 @@ if sys.platform.startswith("win"):
+
+
+ @pytest.fixture
+-def us_server(event_loop):
++async def us_server():
++ event_loop = asyncio.get_running_loop()
+ with tempfile.TemporaryDirectory() as tmp_folder:
+ socket_path = path.join(tmp_folder, 'test.socket')
+- coro = serve_us(MyServerSession, socket_path, loop=event_loop)
+- server = event_loop.run_until_complete(coro)
++ server = await serve_us(MyServerSession, socket_path)
+ yield socket_path
+- tasks = asyncio.all_tasks(event_loop)
+-
+- async def close_all():
+- server.close()
+- await server.wait_closed()
+- if tasks:
+- await asyncio.wait(tasks)
+- event_loop.run_until_complete(close_all())
++ server.close()
++ await server.wait_closed()
+
+
+ class TestUSTransport:
+diff --git a/tests/test_util.py b/tests/test_util.py
+index 8ce9691..5980607 100755
+--- a/tests/test_util.py
++++ b/tests/test_util.py
+@@ -15,6 +15,7 @@ async def coro(x, y):
+
+
+ def test_is_async_call():
++ event_loop = asyncio.new_event_loop()
+ z = coro(2, 3)
+ assert not is_async_call(z)
+ assert is_async_call(coro)
+@@ -23,7 +24,7 @@ def test_is_async_call():
+ assert not is_async_call(test_is_async_call)
+ assert not is_async_call(partial(is_async_call))
+ # Lose a warning
+- asyncio.get_event_loop().run_until_complete(z)
++ event_loop.run_until_complete(z)
+
+
+ @pytest.mark.parametrize("hostname,answer", (
diff --git a/dev-python/aiorpcx/metadata.xml b/dev-python/aiorpcx/metadata.xml
new file mode 100644
index 000000000000..5e95859f915a
--- /dev/null
+++ b/dev-python/aiorpcx/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches />
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>