commit: 56ce1e6d788afb6177f722eede892330b3e00dcc Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Tue Dec 28 04:48:50 2021 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue Dec 28 04:50:56 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56ce1e6d
dev-python/gevent: add 21.12.0 - Re-enabled some hanging/failing tests - Add dnspython tests again - Excluded more network-related tests - Avoid deprecated method for disabling "embedded" libs (bundled) Signed-off-by: Sam James <sam <AT> gentoo.org> dev-python/gevent/Manifest | 1 + dev-python/gevent/gevent-21.12.0.ebuild | 100 ++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+) diff --git a/dev-python/gevent/Manifest b/dev-python/gevent/Manifest index 0d019073722c..9dece1ecb9a5 100644 --- a/dev-python/gevent/Manifest +++ b/dev-python/gevent/Manifest @@ -1 +1,2 @@ +DIST gevent-21.12.0.tar.gz 6201851 BLAKE2B 8c02f42d6024e912e51754df876d4f4895acdf466f2400e9fdca69ad5c7c77df7ee05f3e4c2c1e1d5731c282b62d5c940d9ca6396c27d6fe6e8a0ec13013591c SHA512 805ddb475281b6c4c46cdf5a714915b6612512745121e7b153f3d33f3460135efa4994e0ff1601402d4f7b80d285cbfdc0d5d93799fbeb8ddbf2a52888cd91ad DIST gevent-21.8.0.tar.gz 6162938 BLAKE2B f24770cdbf229d4a4ebe7e6c102c43ab0c89a52389ada40c8abaf032eada323333ca9ac965c65d335d96d69c97cdc239e193dd5a38076c81a2f3c80daa13b339 SHA512 dae95f986530e79b07a0006f6fb4cbd3911ac0bf2e58c4896ee5fa6d2e2a9ed5785c346958ee23cd57c2dcafb0a34c585b1f6375a29fd653e061a382482fc9fb diff --git a/dev-python/gevent/gevent-21.12.0.ebuild b/dev-python/gevent/gevent-21.12.0.ebuild new file mode 100644 index 000000000000..0c7cee33a7e9 --- /dev/null +++ b/dev-python/gevent/gevent-21.12.0.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DISTUTILS_USE_SETUPTOOLS=rdepend +PYTHON_COMPAT=( pypy3 python3_{8..10} ) +PYTHON_REQ_USE="ssl(+),threads(+)" + +inherit distutils-r1 flag-o-matic + +DESCRIPTION="Coroutine-based network library" +HOMEPAGE="https://www.gevent.org/ https://pypi.org/project/gevent/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="doc examples test" +RESTRICT="!test? ( test )" + +DEPEND=" + >=dev-libs/libev-4.31:= + dev-libs/libuv:= + >=net-dns/c-ares-1.12:= +" +RDEPEND="${DEPEND} + virtual/python-greenlet[${PYTHON_USEDEP}] + dev-python/zope-event[${PYTHON_USEDEP}] + dev-python/zope-interface[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/dnspython[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + )" + +distutils_enable_sphinx doc + +# Tests take long and fail terribly a few times. +# It also seems that they require network access. +#RESTRICT="test" + +python_prepare_all() { + export GEVENTSETUP_EMBED="false" + + distutils-r1_python_prepare_all +} + +python_configure_all() { + append-flags -fno-strict-aliasing +} + +python_test() { + # Just in case. + export GEVENTTEST_USE_RESOURCES=-network + + cd src/gevent/tests || die + + # Tests which need network but aren't marked as such + echo "test__getaddrinfo_import.py" >> tests_that_dont_use_resolver.txt || die + echo "test_socketqcqqrwns.py" >> tests_that_dont_use_resolver.txt || die + + # Test hangs (testPeek) + echo "test_socket.py" >> tests_that_dont_use_resolver.txt || die + + # TODO: figure out how to make them work and not hang + #GEVENT_RESOLVER=ares \ + # "${EPYTHON}" -m gevent.tests \ + # --verbose \ + # -uall,-network \ + # --config known_failures.py \ + # --ignore tests_that_dont_use_resolver.txt || die + GEVENT_RESOLVER=dnspython \ + "${EPYTHON}" -m gevent.tests \ + --verbose \ + -uall,-network \ + --config known_failures.py \ + --ignore tests_that_dont_use_resolver.txt || die + GEVENT_RESOLVER=thread \ + "${EPYTHON}" -m gevent.tests \ + --verbose \ + -uall,-network \ + --config known_failures.py \ + --ignore tests_that_dont_use_resolver.txt || die + GEVENT_FILE=thread \ + "${EPYTHON}" -m gevent.tests \ + --verbose \ + -uall,-network \ + --config known_failures.py \ + test__*subprocess*.py || die +} + +python_install_all() { + local DOCS=( AUTHORS README.rst ) + use examples && dodoc -r examples + + distutils-r1_python_install_all +}