summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-04-28 05:04:33 +0100
committerSam James <sam@gentoo.org>2022-04-28 05:04:33 +0100
commitc22f72dbf15297a6da50606a02130833f982de07 (patch)
treee0f9404ed62a67316989a69344ca8572ce856a35 /dev-python/python-engineio
parentmedia-libs/svgalib: use udev.eclass; call udev_reload (diff)
downloadgentoo-c22f72dbf15297a6da50606a02130833f982de07.tar.gz
gentoo-c22f72dbf15297a6da50606a02130833f982de07.tar.bz2
gentoo-c22f72dbf15297a6da50606a02130833f982de07.zip
dev-python/python-engineio: avoid eventlet test dependency; add Python 3.10
We can avoid the eventlet test dep (which doesn't support Python 3.10 yet, still!) with some gymnastics. engineio supports a bunch of event engines, so let's just use others for testing (and indeed use eventlet when it's available for < Python 3.10). Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-python/python-engineio')
-rw-r--r--dev-python/python-engineio/python-engineio-4.3.2-r1.ebuild66
1 files changed, 66 insertions, 0 deletions
diff --git a/dev-python/python-engineio/python-engineio-4.3.2-r1.ebuild b/dev-python/python-engineio/python-engineio-4.3.2-r1.ebuild
new file mode 100644
index 000000000000..a7da39134dd9
--- /dev/null
+++ b/dev-python/python-engineio/python-engineio-4.3.2-r1.ebuild
@@ -0,0 +1,66 @@
+# 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..10} )
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of the Engine.IO realtime server"
+HOMEPAGE="
+ https://python-engineio.readthedocs.io/
+ https://github.com/miguelgrinberg/python-engineio/
+ https://pypi.org/project/python-engineio/"
+SRC_URI="
+ https://github.com/miguelgrinberg/python-engineio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+# Can use eventlet, werkzeug, or gevent, but no tests for werkzeug
+# eventlet doesn't yet support Python 3.10, so let's work around it
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/eventlet[${PYTHON_USEDEP}]
+ ' python3_{8,9} )
+
+ dev-python/gevent[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]
+ www-servers/tornado[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Both want websocket (server) which isn't strictly required and fails
+ # because it can't find it. Think it needs right provider depending on
+ # whether it chose gevent/eventlet/werkzeug. Not worth the effort.
+ tests/common/test_server.py::TestServer::test_connect
+ tests/common/test_server.py::TestServer::test_upgrades
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/alabaster
+
+python_test() {
+ if [[ ${EPYTHON} != python3.8 && ${EPYTHON} != python3.9 ]] ; then
+ EPYTEST_IGNORE+=(
+ tests/common/test_async_eventlet.py
+ )
+
+ EPYTEST_DESELECT+=(
+ tests/common/test_server.py::TestServer::test_async_mode_eventlet
+ )
+ fi
+
+ epytest
+}