aboutsummaryrefslogtreecommitdiffstats
path: root/lang/perl5.20
diff options
context:
space:
mode:
authormat <mat@FreeBSD.org>2014-12-25 01:14:11 +0800
committermat <mat@FreeBSD.org>2014-12-25 01:14:11 +0800
commit2d897f1d2fef21f0040b748d04610d9ecbf00d1d (patch)
tree71bad33333de5f7fe89f0b3649a286e8dc8b09a4 /lang/perl5.20
parent72c2b420a28ca49d106360b08c428d2a811693d2 (diff)
downloadfreebsd-ports-graphics-2d897f1d2fef21f0040b748d04610d9ecbf00d1d.tar.gz
freebsd-ports-graphics-2d897f1d2fef21f0040b748d04610d9ecbf00d1d.tar.zst
freebsd-ports-graphics-2d897f1d2fef21f0040b748d04610d9ecbf00d1d.zip
Use a less kludgy way for handling libperl.so's versionning and linking.
Sponsored by: Absolight
Diffstat (limited to 'lang/perl5.20')
-rw-r--r--lang/perl5.20/Makefile11
-rw-r--r--lang/perl5.20/files/patch-Makefile.SH17
2 files changed, 14 insertions, 14 deletions
diff --git a/lang/perl5.20/Makefile b/lang/perl5.20/Makefile
index bc843c72dd5..8d20d9e196c 100644
--- a/lang/perl5.20/Makefile
+++ b/lang/perl5.20/Makefile
@@ -85,6 +85,12 @@ CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \
-Dsiteman1dir=${PREFIX}/man/man1 \
-Ui_malloc -Ui_iconv -Uinstallusrbinperl -Dusenm=n \
-Dcc="${CC}" -Duseshrplib -Dinc_version_list=none
+# Keep the following two in sync.
+# lddlflags is used for all .so linking
+# shrpldflags is used for libperl.so, so remove all the extra bits inherited from lddlflags.
+CONFIGURE_ARGS+= \
+ -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE -lperl' \
+ -Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL:R)'
# When upgrading to 5.22+ remove this.
CONFIGURE_ARGS+= \
-Dotherlibdirs=${PREFIX}/lib/perl5/site_perl/${PERL_VER}:${PREFIX}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}
@@ -178,11 +184,6 @@ post-extract:
post-patch:
${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
- # Keep the following two sync'ed
- ${REINPLACE_CMD} -e 's|lddlflags="-shared "|lddlflags="-shared -L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE -lperl "|' \
- ${WRKSRC}/hints/freebsd.sh
- ${REINPLACE_CMD} -e 's|%%HOLDER%%|:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE:N-lperl|' \
- ${WRKSRC}/Makefile.SH
.if ${PORT_OPTIONS:MPTHREAD}
${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g;' \
-e 's|%%PTHREAD_CFLAGS%%|${PTHREAD_CFLAGS}|g;' \
diff --git a/lang/perl5.20/files/patch-Makefile.SH b/lang/perl5.20/files/patch-Makefile.SH
index 0b16689eda3..ee625db7951 100644
--- a/lang/perl5.20/files/patch-Makefile.SH
+++ b/lang/perl5.20/files/patch-Makefile.SH
@@ -1,11 +1,10 @@
--- Makefile.SH.orig 2014-09-14 11:30:59 UTC
+++ Makefile.SH
-@@ -838,7 +838,7 @@ $(LIBPERL): $& $(obj) $(DYNALOADER) $(LI
- true)
- $spitshell >>$Makefile <<'!NO!SUBS!'
- rm -f $@
-- $(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs)
-+ $(LD) -o $@ $(SHRPLDFLAGS%%HOLDER%%) -Wl,-soname,$(LIBPERL:R) $(obj) $(DYNALOADER) $(libs)
- !NO!SUBS!
- case "$osname" in
- aix)
+@@ -31,7 +31,6 @@ esac
+ pwd="`pwd`"
+ linklibperl='$(LIBPERL)'
+ linklibperl_nonshr=''
+-shrpldflags='$(LDDLFLAGS)'
+ ldlibpth=''
+ DPERL_EXTERNAL_GLOB='-DPERL_EXTERNAL_GLOB'
+ DPERL_IS_MINIPERL='-DPERL_IS_MINIPERL'