[131323] trunk/dports/lang/perl5.20

larryv at macports.org larryv at macports.org
Fri Jan 9 11:46:23 PST 2015


Revision: 131323
          https://trac.macports.org/changeset/131323
Author:   larryv at macports.org
Date:     2015-01-09 11:46:23 -0800 (Fri, 09 Jan 2015)
Log Message:
-----------
perl5.20: Fix `Config{ld}` on newer OSes (r131305)

Also bring over some other fixes from `perl5.16`.

Revision Links:
--------------
    https://trac.macports.org/changeset/131305

Modified Paths:
--------------
    trunk/dports/lang/perl5.20/Portfile

Added Paths:
-----------
    trunk/dports/lang/perl5.20/files/avoid-bind9-linking.patch
    trunk/dports/lang/perl5.20/files/avoid-no-cpp-precomp-PR38913.patch
    trunk/dports/lang/perl5.20/files/clean-up-paths.patch
    trunk/dports/lang/perl5.20/files/fix-ld-modification.patch
    trunk/dports/lang/perl5.20/files/fix-miniperl-linking-PR36438.patch

Modified: trunk/dports/lang/perl5.20/Portfile
===================================================================
--- trunk/dports/lang/perl5.20/Portfile	2015-01-09 19:34:22 UTC (rev 131322)
+++ trunk/dports/lang/perl5.20/Portfile	2015-01-09 19:46:23 UTC (rev 131323)
@@ -6,6 +6,7 @@
 name                perl5.20
 version             5.20.1
 set branch          [join [lrange [split ${version} .] 0 1] .]
+revision            1
 categories          lang
 platforms           darwin freebsd linux
 license             {Artistic-1 GPL}
@@ -28,9 +29,22 @@
 checksums           rmd160  8a33e7ef2cbe4b11c83187176656454794f6d26d \
                     sha256  ede5ded37e7fb6139b04728cfca826f17076f9888dbfd100a56834dbeb04657c
 
-patchfiles          install-under-short-version-PR43480.patch
+patchfiles          clean-up-paths.patch \
+                    avoid-no-cpp-precomp-PR38913.patch \
+                    install-under-short-version-PR43480.patch \
+                    fix-ld-modification.patch
+
+# Prevent build from picking up the bind9 port's static libbind, which
+# duplicates symbols from /usr/lib/libdl (r10638).
+patchfiles-append   avoid-bind9-linking.patch
+
+# Prevent miniperl linking from accidentally finding our libstdc++
+# (#36438).
+patchfiles-append   fix-miniperl-linking-PR36438.patch
+
 post-patch {
-    reinplace "s|/opt/local|${prefix}|g" ${worksrcpath}/Configure
+    reinplace -W ${worksrcpath} "s|__PREFIX__|${prefix}|g" \
+            Configure Makefile.SH
 }
 
 configure.ccache    no
@@ -51,7 +65,7 @@
                     -Dusethreads \
                     -Duseshrplib \
                    {-Dcc="$CC"} \
-                   {-Dld="$CC"} \
+                   {-Dld="env MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET $CC"} \
                     -Dman1ext=1pm \
                     -Dman3ext=3pm \
                     -Dman1dir='${prefix}/share/man/man1p' \

Copied: trunk/dports/lang/perl5.20/files/avoid-bind9-linking.patch (from rev 131318, trunk/dports/lang/perl5.16/files/avoid-bind9-linking.patch)
===================================================================
--- trunk/dports/lang/perl5.20/files/avoid-bind9-linking.patch	                        (rev 0)
+++ trunk/dports/lang/perl5.20/files/avoid-bind9-linking.patch	2015-01-09 19:46:23 UTC (rev 131323)
@@ -0,0 +1,13 @@
+Index: hints/darwin.sh
+===================================================================
+--- hints/darwin.sh.orig
++++ hints/darwin.sh
+@@ -320,6 +320,8 @@ i_dbm=undef;
+ # NeilW says this should be acceptable on all darwin versions.
+ ranlib='ranlib'
+ 
++libswanted="$(echo $libswanted | sed -e 's/bind //' -e 's/ bind//')"
++
+ ##
+ # Build process
+ ##

Copied: trunk/dports/lang/perl5.20/files/avoid-no-cpp-precomp-PR38913.patch (from rev 131318, trunk/dports/lang/perl5.16/files/avoid-no-cpp-precomp-PR38913.patch)
===================================================================
--- trunk/dports/lang/perl5.20/files/avoid-no-cpp-precomp-PR38913.patch	                        (rev 0)
+++ trunk/dports/lang/perl5.20/files/avoid-no-cpp-precomp-PR38913.patch	2015-01-09 19:46:23 UTC (rev 131323)
@@ -0,0 +1,13 @@
+Index: hints/darwin.sh
+===================================================================
+--- hints/darwin.sh.orig
++++ hints/darwin.sh
+@@ -129,8 +129,6 @@ esac
+ 
+ # Avoid Apple's cpp precompiler, better for extensions
+ if [ "X`echo | ${cc} -no-cpp-precomp -E - 2>&1 >/dev/null`" = "X" ]; then
+-    cppflags="${cppflags} -no-cpp-precomp"
+-
+     # This is necessary because perl's build system doesn't
+     # apply cppflags to cc compile lines as it should.
+     ccflags="${ccflags} ${cppflags}"

Copied: trunk/dports/lang/perl5.20/files/clean-up-paths.patch (from rev 131318, trunk/dports/lang/perl5.16/files/clean-up-paths.patch)
===================================================================
--- trunk/dports/lang/perl5.20/files/clean-up-paths.patch	                        (rev 0)
+++ trunk/dports/lang/perl5.20/files/clean-up-paths.patch	2015-01-09 19:46:23 UTC (rev 131323)
@@ -0,0 +1,39 @@
+Index: Configure
+===================================================================
+--- Configure.orig
++++ Configure
+@@ -106,8 +106,8 @@ if test -d c:/. || ( uname -a | grep -i 
+ fi
+ 
+ : Proper PATH setting
+-paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
+-paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
++paths='/bin /usr/bin /usr/ucb /usr/lbin'
++paths="$paths /opt/bin __PREFIX__/bin __PREFIX__ /opt/lbin"
+ paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
+ paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
+ paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
+@@ -1337,7 +1337,7 @@ archobjs=''
+ archname=''
+ : Possible local include directories to search.
+ : Set locincpth to "" in a hint file to defeat local include searches.
+-locincpth="/usr/local/include /opt/local/include /usr/gnu/include"
++locincpth="__PREFIX__/include /usr/gnu/include"
+ locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
+ :
+ : no include file wanted by default
+@@ -1351,12 +1351,12 @@ libnames=''
+ : change the next line if compiling for Xenix/286 on Xenix/386
+ xlibpth='/usr/lib/386 /lib/386'
+ : Possible local library directories to search.
+-loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
++loclibpth="__PREFIX__/lib /usr/gnu/lib"
+ loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
+ 
+ : general looking path for locating libraries
+ glibpth="/lib /usr/lib $xlibpth"
+-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
++glibpth="$glibpth /usr/ccs/lib /usr/ucblib"
+ test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
+ test -f /shlib/libc.so     && glibpth="/shlib $glibpth"
+ test -d /usr/lib64         && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"

Copied: trunk/dports/lang/perl5.20/files/fix-ld-modification.patch (from rev 131322, trunk/dports/lang/perl5.16/files/fix-ld-modification.patch)
===================================================================
--- trunk/dports/lang/perl5.20/files/fix-ld-modification.patch	                        (rev 0)
+++ trunk/dports/lang/perl5.20/files/fix-ld-modification.patch	2015-01-09 19:46:23 UTC (rev 131323)
@@ -0,0 +1,13 @@
+Index: hints/darwin.sh
+===================================================================
+--- hints/darwin.sh.orig
++++ hints/darwin.sh
+@@ -186,7 +186,7 @@ case "$osvers" in
+ *) 
+    lddlflags="${ldflags} -bundle -undefined dynamic_lookup"
+    case "$ld" in
+-       *MACOSX_DEVELOPMENT_TARGET*) ;;
++       *MACOSX_DEPLOYMENT_TARGET*) ;;
+        *) ld="env MACOSX_DEPLOYMENT_TARGET=10.3 ${ld}" ;;
+    esac
+    ;;

Copied: trunk/dports/lang/perl5.20/files/fix-miniperl-linking-PR36438.patch (from rev 131318, trunk/dports/lang/perl5.16/files/fix-miniperl-linking-PR36438.patch)
===================================================================
--- trunk/dports/lang/perl5.20/files/fix-miniperl-linking-PR36438.patch	                        (rev 0)
+++ trunk/dports/lang/perl5.20/files/fix-miniperl-linking-PR36438.patch	2015-01-09 19:46:23 UTC (rev 131323)
@@ -0,0 +1,14 @@
+Index: Makefile.SH
+===================================================================
+--- Makefile.SH.orig
++++ Makefile.SH
+@@ -914,7 +914,8 @@ NAMESPACEFLAGS = -force_flat_namespace
+ 		$spitshell >>$Makefile <<'!NO!SUBS!'
+ lib/buildcustomize.pl: $& $(mini_obj) write_buildcustomize.pl
+ 	- at rm -f miniperl.xok
+-	$(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \
++	unset LIBRARY_PATH && \
++	$(CC) $(subst -L__PREFIX__/lib,,$(CLDFLAGS)) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \
+ 	    $(mini_obj) $(libs)
+ 	$(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl.  Please run make minitest; exit 1'
+ 	$(MINIPERL) -f write_buildcustomize.pl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150109/369bd14b/attachment.html>


More information about the macports-changes mailing list