summaryrefslogtreecommitdiff
path: root/dev-python/rpyc
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/rpyc')
-rw-r--r--dev-python/rpyc/Manifest1
-rw-r--r--dev-python/rpyc/files/rpyc-5.3.0-no-gevent.patch34
-rw-r--r--dev-python/rpyc/metadata.xml20
-rw-r--r--dev-python/rpyc/rpyc-6.0.0.ebuild69
4 files changed, 124 insertions, 0 deletions
diff --git a/dev-python/rpyc/Manifest b/dev-python/rpyc/Manifest
new file mode 100644
index 000000000000..90e2b8fab858
--- /dev/null
+++ b/dev-python/rpyc/Manifest
@@ -0,0 +1 @@
+DIST rpyc-6.0.0.gh.tar.gz 1273858 BLAKE2B e55d008dc772be7fd4bae9065a5eabcf5612faf8131e8161e7921eeb84475183c677687ef8606c664003089ae714d4cb403ff6afa26d2695a8fe763d549aab0d SHA512 04b74fa6d4ad944b43c3f3acb6c9029a826da350bffdc59875ec31562bbaa70945e74bedb69778811ce16560ef4f4cfe2579b9c6b52773fe238951fc6328e029
diff --git a/dev-python/rpyc/files/rpyc-5.3.0-no-gevent.patch b/dev-python/rpyc/files/rpyc-5.3.0-no-gevent.patch
new file mode 100644
index 000000000000..026741dec361
--- /dev/null
+++ b/dev-python/rpyc/files/rpyc-5.3.0-no-gevent.patch
@@ -0,0 +1,34 @@
+diff -U3 -r rpyc-5.3.0.orig/rpyc/utils/server.py rpyc-5.3.0/rpyc/utils/server.py
+--- rpyc-5.3.0.orig/rpyc/utils/server.py 2022-11-26 13:09:01.000000000 +0700
++++ rpyc-5.3.0/rpyc/utils/server.py 2023-02-16 16:15:14.153086884 +0700
+@@ -19,7 +19,7 @@
+ from rpyc.lib import safe_import, spawn, spawn_waitready
+ from rpyc.lib.compat import poll, get_exc_errno
+ signal = safe_import("signal")
+-gevent = safe_import("gevent")
++# gevent = safe_import("gevent")
+
+
+ class Server(object):
+@@ -559,13 +559,13 @@
+ self.clients.discard(sock)
+
+
+-class GeventServer(Server):
++# class GeventServer(Server):
+
+- """gevent based Server. Requires using ``gevent.monkey.patch_all()``."""
++# """gevent based Server. Requires using ``gevent.monkey.patch_all()``."""
+
+- def _register(self):
+- if self.auto_register:
+- gevent.spawn(self._bg_register)
++# def _register(self):
++# if self.auto_register:
++# gevent.spawn(self._bg_register)
+
+- def _accept_method(self, sock):
+- gevent.spawn(self._authenticate_and_serve_client, sock)
++# def _accept_method(self, sock):
++# gevent.spawn(self._authenticate_and_serve_client, sock)
+Только в rpyc-5.3.0.orig/tests: __pycache__
diff --git a/dev-python/rpyc/metadata.xml b/dev-python/rpyc/metadata.xml
new file mode 100644
index 000000000000..72a13f811a12
--- /dev/null
+++ b/dev-python/rpyc/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <remote-id type="cpe">cpe:/a:rpyc_project:rpyc</remote-id>
+ </upstream>
+ <use>
+ <flag name="numpy">Run tests depending on
+ <pkg>dev-python/numpy</pkg>, <pkg>dev-python/pandas</pkg>
+ </flag>
+ <flag name="gdb">Run tests depending on <pkg>dev-debug/gdb</pkg>
+ </flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-python/rpyc/rpyc-6.0.0.ebuild b/dev-python/rpyc/rpyc-6.0.0.ebuild
new file mode 100644
index 000000000000..8af39b692d87
--- /dev/null
+++ b/dev-python/rpyc/rpyc-6.0.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Remote Python Call (RPyC), a transparent and symmetric RPC library"
+HOMEPAGE="https://rpyc.readthedocs.io/en/latest/
+ https://pypi.org/project/rpyc/
+ https://github.com/tomerfiliba-org/rpyc"
+SRC_URI="https://github.com/tomerfiliba-org/rpyc/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+# USE flags gdb, numpy are used *only* to run tests depending on these packages
+IUSE="test numpy gdb"
+RESTRICT="!test? ( test )"
+
+CDEPEND="numpy? ( dev-python/numpy[${PYTHON_USEDEP}] dev-python/pandas[${PYTHON_USEDEP}] )
+ gdb? ( dev-debug/gdb )"
+
+DEPEND="${CDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+RDEPEND="${CDEPEND}
+ dev-python/plumbum[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}"/${PN}-5.3.0-no-gevent.patch )
+
+src_prepare() {
+ default
+
+ # Windows specific test
+ rm tests/test_win32pipes.py || die "rm tests/test_win32pipes.py failed"
+
+ # These tests require running sshd
+ rm tests/test_ssh.py tests/test_deploy.py || die "rm test_ssh.py test_deploy.py failed"
+
+ # This test requires internet access
+ rm tests/test_registry.py || die "rm test_registry.py failed"
+
+ # This test fails with NO_CIPHERS_AVAILABLE
+ rm tests/test_ssl.py || die "rm test_ssl.py failed"
+
+ # dev-python/gevent is being removed
+ rm tests/test_gevent_server.py || die "rm test_gevent_server.py failed"
+
+ if ! use numpy
+ then rm tests/test_service_pickle.py || die "rm test_service_pickle.py failed"
+ fi
+
+ if ! use gdb
+ then rm tests/test_gdb.py || die "rm test_gdb.py failed"
+ fi
+}
+
+python_test() {
+ # for some reason, when tests are run via pytest or nose, some of them hung
+ pushd tests > /dev/null || die "pushd tests failed"
+ for x in test_*.py
+ do PYTHONPATH="${WORKDIR}"/${P}-${EPYTHON/./_}/install/usr/lib/${EPYTHON}/site-packages ${EPYTHON} ${x} || die "${x} failed"
+ done
+ popd > /dev/null
+}