diff options
-rw-r--r-- | doc/CHANGES | 3 | ||||
-rw-r--r-- | lang/perl5/DESCR | 20 | ||||
-rw-r--r-- | lang/perl5/Makefile | 67 | ||||
-rw-r--r-- | lang/perl5/distinfo | 36 | ||||
-rw-r--r-- | lang/perl5/files/perllink.1 | 4 | ||||
-rw-r--r-- | lang/perl5/files/perllink.in | 16 | ||||
-rw-r--r-- | lang/perl5/hacks.mk | 18 | ||||
-rw-r--r-- | lang/perl5/packlist.mk | 4 | ||||
-rw-r--r-- | lang/perl5/patches/patch-aa | 112 | ||||
-rw-r--r-- | lang/perl5/patches/patch-ah | 8 | ||||
-rw-r--r-- | lang/perl5/patches/patch-am | 14 | ||||
-rw-r--r-- | lang/perl5/patches/patch-an | 43 | ||||
-rw-r--r-- | lang/perl5/patches/patch-ap | 16 | ||||
-rw-r--r-- | lang/perl5/patches/patch-bd | 28 | ||||
-rw-r--r-- | lang/perl5/patches/patch-ca | 40 | ||||
-rw-r--r-- | lang/perl5/patches/patch-cb | 6 | ||||
-rw-r--r-- | lang/perl5/patches/patch-ch | 6 | ||||
-rw-r--r-- | lang/perl5/patches/patch-ci | 15 | ||||
-rw-r--r-- | lang/perl5/patches/patch-cl | 21 | ||||
-rw-r--r-- | lang/perl5/patches/patch-zc | 14 |
20 files changed, 219 insertions, 272 deletions
diff --git a/doc/CHANGES b/doc/CHANGES index 189797309c7..1f0deb7be2b 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -1,4 +1,4 @@ -$NetBSD: CHANGES,v 1.13514 2006/04/09 01:01:47 schmonz Exp $ +$NetBSD: CHANGES,v 1.13515 2006/04/09 06:34:34 jlam Exp $ Changes to the packages collection and infrastructure in 2006: @@ -1982,3 +1982,4 @@ Changes to the packages collection and infrastructure in 2006: Updated finance/gnucash-devel to 1.9.4 [wiz 2006-04-08] Updated devel/g-wrap to 1.9.6nb2 [wiz 2006-04-08] Updated textproc/p5-XML-RSS-Parser to 4.0 [schmonz 2006-04-09] + Updated lang/perl5 to 5.8.8 [jlam 2006-04-09] diff --git a/lang/perl5/DESCR b/lang/perl5/DESCR index ace5f12f3c1..d4d2bffcdfe 100644 --- a/lang/perl5/DESCR +++ b/lang/perl5/DESCR @@ -1,11 +1,9 @@ -Perl is a high-level programming language with an eclectic heritage -written by Larry Wall and a cast of thousands. It derives from the -ubiquitous C programming language and to a lesser extent from sed, awk, -the Unix shell, and at least a dozen other tools and languages. Perl's -process, file, and text manipulation facilities make it particularly -well-suited for tasks involving quick prototyping, system utilities, -software tools, system management tasks, database access, graphical -programming, networking, and world wide web programming. These strengths -make it especially popular with system administrators and CGI script -authors, but mathematicians, geneticists, journalists, and even managers -also use Perl. Maybe you should, too. +Perl is a general-purpose programming language originally developed +for text manipulation and now used for a wide range of tasks including +system administration, web development, network programming, GUI +development, and more. The language is intended to be practical (easy +to use, efficient, complete) rather than beautiful (tiny, elegant, +minimal). Its major features are that it's easy to use, supports both +procedural and object-oriented (OO) programming, has powerful built-in +support for text processing, and has one of the world's most impressive +collections of third-party modules. diff --git a/lang/perl5/Makefile b/lang/perl5/Makefile index d6368d6ef1d..e5533650cba 100644 --- a/lang/perl5/Makefile +++ b/lang/perl5/Makefile @@ -1,26 +1,11 @@ -# $NetBSD: Makefile,v 1.116 2006/01/19 02:09:09 joerg Exp $ +# $NetBSD: Makefile,v 1.117 2006/04/09 06:34:32 jlam Exp $ -DISTNAME= perl-5.8.7 -PKGREVISION= 8 +DISTNAME= perl-5.8.8 CATEGORIES= lang devel perl5 MASTER_SITES= ${MASTER_SITE_PERL_CPAN:S,/modules/by-module/$,/src/,} EXTRACT_SUFX= .tar.bz2 DISTFILES+= ${DISTNAME}${EXTRACT_SUFX} -# Vendor patch to fix the security vulnerability CVE-2005-3962 regarding -# an sprintf buffer overflow attack. -# -PATCHFILES= sprintf-5.8.7.patch -PATCH_SITES= ${MASTER_SITE_PERL_CPAN:=../../authors/id/N/NW/NWCLARK/} -PATCH_DIST_STRIP= -p1 - -# Update the base Sys-Syslog package to a version which fixes a security -# vulnerabilty CVE-2005-3912 regarding the proper arguments for syslog(). -# -SYS_SYSLOG= Sys-Syslog-0.13 -SITES_${SYS_SYSLOG}.tar.gz= ${MASTER_SITE_PERL_CPAN:=Sys/} -DISTFILES+= ${SYS_SYSLOG}.tar.gz - MAINTAINER= jlam@pkgsrc.org HOMEPAGE= http://www.perl.org/ COMMENT= Practical Extraction and Report Language @@ -33,7 +18,8 @@ CONFLICTS= perl-base-[0-9]* perl-thread-[0-9]* \ # Determine the Perl API version from the patchlevel.h file from the # source distribution. # -PERL5_API_VERS_cmd= \ +PERL5_API_VERS= ${PERL5_API_VERS_cmd:sh} +PERL5_API_VERS_cmd= \ if ${TEST} -f ${WRKSRC}/patchlevel.h; then \ ${AWK} '/\#define[ ]*PERL_API_REVISION/ { R = $$3 }\ /\#define[ ]*PERL_API_VERSION/ { r = "."$$3 } \ @@ -43,7 +29,6 @@ PERL5_API_VERS_cmd= \ else \ ${ECHO} "unknown"; \ fi -PERL5_API_VERS= ${PERL5_API_VERS_cmd:sh} PERL5_PREFIX= ${PREFIX} PERL5_VENDORPREFIX= ${PERL5_PREFIX} @@ -112,17 +97,21 @@ CONFIGURE_ARGS+= -Dprivlib=${PERL5_PRIVLIB:Q} CONFIGURE_ARGS+= -Dsitelib=${PERL5_SITELIB:Q} CONFIGURE_ARGS+= -Dvendorlib=${PERL5_VENDORLIB:Q} +# Search for version-specific directories under these directories. +CONFIGURE_ARGS+= -Dsitelib_stem=${PERL5_SITEBASE:Q} +CONFIGURE_ARGS+= -Dvendorlib_stem=${PERL5_VENDORBASE:Q} + # Avoid manpage conflicts between the standard Perl library, 3rd-party # modules, and other packages. # CONFIGURE_ARGS+= -Dman1ext="1" -CONFIGURE_ARGS+= -Dman1dir=${PERL5_PERLBASE:Q}/man/man1 -CONFIGURE_ARGS+= -Dsiteman1dir=${PERL5_SITEBASE:Q}/man/man1 -CONFIGURE_ARGS+= -Dvendorman1dir=${PERL5_VENDORBASE:Q}/man/man1 +CONFIGURE_ARGS+= -Dman1dir=${PERL5_PERLBASE:Q}/${PKGMANDIR:Q}/man1 +CONFIGURE_ARGS+= -Dsiteman1dir=${PERL5_SITEBASE:Q}/${PKGMANDIR:Q}/man1 +CONFIGURE_ARGS+= -Dvendorman1dir=${PERL5_VENDORBASE:Q}/${PKGMANDIR:Q}/man1 CONFIGURE_ARGS+= -Dman3ext="3" -CONFIGURE_ARGS+= -Dman3dir=${PERL5_PERLBASE:Q}/man/man3 -CONFIGURE_ARGS+= -Dsiteman3dir=${PERL5_SITEBASE:Q}/man/man3 -CONFIGURE_ARGS+= -Dvendorman3dir=${PERL5_VENDORBASE:Q}/man/man3 +CONFIGURE_ARGS+= -Dman3dir=${PERL5_PERLBASE:Q}/${PKGMANDIR:Q}/man3 +CONFIGURE_ARGS+= -Dsiteman3dir=${PERL5_SITEBASE:Q}/${PKGMANDIR:Q}/man3 +CONFIGURE_ARGS+= -Dvendorman3dir=${PERL5_VENDORBASE:Q}/${PKGMANDIR:Q}/man3 .if ${OPSYS} == "Darwin" # @@ -251,18 +240,6 @@ SUBST_FILES.dirmode= installhtml installman installperl \ lib/ExtUtils/Install.pm SUBST_SED.dirmode= -e "s/755/${PKGDIRMODE}/g;/umask(/d" -SUBST_CLASSES+= paths -SUBST_FILES.paths= ${WRKDIR}/perllink -SUBST_SED.paths+= -e 's,@PERL5@,${PERL5},g' -SUBST_SED.paths+= -e 's,@SH@,${SH},g' -SUBST_STAGE.paths= post-patch - -# Replace the base Sys-Syslog module with the fixed version. -post-extract: - ${RM} -fr ${WRKSRC}/ext/Sys/Syslog - ${CP} -r ${WRKDIR}/${SYS_SYSLOG} ${WRKSRC}/ext/Sys/Syslog - ${CP} ${FILESDIR}/perllink.in ${WRKDIR}/perllink - # It's tough to guess which hints file will be used, so add our modifications # to all of them: # @@ -319,7 +296,13 @@ pre-configure: done .endif -INSTALLATION_DIRS= bin man/man1 +post-build: + ${SED} -e "s,@PERL5@,"${PERL5:Q}",g" \ + -e "s,@SH@,"${SH:Q}",g" \ + -e "s,@PKGMANDIR@,"${PKGMANDIR:Q}",g" \ + ${FILESDIR}/perllink.in > ${WRKDIR}/perllink.sh + +INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 PERL5_PACKLIST_DIR_cmd= eval `${PERL5} -V:installarchlib 2>/dev/null`; \ echo $$installarchlib PERL5_PACKLIST_DIR= ${PERL5_PACKLIST_DIR_cmd:sh} @@ -340,11 +323,13 @@ perl5-post-install: ${RMDIR} -p $$installvendorarch 2>/dev/null || ${TRUE}; \ eval `${PERL5} -V:scriptdir 2>/dev/null`; \ eval `${PERL5} -V:man1dir 2>/dev/null`; \ - ${INSTALL_SCRIPT} ${WRKDIR}/perllink $$scriptdir/perllink; \ + ${INSTALL_SCRIPT} ${WRKDIR}/perllink.sh $$scriptdir/perllink; \ ${INSTALL_MAN} ${FILESDIR}/perllink.1 $$man1dir/perllink.1; \ - ${RM} -f ${PREFIX}/bin/perllink ${PREFIX}/man/man1/perllink.1; \ + ${RM} -f ${PREFIX}/bin/perllink \ + ${PREFIX}/${PKGMANDIR}/man1/perllink.1; \ ${LN} -s $$scriptdir/perllink ${PREFIX}/bin/perllink; \ - ${LN} -s $$man1dir/perllink.1 ${PREFIX}/man/man1/perllink.1; \ + ${LN} -s $$man1dir/perllink.1 \ + ${PREFIX}/${PKGMANDIR}/man1/perllink.1; \ { ${CAT} ${PKGDIR}/PLIST; \ ${ECHO} "$$scriptdir/perllink"; \ ${ECHO} "$$man1dir/perllink.1"; \ diff --git a/lang/perl5/distinfo b/lang/perl5/distinfo index 1e9dce28e6c..fa93a2bb36f 100644 --- a/lang/perl5/distinfo +++ b/lang/perl5/distinfo @@ -1,28 +1,20 @@ -$NetBSD: distinfo,v 1.32 2006/01/13 20:04:48 jlam Exp $ +$NetBSD: distinfo,v 1.33 2006/04/09 06:34:32 jlam Exp $ -SHA1 (perl-5.8.7.tar.bz2) = c9477c6fe76b200033694bdc555a0276523d4228 -RMD160 (perl-5.8.7.tar.bz2) = 110c286d73fd89e25da8ea394e763f209a76d283 -Size (perl-5.8.7.tar.bz2) = 9839086 bytes -SHA1 (Sys-Syslog-0.13.tar.gz) = 172a5aed0a3fe30b1b3e1b4def504248791862b3 -RMD160 (Sys-Syslog-0.13.tar.gz) = 3105071ac2652f651d6ced467564aaadaab77d84 -Size (Sys-Syslog-0.13.tar.gz) = 16894 bytes -SHA1 (sprintf-5.8.7.patch) = 3327901033010a595d97a28fef6d1a144951f342 -RMD160 (sprintf-5.8.7.patch) = 25c81b3441491996efbf4b036c37f8d537dd9131 -Size (sprintf-5.8.7.patch) = 9332 bytes -SHA1 (patch-aa) = 965df39b13e67783e851838cf51b34bb248642e8 +SHA1 (perl-5.8.8.tar.bz2) = 4aab490040727ca4419098720eca2ba4367df539 +RMD160 (perl-5.8.8.tar.bz2) = e78f26d9b96e6db35f946ad4ff55e3a69385c71b +Size (perl-5.8.8.tar.bz2) = 10123359 bytes +SHA1 (patch-aa) = 9b6844635086206dc7740103747a2b54bf987941 SHA1 (patch-ae) = 044ac094cd475a16483552aa6f1bde03bd11f592 -SHA1 (patch-ah) = 7847562d35cd4834a45139b6a8cfe766aa45fa0a -SHA1 (patch-am) = f82f8fd7fa372f1d47b057b6051613d66dc4bc23 -SHA1 (patch-an) = 25c0991dba16ebe11422a97f544cb100e8da56b8 +SHA1 (patch-ah) = 39b1a46a0ee5e73b4707a3d947fe17016df9630a +SHA1 (patch-am) = cf1687063d0c0542e811545aaaad291bad12d75e +SHA1 (patch-an) = 987763c3098bf4356993dd6d8741962a1ff8190d +SHA1 (patch-ap) = 178d6909a8aa6544b849c2b63530fcf1893b77ea SHA1 (patch-ba) = 096835f71a69f29e50bdad47944afa838dba5aec -SHA1 (patch-bd) = 9f96ba1912f2a8db93db31f7a63c0b49a045318d -SHA1 (patch-ca) = 47c05240424e400910a99b86aada6e7f46061459 -SHA1 (patch-cb) = 1a67bf37338de9b8e24e90ddad90205ec4fbb6c8 +SHA1 (patch-ca) = 5ed14e043a6d5f8dadf5711b59418f01aa5f6f21 +SHA1 (patch-cb) = 65e523885a404b79349a5c9601fe52965772d820 SHA1 (patch-ce) = 6b1efab32c6bc28e0faf7522322e6d805eb21730 -SHA1 (patch-ch) = 028439dde97f1d5a94fbd571a59fd0ab2c5b3b07 -SHA1 (patch-ci) = 908a8bb35c088b994bde49707ab1536b4ab3d7a4 +SHA1 (patch-ch) = a0831869e23d4a66588e6e27eecedb08527c9498 +SHA1 (patch-ci) = fe943f07044efa457d163eb86974ea10bb356226 SHA1 (patch-cj) = 3f40f1b166a054d55224c3e79d74516ca608b696 SHA1 (patch-ck) = 28207b8186c9ad194a1edc696159915bc16d1097 -SHA1 (patch-cl) = 8553c83e721f5ae43a5f6e0e4d2b70510b69e77c -SHA1 (patch-cm) = a995fbf9d6c5b2c4d42c975bc0ea2ae7a8a292b8 -SHA1 (patch-zc) = eb81edd1144ec46285898afc641c03a3aad54977 +SHA1 (patch-zc) = 0c61b6028813e0f80bfe0760a1e74e3037d37cdd diff --git a/lang/perl5/files/perllink.1 b/lang/perl5/files/perllink.1 index 71154ac12c0..8da29c7d805 100644 --- a/lang/perl5/files/perllink.1 +++ b/lang/perl5/files/perllink.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: perllink.1,v 1.1 2005/08/06 06:18:45 jlam Exp $ +.\" $NetBSD: perllink.1,v 1.2 2006/04/09 06:34:32 jlam Exp $ .\" .\" Copyright (c) 2005 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -123,4 +123,4 @@ are being executed. .Xr symlink 2 .Sh AUTHORS .An Johnny C. Lam -.Aq jlam@NetBSD.org +.Aq jlam@pkgsrc.org diff --git a/lang/perl5/files/perllink.in b/lang/perl5/files/perllink.in index 44dfacca2d5..820d9ab2bd1 100644 --- a/lang/perl5/files/perllink.in +++ b/lang/perl5/files/perllink.in @@ -1,5 +1,5 @@ #!@SH@ -# $NetBSD: perllink.in,v 1.1 2005/08/06 06:18:45 jlam Exp $ +# $NetBSD: perllink.in,v 1.2 2006/04/09 06:34:32 jlam Exp $ # # Copyright (c) 2005 The NetBSD Foundation, Inc. # All rights reserved. @@ -38,8 +38,12 @@ # # This script parses the packlists listed on the command line and either -# adds or deletes the symlinks in <prefix>/bin and <prefix>/man/man1 that -# match the files in the packlists. +# adds or deletes the symlinks in +# +# <prefix>/bin +# <prefix>/@PKGMANDIR@/man1 +# +# that match the files in the packlists. # perlprog="@PERL5@" @@ -89,6 +93,8 @@ fi test -n "$opt_prefix" || opt_prefix="$prefix" +pkgmandir="@PKGMANDIR@" + # Re-point variables so that if they are under $prefix, then they are # recomputed to point under $opt_prefix. # @@ -98,7 +104,7 @@ $prefix/*) scriptdir="$opt_prefix/${scriptdir#$prefix/}" ;; esac case "$man1dir" in $prefix/*) man1dir="$opt_prefix/${man1dir#$prefix/}" ;; -"") man1dir="$opt_prefix/man/man1" ;; +"") man1dir="$opt_prefix/$pkgmandir/man1" ;; esac case "$siteprefix" in $prefix/*) siteprefix="$opt_prefix/${siteprefix#$prefix/}" ;; @@ -126,7 +132,7 @@ $prefix/*) vendorman1dir="$opt_prefix/${vendorman1dir#$prefix/}" ;; esac destbindir="$opt_prefix/bin" -destman1dir="$opt_prefix/man/man1" +destman1dir="$opt_prefix/$pkgmandir/man1" echo __dummy__ | perl -pe '0' $opt_packlists | { while read file junk; do diff --git a/lang/perl5/hacks.mk b/lang/perl5/hacks.mk index 1aa7403fbdb..7e11c5008d2 100644 --- a/lang/perl5/hacks.mk +++ b/lang/perl5/hacks.mk @@ -1,4 +1,4 @@ -# $NetBSD: hacks.mk,v 1.2 2005/12/05 20:50:26 rillig Exp $ +# $NetBSD: hacks.mk,v 1.3 2006/04/09 06:34:32 jlam Exp $ .include "../../mk/compiler.mk" @@ -35,22 +35,6 @@ PKG_HACKS+= powerpc-codegen BUILDLINK_TRANSFORM+= rm:-O[0-9]* .endif -### [Fri Dec 10 18:09:51 EST 2004 : jlam] -### On VAX, feeding a base "NaN" to nawk causes nawk to core dump since -### it tries to interpret it as a number, which causes an FP exception. -### Modify files that pass through nawk to not have bare "NaN"s. -### -.if !empty(MACHINE_PLATFORM:M*-*-vax) -PKG_HACKS+= NaN-vax-exception -.PHONY: NaN-vax-exception -pre-configure: NaN-vax-exception -NaN-vax-exception: - cd ${WRKSRC}; for file in MANIFEST; do \ - ${MV} $$file $$file.NaN; \ - ${SED} -e "s,NaN,*NaN*,g" $$file.NaN > $$file; \ - done -.endif - ### [Fri Dec 10 18:46:19 EST 2004 : jlam] ### On NetBSD/alpha, building perl with -mieee causes perl to not pass ### the test for integer.pm (pkg/28498). Until this is fixed in either diff --git a/lang/perl5/packlist.mk b/lang/perl5/packlist.mk index 7a523d1f7a7..e5c2fb86c13 100644 --- a/lang/perl5/packlist.mk +++ b/lang/perl5/packlist.mk @@ -1,4 +1,4 @@ -# $NetBSD: packlist.mk,v 1.4 2006/03/14 01:14:29 jlam Exp $ +# $NetBSD: packlist.mk,v 1.5 2006/04/09 06:34:32 jlam Exp $ # # This Makefile fragment is intended to be included by packages that # create packlist files. This file is automatically included by @@ -70,7 +70,7 @@ GENERATE_PLIST+= ${PERL5_GENERATE_PLIST}; ### _PERL5_PACKLIST_MANPAGE_RE= \ - ^(\/[^ \/]*)*\/man(\/[^ \/]*)?\/(man[1-9ln]\/[^ \/]*\.[1-9ln]|cat[1-9ln]\/[^ \/]*\.[0-9]) + ^(\/[^ \/]*)+\/(man[1-9ln]\/[^ \/]*\.[1-9ln]|cat[1-9ln]\/[^ \/]*\.[0-9]) _PERL5_PACKLIST_AWK_STRIP_MANZ= \ /${_PERL5_PACKLIST_MANPAGE_RE}\.gz/ \ diff --git a/lang/perl5/patches/patch-aa b/lang/perl5/patches/patch-aa index f5b58f45ffd..f8d5b4b2b0a 100644 --- a/lang/perl5/patches/patch-aa +++ b/lang/perl5/patches/patch-aa @@ -1,89 +1,43 @@ -$NetBSD: patch-aa,v 1.29 2005/08/12 19:59:03 jlam Exp $ +$NetBSD: patch-aa,v 1.30 2006/04/09 06:34:32 jlam Exp $ ---- lib/ExtUtils/MM_Unix.pm.orig 2004-01-05 17:34:59.000000000 -0500 +--- lib/ExtUtils/MM_Unix.pm.orig 2005-05-21 05:42:56.000000000 -0400 +++ lib/ExtUtils/MM_Unix.pm -@@ -12,7 +12,7 @@ use DirHandle; +@@ -12,8 +12,8 @@ use DirHandle; use vars qw($VERSION @ISA - $Is_Mac $Is_OS2 $Is_VMS $Is_Win32 $Is_Win95 $Is_Dos $Is_VOS -- $Is_QNX $Is_AIX $Is_OSF $Is_IRIX $Is_NetBSD $Is_BSD -+ $Is_QNX $Is_AIX $Is_OSF $Is_IRIX $Is_BSD $Is_Interix - $Is_SunOS4 $Is_Solaris $Is_SunOS - $Verbose %pm %static + $Is_OS2 $Is_VMS $Is_Win32 $Is_Dos +- $Is_OSF $Is_IRIX $Is_NetBSD $Is_BSD +- $Is_SunOS4 $Is_Solaris $Is_SunOS $Is_Interix ++ $Is_OSF $Is_IRIX $Is_BSD ++ $Is_SunOS4 $Is_Solaris $Is_SunOS + $Verbose %pm %Config_Override -@@ -36,11 +36,11 @@ $Is_QNX = $^O eq 'qnx'; - $Is_AIX = $^O eq 'aix'; - $Is_OSF = $^O eq 'dec_osf'; - $Is_IRIX = $^O eq 'irix'; --$Is_NetBSD = $^O eq 'netbsd'; -+$Is_Interix = $^O eq 'interix'; - $Is_SunOS4 = $^O eq 'sunos'; - $Is_Solaris = $^O eq 'solaris'; - $Is_SunOS = $Is_SunOS4 || $Is_Solaris; --$Is_BSD = $^O =~ /^(?:free|net|open)bsd|bsdos$/; -+$Is_BSD = $^O =~ /^(?:free|net|open)bsd|bsdos|dragonfly|interix$/; - - - =head1 NAME -@@ -1120,16 +1120,16 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $ + ); +@@ -32,13 +32,11 @@ BEGIN { + $Is_VMS = $^O eq 'VMS'; + $Is_OSF = $^O eq 'dec_osf'; + $Is_IRIX = $^O eq 'irix'; +- $Is_NetBSD = $^O eq 'netbsd'; +- $Is_Interix = $^O eq 'interix'; + $Is_SunOS4 = $^O eq 'sunos'; + $Is_Solaris = $^O eq 'solaris'; + $Is_SunOS = $Is_SunOS4 || $Is_Solaris; + $Is_BSD = $^O =~ /^(?:free|net|open)bsd$/ or +- $^O eq 'bsdos' or $^O eq 'interix'; ++ $^O eq 'bsdos' or $^O eq 'dragonfly' or $^O eq 'interix'; + } + + BEGIN { +@@ -928,7 +926,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $ my $libs = '$(LDLOADLIBS)'; -- if ($Is_NetBSD) { -- # Use nothing on static perl platforms, and to the flags needed -- # to link against the shared libperl library on shared perl -- # platforms. We peek at lddlflags to see if we need -Wl,-R -+ if ($Is_BSD) { -+ # Use nothing on static perl platforms, and add to the flags -+ # needed to link against the shared libperl library on shared -+ # perl platforms. We peek at lddlflags to see if we need -Wl,-R - # or -R to add paths to the run-time library search path. - if ($Config{'useshrplib'}) { - if ($Config{'lddlflags'} =~ /-Wl,-R/) { -- $libs .= ' -L$(PERL_INC) -Wl,-R$(INSTALLARCHLIB)/CORE -lperl'; -+ $libs .= ' -L$(PERL_INC) -Wl,-R$(INSTALLARCHLIB)/CORE -Wl,-R$(PERL_ARCHLIB)/CORE -lperl'; - } elsif ($Config{'lddlflags'} =~ /-R/) { -- $libs .= ' -L$(PERL_INC) -R$(INSTALLARCHLIB)/CORE -lperl'; -+ $libs .= ' -L$(PERL_INC) -R$(INSTALLARCHLIB)/CORE -R$(PERL_ARCHLIB)/CORE -lperl'; - } - } - } -@@ -2082,6 +2082,21 @@ sub init_INSTALL { - $self->catdir($sprefix, 'bin'); - } - -+ unless( $Config{installsitescript} ) { -+ $Config_Override{installsitescript} = -+ $self->catdir($sprefix, 'bin'); -+ } -+ -+ unless( $Config{installvendorbin} ) { -+ $Config_Override{installvendorbin} = -+ $self->catdir($vprefix, 'bin'); -+ } -+ -+ unless( $Config{installvendorscript} ) { -+ $Config_Override{installvendorscript} = -+ $self->catdir($vprefix, 'bin'); -+ } -+ - $self->{PREFIX} ||= ''; - - if( $self->{PREFIX} ) { -@@ -2127,6 +2142,12 @@ sub init_INSTALL { - script => { s => $iprefix, - t => 'perl', - d => 'bin' }, -+ vendorscript => { s => $vprefix, -+ t => 'vendor', -+ d => 'bin' }, -+ sitescript => { s => $sprefix, -+ t => 'site', -+ d => 'bin' }, - ); - - my %man_layouts = -@@ -2519,7 +2540,7 @@ pure_site_install :: +- if (($Is_NetBSD || $Is_Interix) && $Config{'useshrplib'}) { ++ if ($Is_BSD && $Config{'useshrplib'}) { + # Use nothing on static perl platforms, and to the flags needed + # to link against the shared libperl library on shared perl + # platforms. We peek at lddlflags to see if we need -Wl,-R +@@ -2074,7 +2072,7 @@ pure_site_install :: $(INST_LIB) $(DESTINSTALLSITELIB) \ $(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \ $(INST_BIN) $(DESTINSTALLSITEBIN) \ @@ -92,7 +46,7 @@ $NetBSD: patch-aa,v 1.29 2005/08/12 19:59:03 jlam Exp $ $(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \ $(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR) $(NOECHO) $(WARN_IF_OLD_PACKLIST) \ -@@ -2532,7 +2553,7 @@ pure_vendor_install :: +@@ -2087,7 +2085,7 @@ pure_vendor_install :: $(INST_LIB) $(DESTINSTALLVENDORLIB) \ $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \ $(INST_BIN) $(DESTINSTALLVENDORBIN) \ diff --git a/lang/perl5/patches/patch-ah b/lang/perl5/patches/patch-ah index 27c45c2cc78..1f61459b23b 100644 --- a/lang/perl5/patches/patch-ah +++ b/lang/perl5/patches/patch-ah @@ -1,8 +1,8 @@ -$NetBSD: patch-ah,v 1.7 2005/08/06 06:18:45 jlam Exp $ +$NetBSD: patch-ah,v 1.8 2006/04/09 06:34:32 jlam Exp $ ---- perl.c.orig 2005-04-22 10:14:27.000000000 -0400 +--- perl.c.orig 2006-01-31 07:34:47.000000000 -0500 +++ perl.c -@@ -4391,45 +4391,12 @@ S_init_perllib(pTHX) +@@ -4770,45 +4770,12 @@ S_init_perllib(pTHX) } /* Use the ~-expanded versions of APPLLIB (undocumented), @@ -49,7 +49,7 @@ $NetBSD: patch-ah,v 1.7 2005/08/06 06:18:45 jlam Exp $ #ifdef SITEARCH_EXP /* sitearch is always relative to sitelib on Windows for * DLL-based path intuition to work correctly */ -@@ -4471,6 +4438,39 @@ S_init_perllib(pTHX) +@@ -4850,6 +4817,39 @@ S_init_perllib(pTHX) incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE); #endif diff --git a/lang/perl5/patches/patch-am b/lang/perl5/patches/patch-am index 97baf7442de..ed6dbb2dd9e 100644 --- a/lang/perl5/patches/patch-am +++ b/lang/perl5/patches/patch-am @@ -1,8 +1,8 @@ -$NetBSD: patch-am,v 1.3 2005/08/06 06:18:45 jlam Exp $ +$NetBSD: patch-am,v 1.4 2006/04/09 06:34:32 jlam Exp $ ---- lib/ExtUtils/MakeMaker.pm.orig 2004-01-05 17:34:59.000000000 -0500 +--- lib/ExtUtils/MakeMaker.pm.orig 2005-10-21 10:11:04.000000000 -0400 +++ lib/ExtUtils/MakeMaker.pm -@@ -215,7 +215,7 @@ sub full_setup { +@@ -222,7 +222,7 @@ sub full_setup { INSTALLMAN1DIR INSTALLMAN3DIR INSTALLSITEMAN1DIR INSTALLSITEMAN3DIR INSTALLVENDORMAN1DIR INSTALLVENDORMAN3DIR @@ -11,7 +11,7 @@ $NetBSD: patch-am,v 1.3 2005/08/06 06:18:45 jlam Exp $ PERL_LIB PERL_ARCHLIB SITELIBEXP SITEARCHEXP -@@ -1075,7 +1075,7 @@ INSTALLDIRS according to the following t +@@ -1084,7 +1084,7 @@ INSTALLDIRS according to the following t INST_ARCHLIB INSTALLARCHLIB INSTALLSITEARCH INSTALLVENDORARCH INST_LIB INSTALLPRIVLIB INSTALLSITELIB INSTALLVENDORLIB INST_BIN INSTALLBIN INSTALLSITEBIN INSTALLVENDORBIN @@ -20,7 +20,7 @@ $NetBSD: patch-am,v 1.3 2005/08/06 06:18:45 jlam Exp $ INST_MAN1DIR INSTALLMAN1DIR INSTALLSITEMAN1DIR INSTALLVENDORMAN1DIR INST_MAN3DIR INSTALLMAN3DIR INSTALLSITEMAN3DIR INSTALLVENDORMAN3DIR -@@ -1527,7 +1527,7 @@ Defaults to $Config{installprivlib}. +@@ -1545,7 +1545,7 @@ Defaults to $Config{installprivlib}. =item INSTALLSCRIPT Used by 'make install' which copies files from INST_SCRIPT to this @@ -29,7 +29,7 @@ $NetBSD: patch-am,v 1.3 2005/08/06 06:18:45 jlam Exp $ =item INSTALLSITEARCH -@@ -1554,6 +1554,11 @@ $(SITEPREFIX)/man/man$(MAN*EXT). +@@ -1572,6 +1572,11 @@ $(SITEPREFIX)/man/man$(MAN*EXT). If set to 'none', no man pages will be installed. @@ -41,7 +41,7 @@ $NetBSD: patch-am,v 1.3 2005/08/06 06:18:45 jlam Exp $ =item INSTALLVENDORARCH Used by 'make install', which copies files from INST_ARCHLIB to this -@@ -1578,6 +1583,11 @@ INSTALLDIRS=vendor. Defaults to $(VENDO +@@ -1596,6 +1601,11 @@ INSTALLDIRS=vendor. Defaults to $(VENDO If set to 'none', no man pages will be installed. diff --git a/lang/perl5/patches/patch-an b/lang/perl5/patches/patch-an index 584129ece08..edd051b572f 100644 --- a/lang/perl5/patches/patch-an +++ b/lang/perl5/patches/patch-an @@ -1,8 +1,45 @@ -$NetBSD: patch-an,v 1.1 2005/08/06 06:18:45 jlam Exp $ +$NetBSD: patch-an,v 1.2 2006/04/09 06:34:32 jlam Exp $ ---- lib/ExtUtils/MM_Any.pm.orig 2004-01-05 17:34:59.000000000 -0500 +--- lib/ExtUtils/MM_Any.pm.orig 2005-04-13 03:49:53.000000000 -0400 +++ lib/ExtUtils/MM_Any.pm -@@ -57,7 +57,7 @@ sub installvars { +@@ -1052,6 +1052,15 @@ sub init_INSTALL_from_PREFIX { + : ''; + } + ++ $self->{INSTALLSITESCRIPT} ||= '$(INSTALLSCRIPT)' ++ unless $Config{installsitescript}; ++ ++ unless( $Config{installvendorscript} ) { ++ $self->{INSTALLVENDORSCRIPT} ||= $Config{usevendorprefix} ++ ? $Config{installscript} ++ : ''; ++ } ++ + + my $iprefix = $Config{installprefixexp} || $Config{installprefix} || + $Config{prefixexp} || $Config{prefix} || ''; +@@ -1111,6 +1120,12 @@ sub init_INSTALL_from_PREFIX { + script => { s => $iprefix, + t => 'perl', + d => 'bin' }, ++ vendorscript => { s => $vprefix, ++ t => 'vendor', ++ d => 'bin' }, ++ sitescript => { s => $sprefix, ++ t => 'site', ++ d => 'bin' }, + ); + + my %man_layouts = +@@ -1253,7 +1268,6 @@ sub init_INSTALL_from_INSTALLBASE { + # Adjust for variable quirks. + $install{INSTALLARCHLIB} ||= delete $install{INSTALLARCH}; + $install{INSTALLPRIVLIB} ||= delete $install{INSTALLLIB}; +- delete @install{qw(INSTALLVENDORSCRIPT INSTALLSITESCRIPT)}; + + foreach my $key (keys %install) { + $self->{$key} ||= $install{$key}; +@@ -1627,7 +1641,7 @@ sub installvars { return qw(PRIVLIB SITELIB VENDORLIB ARCHLIB SITEARCH VENDORARCH BIN SITEBIN VENDORBIN diff --git a/lang/perl5/patches/patch-ap b/lang/perl5/patches/patch-ap new file mode 100644 index 00000000000..9d26b4e80fe --- /dev/null +++ b/lang/perl5/patches/patch-ap @@ -0,0 +1,16 @@ +$NetBSD: patch-ap,v 1.1 2006/04/09 06:34:32 jlam Exp $ + +On VAX, feeding a bare "NaN" to nawk causes nawk to core dump since +it tries to interpret it as a number, which causes an FP exception. + +--- MANIFEST.orig 2006-01-31 18:27:53.000000000 -0500 ++++ MANIFEST +@@ -1586,7 +1586,7 @@ lib/Math/BigInt/t/const_mbf.t Test Math: + lib/Math/BigInt/t/downgrade.t Test if use Math::BigInt(); under downgrade works + lib/Math/BigInt/t/_e_math.t Helper routine in BigFloat for _e math + lib/Math/BigInt/t/fallback.t Test Math::BigInt +-lib/Math/BigInt/t/inf_nan.t Special tests for inf and NaN handling ++lib/Math/BigInt/t/inf_nan.t Special tests for inf and *NaN* handling + lib/Math/BigInt/t/isa.t Test for Math::BigInt inheritance + lib/Math/BigInt/t/lib_load.t Test sane lib names + lib/Math/BigInt/t/mbf_ali.t Tests for BigFloat diff --git a/lang/perl5/patches/patch-bd b/lang/perl5/patches/patch-bd deleted file mode 100644 index 676131bdbf4..00000000000 --- a/lang/perl5/patches/patch-bd +++ /dev/null @@ -1,28 +0,0 @@ -$NetBSD: patch-bd,v 1.1 2005/06/24 06:43:47 jlam Exp $ - ---- lib/ExtUtils/instmodsh.orig 2004-01-05 17:34:59.000000000 -0500 -+++ lib/ExtUtils/instmodsh -@@ -58,16 +58,13 @@ while (1) - $reply =~ /^t\s*/ and do - { - my $file = (split(' ', $reply))[1]; -- my $tmp = "/tmp/inst.$$"; -- if (my $fh = IO::File->new($tmp, "w")) -- { -- $fh->print(join("\n", $Inst->files($module))); -- $fh->close(); -- system("tar cvf $file -I $tmp"); -- unlink($tmp); -- last CASE; -- } -- else { print("Can't open $file: $!\n"); } -+ # Use File::Temp to create the tempfile and avoid possible symlink -+ # race attacks against a known filename in /tmp [CAN-2004-0976]. -+ my ($fh, $tmp) = File::Temp::tempfile(UNLINK => 1); -+ $fh->print(join("\n", $Inst->files($module))); -+ $fh->close(); -+ system("tar cvf $file -T $tmp"); -+ unlink($tmp); - last CASE; - }; - $reply eq 'v' and do diff --git a/lang/perl5/patches/patch-ca b/lang/perl5/patches/patch-ca index b5c453ea017..267bfc21544 100644 --- a/lang/perl5/patches/patch-ca +++ b/lang/perl5/patches/patch-ca @@ -1,8 +1,8 @@ -$NetBSD: patch-ca,v 1.4 2005/12/29 17:54:45 jlam Exp $ +$NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $ ---- Configure.orig 2005-04-20 12:34:37.000000000 -0400 +--- Configure.orig 2006-01-08 09:51:03.000000000 -0500 +++ Configure -@@ -3111,11 +3111,13 @@ EOM +@@ -3130,11 +3130,13 @@ EOM dgux) osname=dgux osvers="$3" ;; @@ -17,7 +17,7 @@ $NetBSD: patch-ca,v 1.4 2005/12/29 17:54:45 jlam Exp $ genix) osname=genix ;; gnu) osname=gnu osvers="$3" ;; -@@ -3137,7 +3139,7 @@ EOM +@@ -3156,7 +3158,7 @@ EOM MiNT) osname=mint ;; netbsd*) osname=netbsd @@ -26,7 +26,7 @@ $NetBSD: patch-ca,v 1.4 2005/12/29 17:54:45 jlam Exp $ ;; news-os) osvers="$3" case "$3" in -@@ -3148,8 +3150,8 @@ EOM +@@ -3167,8 +3169,8 @@ EOM next*) osname=next ;; nonstop-ux) osname=nonstopux ;; openbsd) osname=openbsd @@ -37,7 +37,7 @@ $NetBSD: patch-ca,v 1.4 2005/12/29 17:54:45 jlam Exp $ os2) osname=os2 osvers="$4" ;; -@@ -4426,7 +4428,7 @@ case "$plibpth" in +@@ -4445,7 +4447,7 @@ case "$plibpth" in esac case "$libpth" in ' ') dlist='';; @@ -46,7 +46,29 @@ $NetBSD: patch-ca,v 1.4 2005/12/29 17:54:45 jlam Exp $ *) dlist="$libpth";; esac -@@ -7856,7 +7858,7 @@ if "$useshrplib"; then +@@ -6485,7 +6487,9 @@ rp='Pathname for the site-specific libra + . ./getfile + sitelib="$ans" + sitelibexp="$ansexp" +-sitelib_stem=`echo "$sitelibexp" | sed "s,/$version$,,"` ++if $test -z "$sitelib_stem"; then ++ sitelib_stem=`echo "$sitelibexp" | sed "s,/$version$,,"` ++fi + : Change installation prefix, if necessary. + if $test X"$prefix" != X"$installprefix"; then + installsitelib=`echo $sitelibexp | $sed "s#^$prefix#$installprefix#"` +@@ -6606,7 +6610,9 @@ case "$vendorprefix" in + vendorlibexp="$ansexp" + ;; + esac +-vendorlib_stem=`echo "$vendorlibexp" | sed "s,/$version$,,"` ++if $test -z "$vendorlib_stem"; then ++ vendorlib_stem=`echo "$vendorlibexp" | sed "s,/$version$,,"` ++fi + : Change installation prefix, if necessary. + if $test X"$prefix" != X"$installprefix"; then + installvendorlib=`echo $vendorlibexp | $sed "s#^$prefix#$installprefix#"` +@@ -7889,7 +7895,7 @@ if "$useshrplib"; then solaris) xxx="-R $shrpdir" ;; @@ -55,7 +77,7 @@ $NetBSD: patch-ca,v 1.4 2005/12/29 17:54:45 jlam Exp $ xxx="-Wl,-R$shrpdir" ;; bsdos|linux|irix*|dec_osf|gnu*) -@@ -8977,6 +8979,13 @@ EOCP +@@ -9010,6 +9016,13 @@ EOCP ;; esac @@ -69,7 +91,7 @@ $NetBSD: patch-ca,v 1.4 2005/12/29 17:54:45 jlam Exp $ case "$vendorprefix" in '') d_vendorbin="$undef" vendorbin='' -@@ -17339,7 +17348,15 @@ RCAT(Rei,ser) +@@ -17776,7 +17789,15 @@ RCAT(Rei,ser) ACAT(Cir,cus) EOCP $cppstdin $cppflags $cppminus <cpp_stuff.c >cpp_stuff.out 2>&1 diff --git a/lang/perl5/patches/patch-cb b/lang/perl5/patches/patch-cb index 4ee3864c341..6f26f1be635 100644 --- a/lang/perl5/patches/patch-cb +++ b/lang/perl5/patches/patch-cb @@ -1,6 +1,6 @@ -$NetBSD: patch-cb,v 1.2 2005/08/06 06:18:45 jlam Exp $ +$NetBSD: patch-cb,v 1.3 2006/04/09 06:34:33 jlam Exp $ ---- Makefile.SH.orig 2005-02-05 10:17:44.000000000 -0500 +--- Makefile.SH.orig 2006-01-24 07:49:44.000000000 -0500 +++ Makefile.SH @@ -73,7 +73,11 @@ true) sunos*) @@ -24,7 +24,7 @@ $NetBSD: patch-cb,v 1.2 2005/08/06 06:18:45 jlam Exp $ ;; esac shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib" -@@ -969,6 +973,10 @@ s_dummy $(static_ext): miniperl$(EXE_EXT +@@ -990,6 +994,10 @@ s_dummy $(static_ext): miniperl$(EXE_EXT n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE @$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) diff --git a/lang/perl5/patches/patch-ch b/lang/perl5/patches/patch-ch index b5a96982e4b..451d3dbb5d3 100644 --- a/lang/perl5/patches/patch-ch +++ b/lang/perl5/patches/patch-ch @@ -1,8 +1,8 @@ -$NetBSD: patch-ch,v 1.2 2005/08/06 06:18:45 jlam Exp $ +$NetBSD: patch-ch,v 1.3 2006/04/09 06:34:33 jlam Exp $ ---- hints/dec_osf.sh.orig 2005-02-05 10:19:27.000000000 -0500 +--- hints/dec_osf.sh.orig 2006-01-08 04:53:29.000000000 -0500 +++ hints/dec_osf.sh -@@ -254,7 +254,7 @@ case "`uname -r`" in +@@ -285,7 +285,7 @@ case "`uname -r`" in # fixed in 4.0E or better. ;; *) diff --git a/lang/perl5/patches/patch-ci b/lang/perl5/patches/patch-ci index 8cab67363e0..9d2285804fa 100644 --- a/lang/perl5/patches/patch-ci +++ b/lang/perl5/patches/patch-ci @@ -1,18 +1,21 @@ -$NetBSD: patch-ci,v 1.2 2005/08/06 06:18:45 jlam Exp $ +$NetBSD: patch-ci,v 1.3 2006/04/09 06:34:33 jlam Exp $ ---- pp_sys.c.orig 2005-04-27 18:12:46.000000000 -0400 +--- pp_sys.c.orig 2006-01-13 13:15:15.000000000 -0500 +++ pp_sys.c -@@ -4466,9 +4466,11 @@ PP(pp_gmtime) +@@ -4516,12 +4516,15 @@ PP(pp_gmtime) when = (Time_t)SvIVx(POPs); #endif - if (PL_op->op_type == OP_LOCALTIME) + if (PL_op->op_type == OP_LOCALTIME) { + #ifdef LOCALTIME_EDGECASE_BROKEN + tmbuf = S_my_localtime(aTHX_ &when); + #else + /* Explicitly invoke tzset() as localtime_r may not. */ + tzset(); tmbuf = localtime(&when); -- else -+ } else + #endif ++ } + else tmbuf = gmtime(&when); - if (GIMME != G_ARRAY) { diff --git a/lang/perl5/patches/patch-cl b/lang/perl5/patches/patch-cl deleted file mode 100644 index 40d496bc5b6..00000000000 --- a/lang/perl5/patches/patch-cl +++ /dev/null @@ -1,21 +0,0 @@ -$NetBSD: patch-cl,v 1.1 2005/06/24 06:43:47 jlam Exp $ - ---- ext/SDBM_File/sdbm/sdbm.c.orig 2003-08-27 06:30:22.000000000 -0400 -+++ ext/SDBM_File/sdbm/sdbm.c -@@ -34,10 +34,12 @@ - /* - * externals - */ --#ifndef WIN32 --#ifndef sun --extern int errno; --#endif -+#ifndef errno -+ extern int errno; /* ANSI allows errno to be an lvalue expr. -+ * For example in multithreaded environments -+ * something like this might happen: -+ * extern int *_errno(void); -+ * #define errno (*_errno()) */ - #endif - - extern Malloc_t malloc proto((MEM_SIZE)); diff --git a/lang/perl5/patches/patch-zc b/lang/perl5/patches/patch-zc index d7b090de6fc..1023115c20f 100644 --- a/lang/perl5/patches/patch-zc +++ b/lang/perl5/patches/patch-zc @@ -1,8 +1,8 @@ -$NetBSD: patch-zc,v 1.1 2005/06/24 06:43:47 jlam Exp $ +$NetBSD: patch-zc,v 1.2 2006/04/09 06:34:33 jlam Exp $ ---- Policy_sh.SH.orig Fri Aug 1 05:23:23 2003 -+++ Policy_sh.SH Tue Aug 26 02:12:12 2003 -@@ -184,11 +184,11 @@ +--- Policy_sh.SH.orig 2003-08-01 08:23:23.000000000 -0400 ++++ Policy_sh.SH +@@ -184,10 +184,10 @@ do ;; sitearch) dflt="$sitelib/$archname" ;; @@ -12,13 +12,11 @@ $NetBSD: patch-zc,v 1.1 2005/06/24 06:43:47 jlam Exp $ + siteman3dir) dflt="$siteprefix/man/man3" ;; # We don't know what to do with these yet. - sitehtml1) dflt='' ;; -- sitehtm31dir) dflt='' ;; -+ sitehtml1dir) dflt='' ;; + sitehtml1dir) dflt='' ;; + sitehtm31dir) dflt='' ;; # Directories for vendor-supplied add-on files - # These are all usually empty. -@@ -213,11 +213,11 @@ +@@ -213,11 +213,11 @@ do ;; vendorarch) dflt="$vendorlib/$archname" ;; |