summaryrefslogtreecommitdiff
path: root/dev-python/uvloop
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/uvloop')
-rw-r--r--dev-python/uvloop/Manifest4
-rw-r--r--dev-python/uvloop/files/uvloop-0.15.3-uint64-thread-id.patch43
-rw-r--r--dev-python/uvloop/uvloop-0.15.3-r1.ebuild63
-rw-r--r--dev-python/uvloop/uvloop-0.15.3.ebuild10
4 files changed, 114 insertions, 6 deletions
diff --git a/dev-python/uvloop/Manifest b/dev-python/uvloop/Manifest
index 13ba6947a135..d94b85dc2689 100644
--- a/dev-python/uvloop/Manifest
+++ b/dev-python/uvloop/Manifest
@@ -1,5 +1,7 @@
+AUX uvloop-0.15.3-uint64-thread-id.patch 1548 BLAKE2B 2d1af0cd42f1911e2296db843bace2c3281e9defff1b174a7ca3c2bf651af2b9149b4066e9e252b216a33751591e0e15afec035142c35dac2bce7683c52a48e7 SHA512 0ae9fd1210d80f8efdf1d29b84450c60578848467b49616e9c5e71476779972e94ccebe13d99e74cef99ea59cf50617a8152a1768a0c14b812036310b403a55c
DIST uvloop-0.15.2.tar.gz 2092589 BLAKE2B 05c518ba5854fa22fe72a0224856fa0529af0b9432f366b5b1cb0df09a92c787425713fadb85b151363df28800a94ed2a2ad617aaa1c4e854586e49d16f7dd1c SHA512 e398c7ff85da65344a6ab637e9b2f560e9ba61a3be7a3138d546138949359e30bc2e5f8268f1569b73c3881c66d71cf6298038ca1a883be71a33d7ef86d09eed
DIST uvloop-0.15.3.tar.gz 2094066 BLAKE2B 77ae4634ee31211dba13f41aede4480d70271e042a30a1268e9ad18f5de2b296b84931fb6b2022d2351f33521a84264f74cbc30caa5ff84b0f429bc9f1d426a0 SHA512 5687371a13509bdac0ef7a5ca0f7c78b54d0d9225cbf68cebc6d4fdf3807c2e3346579f5440eb0ff6578088780cc5efb09fba114da0bc0e60ad3f607d9df652f
EBUILD uvloop-0.15.2.ebuild 1179 BLAKE2B 90824270e60d1444e154fa694831fe6c9a6deefa790babfa7afc8deef627295545da7d966998165db1ebff37ed7ad466fbede4ecb13fce22586858ce3b75d335 SHA512 1df3a69ed7cf55669219004c1ed4c620788cee5a9f009e906575aadea9babdfdf61c549b1c850977ac4cb97e4c533d1644de6151d571bbf801b99f6075ad32e3
-EBUILD uvloop-0.15.3.ebuild 1180 BLAKE2B 6b861bf35c1f4b5b44aaa5ca94ae411e17d39f2c9e9237e05046cf867e779665efa6270d9d3165b90be1724c5591af8f7766f11a1b285abde2944513792663bc SHA512 f1388b3d5ac6ec2ae175496e4508fd93e8f45191a241a7e43670a408bc30f59930d4e01611fd9f83fe4700d04ff46b9e60f54e9c454fa2c9e9f3347d5f161a15
+EBUILD uvloop-0.15.3-r1.ebuild 1368 BLAKE2B dbc27abde002b5db0cb9034f092909bb2b5faba902c0de5025c7ea88a91998188a1fe4b5bcaac7ea989ebb1c32b95794615170fa6766c44216fba53a6ef80e63 SHA512 997cb0ae5f2e94e424f5f8f06b6ebb8d750f90a06113607c332cf11121e9ab232bb20a1479087921b8a485bc303a1c4232bc17b48917a0b99a39f4180dad7e1c
+EBUILD uvloop-0.15.3.ebuild 1187 BLAKE2B ee17834d7053f51fea2ab82738e4da26b84709d0f97558dc759f9ce7e0f9da6c465cfa85c30423a85ef21f5732229a6ee117ceee04d9d94c7d579d671c9bbe57 SHA512 73a371db1120e099db3e18926e63902698b2a5594233662efb91bc11549de7f9d2904476c7dde83e1a185a0bb22687e5aeb341ff8d44c2c0ab758ece9a0afe38
MISC metadata.xml 526 BLAKE2B 1c5d5ffd994ab70aae22d5a6312708a168f89790a5999d81ccf4eab552e910fd063ace9f1e51d1b477ed96604a23265f586781feb7b692d1f49a0c502d59dd3a SHA512 e38163d8b0b033c5825d4f977cb58bc727195a7e577eb229a70c4b089943ad99f4c8121e0d4e209db51fe2977ffad2f88b8bfae3baedd853eabefabb15578b85
diff --git a/dev-python/uvloop/files/uvloop-0.15.3-uint64-thread-id.patch b/dev-python/uvloop/files/uvloop-0.15.3-uint64-thread-id.patch
new file mode 100644
index 000000000000..a74fedd308e9
--- /dev/null
+++ b/dev-python/uvloop/files/uvloop-0.15.3-uint64-thread-id.patch
@@ -0,0 +1,43 @@
+From 732df28f0739d84c687d3e6d81995dafa18ac775 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 28 Jul 2021 09:21:00 +0200
+Subject: [PATCH] Revert 32-bit thread ID hack
+
+Apparently the hack used to fix 32-bit platforms actually breaks 64-bit
+platforms using large thread IDs (e.g. sparc).
+
+Reverts: b5b4abb16ba558cf957cf40120dfd4937c53aea5
+---
+ uvloop/includes/stdlib.pxi | 2 +-
+ uvloop/loop.pyx | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/uvloop/includes/stdlib.pxi b/uvloop/includes/stdlib.pxi
+index adf9806..21d69e6 100644
+--- a/uvloop/includes/stdlib.pxi
++++ b/uvloop/includes/stdlib.pxi
+@@ -135,7 +135,7 @@ cdef int ssl_SSL_ERROR_WANT_READ = ssl.SSL_ERROR_WANT_READ
+ cdef int ssl_SSL_ERROR_WANT_WRITE = ssl.SSL_ERROR_WANT_WRITE
+ cdef int ssl_SSL_ERROR_SYSCALL = ssl.SSL_ERROR_SYSCALL
+
+-cdef uint64_t MAIN_THREAD_ID = <uint64_t><int64_t>threading.main_thread().ident
++cdef uint64_t MAIN_THREAD_ID = <uint64_t>threading.main_thread().ident
+ cdef threading_Thread = threading.Thread
+
+ cdef int subprocess_PIPE = subprocess.PIPE
+diff --git a/uvloop/loop.pyx b/uvloop/loop.pyx
+index d9b5aaa..96c9cde 100644
+--- a/uvloop/loop.pyx
++++ b/uvloop/loop.pyx
+@@ -707,7 +707,7 @@ cdef class Loop:
+ return
+
+ cdef uint64_t thread_id
+- thread_id = <uint64_t><int64_t>PyThread_get_thread_ident()
++ thread_id = <uint64_t>PyThread_get_thread_ident()
+
+ if thread_id != self._thread_id:
+ raise RuntimeError(
+--
+2.32.0
+
diff --git a/dev-python/uvloop/uvloop-0.15.3-r1.ebuild b/dev-python/uvloop/uvloop-0.15.3-r1.ebuild
new file mode 100644
index 000000000000..4c2a70b59ede
--- /dev/null
+++ b/dev-python/uvloop/uvloop-0.15.3-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1
+
+DESCRIPTION="Ultra-fast implementation of asyncio event loop on top of libuv"
+HOMEPAGE="https://github.com/magicstack/uvloop"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~alpha ~amd64"
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc examples"
+
+RDEPEND=">=dev-libs/libuv-1.11.0:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/alabaster-0.6.2[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests setup.py
+
+PATCHES=(
+ "${FILESDIR}"/${P}-uint64-thread-id.patch
+)
+
+python_prepare_all() {
+ cat <<-EOF >> setup.cfg || die
+ [build_ext]
+ use_system_libuv=1
+ EOF
+
+ # flake8 only
+ rm tests/test_sourcecode.py || die
+ # TODO: broken by cythonize
+ rm tests/test_cython.py || die
+ # force cythonization
+ rm uvloop/loop.c || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py build_ext --inplace build_sphinx
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ use doc && local HTML_DOCS=( "${BUILD_DIR}/sphinx/html/." )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/uvloop/uvloop-0.15.3.ebuild b/dev-python/uvloop/uvloop-0.15.3.ebuild
index da543faea652..3ff9f3019ff5 100644
--- a/dev-python/uvloop/uvloop-0.15.3.ebuild
+++ b/dev-python/uvloop/uvloop-0.15.3.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..9} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
DESCRIPTION="Ultra-fast implementation of asyncio event loop on top of libuv"
@@ -32,10 +32,10 @@ BDEPEND="
distutils_enable_tests setup.py
python_prepare_all() {
- cat <<EOF >> setup.cfg || die
-[build_ext]
-use-system-libuv=1
-EOF
+ cat <<-EOF >> setup.cfg || die
+ [build_ext]
+ use_system_libuv=1
+ EOF
# flake8 only
rm tests/test_sourcecode.py || die