Change 33672 by [EMAIL PROTECTED] on 2008/04/13 13:12:15 Upgrade to Devel::PPPort 3.13_02
Affected files ... ... //depot/perl/MANIFEST#1693 edit ... //depot/perl/ext/Devel/PPPort/Changes#43 edit ... //depot/perl/ext/Devel/PPPort/PPPort_pm.PL#36 edit ... //depot/perl/ext/Devel/PPPort/devel/buildperl.pl#9 edit ... //depot/perl/ext/Devel/PPPort/parts/inc/format#7 edit ... //depot/perl/ext/Devel/PPPort/parts/inc/misc#16 edit ... //depot/perl/ext/Devel/PPPort/soak#31 edit ... //depot/perl/ext/Devel/PPPort/t/format.t#1 add Differences ... ==== //depot/perl/MANIFEST#1693 (text) ==== Index: perl/MANIFEST --- perl/MANIFEST#1692~33666~ 2008-04-11 03:53:40.000000000 -0700 +++ perl/MANIFEST 2008-04-13 06:12:15.000000000 -0700 @@ -337,6 +337,7 @@ ext/Devel/PPPort/t/call.t Devel::PPPort test file ext/Devel/PPPort/t/cop.t Devel::PPPort test file ext/Devel/PPPort/t/exception.t Devel::PPPort test file +ext/Devel/PPPort/t/format.t Devel::PPPort test file ext/Devel/PPPort/t/grok.t Devel::PPPort test file ext/Devel/PPPort/t/limits.t Devel::PPPort test file ext/Devel/PPPort/t/magic.t Devel::PPPort test file ==== //depot/perl/ext/Devel/PPPort/Changes#43 (xtext) ==== Index: perl/ext/Devel/PPPort/Changes --- perl/ext/Devel/PPPort/Changes#42~32827~ 2008-01-04 06:10:18.000000000 -0800 +++ perl/ext/Devel/PPPort/Changes 2008-04-13 06:12:15.000000000 -0700 @@ -1,3 +1,10 @@ +3.13_02 - 2008-04-13 + + * fix NV[efg]f format string macros for perl-5.6.0 built + using -Duselongdouble (thanks to Zefram for figuring this + out and to Jarkko Hietaniemi for keeping me in sync) + * add --patch and --oneshot options to devel/buildperl.pl + 3.13_01 - 2008-01-04 * fix dependency detection algorithm for functions ==== //depot/perl/ext/Devel/PPPort/PPPort_pm.PL#36 (text) ==== Index: perl/ext/Devel/PPPort/PPPort_pm.PL --- perl/ext/Devel/PPPort/PPPort_pm.PL#35~32827~ 2008-01-04 06:10:18.000000000 -0800 +++ perl/ext/Devel/PPPort/PPPort_pm.PL 2008-04-13 06:12:15.000000000 -0700 @@ -508,7 +508,7 @@ use strict; use vars qw($VERSION $data); -$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13_01 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; +$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13_02 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; sub _init_data { ==== //depot/perl/ext/Devel/PPPort/devel/buildperl.pl#9 (text) ==== Index: perl/ext/Devel/PPPort/devel/buildperl.pl --- perl/ext/Devel/PPPort/devel/buildperl.pl#8~32827~ 2008-01-04 06:10:18.000000000 -0800 +++ perl/ext/Devel/PPPort/devel/buildperl.pl 2008-04-13 06:12:15.000000000 -0700 @@ -5,9 +5,9 @@ # ################################################################################ # -# $Revision: 13 $ +# $Revision: 14 $ # $Author: mhx $ -# $Date: 2008/01/04 10:47:39 +0100 $ +# $Date: 2008/04/13 13:49:37 +0200 $ # ################################################################################ # @@ -27,7 +27,6 @@ use File::Path; use Data::Dumper; use IO::File; -use Archive::Tar; use Cwd; # TODO: - extra arguments to Configure @@ -39,12 +38,14 @@ # my %opt = ( - prefix => '/tmp/perl/install/<config>/<perl>', - build => '/tmp/perl/build/<config>', - source => '/tmp/perl/source', - force => 0, - test => 0, - install => 1, + prefix => '/tmp/perl/install/<config>/<perl>', + build => '/tmp/perl/build/<config>', + source => '/tmp/perl/source', + force => 0, + test => 0, + install => 1, + oneshot => 0, + configure => 0, 'test-archives' => 0, ); @@ -145,8 +146,26 @@ test install! test-archives=i + patch! + oneshot )) or pod2usage(2); +my %current; + +if ($opt{patch} || $opt{oneshot}) { + @{$opt{perl}} == 1 or die "Exactly one --perl must be given with --patch or --oneshot\n"; + my $perl = $opt{perl}[0]; + patch_source($perl) if !exists $opt{patch} || $opt{patch}; + if (exists $opt{oneshot}) { + eval { require String::ShellQuote }; + die "--oneshot requires String::ShellQuote to be installed\n" if $@; + %current = (config => 'oneshot', version => $perl); + $config{oneshot} = { config_args => String::ShellQuote::shell_quote(@ARGV) }; + build_and_install($perl{$perl}); + } + exit 0; +} + if (exists $opt{config}) { for my $cfg (@{$opt{config}}) { exists $config{$cfg} or die "Unknown configuration: $cfg\n"; @@ -198,8 +217,6 @@ exit 0; } -my %current; - for my $cfg (@{$opt{config}}) { for my $perl (@perls) { my $config = $config{$cfg}; @@ -268,6 +285,9 @@ sub extract_source { + eval { require Archive::Tar }; + die "Archive processing requires Archive::Tar to be installed\n" if $@; + my $perl = shift; my $what = $opt{'test-archives'} ? 'test' : 'read'; @@ -467,6 +487,11 @@ --noinstall don't install after building + --patch only patch the perl source in the current directory + + --oneshot build from the perl source in the current directory + (extra arguments are passed to Configure) + options tagged with [MULTI] can be given multiple times options tagged with [EXPAND] expand the following items @@ -496,6 +521,11 @@ buildperl.pl --perl=5.8.5 --perl=5.8.6 --test --noinstall +To build and install a single version of perl with special configuration +options, use: + + buildperl.pl --perl=5.6.0 --prefix=/opt/p560ld --oneshot -- -des -Duselongdouble + =head1 COPYRIGHT Copyright (c) 2004-2008, Marcus Holland-Moritz. ==== //depot/perl/ext/Devel/PPPort/parts/inc/format#7 (text) ==== Index: perl/ext/Devel/PPPort/parts/inc/format --- perl/ext/Devel/PPPort/parts/inc/format#6~32827~ 2008-01-04 06:10:18.000000000 -0800 +++ perl/ext/Devel/PPPort/parts/inc/format 2008-04-13 06:12:15.000000000 -0700 @@ -1,8 +1,8 @@ ################################################################################ ## -## $Revision: 7 $ +## $Revision: 8 $ ## $Author: mhx $ -## $Date: 2008/01/04 10:47:43 +0100 $ +## $Date: 2008/04/13 13:51:18 +0200 $ ## ################################################################################ ## @@ -41,7 +41,8 @@ #ifndef NVef # if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE) && \ - defined(PERL_PRIfldbl) /* Not very likely, but let's try anyway. */ + defined(PERL_PRIfldbl) && { VERSION != 5.6.0 } + /* Not very likely, but let's try anyway. */ # define NVef PERL_PRIeldbl # define NVff PERL_PRIfldbl # define NVgf PERL_PRIgldbl @@ -52,3 +53,18 @@ # endif #endif +=xsubs + +void +croak_NVgf(num) + NV num + PPCODE: + Perl_croak(aTHX_ "%.20" NVgf "\n", num); + +=tests plan => 1 + +my $num = 1.12345678901234567890; + +eval { Devel::PPPort::croak_NVgf($num) }; +ok($@ =~ /^1.1234567890/); + ==== //depot/perl/ext/Devel/PPPort/parts/inc/misc#16 (text) ==== Index: perl/ext/Devel/PPPort/parts/inc/misc --- perl/ext/Devel/PPPort/parts/inc/misc#15~32827~ 2008-01-04 06:10:18.000000000 -0800 +++ perl/ext/Devel/PPPort/parts/inc/misc 2008-04-13 06:12:15.000000000 -0700 @@ -1,8 +1,8 @@ ################################################################################ ## -## $Revision: 44 $ +## $Revision: 45 $ ## $Author: mhx $ -## $Date: 2008/01/04 14:54:43 +0100 $ +## $Date: 2008/01/04 15:50:58 +0100 $ ## ################################################################################ ## @@ -352,7 +352,7 @@ { dXSTARG; XSprePUSH; - mPUSHi(42); + PUSHi(42); XSRETURN(1); } ==== //depot/perl/ext/Devel/PPPort/soak#31 (text) ==== Index: perl/ext/Devel/PPPort/soak --- perl/ext/Devel/PPPort/soak#30~32827~ 2008-01-04 06:10:18.000000000 -0800 +++ perl/ext/Devel/PPPort/soak 2008-04-13 06:12:15.000000000 -0700 @@ -33,7 +33,7 @@ use List::Util qw(max); use Config; -my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13_01 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; +my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13_02 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; $| = 1; my %OPT = ( ==== //depot/perl/ext/Devel/PPPort/t/format.t#1 (text) ==== Index: perl/ext/Devel/PPPort/t/format.t --- /dev/null 2008-03-18 12:45:05.529577733 -0700 +++ perl/ext/Devel/PPPort/t/format.t 2008-04-13 06:12:15.000000000 -0700 @@ -0,0 +1,55 @@ +################################################################################ +# +# !!!!! Do NOT edit this file directly! !!!!! +# +# Edit mktests.PL and/or parts/inc/format instead. +# +# This file was automatically generated from the definition files in the +# parts/inc/ subdirectory by mktests.PL. To learn more about how all this +# works, please read the F<HACKERS> file that came with this distribution. +# +################################################################################ + +BEGIN { + if ($ENV{'PERL_CORE'}) { + chdir 't' if -d 't'; + @INC = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext'; + require Config; import Config; + use vars '%Config'; + if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) { + print "1..0 # Skip -- Perl configured without Devel::PPPort module\n"; + exit 0; + } + } + else { + unshift @INC, 't'; + } + + sub load { + eval "use Test"; + require 'testutil.pl' if $@; + } + + if (1) { + load(); + plan(tests => 1); + } +} + +use Devel::PPPort; +use strict; +$^W = 1; + +package Devel::PPPort; +use vars '@ISA'; +require DynaLoader; [EMAIL PROTECTED] = qw(DynaLoader); +bootstrap Devel::PPPort; + +package main; + +my $num = 1.12345678901234567890; + +eval { Devel::PPPort::croak_NVgf($num) }; +ok($@ =~ /^1.1234567890/); + End of Patch.