aboutsummaryrefslogtreecommitdiff
path: root/lang/perl5.14/Makefile
diff options
context:
space:
mode:
authorMathieu Arnold <mat@FreeBSD.org>2014-11-26 13:08:24 +0000
committerMathieu Arnold <mat@FreeBSD.org>2014-11-26 13:08:24 +0000
commiteee58d187e2c55fca6f53b9e482d33cf5346fe81 (patch)
tree0d350fe6ad6a2fe3222d838f3c72856c78cd449f /lang/perl5.14/Makefile
parent3f1df82a16a1e89db9a69b36ade7342f34095ab4 (diff)
Change the way Perl modules are installed, update the default Perl to 5.18.
Before, we had: site_perl : lib/perl5/site_perl/5.18 site_perl/perl_arch : lib/perl5/site_perl/5.18/mach perl_man3 : lib/perl5/5.18/man/man3 Now we have: site_perl : lib/perl5/site_perl site_arch : lib/perl5/site_perl/mach/5.18 perl_man3 : lib/perl5/site_perl/man/man3 Modules without any .so will be installed at the same place regardless of the Perl version, minimizing the upgrade when the major Perl version is changed. It uses a version dependent directory for modules with compiled bits. As PERL_ARCH is no longer needed in plists, it has been removed from PLIST_SUB. The USE_PERL5=fixpacklist keyword is removed, the .packlist file is now always removed, as is perllocal.pod. The old site_perl and site_perl/arch directories have been kept in the default Perl @INC for all Perl ports, and will be phased out as these old Perl versions expire. PR: 194969 Differential Revision: https://reviews.freebsd.org/D1019 Exp-run by: antoine Reviewed by: perl@ Approved by: portmgr
Notes
Notes: svn path=/head/; revision=373448
Diffstat (limited to 'lang/perl5.14/Makefile')
-rw-r--r--lang/perl5.14/Makefile43
1 files changed, 29 insertions, 14 deletions
diff --git a/lang/perl5.14/Makefile b/lang/perl5.14/Makefile
index a712cc9e8ee3..fd5aefac443d 100644
--- a/lang/perl5.14/Makefile
+++ b/lang/perl5.14/Makefile
@@ -3,7 +3,7 @@
PORTNAME= perl
PORTVERSION= ${PERL_VERSION}
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= lang devel perl5
MASTER_SITES= CPAN \
${MASTER_SITE_LOCAL:S/$/:local/} \
@@ -43,8 +43,12 @@ PORTSCOUT= limit:^${PERL_VER}.
PERL_VERSION= 5.14.4
PERL_VER= ${PERL_VERSION:C/\.[0-9]+$//}
PERL_ARCH= mach
-SITE_PERL_REL?= lib/perl5/site_perl/${PERL_VER}
+SITE_PERL_REL?= lib/perl5/site_perl
SITE_PERL?= ${PREFIX}/${SITE_PERL_REL}
+SITE_ARCH_REL?= ${SITE_PERL_REL}/${PERL_ARCH}/${PERL_VER}
+SITE_ARCH?= ${PREFIX}/${SITE_ARCH_REL}
+SITE_MAN3_REL?= ${SITE_PERL_REL}/man/man3
+SITE_MAN3?= ${PREFIX}/${SITE_MAN3_REL}
USES= tar:bzip2 cpe
HAS_CONFIGURE= yes
@@ -52,12 +56,13 @@ CONFIGURE_SCRIPT=Configure
CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \
-Darchlib=${PREFIX}/lib/perl5/${PERL_VER}/${PERL_ARCH} \
-Dprivlib=${PREFIX}/lib/perl5/${PERL_VER} \
- -Dman3dir=${PREFIX}/lib/perl5/${PERL_VER}/perl/man/man3 \
+ -Dman3dir=${PREFIX}/${MAN3PREFIX_REL}/man/man3 \
-Dman1dir=${PREFIX}/man/man1 \
- -Dsitearch=${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH} \
- -Dsitelib=${PREFIX}/${SITE_PERL_REL} -Dscriptdir=${PREFIX}/bin \
- -Dsiteman3dir=${PREFIX}/lib/perl5/${PERL_VER}/man/man3 \
+ -Dsitearch=${SITE_ARCH} \
+ -Dsitelib=${SITE_PERL} -Dscriptdir=${PREFIX}/bin \
+ -Dsiteman3dir=${SITE_MAN3} \
-Dsiteman1dir=${PREFIX}/man/man1 \
+ -Dotherlibdirs=${PREFIX}/lib/perl5/site_perl/${PERL_VER}:${PREFIX}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH} \
-Ui_malloc -Ui_iconv -Uinstallusrbinperl \
-Dcc="${CC}" -Duseshrplib -Dinc_version_list=none \
-Dccflags=-DAPPLLIB_EXP=\"${BSDPAN_DEST}\"
@@ -75,6 +80,7 @@ SUB_FILES= perl5_version use.perl perl-man.conf
PKGINSTALL= ${WRKDIR}/use.perl
PKGDEINSTALL= ${WRKDIR}/use.perl
+INSTALL_TARGET= install-strip
.include <bsd.port.pre.mk>
.include "${PORTSDIR}/Mk/bsd.default-versions.mk"
@@ -107,14 +113,16 @@ CONFIGURE_ARGS+= \
-Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=${PERLIOBUF_DEFAULT_BUFSIZ}
.endif
-MAN3PREFIX= ${PREFIX}/lib/perl5/${PERL_VER}/perl
-MANDIRS+= ${MAN3PREFIX}
+MAN3PREFIX_REL= lib/perl5/${PERL_VER}
+MAN3PREFIX= ${PREFIX}/${MAN3PREFIX_REL}
+MANDIRS+= ${MAN3PREFIX}/man
PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \
PERL_VER=${PERL_VER} \
PERL_ARCH=${PERL_ARCH} \
- MAN3=${MAN3PREFIX:S|^${PREFIX}/||}/man/man3 \
- SITE_PERL=${SITE_PERL:S|^${PREFIX}/||}
+ MAN3=${MAN3PREFIX_REL}/man/man3 \
+ SITE_PERL=${SITE_PERL_REL} \
+ SITE_ARCH=${SITE_ARCH_REL}
.if ${PORT_OPTIONS:MDEBUG}
CONFIGURE_ARGS+= -Doptimize="-g" -DDEBUGGING
@@ -200,15 +208,22 @@ post-patch:
.endif
post-install:
- ${MKDIR} ${STAGEDIR}${PREFIX}/lib/perl5/${PERL_VER}/man/man3
- ${MKDIR} ${STAGEDIR}${SITE_PERL}/${PERL_ARCH}/auto
- ${MKDIR} ${STAGEDIR}${SITE_PERL}/${PERL_ARCH}/machine
- ${MKDIR} ${STAGEDIR}${SITE_PERL}/${PERL_ARCH}/sys
+ ${MKDIR} ${STAGEDIR}${SITE_MAN3}
+ ${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto
${MKDIR} ${STAGEDIR}${SITE_PERL}/auto
+ ${RM} ${STAGEDIR}${PREFIX}/lib/perl5/${PERL_VER}/${PERL_ARCH}/.packlist
${LN} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION} ${STAGEDIR}${PREFIX}/bin/perl5
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
${INSTALL_DATA} ${WRKDIR}/perl5_version ${STAGEDIR}${PREFIX}/etc
${FIND} ${STAGEDIR} -name '*.bs' -size 0 -delete
+ ${MKDIR} ${STAGEDIR}${SITE_ARCH}/machine
+ ${MKDIR} ${STAGEDIR}${SITE_ARCH}/sys
+ # h2ph needs perl, but perl is not installed, it's only
+ # staged, so, use the one in WRKDIR
+ (cd /usr/include && ${ENV} LD_LIBRARY_PATH=${WRKSRC} \
+ ${WRKSRC}/perl -I ${WRKSRC}/lib ${STAGEDIR}${PREFIX}/bin/h2ph \
+ -d ${STAGEDIR}${SITE_ARCH} *.h machine/*.h sys/*.h >/dev/null)
+ @${FIND} ${STAGEDIR}${SITE_ARCH} -name '*.ph' | sed -e 's|${STAGEDIR}||' >> ${TMPPLIST}
.if ${OSVERSION} >= 900022
${INSTALL_DATA} ${WRKDIR}/perl-man.conf ${STAGEDIR}${PREFIX}/etc/man.d/perl${PERL_VER}.conf
.endif