diff options
author | Mathieu Arnold <mat@FreeBSD.org> | 2015-09-14 12:19:48 +0000 |
---|---|---|
committer | Mathieu Arnold <mat@FreeBSD.org> | 2015-09-14 12:19:48 +0000 |
commit | afae652a2a20e0b0caa335e766dff03094773e1f (patch) | |
tree | b5c267ca5490c7e06b5fe235a5d442d93eac880d /lang/perl5.22/Makefile | |
parent | 5a735b9d085e581f8b876095c25db79a9bc533dd (diff) |
Notes
Diffstat (limited to 'lang/perl5.22/Makefile')
-rw-r--r-- | lang/perl5.22/Makefile | 84 |
1 files changed, 62 insertions, 22 deletions
diff --git a/lang/perl5.22/Makefile b/lang/perl5.22/Makefile index b130183931e7..b7eb3e827ef8 100644 --- a/lang/perl5.22/Makefile +++ b/lang/perl5.22/Makefile @@ -3,7 +3,7 @@ PORTNAME= perl DISTVERSION= ${PERL_VERSION} -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= lang devel perl5 MASTER_SITES= CPAN/../../src/5.0 CPAN/../by-authors/id/R/RJ/RJBS DIST_SUBDIR= perl @@ -16,8 +16,6 @@ LICENSE_COMB= dual LICENSE_FILE_ART10= ${WRKSRC}/Artistic LICENSE_FILE_GPLv1= ${WRKSRC}/Copying -CONFLICTS_INSTALL= perl5.*-* - OPTIONS_DEFINE= DEBUG GDBM PERL_64BITINT PTHREAD \ MULTIPLICITY SITECUSTOMIZE # it seems perl malloc has problems with threaded perl on FreeBSD @@ -59,9 +57,11 @@ 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_PREFIX= ${SITE_PERL_REL} -SITE_MAN3_REL?= ${SITE_MAN3_PREFIX}/man/man3 +SITE_MAN_PREFIX= ${SITE_PERL_REL} +SITE_MAN3_REL?= ${SITE_MAN_PREFIX}/man/man3 SITE_MAN3?= ${PREFIX}/${SITE_MAN3_REL} +SITE_MAN1_REL?= ${SITE_MAN_PREFIX}/man/man1 +SITE_MAN1?= ${PREFIX}/${SITE_MAN1_REL} _PRIV_LIB= lib/perl5/${PERL_VER} _ARCH_LIB= ${_PRIV_LIB}/${PERL_ARCH} @@ -74,12 +74,12 @@ CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \ -Dlibperl=libperl.so.${PERL_VERSION} \ -Darchlib=${PREFIX}/${_ARCH_LIB} \ -Dprivlib=${PREFIX}/${_PRIV_LIB} \ - -Dman3dir=${PREFIX}/${MAN3PREFIX_REL}/man/man3 \ - -Dman1dir=${PREFIX}/man/man1 \ + -Dman3dir=${PREFIX}/${PERLMANPREFIX_REL}/man/man3 \ + -Dman1dir=${PREFIX}/${PERLMANPREFIX_REL}/man/man1 \ -Dsitearch=${SITE_ARCH} \ -Dsitelib=${SITE_PERL} -Dscriptdir=${PREFIX}/bin \ -Dsiteman3dir=${SITE_MAN3} \ - -Dsiteman1dir=${PREFIX}/man/man1 \ + -Dsiteman1dir=${SITE_MAN1} \ -Ui_malloc -Ui_iconv -Uinstallusrbinperl -Dusenm=n \ -Dcc="${CC}" -Duseshrplib -Dinc_version_list=none \ -Dcf_by=${MAINTAINER:C,@.*,,} -Dcf_email=${MAINTAINER} \ @@ -101,11 +101,11 @@ SUB_LIST+= PERL_VERSION=${PERL_VERSION} \ PERL_VER=${PERL_VER} \ SITE_PERL=${SITE_PERL_REL} \ PRIV_LIB=${_PRIV_LIB} \ - MAN3PREFIX=${MAN3PREFIX_REL} \ - SITEMAN3PREFIX=${SITE_MAN3_PREFIX} \ + PERLMANPREFIX=${PERLMANPREFIX_REL} \ + SITEMANPREFIX=${SITE_MAN_PREFIX} \ PERL_ARCH=${PERL_ARCH} -SUB_FILES= perl5_version perl-man.conf +SUB_FILES= perl-man.conf INSTALL_TARGET= install-strip @@ -127,32 +127,68 @@ CONFIGURE_ARGS+= \ -Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=${PERLIOBUF_DEFAULT_BUFSIZ} .endif -MAN3PREFIX_REL= ${_PRIV_LIB}/perl -MAN3PREFIX= ${PREFIX}/${MAN3PREFIX_REL} -MANDIRS+= ${MAN3PREFIX}/man +PERLMANPREFIX_REL= ${_PRIV_LIB}/perl +PERLMANPREFIX= ${PREFIX}/${PERLMANPREFIX_REL} +MANDIRS+= ${PERLMANPREFIX}/man PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \ PERL_VER=${PERL_VER} \ PERL_ARCH=${PERL_ARCH} \ - MAN3=${MAN3PREFIX_REL}/man/man3 \ - MAN3PREFIX=${MAN3PREFIX_REL} \ - SITEMAN3PREFIX=${SITE_MAN3_PREFIX} \ + MAN1=${PERLMANPREFIX_REL}/man/man1 \ + MAN3=${PERLMANPREFIX_REL}/man/man3 \ + PERLMANPREFIX=${PERLMANPREFIX_REL} \ + SITEMANPREFIX=${SITE_MAN_PREFIX} \ SITE_PERL=${SITE_PERL_REL} \ SITE_ARCH=${SITE_ARCH_REL} \ PRIV_LIB=${_PRIV_LIB} \ ARCH_LIB=${_ARCH_LIB} +# 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> .include "${.CURDIR}/../../Mk/bsd.default-versions.mk" # if this port is default due PERL5_DEFAULT # change PKGNAME to reflect this .if ${PERL_VER} == ${PERL5_DEFAULT} PKGNAMESUFFIX= 5 +IAMDEFAULTPERL= yes .else # make PKGNAME unique among other lang/perl5.x PKGNAMESUFFIX= ${PERL_VER} -# always add default perl5 pkgname to conflicts -CONFLICTS_INSTALL+= perl5-* +.endif + +# Am I building the default Perl ? +.if defined(IAMDEFAULTPERL) +PLIST_SUB+= DEFAULT="" BINSUFFIX="" +.else +BINSUFFIX= ${PERL_VERSION} +PLIST_SUB+= DEFAULT="@comment " BINSUFFIX=${PERL_VERSION} +CONFIGURE_ARGS+=-Dversiononly +.endif + +.if !defined(IAMDEFAULTPERL) +pre-everything:: + @${ECHO_MSG} "##################################################" + @${ECHO_MSG} "" + @${ECHO_MSG} " This is *NOT* the DEFAULT perl version" + @${ECHO_MSG} "" + @${ECHO_MSG} "It will *NOT* install ${PREFIX}/bin/perl" + @${ECHO_MSG} "" + @${ECHO_MSG} "It will *ONLY* install ${PREFIX}/bin/perl${PERL_VERSION}" + @${ECHO_MSG} "" + @${ECHO_MSG} "The default Perl version currently is ${PERL5_DEFAULT}." + @${ECHO_MSG} "" + @${ECHO_MSG} "If you want to use this version as the default," + @${ECHO_MSG} "stop the build now, add this line to your" + @${ECHO_MSG} "/etc/make.conf, and then restart the build." + @${ECHO_MSG} "" + @${ECHO_MSG} "DEFAULT_VERSIONS+=perl5=${PERL_VER}" + @${ECHO_MSG} "" + @${ECHO_MSG} "##################################################" +. if !(defined(PACKAGE_BUILDING) || defined(BATCH)) + @sleep 30 +. endif .endif # Put a symlink to the future libperl.so.x.yy so that -lperl works. @@ -165,6 +201,11 @@ post-extract: post-patch: ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ ${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh +.if !defined(IAMDEFAULTPERL) + ${REINPLACE_CMD} -e '/do_installprivlib = 0 if .versiononly/d; \ + /^if.*nopods.*versiononly || /s/.*/if (1) {/' \ + ${WRKSRC}/installperl +.endif post-patch-PTHREAD-on: ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|-lpthread|g;' \ ${WRKSRC}/hints/freebsd.sh @@ -174,20 +215,19 @@ post-patch-PTHREAD-off: .endif post-install: - ${MKDIR} ${STAGEDIR}${SITE_MAN3} + ${MKDIR} ${STAGEDIR}${SITE_MAN1} ${STAGEDIR}${SITE_MAN3} ${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto ${MKDIR} ${STAGEDIR}${SITE_PERL}/auto ${LN} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION} ${STAGEDIR}${PREFIX}/bin/perl5 ${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so ${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so.${PERL_VER} ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION} - ${INSTALL_DATA} ${WRKDIR}/perl5_version ${STAGEDIR}${PREFIX}/etc ${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 && ${SETENV} LD_LIBRARY_PATH=${WRKSRC} \ - ${WRKSRC}/perl -I ${WRKSRC}/lib ${STAGEDIR}${PREFIX}/bin/h2ph \ + ${WRKSRC}/perl -I ${WRKSRC}/lib ${STAGEDIR}${PREFIX}/bin/h2ph${BINSUFFIX} \ -d ${STAGEDIR}${SITE_ARCH} *.h machine/*.h sys/*.h >/dev/null) @${FIND} ${STAGEDIR}${SITE_ARCH} -name '*.ph' | sed -e 's|${STAGEDIR}||' >> ${TMPPLIST} ${FIND} ${STAGEDIR} -name '*.so*' -type f | while read f; \ |