Index: head/lang/perl5.16/Makefile =================================================================== --- head/lang/perl5.16/Makefile (revision 383640) +++ head/lang/perl5.16/Makefile (revision 383641) @@ -1,253 +1,255 @@ # Created by: markm # $FreeBSD$ PORTNAME= perl PORTVERSION= ${PERL_VERSION} -PORTREVISION= 18 +PORTREVISION= 19 CATEGORIES= lang devel perl5 MASTER_SITES= CPAN MASTER_SITE_SUBDIR= ../../src DIST_SUBDIR= perl MAINTAINER= perl@FreeBSD.org COMMENT= Practical Extraction and Report Language LICENSE= ART10 GPLv1 LICENSE_COMB= dual LICENSE_FILE_ART10= ${WRKSRC}/Artistic LICENSE_FILE_GPLv1= ${WRKSRC}/Copying DEPRECATED= Unsupported, please upgrade to a more recent version of Perl EXPIRATION_DATE=2015-07-31 CONFLICTS_INSTALL= perl5.*-* OPTIONS_DEFINE= DEBUG GDBM PERL_MALLOC PERL_64BITINT THREADS PTHREAD \ MULTIPLICITY SITECUSTOMIZE USE_PERL OPTIONS_DEFAULT= PERL_64BITINT THREADS PTHREAD USE_PERL MULTIPLICITY OPTIONS_SUB= GDBM_DESC= GDBM_File extension PERL_MALLOC_DESC= Use Perl malloc PERL_64BITINT_DESC= Use 64 bit integers (on i386) THREADS_DESC= Build threaded perl PTHREAD_DESC= Build with -lpthread MULTIPLICITY_DESC= Use multiplicity SITECUSTOMIZE_DESC= Run-time customization of @INC USE_PERL_DESC= Rewrite links in /usr/bin PORTSCOUT= limit:^${PERL_VER}. # Remember to update Mk/Uses/perl5.mk too. PERL_VERSION= 5.16.3 PERL_VER= ${PERL_VERSION:C/\.[0-9]+$//} PERL_ARCH= mach 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_MAN3?= ${PREFIX}/${SITE_MAN3_REL} _PRIV_LIB= lib/perl5/${PERL_VER} _ARCH_LIB= ${_PRIV_LIB}/${PERL_ARCH} USES= tar:bzip2 cpe HAS_CONFIGURE= yes CONFIGURE_SCRIPT=Configure 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 \ -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 -Dusenm=n \ - -Dcc="${CC}" -Duseshrplib -Dinc_version_list=none + -Dcc="${CC}" -Duseshrplib -Dinc_version_list=none \ + -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}`" # Keep the following two in sync. # lddlflags is used for all .so linking # shrpldflags is used for libperl.so, so remove all the extra bits inherited from lddlflags. CONFIGURE_ARGS+= \ -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE -lperl' \ -Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL:R)' LOCALE_CLEANUP= LANG="" LC_ALL="" LC_COLLATE="" LC_CTYPE="" \ LC_MESSAGES="" LC_MONETARY="" LC_NUMERIC="" \ LC_TIME="" CONFIGURE_ENV+= ${LOCALE_CLEANUP} UNAME_v="$$(uname -v | sed 'y/=/ /')" MAKE_ENV+= ${LOCALE_CLEANUP} 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} \ PERL_ARCH=${PERL_ARCH} SUB_FILES= perl5_version use.perl perl-man.conf PKGINSTALL= ${WRKDIR}/use.perl PKGDEINSTALL= ${WRKDIR}/use.perl INSTALL_TARGET= install-strip .include .include "${PORTSDIR}/Mk/bsd.default-versions.mk" # if this port is default due PERL5_DEFAULT # change PKGNAME to reflect this .if ${PERL_VER} == ${PERL5_DEFAULT} PKGNAMESUFFIX= ${PERL_VERSION:C/\.[0-9]+\.[0-9]+$//} .else # make PKGNAME unique among other lang/perl5.x PKGNAMESUFFIX= ${PERL_VER} # always add default perl5 pkgname to conflicts CONFLICTS_INSTALL+= perl5-* .endif .if defined(PERL_VENDOR_PREFIX) CONFIGURE_ARGS+= \ -Dvendorprefix=${PERL_VENDOR_PREFIX} \ -Dvendorarch=${PERL_VENDOR_PREFIX}/${_ARCH_LIB} \ -Dvendorbin=${PERL_VENDOR_PREFIX}/bin \ -Dvendorlib=${PERL_VENDOR_PREFIX}/${_PRIV_LIB} \ -Dvendorman3dir=${PERL_VENDOR_PREFIX}/${_PRIV_LIB}/man/man3 \ -Dvendorman1dir=${PERL_VENDOR_PREFIX}/man/man1 .endif # http://perl5.git.perl.org/perl.git/commit/b83080de5c4254 # PERLIOBUF_DEFAULT_BUFSIZ size in bytes (default: 8192 bytes) .if defined(PERLIOBUF_DEFAULT_BUFSIZ) CONFIGURE_ARGS+= \ -Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=${PERLIOBUF_DEFAULT_BUFSIZ} .endif MAN3PREFIX_REL= ${_PRIV_LIB}/perl MAN3PREFIX= ${PREFIX}/${MAN3PREFIX_REL} MANDIRS+= ${MAN3PREFIX}/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} \ SITE_PERL=${SITE_PERL_REL} \ SITE_ARCH=${SITE_ARCH_REL} \ PRIV_LIB=${_PRIV_LIB} \ ARCH_LIB=${_ARCH_LIB} .if ${PORT_OPTIONS:MDEBUG} CONFIGURE_ARGS+= -Doptimize="-g" -DDEBUGGING STRIP= STRIP_CMD= ${TRUE} .else CONFIGURE_ARGS+= -Doptimize="${CFLAGS}" .endif .if ${PORT_OPTIONS:MGDBM} CONFIGURE_ARGS+= -Di_gdbm LIB_DEPENDS+= libgdbm.so:${PORTSDIR}/databases/gdbm .else CONFIGURE_ARGS+= -Ui_gdbm .endif .if ${OSVERSION} >= 900022 PLIST_SUB+= MANCONF="" .else PLIST_SUB+= MANCONF="@comment " .endif .if ${PORT_OPTIONS:MTHREADS} #XXX .if ${ARCH} == "amd64" #XXX IGNORE= Threaded perl does not pass tests on ${ARCH} #XXX .endif CONFIGURE_ARGS+= -Dusethreads=y WITH_PTHREAD= yes # it seems perl malloc has problems with threaded perl on FreeBSD PORT_OPTIONS:= ${PORT_OPTIONS:O:u} PORT_OPTIONS:= ${PORT_OPTIONS:NPERL_MALLOC} .else CONFIGURE_ARGS+= -Dusethreads=n .endif .if ${PORT_OPTIONS:MPERL_MALLOC} CONFIGURE_ARGS+= -Dusemymalloc=y .else CONFIGURE_ARGS+= -Dusemymalloc=n .endif .if ${PORT_OPTIONS:MPERL_64BITINT} CONFIGURE_ARGS+= -Duse64bitint .endif .if ${PORT_OPTIONS:MMULTIPLICITY} CONFIGURE_ARGS+= -Dusemultiplicity=y .else CONFIGURE_ARGS+= -Dusemultiplicity=n .endif .if ${PORT_OPTIONS:MSITECUSTOMIZE} CONFIGURE_ARGS+= -Dusesitecustomize .endif .if ${PORT_OPTIONS:MUSE_PERL} LINK_USRBIN= yes .else LINK_USRBIN= no .endif SUB_LIST+= LINK_USRBIN=${LINK_USRBIN} # Put a symlink to the future libperl.so.x.yy so that -lperl works. post-extract: ${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so ${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER} post-patch: ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ ${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh .if ${PORT_OPTIONS:MPTHREAD} ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|-lpthread|g;' \ ${WRKSRC}/hints/freebsd.sh .else ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%||g;' \ ${WRKSRC}/hints/freebsd.sh .endif post-install: ${MKDIR} ${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 ${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 && ${SETENV} 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} ${FIND} ${STAGEDIR} -name '*.so*' -type f | while read f; \ do \ ${CHMOD} 644 $$f; \ ${STRIP_CMD} $$f; \ ${CHMOD} 444 $$f; \ done .if ${OSVERSION} >= 900022 ${INSTALL_DATA} ${WRKDIR}/perl-man.conf ${STAGEDIR}${PREFIX}/etc/man.d/perl${PERL_VER}.conf .endif test: build (cd ${WRKSRC}; TEST_JOBS=${MAKE_JOBS_NUMBER} make test_harness) regression-test: test .include Index: head/lang/perl5.16/files/patch-Configure =================================================================== --- head/lang/perl5.16/files/patch-Configure (revision 383640) +++ head/lang/perl5.16/files/patch-Configure (revision 383641) @@ -1,21 +1,33 @@ ---- Configure.orig 2010-07-14 15:28:45.000000000 +0000 -+++ Configure 2010-07-14 15:29:23.000000000 +0000 -@@ -4798,7 +4798,7 @@ +--- Configure.orig 2013-03-04 15:16:21 UTC ++++ Configure +@@ -3625,7 +3625,10 @@ esac + . ./posthint.sh + + : who configured the system +-cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1` ++case "$cf_time" in ++"") ++ cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1` ;; ++esac + case "$cf_by" in + "") + cf_by=`(logname) 2>/dev/null` +@@ -4721,7 +4724,7 @@ esac libpth='' for xxx in $dlist do - if $test -d $xxx; then + if $test -d $xxx || [ $xxx = $prefix/lib ]; then case " $libpth " in *" $xxx "*) ;; *) libpth="$libpth $xxx";; -@@ -9125,8 +9125,7 @@ +@@ -9089,8 +9092,7 @@ prefixvar=siteman3dir : determine where add-on public executable scripts go case "$sitescript" in -'') dflt=$siteprefix/script - $test -d $dflt || dflt=$sitebin ;; +'') dflt=$sitebin ;; *) dflt="$sitescript" ;; esac fn=d~+ Index: head/lang/perl5.16/files/patch-cpan_podlators_lib_Pod_Man.pm =================================================================== --- head/lang/perl5.16/files/patch-cpan_podlators_lib_Pod_Man.pm (nonexistent) +++ head/lang/perl5.16/files/patch-cpan_podlators_lib_Pod_Man.pm (revision 383641) @@ -0,0 +1,94 @@ +--- cpan/podlators/lib/Pod/Man.pm.orig 2013-03-04 15:16:21 UTC ++++ cpan/podlators/lib/Pod/Man.pm +@@ -851,25 +851,42 @@ sub devise_title { + } + + # Determine the modification date and return that, properly formatted in ISO +-# format. If we can't get the modification date of the input, instead use the +-# current time. Pod::Simple returns a completely unuseful stringified file +-# handle as the source_filename for input from a file handle, so we have to +-# deal with that as well. ++# format. ++# ++# If POD_MAN_DATE is set, that overrides anything else. This can be used for ++# reproducible generation of the same file even if the input file timestamps ++# are unpredictable or the POD coms from standard input. ++# ++# Otherwise, use the modification date of the input if we can stat it. Be ++# aware that Pod::Simple returns the stringification of the file handle as ++# source_filename for input from a file handle, so we'll stat some random ref ++# string in that case. If that fails, instead use the current time. ++# ++# $self - Pod::Man object, used to get the source file ++# ++# Returns: YYYY-MM-DD date suitable for the left-hand footer + sub devise_date { + my ($self) = @_; ++ ++ # If POD_MAN_DATE is set, always use it. ++ if ($ENV{POD_MAN_DATE}) { ++ return $ENV{POD_MAN_DATE}; ++ } ++ ++ # Otherwise, get the input filename and try to stat it. If that fails, ++ # use the current time. + my $input = $self->source_filename; + my $time; + if ($input) { +- $time = (stat $input)[9] || time; ++ $time = (stat($input))[9] || time(); + } else { +- $time = time; ++ $time = time(); + } + +- # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker +- # uses this and it has to work in the core which can't load dynamic +- # libraries. +- my ($year, $month, $day) = (localtime $time)[5,4,3]; +- return sprintf ("%04d-%02d-%02d", $year + 1900, $month + 1, $day); ++ # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses ++ # this and it has to work in the core which can't load dynamic libraries. ++ my ($year, $month, $day) = (localtime($time))[5,4,3]; ++ return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day); + } + + # Print out the preamble and the title. The meaning of the arguments to .TH +@@ -1553,10 +1570,12 @@ Documentation". + + =item date + +-Sets the left-hand footer. By default, the modification date of the input +-file will be used, or the current date if stat() can't find that file (the +-case if the input is from C), and the date will be formatted as +-C. ++Sets the left-hand footer. If this option is not set, the contents of the ++environment variable POD_MAN_DATE, if set, will be used. Failing that, ++the modification date of the input file will be used, or the current time ++if stat() can't find that file (which will be the case if the input is ++from C). If obtained from the file modification date or the ++current time, he date will be formatted as C. + + =item fixed + +@@ -1685,6 +1704,20 @@ invalid. A quote specification must be + + =back + ++=head1 ENVIRONMENT ++ ++=over 4 ++ ++=item POD_MAN_DATE ++ ++If set, this will be used as the value of the left-hand footer unless the ++C option is explicitly set, overriding the timestamp of the input ++file or the current time. This is primarily useful to ensure reproducible ++builds of the same output file given the same souce and Pod::Man version, ++even when file timestamps may not be consistent. ++ ++=back ++ + =head1 BUGS + + Encoding handling assumes that PerlIO is available and does not work Property changes on: head/lang/perl5.16/files/patch-cpan_podlators_lib_Pod_Man.pm ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/perl5.16/files/patch-cpan_podlators_t_devise-date.t =================================================================== --- head/lang/perl5.16/files/patch-cpan_podlators_t_devise-date.t (nonexistent) +++ head/lang/perl5.16/files/patch-cpan_podlators_t_devise-date.t (revision 383641) @@ -0,0 +1,39 @@ +--- cpan/podlators/t/devise-date.t.orig 2013-03-04 15:16:21 UTC ++++ cpan/podlators/t/devise-date.t +@@ -1,15 +1,28 @@ +-#!/usr/bin/perl -w +- +-# In order for MakeMaker to build in the core, nothing can use +-# Fcntl which includes POSIX. devise_date()'s use of strftime() +-# was replaced. This tests that it's identical. ++#!/usr/bin/perl ++# ++# In order for MakeMaker to build in the core, nothing can use Fcntl which ++# includes POSIX. devise_date()'s use of strftime() was replaced. This tests ++# that it's identical. It also tests special handling of the POD_MAN_DATE ++# environment variable. + ++use 5.006; + use strict; +- +-use Test::More tests => 1; ++use warnings; + + use Pod::Man; + use POSIX qw(strftime); + ++use Test::More tests => 2; ++ ++# Check that the results of device_date matches strftime. There is no input ++# file name, so this will use the current time. + my $parser = Pod::Man->new; +-is $parser->devise_date, strftime("%Y-%m-%d", localtime); ++is( ++ $parser->devise_date, ++ strftime('%Y-%m-%d', localtime()), ++ 'devise_date matches strftime' ++); ++ ++# Set the override environment variable and ensure that it's honored. ++local $ENV{POD_MAN_DATE} = '2014-01-01'; ++is($parser->devise_date, '2014-01-01', 'devise_date honors POD_MAN_DATE'); Property changes on: head/lang/perl5.16/files/patch-cpan_podlators_t_devise-date.t ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/perl5.16/files/patch-perl.c =================================================================== --- head/lang/perl5.16/files/patch-perl.c (nonexistent) +++ head/lang/perl5.16/files/patch-perl.c (revision 383641) @@ -0,0 +1,21 @@ +--- perl.c.orig 2013-03-04 15:16:22 UTC ++++ perl.c +@@ -1754,18 +1754,7 @@ S_Internals_V(pTHX_ CV *cv) + PUSHs(Perl_newSVpvn_flags(aTHX_ non_bincompat_options, + sizeof(non_bincompat_options) - 1, SVs_TEMP)); + +-#ifdef __DATE__ +-# ifdef __TIME__ +- PUSHs(Perl_newSVpvn_flags(aTHX_ +- STR_WITH_LEN("Compiled at " __DATE__ " " __TIME__), +- SVs_TEMP)); +-# else +- PUSHs(Perl_newSVpvn_flags(aTHX_ STR_WITH_LEN("Compiled on " __DATE__), +- SVs_TEMP)); +-# endif +-#else + PUSHs(&PL_sv_undef); +-#endif + + for (i = 1; i <= local_patch_count; i++) { + /* This will be an undef, if PL_localpatches[i] is NULL. */ Property changes on: head/lang/perl5.16/files/patch-perl.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/perl5.18/Makefile =================================================================== --- head/lang/perl5.18/Makefile (revision 383640) +++ head/lang/perl5.18/Makefile (revision 383641) @@ -1,231 +1,233 @@ # Created by: mat # $FreeBSD$ PORTNAME= perl PORTVERSION= ${PERL_VERSION} -PORTREVISION= 11 +PORTREVISION= 12 CATEGORIES= lang devel perl5 MASTER_SITES= CPAN MASTER_SITE_SUBDIR= ../../src DIST_SUBDIR= perl MAINTAINER= perl@FreeBSD.org COMMENT= Practical Extraction and Report Language LICENSE= ART10 GPLv1 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 USE_PERL # it seems perl malloc has problems with threaded perl on FreeBSD OPTIONS_RADIO= EXCLUSIVE OPTIONS_RADIO_EXCLUSIVE= THREADS PERL_MALLOC OPTIONS_DEFAULT= PERL_64BITINT THREADS PTHREAD USE_PERL MULTIPLICITY EXCLUSIVE_DESC= Exclusive OPTIONS GDBM_DESC= GDBM_File extension PERL_MALLOC_DESC= Use Perl malloc PERL_64BITINT_DESC= Use 64 bit integers (on i386) THREADS_DESC= Build threaded perl PTHREAD_DESC= Build with -lpthread MULTIPLICITY_DESC= Use multiplicity SITECUSTOMIZE_DESC= Run-time customization of @INC USE_PERL_DESC= Rewrite links in /usr/bin #OPTIONS_EXCLUDE_AMD64= THREADS OPTIONS_SUB= yes DEBUG_CONFIGURE_ON= -Doptimize="-g" -DDEBUGGING DEBUG_CONFIGURE_OFF= -Doptimize="${CFLAGS}" GDBM_CONFIGURE_ON= -Di_gdbm GDBM_CONFIGURE_OFF= -Ui_gdbm GDBM_LIB_DEPENDS= libgdbm.so:${PORTSDIR}/databases/gdbm PERL_64BITINT_CONFIGURE_ON= -Duse64bitint MULTIPLICITY_CONFIGURE_ON= -Dusemultiplicity=y MULTIPLICITY_CONFIGURE_OFF= -Dusemultiplicity=n SITECUSTOMIZE_CONFIGURE_ON= -Dusesitecustomize THREADS_CONFIGURE_ON= -Dusethreads=y THREADS_CONFIGURE_OFF= -Dusethreads=n PERL_MALLOC_CONFIGURE_ON= -Dusemymalloc=y PERL_MALLOC_CONFIGURE_OFF= -Dusemymalloc=n PORTSCOUT= limit:^${PERL_VER}. # Remember to update Mk/Uses/perl5.mk too. PERL_VERSION= 5.18.4 PERL_VER= ${PERL_VERSION:C/\.[0-9]+$//} PERL_ARCH= mach 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_MAN3?= ${PREFIX}/${SITE_MAN3_REL} _PRIV_LIB= lib/perl5/${PERL_VER} _ARCH_LIB= ${_PRIV_LIB}/${PERL_ARCH} USES= tar:bzip2 cpe HAS_CONFIGURE= yes CONFIGURE_SCRIPT=Configure 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 \ -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 -Dusenm=n \ - -Dcc="${CC}" -Duseshrplib -Dinc_version_list=none + -Dcc="${CC}" -Duseshrplib -Dinc_version_list=none \ + -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}`" # Keep the following two in sync. # lddlflags is used for all .so linking # shrpldflags is used for libperl.so, so remove all the extra bits inherited from lddlflags. CONFIGURE_ARGS+= \ -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE -lperl' \ -Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL:R)' LOCALE_CLEANUP= LANG="" LC_ALL="" LC_COLLATE="" LC_CTYPE="" \ LC_MESSAGES="" LC_MONETARY="" LC_NUMERIC="" \ LC_TIME="" CONFIGURE_ENV+= ${LOCALE_CLEANUP} UNAME_v="$$(uname -v | sed 'y/=/ /')" MAKE_ENV+= ${LOCALE_CLEANUP} 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} \ PERL_ARCH=${PERL_ARCH} SUB_FILES= perl5_version use.perl perl-man.conf PKGINSTALL= ${WRKDIR}/use.perl PKGDEINSTALL= ${WRKDIR}/use.perl INSTALL_TARGET= install-strip .include .include "${PORTSDIR}/Mk/bsd.default-versions.mk" # if this port is default due PERL5_DEFAULT # change PKGNAME to reflect this .if ${PERL_VER} == ${PERL5_DEFAULT} PKGNAMESUFFIX= ${PERL_VERSION:C/\.[0-9]+\.[0-9]+$//} .else # make PKGNAME unique among other lang/perl5.x PKGNAMESUFFIX= ${PERL_VER} # always add default perl5 pkgname to conflicts CONFLICTS_INSTALL+= perl5-* .endif .if defined(PERL_VENDOR_PREFIX) CONFIGURE_ARGS+= \ -Dvendorprefix=${PERL_VENDOR_PREFIX} \ -Dvendorarch=${PERL_VENDOR_PREFIX}/${_ARCH_LIB} \ -Dvendorbin=${PERL_VENDOR_PREFIX}/bin \ -Dvendorlib=${PERL_VENDOR_PREFIX}/${_PRIV_LIB} \ -Dvendorman3dir=${PERL_VENDOR_PREFIX}/${_PRIV_LIB}/man/man3 \ -Dvendorman1dir=${PERL_VENDOR_PREFIX}/man/man1 .endif # http://perl5.git.perl.org/perl.git/commit/b83080de5c4254 # PERLIOBUF_DEFAULT_BUFSIZ size in bytes (default: 8192 bytes) .if defined(PERLIOBUF_DEFAULT_BUFSIZ) CONFIGURE_ARGS+= \ -Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=${PERLIOBUF_DEFAULT_BUFSIZ} .endif MAN3PREFIX_REL= ${_PRIV_LIB}/perl MAN3PREFIX= ${PREFIX}/${MAN3PREFIX_REL} MANDIRS+= ${MAN3PREFIX}/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} \ SITE_PERL=${SITE_PERL_REL} \ SITE_ARCH=${SITE_ARCH_REL} \ PRIV_LIB=${_PRIV_LIB} \ ARCH_LIB=${_ARCH_LIB} .if ${PORT_OPTIONS:MDEBUG} STRIP= STRIP_CMD= ${TRUE} .endif .if ${OSVERSION} >= 900022 PLIST_SUB+= MANCONF="" .else PLIST_SUB+= MANCONF="@comment " .endif .if ${PORT_OPTIONS:MTHREADS} WITH_PTHREAD= yes .endif .if ${PORT_OPTIONS:MUSE_PERL} LINK_USRBIN= yes .else LINK_USRBIN= no .endif SUB_LIST+= LINK_USRBIN=${LINK_USRBIN} # Put a symlink to the future libperl.so.x.yy so that -lperl works. post-extract: ${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so ${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER} post-patch: ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ ${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh .if ${PORT_OPTIONS:MPTHREAD} ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|-lpthread|g;' \ ${WRKSRC}/hints/freebsd.sh .else ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%||g;' \ ${WRKSRC}/hints/freebsd.sh .endif post-install: ${MKDIR} ${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 ${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 && ${SETENV} 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} ${FIND} ${STAGEDIR} -name '*.so*' -type f | while read f; \ do \ ${CHMOD} 644 $$f; \ ${STRIP_CMD} $$f; \ ${CHMOD} 444 $$f; \ done .if ${OSVERSION} >= 900022 ${INSTALL_DATA} ${WRKDIR}/perl-man.conf ${STAGEDIR}${PREFIX}/etc/man.d/perl${PERL_VER}.conf .endif test: build (cd ${WRKSRC}; TEST_JOBS=${MAKE_JOBS_NUMBER} make test_harness) regression-test: test .include Index: head/lang/perl5.18/files/patch-Configure =================================================================== --- head/lang/perl5.18/files/patch-Configure (revision 383640) +++ head/lang/perl5.18/files/patch-Configure (revision 383641) @@ -1,21 +1,33 @@ --- Configure.orig 2014-10-01 01:32:59 UTC +++ Configure -@@ -4730,7 +4730,7 @@ +@@ -3634,7 +3634,10 @@ esac + . ./posthint.sh + + : who configured the system +-cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1` ++case "$cf_time" in ++"") ++ cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1` ;; ++esac + case "$cf_by" in + "") + cf_by=`(logname) 2>/dev/null` +@@ -4730,7 +4733,7 @@ esac libpth='' for xxx in $dlist do - if $test -d $xxx; then + if $test -d $xxx || [ $xxx = $prefix/lib ]; then case " $libpth " in *" $xxx "*) ;; *) libpth="$libpth $xxx";; -@@ -9143,8 +9143,7 @@ +@@ -9143,8 +9146,7 @@ prefixvar=siteman3dir : determine where add-on public executable scripts go case "$sitescript" in -'') dflt=$siteprefix/script - $test -d $dflt || dflt=$sitebin ;; +'') dflt=$sitebin ;; *) dflt="$sitescript" ;; esac fn=d~+ Index: head/lang/perl5.18/files/patch-cpan_podlators_lib_Pod_Man.pm =================================================================== --- head/lang/perl5.18/files/patch-cpan_podlators_lib_Pod_Man.pm (nonexistent) +++ head/lang/perl5.18/files/patch-cpan_podlators_lib_Pod_Man.pm (revision 383641) @@ -0,0 +1,107 @@ +--- cpan/podlators/lib/Pod/Man.pm.orig 2014-10-01 01:33:00 UTC ++++ cpan/podlators/lib/Pod/Man.pm +@@ -883,25 +883,42 @@ sub devise_title { + } + + # Determine the modification date and return that, properly formatted in ISO +-# format. If we can't get the modification date of the input, instead use the +-# current time. Pod::Simple returns a completely unuseful stringified file +-# handle as the source_filename for input from a file handle, so we have to +-# deal with that as well. ++# format. ++# ++# If POD_MAN_DATE is set, that overrides anything else. This can be used for ++# reproducible generation of the same file even if the input file timestamps ++# are unpredictable or the POD coms from standard input. ++# ++# Otherwise, use the modification date of the input if we can stat it. Be ++# aware that Pod::Simple returns the stringification of the file handle as ++# source_filename for input from a file handle, so we'll stat some random ref ++# string in that case. If that fails, instead use the current time. ++# ++# $self - Pod::Man object, used to get the source file ++# ++# Returns: YYYY-MM-DD date suitable for the left-hand footer + sub devise_date { + my ($self) = @_; ++ ++ # If POD_MAN_DATE is set, always use it. ++ if ($ENV{POD_MAN_DATE}) { ++ return $ENV{POD_MAN_DATE}; ++ } ++ ++ # Otherwise, get the input filename and try to stat it. If that fails, ++ # use the current time. + my $input = $self->source_filename; + my $time; + if ($input) { +- $time = (stat $input)[9] || time; ++ $time = (stat($input))[9] || time(); + } else { +- $time = time; ++ $time = time(); + } + +- # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker +- # uses this and it has to work in the core which can't load dynamic +- # libraries. +- my ($year, $month, $day) = (localtime $time)[5,4,3]; +- return sprintf ("%04d-%02d-%02d", $year + 1900, $month + 1, $day); ++ # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses ++ # this and it has to work in the core which can't load dynamic libraries. ++ my ($year, $month, $day) = (localtime($time))[5,4,3]; ++ return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day); + } + + # Print out the preamble and the title. The meaning of the arguments to .TH +@@ -1613,6 +1630,15 @@ argument. + Sets the centered page header to use instead of "User Contributed Perl + Documentation". + ++=item date ++ ++Sets the left-hand footer. If this option is not set, the contents of the ++environment variable POD_MAN_DATE, if set, will be used. Failing that, ++the modification date of the input file will be used, or the current time ++if stat() can't find that file (which will be the case if the input is ++from C). If obtained from the file modification date or the ++current time, he date will be formatted as C. ++ + =item errors + + How to report errors. C says to throw an exception on any POD +@@ -1623,13 +1649,6 @@ POD errors entirely, as much as possible + + The default is C. + +-=item date +- +-Sets the left-hand footer. By default, the modification date of the input +-file will be used, or the current date if stat() can't find that file (the +-case if the input is from C), and the date will be formatted as +-C. +- + =item fixed + + The fixed-width font to use for verbatim text and code. Defaults to +@@ -1785,6 +1804,20 @@ option was set to C. + + =back + ++=head1 ENVIRONMENT ++ ++=over 4 ++ ++=item POD_MAN_DATE ++ ++If set, this will be used as the value of the left-hand footer unless the ++C option is explicitly set, overriding the timestamp of the input ++file or the current time. This is primarily useful to ensure reproducible ++builds of the same output file given the same souce and Pod::Man version, ++even when file timestamps may not be consistent. ++ ++=back ++ + =head1 BUGS + + Encoding handling assumes that PerlIO is available and does not work Property changes on: head/lang/perl5.18/files/patch-cpan_podlators_lib_Pod_Man.pm ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/perl5.18/files/patch-cpan_podlators_t_devise-date.t =================================================================== --- head/lang/perl5.18/files/patch-cpan_podlators_t_devise-date.t (nonexistent) +++ head/lang/perl5.18/files/patch-cpan_podlators_t_devise-date.t (revision 383641) @@ -0,0 +1,39 @@ +--- cpan/podlators/t/devise-date.t.orig 2014-01-31 21:55:51 UTC ++++ cpan/podlators/t/devise-date.t +@@ -1,15 +1,28 @@ +-#!/usr/bin/perl -w +- +-# In order for MakeMaker to build in the core, nothing can use +-# Fcntl which includes POSIX. devise_date()'s use of strftime() +-# was replaced. This tests that it's identical. ++#!/usr/bin/perl ++# ++# In order for MakeMaker to build in the core, nothing can use Fcntl which ++# includes POSIX. devise_date()'s use of strftime() was replaced. This tests ++# that it's identical. It also tests special handling of the POD_MAN_DATE ++# environment variable. + ++use 5.006; + use strict; +- +-use Test::More tests => 1; ++use warnings; + + use Pod::Man; + use POSIX qw(strftime); + ++use Test::More tests => 2; ++ ++# Check that the results of device_date matches strftime. There is no input ++# file name, so this will use the current time. + my $parser = Pod::Man->new; +-is $parser->devise_date, strftime("%Y-%m-%d", localtime); ++is( ++ $parser->devise_date, ++ strftime('%Y-%m-%d', localtime()), ++ 'devise_date matches strftime' ++); ++ ++# Set the override environment variable and ensure that it's honored. ++local $ENV{POD_MAN_DATE} = '2014-01-01'; ++is($parser->devise_date, '2014-01-01', 'devise_date honors POD_MAN_DATE'); Property changes on: head/lang/perl5.18/files/patch-cpan_podlators_t_devise-date.t ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/perl5.18/files/patch-perl.c =================================================================== --- head/lang/perl5.18/files/patch-perl.c (nonexistent) +++ head/lang/perl5.18/files/patch-perl.c (revision 383641) @@ -0,0 +1,21 @@ +--- perl.c.orig 2014-10-01 01:33:00 UTC ++++ perl.c +@@ -1789,18 +1789,7 @@ S_Internals_V(pTHX_ CV *cv) + PUSHs(Perl_newSVpvn_flags(aTHX_ non_bincompat_options, + sizeof(non_bincompat_options) - 1, SVs_TEMP)); + +-#ifdef __DATE__ +-# ifdef __TIME__ +- PUSHs(Perl_newSVpvn_flags(aTHX_ +- STR_WITH_LEN("Compiled at " __DATE__ " " __TIME__), +- SVs_TEMP)); +-# else +- PUSHs(Perl_newSVpvn_flags(aTHX_ STR_WITH_LEN("Compiled on " __DATE__), +- SVs_TEMP)); +-# endif +-#else + PUSHs(&PL_sv_undef); +-#endif + + for (i = 1; i <= local_patch_count; i++) { + /* This will be an undef, if PL_localpatches[i] is NULL. */ Property changes on: head/lang/perl5.18/files/patch-perl.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/perl5.20/Makefile =================================================================== --- head/lang/perl5.20/Makefile (revision 383640) +++ head/lang/perl5.20/Makefile (revision 383641) @@ -1,226 +1,229 @@ # Created by: mat # $FreeBSD$ PORTNAME= perl PORTVERSION= ${PERL_VERSION} +PORTREVISION= 1 CATEGORIES= lang devel perl5 MASTER_SITES= CPAN MASTER_SITE_SUBDIR= ../../src DIST_SUBDIR= perl MAINTAINER= perl@FreeBSD.org COMMENT= Practical Extraction and Report Language LICENSE= ART10 GPLv1 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 OPTIONS_RADIO= EXCLUSIVE OPTIONS_RADIO_EXCLUSIVE= THREADS PERL_MALLOC OPTIONS_DEFAULT= PERL_64BITINT THREADS PTHREAD MULTIPLICITY EXCLUSIVE_DESC= Exclusive OPTIONS GDBM_DESC= GDBM_File extension PERL_MALLOC_DESC= Use Perl malloc PERL_64BITINT_DESC= Use 64 bit integers (on i386) THREADS_DESC= Build threaded perl PTHREAD_DESC= Build with -lpthread MULTIPLICITY_DESC= Use multiplicity SITECUSTOMIZE_DESC= Run-time customization of @INC OPTIONS_SUB= yes DEBUG_CONFIGURE_ON= -Doptimize="-g" -DDEBUGGING DEBUG_CONFIGURE_OFF= -Doptimize="${CFLAGS}" GDBM_CONFIGURE_ON= -Di_gdbm GDBM_CONFIGURE_OFF= -Ui_gdbm GDBM_LIB_DEPENDS= libgdbm.so:${PORTSDIR}/databases/gdbm PERL_64BITINT_CONFIGURE_ON= -Duse64bitint MULTIPLICITY_CONFIGURE_ON= -Dusemultiplicity=y MULTIPLICITY_CONFIGURE_OFF= -Dusemultiplicity=n SITECUSTOMIZE_CONFIGURE_ON= -Dusesitecustomize THREADS_CONFIGURE_ON= -Dusethreads=y THREADS_CONFIGURE_OFF= -Dusethreads=n PERL_MALLOC_CONFIGURE_ON= -Dusemymalloc=y PERL_MALLOC_CONFIGURE_OFF= -Dusemymalloc=n # For the latest Perl port, this should be: PORTSCOUT= limitw:1,even # For the older Perl ports, this should be: #PORTSCOUT= limit:^${PERL_VER}. # Remember to update Mk/Uses/perl5.mk too. PERL_VERSION= 5.20.2 PERL_VER= ${PERL_VERSION:C/\.[0-9]+$//} PERL_ARCH= mach 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_MAN3?= ${PREFIX}/${SITE_MAN3_REL} _PRIV_LIB= lib/perl5/${PERL_VER} _ARCH_LIB= ${_PRIV_LIB}/${PERL_ARCH} USES= tar:bzip2 cpe HAS_CONFIGURE= yes CONFIGURE_SCRIPT=Configure 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 \ -Dsitearch=${SITE_ARCH} \ -Dsitelib=${SITE_PERL} -Dscriptdir=${PREFIX}/bin \ -Dsiteman3dir=${SITE_MAN3} \ -Dsiteman1dir=${PREFIX}/man/man1 \ -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_time="`env LANG=C ${STAT} -t \"%a %b %d %T %Z %Y\" -f %Sm ${_DISTDIR}/${DISTNAME}${EXTRACT_SUFX}`" # Keep the following two in sync. # lddlflags is used for all .so linking # shrpldflags is used for libperl.so, so remove all the extra bits inherited from lddlflags. CONFIGURE_ARGS+= \ -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE -lperl' \ -Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL:R)' # When upgrading to 5.22+ remove this. CONFIGURE_ARGS+= \ -Dotherlibdirs=${PREFIX}/lib/perl5/site_perl/${PERL_VER}:${PREFIX}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH} LOCALE_CLEANUP= LANG="" LC_ALL="" LC_COLLATE="" LC_CTYPE="" \ LC_MESSAGES="" LC_MONETARY="" LC_NUMERIC="" \ LC_TIME="" CONFIGURE_ENV+= ${LOCALE_CLEANUP} UNAME_v="$$(uname -v | sed 'y/=/ /')" MAKE_ENV+= ${LOCALE_CLEANUP} 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} \ PERL_ARCH=${PERL_ARCH} SUB_FILES= perl5_version use.perl perl-man.conf PKGINSTALL= ${WRKDIR}/use.perl PKGDEINSTALL= ${WRKDIR}/use.perl INSTALL_TARGET= install-strip .include .include "${PORTSDIR}/Mk/bsd.default-versions.mk" # if this port is default due PERL5_DEFAULT # change PKGNAME to reflect this .if ${PERL_VER} == ${PERL5_DEFAULT} PKGNAMESUFFIX= ${PERL_VERSION:C/\.[0-9]+\.[0-9]+$//} .else # make PKGNAME unique among other lang/perl5.x PKGNAMESUFFIX= ${PERL_VER} # always add default perl5 pkgname to conflicts CONFLICTS_INSTALL+= perl5-* .endif .if defined(PERL_VENDOR_PREFIX) CONFIGURE_ARGS+= \ -Dvendorprefix=${PERL_VENDOR_PREFIX} \ -Dvendorarch=${PERL_VENDOR_PREFIX}/${_ARCH_LIB} \ -Dvendorbin=${PERL_VENDOR_PREFIX}/bin \ -Dvendorlib=${PERL_VENDOR_PREFIX}/${_PRIV_LIB} \ -Dvendorman3dir=${PERL_VENDOR_PREFIX}/${_PRIV_LIB}/man/man3 \ -Dvendorman1dir=${PERL_VENDOR_PREFIX}/man/man1 .endif # http://perl5.git.perl.org/perl.git/commit/b83080de5c4254 # PERLIOBUF_DEFAULT_BUFSIZ size in bytes (default: 8192 bytes) .if defined(PERLIOBUF_DEFAULT_BUFSIZ) CONFIGURE_ARGS+= \ -Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=${PERLIOBUF_DEFAULT_BUFSIZ} .endif MAN3PREFIX_REL= ${_PRIV_LIB}/perl MAN3PREFIX= ${PREFIX}/${MAN3PREFIX_REL} MANDIRS+= ${MAN3PREFIX}/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} \ SITE_PERL=${SITE_PERL_REL} \ SITE_ARCH=${SITE_ARCH_REL} \ PRIV_LIB=${_PRIV_LIB} \ ARCH_LIB=${_ARCH_LIB} .if ${PORT_OPTIONS:MDEBUG} STRIP= STRIP_CMD= ${TRUE} .endif .if ${OSVERSION} >= 900022 PLIST_SUB+= MANCONF="" .else PLIST_SUB+= MANCONF="@comment " .endif .if ${PORT_OPTIONS:MTHREADS} WITH_PTHREAD= yes .endif # Put a symlink to the future libperl.so.x.yy so that -lperl works. post-extract: ${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so ${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER} post-patch: ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ ${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh .if ${PORT_OPTIONS:MPTHREAD} ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|-lpthread|g;' \ ${WRKSRC}/hints/freebsd.sh .else ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%||g;' \ ${WRKSRC}/hints/freebsd.sh .endif post-install: ${MKDIR} ${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 \ -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; \ do \ ${CHMOD} 644 $$f; \ ${STRIP_CMD} $$f; \ ${CHMOD} 444 $$f; \ done .if ${OSVERSION} >= 900022 ${INSTALL_DATA} ${WRKDIR}/perl-man.conf ${STAGEDIR}${PREFIX}/etc/man.d/perl${PERL_VER}.conf .endif test: build (cd ${WRKSRC}; TEST_JOBS=${MAKE_JOBS_NUMBER} make test_harness) regression-test: test .include Index: head/lang/perl5.20/files/patch-Configure =================================================================== --- head/lang/perl5.20/files/patch-Configure (revision 383640) +++ head/lang/perl5.20/files/patch-Configure (revision 383641) @@ -1,21 +1,33 @@ --- Configure.orig 2015-01-10 12:06:37 UTC +++ Configure -@@ -4948,7 +4948,7 @@ esac +@@ -3767,7 +3767,10 @@ esac + . ./posthint.sh + + : who configured the system +-cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1` ++case "$cf_time" in ++"") ++ cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1` ;; ++esac + case "$cf_by" in + "") + cf_by=`(logname) 2>/dev/null` +@@ -4948,7 +4951,7 @@ esac : Now check and see which directories actually exist, avoiding duplicates for xxx in $dlist do - if $test -d $xxx; then + if $test -d $xxx || [ $xxx = $prefix/lib ]; then case " $libpth " in *" $xxx "*) ;; *) libpth="$libpth $xxx";; -@@ -9342,8 +9342,7 @@ prefixvar=siteman3dir +@@ -9342,8 +9345,7 @@ prefixvar=siteman3dir : determine where add-on public executable scripts go case "$sitescript" in -'') dflt=$siteprefix/script - $test -d $dflt || dflt=$sitebin ;; +'') dflt=$sitebin ;; *) dflt="$sitescript" ;; esac fn=d~+ Index: head/lang/perl5.20/files/patch-cpan_podlators_lib_Pod_Man.pm =================================================================== --- head/lang/perl5.20/files/patch-cpan_podlators_lib_Pod_Man.pm (nonexistent) +++ head/lang/perl5.20/files/patch-cpan_podlators_lib_Pod_Man.pm (revision 383641) @@ -0,0 +1,107 @@ +--- cpan/podlators/lib/Pod/Man.pm.orig 2014-12-27 11:48:48 UTC ++++ cpan/podlators/lib/Pod/Man.pm +@@ -876,25 +876,42 @@ sub devise_title { + } + + # Determine the modification date and return that, properly formatted in ISO +-# format. If we can't get the modification date of the input, instead use the +-# current time. Pod::Simple returns a completely unuseful stringified file +-# handle as the source_filename for input from a file handle, so we have to +-# deal with that as well. ++# format. ++# ++# If POD_MAN_DATE is set, that overrides anything else. This can be used for ++# reproducible generation of the same file even if the input file timestamps ++# are unpredictable or the POD coms from standard input. ++# ++# Otherwise, use the modification date of the input if we can stat it. Be ++# aware that Pod::Simple returns the stringification of the file handle as ++# source_filename for input from a file handle, so we'll stat some random ref ++# string in that case. If that fails, instead use the current time. ++# ++# $self - Pod::Man object, used to get the source file ++# ++# Returns: YYYY-MM-DD date suitable for the left-hand footer + sub devise_date { + my ($self) = @_; ++ ++ # If POD_MAN_DATE is set, always use it. ++ if ($ENV{POD_MAN_DATE}) { ++ return $ENV{POD_MAN_DATE}; ++ } ++ ++ # Otherwise, get the input filename and try to stat it. If that fails, ++ # use the current time. + my $input = $self->source_filename; + my $time; + if ($input) { +- $time = (stat $input)[9] || time; ++ $time = (stat($input))[9] || time(); + } else { +- $time = time; ++ $time = time(); + } + +- # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker +- # uses this and it has to work in the core which can't load dynamic +- # libraries. +- my ($year, $month, $day) = (localtime $time)[5,4,3]; +- return sprintf ("%04d-%02d-%02d", $year + 1900, $month + 1, $day); ++ # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses ++ # this and it has to work in the core which can't load dynamic libraries. ++ my ($year, $month, $day) = (localtime($time))[5,4,3]; ++ return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day); + } + + # Print out the preamble and the title. The meaning of the arguments to .TH +@@ -1632,6 +1649,15 @@ argument. + Sets the centered page header to use instead of "User Contributed Perl + Documentation". + ++=item date ++ ++Sets the left-hand footer. If this option is not set, the contents of the ++environment variable POD_MAN_DATE, if set, will be used. Failing that, ++the modification date of the input file will be used, or the current time ++if stat() can't find that file (which will be the case if the input is ++from C). If obtained from the file modification date or the ++current time, he date will be formatted as C. ++ + =item errors + + How to report errors. C says to throw an exception on any POD +@@ -1642,13 +1668,6 @@ POD errors entirely, as much as possible + + The default is C. + +-=item date +- +-Sets the left-hand footer. By default, the modification date of the input +-file will be used, or the current date if stat() can't find that file (the +-case if the input is from C), and the date will be formatted as +-C. +- + =item fixed + + The fixed-width font to use for verbatim text and code. Defaults to +@@ -1810,6 +1829,20 @@ option was set to C. + + =back + ++=head1 ENVIRONMENT ++ ++=over 4 ++ ++=item POD_MAN_DATE ++ ++If set, this will be used as the value of the left-hand footer unless the ++C option is explicitly set, overriding the timestamp of the input ++file or the current time. This is primarily useful to ensure reproducible ++builds of the same output file given the same souce and Pod::Man version, ++even when file timestamps may not be consistent. ++ ++=back ++ + =head1 BUGS + + Encoding handling assumes that PerlIO is available and does not work Property changes on: head/lang/perl5.20/files/patch-cpan_podlators_lib_Pod_Man.pm ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/perl5.20/files/patch-cpan_podlators_t_devise-date.t =================================================================== --- head/lang/perl5.20/files/patch-cpan_podlators_t_devise-date.t (nonexistent) +++ head/lang/perl5.20/files/patch-cpan_podlators_t_devise-date.t (revision 383641) @@ -0,0 +1,39 @@ +--- cpan/podlators/t/devise-date.t.orig 2014-12-27 11:48:48 UTC ++++ cpan/podlators/t/devise-date.t +@@ -1,15 +1,28 @@ +-#!/usr/bin/perl -w +- +-# In order for MakeMaker to build in the core, nothing can use +-# Fcntl which includes POSIX. devise_date()'s use of strftime() +-# was replaced. This tests that it's identical. ++#!/usr/bin/perl ++# ++# In order for MakeMaker to build in the core, nothing can use Fcntl which ++# includes POSIX. devise_date()'s use of strftime() was replaced. This tests ++# that it's identical. It also tests special handling of the POD_MAN_DATE ++# environment variable. + ++use 5.006; + use strict; +- +-use Test::More tests => 1; ++use warnings; + + use Pod::Man; + use POSIX qw(strftime); + ++use Test::More tests => 2; ++ ++# Check that the results of device_date matches strftime. There is no input ++# file name, so this will use the current time. + my $parser = Pod::Man->new; +-is $parser->devise_date, strftime("%Y-%m-%d", localtime); ++is( ++ $parser->devise_date, ++ strftime('%Y-%m-%d', localtime()), ++ 'devise_date matches strftime' ++); ++ ++# Set the override environment variable and ensure that it's honored. ++local $ENV{POD_MAN_DATE} = '2014-01-01'; ++is($parser->devise_date, '2014-01-01', 'devise_date honors POD_MAN_DATE'); Property changes on: head/lang/perl5.20/files/patch-cpan_podlators_t_devise-date.t ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/perl5.20/files/patch-perl.c =================================================================== --- head/lang/perl5.20/files/patch-perl.c (nonexistent) +++ head/lang/perl5.20/files/patch-perl.c (revision 383641) @@ -0,0 +1,21 @@ +--- perl.c.orig 2015-01-28 21:12:04 UTC ++++ perl.c +@@ -1776,18 +1776,7 @@ S_Internals_V(pTHX_ CV *cv) + PUSHs(Perl_newSVpvn_flags(aTHX_ non_bincompat_options, + sizeof(non_bincompat_options) - 1, SVs_TEMP)); + +-#ifdef __DATE__ +-# ifdef __TIME__ +- PUSHs(Perl_newSVpvn_flags(aTHX_ +- STR_WITH_LEN("Compiled at " __DATE__ " " __TIME__), +- SVs_TEMP)); +-# else +- PUSHs(Perl_newSVpvn_flags(aTHX_ STR_WITH_LEN("Compiled on " __DATE__), +- SVs_TEMP)); +-# endif +-#else + PUSHs(&PL_sv_undef); +-#endif + + for (i = 1; i <= local_patch_count; i++) { + /* This will be an undef, if PL_localpatches[i] is NULL. */ Property changes on: head/lang/perl5.20/files/patch-perl.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/textproc/p5-podlators/Makefile =================================================================== --- head/textproc/p5-podlators/Makefile (revision 383640) +++ head/textproc/p5-podlators/Makefile (revision 383641) @@ -1,24 +1,24 @@ # Created by: Sergey Skvortsov # $FreeBSD$ PORTNAME= podlators PORTVERSION= 2.5.3 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= textproc perl5 MASTER_SITES= CPAN MASTER_SITE_SUBDIR= Pod PKGNAMEPREFIX= p5- MAINTAINER= perl@FreeBSD.org COMMENT= Modules to convert and parse POD (Plain Old Documentation) LICENSE= ART10 GPLv1 LICENSE_COMB= dual USES= perl5 USE_PERL5= configure post-patch: @${REINPLACE_CMD} -e "/man1pod (/d; /EXE_FILES/d" ${WRKSRC}/Makefile.PL .include Index: head/textproc/p5-podlators/files/patch-lib_Pod_Man.pm =================================================================== --- head/textproc/p5-podlators/files/patch-lib_Pod_Man.pm (nonexistent) +++ head/textproc/p5-podlators/files/patch-lib_Pod_Man.pm (revision 383641) @@ -0,0 +1,107 @@ +--- lib/Pod/Man.pm.orig 2013-10-06 06:09:56 UTC ++++ lib/Pod/Man.pm +@@ -876,25 +876,42 @@ sub devise_title { + } + + # Determine the modification date and return that, properly formatted in ISO +-# format. If we can't get the modification date of the input, instead use the +-# current time. Pod::Simple returns a completely unuseful stringified file +-# handle as the source_filename for input from a file handle, so we have to +-# deal with that as well. ++# format. ++# ++# If POD_MAN_DATE is set, that overrides anything else. This can be used for ++# reproducible generation of the same file even if the input file timestamps ++# are unpredictable or the POD coms from standard input. ++# ++# Otherwise, use the modification date of the input if we can stat it. Be ++# aware that Pod::Simple returns the stringification of the file handle as ++# source_filename for input from a file handle, so we'll stat some random ref ++# string in that case. If that fails, instead use the current time. ++# ++# $self - Pod::Man object, used to get the source file ++# ++# Returns: YYYY-MM-DD date suitable for the left-hand footer + sub devise_date { + my ($self) = @_; ++ ++ # If POD_MAN_DATE is set, always use it. ++ if ($ENV{POD_MAN_DATE}) { ++ return $ENV{POD_MAN_DATE}; ++ } ++ ++ # Otherwise, get the input filename and try to stat it. If that fails, ++ # use the current time. + my $input = $self->source_filename; + my $time; + if ($input) { +- $time = (stat $input)[9] || time; ++ $time = (stat($input))[9] || time(); + } else { +- $time = time; ++ $time = time(); + } + +- # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker +- # uses this and it has to work in the core which can't load dynamic +- # libraries. +- my ($year, $month, $day) = (localtime $time)[5,4,3]; +- return sprintf ("%04d-%02d-%02d", $year + 1900, $month + 1, $day); ++ # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses ++ # this and it has to work in the core which can't load dynamic libraries. ++ my ($year, $month, $day) = (localtime($time))[5,4,3]; ++ return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day); + } + + # Print out the preamble and the title. The meaning of the arguments to .TH +@@ -1632,6 +1649,15 @@ argument. + Sets the centered page header to use instead of "User Contributed Perl + Documentation". + ++=item date ++ ++Sets the left-hand footer. If this option is not set, the contents of the ++environment variable POD_MAN_DATE, if set, will be used. Failing that, ++the modification date of the input file will be used, or the current time ++if stat() can't find that file (which will be the case if the input is ++from C). If obtained from the file modification date or the ++current time, he date will be formatted as C. ++ + =item errors + + How to report errors. C says to throw an exception on any POD +@@ -1642,13 +1668,6 @@ POD errors entirely, as much as possible + + The default is C. + +-=item date +- +-Sets the left-hand footer. By default, the modification date of the input +-file will be used, or the current date if stat() can't find that file (the +-case if the input is from C), and the date will be formatted as +-C. +- + =item fixed + + The fixed-width font to use for verbatim text and code. Defaults to +@@ -1810,6 +1829,20 @@ option was set to C. + + =back + ++=head1 ENVIRONMENT ++ ++=over 4 ++ ++=item POD_MAN_DATE ++ ++If set, this will be used as the value of the left-hand footer unless the ++C option is explicitly set, overriding the timestamp of the input ++file or the current time. This is primarily useful to ensure reproducible ++builds of the same output file given the same souce and Pod::Man version, ++even when file timestamps may not be consistent. ++ ++=back ++ + =head1 BUGS + + Encoding handling assumes that PerlIO is available and does not work Property changes on: head/textproc/p5-podlators/files/patch-lib_Pod_Man.pm ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/textproc/p5-podlators/files/patch-t_devise-date.t =================================================================== --- head/textproc/p5-podlators/files/patch-t_devise-date.t (nonexistent) +++ head/textproc/p5-podlators/files/patch-t_devise-date.t (revision 383641) @@ -0,0 +1,39 @@ +--- t/devise-date.t.orig 2013-10-06 06:09:56 UTC ++++ t/devise-date.t +@@ -1,15 +1,28 @@ +-#!/usr/bin/perl -w +- +-# In order for MakeMaker to build in the core, nothing can use +-# Fcntl which includes POSIX. devise_date()'s use of strftime() +-# was replaced. This tests that it's identical. ++#!/usr/bin/perl ++# ++# In order for MakeMaker to build in the core, nothing can use Fcntl which ++# includes POSIX. devise_date()'s use of strftime() was replaced. This tests ++# that it's identical. It also tests special handling of the POD_MAN_DATE ++# environment variable. + ++use 5.006; + use strict; +- +-use Test::More tests => 1; ++use warnings; + + use Pod::Man; + use POSIX qw(strftime); + ++use Test::More tests => 2; ++ ++# Check that the results of device_date matches strftime. There is no input ++# file name, so this will use the current time. + my $parser = Pod::Man->new; +-is $parser->devise_date, strftime("%Y-%m-%d", localtime); ++is( ++ $parser->devise_date, ++ strftime('%Y-%m-%d', localtime()), ++ 'devise_date matches strftime' ++); ++ ++# Set the override environment variable and ensure that it's honored. ++local $ENV{POD_MAN_DATE} = '2014-01-01'; ++is($parser->devise_date, '2014-01-01', 'devise_date honors POD_MAN_DATE'); Property changes on: head/textproc/p5-podlators/files/patch-t_devise-date.t ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property