diff options
author | joerg <joerg@pkgsrc.org> | 2016-02-23 15:07:36 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2016-02-23 15:07:36 +0000 |
commit | 627368c16e51423b5c94a57a6ba02c5802588f3d (patch) | |
tree | ff4951c6fc117e523754b80a7c5920575d194056 /lang/python34 | |
parent | f49c7237a685f1da76d4e1d10e63059707463cee (diff) | |
download | pkgsrc-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/Makefile | 4 | ||||
-rw-r--r-- | lang/python34/distinfo | 4 | ||||
-rw-r--r-- | lang/python34/patches/patch-Lib_distutils_unixccompiler.py | 30 |
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 |