# New Ticket Created by  Will Coleda 
# Please include the string:  [perl #59600]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=59600 >


This is a patch-response to r31585, which required a particular
version of Storable in one file.

Attached, find a patch which bumps our core perl requirement to 5.8.6,
the first time this particular version of Storable was included as a
core module (`corelist -a Storable`). It:

- updates every use/require to be "use 5.8.6;", avoiding any attempt
at backward compatibility. [0]
- updates the docs where appropriate (including NEWS)
- updates files in languages/ too.
- avoids updating anything in lib/Pod/Simple*
- removes the specific version requirement for Storable introduced in r31585.

We've been talking about doing this bump to avoid this problem for
some time. I'd rather fail during the initial attempt to run configure
than have someone with 5.8.0 -then- fail by missing the Storable
requirement below.

All (core) tests pass.

[0] Many of these checks are probably unnecessary in the first place
if we enforce this in Configure.pl, and ripping them out would allow
us to simplify things the next time we had to do this. Doesn't need to
be done for this version to get applied.

-- 
Will "Coke" Coleda
Index: docs/faq.pod
===================================================================
--- docs/faq.pod	(revision 31589)
+++ docs/faq.pod	(working copy)
@@ -45,7 +45,7 @@
 
 =head2 What language is Parrot written in?
 
-While much of the build system currently uses perl 5.8.0, the parrot
+While much of the build system currently uses perl 5.8.6, the parrot
 runtime is C89.
 
 =head2 Why register-based and not stack-based?
Index: docs/pdds/pdd07_codingstd.pod
===================================================================
--- docs/pdds/pdd07_codingstd.pod	(revision 31589)
+++ docs/pdds/pdd07_codingstd.pod	(working copy)
@@ -75,9 +75,9 @@
 
 =item *
 
-Perl code must be written for Perl 5.8.0 and all later versions.
+Perl code must be written for Perl 5.8.6 and all later versions.
 
-Perl code may use features not available in Perl 5.8.0 only if it is not vital
+Perl code may use features not available in Perl 5.8.6 only if it is not vital
 to Parrot, and if it uses C<$^O> and C<$]> to degrade or fail gracefully when
 it is run where the features it depends on are not available.
 
Index: docs/gettingstarted.pod
===================================================================
--- docs/gettingstarted.pod	(revision 31589)
+++ docs/gettingstarted.pod	(working copy)
@@ -60,7 +60,7 @@
 =head2 Now that I've got Parrot, what do I do?
 
 Now that you've downloaded Parrot, you probably want to try it out. All you
-need is Perl 5.8.0 or later, a C compiler (any ANSI C compliant compiler
+need is Perl 5.8.6 or later, a C compiler (any ANSI C compliant compiler
 should do - if you find one that doesn't work, please report it to us), and
 some reasonable form of C<make>. To do this, follow these three easy steps.
 
Index: ext/Parrot-Embed/tools/check_embed_coverage.pl
===================================================================
--- ext/Parrot-Embed/tools/check_embed_coverage.pl	(revision 31589)
+++ ext/Parrot-Embed/tools/check_embed_coverage.pl	(working copy)
@@ -5,7 +5,7 @@
 
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 use Getopt::Long;
 
Index: tools/dev/nopaste.pl
===================================================================
--- tools/dev/nopaste.pl	(revision 31589)
+++ tools/dev/nopaste.pl	(working copy)
@@ -3,7 +3,7 @@
 # Copyright (C) 2008, The Perl Foundation.
 # $Id$
 
-use 5.008;
+use 5.8.6;
 use strict;
 use warnings;
 
Index: tools/dev/nm.pl
===================================================================
--- tools/dev/nm.pl	(revision 31589)
+++ tools/dev/nm.pl	(working copy)
@@ -138,7 +138,7 @@
 
 use vars qw($VERSION);
 
-require 5.005;
+use 5.8.6;
 
 $VERSION = sprintf "%d.%d", q$Revision$ =~ /(\d+)/g;    # [EMAIL PROTECTED];
 
Index: tools/dev/pbc_header.pl
===================================================================
--- tools/dev/pbc_header.pl	(revision 31589)
+++ tools/dev/pbc_header.pl	(working copy)
@@ -5,7 +5,7 @@
 
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 =head1 NAME
 
Index: tools/dev/reconfigure.pl
===================================================================
--- tools/dev/reconfigure.pl	(revision 31589)
+++ tools/dev/reconfigure.pl	(working copy)
@@ -3,7 +3,7 @@
 # Copyright (C) 2007, The Perl Foundation.
 # $Id$
 
-use 5.008;
+use 5.8.6;
 use strict;
 use warnings;
 use lib 'lib';
Index: tools/dev/svnclobber.pl
===================================================================
--- tools/dev/svnclobber.pl	(revision 31589)
+++ tools/dev/svnclobber.pl	(working copy)
@@ -29,7 +29,7 @@
 
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 use File::Find ();
 
Index: tools/dev/mk_language_shell.pl
===================================================================
--- tools/dev/mk_language_shell.pl	(revision 31589)
+++ tools/dev/mk_language_shell.pl	(working copy)
@@ -527,7 +527,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 use lib qw( . lib ../lib ../../lib ../../lib );
 use Parrot::Test::Harness language => '@lang@',
Index: lib/Pod/Simple/TranscodeSmart.pm
===================================================================
--- lib/Pod/Simple/TranscodeSmart.pm	(revision 31589)
+++ lib/Pod/Simple/TranscodeSmart.pm	(working copy)
@@ -1,6 +1,4 @@
-
-require 5;
-use 5.008;
+use 5.8.6;
 ## Anything before 5.8.0 is GIMPY!
 ## This module is to be use()'d only by Pod::Simple::Transcode
 
Index: lib/Parrot/Pmc2c/Pmc2cMain.pm
===================================================================
--- lib/Parrot/Pmc2c/Pmc2cMain.pm	(revision 31589)
+++ lib/Parrot/Pmc2c/Pmc2cMain.pm	(working copy)
@@ -3,7 +3,7 @@
 package Parrot::Pmc2c::Pmc2cMain;
 use strict;
 use warnings;
-use Storable 2.13;
+use Storable;
 use Parrot::PMC ();
 use Parrot::Pmc2c::VTable ();
 use Parrot::Pmc2c::Dumper;
Index: ports/macports/Portfile
===================================================================
--- ports/macports/Portfile	(revision 31589)
+++ ports/macports/Portfile	(working copy)
@@ -20,7 +20,7 @@
 
 checksums		md5 0a87f7e5437315f67c0848c5cb2b6d0b
 
-depends_build		bin:perl:perl5.8
+depends_build		bin:perl:perl5.8.6
 depends_lib			port:gmp port:icu
 
 configure.cmd		perl Configure.pl
Index: NEWS
===================================================================
--- NEWS	(revision 31589)
+++ NEWS	(working copy)
@@ -1,6 +1,8 @@
 # $Id$
 
 New in October 2008 release
+- Requirements
+  + Minimum perl version bumped to 5.8.6 (up from 5.8.0)
 - Languages
   + Markdown : new lightweight markup language
     - start implementation with PCT/NQP
Index: Makefile.PL
===================================================================
--- Makefile.PL	(revision 31589)
+++ Makefile.PL	(working copy)
@@ -17,7 +17,7 @@
 use strict;
 use warnings;
 
-BEGIN { require 5.008 }
+BEGIN { require 5.8.6 }
 
 my %translations =
 (
Index: Configure.pl
===================================================================
--- Configure.pl	(revision 31589)
+++ Configure.pl	(working copy)
@@ -3,7 +3,7 @@
 # Copyright (C) 2001-2008, The Perl Foundation.
 # $Id$
 
-use 5.008;
+use 5.8.6;
 use strict;
 use warnings;
 use lib 'lib';
Index: README
===================================================================
--- README	(revision 31589)
+++ README	(working copy)
@@ -20,7 +20,7 @@
 
 Get it from http://www-306.ibm.com/software/globalization/icu/downloads.jsp
 
-You also need Perl 5.8.0 or newer to run various configure and build scripts.
+You also need Perl 5.8.6 or newer to run various configure and build scripts.
 
 For most of the platforms that we are supporting initially, Parrot should build
 out of the box.  The list of targeted platforms can be found in PLATFORMS.
Index: t/compilers/imcc/syn/file.t
===================================================================
--- t/compilers/imcc/syn/file.t	(revision 31589)
+++ t/compilers/imcc/syn/file.t	(working copy)
@@ -21,7 +21,7 @@
 
 =cut
 
-use 5;
+use 5.8.6;
 
 # Do not assume that . is in $PATH
 my $PARROT = ".$PConfig{slash}parrot$PConfig{exe}";
Index: t/distro/meta_yml.t
===================================================================
--- t/distro/meta_yml.t	(revision 31589)
+++ t/distro/meta_yml.t	(working copy)
@@ -19,7 +19,7 @@
 
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 use Test::More;
 
Index: languages/unlambda/t/harness
===================================================================
--- languages/unlambda/t/harness	(revision 31589)
+++ languages/unlambda/t/harness	(working copy)
@@ -4,7 +4,7 @@
 
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 use FindBin ();
 use lib "$FindBin::Bin/../../../lib";
Index: languages/PIR/t/harness
===================================================================
--- languages/PIR/t/harness	(revision 31589)
+++ languages/PIR/t/harness	(working copy)
@@ -5,7 +5,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 use lib qw( . lib ../lib ../../lib ../../lib );
 
 # language is the directory where the language implementation lives
Index: languages/json/t/harness
===================================================================
--- languages/json/t/harness	(revision 31589)
+++ languages/json/t/harness	(working copy)
@@ -5,7 +5,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 use lib qw( . lib ../lib ../../lib ../../lib );
 use Parrot::Test::Harness language => 'json',
Index: languages/regex/lib/Regex/Grammar.pm
===================================================================
--- languages/regex/lib/Regex/Grammar.pm	(revision 31589)
+++ languages/regex/lib/Regex/Grammar.pm	(working copy)
@@ -31,7 +31,7 @@
 
 package Parse::Yapp::Driver;
 
-require 5.004;
+use 5.8.6;
 
 use strict;
 
Index: languages/APL/t/harness
===================================================================
--- languages/APL/t/harness	(revision 31589)
+++ languages/APL/t/harness	(working copy)
@@ -5,7 +5,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 use lib qw( ../lib ../../lib );
 
Index: languages/markdown/t/harness
===================================================================
--- languages/markdown/t/harness	(revision 31589)
+++ languages/markdown/t/harness	(working copy)
@@ -32,7 +32,7 @@
 
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 use lib qw( . lib ../lib ../../lib ../../lib );
 
Index: languages/abc/t/harness
===================================================================
--- languages/abc/t/harness	(revision 31589)
+++ languages/abc/t/harness	(working copy)
@@ -5,7 +5,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 use lib qw( . lib ../lib ../../lib ../../lib );
 
Index: languages/scheme/lib/Scheme.pm
===================================================================
--- languages/scheme/lib/Scheme.pm	(revision 31589)
+++ languages/scheme/lib/Scheme.pm	(working copy)
@@ -18,7 +18,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 # core Perl modules
 use Data::Dumper;
Index: languages/scheme/lib/Scheme/Generator.pm
===================================================================
--- languages/scheme/lib/Scheme/Generator.pm	(revision 31589)
+++ languages/scheme/lib/Scheme/Generator.pm	(working copy)
@@ -6,7 +6,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 use Carp;
 use Data::Dumper;
Index: languages/scheme/lib/Scheme/Builtins.pm
===================================================================
--- languages/scheme/lib/Scheme/Builtins.pm	(revision 31589)
+++ languages/scheme/lib/Scheme/Builtins.pm	(working copy)
@@ -6,7 +6,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 # nice for debugging
 use Data::Dumper;
Index: languages/scheme/lib/Scheme/Tokenizer.pm
===================================================================
--- languages/scheme/lib/Scheme/Tokenizer.pm	(revision 31589)
+++ languages/scheme/lib/Scheme/Tokenizer.pm	(working copy)
@@ -6,7 +6,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 our $VERSION   = '0.01';
 
Index: languages/scheme/lib/Scheme/Parser.pm
===================================================================
--- languages/scheme/lib/Scheme/Parser.pm	(revision 31589)
+++ languages/scheme/lib/Scheme/Parser.pm	(working copy)
@@ -6,7 +6,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 our $VERSION   = '0.01';
 
Index: languages/scheme/lib/Parrot/Test/Scheme.pm
===================================================================
--- languages/scheme/lib/Parrot/Test/Scheme.pm	(revision 31589)
+++ languages/scheme/lib/Parrot/Test/Scheme.pm	(working copy)
@@ -6,7 +6,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 use Parrot::Config;
 use Parrot::Test;
Index: languages/scheme/schemec
===================================================================
--- languages/scheme/schemec	(revision 31589)
+++ languages/scheme/schemec	(working copy)
@@ -4,7 +4,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 use lib qw( languages/scheme/lib lib );
 
 use Scheme;
Index: languages/lazy-k/t/harness
===================================================================
--- languages/lazy-k/t/harness	(revision 31589)
+++ languages/lazy-k/t/harness	(working copy)
@@ -4,7 +4,7 @@
 
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 
 use FindBin ();
 use lib "$FindBin::Bin/../../../lib";
Index: languages/eclectus/t/harness
===================================================================
--- languages/eclectus/t/harness	(revision 31589)
+++ languages/eclectus/t/harness	(working copy)
@@ -25,7 +25,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 use lib qw( ../lib ../../lib ../../lib );
 
 use Parrot::Test::Harness
Index: languages/pipp/Configure.pl
===================================================================
--- languages/pipp/Configure.pl	(revision 31589)
+++ languages/pipp/Configure.pl	(working copy)
@@ -12,7 +12,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 use FindBin;
 use lib "$FindBin::Bin/../../lib";
 
Index: languages/cola/t/harness
===================================================================
--- languages/cola/t/harness	(revision 31589)
+++ languages/cola/t/harness	(working copy)
@@ -5,7 +5,7 @@
 # pragmata
 use strict;
 use warnings;
-use 5.008;
+use 5.8.6;
 use FindBin  ();
 
 use lib qw( $FindBin::Bin/../../../lib  );

Reply via email to