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.
This commit is contained in:
joerg 2016-02-23 15:07:36 +00:00
parent 47741b4113
commit 5ad5ab599e
9 changed files with 84 additions and 29 deletions

View file

@ -1,9 +1,9 @@
# $NetBSD: Makefile,v 1.34 2016/02/23 11:48:52 jperkin Exp $
# $NetBSD: Makefile,v 1.35 2016/02/23 15:07:36 joerg Exp $
.include "dist.mk"
PKGNAME= python33-${PY_DISTVERSION}
PKGREVISION= 1
PKGREVISION= 2
CATEGORIES= lang python
MAINTAINER= pkgsrc-users@NetBSD.org

View file

@ -1,11 +1,11 @@
$NetBSD: distinfo,v 1.23 2015/11/03 22:50:42 agc Exp $
$NetBSD: distinfo,v 1.24 2016/02/23 15:07:36 joerg Exp $
SHA1 (Python-3.3.6.tar.xz) = 0a86ae9e877467a62faed7ece208c0d6899b0991
RMD160 (Python-3.3.6.tar.xz) = e45909eedf3648408ef8b34775ab24654181d9bd
SHA512 (Python-3.3.6.tar.xz) = 8fd4b667b574e23c03a912b0c2055278873e8e4a1396780ca2e3ff13947f6027985913d6904427f62d59cd4e32161c2adfb5597e4c727d122d43d00062b3621e
Size (Python-3.3.6.tar.xz) = 12116460 bytes
SHA1 (patch-Include_pyport.h) = 9692d7436443364bf7aca4a3eaa262ae81f4e381
SHA1 (patch-Lib_distutils_unixccompiler.py) = cfbb7d3f5d631bc8c7cf41afcb86e31ad4b56e53
SHA1 (patch-Lib_distutils_unixccompiler.py) = efc25eb22f5cb1bfab9563a024d2e359b8eed56e
SHA1 (patch-Lib_ssl.py) = 1996554ebf34201f7a3ab183c6a81e6b369af5ca
SHA1 (patch-Lib_test_test__ssl.py) = 5033c604a405829ab1f268a8ba3a78c749c568e9
SHA1 (patch-Modules___ssl.c) = 765ac20323612dd260807baa9273fdb597072fcc

View file

@ -1,13 +1,31 @@
$NetBSD: patch-Lib_distutils_unixccompiler.py,v 1.2 2015/04/24 03:24:32 rodent Exp $
$NetBSD: patch-Lib_distutils_unixccompiler.py,v 1.3 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 2014-10-12 07:03:52.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

View file

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

View file

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

View file

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

View file

@ -1,8 +1,9 @@
# $NetBSD: Makefile,v 1.2 2016/02/23 11:48:52 jperkin Exp $
# $NetBSD: Makefile,v 1.3 2016/02/23 15:07:36 joerg Exp $
.include "dist.mk"
PKGNAME= python35-${PY_DISTVERSION}
PKGREVISION= 1
CATEGORIES= lang python
MAINTAINER= pkgsrc-users@NetBSD.org

View file

@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.4 2015/12/07 14:36:26 adam Exp $
$NetBSD: distinfo,v 1.5 2016/02/23 15:07:36 joerg Exp $
SHA1 (Python-3.5.1.tar.xz) = 0186da436db76776196612b98bb9c2f76acfe90e
RMD160 (Python-3.5.1.tar.xz) = 9e63ee775b0bfebdbf4ea21969856b1f91c7e243
@ -6,7 +6,7 @@ SHA512 (Python-3.5.1.tar.xz) = 261c9e42ae351853c718707a8887817e308b3ba7a37e9463a
Size (Python-3.5.1.tar.xz) = 14830408 bytes
SHA1 (patch-Include_py__curses.h) = 14359f8d0527eff08073c0aea60dfe8961d9255d
SHA1 (patch-Lib_distutils_command_install.py) = 9b44f339f65f029b7f17dbc654739a7ae3c12780
SHA1 (patch-Lib_distutils_unixccompiler.py) = 39cb8d1e1e3e76e2b6b5dbc1a6b5e0815300b2ce
SHA1 (patch-Lib_distutils_unixccompiler.py) = 7d6df07921ad3357757d4681a964256b560b3f57
SHA1 (patch-Makefile.pre.in) = 3ed3cf07d58ae15adf26d4bffb381eae0e080f21
SHA1 (patch-Modules___cursesmodule.c) = 6bc66c9cb5320b4f90872024fc9c1e43d0b34928
SHA1 (patch-Modules_makesetup) = c9b571eb54fdf0b1e93524a6de6780e8c4119221

View file

@ -1,13 +1,31 @@
$NetBSD: patch-Lib_distutils_unixccompiler.py,v 1.1 2015/12/05 17:12:13 adam 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