summaryrefslogtreecommitdiff
path: root/dev-python/uvloop/uvloop-0.17.0.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-09-22 17:28:08 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-09-22 17:28:08 +0100
commitd79ab35b7ac170babebe8bc151fe5d037c16285c (patch)
treec774a4913f32e952079ae36fc6afd2dad747837f /dev-python/uvloop/uvloop-0.17.0.ebuild
parent992aa50a54a56c9e705ca4e85d809ec8989d74a2 (diff)
gentoo auto-resync : 22:09:2022 - 17:28:08
Diffstat (limited to 'dev-python/uvloop/uvloop-0.17.0.ebuild')
-rw-r--r--dev-python/uvloop/uvloop-0.17.0.ebuild82
1 files changed, 82 insertions, 0 deletions
diff --git a/dev-python/uvloop/uvloop-0.17.0.ebuild b/dev-python/uvloop/uvloop-0.17.0.ebuild
new file mode 100644
index 000000000000..0bb5e8c8a40a
--- /dev/null
+++ b/dev-python/uvloop/uvloop-0.17.0.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Ultra-fast implementation of asyncio event loop on top of libuv"
+HOMEPAGE="
+ https://github.com/magicstack/uvloop/
+ https://pypi.org/project/uvloop/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 -riscv ~sparc ~x86"
+LICENSE="MIT"
+SLOT="0"
+IUSE="examples"
+
+DEPEND="
+ >=dev-libs/libuv-1.11.0:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-22.0.0[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ rm -r vendor || die
+ cat <<-EOF >> setup.cfg || die
+ [build_ext]
+ use_system_libuv=True
+ cython_always=True
+ EOF
+
+ # flake8 only
+ #rm tests/test_sourcecode.py || die
+ # force cythonization
+ rm uvloop/loop.c || die
+ # hangs
+ #sed -i -e 's:test_remote_shutdown_receives_trailing_data:_&:' \
+ # tests/test_tcp.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_IGNORE=(
+ # linting
+ tests/test_sourcecode.py
+ )
+ local EPYTEST_DESELECT=(
+ # TODO: expects some... cython_helper?
+ tests/test_libuv_api.py::Test_UV_libuv::test_libuv_get_loop_t_ptr
+ # unhappy about sandbox injecting its envvars
+ tests/test_process.py::Test_UV_Process::test_process_env_2
+ tests/test_process.py::Test_AIO_Process::test_process_env_2
+ # hangs
+ tests/test_tcp.py::Test_AIO_TCPSSL::test_remote_shutdown_receives_trailing_data
+ )
+
+ rm -rf uvloop || die
+ epytest -s
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}