Changeset View
Changeset View
Standalone View
Standalone View
lang/perl5.22/Makefile
# Created by: mat | # Created by: mat | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= perl | PORTNAME= perl | ||||
DISTVERSION= ${PERL_VERSION} | DISTVERSION= ${PERL_VERSION} | ||||
PORTREVISION= 2 | PORTREVISION= 3 | ||||
CATEGORIES= lang devel perl5 | CATEGORIES= lang devel perl5 | ||||
MASTER_SITES= CPAN/../../src/5.0 CPAN/../by-authors/id/R/RJ/RJBS | MASTER_SITES= CPAN/../../src/5.0 CPAN/../by-authors/id/R/RJ/RJBS | ||||
DIST_SUBDIR= perl | DIST_SUBDIR= perl | ||||
MAINTAINER= perl@FreeBSD.org | MAINTAINER= perl@FreeBSD.org | ||||
COMMENT= Practical Extraction and Report Language | COMMENT= Practical Extraction and Report Language | ||||
LICENSE= ART10 GPLv1 | LICENSE= ART10 GPLv1 | ||||
LICENSE_COMB= dual | LICENSE_COMB= dual | ||||
LICENSE_FILE_ART10= ${WRKSRC}/Artistic | LICENSE_FILE_ART10= ${WRKSRC}/Artistic | ||||
LICENSE_FILE_GPLv1= ${WRKSRC}/Copying | LICENSE_FILE_GPLv1= ${WRKSRC}/Copying | ||||
CONFLICTS_INSTALL= perl5.*-* | |||||
OPTIONS_DEFINE= DEBUG GDBM PERL_64BITINT PTHREAD \ | OPTIONS_DEFINE= DEBUG GDBM PERL_64BITINT PTHREAD \ | ||||
MULTIPLICITY SITECUSTOMIZE | MULTIPLICITY SITECUSTOMIZE | ||||
# it seems perl malloc has problems with threaded perl on FreeBSD | # it seems perl malloc has problems with threaded perl on FreeBSD | ||||
OPTIONS_RADIO= EXCLUSIVE | OPTIONS_RADIO= EXCLUSIVE | ||||
OPTIONS_RADIO_EXCLUSIVE= THREADS PERL_MALLOC | OPTIONS_RADIO_EXCLUSIVE= THREADS PERL_MALLOC | ||||
OPTIONS_DEFAULT= PERL_64BITINT THREADS PTHREAD MULTIPLICITY | OPTIONS_DEFAULT= PERL_64BITINT THREADS PTHREAD MULTIPLICITY | ||||
EXCLUSIVE_DESC= Exclusive OPTIONS | EXCLUSIVE_DESC= Exclusive OPTIONS | ||||
Show All 40 Lines | |||||
USES= cpe tar:xz | USES= cpe tar:xz | ||||
HAS_CONFIGURE= yes | HAS_CONFIGURE= yes | ||||
CONFIGURE_SCRIPT=Configure | CONFIGURE_SCRIPT=Configure | ||||
CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \ | CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \ | ||||
-Dlibperl=libperl.so.${PERL_VERSION} \ | -Dlibperl=libperl.so.${PERL_VERSION} \ | ||||
-Darchlib=${PREFIX}/${_ARCH_LIB} \ | -Darchlib=${PREFIX}/${_ARCH_LIB} \ | ||||
-Dprivlib=${PREFIX}/${_PRIV_LIB} \ | -Dprivlib=${PREFIX}/${_PRIV_LIB} \ | ||||
-Dman3dir=${PREFIX}/${MAN3PREFIX_REL}/man/man3 \ | -Dman3dir=${PREFIX}/${PERLMANPREFIX_REL}/man/man3 \ | ||||
-Dman1dir=${PREFIX}/man/man1 \ | -Dman1dir=${PREFIX}/${PERLMANPREFIX_REL}/man/man1 \ | ||||
-Dsitearch=${SITE_ARCH} \ | -Dsitearch=${SITE_ARCH} \ | ||||
-Dsitelib=${SITE_PERL} -Dscriptdir=${PREFIX}/bin \ | -Dsitelib=${SITE_PERL} -Dscriptdir=${PREFIX}/bin \ | ||||
-Dsiteman3dir=${SITE_MAN3} \ | -Dsiteman3dir=${SITE_MAN3} \ | ||||
-Dsiteman1dir=${PREFIX}/man/man1 \ | -Dsiteman1dir=${PREFIX}/man/man1 \ | ||||
-Ui_malloc -Ui_iconv -Uinstallusrbinperl -Dusenm=n \ | -Ui_malloc -Ui_iconv -Uinstallusrbinperl -Dusenm=n \ | ||||
-Dcc="${CC}" -Duseshrplib -Dinc_version_list=none \ | -Dcc="${CC}" -Duseshrplib -Dinc_version_list=none \ | ||||
-Dcf_by=${MAINTAINER:C,@.*,,} -Dcf_email=${MAINTAINER} \ | -Dcf_by=${MAINTAINER:C,@.*,,} -Dcf_email=${MAINTAINER} \ | ||||
-Dcf_time="`env LANG=C ${STAT} -t \"%a %b %d %T %Z %Y\" -f %Sm ${_DISTDIR}/${DISTNAME}${EXTRACT_SUFX}`" | -Dcf_time="`env LANG=C ${STAT} -t \"%a %b %d %T %Z %Y\" -f %Sm ${_DISTDIR}/${DISTNAME}${EXTRACT_SUFX}`" | ||||
Show All 9 Lines | LOCALE_CLEANUP= LANG="" LC_ALL="" LC_COLLATE="" LC_CTYPE="" \ | ||||
LC_TIME="" | LC_TIME="" | ||||
CONFIGURE_ENV+= ${LOCALE_CLEANUP} UNAME_v="$$(uname -v | sed 'y/=/ /')" | CONFIGURE_ENV+= ${LOCALE_CLEANUP} UNAME_v="$$(uname -v | sed 'y/=/ /')" | ||||
MAKE_ENV+= ${LOCALE_CLEANUP} | MAKE_ENV+= ${LOCALE_CLEANUP} | ||||
SUB_LIST+= PERL_VERSION=${PERL_VERSION} \ | SUB_LIST+= PERL_VERSION=${PERL_VERSION} \ | ||||
PERL_VER=${PERL_VER} \ | PERL_VER=${PERL_VER} \ | ||||
SITE_PERL=${SITE_PERL_REL} \ | SITE_PERL=${SITE_PERL_REL} \ | ||||
PRIV_LIB=${_PRIV_LIB} \ | PRIV_LIB=${_PRIV_LIB} \ | ||||
MAN3PREFIX=${MAN3PREFIX_REL} \ | PERLMANPREFIX=${PERLMANPREFIX_REL} \ | ||||
SITEMAN3PREFIX=${SITE_MAN3_PREFIX} \ | SITEMAN3PREFIX=${SITE_MAN3_PREFIX} \ | ||||
PERL_ARCH=${PERL_ARCH} | PERL_ARCH=${PERL_ARCH} | ||||
SUB_FILES= perl5_version perl-man.conf | SUB_FILES= perl-man.conf | ||||
INSTALL_TARGET= install-strip | INSTALL_TARGET= install-strip | ||||
.if defined(PERL_VENDOR_PREFIX) | .if defined(PERL_VENDOR_PREFIX) | ||||
CONFIGURE_ARGS+= \ | CONFIGURE_ARGS+= \ | ||||
-Dvendorprefix=${PERL_VENDOR_PREFIX} \ | -Dvendorprefix=${PERL_VENDOR_PREFIX} \ | ||||
-Dvendorarch=${PERL_VENDOR_PREFIX}/${_ARCH_LIB} \ | -Dvendorarch=${PERL_VENDOR_PREFIX}/${_ARCH_LIB} \ | ||||
-Dvendorbin=${PERL_VENDOR_PREFIX}/bin \ | -Dvendorbin=${PERL_VENDOR_PREFIX}/bin \ | ||||
-Dvendorlib=${PERL_VENDOR_PREFIX}/${_PRIV_LIB} \ | -Dvendorlib=${PERL_VENDOR_PREFIX}/${_PRIV_LIB} \ | ||||
-Dvendorman3dir=${PERL_VENDOR_PREFIX}/${_PRIV_LIB}/man/man3 \ | -Dvendorman3dir=${PERL_VENDOR_PREFIX}/${_PRIV_LIB}/man/man3 \ | ||||
-Dvendorman1dir=${PERL_VENDOR_PREFIX}/man/man1 | -Dvendorman1dir=${PERL_VENDOR_PREFIX}/man/man1 | ||||
.endif | .endif | ||||
# http://perl5.git.perl.org/perl.git/commit/b83080de5c4254 | # http://perl5.git.perl.org/perl.git/commit/b83080de5c4254 | ||||
# PERLIOBUF_DEFAULT_BUFSIZ size in bytes (default: 8192 bytes) | # PERLIOBUF_DEFAULT_BUFSIZ size in bytes (default: 8192 bytes) | ||||
.if defined(PERLIOBUF_DEFAULT_BUFSIZ) | .if defined(PERLIOBUF_DEFAULT_BUFSIZ) | ||||
CONFIGURE_ARGS+= \ | CONFIGURE_ARGS+= \ | ||||
-Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=${PERLIOBUF_DEFAULT_BUFSIZ} | -Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=${PERLIOBUF_DEFAULT_BUFSIZ} | ||||
.endif | .endif | ||||
MAN3PREFIX_REL= ${_PRIV_LIB}/perl | PERLMANPREFIX_REL= ${_PRIV_LIB}/perl | ||||
MAN3PREFIX= ${PREFIX}/${MAN3PREFIX_REL} | PERLMANPREFIX= ${PREFIX}/${PERLMANPREFIX_REL} | ||||
MANDIRS+= ${MAN3PREFIX}/man | MANDIRS+= ${PERLMANPREFIX}/man | ||||
PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \ | PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \ | ||||
PERL_VER=${PERL_VER} \ | PERL_VER=${PERL_VER} \ | ||||
PERL_ARCH=${PERL_ARCH} \ | PERL_ARCH=${PERL_ARCH} \ | ||||
MAN3=${MAN3PREFIX_REL}/man/man3 \ | MAN1=${PERLMANPREFIX_REL}/man/man1 \ | ||||
MAN3PREFIX=${MAN3PREFIX_REL} \ | MAN3=${PERLMANPREFIX_REL}/man/man3 \ | ||||
PERLMANPREFIX=${PERLMANPREFIX_REL} \ | |||||
SITEMAN3PREFIX=${SITE_MAN3_PREFIX} \ | SITEMAN3PREFIX=${SITE_MAN3_PREFIX} \ | ||||
SITE_PERL=${SITE_PERL_REL} \ | SITE_PERL=${SITE_PERL_REL} \ | ||||
SITE_ARCH=${SITE_ARCH_REL} \ | SITE_ARCH=${SITE_ARCH_REL} \ | ||||
PRIV_LIB=${_PRIV_LIB} \ | PRIV_LIB=${_PRIV_LIB} \ | ||||
ARCH_LIB=${_ARCH_LIB} | ARCH_LIB=${_ARCH_LIB} | ||||
.include "${.CURDIR}/../../Mk/bsd.default-versions.mk" | .include "${.CURDIR}/../../Mk/bsd.default-versions.mk" | ||||
# if this port is default due PERL5_DEFAULT | # if this port is default due PERL5_DEFAULT | ||||
# change PKGNAME to reflect this | # change PKGNAME to reflect this | ||||
.if ${PERL_VER} == ${PERL5_DEFAULT} | .if ${PERL_VER} == ${PERL5_DEFAULT} | ||||
PKGNAMESUFFIX= 5 | PKGNAMESUFFIX= 5 | ||||
IAMDEFAULTPERL= yes | |||||
.else | .else | ||||
# make PKGNAME unique among other lang/perl5.x | # make PKGNAME unique among other lang/perl5.x | ||||
PKGNAMESUFFIX= ${PERL_VER} | PKGNAMESUFFIX= ${PERL_VER} | ||||
# always add default perl5 pkgname to conflicts | |||||
CONFLICTS_INSTALL+= perl5-* | |||||
.endif | .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. | # Put a symlink to the future libperl.so.x.yy so that -lperl works. | ||||
post-extract: | post-extract: | ||||
${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so | ${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so | ||||
${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER} | ${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER} | ||||
.if !defined(MAKING_PATCHES) | .if !defined(MAKING_PATCHES) | ||||
# make clean patch makepatch MAKING_PATCHES= | # make clean patch makepatch MAKING_PATCHES= | ||||
post-patch: | post-patch: | ||||
${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ | ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ | ||||
${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh | ${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: | post-patch-PTHREAD-on: | ||||
${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|-lpthread|g;' \ | ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|-lpthread|g;' \ | ||||
${WRKSRC}/hints/freebsd.sh | ${WRKSRC}/hints/freebsd.sh | ||||
post-patch-PTHREAD-off: | post-patch-PTHREAD-off: | ||||
${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%||g;' \ | ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%||g;' \ | ||||
${WRKSRC}/hints/freebsd.sh | ${WRKSRC}/hints/freebsd.sh | ||||
.endif | .endif | ||||
post-install: | post-install: | ||||
${MKDIR} ${STAGEDIR}${SITE_MAN3} | ${MKDIR} ${STAGEDIR}${SITE_MAN3} | ||||
${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto | ${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto | ||||
${MKDIR} ${STAGEDIR}${SITE_PERL}/auto | ${MKDIR} ${STAGEDIR}${SITE_PERL}/auto | ||||
${LN} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION} ${STAGEDIR}${PREFIX}/bin/perl5 | ${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 | ||||
${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so.${PERL_VER} | ${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so.${PERL_VER} | ||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION} | ${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}/machine | ||||
${MKDIR} ${STAGEDIR}${SITE_ARCH}/sys | ${MKDIR} ${STAGEDIR}${SITE_ARCH}/sys | ||||
# h2ph needs perl, but perl is not installed, it's only | # h2ph needs perl, but perl is not installed, it's only | ||||
# staged, so, use the one in WRKDIR | # staged, so, use the one in WRKDIR | ||||
(cd /usr/include && ${SETENV} LD_LIBRARY_PATH=${WRKSRC} \ | (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) | -d ${STAGEDIR}${SITE_ARCH} *.h machine/*.h sys/*.h >/dev/null) | ||||
@${FIND} ${STAGEDIR}${SITE_ARCH} -name '*.ph' | sed -e 's|${STAGEDIR}||' >> ${TMPPLIST} | @${FIND} ${STAGEDIR}${SITE_ARCH} -name '*.ph' | sed -e 's|${STAGEDIR}||' >> ${TMPPLIST} | ||||
${FIND} ${STAGEDIR} -name '*.so*' -type f | while read f; \ | ${FIND} ${STAGEDIR} -name '*.so*' -type f | while read f; \ | ||||
do \ | do \ | ||||
${CHMOD} 644 $$f; \ | ${CHMOD} 644 $$f; \ | ||||
${STRIP_CMD} $$f; \ | ${STRIP_CMD} $$f; \ | ||||
${CHMOD} 444 $$f; \ | ${CHMOD} 444 $$f; \ | ||||
done | done | ||||
${INSTALL_DATA} ${WRKDIR}/perl-man.conf ${STAGEDIR}${PREFIX}/etc/man.d/perl${PERL_VER}.conf | ${INSTALL_DATA} ${WRKDIR}/perl-man.conf ${STAGEDIR}${PREFIX}/etc/man.d/perl${PERL_VER}.conf | ||||
test: build | test: build | ||||
(cd ${WRKSRC}; TEST_JOBS=${MAKE_JOBS_NUMBER} make test_harness) | (cd ${WRKSRC}; TEST_JOBS=${MAKE_JOBS_NUMBER} make test_harness) | ||||
regression-test: test | regression-test: test | ||||
.include <bsd.port.mk> | .include <bsd.port.mk> |