diff options
author | Mathieu Arnold <mat@FreeBSD.org> | 2014-11-26 13:08:24 +0000 |
---|---|---|
committer | Mathieu Arnold <mat@FreeBSD.org> | 2014-11-26 13:08:24 +0000 |
commit | eee58d187e2c55fca6f53b9e482d33cf5346fe81 (patch) | |
tree | 0d350fe6ad6a2fe3222d838f3c72856c78cd449f /lang/perl5.14/Makefile | |
parent | 3f1df82a16a1e89db9a69b36ade7342f34095ab4 (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/Makefile | 43 |
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 |