diff options
author | Sam James <sam@gentoo.org> | 2022-04-28 05:04:33 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-04-28 05:04:33 +0100 |
commit | c22f72dbf15297a6da50606a02130833f982de07 (patch) | |
tree | e0f9404ed62a67316989a69344ca8572ce856a35 /dev-python/python-engineio | |
parent | media-libs/svgalib: use udev.eclass; call udev_reload (diff) | |
download | gentoo-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.ebuild | 66 |
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 +} |