# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=hatchling PYTHON_COMPAT=( python3_{8..10} ) # Teleporting currently does not work with python-3.11 # see https://github.com/tomerfiliba-org/rpyc/issues/513 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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" LICENSE="MIT" SLOT="0" KEYWORDS="amd64 x86" # USE flags gdb, numpy are used *only* to run tests depending on these packages IUSE="test numpy gdb gevent" RESTRICT="!test? ( test )" CDEPEND="numpy? ( dev-python/numpy[${PYTHON_USEDEP}] dev-python/pandas[${PYTHON_USEDEP}] ) gevent? ( dev-python/gevent[${PYTHON_USEDEP}] ) gdb? ( sys-devel/gdb )" DEPEND="${CDEPEND} dev-python/setuptools[${PYTHON_USEDEP}]" RDEPEND="${CDEPEND} dev-python/plumbum[${PYTHON_USEDEP}]" 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" if ! use numpy then rm tests/test_service_pickle.py || die "rm test_service_pickle.py failed" fi if ! use gevent then rm tests/test_gevent_server.py || die "rm test_gevent_server.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 }