summaryrefslogtreecommitdiff
path: root/dev-python/uvloop
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-01-14 07:13:52 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-01-14 07:13:52 +0000
commitfe1e3bbca60a6b4b9a1889f5252e02c27b459f63 (patch)
tree2ee0c8c664dc7593daf17a1bfac31e1dd4e5c6f5 /dev-python/uvloop
parent94eb99943eafb48140b436b347abaaee77209c01 (diff)
gentoo auto-resync : 14:01:2024 - 07:13:52
Diffstat (limited to 'dev-python/uvloop')
-rw-r--r--dev-python/uvloop/Manifest2
-rw-r--r--dev-python/uvloop/uvloop-0.19.0-r1.ebuild85
2 files changed, 87 insertions, 0 deletions
diff --git a/dev-python/uvloop/Manifest b/dev-python/uvloop/Manifest
index 8167c3fe9de3..f8685c9d7a13 100644
--- a/dev-python/uvloop/Manifest
+++ b/dev-python/uvloop/Manifest
@@ -1,3 +1,5 @@
+DIST uvloop-0.19.0-cython3.patch.xz 6352 BLAKE2B 4a7056299d3d430ce5b6986d43ba4f20726ae4f9635042a43e2995ea373ed53ddce6af2eaa32202f81f80a27bd1d814e635a6be091b5f751bcf6825fd2c8e88a SHA512 aeda541f1327860d23b31ffda9923270a56a8311ec86b06f3bd653478bff591372106e8848af5229e3ad298e950b4c3a728ab4dd9056219b8afe55f5dd58ee3d
DIST uvloop-0.19.0.tar.gz 2318492 BLAKE2B 1c46a8bf3e204c261e3a5e60c3583b75b8b9b20086443725c42842f96ea3f6804242470aa9569f8cc74a6e3bd38b5aaa70f9a9d92b5df3e73911acc169185570 SHA512 b6ca7ba7baf61dc930bb92e35013e5abaf7a227a5e99c88ec4b58fa87a40692151d9891b81d9e514a8481df62bb9721baa789ec234dcbbb34f69e0bee489c57c
+EBUILD uvloop-0.19.0-r1.ebuild 1970 BLAKE2B a77462312733eae001bf28cff3f743ce7030cd3e65475d4df762a67d487f4a635c38c764fbd51085e3d16974768d64413acb50112a6d202086e40d86bfccb63a SHA512 d2e764de3952218cbb07e03a4bcbe5677fa34959e57a6a7505cfb382ebc850f22e87380724c992e24574b6e4df876bba30e444d49886fecd3959a5f1869cdfa2
EBUILD uvloop-0.19.0.ebuild 1912 BLAKE2B 068696785011407f049ef5e548b6f4aa150ea83f730e8f05b72a04db491eebb84a7c8e10bdbb8cbb2a9b496dba1f4c131341cee86c553a8af7a6cd86d8dc5c85 SHA512 6f0297ff2a05325f001c01a690571d8aa551b6b2b72a118157a91fbb82b23db3d40af0ef237132ac220bb540b8f8555bdb71bd1383d81e18da95fde4bc98be7e
MISC metadata.xml 527 BLAKE2B 2db44bdfb681fcce35ef35f13155293ac3fdffa12a695b654ed8acc608cf1f769243136e66b6b2c1afd57caa7e59a66a60d34631c37a4b98a474bd0635fcbaa3 SHA512 02540835a23405c467293395fa7984741e02ca1aca75f527edd3b988d307b41db0f729d5cc0b3a826a652fb7104dec7be86a9a57f4d5646d2af87255cc2d90de
diff --git a/dev-python/uvloop/uvloop-0.19.0-r1.ebuild b/dev-python/uvloop/uvloop-0.19.0-r1.ebuild
new file mode 100644
index 000000000000..ad287eaf03d7
--- /dev/null
+++ b/dev-python/uvloop/uvloop-0.19.0-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+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+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-0.19.0-cython3.patch.xz"
+
+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.36[${PYTHON_USEDEP}]
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-22.0.0[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${WORKDIR}"/${PN}-0.19.0-cython3.patch
+)
+
+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
+
+ # force cythonization
+ rm uvloop/loop.c || 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
+ # crashes on assertion
+ # https://github.com/MagicStack/uvloop/issues/574
+ tests/test_cython.py::TestCythonIntegration::test_cython_coro_is_coroutine
+ )
+
+ rm -rf uvloop || die
+ epytest -s
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}