commit:     aab61be85302ce6e1ce7233a1fda3843d8ff1be8
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  6 03:22:42 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar  6 03:22:59 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aab61be8

dev-python/cython: rebase multiprocessing Darwin patch for 0.29.22

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-python/cython/cython-0.29.22.ebuild            |  2 +-
 .../cython-0.29.22-spawn-multiprocessing.patch     | 27 ++++++++++++++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/dev-python/cython/cython-0.29.22.ebuild 
b/dev-python/cython/cython-0.29.22.ebuild
index 2fdee5a7f17..d2fe1b9af4e 100644
--- a/dev-python/cython/cython-0.29.22.ebuild
+++ b/dev-python/cython/cython-0.29.22.ebuild
@@ -31,7 +31,7 @@ BDEPEND="${RDEPEND}
 
 PATCHES=(
        "${FILESDIR}/${PN}-0.29.14-sphinx-update.patch"
-       "${FILESDIR}/${PN}-0.29.21-spawn-multiprocessing.patch"
+       "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
 )
 
 SITEFILE=50cython-gentoo.el

diff --git a/dev-python/cython/files/cython-0.29.22-spawn-multiprocessing.patch 
b/dev-python/cython/files/cython-0.29.22-spawn-multiprocessing.patch
new file mode 100644
index 00000000000..15b6f968e4b
--- /dev/null
+++ b/dev-python/cython/files/cython-0.29.22-spawn-multiprocessing.patch
@@ -0,0 +1,27 @@
+Needed to prevent a loop while calling cythonize on macOS - or any platform
+defaulting to the 'spawn' method, as Python 3.8 does on Darwin.
+
+https://github.com/cython/cython/pull/3263
+
+[Rebased on 0.29.22]
+
+From 15ae78bb74a856836dd64828326f4f0812d36520 Mon Sep 17 00:00:00 2001
+From: Marcel Bargull <marcel.barg...@udo.edu>
+Date: Fri, 6 Dec 2019 18:21:19 +0100
+Subject: [PATCH] Disable parallel cythonization for "spawn" start method.
+
+---
+--- a/Cython/Build/Dependencies.py
++++ b/Cython/Build/Dependencies.py
+@@ -1071,6 +1071,11 @@ def cythonize(module_list, exclude=None, nthreads=0, 
aliases=None, quiet=False,
+
+     if N <= 1:
+         nthreads = 0
++    if nthreads:
++        import multiprocessing
++        if multiprocessing.get_start_method() == 'spawn':
++            print('Disabling parallel cythonization for "spawn" process start 
method.')
++            nthreads = 0
+     if nthreads:
+         # Requires multiprocessing (or Python >= 2.6)
+         try:

Reply via email to