summaryrefslogtreecommitdiff
path: root/dev-python/greenlet
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/greenlet')
-rw-r--r--dev-python/greenlet/Manifest1
-rw-r--r--dev-python/greenlet/files/greenlet-2.0.1-gcc-13.patch47
-rw-r--r--dev-python/greenlet/greenlet-2.0.1-r1.ebuild33
-rw-r--r--dev-python/greenlet/greenlet-2.0.2.ebuild35
4 files changed, 116 insertions, 0 deletions
diff --git a/dev-python/greenlet/Manifest b/dev-python/greenlet/Manifest
index e000cacf86a1..2707a2505a12 100644
--- a/dev-python/greenlet/Manifest
+++ b/dev-python/greenlet/Manifest
@@ -1,2 +1,3 @@
DIST greenlet-1.1.3.tar.gz 91624 BLAKE2B 88ba03f7a5acc7de2ab757a04667de9774ec8979b0f3d45131f8174a4ea9a608e359e4d8ce2f7e57c58ce4844e58a082d35d983fd583fc6f53ffa38363fb7863 SHA512 9ece4a4e758de963c96c7cbd33aec33fa11ddd3d46b8dc4194e14d534f8f68787df551cb1e3be57fc8a65fbd8d5daf8fee59567927f6f272535dd7c720baa4f4
DIST greenlet-2.0.1.tar.gz 163824 BLAKE2B 4b06e3b95399f38dc529b06656dfee0347eb72cbce4ab62d4655d017457bf9df234d2767c1296705ba23b0d9f6476654327766efd329e48459c311600f33248a SHA512 3f4ccc761f64c7f10946d2fa965ef847e814ca1b6f57dc0df262cb6eed24148b44c6629770bf038656a9e3706e45553080844dfc841643604bd4776ca7ca03a2
+DIST greenlet-2.0.2.tar.gz 164980 BLAKE2B 1afa8390e96d7eeafd84a4323a4eb9e4b2cad50a3e6654b1609702a5a74dfb5dadc7a1ff81cc8e7718d0587728c2ec944069db8241f1aa0723d2f98e6911ddb6 SHA512 03d0b2764c52524c97930a7bd856a432360a96ddbe3d1f2352ec49750994e6811fd28378f83b96cac91520234d0a6e9e56232ff688c71ff57f6340d3d182635b
diff --git a/dev-python/greenlet/files/greenlet-2.0.1-gcc-13.patch b/dev-python/greenlet/files/greenlet-2.0.1-gcc-13.patch
new file mode 100644
index 000000000000..4afbca8f1479
--- /dev/null
+++ b/dev-python/greenlet/files/greenlet-2.0.1-gcc-13.patch
@@ -0,0 +1,47 @@
+https://github.com/python-greenlet/greenlet/commit/3be53248cd1f8e4859563b84b04054de7a9fcad2
+https://github.com/python-greenlet/greenlet/commit/86c4e2a98f1bd27eff38edd5dba8c10300bc8e64
+
+From 3be53248cd1f8e4859563b84b04054de7a9fcad2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 16 Jan 2023 21:37:26 -0800
+Subject: [PATCH] greenlet: Drop using 'register' storage class keyword
+
+This has been dropped in c++17 and newer
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/src/greenlet/platform/switch_riscv_unix.h
++++ b/src/greenlet/platform/switch_riscv_unix.h
+@@ -11,8 +11,8 @@
+ static int
+ slp_switch(void)
+ {
+- register int ret;
+- register long *stackref, stsizediff;
++ int ret;
++ long *stackref, stsizediff;
+ __asm__ volatile ("" : : : REGS_TO_SAVE);
+ __asm__ volatile ("mv %0, sp" : "=r" (stackref) : );
+ {
+
+From 86c4e2a98f1bd27eff38edd5dba8c10300bc8e64 Mon Sep 17 00:00:00 2001
+From: Jason Madden <jamadden@gmail.com>
+Date: Thu, 26 Jan 2023 12:58:46 -0600
+Subject: [PATCH] Add the rebind member to the allocator.
+
+Based on, and fixes #335
+--- a/src/greenlet/greenlet_allocator.hpp
++++ b/src/greenlet/greenlet_allocator.hpp
+@@ -51,6 +51,11 @@ namespace greenlet
+ else
+ PyMem_Free(p);
+ }
++ // This member is deprecated in C++17 and removed in C++20
++ template< class U >
++ struct rebind {
++ typedef PythonAllocator<U> other;
++ };
+
+ };
+ }
+
+
diff --git a/dev-python/greenlet/greenlet-2.0.1-r1.ebuild b/dev-python/greenlet/greenlet-2.0.1-r1.ebuild
new file mode 100644
index 000000000000..d28d4487071b
--- /dev/null
+++ b/dev-python/greenlet/greenlet-2.0.1-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+# Note: greenlet is built-in in pypy
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight in-process concurrent programming"
+HOMEPAGE="
+ https://greenlet.readthedocs.io/en/latest/
+ https://github.com/python-greenlet/greenlet/
+ https://pypi.org/project/greenlet/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 -hppa -ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc-13.patch
+)
+
+distutils_enable_sphinx docs
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest greenlet.tests
+}
diff --git a/dev-python/greenlet/greenlet-2.0.2.ebuild b/dev-python/greenlet/greenlet-2.0.2.ebuild
new file mode 100644
index 000000000000..c8967a925d58
--- /dev/null
+++ b/dev-python/greenlet/greenlet-2.0.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+# Note: greenlet is built-in in pypy
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight in-process concurrent programming"
+HOMEPAGE="
+ https://greenlet.readthedocs.io/en/latest/
+ https://github.com/python-greenlet/greenlet/
+ https://pypi.org/project/greenlet/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 -hppa -ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+distutils_enable_sphinx docs
+distutils_enable_tests unittest
+
+src_prepare() {
+ # patch cflag manipulations out
+ sed -i -e 's:global_flags[.]append.*:pass:' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ eunittest greenlet.tests
+}