summaryrefslogtreecommitdiff
path: root/lang/python34
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2016-02-23 15:07:36 +0000
committerjoerg <joerg@pkgsrc.org>2016-02-23 15:07:36 +0000
commit627368c16e51423b5c94a57a6ba02c5802588f3d (patch)
treeff4951c6fc117e523754b80a7c5920575d194056 /lang/python34
parentf49c7237a685f1da76d4e1d10e63059707463cee (diff)
downloadpkgsrc-627368c16e51423b5c94a57a6ba02c5802588f3d.tar.gz
A few years ago, a brilliant mind decided to hard-code DT_RUNPATH for
all platforms that use GNU ld. This is of course completely wrong. Some platforms have always implemented the sane semantic for DT_RPATH already and newer saw a reason for implementing the then-redundant DT_RUNPATH. Unbreak them by trusting the compiler to actually know what the platform default should be. Bump revision.
Diffstat (limited to 'lang/python34')
-rw-r--r--lang/python34/Makefile4
-rw-r--r--lang/python34/distinfo4
-rw-r--r--lang/python34/patches/patch-Lib_distutils_unixccompiler.py30
3 files changed, 28 insertions, 10 deletions
diff --git a/lang/python34/Makefile b/lang/python34/Makefile
index 805fcba7647..7163d198947 100644
--- a/lang/python34/Makefile
+++ b/lang/python34/Makefile
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.13 2016/02/23 11:48:52 jperkin Exp $
+# $NetBSD: Makefile,v 1.14 2016/02/23 15:07:36 joerg Exp $
.include "dist.mk"
PKGNAME= python34-${PY_DISTVERSION}
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= lang python
MAINTAINER= pkgsrc-users@NetBSD.org
diff --git a/lang/python34/distinfo b/lang/python34/distinfo
index fdb746f0263..7c98d6aa06c 100644
--- a/lang/python34/distinfo
+++ b/lang/python34/distinfo
@@ -1,10 +1,10 @@
-$NetBSD: distinfo,v 1.18 2015/11/03 22:50:42 agc Exp $
+$NetBSD: distinfo,v 1.19 2016/02/23 15:07:36 joerg Exp $
SHA1 (Python-3.4.3.tar.xz) = 7ca5cd664598bea96eec105aa6453223bb6b4456
RMD160 (Python-3.4.3.tar.xz) = fc0a8ce58c8b354f644db3527d838a77d2e27fba
SHA512 (Python-3.4.3.tar.xz) = 55b2d7c07da8ad3a3971b4687da2e45809c6f1474732e93b0432f121f287d0b63ad8a9bf381987ea70f47a03d9474c3e55b7d86d14800bf7ef29b3324d8d35b9
Size (Python-3.4.3.tar.xz) = 14421964 bytes
-SHA1 (patch-Lib_distutils_unixccompiler.py) = 39cb8d1e1e3e76e2b6b5dbc1a6b5e0815300b2ce
+SHA1 (patch-Lib_distutils_unixccompiler.py) = 7d6df07921ad3357757d4681a964256b560b3f57
SHA1 (patch-aa) = 14359f8d0527eff08073c0aea60dfe8961d9255d
SHA1 (patch-ah) = 1c4eec742ab26f77c6326b7d12e44e26be493c0f
SHA1 (patch-al) = 7239d10b67c739c3ee33dd2fc95bb770360d152f
diff --git a/lang/python34/patches/patch-Lib_distutils_unixccompiler.py b/lang/python34/patches/patch-Lib_distutils_unixccompiler.py
index e954d292788..a0a5ef37ef5 100644
--- a/lang/python34/patches/patch-Lib_distutils_unixccompiler.py
+++ b/lang/python34/patches/patch-Lib_distutils_unixccompiler.py
@@ -1,13 +1,31 @@
-$NetBSD: patch-Lib_distutils_unixccompiler.py,v 1.1 2014/05/09 02:27:14 wen Exp $
+$NetBSD: patch-Lib_distutils_unixccompiler.py,v 1.2 2016/02/23 15:07:36 joerg Exp $
+
+Do not force RUNPATH vs RPATH, trust the compiler to know what the
+platform wants.
--- Lib/distutils/unixccompiler.py.orig 2013-05-15 16:32:54.000000000 +0000
+++ Lib/distutils/unixccompiler.py
-@@ -232,7 +232,7 @@ class UnixCCompiler(CCompiler):
+@@ -232,22 +232,7 @@ class UnixCCompiler(CCompiler):
elif sys.platform[:7] == "irix646" or sys.platform[:6] == "osf1V5":
return ["-rpath", dir]
else:
- if self._is_gcc(compiler):
-+ if True:
- # gcc on non-GNU systems does not need -Wl, but can
- # use it anyway. Since distutils has always passed in
- # -Wl whenever gcc was used in the past it is probably
+- # gcc on non-GNU systems does not need -Wl, but can
+- # use it anyway. Since distutils has always passed in
+- # -Wl whenever gcc was used in the past it is probably
+- # safest to keep doing so.
+- if sysconfig.get_config_var("GNULD") == "yes":
+- # GNU ld needs an extra option to get a RUNPATH
+- # instead of just an RPATH.
+- return "-Wl,--enable-new-dtags,-R" + dir
+- else:
+- return "-Wl,-R" + dir
+- else:
+- # No idea how --enable-new-dtags would be passed on to
+- # ld if this system was using GNU ld. Don't know if a
+- # system like this even exists.
+- return "-R" + dir
++ return "-Wl,-R" + dir
+
+ def library_option(self, lib):
+ return "-l" + lib