Index: head/lang/perl5-devel/Makefile =================================================================== --- head/lang/perl5-devel/Makefile (revision 405235) +++ head/lang/perl5-devel/Makefile (revision 405236) @@ -1,300 +1,300 @@ # Created by: mat # $FreeBSD$ PORTNAME= perl PORTREVISION= 0 # XXX Remove second line, uncomment first #DISTVERSION= ${PERL_VERSION} DISTVERSION= ${GH_TAGNAME:C/^v//:C/-g[0-9a-f]*$//} CATEGORIES= lang devel perl5 # XXX Leave only CPAN. MASTER_SITES= LOCAL/mat/perl GH CPAN/../../src/5.0 # XXX Remove DISTNAME DISTNAME= ${PORTNAME}-${DISTVERSION} DIST_SUBDIR= perl # XXX -> perl@ MAINTAINER= mat@FreeBSD.org COMMENT= Practical Extraction and Report Language LICENSE= ART10 GPLv1 LICENSE_COMB= dual LICENSE_FILE_ART10= ${WRKSRC}/Artistic LICENSE_FILE_GPLv1= ${WRKSRC}/Copying TEST_TARGET= test_harness TEST_ENV= ${MAKE_ENV} TEST_JOBS=${MAKE_JOBS_NUMBER} # XXX Remove github things. USE_GITHUB= yes GH_ACCOUNT= Perl GH_PROJECT= perl5 -GH_TAGNAME= v5.23.6-31-g7c69ad4 +GH_TAGNAME= v5.23.6-46-g476d3d3 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 # XXX uncomment PORTSCOUT line # For the "release" Perl ports, this should be: #PORTSCOUT= limit:^${PERL_VER}. .include "version.mk" 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_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} # XXX releases are .tar.xz, add: tar:xz USES= cpe HAS_CONFIGURE= yes CONFIGURE_SCRIPT=Configure CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \ -Dlibperl=libperl.so.${PORTVERSION} \ -Darchlib=${PREFIX}/${_ARCH_LIB} \ -Dprivlib=${PREFIX}/${_PRIV_LIB} \ -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=${SITE_MAN1} \ -Ui_malloc -Ui_iconv -Uinstallusrbinperl -Dusenm=n \ -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. # XXX change the soname to $$(LIBPERL:R) 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)' # XXX Remove CONFIGURE_ARGS+= -Dusedevel -Uversiononly 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} \ PERLMANPREFIX=${PERLMANPREFIX_REL} \ SITEMANPREFIX=${SITE_MAN_PREFIX} \ PERL_ARCH=${PERL_ARCH} SUB_FILES= perl-man.conf INSTALL_TARGET= install-strip .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 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} \ 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} PLIST_SUB+= PORTVERSION=${PORTVERSION} # XXX Remove _PERL5_DEFAULT_FILE= /tmp/PERL5_DEFAULT # bsd.default-versions.mk needs to know LOCALBASE for Perl, so # bsd.port.options.mk is needed before including it. .include .sinclude "${_PERL5_DEFAULT_FILE}" .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} || ${PERL5_DEFAULT} == devel # XXX Remove devel case PKGNAMESUFFIX= 5 IAMDEFAULTPERL= yes .else # make PKGNAME unique among other lang/perl5.x .if defined(GH_TAGNAME) # XXX remove if, leave only the else. PKGNAMESUFFIX= 5-devel .else PKGNAMESUFFIX= ${PERL_VER} .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 # XXX Remove this pre-everything:: @${ECHO_MSG} "########################################" @${ECHO_MSG} "" @${ECHO_MSG} "This is a DEVELOPER only version of Perl" @${ECHO_MSG} "" @${ECHO_MSG} " DO NOT USE IT" @${ECHO_MSG} "" @${ECHO_MSG} "" @${ECHO_MSG} " Things ARE going to be broken with it" @${ECHO_MSG} " and it WILL eat your data" @${ECHO_MSG} "" @${ECHO_MSG} " You have been warned !" @${ECHO_MSG} "" @${ECHO_MSG} "########################################" # No need to make me, or the package builders, wait .if !(defined(PACKAGE_BUILDING) || defined(PERL_DEV_SHUT_UP) || defined(BATCH)) @sleep 30 .endif # Put a symlink to the future libperl.so.x.yy so that -lperl works. # Also, save PERL5_DEFAULT in case someone is not using the default Perl # version whilst not having set DEFAULT_VERSIONS=perl5=blah. While upgrading, # portmaster/portupgrade will remove the installed Perl version, and it will # remove any way to guess what the default Perl version is needed. post-extract: ${LN} -s libperl.so.${PORTVERSION} ${WRKSRC}/libperl.so ${LN} -s libperl.so.${PORTVERSION} ${WRKSRC}/libperl.so.${PERL_VER} .if !defined(PACKAGE_BUILDING) @${ECHO_CMD} "PERL5_DEFAULT=${PERL5_DEFAULT}" > ${_PERL5_DEFAULT_FILE} .endif .if !defined(PACKAGE_BUILDING) post-clean: @${RM} ${_PERL5_DEFAULT_FILE} .endif 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 post-patch-PTHREAD-off: ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%||g;' \ ${WRKSRC}/hints/freebsd.sh post-install: ${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.${PORTVERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so ${LN} -sf libperl.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so.${PERL_VER} ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION} # XXX Remove the ECHO_CMD # Force PERL_PORT in case the devel has the same version as the latest release ${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${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; \ do \ ${CHMOD} 644 $$f; \ ${STRIP_CMD} $$f; \ ${CHMOD} 444 $$f; \ done ${INSTALL_DATA} ${WRKDIR}/perl-man.conf ${STAGEDIR}${PREFIX}/etc/man.d/perl${PERL_VER}.conf .include Index: head/lang/perl5-devel/distinfo =================================================================== --- head/lang/perl5-devel/distinfo (revision 405235) +++ head/lang/perl5-devel/distinfo (revision 405236) @@ -1,2 +1,2 @@ -SHA256 (perl/perl-5.23.6-31_GH0.tar.gz) = 858b3efcb104f905653afe0e7c7090b060d61b0df535cf93cff463e91d046328 -SIZE (perl/perl-5.23.6-31_GH0.tar.gz) = 17654412 +SHA256 (perl/perl-5.23.6-46_GH0.tar.gz) = 7ca7e04ac7e239afb791e1d92167ad52ea6af0b670ef729d6b3180453a57137e +SIZE (perl/perl-5.23.6-46_GH0.tar.gz) = 17690370 Index: head/lang/perl5-devel/files/patch-cpan_podlators_lib_Pod_Man.pm =================================================================== --- head/lang/perl5-devel/files/patch-cpan_podlators_lib_Pod_Man.pm (revision 405235) +++ head/lang/perl5-devel/files/patch-cpan_podlators_lib_Pod_Man.pm (nonexistent) @@ -1,107 +0,0 @@ ---- cpan/podlators/lib/Pod/Man.pm.orig 2015-04-15 07:47:18 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-devel/files/patch-cpan_podlators_lib_Pod_Man.pm ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/lang/perl5-devel/files/patch-cpan_podlators_t_devise-date.t =================================================================== --- head/lang/perl5-devel/files/patch-cpan_podlators_t_devise-date.t (revision 405235) +++ head/lang/perl5-devel/files/patch-cpan_podlators_t_devise-date.t (nonexistent) @@ -1,39 +0,0 @@ ---- cpan/podlators/t/devise-date.t.orig 2015-04-15 07:47:18 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-devel/files/patch-cpan_podlators_t_devise-date.t ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property