lang/perl5.40: add Perl 5.40.0-RC1

Changes:	https://metacpan.org/release/HAARG/perl-5.40.0-RC1/view/pod/perldelta.pod
This commit is contained in:
Mathieu Arnold 2024-05-25 15:44:57 +02:00
commit 0665212028

View file

@ -48,6 +48,8 @@ USE_PERL5?= run build
.include "${PORTSDIR}/lang/perl5.36/version.mk"
. elif ${PERL5_DEFAULT} == 5.38
.include "${PORTSDIR}/lang/perl5.38/version.mk"
. elif ${PERL5_DEFAULT} == 5.40
.include "${PORTSDIR}/lang/perl5.40/version.mk"
. elif ${PERL5_DEFAULT} == devel
.include "${PORTSDIR}/lang/perl5-devel/version.mk"
# Force PERL_PORT here in case two identical PERL_VERSION.
@ -81,7 +83,9 @@ PERL_ARCH?= mach
# perl5_default file, or up there in the default versions selection.
# When adding a version, please keep the comment in
# Mk/bsd.default-versions.mk in sync.
. if ${PERL_LEVEL} >= 503800
. if ${PERL_LEVEL} >= 504000
PERL_PORT?= perl5.40
. elif ${PERL_LEVEL} >= 503800
PERL_PORT?= perl5.38
. elif ${PERL_LEVEL} >= 503600
PERL_PORT?= perl5.36

View file

@ -270,6 +270,7 @@
SUBDIR += perl5.34
SUBDIR += perl5.36
SUBDIR += perl5.38
SUBDIR += perl5.40
SUBDIR += petite-chez
SUBDIR += pfe
SUBDIR += pharo

287
lang/perl5.40/Makefile Normal file
View file

@ -0,0 +1,287 @@
PORTNAME= perl
DISTVERSION= ${PERL_VERSION}-RC1
PORTREVISION= 0
CATEGORIES= lang devel perl5
MASTER_SITES= CPAN/../../src/5.0
DIST_SUBDIR= perl
MAINTAINER= mat@FreeBSD.org
COMMENT= Practical Extraction and Report Language
WWW= https://www.perl.org/
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
LICENSE_FILE_ART10= ${WRKSRC}/Artistic
LICENSE_FILE_GPLv1+ = ${WRKSRC}/Copying
# Uncomment when the default Perl is switched to 5.3(X+2)
#DEPRECATED= Support end three years after .0 release, please upgrade to a more recent version of Perl
#EXPIRATION_DATE=<Release date of .0 + 3 years>
USES= cpe tar:xz
# Give a hint of where libperl.so can be found.
USE_LDCONFIG= ${PREFIX}/${_ARCH_LIB}/CORE
TEST_TARGET= test_harness
TEST_ENV= ${MAKE_ENV} \
LD_LIBRARY_PATH=${WRKSRC} \
TEST_JOBS=${MAKE_JOBS_NUMBER}
PORTSCOUT= limit:^${PERL_VER}.
HAS_CONFIGURE= yes
CONFIGURE_SCRIPT= Configure
CONFIGURE_ARGS= -Darchlib=${PREFIX}/${_ARCH_LIB} \
-Dcc="${CC}" \
-Dcf_by=${MAINTAINER:C,@.*,,} \
-Dcf_email=${MAINTAINER} \
-Dcf_time="`${STAT} -t \"%a %b %d %T %Z %Y\" -f %Sm ${_DISTDIR}/${DISTNAME}${EXTRACT_SUFX}`" \
-Dinc_version_list=none \
-Dlibperl=libperl.so.${PERL_VERSION} \
-Dman1dir=${PREFIX}/${PERLMANPREFIX_REL}/man/man1 \
-Dman3dir=${PREFIX}/${PERLMANPREFIX_REL}/man/man3 \
-Dprefix=${PREFIX} \
-Dprivlib=${PREFIX}/${_PRIV_LIB} \
-Dscriptdir=${PREFIX}/bin \
-Dsitearch=${SITE_ARCH} \
-Dsitelib=${SITE_PERL} \
-Dsiteman1dir=${SITE_MAN1} \
-Dsiteman3dir=${SITE_MAN3} \
-Dusenm=n \
-Duseshrplib \
-sde \
-Ui_iconv \
-Ui_malloc \
-Uinstallusrbinperl
# 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 -lperl' \
-Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL:R)'
# When built from a git repository, newvers.sh can put a = in the version.
CONFIGURE_ENV= UNAME_v="$$(uname -v | sed 'y/=/ /')"
SUB_FILES= perl-man.conf
INSTALL_TARGET= install-strip
.if defined(PERL_VENDOR_PREFIX)
CONFIGURE_ARGS+= -Dvendorarch=${PERL_VENDOR_PREFIX}/${_ARCH_LIB} \
-Dvendorbin=${PERL_VENDOR_PREFIX}/bin \
-Dvendorlib=${PERL_VENDOR_PREFIX}/${_PRIV_LIB} \
-Dvendorman1dir=${PERL_VENDOR_PREFIX}/man/man1 \
-Dvendorman3dir=${PERL_VENDOR_PREFIX}/${_PRIV_LIB}/man/man3 \
-Dvendorprefix=${PERL_VENDOR_PREFIX}
.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
PLIST_SUB= ARCH_LIB=${_ARCH_LIB} \
MAN1=${PERLMANPREFIX_REL}/man/man1 \
MAN3=${PERLMANPREFIX_REL}/man/man3 \
PERL_ARCH=${PERL_ARCH} \
PERL_ARCH_regex=[[:<:]]${PERL_ARCH}[[:>:]] \
PERL_VER=${PERL_VER} \
PERL_VERSION=${PERL_VERSION} \
PERLMANPREFIX=${PERLMANPREFIX_REL} \
PERLMANPREFIX_regex=${PERLMANPREFIX_REL}[[:>:]] \
PKGNAMESUFFIX=${PKGNAMESUFFIX} \
PRIV_LIB=${_PRIV_LIB} \
SITE_ARCH=${SITE_ARCH_REL} \
SITE_PERL=${SITE_PERL_REL} \
SITEMANPREFIX=${SITE_MAN_PREFIX}
SUB_LIST= PERL_ARCH=${PERL_ARCH} \
PERL_VER=${PERL_VER} \
PERL_VERSION=${PERL_VERSION} \
PERLMANPREFIX=${PERLMANPREFIX_REL} \
PRIV_LIB=${_PRIV_LIB} \
SITE_PERL=${SITE_PERL_REL} \
SITEMANPREFIX=${SITE_MAN_PREFIX}
.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}
PERLMANPREFIX_REL= ${_PRIV_LIB}/perl
PERLMANPREFIX= ${PREFIX}/${PERLMANPREFIX_REL}
MANDIRS= ${PERLMANPREFIX}/man
OPTIONS_DEFINE= DEBUG DOT_INC DTRACE GDBM MULTIPLICITY PERL_64BITINT \
PERL_MALLOC SITECUSTOMIZE THREADS
OPTIONS_DEFAULT= DTRACE MULTIPLICITY PERL_64BITINT THREADS
.if !exists(/usr/sbin/dtrace)
OPTIONS_EXCLUDE= DTRACE
.endif
.for a in aarch64 armv6 armv7 \
mips mips64 mips64el mips64elhf mips64hf mipsel mipselhf mipshf mipsn32 \
riscv64 riscv64sf
OPTIONS_EXCLUDE_${a}= DTRACE
.endfor
OPTIONS_SUB= yes
DOT_INC_DESC= Add '.' to @INC (unsafe)
GDBM_DESC= GDBM_File extension
MULTIPLICITY_DESC= Use multiplicity
PERL_64BITINT_DESC= Use 64 bit integers (on i386)
PERL_MALLOC_DESC= Use Perl malloc
SITECUSTOMIZE_DESC= Run-time customization of @INC
THREADS_DESC= Build threaded perl
DEBUG_CONFIGURE_ON= -DDEBUGGING \
-Doptimize="-g"
DEBUG_CONFIGURE_OFF= -Doptimize="${CFLAGS}"
DOT_INC_CONFIGURE_ON= -Ddefault_inc_excludes_dot=n
DTRACE_CONFIGURE_ON= -Dusedtrace
DTRACE_CONFIGURE_OFF= -Uusedtrace
GDBM_CONFIGURE_ON= -Di_gdbm
GDBM_CONFIGURE_OFF= -Ui_gdbm
GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm
MULTIPLICITY_CONFIGURE_ON= -Dusemultiplicity=y
MULTIPLICITY_CONFIGURE_OFF= -Dusemultiplicity=n
PERL_64BITINT_CONFIGURE_ON= -Duse64bitint
PERL_MALLOC_CONFIGURE_ON= -Dusemymalloc=y
PERL_MALLOC_CONFIGURE_OFF= -Dusemymalloc=n
SITECUSTOMIZE_CONFIGURE_ON= -Dusesitecustomize
THREADS_CONFIGURE_ON= -Dusethreads=y
THREADS_CONFIGURE_OFF= -Dusethreads=n
# Why this is required is explained in:
# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227356#c5
_PERL5_DEFAULT_FILE= /tmp/PERL5_DEFAULT
# Get the default version, and possibly, overwrite it.
.include <bsd.port.options.mk>
.sinclude "${_PERL5_DEFAULT_FILE}"
# 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}
.endif
# Am I building the default Perl ?
.if defined(IAMDEFAULTPERL)
PLIST_SUB+= BINSUFFIX="" \
DEFAULT=""
.else
BINSUFFIX= ${PERL_VERSION}
PLIST_SUB+= BINSUFFIX=${PERL_VERSION} \
DEFAULT="@comment "
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.
# 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.${PERL_VERSION} ${WRKSRC}/libperl.so
${LN} -s libperl.so.${PERL_VERSION} ${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-install:
@${REINPLACE_CMD} -e '/^lddlflags/s|-L${WRKSRC} ||' \
${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl
@${TOUCH} -r ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl.bak ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl
@${RM} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl.bak
.if ${CC} == /nxb-bin/usr/bin/cc
@${REINPLACE_CMD} -e 's=/nxb-bin==' \
${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config.pm ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl
# Restore Config.pm's timestamp so that Perl's build system does not think it
# needs to rebuild everything.
@${TOUCH} -r ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config.pm.bak ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config.pm
@${TOUCH} -r ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl.bak ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl
@${RM} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config.pm.bak ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl.bak
.endif
${MKDIR} ${STAGEDIR}${SITE_MAN1} ${STAGEDIR}${SITE_MAN3}
${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto
${MKDIR} ${STAGEDIR}${SITE_PERL}/auto
.if defined(IAMDEFAULTPERL)
${LN} -sf perl ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
.endif
${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}
${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${PKGNAMESUFFIX}.conf
.include <bsd.port.mk>

3
lang/perl5.40/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1716644177
SHA256 (perl/perl-5.40.0-RC1.tar.xz) = acadcaf629cefc8527b2dfc42517e005ffde62281af7fcd1d274ffd835afbdd7
SIZE (perl/perl-5.40.0-RC1.tar.xz) = 13789504

View file

@ -0,0 +1,37 @@
- Allow setting cf_time (reproducible builds)
- ?
- ?
--- Configure.orig 2024-04-26 09:23:35 UTC
+++ Configure
@@ -3916,7 +3916,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`
@@ -5044,7 +5047,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";;
@@ -9595,8 +9598,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~+

View file

@ -0,0 +1,12 @@
Allow customisation of shrpldflags.
--- Makefile.SH.orig 2022-06-19 19:29:35 UTC
+++ Makefile.SH
@@ -40,7 +40,6 @@ linklibperl_nonshr=''
pwd="`pwd`"
linklibperl='$(LIBPERL)'
linklibperl_nonshr=''
-shrpldflags='$(LDDLFLAGS)'
ldlibpth=''
DPERL_EXTERNAL_GLOB='-DPERL_EXTERNAL_GLOB'
DPERL_IS_MINIPERL='-DPERL_IS_MINIPERL'

View file

@ -0,0 +1,13 @@
Make installed files writable by the installing user.
--- cpan/ExtUtils-Install/lib/ExtUtils/Install.pm.orig 2021-01-04 00:39:17 UTC
+++ cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
@@ -795,7 +795,7 @@ sub install { #XXX OS-SPECIFIC
utime($atime,$mtime + _Is_VMS,$targetfile) unless $dry_run>1;
- $mode = 0444 | ( $mode & 0111 ? 0111 : 0 );
+ $mode = 0644 | ( $mode & 0111 ? 0111 : 0 );
$mode = $mode | 0222
if $realtarget ne $targetfile;
_chmod( $mode, $targetfile, $verbose );

View file

@ -0,0 +1,22 @@
Make installed files writable by the installing user. (fix tests)
--- cpan/ExtUtils-Install/t/Install.t.orig 2015-10-14 14:27:14 UTC
+++ cpan/ExtUtils-Install/t/Install.t
@@ -240,7 +240,7 @@ SKIP: {
},
]);
- ok( !writeable("$bigdir/DummyHard.pm"), 'DummyHard.pm not writeable' );
+ ok( writeable("$bigdir/DummyHard.pm"), 'DummyHard.pm writeable' );
use File::Compare;
ok(compare("$bigdir/Dummy.pm", "$bigdir/DummyHard.pm"),
@@ -264,7 +264,7 @@ SKIP: {
},
]);
- ok( !writeable("$bigdir/DummyOrig.pm"), 'DummyOrig.pm not writeable' );
+ ok( writeable("$bigdir/DummyOrig.pm"), 'DummyOrig.pm writeable' );
ok( !-l "$bigdir/Dummy.pm", 'Dummy.pm not a link' );
ok(compare("$bigdir/Dummy.pm", "$bigdir/DummyOrig.pm"),
"orig file should be different");

View file

@ -0,0 +1,20 @@
- Allow overriding PREFIX?
--- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm.orig 2020-10-18 21:18:11 UTC
+++ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
@@ -2032,13 +2032,14 @@ sub init_INSTALL_from_PREFIX {
('$(PREFIX)') x 3;
}
else {
+ $self->{PREFIX} ||= $iprefix;
$self->{PERLPREFIX} ||= $iprefix;
$self->{SITEPREFIX} ||= $sprefix;
$self->{VENDORPREFIX} ||= $vprefix;
# Lots of MM extension authors like to use $(PREFIX) so we
# put something sensible in there no matter what.
- $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
+ #$self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
}
my $arch = $Config{archname};

View file

@ -0,0 +1,22 @@
- Allow overriding PREFIX? (fix test)
--- cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t.orig 2020-10-18 21:18:11 UTC
+++ cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
@@ -11,7 +11,7 @@ BEGIN {
use strict;
use warnings;
-use Test::More tests => 52;
+use Test::More tests => 51;
use MakeMaker::Test::Utils;
use MakeMaker::Test::Setup::BFD;
use ExtUtils::MakeMaker;
@@ -65,7 +65,7 @@ like( $stdout->read, qr{
(?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)?
}x );
-is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
+## is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
isa_ok( $mm, 'ExtUtils::MakeMaker' );

View file

@ -0,0 +1,16 @@
Put back some non dumb outputter by default
--- cpan/Pod-Perldoc/lib/Pod/Perldoc.pm.orig 2019-03-12 16:47:18 UTC
+++ cpan/Pod-Perldoc/lib/Pod/Perldoc.pm
@@ -486,6 +486,11 @@ sub init_formatter_class_list {
$self->opt_M_with('Pod::Perldoc::ToPod'); # the always-there fallthru
$self->opt_o_with('text');
+ $self->opt_o_with('man')
+ unless $self->is_mswin32 || $self->is_dos || $self->is_amigaos
+ || !($ENV{TERM} && (
+ ($ENV{TERM} || '') !~ /dumb|emacs|none|unknown/i
+ ));
return;
}

View file

@ -0,0 +1,24 @@
- Handle MANWIDTH=tty
- Reset $? before opening mandoc so that the outputter works.
--- cpan/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm.orig 2019-03-11 04:03:26 UTC
+++ cpan/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm
@@ -108,6 +108,8 @@ sub _get_columns_from_manwidth {
return 0 unless defined $ENV{MANWIDTH};
+ if ($ENV{MANWIDTH} eq 'tty') { return 0; }
+
unless( $ENV{MANWIDTH} =~ m/\A\d+\z/ ) {
$self->warn( "Ignoring non-numeric MANWIDTH ($ENV{MANWIDTH})\n" );
return 0;
@@ -309,6 +311,9 @@ sub _filter_through_nroff {
require Symbol;
require IPC::Open3;
require IO::Handle;
+
+ # Reset this???
+ $?=0;
my $pid = IPC::Open3::open3(
my $writer,

View file

@ -0,0 +1,13 @@
Handle MANWIDTH=tty
--- cpan/Pod-Perldoc/lib/Pod/Perldoc/ToTerm.pm.orig 2017-04-03 07:28:44 UTC
+++ cpan/Pod-Perldoc/lib/Pod/Perldoc/ToTerm.pm
@@ -69,6 +69,8 @@ sub _get_columns_from_manwidth {
return 0 unless defined $ENV{MANWIDTH};
+ if ($ENV{MANWIDTH} eq 'tty') { return 0; }
+
unless( $ENV{MANWIDTH} =~ m/\A\d+\z/ ) {
$self->warn( "Ignoring non-numeric MANWIDTH ($ENV{MANWIDTH})\n" );
return 0;

View file

@ -0,0 +1,47 @@
Remove libs that are not here on FreeBSD.
--- hints/freebsd.sh.orig 2020-12-18 09:58:48 UTC
+++ hints/freebsd.sh
@@ -88,8 +88,6 @@ case "$osvers" in
esac
libswanted=`echo $libswanted | sed 's/ malloc / /'`
libswanted=`echo $libswanted | sed 's/ bind / /'`
- # iconv gone in Perl 5.8.1, but if someone compiles 5.8.0 or earlier.
- libswanted=`echo $libswanted | sed 's/ iconv / /'`
d_setregid='define'
d_setreuid='define'
d_setegid='define'
@@ -102,8 +100,13 @@ case "$osvers" in
;;
esac
libswanted=`echo $libswanted | sed 's/ malloc / /'`
+ libswanted=`echo $libswanted | sed 's/ bind / /'`
;;
esac
+libswanted=`echo $libswanted | sed 's/ c / /'`
+# Use -pthread so the compiler adds -lpthread at the right place on the
+# linker command line so its init functions run early.
+libswanted=`echo $libswanted | sed 's/ pthread / /'`
case "$osvers" in
10.*)
@@ -269,19 +272,6 @@ EOM
esac
- case "$osvers" in
- [1-4]*)
- set `echo X "$libswanted "| sed -e 's/ c / c_r /'`
- shift
- libswanted="$*"
- ;;
- *)
- set `echo X "$libswanted "| sed -e 's/ c //'`
- shift
- libswanted="$*"
- ;;
- esac
-
# Configure will probably pick the wrong libc to use for nm scan.
# The safest quick-fix is just to not use nm at all...
usenm=false

View file

@ -0,0 +1,28 @@
Remove compile time information (reproducible builds)
--- perl.c.orig 2024-04-16 10:42:57 UTC
+++ perl.c
@@ -2092,23 +2092,7 @@ S_Internals_V(pTHX_ CV *cv)
PUSHs(Perl_newSVpvn_flags(aTHX_ non_bincompat_options,
sizeof(non_bincompat_options) - 1, SVs_TEMP));
-#ifndef PERL_BUILD_DATE
-# ifdef __DATE__
-# ifdef __TIME__
-# define PERL_BUILD_DATE __DATE__ " " __TIME__
-# else
-# define PERL_BUILD_DATE __DATE__
-# endif
-# endif
-#endif
-
-#ifdef PERL_BUILD_DATE
- PUSHs(Perl_newSVpvn_flags(aTHX_
- STR_WITH_LEN("Compiled at " PERL_BUILD_DATE),
- SVs_TEMP));
-#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. */

View file

@ -0,0 +1,19 @@
Fix tests for modified files.
--- t/porting/customized.dat.orig 2024-04-26 09:23:35 UTC
+++ t/porting/customized.dat
@@ -4,12 +4,13 @@
AutoLoader cpan/AutoLoader/t/02AutoSplit.t bb90cda13b88599ad45de4b45799d5218afcb6d8
ExtUtils::Constant cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Base.pm 7560e1018f806db5689dee78728ccb8374aea741
ExtUtils::Constant cpan/ExtUtils-Constant/t/Constant.t 165e9c7132b003fd192d32a737b0f51f9ba4999e
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm ac29a8dc1c7d6f0aca4abff0730c05bde1dab3ad
Filter::Util::Call pod/perlfilter.pod d1e217d0bc6083755b9017050b8724472c58275a
Locale::Maketext::Simple cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm 57ed38905791a17c150210cd6f42ead22a7707b6
MIME::Base64 cpan/MIME-Base64/Base64.xs ad617fe2d01932c35b92defa26d40aba601a95a8
MIME::Base64 cpan/MIME-Base64/lib/MIME/Base64.pm 18e38d197c7c83f96b24f48bef514e93908e6a82
MIME::Base64 cpan/MIME-Base64/lib/MIME/QuotedPrint.pm 36cbb455ab57b9bbca7e86f50987c8b1df1a8122
-Pod::Perldoc cpan/Pod-Perldoc/lib/Pod/Perldoc.pm 582be34c077c9ff44d99914724a0cc2140bcd48c
+Pod::Perldoc cpan/Pod-Perldoc/lib/Pod/Perldoc.pm 8b35c5a137791b0cfedcffd2937cb3b5fb984cac
Scalar::Util cpan/Scalar-List-Utils/t/uniqnum.t 553b0df79a084015b39e4ae9774f801c9eafeb4c
Time::Piece cpan/Time-Piece/Piece.pm 8cec8b66183ceddb9bf2b6af35dcdd345bc9adfa
Time::Piece cpan/Time-Piece/Piece.xs 543152540ee17788a638b2c5746b86c3d04401d1

View file

@ -0,0 +1,2 @@
MANPATH %%PREFIX%%/%%SITEMANPREFIX%%/man
MANPATH %%PREFIX%%/%%PERLMANPREFIX%%/man

4
lang/perl5.40/pkg-descr Normal file
View file

@ -0,0 +1,4 @@
Perl is a language that combines some of the features of C, sed, awk and
shell. See the manual page for more hype. There are also many books
published by O'Reilly & Assoc. See pod/perlbook.pod for more
information.

2787
lang/perl5.40/pkg-plist Normal file

File diff suppressed because it is too large Load diff

2
lang/perl5.40/version.mk Normal file
View file

@ -0,0 +1,2 @@
PERL_VERSION= 5.40.0
PERL5_DEPEND= perl5>=5.40.r<5.41