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

Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2021-03-06 03:22:42 +00:00
parent 6ff3b32f1a
commit aab61be853
2 changed files with 28 additions and 1 deletions

View File

@@ -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

View File

@@ -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.bargull@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: