pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/perl5 Update perl5 from version 5.8.8nb8 to 5.10.0.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/54c897765e31
branches:  trunk
changeset: 548184:54c897765e31
user:      he <he%pkgsrc.org@localhost>
date:      Fri Oct 10 21:58:43 2008 +0000

description:
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.

diffstat:

 lang/perl5/Makefile         |   25 ++++++-
 lang/perl5/distinfo         |   48 ++++---------
 lang/perl5/patches/patch-aa |   42 ++---------
 lang/perl5/patches/patch-ac |   42 ------------
 lang/perl5/patches/patch-ad |   17 ----
 lang/perl5/patches/patch-ae |   29 --------
 lang/perl5/patches/patch-af |   25 -------
 lang/perl5/patches/patch-ag |   25 -------
 lang/perl5/patches/patch-ah |   54 ++++++++-------
 lang/perl5/patches/patch-ai |   17 ----
 lang/perl5/patches/patch-aj |   31 ---------
 lang/perl5/patches/patch-ak |   18 -----
 lang/perl5/patches/patch-am |   55 ----------------
 lang/perl5/patches/patch-an |   50 --------------
 lang/perl5/patches/patch-ap |   16 ----
 lang/perl5/patches/patch-aq |   23 ++++--
 lang/perl5/patches/patch-ar |   33 ---------
 lang/perl5/patches/patch-as |   23 +++---
 lang/perl5/patches/patch-ba |   46 +++---------
 lang/perl5/patches/patch-ca |   57 +++++++---------
 lang/perl5/patches/patch-cb |   33 ---------
 lang/perl5/patches/patch-ce |   12 ---
 lang/perl5/patches/patch-ch |    8 +-
 lang/perl5/patches/patch-ci |    6 +-
 lang/perl5/patches/patch-cn |    8 +-
 lang/perl5/patches/patch-co |    8 +-
 lang/perl5/patches/patch-da |  150 --------------------------------------------
 lang/perl5/patches/patch-ta |   40 ++++++-----
 lang/perl5/patches/patch-zc |    4 +-
 lang/perl5/patches/patch-zd |   14 ++++
 30 files changed, 190 insertions(+), 769 deletions(-)

diffs (truncated from 1316 to 300 lines):

diff -r a63da0cd1a0e -r 54c897765e31 lang/perl5/Makefile
--- a/lang/perl5/Makefile       Fri Oct 10 20:40:35 2008 +0000
+++ b/lang/perl5/Makefile       Fri Oct 10 21:58:43 2008 +0000
@@ -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@localhost
@@ -261,6 +259,25 @@
 .  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 -r a63da0cd1a0e -r 54c897765e31 lang/perl5/distinfo
--- a/lang/perl5/distinfo       Fri Oct 10 20:40:35 2008 +0000
+++ b/lang/perl5/distinfo       Fri Oct 10 21:58:43 2008 +0000
@@ -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 -r a63da0cd1a0e -r 54c897765e31 lang/perl5/patches/patch-aa
--- a/lang/perl5/patches/patch-aa       Fri Oct 10 20:40:35 2008 +0000
+++ b/lang/perl5/patches/patch-aa       Fri Oct 10 21:58:43 2008 +0000
@@ -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 @@
      $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 -r a63da0cd1a0e -r 54c897765e31 lang/perl5/patches/patch-ac
--- a/lang/perl5/patches/patch-ac       Fri Oct 10 20:40:35 2008 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -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 -r a63da0cd1a0e -r 54c897765e31 lang/perl5/patches/patch-ad
--- a/lang/perl5/patches/patch-ad       Fri Oct 10 20:40:35 2008 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -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 -r a63da0cd1a0e -r 54c897765e31 lang/perl5/patches/patch-ae
--- a/lang/perl5/patches/patch-ae       Fri Oct 10 20:40:35 2008 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -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 -r a63da0cd1a0e -r 54c897765e31 lang/perl5/patches/patch-af
--- a/lang/perl5/patches/patch-af       Fri Oct 10 20:40:35 2008 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -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 -r a63da0cd1a0e -r 54c897765e31 lang/perl5/patches/patch-ag
--- a/lang/perl5/patches/patch-ag       Fri Oct 10 20:40:35 2008 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@



Home | Main Index | Thread Index | Old Index