diff options
author | he <he@pkgsrc.org> | 2008-10-10 21:58:43 +0000 |
---|---|---|
committer | he <he@pkgsrc.org> | 2008-10-10 21:58:43 +0000 |
commit | 45ab1f87e786df6072cfb0729ddd55a6743801a4 (patch) | |
tree | 94416a5de62dc62c0dbedd1f411e80c748c48eaf | |
parent | cd552f552b988ae0ed6092e880f1238eee431e64 (diff) | |
download | pkgsrc-45ab1f87e786df6072cfb0729ddd55a6743801a4.tar.gz |
Update perl5 from version 5.8.8nb8 to 5.10.0.
A large number of packages have had their internal regression tests
run successfully with this update, including mod_perl for Apache.
Pkgsrc changes: a number of our local patches are no longer needed.
Upstream changes from version 5.8.8:
# Core Enhancements
* The feature pragma
* New -E command-line switch
* Defined-or operator
* Switch and Smart Match operator
* Regular expressions
* say()
* Lexical $_
* The _ prototype
* UNITCHECK blocks
* New Pragma, mro
* readdir() may return a "short filename" on Windows
* readpipe() is now overridable
* Default argument for readline()
* state() variables
* Stacked filetest operators
* UNIVERSAL::DOES()
* Formats
* Byte-order modifiers for pack() and unpack()
* no VERSION
* chdir, chmod and chown on filehandles
* OS groups
* Recursive sort subs
* Exceptions in constant folding
* Source filters in @INC
* New internal variables
* Miscellaneous
* UCD 5.0.0
* MAD
* kill() on Windows
# Incompatible Changes
* Packing and UTF-8 strings
* Byte/character count feature in unpack()
* The $* and $# variables have been removed
* substr() lvalues are no longer fixed-length
* Parsing of -f _
* :unique
* Effect of pragmas in eval
* chdir FOO
* Handling of .pmc files
* $^V is now a version object instead of a v-string
* @- and @+ in patterns
* $AUTOLOAD can now be tainted
* Tainting and printf
* undef and signal handlers
* strictures and dereferencing in defined()
* (?p{}) has been removed
* Pseudo-hashes have been removed
* Removal of the bytecode compiler and of perlcc
* Removal of the JPL
* Recursive inheritance detected earlier
# Modules and Pragmata
* Upgrading individual core modules
* Pragmata Changes
* New modules
* Selected Changes to Core Modules
# Utility Changes
# New Documentation
# Performance Enhancements
* In-place sorting
* Lexical array access
* XS-assisted SWASHGET
* Constant subroutines
* PERL_DONT_CREATE_GVSV
* Weak references are cheaper
* sort() enhancements
* Memory optimisations
* UTF-8 cache optimisation
* Sloppy stat on Windows
* Regular expressions optimisations
# Installation and Configuration Improvements
* Configuration improvements
* Compilation improvements
* Installation improvements
* New Or Improved Platforms
# Selected Bug Fixes
# New or Changed Diagnostics
# Changed Internals
* Reordering of SVt_* constants
* Elimination of SVt_PVBM
* New type SVt_BIND
* Removal of CPP symbols
* Less space is used by ops
* New parser
* Use of const
* Mathoms
* AvFLAGS has been removed
* av_* changes
* $^H and %^H
* B:: modules inheritance changed
* Anonymous hash and array constructors
...
See 'perldoc perldelta' or http://perldoc.perl.org/perldelta.html
for explanation of each of these points.
30 files changed, 190 insertions, 769 deletions
diff --git a/lang/perl5/Makefile b/lang/perl5/Makefile index 3e314d08229..e4f324e5b48 100644 --- a/lang/perl5/Makefile +++ b/lang/perl5/Makefile @@ -1,10 +1,8 @@ -# $NetBSD: Makefile,v 1.137 2008/06/01 22:04:07 he Exp $ +# $NetBSD: Makefile,v 1.138 2008/10/10 21:58:43 he Exp $ -DISTNAME= perl-5.8.8 -PKGREVISION= 8 +DISTNAME= perl-5.10.0 CATEGORIES= lang devel perl5 MASTER_SITES= ${MASTER_SITE_PERL_CPAN:S,/modules/by-module/$,/src/,} -EXTRACT_SUFX= .tar.bz2 DISTFILES+= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= jlam@pkgsrc.org @@ -261,6 +259,25 @@ CONFIGURE_ARGS+= -Duse64bitint . endif .endif +# Remove a spurious workdir reference +SUBST_CLASSES+= rm +SUBST_STAGE.rm= pre-install +SUBST_FILES.rm= lib/Config_heavy.pl +SUBST_SED.rm= -e "s!^rm_try=\'/.*work/.tools/bin/rm -f!rm_try=\'/bin/rm -f!" + +# Replace our perl as the interpreter +REPLACE_PERL+= lib/Class/ISA.pm +REPLACE_PERL+= lib/File/DosGlob.pm +REPLACE_PERL+= lib/version.pm + +# And replace a perl interpreter during the pre-install stage +# I think this may be a bootstrap script, so can't use REPLACE_PERL +# because that is acted upon already in the pre-configure stage +SUBST_CLASSES+= miniperl +SUBST_STAGE.miniperl= pre-install +SUBST_FILES.miniperl= lib/ExtUtils/xsubpp +SUBST_SED.miniperl= -e "1s:\#!./miniperl:\#!${PERL5}:" + # Some platforms may want the directory mode not to be 0755. This # is, unfortunately, hardcoded in quite a few places in Perl, so # let's substitute what pkgsrc says instead. diff --git a/lang/perl5/distinfo b/lang/perl5/distinfo index e5b884da385..4ebcf6306ce 100644 --- a/lang/perl5/distinfo +++ b/lang/perl5/distinfo @@ -1,35 +1,21 @@ -$NetBSD: distinfo,v 1.49 2008/07/30 23:07:52 ahoka Exp $ +$NetBSD: distinfo,v 1.50 2008/10/10 21:58:43 he Exp $ -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 (perl-5.10.0.tar.gz) = adf73606dd5248af7ccdd735bcaa0e628ea75b3c +RMD160 (perl-5.10.0.tar.gz) = c6614fc99a162790a703f91085b24a60af903ba2 +Size (perl-5.10.0.tar.gz) = 15595020 bytes +SHA1 (patch-aa) = 5bd44a8076cf27e2deac52240af7f3898865859c SHA1 (patch-ab) = e32427327192f023477b16f29bc55fdf4f057410 -SHA1 (patch-ac) = 428e0757495b82a47ec092a71333fb3ec366f14f -SHA1 (patch-ad) = 914e1c74555a9b6a0256992a694b2ba609f29786 -SHA1 (patch-ae) = 287ac0d97a5372c8b45457129f3e70fe42cf69e2 -SHA1 (patch-af) = b11574297e46b910f206f09702effc6cc272b0fd -SHA1 (patch-ag) = 0122ec30b8fcd17198e068d07e95974bee0945b6 -SHA1 (patch-ah) = 25443063c26287b1b8130c53d5c9d92248d4c0d1 -SHA1 (patch-ai) = 4a07c6268a1e27b73f2f6fcde86f788fce77fcbd -SHA1 (patch-aj) = a2fc32766ed8556455c60780fe242a034ce491a9 -SHA1 (patch-ak) = 8899f8b6d1d038b950979073cb0527c8e7afca1e -SHA1 (patch-am) = cf1687063d0c0542e811545aaaad291bad12d75e -SHA1 (patch-an) = 987763c3098bf4356993dd6d8741962a1ff8190d -SHA1 (patch-ap) = 178d6909a8aa6544b849c2b63530fcf1893b77ea -SHA1 (patch-aq) = b9569d0cd74a06912e82498cd2bfba131c0b6f3b -SHA1 (patch-ar) = 9d257ceeca337e3d477b80215560bbc290d19dd2 -SHA1 (patch-as) = 371827db418eac11f0b49df45e9d587106908bf0 -SHA1 (patch-ba) = 27aefd5043c251380ac607df54fff882f689f237 -SHA1 (patch-ca) = 5ed14e043a6d5f8dadf5711b59418f01aa5f6f21 -SHA1 (patch-cb) = 2cbcaa476f33c270bfea50cddd0da3f476dbe689 -SHA1 (patch-ce) = 6b1efab32c6bc28e0faf7522322e6d805eb21730 -SHA1 (patch-ch) = a0831869e23d4a66588e6e27eecedb08527c9498 -SHA1 (patch-ci) = fe943f07044efa457d163eb86974ea10bb356226 +SHA1 (patch-ah) = 1d2f4049dcc8dafcd0eafad36a74531dc7f305c9 +SHA1 (patch-aq) = 3ece22678e3e6dcd3cf641e6389ff203cbe351b9 +SHA1 (patch-as) = 8656cb4d9baf43dd92f4c467aaa40802d4c43239 +SHA1 (patch-ba) = dc150656628e83e25c99f246a0fb30906d185184 +SHA1 (patch-ca) = 47db0530a705b8086b2bfc58491f9b56de4b9e12 +SHA1 (patch-ch) = 5b6a89c82e158bab0a5f06add48c28e600678099 +SHA1 (patch-ci) = 70531d44b6e2cb7a7ab9fb20ffe91d97e5c03e3a SHA1 (patch-cj) = 3f40f1b166a054d55224c3e79d74516ca608b696 SHA1 (patch-ck) = 28207b8186c9ad194a1edc696159915bc16d1097 -SHA1 (patch-cn) = b5e56787fb9ca10025e9061d7bfd2da549ee3fa3 -SHA1 (patch-co) = 4f7ae271aa6a17860e60411dfa45566ee02b0f58 -SHA1 (patch-da) = 24c8783fcdbead35de20bc3cecf1627a64717853 -SHA1 (patch-ta) = ca0d1e4bc2dbbc4b86a087fed27cd1e7bbb2873f -SHA1 (patch-zc) = 0c61b6028813e0f80bfe0760a1e74e3037d37cdd +SHA1 (patch-cn) = 7ca2b1ff19f8371637a34ec26779b37d74c74cca +SHA1 (patch-co) = 493ae6cb6cb544ce023c2a1fb067abe943bba2d4 +SHA1 (patch-ta) = 60d9ef72db56b9f149f3995b3f526fc32a352bd7 +SHA1 (patch-zc) = a23002397ffaebb243f7683c95c8fb227af90f49 +SHA1 (patch-zd) = ee67148b8f44fb3826273574abb62ad9ca4ffa7f diff --git a/lang/perl5/patches/patch-aa b/lang/perl5/patches/patch-aa index f8d5b4b2b0a..de25f268bfa 100644 --- a/lang/perl5/patches/patch-aa +++ b/lang/perl5/patches/patch-aa @@ -1,19 +1,19 @@ -$NetBSD: patch-aa,v 1.30 2006/04/09 06:34:32 jlam Exp $ +$NetBSD: patch-aa,v 1.31 2008/10/10 21:58:43 he Exp $ ---- lib/ExtUtils/MM_Unix.pm.orig 2005-05-21 05:42:56.000000000 -0400 +--- lib/ExtUtils/MM_Unix.pm.orig 2007-12-18 11:47:07.000000000 +0100 +++ lib/ExtUtils/MM_Unix.pm -@@ -12,8 +12,8 @@ use DirHandle; +@@ -11,8 +11,8 @@ use DirHandle; use vars qw($VERSION @ISA $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_OSF $Is_IRIX $Is_BSD + $Is_SunOS4 $Is_Solaris $Is_SunOS - $Verbose %pm %Config_Override ); -@@ -32,13 +32,11 @@ BEGIN { + +@@ -30,8 +30,6 @@ BEGIN { $Is_VMS = $^O eq 'VMS'; $Is_OSF = $^O eq 'dec_osf'; $Is_IRIX = $^O eq 'irix'; @@ -22,36 +22,12 @@ $NetBSD: patch-aa,v 1.30 2006/04/09 06:34:32 jlam Exp $ $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) $ +@@ -932,7 +930,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $ my $libs = '$(LDLOADLIBS)'; -- if (($Is_NetBSD || $Is_Interix) && $Config{'useshrplib'}) { -+ if ($Is_BSD && $Config{'useshrplib'}) { +- if (($Is_NetBSD || $Is_Interix) && $Config{'useshrplib'} eq 'true') { ++ if ($Is_BSD && $Config{'useshrplib'} eq 'true') { # 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) \ -- $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \ -+ $(INST_SCRIPT) $(DESTINSTALLSITESCRIPT) \ - $(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \ - $(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR) - $(NOECHO) $(WARN_IF_OLD_PACKLIST) \ -@@ -2087,7 +2085,7 @@ pure_vendor_install :: - $(INST_LIB) $(DESTINSTALLVENDORLIB) \ - $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \ - $(INST_BIN) $(DESTINSTALLVENDORBIN) \ -- $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \ -+ $(INST_SCRIPT) $(DESTINSTALLVENDORSCRIPT) \ - $(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \ - $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR) - diff --git a/lang/perl5/patches/patch-ac b/lang/perl5/patches/patch-ac deleted file mode 100644 index 43fbb73985a..00000000000 --- a/lang/perl5/patches/patch-ac +++ /dev/null @@ -1,42 +0,0 @@ -$NetBSD: patch-ac,v 1.10 2007/02/06 19:12:10 dmcmahill Exp $ - -See NetBSD PR pkg/35319 - -It appears that the same patch has or will find its way into -the upstream sources. - ---- perlio.c.orig 2006-12-25 15:11:04.108986000 +0100 -+++ perlio.c -@@ -2874,31 +2874,7 @@ PerlIOStdio_invalidate_fileno(pTHX_ FILE - f->_fileno = -1; - return 1; - # elif defined(__sun__) --# if defined(_LP64) -- /* On solaris, if _LP64 is defined, the FILE structure is this: -- * -- * struct FILE { -- * long __pad[16]; -- * }; -- * -- * It turns out that the fd is stored in the top 32 bits of -- * file->__pad[4]. The lower 32 bits contain flags. file->pad[5] appears -- * to contain a pointer or offset into another structure. All the -- * remaining fields are zero. -- * -- * We set the top bits to -1 (0xFFFFFFFF). -- */ -- f->__pad[4] |= 0xffffffff00000000L; -- assert(fileno(f) == 0xffffffff); --# else /* !defined(_LP64) */ -- /* _file is just a unsigned char :-( -- Not clear why we dup() rather than using -1 -- even if that would be treated as 0xFF - so will -- a dup fail ... -- */ -- f->_file = PerlLIO_dup(fileno(f)); --# endif /* defined(_LP64) */ -- return 1; -+ return 0; - # elif defined(__hpux) - f->__fileH = 0xff; - f->__fileL = 0xff; diff --git a/lang/perl5/patches/patch-ad b/lang/perl5/patches/patch-ad deleted file mode 100644 index cd41e410068..00000000000 --- a/lang/perl5/patches/patch-ad +++ /dev/null @@ -1,17 +0,0 @@ -$NetBSD: patch-ad,v 1.11 2008/06/01 22:04:07 he Exp $ - -Fix for -http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927 -from -http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792 - ---- embed.fnc.orig 2006-01-31 15:40:27.000000000 +0100 -+++ embed.fnc -@@ -1168,6 +1168,7 @@ Es |void |reguni |NN const struct RExC_ - Es |regnode*|regclass |NN struct RExC_state_t *state - ERs |I32 |regcurly |NN const char * - Es |regnode*|reg_node |NN struct RExC_state_t *state|U8 op -+Es |UV |reg_recode |const char value|NULLOK SV **encp - Es |regnode*|regpiece |NN struct RExC_state_t *state|NN I32 *flagp - Es |void |reginsert |NN struct RExC_state_t *state|U8 op|NN regnode *opnd - Es |void |regoptail |NN struct RExC_state_t *state|NN regnode *p|NN regnode *val diff --git a/lang/perl5/patches/patch-ae b/lang/perl5/patches/patch-ae deleted file mode 100644 index 491c37567d5..00000000000 --- a/lang/perl5/patches/patch-ae +++ /dev/null @@ -1,29 +0,0 @@ -$NetBSD: patch-ae,v 1.11 2008/04/28 22:24:22 wiz Exp $ - ---- makedepend.SH.orig 2003-06-05 20:11:10.000000000 +0200 -+++ makedepend.SH -@@ -83,7 +83,6 @@ if test -f Makefile; then - # to be out of date. I don't know if OS/2 has touch, so do this: - case "$osname" in - os2) ;; -- netbsd) ;; - *) $touch $firstmakefile ;; - esac - fi -@@ -128,7 +127,7 @@ for file in `$cat .clist`; do - *.y) filebase=`basename $file .y` ;; - esac - case "$file" in -- */*) finc="-I`echo $file | sed 's#/[^/]*$##`" ;; -+ */*) finc="-I`echo $file | sed 's#/[^/]*$##'`" ;; - *) finc= ;; - esac - $echo "Finding dependencies for $filebase$_o." -@@ -167,6 +166,7 @@ for file in `$cat .clist`; do - -e '/^#.*<builtin>/d' \ - -e '/^#.*<built-in>/d' \ - -e '/^#.*<command line>/d' \ -+ -e '/^#.*<command-line>/d' \ - -e '/^#.*"-"/d' \ - -e '/: file path prefix .* never used$/d' \ - -e 's#\.[0-9][0-9]*\.c#'"$file.c#" \ diff --git a/lang/perl5/patches/patch-af b/lang/perl5/patches/patch-af deleted file mode 100644 index 846df910154..00000000000 --- a/lang/perl5/patches/patch-af +++ /dev/null @@ -1,25 +0,0 @@ -$NetBSD: patch-af,v 1.13 2008/06/01 22:04:07 he Exp $ - -Fix for -http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927 -from -http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792 - ---- embed.h.orig 2006-01-31 16:50:34.000000000 +0100 -+++ embed.h -@@ -1234,6 +1234,7 @@ - #define regclass S_regclass - #define regcurly S_regcurly - #define reg_node S_reg_node -+#define reg_recode S_reg_recode - #define regpiece S_regpiece - #define reginsert S_reginsert - #define regoptail S_regoptail -@@ -3277,6 +3278,7 @@ - #define regclass(a) S_regclass(aTHX_ a) - #define regcurly(a) S_regcurly(aTHX_ a) - #define reg_node(a,b) S_reg_node(aTHX_ a,b) -+#define reg_recode(a,b) S_reg_recode(aTHX_ a,b) - #define regpiece(a,b) S_regpiece(aTHX_ a,b) - #define reginsert(a,b,c) S_reginsert(aTHX_ a,b,c) - #define regoptail(a,b,c) S_regoptail(aTHX_ a,b,c) diff --git a/lang/perl5/patches/patch-ag b/lang/perl5/patches/patch-ag deleted file mode 100644 index dff036c7352..00000000000 --- a/lang/perl5/patches/patch-ag +++ /dev/null @@ -1,25 +0,0 @@ -$NetBSD: patch-ag,v 1.11 2008/06/01 22:04:07 he Exp $ - -Fix for -http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927 -from -http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792 - ---- pod/perldiag.pod.orig 2006-01-07 00:16:08.000000000 +0100 -+++ pod/perldiag.pod -@@ -1900,6 +1900,15 @@ recognized by Perl or by a user-supplied - (W printf) Perl does not understand the given format conversion. See - L<perlfunc/sprintf>. - -+=item Invalid escape in the specified encoding in regex; marked by <-- HERE in m/%s/ -+ -+(W regexp) The numeric escape (for example C<\xHH>) of value < 256 -+didn't correspond to a single character through the conversion -+from the encoding specified by the encoding pragma. -+The escape was replaced with REPLACEMENT CHARACTER (U+FFFD) instead. -+The <-- HERE shows in the regular expression about where the -+escape was discovered. -+ - =item Invalid [] range "%s" in regex; marked by <-- HERE in m/%s/ - - (F) The range specified in a character class had a minimum character diff --git a/lang/perl5/patches/patch-ah b/lang/perl5/patches/patch-ah index 1df9b22841f..97ced6868a2 100644 --- a/lang/perl5/patches/patch-ah +++ b/lang/perl5/patches/patch-ah @@ -1,8 +1,8 @@ -$NetBSD: patch-ah,v 1.9 2008/01/08 15:19:39 apb Exp $ +$NetBSD: patch-ah,v 1.10 2008/10/10 21:58:43 he Exp $ ---- perl.c.orig 2006-01-31 12:34:47.000000000 +0000 +--- perl.c.orig 2007-12-18 11:47:08.000000000 +0100 +++ perl.c -@@ -4615,8 +4615,10 @@ S_procself_val(pTHX_ SV *sv, char *arg0) +@@ -1454,8 +1454,10 @@ S_procself_val(pTHX_ SV *sv, const char to the executable (or returning an error from the readlink). Any valid path has a '/' in it somewhere, so use that to validate the result. See http://www.freebsd.org/cgi/query-pr.cgi?pr=35703 @@ -14,24 +14,24 @@ $NetBSD: patch-ah,v 1.9 2008/01/08 15:19:39 apb Exp $ sv_setpvn(sv,buf,len); } else { -@@ -4770,45 +4772,12 @@ S_init_perllib(pTHX) +@@ -4747,45 +4749,8 @@ S_init_perllib(pTHX) } /* Use the ~-expanded versions of APPLLIB (undocumented), - ARCHLIB PRIVLIB SITEARCH SITELIB VENDORARCH and VENDORLIB + SITEARCH SITELIB VENDORARCH VENDORLIB ARCHLIB and PRIVLIB */ - #ifdef APPLLIB_EXP - incpush(APPLLIB_EXP, TRUE, TRUE, TRUE); - #endif - +-#ifdef APPLLIB_EXP +- incpush(APPLLIB_EXP, TRUE, TRUE, TRUE, TRUE); +-#endif +- -#ifdef ARCHLIB_EXP -- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE); +- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE, TRUE); -#endif -#ifdef MACOS_TRADITIONAL - { - Stat_t tmpstatbuf; -- SV * privdir = NEWSV(55, 0); +- SV * privdir = newSV(0); - char * macperl = PerlEnv_getenv("MACPERL"); - - if (!macperl) @@ -39,39 +39,43 @@ $NetBSD: patch-ah,v 1.9 2008/01/08 15:19:39 apb Exp $ - - Perl_sv_setpvf(aTHX_ privdir, "%slib:", macperl); - if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode)) -- incpush(SvPVX(privdir), TRUE, FALSE, TRUE); +- incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE); - Perl_sv_setpvf(aTHX_ privdir, "%ssite_perl:", macperl); - if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode)) -- incpush(SvPVX(privdir), TRUE, FALSE, TRUE); +- incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE); - - SvREFCNT_dec(privdir); - } - if (!PL_tainting) -- incpush(":", FALSE, FALSE, TRUE); +- incpush(":", FALSE, FALSE, TRUE, FALSE); -#else -#ifndef PRIVLIB_EXP -# define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl" -#endif -#if defined(WIN32) -- incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE); +- incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE, TRUE); -#else -- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE); +- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE, TRUE); -#endif - #ifdef SITEARCH_EXP /* sitearch is always relative to sitelib on Windows for * DLL-based path intuition to work correctly */ -@@ -4850,6 +4819,39 @@ S_init_perllib(pTHX) - incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE); +@@ -4828,6 +4793,43 @@ S_init_perllib(pTHX) + incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE, TRUE); #endif ++#ifdef APPLLIB_EXP ++ incpush(APPLLIB_EXP, TRUE, TRUE, TRUE, TRUE); ++#endif ++ +#ifdef ARCHLIB_EXP -+ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE); ++ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE, TRUE); +#endif +#ifdef MACOS_TRADITIONAL + { + Stat_t tmpstatbuf; -+ SV * privdir = NEWSV(55, 0); ++ SV * privdir = newSV(0); + char * macperl = PerlEnv_getenv("MACPERL"); + + if (!macperl) @@ -79,25 +83,25 @@ $NetBSD: patch-ah,v 1.9 2008/01/08 15:19:39 apb Exp $ + + Perl_sv_setpvf(aTHX_ privdir, "%slib:", macperl); + if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode)) -+ incpush(SvPVX(privdir), TRUE, FALSE, TRUE); ++ incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE); + Perl_sv_setpvf(aTHX_ privdir, "%ssite_perl:", macperl); + if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode)) -+ incpush(SvPVX(privdir), TRUE, FALSE, TRUE); ++ incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE); + + SvREFCNT_dec(privdir); + } + if (!PL_tainting) -+ incpush(":", FALSE, FALSE, TRUE); ++ incpush(":", FALSE, FALSE, TRUE, FALSE); +#else +#ifndef PRIVLIB_EXP +# define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl" +#endif +#if defined(WIN32) -+ incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE); ++ incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE, TRUE); +#else -+ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE); ++ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE, TRUE); +#endif + #ifdef PERL_OTHERLIBDIRS - incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE); + incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE, TRUE); #endif diff --git a/lang/perl5/patches/patch-ai b/lang/perl5/patches/patch-ai deleted file mode 100644 index bd6cc450164..00000000000 --- a/lang/perl5/patches/patch-ai +++ /dev/null @@ -1,17 +0,0 @@ -$NetBSD: patch-ai,v 1.5 2008/06/01 22:04:07 he Exp $ - -Fix for -http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927 -from -http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792 - ---- proto.h.orig 2006-01-31 16:50:34.000000000 +0100 -+++ proto.h -@@ -1748,6 +1748,7 @@ STATIC I32 S_regcurly(pTHX_ const char * - __attribute__warn_unused_result__; - - STATIC regnode* S_reg_node(pTHX_ struct RExC_state_t *state, U8 op); -+STATIC UV S_reg_recode(pTHX_ const char value, SV **encp); - STATIC regnode* S_regpiece(pTHX_ struct RExC_state_t *state, I32 *flagp); - STATIC void S_reginsert(pTHX_ struct RExC_state_t *state, U8 op, regnode *opnd); - STATIC void S_regoptail(pTHX_ struct RExC_state_t *state, regnode *p, regnode *val); diff --git a/lang/perl5/patches/patch-aj b/lang/perl5/patches/patch-aj deleted file mode 100644 index 7bd623ff991..00000000000 --- a/lang/perl5/patches/patch-aj +++ /dev/null @@ -1,31 +0,0 @@ -$NetBSD: patch-aj,v 1.9 2008/06/01 22:04:07 he Exp $ - -Fix for -http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927 -from -http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792 - ---- t/uni/tr_utf8.t.orig 2004-06-25 10:53:16.000000000 +0200 -+++ t/uni/tr_utf8.t -@@ -31,7 +31,7 @@ BEGIN { - } - - use strict; --use Test::More tests => 7; -+use Test::More tests => 8; - - use encoding 'utf8'; - -@@ -67,4 +67,12 @@ is($str, $hiragana, "s/// # hiragana -> - $line =~ tr/bcdeghijklmnprstvwxyz$02578/בצדעגהיײקלמנפּרסטװשכיזשױתײחא/; - is($line, "aבצדעfגהיײקלמנoפqּרסuטװשכיזש1ױ34ת6ײח9", "[perl #16843]"); - } -+ -+{ -+ # [perl #40641] -+ my $str = qq/Gebääääääääääääääääääääude/; -+ my $reg = qr/Gebääääääääääääääääääääude/; -+ ok($str =~ /$reg/, "[perl #40641]"); -+} -+ - __END__ diff --git a/lang/perl5/patches/patch-ak b/lang/perl5/patches/patch-ak deleted file mode 100644 index cd4e5650833..00000000000 --- a/lang/perl5/patches/patch-ak +++ /dev/null @@ -1,18 +0,0 @@ -$NetBSD: patch-ak,v 1.3 2008/06/01 22:04:07 he Exp $ - -Fix for -http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927 -from -http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792 - ---- utf8.h.orig 2006-01-08 22:11:27.000000000 +0100 -+++ utf8.h -@@ -198,6 +198,8 @@ encoded character. - UTF8_ALLOW_SURROGATE|UTF8_ALLOW_FFFF) - #define UTF8_ALLOW_ANY 0x00FF - #define UTF8_CHECK_ONLY 0x0200 -+#define UTF8_ALLOW_DEFAULT (ckWARN(WARN_UTF8) ? 0 : \ -+ UTF8_ALLOW_ANYUV) - - #define UNICODE_SURROGATE_FIRST 0xD800 - #define UNICODE_SURROGATE_LAST 0xDFFF diff --git a/lang/perl5/patches/patch-am b/lang/perl5/patches/patch-am deleted file mode 100644 index ed6dbb2dd9e..00000000000 --- a/lang/perl5/patches/patch-am +++ /dev/null @@ -1,55 +0,0 @@ -$NetBSD: patch-am,v 1.4 2006/04/09 06:34:32 jlam Exp $ - ---- lib/ExtUtils/MakeMaker.pm.orig 2005-10-21 10:11:04.000000000 -0400 -+++ lib/ExtUtils/MakeMaker.pm -@@ -222,7 +222,7 @@ sub full_setup { - INSTALLMAN1DIR INSTALLMAN3DIR - INSTALLSITEMAN1DIR INSTALLSITEMAN3DIR - INSTALLVENDORMAN1DIR INSTALLVENDORMAN3DIR -- INSTALLSCRIPT -+ INSTALLSCRIPT INSTALLSITESCRIPT INSTALLVENDORSCRIPT - PERL_LIB PERL_ARCHLIB - SITELIBEXP SITEARCHEXP - -@@ -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 -- INST_SCRIPT INSTALLSCRIPT INSTALLSCRIPT INSTALLSCRIPT -+ INST_SCRIPT INSTALLSCRIPT INSTALLSITESCRIPT INSTALLVENDORSCRIPT - INST_MAN1DIR INSTALLMAN1DIR INSTALLSITEMAN1DIR INSTALLVENDORMAN1DIR - INST_MAN3DIR INSTALLMAN3DIR INSTALLSITEMAN3DIR INSTALLVENDORMAN3DIR - -@@ -1545,7 +1545,7 @@ Defaults to $Config{installprivlib}. - =item INSTALLSCRIPT - - Used by 'make install' which copies files from INST_SCRIPT to this --directory. -+directory if INSTALLDIRS is set to perl. - - =item INSTALLSITEARCH - -@@ -1572,6 +1572,11 @@ $(SITEPREFIX)/man/man$(MAN*EXT). - - If set to 'none', no man pages will be installed. - -+=item INSTALLSITESCRIPT -+ -+Used by 'make install' which copies files from INST_SCRIPT to this -+directory if INSTALLDIRS is set to site (default). -+ - =item INSTALLVENDORARCH - - Used by 'make install', which copies files from INST_ARCHLIB to this -@@ -1596,6 +1601,11 @@ INSTALLDIRS=vendor. Defaults to $(VENDO - - If set to 'none', no man pages will be installed. - -+=item INSTALLVENDORSCRIPT -+ -+Used by 'make install' which copies files from INST_SCRIPT to this -+directory if INSTALLDIRS is set to vendor. -+ - =item INST_ARCHLIB - - Same as INST_LIB for architecture dependent files. diff --git a/lang/perl5/patches/patch-an b/lang/perl5/patches/patch-an deleted file mode 100644 index edd051b572f..00000000000 --- a/lang/perl5/patches/patch-an +++ /dev/null @@ -1,50 +0,0 @@ -$NetBSD: patch-an,v 1.2 2006/04/09 06:34:32 jlam Exp $ - ---- lib/ExtUtils/MM_Any.pm.orig 2005-04-13 03:49:53.000000000 -0400 -+++ lib/ExtUtils/MM_Any.pm -@@ -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 -- SCRIPT -+ SCRIPT SITESCRIPT VENDORSCRIPT - MAN1DIR SITEMAN1DIR VENDORMAN1DIR - MAN3DIR SITEMAN3DIR VENDORMAN3DIR - ); diff --git a/lang/perl5/patches/patch-ap b/lang/perl5/patches/patch-ap deleted file mode 100644 index 9d26b4e80fe..00000000000 --- a/lang/perl5/patches/patch-ap +++ /dev/null @@ -1,16 +0,0 @@ -$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-aq b/lang/perl5/patches/patch-aq index 76765fc4106..2a48d25c28c 100644 --- a/lang/perl5/patches/patch-aq +++ b/lang/perl5/patches/patch-aq @@ -1,8 +1,8 @@ -$NetBSD: patch-aq,v 1.1 2006/05/06 12:32:20 jlam Exp $ +$NetBSD: patch-aq,v 1.2 2008/10/10 21:58:43 he Exp $ ---- XSUB.h.orig 2006-01-02 09:45:29.000000000 -0500 +--- XSUB.h.orig 2007-12-18 11:47:07.000000000 +0100 +++ XSUB.h -@@ -85,17 +85,16 @@ handled automatically by C<xsubpp>. +@@ -93,6 +93,9 @@ is a lexical $_ in scope. #ifndef PERL_UNUSED_VAR # define PERL_UNUSED_VAR(x) ((void)x) #endif @@ -12,15 +12,20 @@ $NetBSD: patch-aq,v 1.1 2006/05/06 12:32:20 jlam Exp $ #define ST(off) PL_stack_base[ax + (off)] - #if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING) - # define XS(name) __declspec(dllexport) void name(pTHX_ CV* cv) - #else --# ifdef HASATTRIBUTE_UNUSED +@@ -116,15 +119,7 @@ is a lexical $_ in scope. + # define XS(name) EXPORT_C XSPROTO(name) + #endif + #ifndef XS +-# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus) -# define XS(name) void name(pTHX_ CV* cv __attribute__unused__) -# else --# define XS(name) void name(pTHX_ CV* cv) +-# ifdef __cplusplus +-# define XS(name) extern "C" XSPROTO(name) +-# else +-# define XS(name) XSPROTO(name) +-# endif -# endif +# define XS(name) void name(pTHX_ CV* cv PERL_UNUSED_DECL) #endif - #define dAX const I32 ax = MARK - PL_stack_base + 1 + #define dAX const I32 ax = (I32)(MARK - PL_stack_base + 1) diff --git a/lang/perl5/patches/patch-ar b/lang/perl5/patches/patch-ar deleted file mode 100644 index ddc939b25bd..00000000000 --- a/lang/perl5/patches/patch-ar +++ /dev/null @@ -1,33 +0,0 @@ -$NetBSD: patch-ar,v 1.1 2006/05/06 12:32:20 jlam Exp $ - ---- perl.h.orig 2006-01-13 13:17:12.000000000 -0500 -+++ perl.h -@@ -150,6 +150,15 @@ struct perl_thread; - # define CALLPROTECT CALL_FPTR(PL_protect) - #endif - -+/* GCC versions prior to 3.4 have a bug handling the "unused" attribute -+ * in declarations when compiling C++ code. -+ */ -+#if defined(__GNUC__) && defined(__cplusplus) -+# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4) -+# define PERL_UNUSED_DECL -+# endif -+#endif -+ - #if defined(SYMBIAN) && defined(__GNUC__) - # ifdef __cplusplus - # define PERL_UNUSED_DECL -@@ -2375,7 +2384,11 @@ typedef struct clone_params CLONE_PARAMS - # define HASATTRIBUTE_PURE - # endif - # if __GNUC__ >= 3 /* gcc 3.0 -> */ /* XXX Verify this version */ --# define HASATTRIBUTE_UNUSED -+# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3) /* 3.4 -> */ -+# define HASATTRIBUTE_UNUSED -+# elif !defined(__cplusplus) -+# define HASATTRIBUTE_UNUSED -+# endif - # endif - # if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3 /* 3.4 -> */ - # define HASATTRIBUTE_WARN_UNUSED_RESULT diff --git a/lang/perl5/patches/patch-as b/lang/perl5/patches/patch-as index 6e96dc47c46..6df055475af 100644 --- a/lang/perl5/patches/patch-as +++ b/lang/perl5/patches/patch-as @@ -1,17 +1,16 @@ -$NetBSD: patch-as,v 1.2 2008/01/13 00:20:22 joerg Exp $ +$NetBSD: patch-as,v 1.3 2008/10/10 21:58:43 he Exp $ asm/page.h is no longer installed as part of the kernel header page on Gentoo/Linux. ---- ext/IPC/SysV/SysV.xs.orig 2008-01-12 15:55:22.000000000 +0100 +--- ext/IPC/SysV/SysV.xs.orig 2007-12-18 11:47:07.000000000 +0100 +++ ext/IPC/SysV/SysV.xs -@@ -3,9 +3,6 @@ - #include "XSUB.h" - - #include <sys/types.h> --#ifdef __linux__ --# include <asm/page.h> --#endif - #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) - #ifndef HAS_SEM - # include <sys/ipc.h> +@@ -24,8 +24,6 @@ + # elif defined(HAS_GETPAGESIZE) + # undef SHMLBA /* not static: determined at boot time */ + # define SHMLBA getpagesize() +-# elif defined(__linux__) +-# include <asm/page.h> + # endif + # endif + #endif diff --git a/lang/perl5/patches/patch-ba b/lang/perl5/patches/patch-ba index c33b61c6221..2d797354168 100644 --- a/lang/perl5/patches/patch-ba +++ b/lang/perl5/patches/patch-ba @@ -1,40 +1,18 @@ -$NetBSD: patch-ba,v 1.4 2006/08/08 15:36:00 tron Exp $ +$NetBSD: patch-ba,v 1.5 2008/10/10 21:58:43 he Exp $ ---- hints/netbsd.sh.orig 2003-08-07 17:57:56.000000000 +0100 -+++ hints/netbsd.sh 2006-08-08 16:33:33.000000000 +0100 -@@ -78,6 +78,30 @@ - d_setreuid="$undef" +--- hints/netbsd.sh.orig 2007-12-18 11:47:07.000000000 +0100 ++++ hints/netbsd.sh +@@ -79,7 +79,7 @@ case "$osvers" in ;; esac -+case "$osvers" in -+0.9*|1.*|2.*|3.*|4.*) -+ d_getprotoent_r="$undef" -+ d_getprotobyname_r="$undef" -+ d_getprotobynumber_r="$undef" -+ d_setprotoent_r="$undef" -+ d_endprotoent_r="$undef" -+ d_getservent_r="$undef" -+ d_getservbyname_r="$undef" -+ d_getservbyport_r="$undef" -+ d_setservent_r="$undef" -+ d_endservent_r="$undef" -+ d_getprotoent_r_proto="$undef" -+ d_getprotobyname_r_proto="$undef" -+ d_getprotobynumber_r_proto="$undef" -+ d_setprotoent_r_proto="$undef" -+ d_endprotoent_r_proto="$undef" -+ d_getservent_r_proto="$undef" -+ d_getservbyname_r_proto="$undef" -+ d_getservbyport_r_proto="$undef" -+ d_setservent_r_proto="$undef" -+ d_endservent_r_proto="$undef" -+ ;; -+esac - - # These are obsolete in any netbsd. - d_setrgid="$undef" -@@ -133,23 +157,6 @@ - esac + case "$osvers" in +-0.9*|1.*|2.*|3.*|4.*) ++0.9*|1.*|2.*|3.*|4.*|5.*) + d_getprotoent_r="$undef" + d_getprotobyname_r="$undef" + d_getprotobynumber_r="$undef" +@@ -175,23 +175,6 @@ $define|true|[yY]*) + esac EOCBU -# Set sensible defaults for NetBSD: look for local software in diff --git a/lang/perl5/patches/patch-ca b/lang/perl5/patches/patch-ca index 267bfc21544..964951b3177 100644 --- a/lang/perl5/patches/patch-ca +++ b/lang/perl5/patches/patch-ca @@ -1,23 +1,25 @@ -$NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $ +$NetBSD: patch-ca,v 1.6 2008/10/10 21:58:43 he Exp $ ---- Configure.orig 2006-01-08 09:51:03.000000000 -0500 +--- Configure.orig 2007-12-18 11:47:07.000000000 +0100 +++ Configure -@@ -3130,11 +3130,13 @@ EOM - dgux) osname=dgux +@@ -3206,13 +3206,14 @@ EOM osvers="$3" ;; -+ dragonfly) osname=dragonfly -+ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'` ;; + dragonfly) osname=dragonfly +- osvers="$3" ++ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'` + ;; dynixptx*) osname=dynixptx osvers=`echo "$4"|sed 's/^v//'` ;; - freebsd) osname=freebsd + freebsd) osname=freebsd - osvers="$3" ;; -+ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'` ;; ++ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'` ++ ;; genix) osname=genix ;; gnu) osname=gnu osvers="$3" ;; -@@ -3156,7 +3158,7 @@ EOM +@@ -3234,7 +3235,7 @@ EOM MiNT) osname=mint ;; netbsd*) osname=netbsd @@ -26,7 +28,7 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $ ;; news-os) osvers="$3" case "$3" in -@@ -3167,8 +3169,8 @@ EOM +@@ -3245,8 +3246,8 @@ EOM next*) osname=next ;; nonstop-ux) osname=nonstopux ;; openbsd) osname=openbsd @@ -37,7 +39,7 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $ os2) osname=os2 osvers="$4" ;; -@@ -4445,7 +4447,7 @@ case "$plibpth" in +@@ -4739,7 +4740,7 @@ case "$plibpth" in esac case "$libpth" in ' ') dlist='';; @@ -46,18 +48,18 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $ *) dlist="$libpth";; esac -@@ -6485,7 +6487,9 @@ rp='Pathname for the site-specific libra +@@ -6425,7 +6426,9 @@ rp='Pathname for the site-specific libra . ./getfile - sitelib="$ans" - sitelibexp="$ansexp" + prefixvar=sitelib + . ./setprefixvar -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 + + : Determine list of previous versions to include in @INC + $cat > getverlist <<EOPL +@@ -6925,7 +6928,9 @@ case "$vendorprefix" in vendorlibexp="$ansexp" ;; esac @@ -65,19 +67,10 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $ +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" - ;; -- freebsd|netbsd|openbsd|interix) -+ freebsd|netbsd|openbsd|dragonfly|interix) - xxx="-Wl,-R$shrpdir" - ;; - bsdos|linux|irix*|dec_osf|gnu*) -@@ -9010,6 +9016,13 @@ EOCP + prefixvar=vendorlib + . ./installprefix + +@@ -9170,6 +9175,13 @@ EOCP ;; esac @@ -91,7 +84,7 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $ case "$vendorprefix" in '') d_vendorbin="$undef" vendorbin='' -@@ -17776,7 +17789,15 @@ RCAT(Rei,ser) +@@ -18347,7 +18359,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 deleted file mode 100644 index 4262b12c170..00000000000 --- a/lang/perl5/patches/patch-cb +++ /dev/null @@ -1,33 +0,0 @@ -$NetBSD: patch-cb,v 1.4 2006/10/08 17:48:30 ben Exp $ - ---- Makefile.SH.orig 2006-01-24 04:49:44.000000000 -0800 -+++ Makefile.SH -@@ -73,7 +73,7 @@ true) - sunos*) - linklibperl="-lperl" - ;; -- netbsd*|freebsd[234]*|openbsd*) -+ netbsd*|freebsd[234]*|openbsd*|dragonfly*) - linklibperl="-L. -lperl" - ;; - interix*) -@@ -85,7 +85,7 @@ true) - case "$osvers" in - 3*) shrpldflags="$shrpldflags -e _nostart" - ;; -- *) shrpldflags="$shrpldflags -b noentry" -+ *) shrpldflags="$shrpldflags -bnoentry" - ;; - esac - shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib" -@@ -990,6 +990,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) - -+.PHONY: printconfig -+printconfig: -+ @eval `$(LDLIBPTH) ./perl -Ilib -V:$(CONFIGVAR)`; echo $$$(CONFIGVAR) -+ - .PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \ - realclean _realcleaner clobber _clobber \ - distclean veryclean _verycleaner diff --git a/lang/perl5/patches/patch-ce b/lang/perl5/patches/patch-ce deleted file mode 100644 index 9adf2941afc..00000000000 --- a/lang/perl5/patches/patch-ce +++ /dev/null @@ -1,12 +0,0 @@ -$NetBSD: patch-ce,v 1.2 2005/08/06 06:18:45 jlam Exp $ - ---- lib/File/Temp.pm.orig 2005-04-03 11:27:16.000000000 -0400 -+++ lib/File/Temp.pm -@@ -2128,6 +2128,7 @@ The value is only relevant when C<safe_l - - { - my $TopSystemUID = 10; -+ $TopSystemUID = 197108 if $^O eq 'interix'; # "Administrator" - sub top_system_uid { - my $self = shift; - if (@_) { diff --git a/lang/perl5/patches/patch-ch b/lang/perl5/patches/patch-ch index 451d3dbb5d3..6f2ad07b8b3 100644 --- a/lang/perl5/patches/patch-ch +++ b/lang/perl5/patches/patch-ch @@ -1,11 +1,11 @@ -$NetBSD: patch-ch,v 1.3 2006/04/09 06:34:33 jlam Exp $ +$NetBSD: patch-ch,v 1.4 2008/10/10 21:58:43 he Exp $ ---- hints/dec_osf.sh.orig 2006-01-08 04:53:29.000000000 -0500 +--- hints/dec_osf.sh.orig 2007-12-18 11:47:07.000000000 +0100 +++ hints/dec_osf.sh -@@ -285,7 +285,7 @@ case "`uname -r`" in +@@ -79,7 +79,7 @@ case "$unamer" in # fixed in 4.0E or better. ;; - *) + *) - lddlflags="$lddlflags $optimize" + lddlflags="$lddlflags" ;; diff --git a/lang/perl5/patches/patch-ci b/lang/perl5/patches/patch-ci index 9d2285804fa..6012dbc95ba 100644 --- a/lang/perl5/patches/patch-ci +++ b/lang/perl5/patches/patch-ci @@ -1,8 +1,8 @@ -$NetBSD: patch-ci,v 1.3 2006/04/09 06:34:33 jlam Exp $ +$NetBSD: patch-ci,v 1.4 2008/10/10 21:58:43 he Exp $ ---- pp_sys.c.orig 2006-01-13 13:15:15.000000000 -0500 +--- pp_sys.c.orig 2007-12-18 11:47:08.000000000 +0100 +++ pp_sys.c -@@ -4516,12 +4516,15 @@ PP(pp_gmtime) +@@ -4452,12 +4452,15 @@ PP(pp_gmtime) when = (Time_t)SvIVx(POPs); #endif diff --git a/lang/perl5/patches/patch-cn b/lang/perl5/patches/patch-cn index 6df5c860aee..1c6cc1b5b92 100644 --- a/lang/perl5/patches/patch-cn +++ b/lang/perl5/patches/patch-cn @@ -1,8 +1,8 @@ -$NetBSD: patch-cn,v 1.1 2007/04/21 15:32:15 tnn Exp $ +$NetBSD: patch-cn,v 1.2 2008/10/10 21:58:43 he Exp $ ---- hints/hpux.sh.orig 2007-04-21 17:17:01.000000000 +0200 +--- hints/hpux.sh.orig 2007-12-18 11:47:07.000000000 +0100 +++ hints/hpux.sh -@@ -371,7 +371,7 @@ case "$ccisgcc" in +@@ -376,7 +376,7 @@ case "$ccisgcc" in *O[3456789]*) optimize=`echo "$optimize" | sed -e 's/O[3-9]/O2/'` ;; esac #ld="$cc" @@ -11,7 +11,7 @@ $NetBSD: patch-cn,v 1.1 2007/04/21 15:32:15 tnn Exp $ cccdlflags='-fPIC' #lddlflags='-shared' lddlflags='-b' -@@ -428,7 +428,7 @@ case "$ccisgcc" in +@@ -434,7 +434,7 @@ case "$ccisgcc" in toke_cflags="$toke_cflags;optimize=\"$opt\"" regexec_cflags="optimize=\"$opt\"" fi diff --git a/lang/perl5/patches/patch-co b/lang/perl5/patches/patch-co index 72bb56e9c6d..f0e0d18f662 100644 --- a/lang/perl5/patches/patch-co +++ b/lang/perl5/patches/patch-co @@ -1,6 +1,6 @@ -$NetBSD: patch-co,v 1.1 2008/07/30 23:07:52 ahoka Exp $ +$NetBSD: patch-co,v 1.2 2008/10/10 21:58:43 he Exp $ ---- hints/freebsd.sh.orig 2004-03-24 22:47:33.000000000 +0100 +--- hints/freebsd.sh.orig 2007-12-18 11:47:07.000000000 +0100 +++ hints/freebsd.sh @@ -114,7 +114,7 @@ case "$osvers" in lddlflags="-Bshareable $lddlflags" @@ -9,8 +9,8 @@ $NetBSD: patch-co,v 1.1 2008/07/30 23:07:52 ahoka Exp $ -*) +3*|4*|5*|6*) objformat=`/usr/bin/objformat` - if [ x$objformat = xelf ]; then - libpth="/usr/lib /usr/local/lib" + if [ x$objformat = xaout ]; then + if [ -e /usr/lib/aout ]; then @@ -130,6 +130,14 @@ case "$osvers" in fi cccdlflags='-DPIC -fPIC' diff --git a/lang/perl5/patches/patch-da b/lang/perl5/patches/patch-da deleted file mode 100644 index fbcaca6b805..00000000000 --- a/lang/perl5/patches/patch-da +++ /dev/null @@ -1,150 +0,0 @@ -$NetBSD: patch-da,v 1.2 2008/06/01 22:04:07 he Exp $ - -Fix for -http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927 -from -http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792 - ---- regcomp.c.orig 2008-06-01 22:04:17.000000000 +0200 -+++ regcomp.c -@@ -2790,6 +2790,39 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_sta - } - - /* -+ * reg_recode -+ * -+ * It returns the code point in utf8 for the value in *encp. -+ * value: a code value in the source encoding -+ * encp: a pointer to an Encode object -+ * -+ * If the result from Encode is not a single character, -+ * it returns U+FFFD (Replacement character) and sets *encp to NULL. -+ */ -+STATIC UV -+S_reg_recode(pTHX_ const char value, SV **encp) -+{ -+ STRLEN numlen = 1; -+ SV * const sv = sv_2mortal(newSVpvn(&value, numlen)); -+ const char * const s = encp && *encp ? sv_recode_to_utf8(sv, *encp) -+ : SvPVX(sv); -+ const STRLEN newlen = SvCUR(sv); -+ UV uv = UNICODE_REPLACEMENT; -+ -+ if (newlen) -+ uv = SvUTF8(sv) -+ ? utf8n_to_uvchr((U8*)s, newlen, &numlen, UTF8_ALLOW_DEFAULT) -+ : *(U8*)s; -+ -+ if (!newlen || numlen != newlen) { -+ uv = UNICODE_REPLACEMENT; -+ if (encp) -+ *encp = NULL; -+ } -+ return uv; -+} -+ -+/* - - regatom - the lowest level - * - * Optimization: gobbles an entire sequence of ordinary characters so that -@@ -3181,6 +3214,8 @@ tryagain: - ender = grok_hex(p, &numlen, &flags, NULL); - p += numlen; - } -+ if (PL_encoding && ender < 0x100) -+ goto recode_encoding; - break; - case 'c': - p++; -@@ -3200,6 +3235,17 @@ tryagain: - --p; - goto loopdone; - } -+ if (PL_encoding && ender < 0x100) -+ goto recode_encoding; -+ break; -+ recode_encoding: -+ { -+ SV* enc = PL_encoding; -+ ender = reg_recode((const char)(U8)ender, &enc); -+ if (!enc && SIZE_ONLY && ckWARN(WARN_REGEXP)) -+ vWARN(p, "Invalid escape in the specified encoding"); -+ RExC_utf8 = 1; -+ } - break; - case '\0': - if (p >= RExC_end) -@@ -3330,32 +3376,6 @@ tryagain: - break; - } - -- /* If the encoding pragma is in effect recode the text of -- * any EXACT-kind nodes. */ -- if (PL_encoding && PL_regkind[(U8)OP(ret)] == EXACT) { -- STRLEN oldlen = STR_LEN(ret); -- SV *sv = sv_2mortal(newSVpvn(STRING(ret), oldlen)); -- -- if (RExC_utf8) -- SvUTF8_on(sv); -- if (sv_utf8_downgrade(sv, TRUE)) { -- const char * const s = sv_recode_to_utf8(sv, PL_encoding); -- const STRLEN newlen = SvCUR(sv); -- -- if (SvUTF8(sv)) -- RExC_utf8 = 1; -- if (!SIZE_ONLY) { -- DEBUG_r(PerlIO_printf(Perl_debug_log, "recode %*s to %*s\n", -- (int)oldlen, STRING(ret), -- (int)newlen, s)); -- Copy(s, STRING(ret), newlen, char); -- STR_LEN(ret) += newlen - oldlen; -- RExC_emit += STR_SZ(newlen) - STR_SZ(oldlen); -- } else -- RExC_size += STR_SZ(newlen) - STR_SZ(oldlen); -- } -- } -- - return(ret); - } - -@@ -3733,6 +3753,8 @@ S_regclass(pTHX_ RExC_state_t *pRExC_sta - value = grok_hex(RExC_parse, &numlen, &flags, NULL); - RExC_parse += numlen; - } -+ if (PL_encoding && value < 0x100) -+ goto recode_encoding; - break; - case 'c': - value = UCHARAT(RExC_parse++); -@@ -3740,13 +3762,24 @@ S_regclass(pTHX_ RExC_state_t *pRExC_sta - break; - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': -- { -- I32 flags = 0; -- numlen = 3; -- value = grok_oct(--RExC_parse, &numlen, &flags, NULL); -- RExC_parse += numlen; -- break; -- } -+ { -+ I32 flags = 0; -+ numlen = 3; -+ value = grok_oct(--RExC_parse, &numlen, &flags, NULL); -+ RExC_parse += numlen; -+ if (PL_encoding && value < 0x100) -+ goto recode_encoding; -+ break; -+ } -+ recode_encoding: -+ { -+ SV* enc = PL_encoding; -+ value = reg_recode((const char)(U8)value, &enc); -+ if (!enc && SIZE_ONLY && ckWARN(WARN_REGEXP)) -+ vWARN(RExC_parse, -+ "Invalid escape in the specified encoding"); -+ break; -+ } - default: - if (!SIZE_ONLY && isALPHA(value) && ckWARN(WARN_REGEXP)) - vWARN2(RExC_parse, diff --git a/lang/perl5/patches/patch-ta b/lang/perl5/patches/patch-ta index 9221a0c1089..4b5275202af 100644 --- a/lang/perl5/patches/patch-ta +++ b/lang/perl5/patches/patch-ta @@ -1,23 +1,25 @@ -$NetBSD: patch-ta,v 1.1 2006/07/02 20:35:53 rillig Exp $ +$NetBSD: patch-ta,v 1.2 2008/10/10 21:58:44 he Exp $ On NetBSD, filesystems may be mounted with the noatime option. ---- t/io/fs.t.orig 2006-01-08 22:46:15.000000000 +0100 -+++ t/io/fs.t 2006-07-02 22:33:01.000000000 +0200 -@@ -255,13 +255,13 @@ SKIP: { - is( $atime, 500000001, 'atime' ); - is( $mtime, 500000000 + $delta, 'mtime' ); - } -- elsif ($^O eq 'beos') { -+ elsif ($^O eq 'beos' || $^O eq 'netbsd') { - SKIP: { skip "atime not updated", 1; } - is($mtime, 500000001, 'mtime'); - } - else { -- fail("atime"); -- fail("mtime"); -+ fail("atime: expected 500000000, got ${atime}"); -+ fail("mtime: expected ".(500000000+$delta).", got ${mtime}"); - } +--- t/io/fs.t.orig 2007-12-18 11:47:08.000000000 +0100 ++++ t/io/fs.t +@@ -275,15 +275,15 @@ sub check_utime_result { + is( $atime, 500000001, 'atime' ); + is( $mtime, 500000000 + $delta, 'mtime' ); + } +- elsif ($^O eq 'beos') { ++ elsif ($^O eq 'beos' || $^O eq 'netbsd') { + SKIP: { + skip "atime not updated", 1; + } + is($mtime, 500000001, 'mtime'); + } + else { +- fail("atime"); +- fail("mtime"); ++ fail("atime: expected 500000000, got ${atime}"); ++ fail("mtime: expected ".(500000000+$delta).", got ${mtime}"); + } + } } - } diff --git a/lang/perl5/patches/patch-zc b/lang/perl5/patches/patch-zc index 1023115c20f..08c75d8532e 100644 --- a/lang/perl5/patches/patch-zc +++ b/lang/perl5/patches/patch-zc @@ -1,6 +1,6 @@ -$NetBSD: patch-zc,v 1.2 2006/04/09 06:34:33 jlam Exp $ +$NetBSD: patch-zc,v 1.3 2008/10/10 21:58:44 he Exp $ ---- Policy_sh.SH.orig 2003-08-01 08:23:23.000000000 -0400 +--- Policy_sh.SH.orig 2007-12-18 11:47:07.000000000 +0100 +++ Policy_sh.SH @@ -184,10 +184,10 @@ do ;; diff --git a/lang/perl5/patches/patch-zd b/lang/perl5/patches/patch-zd new file mode 100644 index 00000000000..4113819b284 --- /dev/null +++ b/lang/perl5/patches/patch-zd @@ -0,0 +1,14 @@ +$NetBSD: patch-zd,v 1.1 2008/10/10 21:58:44 he Exp $ + +--- lib/Module/Build/t/tilde.t.orig 2007-12-18 11:47:07.000000000 +0100 ++++ lib/Module/Build/t/tilde.t +@@ -40,6 +40,9 @@ my $p = 'install_base'; + SKIP: { + my $home = $ENV{HOME} ? $ENV{HOME} : undef; + skip "Needs case and syntax tweaks for VMS", 14 if $^O eq 'VMS'; ++ if ($home =~ /work\/.home/) { ++ skip "Skipping test in pkgsrc env to avoid FAKE_HOME trouble", 14; ++ } + unless (defined $home) { + my @info = eval { getpwuid $> }; + skip "No home directory for tilde-expansion tests", 14 if $@; |