# 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 );