aboutsummaryrefslogtreecommitdiffstats
path: root/lang/perl5-devel/Makefile
diff options
context:
space:
mode:
authormat <mat@FreeBSD.org>2015-10-15 22:24:43 +0800
committermat <mat@FreeBSD.org>2015-10-15 22:24:43 +0800
commit961833bf7aaad347477fbf0d30f80b670dae0e7c (patch)
tree7526de09c3d74ec718e3dad1be5433d23132db82 /lang/perl5-devel/Makefile
parent06736708d42cb7a33667891e5c9281d97de0c172 (diff)
downloadfreebsd-ports-gnome-961833bf7aaad347477fbf0d30f80b670dae0e7c.tar.gz
freebsd-ports-gnome-961833bf7aaad347477fbf0d30f80b670dae0e7c.tar.zst
freebsd-ports-gnome-961833bf7aaad347477fbf0d30f80b670dae0e7c.zip
Try to fix upgrading a non default Perl version that is supposed to be
the default one. Sponsored by: Absolight Differential Revision: https://reviews.freebsd.org/D3704
Diffstat (limited to 'lang/perl5-devel/Makefile')
-rw-r--r--lang/perl5-devel/Makefile15
1 files changed, 15 insertions, 0 deletions
diff --git a/lang/perl5-devel/Makefile b/lang/perl5-devel/Makefile
index 44b48fc68a16..5b2ed524f99e 100644
--- a/lang/perl5-devel/Makefile
+++ b/lang/perl5-devel/Makefile
@@ -165,9 +165,12 @@ PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \
ARCH_LIB=${_ARCH_LIB}
PLIST_SUB+= PORTVERSION=${PORTVERSION} # XXX Remove
+_PERL5_DEFAULT_FILE= /tmp/PERL5_DEFAULT
+
# bsd.default-versions.mk needs to know LOCALBASE for Perl, so
# bsd.port.options.mk is needed before including it.
.include <bsd.port.options.mk>
+.sinclude "${_PERL5_DEFAULT_FILE}"
.include "${.CURDIR}/../../Mk/bsd.default-versions.mk"
# if this port is default due PERL5_DEFAULT
@@ -238,9 +241,21 @@ pre-everything::
.endif
# Put a symlink to the future libperl.so.x.yy so that -lperl works.
+# Also, save PERL5_DEFAULT in case someone is not using the default Perl
+# version whilst not having set DEFAULT_VERSIONS=perl5=blah. While upgrading,
+# portmaster/portupgrade will remove the installed Perl version, and it will
+# remove any way to guess what the default Perl version is needed.
post-extract:
${LN} -s libperl.so.${PORTVERSION} ${WRKSRC}/libperl.so
${LN} -s libperl.so.${PORTVERSION} ${WRKSRC}/libperl.so.${PERL_VER}
+.if !defined(PACKAGE_BUILDING)
+ @${ECHO_CMD} "PERL5_DEFAULT=${PERL5_DEFAULT}" > ${_PERL5_DEFAULT_FILE}
+.endif
+
+.if !defined(PACKAGE_BUILDING)
+post-clean:
+ @${RM} ${_PERL5_DEFAULT_FILE}
+.endif
.if !defined(MAKING_PATCHES)
# make clean patch makepatch MAKING_PATCHES=