aboutsummaryrefslogtreecommitdiffstats
path: root/lang/python34
diff options
context:
space:
mode:
authorkoobs <koobs@FreeBSD.org>2014-08-25 15:59:45 +0800
committerkoobs <koobs@FreeBSD.org>2014-08-25 15:59:45 +0800
commit137ebc5c076d3f673becd8309fe7d48ebf5e6224 (patch)
treefad42bb416bffdade3409ddc0e6eb0d9c711c3e0 /lang/python34
parent4103edad8b7592254487a18776e958507cd99c84 (diff)
downloadfreebsd-ports-gnome-137ebc5c076d3f673becd8309fe7d48ebf5e6224.tar.gz
freebsd-ports-gnome-137ebc5c076d3f673becd8309fe7d48ebf5e6224.tar.zst
freebsd-ports-gnome-137ebc5c076d3f673becd8309fe7d48ebf5e6224.zip
lang/python34: Fix build when semaphores are not enabled
Backport fix [1] for upstream Python Issue #21704 [2]: Fix build error for _multiprocessing when semaphores are not available. The symptom was originally reported by RedPorts 8.4-QAT/i386, ultimately resulting in a packaging error: ... checking for sem_open... yes checking for sem_timedwait... yes checking for sem_getvalue... yes checking for sem_unlink... yes ... checking whether POSIX semaphores are enabled... no checking for broken sem_getvalue... yes ... *** WARNING: renaming "_multiprocessing" since importing it failed: build/lib.freebsd-8.4-RELEASE-i386-3.4/_multiprocessing.so: Undefined symbol "_PyMp_sem_unlink" ... pkg-static: lstat(/work/a/ports/lang/python34/work/stage/usr/local/lib/ python3.4/lib-dynload/_multiprocessing.so): No such file or directory Something is funny for Jail-based systems when it comes to host/jail semaphore detection. A config.log would be handy to help determine why. [1] http://hg.python.org/cpython/rev/f618f6739200 [2] http://bugs.python.org/issue21704
Diffstat (limited to 'lang/python34')
-rw-r--r--lang/python34/Makefile2
-rw-r--r--lang/python34/files/patch-issue2170422
2 files changed, 23 insertions, 1 deletions
diff --git a/lang/python34/Makefile b/lang/python34/Makefile
index 1550c27cc154..066220fdb19a 100644
--- a/lang/python34/Makefile
+++ b/lang/python34/Makefile
@@ -3,7 +3,7 @@
PORTNAME= python34
PORTVERSION= 3.4.1
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ftp/python/${PORTVERSION}
diff --git a/lang/python34/files/patch-issue21704 b/lang/python34/files/patch-issue21704
new file mode 100644
index 000000000000..f072564fc15c
--- /dev/null
+++ b/lang/python34/files/patch-issue21704
@@ -0,0 +1,22 @@
+# HG changeset patch
+# User Richard Oudkerk <shibturn@gmail.com>
+# Date 1406584862 -3600
+# Node ID f618f673920043e31d8dee20b35c3e6f3e271178
+# Parent a1e01081e731a1214793cd4b5b4fc89fe6202357
+Issue #21704: Fix build error for _multiprocessing when semaphores
+are not available. Patch by Arfrever Frehtes Taifersar Arahesis.
+
+diff --git a/Modules/_multiprocessing/multiprocessing.c b/Modules/_multiprocessing/multiprocessing.c
+--- Modules/_multiprocessing/multiprocessing.c
++++ Modules/_multiprocessing/multiprocessing.c
+@@ -128,7 +128,9 @@ static PyMethodDef module_methods[] = {
+ {"recv", multiprocessing_recv, METH_VARARGS, ""},
+ {"send", multiprocessing_send, METH_VARARGS, ""},
+ #endif
++#ifndef POSIX_SEMAPHORES_NOT_ENABLED
+ {"sem_unlink", _PyMp_sem_unlink, METH_VARARGS, ""},
++#endif
+ {NULL}
+ };
+
+