diff -Nru libppi-xs-perl-0.902/Changes libppi-xs-perl-0.910/Changes --- libppi-xs-perl-0.902/Changes 2013-02-26 23:45:51.000000000 +0000 +++ libppi-xs-perl-0.910/Changes 2017-12-14 04:24:45.000000000 +0000 @@ -1,10 +1,20 @@ -Changes for Perl extension PPI-XS +Revision history for PPI-XS -0.902 Tue 26 Feb 2013 +0.910 2017-12-14 04:24:41Z + - switch packaging to Dist::Zilla, which makes the distribution + installable again on perl 5.27.7 (See RT#123867) + +0.904 2017-04-10 15:50:43Z + - Fix Makefile.PL for perls without '.' in @INC + +0.903 2017-04-10 14:50:00Z + - bad tarball + +0.902 2013-02-26 - Fix "defined @array" deprecation warning -0.901 Tue 5 May 2009 +0.901 2009-05-05 - Incremental release to flush out packaging bugs -0.900 Fri 28 Jan 2005 +0.900 2005-01-28 - Created initial implementation diff -Nru libppi-xs-perl-0.902/CONTRIBUTING libppi-xs-perl-0.910/CONTRIBUTING --- libppi-xs-perl-0.902/CONTRIBUTING 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/CONTRIBUTING 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,97 @@ + +CONTRIBUTING + +Thank you for considering contributing to this distribution. This file +contains instructions that will help you work with the source code. + +PLEASE NOTE that if you have any questions or difficulties, you can reach the +maintainer(s) through the bug queue described later in this document +(preferred), or by emailing the releaser directly. You are not required to +follow any of the steps in this document to submit a patch or bug report; +these are just recommendations, intended to help you (and help us help you +faster). + +The distribution is managed with Dist::Zilla (https://metacpan.org/release/Dist-Zilla). +However, you can still compile and test the code with a small Makefile.PL +specifically for use in the repository. You can do: + + perl Makefile.PL + make + make test + +As well as: + + $ prove -bvr t +or + $ perl -Mblib t/some_test_file.t + +You may need to satisfy some dependencies. The easiest way to satisfy +dependencies is to install the last release -- this is available at +https://metacpan.org/release/PPI-XS + +If you use cpanminus, you can do it without downloading the tarball first: + + $ cpanm --reinstall --installdeps --with-recommends PPI::XS + +Dist::Zilla is a very powerful authoring tool, but requires a number of +author-specific plugins. If you would like to use it for contributing, +install it from CPAN, then run one of the following commands, depending on +your CPAN client: + + $ cpan `dzil authordeps --missing` +or + $ dzil authordeps --missing | cpanm + +You should then also install any additional requirements not needed by the +dzil build but may be needed by tests or other development: + + $ cpan `dzil listdeps --author --missing` +or + $ dzil listdeps --author --missing | cpanm + +Or, you can use the 'dzil stale' command to install all requirements at once: + + $ cpan Dist::Zilla::App::Command::stale + $ cpan `dzil stale --all` +or + $ cpanm Dist::Zilla::App::Command::stale + $ dzil stale --all | cpanm + +You can also do this via cpanm directly: + + $ cpanm --reinstall --installdeps --with-develop --with-recommends PPI::XS + +Once installed, here are some dzil commands you might try: + + $ dzil build + $ dzil test + $ dzil test --release + $ dzil xtest + $ dzil listdeps --json + $ dzil build --notgz + +You can learn more about Dist::Zilla at http://dzil.org/. + +The code for this distribution is hosted at GitHub. The repository is: +https://github.com/karenetheridge/PPI-XS +You can submit code changes by forking the repository, pushing your code +changes to your clone, and then submitting a pull request. Detailed +instructions for doing that is available here: + +https://help.github.com/articles/creating-a-pull-request + +If you have found a bug, but do not have an accompanying patch to fix it, you +can submit an issue report here: +https://rt.cpan.org/Public/Dist/Display.html?Name=PPI-XS +or via email: bug-PPI-XS@rt.cpan.org +This is a good place to send your questions about the usage of this distribution. + +If you send me a patch or pull request, your name and email address will be +included in the documentation as a contributor (using the attribution on the +commit or patch), unless you specifically request for it not to be. If you +wish to be listed under a different name or address, you should submit a pull +request to the .mailmap file to contain the correct mapping. + + +This file was generated via Dist::Zilla::Plugin::GenerateFile::FromShareDir 0.013 from a +template file originating in Dist-Zilla-PluginBundle-Author-ETHER-0.132. diff -Nru libppi-xs-perl-0.902/debian/changelog libppi-xs-perl-0.910/debian/changelog --- libppi-xs-perl-0.902/debian/changelog 2017-07-26 20:08:53.000000000 +0000 +++ libppi-xs-perl-0.910/debian/changelog 2017-12-30 21:09:17.000000000 +0000 @@ -1,26 +1,32 @@ -libppi-xs-perl (0.902-1build4) artful; urgency=medium +libppi-xs-perl (0.910-1) unstable; urgency=medium - * No-change rebuild for perl 5.26.0. + * Team upload. - -- Matthias Klose Wed, 26 Jul 2017 20:08:53 +0000 + [ gregor herrmann ] + * Strip trailing slash from metacpan URLs. -libppi-xs-perl (0.902-1build3) zesty; urgency=medium + [ Salvatore Bonaccorso ] + * Update Vcs-Browser URL to cgit web frontend + * debian/control: Use HTTPS transport protocol for Vcs-Git URI + + [ gregor herrmann ] + * debian/copyright: change Copyright-Format 1.0 URL to HTTPS. + * Remove Jonathan Yu from Uploaders. Thanks for your work! + + [ Florian Schlichting ] + * Import upstream version 0.904. + + [ gregor herrmann ] + * New upstream release 0.910. + * Add debian/upstream/metadata. + * Install new CONTRIBUTING file. + * Update upstream contact. + * Update years of upstream copyright. + * Declare compliance with Debian Policy 4.1.3. + * Bump debhelper compatibility level to 10. + * Set bindnow linker flag in debian/rules. - * No-change rebuild for perl 5.24 transition - - -- Iain Lane Mon, 24 Oct 2016 10:27:33 +0100 - -libppi-xs-perl (0.902-1build2) xenial; urgency=medium - - * Rebuild for Perl 5.22.1. - - -- Colin Watson Thu, 17 Dec 2015 16:03:42 +0000 - -libppi-xs-perl (0.902-1build1) utopic; urgency=medium - - * Rebuild for Perl 5.20.0. - - -- Colin Watson Wed, 20 Aug 2014 12:49:43 +0100 + -- gregor herrmann Sat, 30 Dec 2017 22:09:17 +0100 libppi-xs-perl (0.902-1) unstable; urgency=low diff -Nru libppi-xs-perl-0.902/debian/compat libppi-xs-perl-0.910/debian/compat --- libppi-xs-perl-0.902/debian/compat 2013-09-26 21:53:38.000000000 +0000 +++ libppi-xs-perl-0.910/debian/compat 2017-12-30 21:09:17.000000000 +0000 @@ -1 +1 @@ -9 +10 diff -Nru libppi-xs-perl-0.902/debian/control libppi-xs-perl-0.910/debian/control --- libppi-xs-perl-0.902/debian/control 2013-09-26 21:57:18.000000000 +0000 +++ libppi-xs-perl-0.910/debian/control 2017-12-30 21:09:17.000000000 +0000 @@ -1,15 +1,16 @@ Source: libppi-xs-perl Maintainer: Debian Perl Group -Uploaders: Jonathan Yu , Florian Schlichting +Uploaders: Florian Schlichting Section: perl +Testsuite: autopkgtest-pkg-perl Priority: optional Build-Depends: perl, - debhelper (>= 9.20120312), + debhelper (>= 10), libppi-perl -Standards-Version: 3.9.4 -Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/libppi-xs-perl.git -Vcs-Git: git://anonscm.debian.org/pkg-perl/packages/libppi-xs-perl.git -Homepage: https://metacpan.org/release/PPI-XS/ +Standards-Version: 4.1.3 +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-perl/packages/libppi-xs-perl.git +Vcs-Git: https://anonscm.debian.org/git/pkg-perl/packages/libppi-xs-perl.git +Homepage: https://metacpan.org/release/PPI-XS Package: libppi-xs-perl Architecture: any @@ -26,4 +27,3 @@ transparently. The integration between the primary (Perl) implementation and the XS-accelerated version are designed to degrade gracefully if they fall out of sync -- the Perl version is preferred over the XS version. - diff -Nru libppi-xs-perl-0.902/debian/copyright libppi-xs-perl-0.910/debian/copyright --- libppi-xs-perl-0.902/debian/copyright 2013-09-26 21:57:33.000000000 +0000 +++ libppi-xs-perl-0.910/debian/copyright 2017-12-30 21:09:17.000000000 +0000 @@ -1,25 +1,25 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: PPI-XS -Upstream-Contact: Adam Kennedy -Source: https://metacpan.org/release/PPI-XS/ +Upstream-Contact: Karen Etheridge +Source: https://metacpan.org/release/PPI-XS Files: * -Copyright: 2005-2013, Adam Kennedy +Copyright: 2005, Adam Kennedy License: Artistic or GPL-1+ Files: ppport.h -Copyright: 2004-2010, Marcus Holland-Moritz +Copyright: 2004-2013, Marcus Holland-Moritz 2001, Paul Marquess (Version 2.x) 1999, Kenneth Albanowski (Version 1.x) License: Artistic or GPL-1+ Files: debian/* -Copyright: 2013, Florian Schlichting +Copyright: 2005, Chip Salzenberg + 2006, Florian Ragwitz + 2008, Niko Tyni 2009, Jonathan Yu 2009, Ryan Niebur - 2008, Niko Tyni - 2006, Florian Ragwitz - 2005, Chip Salzenberg + 2013, Florian Schlichting License: Artistic or GPL-1+ License: Artistic diff -Nru libppi-xs-perl-0.902/debian/libppi-xs-perl.docs libppi-xs-perl-0.910/debian/libppi-xs-perl.docs --- libppi-xs-perl-0.902/debian/libppi-xs-perl.docs 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/debian/libppi-xs-perl.docs 2017-12-30 21:09:17.000000000 +0000 @@ -0,0 +1 @@ +CONTRIBUTING diff -Nru libppi-xs-perl-0.902/debian/rules libppi-xs-perl-0.910/debian/rules --- libppi-xs-perl-0.902/debian/rules 2013-09-26 21:56:52.000000000 +0000 +++ libppi-xs-perl-0.910/debian/rules 2017-12-30 21:09:17.000000000 +0000 @@ -1,5 +1,7 @@ #!/usr/bin/make -f +export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow + %: dh $@ diff -Nru libppi-xs-perl-0.902/debian/upstream/metadata libppi-xs-perl-0.910/debian/upstream/metadata --- libppi-xs-perl-0.902/debian/upstream/metadata 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/debian/upstream/metadata 2017-12-30 21:09:17.000000000 +0000 @@ -0,0 +1,8 @@ +--- +Archive: CPAN +Bug-Database: https://rt.cpan.org/Public/Dist/Display.html?Name=PPI-XS +Bug-Submit: bug-PPI-XS@rt.cpan.org +Contact: Karen Etheridge +Name: PPI-XS +Repository: https://github.com/karenetheridge/PPI-XS.git +Repository-Browse: https://github.com/karenetheridge/PPI-XS diff -Nru libppi-xs-perl-0.902/debian/watch libppi-xs-perl-0.910/debian/watch --- libppi-xs-perl-0.902/debian/watch 2013-04-05 19:02:27.000000000 +0000 +++ libppi-xs-perl-0.910/debian/watch 2017-12-30 21:09:17.000000000 +0000 @@ -1,2 +1,2 @@ version=3 -https://metacpan.org/release/PPI-XS/ .*/PPI-XS-v?(\d[\d.]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip) +https://metacpan.org/release/PPI-XS .*/PPI-XS-v?(\d[\d.]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip) diff -Nru libppi-xs-perl-0.902/dist.ini libppi-xs-perl-0.910/dist.ini --- libppi-xs-perl-0.902/dist.ini 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/dist.ini 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,17 @@ +name = PPI-XS +author = Adam Kennedy +copyright_holder = Adam Kennedy +copyright_year = 2005 +license = Perl_5 +abstract = (Minor) XS acceleration for PPI + +[@Author::ETHER] +:version = 0.119 +installer = MakeMaker +Authority.authority = cpan:ADAMK +-remove = PodWeaver +-remove = Test::EOL ; TODO +-remove = Test::NoTabs ; TODO + +[PodVersion] +[PPPort] diff -Nru libppi-xs-perl-0.902/inc/Module/Install/Base.pm libppi-xs-perl-0.910/inc/Module/Install/Base.pm --- libppi-xs-perl-0.902/inc/Module/Install/Base.pm 2013-02-26 23:48:59.000000000 +0000 +++ libppi-xs-perl-0.910/inc/Module/Install/Base.pm 1970-01-01 00:00:00.000000000 +0000 @@ -1,83 +0,0 @@ -#line 1 -package Module::Install::Base; - -use strict 'vars'; -use vars qw{$VERSION}; -BEGIN { - $VERSION = '1.06'; -} - -# Suspend handler for "redefined" warnings -BEGIN { - my $w = $SIG{__WARN__}; - $SIG{__WARN__} = sub { $w }; -} - -#line 42 - -sub new { - my $class = shift; - unless ( defined &{"${class}::call"} ) { - *{"${class}::call"} = sub { shift->_top->call(@_) }; - } - unless ( defined &{"${class}::load"} ) { - *{"${class}::load"} = sub { shift->_top->load(@_) }; - } - bless { @_ }, $class; -} - -#line 61 - -sub AUTOLOAD { - local $@; - my $func = eval { shift->_top->autoload } or return; - goto &$func; -} - -#line 75 - -sub _top { - $_[0]->{_top}; -} - -#line 90 - -sub admin { - $_[0]->_top->{admin} - or - Module::Install::Base::FakeAdmin->new; -} - -#line 106 - -sub is_admin { - ! $_[0]->admin->isa('Module::Install::Base::FakeAdmin'); -} - -sub DESTROY {} - -package Module::Install::Base::FakeAdmin; - -use vars qw{$VERSION}; -BEGIN { - $VERSION = $Module::Install::Base::VERSION; -} - -my $fake; - -sub new { - $fake ||= bless(\@_, $_[0]); -} - -sub AUTOLOAD {} - -sub DESTROY {} - -# Restore warning handler -BEGIN { - $SIG{__WARN__} = $SIG{__WARN__}->(); -} - -1; - -#line 159 diff -Nru libppi-xs-perl-0.902/inc/Module/Install/Can.pm libppi-xs-perl-0.910/inc/Module/Install/Can.pm --- libppi-xs-perl-0.902/inc/Module/Install/Can.pm 2013-02-26 23:48:59.000000000 +0000 +++ libppi-xs-perl-0.910/inc/Module/Install/Can.pm 1970-01-01 00:00:00.000000000 +0000 @@ -1,154 +0,0 @@ -#line 1 -package Module::Install::Can; - -use strict; -use Config (); -use ExtUtils::MakeMaker (); -use Module::Install::Base (); - -use vars qw{$VERSION @ISA $ISCORE}; -BEGIN { - $VERSION = '1.06'; - @ISA = 'Module::Install::Base'; - $ISCORE = 1; -} - -# check if we can load some module -### Upgrade this to not have to load the module if possible -sub can_use { - my ($self, $mod, $ver) = @_; - $mod =~ s{::|\\}{/}g; - $mod .= '.pm' unless $mod =~ /\.pm$/i; - - my $pkg = $mod; - $pkg =~ s{/}{::}g; - $pkg =~ s{\.pm$}{}i; - - local $@; - eval { require $mod; $pkg->VERSION($ver || 0); 1 }; -} - -# Check if we can run some command -sub can_run { - my ($self, $cmd) = @_; - - my $_cmd = $cmd; - return $_cmd if (-x $_cmd or $_cmd = MM->maybe_command($_cmd)); - - for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') { - next if $dir eq ''; - require File::Spec; - my $abs = File::Spec->catfile($dir, $cmd); - return $abs if (-x $abs or $abs = MM->maybe_command($abs)); - } - - return; -} - -# Can our C compiler environment build XS files -sub can_xs { - my $self = shift; - - # Ensure we have the CBuilder module - $self->configure_requires( 'ExtUtils::CBuilder' => 0.27 ); - - # Do we have the configure_requires checker? - local $@; - eval "require ExtUtils::CBuilder;"; - if ( $@ ) { - # They don't obey configure_requires, so it is - # someone old and delicate. Try to avoid hurting - # them by falling back to an older simpler test. - return $self->can_cc(); - } - - # Do we have a working C compiler - my $builder = ExtUtils::CBuilder->new( - quiet => 1, - ); - unless ( $builder->have_compiler ) { - # No working C compiler - return 0; - } - - # Write a C file representative of what XS becomes - require File::Temp; - my ( $FH, $tmpfile ) = File::Temp::tempfile( - "compilexs-XXXXX", - SUFFIX => '.c', - ); - binmode $FH; - print $FH <<'END_C'; -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" - -int main(int argc, char **argv) { - return 0; -} - -int boot_sanexs() { - return 1; -} - -END_C - close $FH; - - # Can the C compiler access the same headers XS does - my @libs = (); - my $object = undef; - eval { - local $^W = 0; - $object = $builder->compile( - source => $tmpfile, - ); - @libs = $builder->link( - objects => $object, - module_name => 'sanexs', - ); - }; - my $result = $@ ? 0 : 1; - - # Clean up all the build files - foreach ( $tmpfile, $object, @libs ) { - next unless defined $_; - 1 while unlink; - } - - return $result; -} - -# Can we locate a (the) C compiler -sub can_cc { - my $self = shift; - my @chunks = split(/ /, $Config::Config{cc}) or return; - - # $Config{cc} may contain args; try to find out the program part - while (@chunks) { - return $self->can_run("@chunks") || (pop(@chunks), next); - } - - return; -} - -# Fix Cygwin bug on maybe_command(); -if ( $^O eq 'cygwin' ) { - require ExtUtils::MM_Cygwin; - require ExtUtils::MM_Win32; - if ( ! defined(&ExtUtils::MM_Cygwin::maybe_command) ) { - *ExtUtils::MM_Cygwin::maybe_command = sub { - my ($self, $file) = @_; - if ($file =~ m{^/cygdrive/}i and ExtUtils::MM_Win32->can('maybe_command')) { - ExtUtils::MM_Win32->maybe_command($file); - } else { - ExtUtils::MM_Unix->maybe_command($file); - } - } - } -} - -1; - -__END__ - -#line 236 diff -Nru libppi-xs-perl-0.902/inc/Module/Install/Compiler.pm libppi-xs-perl-0.910/inc/Module/Install/Compiler.pm --- libppi-xs-perl-0.902/inc/Module/Install/Compiler.pm 2013-02-26 23:48:59.000000000 +0000 +++ libppi-xs-perl-0.910/inc/Module/Install/Compiler.pm 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ -#line 1 -package Module::Install::Compiler; - -use strict; -use File::Basename (); -use Module::Install::Base (); - -use vars qw{$VERSION @ISA $ISCORE}; -BEGIN { - $VERSION = '1.06'; - @ISA = 'Module::Install::Base'; - $ISCORE = 1; -} - -sub ppport { - my $self = shift; - if ( $self->is_admin ) { - return $self->admin->ppport(@_); - } else { - # Fallback to just a check - my $file = shift || 'ppport.h'; - unless ( -f $file ) { - die "Packaging error, $file is missing"; - } - } -} - -sub cc_files { - require Config; - my $self = shift; - $self->makemaker_args( - OBJECT => join ' ', map { substr($_, 0, -2) . $Config::Config{_o} } @_ - ); -} - -sub cc_inc_paths { - my $self = shift; - $self->makemaker_args( - INC => join ' ', map { "-I$_" } @_ - ); -} - -sub cc_lib_paths { - my $self = shift; - $self->makemaker_args( - LIBS => join ' ', map { "-L$_" } @_ - ); -} - -sub cc_lib_links { - my $self = shift; - $self->makemaker_args( - LIBS => join ' ', $self->makemaker_args->{LIBS}, map { "-l$_" } @_ - ); -} - -sub cc_optimize_flags { - my $self = shift; - $self->makemaker_args( - OPTIMIZE => join ' ', @_ - ); -} - -1; - -__END__ - -#line 123 diff -Nru libppi-xs-perl-0.902/inc/Module/Install/DSL.pm libppi-xs-perl-0.910/inc/Module/Install/DSL.pm --- libppi-xs-perl-0.902/inc/Module/Install/DSL.pm 2013-02-26 23:48:59.000000000 +0000 +++ libppi-xs-perl-0.910/inc/Module/Install/DSL.pm 1970-01-01 00:00:00.000000000 +0000 @@ -1,102 +0,0 @@ -#line 1 -package Module::Install::DSL; - -use strict; -use vars qw{$VERSION $ISCORE}; -BEGIN { - $VERSION = '1.06'; - $ISCORE = 1; - *inc::Module::Install::DSL::VERSION = *VERSION; - @inc::Module::Install::DSL::ISA = __PACKAGE__; -} - -sub import { - # Read in the rest of the Makefile.PL - open 0 or die "Couldn't open $0: $!"; - my $dsl; - SCOPE: { - local $/ = undef; - $dsl = join "", <0>; - } - - # Change inc::Module::Install::DSL to the regular one. - # Remove anything before the use inc::... line. - $dsl =~ s/.*?^\s*use\s+(?:inc::)?Module::Install::DSL(\b[^;]*);\s*\n//sm; - - # Load inc::Module::Install as we would in a regular Makefile.Pl - SCOPE: { - package main; - require inc::Module::Install; - inc::Module::Install->import; - } - - # Add the ::DSL plugin to the list of packages in /inc - my $admin = $Module::Install::MAIN->{admin}; - if ( $admin ) { - my $from = $INC{"$admin->{path}/DSL.pm"}; - my $to = "$admin->{base}/$admin->{prefix}/$admin->{path}/DSL.pm"; - $admin->copy( $from => $to ); - } - - # Convert the basic syntax to code - my $code = "INIT {\n" - . "package main;\n\n" - . dsl2code($dsl) - . "\n\nWriteAll();\n" - . "}\n"; - - # Execute the script - eval $code; - print STDERR "Failed to execute the generated code...\n$@" if $@; - - exit(0); -} - -sub dsl2code { - my $dsl = shift; - - # Split into lines and strip blanks - my @lines = grep { /\S/ } split /[\012\015]+/, $dsl; - - # Each line represents one command - my @code = (); - my $static = 1; - foreach my $line ( @lines ) { - # Split the lines into tokens - my @tokens = split /\s+/, $line; - - # The first word is the command - my $command = shift @tokens; - my @params = (); - my @suffix = (); - while ( @tokens ) { - my $token = shift @tokens; - if ( $token eq 'if' or $token eq 'unless' ) { - # This is the beginning of a suffix - push @suffix, $token; - push @suffix, @tokens; - - # The conditional means this distribution - # can no longer be considered fully static. - $static = 0; - last; - } else { - # Convert to a string - $token =~ s/([\\\'])/\\$1/g; - push @params, "'$token'"; - } - }; - - # Merge to create the final line of code - @tokens = ( $command, @params ? join( ', ', @params ) : (), @suffix ); - push @code, join( ' ', @tokens ) . ";\n"; - } - - # Is our configuration static? - push @code, "static_config;\n" if $static; - - # Join into the complete code block - return join( '', @code ); -} - -1; diff -Nru libppi-xs-perl-0.902/inc/Module/Install/Fetch.pm libppi-xs-perl-0.910/inc/Module/Install/Fetch.pm --- libppi-xs-perl-0.902/inc/Module/Install/Fetch.pm 2013-02-26 23:48:59.000000000 +0000 +++ libppi-xs-perl-0.910/inc/Module/Install/Fetch.pm 1970-01-01 00:00:00.000000000 +0000 @@ -1,93 +0,0 @@ -#line 1 -package Module::Install::Fetch; - -use strict; -use Module::Install::Base (); - -use vars qw{$VERSION @ISA $ISCORE}; -BEGIN { - $VERSION = '1.06'; - @ISA = 'Module::Install::Base'; - $ISCORE = 1; -} - -sub get_file { - my ($self, %args) = @_; - my ($scheme, $host, $path, $file) = - $args{url} =~ m|^(\w+)://([^/]+)(.+)/(.+)| or return; - - if ( $scheme eq 'http' and ! eval { require LWP::Simple; 1 } ) { - $args{url} = $args{ftp_url} - or (warn("LWP support unavailable!\n"), return); - ($scheme, $host, $path, $file) = - $args{url} =~ m|^(\w+)://([^/]+)(.+)/(.+)| or return; - } - - $|++; - print "Fetching '$file' from $host... "; - - unless (eval { require Socket; Socket::inet_aton($host) }) { - warn "'$host' resolve failed!\n"; - return; - } - - return unless $scheme eq 'ftp' or $scheme eq 'http'; - - require Cwd; - my $dir = Cwd::getcwd(); - chdir $args{local_dir} or return if exists $args{local_dir}; - - if (eval { require LWP::Simple; 1 }) { - LWP::Simple::mirror($args{url}, $file); - } - elsif (eval { require Net::FTP; 1 }) { eval { - # use Net::FTP to get past firewall - my $ftp = Net::FTP->new($host, Passive => 1, Timeout => 600); - $ftp->login("anonymous", 'anonymous@example.com'); - $ftp->cwd($path); - $ftp->binary; - $ftp->get($file) or (warn("$!\n"), return); - $ftp->quit; - } } - elsif (my $ftp = $self->can_run('ftp')) { eval { - # no Net::FTP, fallback to ftp.exe - require FileHandle; - my $fh = FileHandle->new; - - local $SIG{CHLD} = 'IGNORE'; - unless ($fh->open("|$ftp -n")) { - warn "Couldn't open ftp: $!\n"; - chdir $dir; return; - } - - my @dialog = split(/\n/, <<"END_FTP"); -open $host -user anonymous anonymous\@example.com -cd $path -binary -get $file $file -quit -END_FTP - foreach (@dialog) { $fh->print("$_\n") } - $fh->close; - } } - else { - warn "No working 'ftp' program available!\n"; - chdir $dir; return; - } - - unless (-f $file) { - warn "Fetching failed: $@\n"; - chdir $dir; return; - } - - return if exists $args{size} and -s $file != $args{size}; - system($args{run}) if exists $args{run}; - unlink($file) if $args{remove}; - - print(((!exists $args{check_for} or -e $args{check_for}) - ? "done!" : "failed! ($!)"), "\n"); - chdir $dir; return !$?; -} - -1; diff -Nru libppi-xs-perl-0.902/inc/Module/Install/Makefile.pm libppi-xs-perl-0.910/inc/Module/Install/Makefile.pm --- libppi-xs-perl-0.902/inc/Module/Install/Makefile.pm 2013-02-26 23:48:59.000000000 +0000 +++ libppi-xs-perl-0.910/inc/Module/Install/Makefile.pm 1970-01-01 00:00:00.000000000 +0000 @@ -1,418 +0,0 @@ -#line 1 -package Module::Install::Makefile; - -use strict 'vars'; -use ExtUtils::MakeMaker (); -use Module::Install::Base (); -use Fcntl qw/:flock :seek/; - -use vars qw{$VERSION @ISA $ISCORE}; -BEGIN { - $VERSION = '1.06'; - @ISA = 'Module::Install::Base'; - $ISCORE = 1; -} - -sub Makefile { $_[0] } - -my %seen = (); - -sub prompt { - shift; - - # Infinite loop protection - my @c = caller(); - if ( ++$seen{"$c[1]|$c[2]|$_[0]"} > 3 ) { - die "Caught an potential prompt infinite loop ($c[1]|$c[2]|$_[0])"; - } - - # In automated testing or non-interactive session, always use defaults - if ( ($ENV{AUTOMATED_TESTING} or -! -t STDIN) and ! $ENV{PERL_MM_USE_DEFAULT} ) { - local $ENV{PERL_MM_USE_DEFAULT} = 1; - goto &ExtUtils::MakeMaker::prompt; - } else { - goto &ExtUtils::MakeMaker::prompt; - } -} - -# Store a cleaned up version of the MakeMaker version, -# since we need to behave differently in a variety of -# ways based on the MM version. -my $makemaker = eval $ExtUtils::MakeMaker::VERSION; - -# If we are passed a param, do a "newer than" comparison. -# Otherwise, just return the MakeMaker version. -sub makemaker { - ( @_ < 2 or $makemaker >= eval($_[1]) ) ? $makemaker : 0 -} - -# Ripped from ExtUtils::MakeMaker 6.56, and slightly modified -# as we only need to know here whether the attribute is an array -# or a hash or something else (which may or may not be appendable). -my %makemaker_argtype = ( - C => 'ARRAY', - CONFIG => 'ARRAY', -# CONFIGURE => 'CODE', # ignore - DIR => 'ARRAY', - DL_FUNCS => 'HASH', - DL_VARS => 'ARRAY', - EXCLUDE_EXT => 'ARRAY', - EXE_FILES => 'ARRAY', - FUNCLIST => 'ARRAY', - H => 'ARRAY', - IMPORTS => 'HASH', - INCLUDE_EXT => 'ARRAY', - LIBS => 'ARRAY', # ignore '' - MAN1PODS => 'HASH', - MAN3PODS => 'HASH', - META_ADD => 'HASH', - META_MERGE => 'HASH', - PL_FILES => 'HASH', - PM => 'HASH', - PMLIBDIRS => 'ARRAY', - PMLIBPARENTDIRS => 'ARRAY', - PREREQ_PM => 'HASH', - CONFIGURE_REQUIRES => 'HASH', - SKIP => 'ARRAY', - TYPEMAPS => 'ARRAY', - XS => 'HASH', -# VERSION => ['version',''], # ignore -# _KEEP_AFTER_FLUSH => '', - - clean => 'HASH', - depend => 'HASH', - dist => 'HASH', - dynamic_lib=> 'HASH', - linkext => 'HASH', - macro => 'HASH', - postamble => 'HASH', - realclean => 'HASH', - test => 'HASH', - tool_autosplit => 'HASH', - - # special cases where you can use makemaker_append - CCFLAGS => 'APPENDABLE', - DEFINE => 'APPENDABLE', - INC => 'APPENDABLE', - LDDLFLAGS => 'APPENDABLE', - LDFROM => 'APPENDABLE', -); - -sub makemaker_args { - my ($self, %new_args) = @_; - my $args = ( $self->{makemaker_args} ||= {} ); - foreach my $key (keys %new_args) { - if ($makemaker_argtype{$key}) { - if ($makemaker_argtype{$key} eq 'ARRAY') { - $args->{$key} = [] unless defined $args->{$key}; - unless (ref $args->{$key} eq 'ARRAY') { - $args->{$key} = [$args->{$key}] - } - push @{$args->{$key}}, - ref $new_args{$key} eq 'ARRAY' - ? @{$new_args{$key}} - : $new_args{$key}; - } - elsif ($makemaker_argtype{$key} eq 'HASH') { - $args->{$key} = {} unless defined $args->{$key}; - foreach my $skey (keys %{ $new_args{$key} }) { - $args->{$key}{$skey} = $new_args{$key}{$skey}; - } - } - elsif ($makemaker_argtype{$key} eq 'APPENDABLE') { - $self->makemaker_append($key => $new_args{$key}); - } - } - else { - if (defined $args->{$key}) { - warn qq{MakeMaker attribute "$key" is overriden; use "makemaker_append" to append values\n}; - } - $args->{$key} = $new_args{$key}; - } - } - return $args; -} - -# For mm args that take multiple space-seperated args, -# append an argument to the current list. -sub makemaker_append { - my $self = shift; - my $name = shift; - my $args = $self->makemaker_args; - $args->{$name} = defined $args->{$name} - ? join( ' ', $args->{$name}, @_ ) - : join( ' ', @_ ); -} - -sub build_subdirs { - my $self = shift; - my $subdirs = $self->makemaker_args->{DIR} ||= []; - for my $subdir (@_) { - push @$subdirs, $subdir; - } -} - -sub clean_files { - my $self = shift; - my $clean = $self->makemaker_args->{clean} ||= {}; - %$clean = ( - %$clean, - FILES => join ' ', grep { length $_ } ($clean->{FILES} || (), @_), - ); -} - -sub realclean_files { - my $self = shift; - my $realclean = $self->makemaker_args->{realclean} ||= {}; - %$realclean = ( - %$realclean, - FILES => join ' ', grep { length $_ } ($realclean->{FILES} || (), @_), - ); -} - -sub libs { - my $self = shift; - my $libs = ref $_[0] ? shift : [ shift ]; - $self->makemaker_args( LIBS => $libs ); -} - -sub inc { - my $self = shift; - $self->makemaker_args( INC => shift ); -} - -sub _wanted_t { -} - -sub tests_recursive { - my $self = shift; - my $dir = shift || 't'; - unless ( -d $dir ) { - die "tests_recursive dir '$dir' does not exist"; - } - my %tests = map { $_ => 1 } split / /, ($self->tests || ''); - require File::Find; - File::Find::find( - sub { /\.t$/ and -f $_ and $tests{"$File::Find::dir/*.t"} = 1 }, - $dir - ); - $self->tests( join ' ', sort keys %tests ); -} - -sub write { - my $self = shift; - die "&Makefile->write() takes no arguments\n" if @_; - - # Check the current Perl version - my $perl_version = $self->perl_version; - if ( $perl_version ) { - eval "use $perl_version; 1" - or die "ERROR: perl: Version $] is installed, " - . "but we need version >= $perl_version"; - } - - # Make sure we have a new enough MakeMaker - require ExtUtils::MakeMaker; - - if ( $perl_version and $self->_cmp($perl_version, '5.006') >= 0 ) { - # This previous attempted to inherit the version of - # ExtUtils::MakeMaker in use by the module author, but this - # was found to be untenable as some authors build releases - # using future dev versions of EU:MM that nobody else has. - # Instead, #toolchain suggests we use 6.59 which is the most - # stable version on CPAN at time of writing and is, to quote - # ribasushi, "not terminally fucked, > and tested enough". - # TODO: We will now need to maintain this over time to push - # the version up as new versions are released. - $self->build_requires( 'ExtUtils::MakeMaker' => 6.59 ); - $self->configure_requires( 'ExtUtils::MakeMaker' => 6.59 ); - } else { - # Allow legacy-compatibility with 5.005 by depending on the - # most recent EU:MM that supported 5.005. - $self->build_requires( 'ExtUtils::MakeMaker' => 6.36 ); - $self->configure_requires( 'ExtUtils::MakeMaker' => 6.36 ); - } - - # Generate the MakeMaker params - my $args = $self->makemaker_args; - $args->{DISTNAME} = $self->name; - $args->{NAME} = $self->module_name || $self->name; - $args->{NAME} =~ s/-/::/g; - $args->{VERSION} = $self->version or die <<'EOT'; -ERROR: Can't determine distribution version. Please specify it -explicitly via 'version' in Makefile.PL, or set a valid $VERSION -in a module, and provide its file path via 'version_from' (or -'all_from' if you prefer) in Makefile.PL. -EOT - - if ( $self->tests ) { - my @tests = split ' ', $self->tests; - my %seen; - $args->{test} = { - TESTS => (join ' ', grep {!$seen{$_}++} @tests), - }; - } elsif ( $Module::Install::ExtraTests::use_extratests ) { - # Module::Install::ExtraTests doesn't set $self->tests and does its own tests via harness. - # So, just ignore our xt tests here. - } elsif ( -d 'xt' and ($Module::Install::AUTHOR or $ENV{RELEASE_TESTING}) ) { - $args->{test} = { - TESTS => join( ' ', map { "$_/*.t" } grep { -d $_ } qw{ t xt } ), - }; - } - if ( $] >= 5.005 ) { - $args->{ABSTRACT} = $self->abstract; - $args->{AUTHOR} = join ', ', @{$self->author || []}; - } - if ( $self->makemaker(6.10) ) { - $args->{NO_META} = 1; - #$args->{NO_MYMETA} = 1; - } - if ( $self->makemaker(6.17) and $self->sign ) { - $args->{SIGN} = 1; - } - unless ( $self->is_admin ) { - delete $args->{SIGN}; - } - if ( $self->makemaker(6.31) and $self->license ) { - $args->{LICENSE} = $self->license; - } - - my $prereq = ($args->{PREREQ_PM} ||= {}); - %$prereq = ( %$prereq, - map { @$_ } # flatten [module => version] - map { @$_ } - grep $_, - ($self->requires) - ); - - # Remove any reference to perl, PREREQ_PM doesn't support it - delete $args->{PREREQ_PM}->{perl}; - - # Merge both kinds of requires into BUILD_REQUIRES - my $build_prereq = ($args->{BUILD_REQUIRES} ||= {}); - %$build_prereq = ( %$build_prereq, - map { @$_ } # flatten [module => version] - map { @$_ } - grep $_, - ($self->configure_requires, $self->build_requires) - ); - - # Remove any reference to perl, BUILD_REQUIRES doesn't support it - delete $args->{BUILD_REQUIRES}->{perl}; - - # Delete bundled dists from prereq_pm, add it to Makefile DIR - my $subdirs = ($args->{DIR} || []); - if ($self->bundles) { - my %processed; - foreach my $bundle (@{ $self->bundles }) { - my ($mod_name, $dist_dir) = @$bundle; - delete $prereq->{$mod_name}; - $dist_dir = File::Basename::basename($dist_dir); # dir for building this module - if (not exists $processed{$dist_dir}) { - if (-d $dist_dir) { - # List as sub-directory to be processed by make - push @$subdirs, $dist_dir; - } - # Else do nothing: the module is already present on the system - $processed{$dist_dir} = undef; - } - } - } - - unless ( $self->makemaker('6.55_03') ) { - %$prereq = (%$prereq,%$build_prereq); - delete $args->{BUILD_REQUIRES}; - } - - if ( my $perl_version = $self->perl_version ) { - eval "use $perl_version; 1" - or die "ERROR: perl: Version $] is installed, " - . "but we need version >= $perl_version"; - - if ( $self->makemaker(6.48) ) { - $args->{MIN_PERL_VERSION} = $perl_version; - } - } - - if ($self->installdirs) { - warn qq{old INSTALLDIRS (probably set by makemaker_args) is overriden by installdirs\n} if $args->{INSTALLDIRS}; - $args->{INSTALLDIRS} = $self->installdirs; - } - - my %args = map { - ( $_ => $args->{$_} ) } grep {defined($args->{$_} ) - } keys %$args; - - my $user_preop = delete $args{dist}->{PREOP}; - if ( my $preop = $self->admin->preop($user_preop) ) { - foreach my $key ( keys %$preop ) { - $args{dist}->{$key} = $preop->{$key}; - } - } - - my $mm = ExtUtils::MakeMaker::WriteMakefile(%args); - $self->fix_up_makefile($mm->{FIRST_MAKEFILE} || 'Makefile'); -} - -sub fix_up_makefile { - my $self = shift; - my $makefile_name = shift; - my $top_class = ref($self->_top) || ''; - my $top_version = $self->_top->VERSION || ''; - - my $preamble = $self->preamble - ? "# Preamble by $top_class $top_version\n" - . $self->preamble - : ''; - my $postamble = "# Postamble by $top_class $top_version\n" - . ($self->postamble || ''); - - local *MAKEFILE; - open MAKEFILE, "+< $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!"; - eval { flock MAKEFILE, LOCK_EX }; - my $makefile = do { local $/; }; - - $makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /; - $makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g; - $makefile =~ s/( "-I\$\(INST_LIB\)")/ "-Iinc"$1/g; - $makefile =~ s/^(FULLPERL = .*)/$1 "-Iinc"/m; - $makefile =~ s/^(PERL = .*)/$1 "-Iinc"/m; - - # Module::Install will never be used to build the Core Perl - # Sometimes PERL_LIB and PERL_ARCHLIB get written anyway, which breaks - # PREFIX/PERL5LIB, and thus, install_share. Blank them if they exist - $makefile =~ s/^PERL_LIB = .+/PERL_LIB =/m; - #$makefile =~ s/^PERL_ARCHLIB = .+/PERL_ARCHLIB =/m; - - # Perl 5.005 mentions PERL_LIB explicitly, so we have to remove that as well. - $makefile =~ s/(\"?)-I\$\(PERL_LIB\)\1//g; - - # XXX - This is currently unused; not sure if it breaks other MM-users - # $makefile =~ s/^pm_to_blib\s+:\s+/pm_to_blib :: /mg; - - seek MAKEFILE, 0, SEEK_SET; - truncate MAKEFILE, 0; - print MAKEFILE "$preamble$makefile$postamble" or die $!; - close MAKEFILE or die $!; - - 1; -} - -sub preamble { - my ($self, $text) = @_; - $self->{preamble} = $text . $self->{preamble} if defined $text; - $self->{preamble}; -} - -sub postamble { - my ($self, $text) = @_; - $self->{postamble} ||= $self->admin->postamble; - $self->{postamble} .= $text if defined $text; - $self->{postamble} -} - -1; - -__END__ - -#line 544 diff -Nru libppi-xs-perl-0.902/inc/Module/Install/Metadata.pm libppi-xs-perl-0.910/inc/Module/Install/Metadata.pm --- libppi-xs-perl-0.902/inc/Module/Install/Metadata.pm 2013-02-26 23:48:59.000000000 +0000 +++ libppi-xs-perl-0.910/inc/Module/Install/Metadata.pm 1970-01-01 00:00:00.000000000 +0000 @@ -1,722 +0,0 @@ -#line 1 -package Module::Install::Metadata; - -use strict 'vars'; -use Module::Install::Base (); - -use vars qw{$VERSION @ISA $ISCORE}; -BEGIN { - $VERSION = '1.06'; - @ISA = 'Module::Install::Base'; - $ISCORE = 1; -} - -my @boolean_keys = qw{ - sign -}; - -my @scalar_keys = qw{ - name - module_name - abstract - version - distribution_type - tests - installdirs -}; - -my @tuple_keys = qw{ - configure_requires - build_requires - requires - recommends - bundles - resources -}; - -my @resource_keys = qw{ - homepage - bugtracker - repository -}; - -my @array_keys = qw{ - keywords - author -}; - -*authors = \&author; - -sub Meta { shift } -sub Meta_BooleanKeys { @boolean_keys } -sub Meta_ScalarKeys { @scalar_keys } -sub Meta_TupleKeys { @tuple_keys } -sub Meta_ResourceKeys { @resource_keys } -sub Meta_ArrayKeys { @array_keys } - -foreach my $key ( @boolean_keys ) { - *$key = sub { - my $self = shift; - if ( defined wantarray and not @_ ) { - return $self->{values}->{$key}; - } - $self->{values}->{$key} = ( @_ ? $_[0] : 1 ); - return $self; - }; -} - -foreach my $key ( @scalar_keys ) { - *$key = sub { - my $self = shift; - return $self->{values}->{$key} if defined wantarray and !@_; - $self->{values}->{$key} = shift; - return $self; - }; -} - -foreach my $key ( @array_keys ) { - *$key = sub { - my $self = shift; - return $self->{values}->{$key} if defined wantarray and !@_; - $self->{values}->{$key} ||= []; - push @{$self->{values}->{$key}}, @_; - return $self; - }; -} - -foreach my $key ( @resource_keys ) { - *$key = sub { - my $self = shift; - unless ( @_ ) { - return () unless $self->{values}->{resources}; - return map { $_->[1] } - grep { $_->[0] eq $key } - @{ $self->{values}->{resources} }; - } - return $self->{values}->{resources}->{$key} unless @_; - my $uri = shift or die( - "Did not provide a value to $key()" - ); - $self->resources( $key => $uri ); - return 1; - }; -} - -foreach my $key ( grep { $_ ne "resources" } @tuple_keys) { - *$key = sub { - my $self = shift; - return $self->{values}->{$key} unless @_; - my @added; - while ( @_ ) { - my $module = shift or last; - my $version = shift || 0; - push @added, [ $module, $version ]; - } - push @{ $self->{values}->{$key} }, @added; - return map {@$_} @added; - }; -} - -# Resource handling -my %lc_resource = map { $_ => 1 } qw{ - homepage - license - bugtracker - repository -}; - -sub resources { - my $self = shift; - while ( @_ ) { - my $name = shift or last; - my $value = shift or next; - if ( $name eq lc $name and ! $lc_resource{$name} ) { - die("Unsupported reserved lowercase resource '$name'"); - } - $self->{values}->{resources} ||= []; - push @{ $self->{values}->{resources} }, [ $name, $value ]; - } - $self->{values}->{resources}; -} - -# Aliases for build_requires that will have alternative -# meanings in some future version of META.yml. -sub test_requires { shift->build_requires(@_) } -sub install_requires { shift->build_requires(@_) } - -# Aliases for installdirs options -sub install_as_core { $_[0]->installdirs('perl') } -sub install_as_cpan { $_[0]->installdirs('site') } -sub install_as_site { $_[0]->installdirs('site') } -sub install_as_vendor { $_[0]->installdirs('vendor') } - -sub dynamic_config { - my $self = shift; - my $value = @_ ? shift : 1; - if ( $self->{values}->{dynamic_config} ) { - # Once dynamic we never change to static, for safety - return 0; - } - $self->{values}->{dynamic_config} = $value ? 1 : 0; - return 1; -} - -# Convenience command -sub static_config { - shift->dynamic_config(0); -} - -sub perl_version { - my $self = shift; - return $self->{values}->{perl_version} unless @_; - my $version = shift or die( - "Did not provide a value to perl_version()" - ); - - # Normalize the version - $version = $self->_perl_version($version); - - # We don't support the really old versions - unless ( $version >= 5.005 ) { - die "Module::Install only supports 5.005 or newer (use ExtUtils::MakeMaker)\n"; - } - - $self->{values}->{perl_version} = $version; -} - -sub all_from { - my ( $self, $file ) = @_; - - unless ( defined($file) ) { - my $name = $self->name or die( - "all_from called with no args without setting name() first" - ); - $file = join('/', 'lib', split(/-/, $name)) . '.pm'; - $file =~ s{.*/}{} unless -e $file; - unless ( -e $file ) { - die("all_from cannot find $file from $name"); - } - } - unless ( -f $file ) { - die("The path '$file' does not exist, or is not a file"); - } - - $self->{values}{all_from} = $file; - - # Some methods pull from POD instead of code. - # If there is a matching .pod, use that instead - my $pod = $file; - $pod =~ s/\.pm$/.pod/i; - $pod = $file unless -e $pod; - - # Pull the different values - $self->name_from($file) unless $self->name; - $self->version_from($file) unless $self->version; - $self->perl_version_from($file) unless $self->perl_version; - $self->author_from($pod) unless @{$self->author || []}; - $self->license_from($pod) unless $self->license; - $self->abstract_from($pod) unless $self->abstract; - - return 1; -} - -sub provides { - my $self = shift; - my $provides = ( $self->{values}->{provides} ||= {} ); - %$provides = (%$provides, @_) if @_; - return $provides; -} - -sub auto_provides { - my $self = shift; - return $self unless $self->is_admin; - unless (-e 'MANIFEST') { - warn "Cannot deduce auto_provides without a MANIFEST, skipping\n"; - return $self; - } - # Avoid spurious warnings as we are not checking manifest here. - local $SIG{__WARN__} = sub {1}; - require ExtUtils::Manifest; - local *ExtUtils::Manifest::manicheck = sub { return }; - - require Module::Build; - my $build = Module::Build->new( - dist_name => $self->name, - dist_version => $self->version, - license => $self->license, - ); - $self->provides( %{ $build->find_dist_packages || {} } ); -} - -sub feature { - my $self = shift; - my $name = shift; - my $features = ( $self->{values}->{features} ||= [] ); - my $mods; - - if ( @_ == 1 and ref( $_[0] ) ) { - # The user used ->feature like ->features by passing in the second - # argument as a reference. Accomodate for that. - $mods = $_[0]; - } else { - $mods = \@_; - } - - my $count = 0; - push @$features, ( - $name => [ - map { - ref($_) ? ( ref($_) eq 'HASH' ) ? %$_ : @$_ : $_ - } @$mods - ] - ); - - return @$features; -} - -sub features { - my $self = shift; - while ( my ( $name, $mods ) = splice( @_, 0, 2 ) ) { - $self->feature( $name, @$mods ); - } - return $self->{values}->{features} - ? @{ $self->{values}->{features} } - : (); -} - -sub no_index { - my $self = shift; - my $type = shift; - push @{ $self->{values}->{no_index}->{$type} }, @_ if $type; - return $self->{values}->{no_index}; -} - -sub read { - my $self = shift; - $self->include_deps( 'YAML::Tiny', 0 ); - - require YAML::Tiny; - my $data = YAML::Tiny::LoadFile('META.yml'); - - # Call methods explicitly in case user has already set some values. - while ( my ( $key, $value ) = each %$data ) { - next unless $self->can($key); - if ( ref $value eq 'HASH' ) { - while ( my ( $module, $version ) = each %$value ) { - $self->can($key)->($self, $module => $version ); - } - } else { - $self->can($key)->($self, $value); - } - } - return $self; -} - -sub write { - my $self = shift; - return $self unless $self->is_admin; - $self->admin->write_meta; - return $self; -} - -sub version_from { - require ExtUtils::MM_Unix; - my ( $self, $file ) = @_; - $self->version( ExtUtils::MM_Unix->parse_version($file) ); - - # for version integrity check - $self->makemaker_args( VERSION_FROM => $file ); -} - -sub abstract_from { - require ExtUtils::MM_Unix; - my ( $self, $file ) = @_; - $self->abstract( - bless( - { DISTNAME => $self->name }, - 'ExtUtils::MM_Unix' - )->parse_abstract($file) - ); -} - -# Add both distribution and module name -sub name_from { - my ($self, $file) = @_; - if ( - Module::Install::_read($file) =~ m/ - ^ \s* - package \s* - ([\w:]+) - \s* ; - /ixms - ) { - my ($name, $module_name) = ($1, $1); - $name =~ s{::}{-}g; - $self->name($name); - unless ( $self->module_name ) { - $self->module_name($module_name); - } - } else { - die("Cannot determine name from $file\n"); - } -} - -sub _extract_perl_version { - if ( - $_[0] =~ m/ - ^\s* - (?:use|require) \s* - v? - ([\d_\.]+) - \s* ; - /ixms - ) { - my $perl_version = $1; - $perl_version =~ s{_}{}g; - return $perl_version; - } else { - return; - } -} - -sub perl_version_from { - my $self = shift; - my $perl_version=_extract_perl_version(Module::Install::_read($_[0])); - if ($perl_version) { - $self->perl_version($perl_version); - } else { - warn "Cannot determine perl version info from $_[0]\n"; - return; - } -} - -sub author_from { - my $self = shift; - my $content = Module::Install::_read($_[0]); - if ($content =~ m/ - =head \d \s+ (?:authors?)\b \s* - ([^\n]*) - | - =head \d \s+ (?:licen[cs]e|licensing|copyright|legal)\b \s* - .*? copyright .*? \d\d\d[\d.]+ \s* (?:\bby\b)? \s* - ([^\n]*) - /ixms) { - my $author = $1 || $2; - - # XXX: ugly but should work anyway... - if (eval "require Pod::Escapes; 1") { - # Pod::Escapes has a mapping table. - # It's in core of perl >= 5.9.3, and should be installed - # as one of the Pod::Simple's prereqs, which is a prereq - # of Pod::Text 3.x (see also below). - $author =~ s{ E<( (\d+) | ([A-Za-z]+) )> } - { - defined $2 - ? chr($2) - : defined $Pod::Escapes::Name2character_number{$1} - ? chr($Pod::Escapes::Name2character_number{$1}) - : do { - warn "Unknown escape: E<$1>"; - "E<$1>"; - }; - }gex; - } - elsif (eval "require Pod::Text; 1" && $Pod::Text::VERSION < 3) { - # Pod::Text < 3.0 has yet another mapping table, - # though the table name of 2.x and 1.x are different. - # (1.x is in core of Perl < 5.6, 2.x is in core of - # Perl < 5.9.3) - my $mapping = ($Pod::Text::VERSION < 2) - ? \%Pod::Text::HTML_Escapes - : \%Pod::Text::ESCAPES; - $author =~ s{ E<( (\d+) | ([A-Za-z]+) )> } - { - defined $2 - ? chr($2) - : defined $mapping->{$1} - ? $mapping->{$1} - : do { - warn "Unknown escape: E<$1>"; - "E<$1>"; - }; - }gex; - } - else { - $author =~ s{E}{<}g; - $author =~ s{E}{>}g; - } - $self->author($author); - } else { - warn "Cannot determine author info from $_[0]\n"; - } -} - -#Stolen from M::B -my %license_urls = ( - perl => 'http://dev.perl.org/licenses/', - apache => 'http://apache.org/licenses/LICENSE-2.0', - apache_1_1 => 'http://apache.org/licenses/LICENSE-1.1', - artistic => 'http://opensource.org/licenses/artistic-license.php', - artistic_2 => 'http://opensource.org/licenses/artistic-license-2.0.php', - lgpl => 'http://opensource.org/licenses/lgpl-license.php', - lgpl2 => 'http://opensource.org/licenses/lgpl-2.1.php', - lgpl3 => 'http://opensource.org/licenses/lgpl-3.0.html', - bsd => 'http://opensource.org/licenses/bsd-license.php', - gpl => 'http://opensource.org/licenses/gpl-license.php', - gpl2 => 'http://opensource.org/licenses/gpl-2.0.php', - gpl3 => 'http://opensource.org/licenses/gpl-3.0.html', - mit => 'http://opensource.org/licenses/mit-license.php', - mozilla => 'http://opensource.org/licenses/mozilla1.1.php', - open_source => undef, - unrestricted => undef, - restrictive => undef, - unknown => undef, -); - -sub license { - my $self = shift; - return $self->{values}->{license} unless @_; - my $license = shift or die( - 'Did not provide a value to license()' - ); - $license = __extract_license($license) || lc $license; - $self->{values}->{license} = $license; - - # Automatically fill in license URLs - if ( $license_urls{$license} ) { - $self->resources( license => $license_urls{$license} ); - } - - return 1; -} - -sub _extract_license { - my $pod = shift; - my $matched; - return __extract_license( - ($matched) = $pod =~ m/ - (=head \d \s+ L(?i:ICEN[CS]E|ICENSING)\b.*?) - (=head \d.*|=cut.*|)\z - /xms - ) || __extract_license( - ($matched) = $pod =~ m/ - (=head \d \s+ (?:C(?i:OPYRIGHTS?)|L(?i:EGAL))\b.*?) - (=head \d.*|=cut.*|)\z - /xms - ); -} - -sub __extract_license { - my $license_text = shift or return; - my @phrases = ( - '(?:under )?the same (?:terms|license) as (?:perl|the perl (?:\d )?programming language)' => 'perl', 1, - '(?:under )?the terms of (?:perl|the perl programming language) itself' => 'perl', 1, - 'Artistic and GPL' => 'perl', 1, - 'GNU general public license' => 'gpl', 1, - 'GNU public license' => 'gpl', 1, - 'GNU lesser general public license' => 'lgpl', 1, - 'GNU lesser public license' => 'lgpl', 1, - 'GNU library general public license' => 'lgpl', 1, - 'GNU library public license' => 'lgpl', 1, - 'GNU Free Documentation license' => 'unrestricted', 1, - 'GNU Affero General Public License' => 'open_source', 1, - '(?:Free)?BSD license' => 'bsd', 1, - 'Artistic license 2\.0' => 'artistic_2', 1, - 'Artistic license' => 'artistic', 1, - 'Apache (?:Software )?license' => 'apache', 1, - 'GPL' => 'gpl', 1, - 'LGPL' => 'lgpl', 1, - 'BSD' => 'bsd', 1, - 'Artistic' => 'artistic', 1, - 'MIT' => 'mit', 1, - 'Mozilla Public License' => 'mozilla', 1, - 'Q Public License' => 'open_source', 1, - 'OpenSSL License' => 'unrestricted', 1, - 'SSLeay License' => 'unrestricted', 1, - 'zlib License' => 'open_source', 1, - 'proprietary' => 'proprietary', 0, - ); - while ( my ($pattern, $license, $osi) = splice(@phrases, 0, 3) ) { - $pattern =~ s#\s+#\\s+#gs; - if ( $license_text =~ /\b$pattern\b/i ) { - return $license; - } - } - return ''; -} - -sub license_from { - my $self = shift; - if (my $license=_extract_license(Module::Install::_read($_[0]))) { - $self->license($license); - } else { - warn "Cannot determine license info from $_[0]\n"; - return 'unknown'; - } -} - -sub _extract_bugtracker { - my @links = $_[0] =~ m#L<( - https?\Q://rt.cpan.org/\E[^>]+| - https?\Q://github.com/\E[\w_]+/[\w_]+/issues| - https?\Q://code.google.com/p/\E[\w_\-]+/issues/list - )>#gx; - my %links; - @links{@links}=(); - @links=keys %links; - return @links; -} - -sub bugtracker_from { - my $self = shift; - my $content = Module::Install::_read($_[0]); - my @links = _extract_bugtracker($content); - unless ( @links ) { - warn "Cannot determine bugtracker info from $_[0]\n"; - return 0; - } - if ( @links > 1 ) { - warn "Found more than one bugtracker link in $_[0]\n"; - return 0; - } - - # Set the bugtracker - bugtracker( $links[0] ); - return 1; -} - -sub requires_from { - my $self = shift; - my $content = Module::Install::_readperl($_[0]); - my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+(v?[\d\.]+)/mg; - while ( @requires ) { - my $module = shift @requires; - my $version = shift @requires; - $self->requires( $module => $version ); - } -} - -sub test_requires_from { - my $self = shift; - my $content = Module::Install::_readperl($_[0]); - my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+([\d\.]+)/mg; - while ( @requires ) { - my $module = shift @requires; - my $version = shift @requires; - $self->test_requires( $module => $version ); - } -} - -# Convert triple-part versions (eg, 5.6.1 or 5.8.9) to -# numbers (eg, 5.006001 or 5.008009). -# Also, convert double-part versions (eg, 5.8) -sub _perl_version { - my $v = $_[-1]; - $v =~ s/^([1-9])\.([1-9]\d?\d?)$/sprintf("%d.%03d",$1,$2)/e; - $v =~ s/^([1-9])\.([1-9]\d?\d?)\.(0|[1-9]\d?\d?)$/sprintf("%d.%03d%03d",$1,$2,$3 || 0)/e; - $v =~ s/(\.\d\d\d)000$/$1/; - $v =~ s/_.+$//; - if ( ref($v) ) { - # Numify - $v = $v + 0; - } - return $v; -} - -sub add_metadata { - my $self = shift; - my %hash = @_; - for my $key (keys %hash) { - warn "add_metadata: $key is not prefixed with 'x_'.\n" . - "Use appopriate function to add non-private metadata.\n" unless $key =~ /^x_/; - $self->{values}->{$key} = $hash{$key}; - } -} - - -###################################################################### -# MYMETA Support - -sub WriteMyMeta { - die "WriteMyMeta has been deprecated"; -} - -sub write_mymeta_yaml { - my $self = shift; - - # We need YAML::Tiny to write the MYMETA.yml file - unless ( eval { require YAML::Tiny; 1; } ) { - return 1; - } - - # Generate the data - my $meta = $self->_write_mymeta_data or return 1; - - # Save as the MYMETA.yml file - print "Writing MYMETA.yml\n"; - YAML::Tiny::DumpFile('MYMETA.yml', $meta); -} - -sub write_mymeta_json { - my $self = shift; - - # We need JSON to write the MYMETA.json file - unless ( eval { require JSON; 1; } ) { - return 1; - } - - # Generate the data - my $meta = $self->_write_mymeta_data or return 1; - - # Save as the MYMETA.yml file - print "Writing MYMETA.json\n"; - Module::Install::_write( - 'MYMETA.json', - JSON->new->pretty(1)->canonical->encode($meta), - ); -} - -sub _write_mymeta_data { - my $self = shift; - - # If there's no existing META.yml there is nothing we can do - return undef unless -f 'META.yml'; - - # We need Parse::CPAN::Meta to load the file - unless ( eval { require Parse::CPAN::Meta; 1; } ) { - return undef; - } - - # Merge the perl version into the dependencies - my $val = $self->Meta->{values}; - my $perl = delete $val->{perl_version}; - if ( $perl ) { - $val->{requires} ||= []; - my $requires = $val->{requires}; - - # Canonize to three-dot version after Perl 5.6 - if ( $perl >= 5.006 ) { - $perl =~ s{^(\d+)\.(\d\d\d)(\d*)}{join('.', $1, int($2||0), int($3||0))}e - } - unshift @$requires, [ perl => $perl ]; - } - - # Load the advisory META.yml file - my @yaml = Parse::CPAN::Meta::LoadFile('META.yml'); - my $meta = $yaml[0]; - - # Overwrite the non-configure dependency hashs - delete $meta->{requires}; - delete $meta->{build_requires}; - delete $meta->{recommends}; - if ( exists $val->{requires} ) { - $meta->{requires} = { map { @$_ } @{ $val->{requires} } }; - } - if ( exists $val->{build_requires} ) { - $meta->{build_requires} = { map { @$_ } @{ $val->{build_requires} } }; - } - - return $meta; -} - -1; diff -Nru libppi-xs-perl-0.902/inc/Module/Install/Win32.pm libppi-xs-perl-0.910/inc/Module/Install/Win32.pm --- libppi-xs-perl-0.902/inc/Module/Install/Win32.pm 2013-02-26 23:48:59.000000000 +0000 +++ libppi-xs-perl-0.910/inc/Module/Install/Win32.pm 1970-01-01 00:00:00.000000000 +0000 @@ -1,64 +0,0 @@ -#line 1 -package Module::Install::Win32; - -use strict; -use Module::Install::Base (); - -use vars qw{$VERSION @ISA $ISCORE}; -BEGIN { - $VERSION = '1.06'; - @ISA = 'Module::Install::Base'; - $ISCORE = 1; -} - -# determine if the user needs nmake, and download it if needed -sub check_nmake { - my $self = shift; - $self->load('can_run'); - $self->load('get_file'); - - require Config; - return unless ( - $^O eq 'MSWin32' and - $Config::Config{make} and - $Config::Config{make} =~ /^nmake\b/i and - ! $self->can_run('nmake') - ); - - print "The required 'nmake' executable not found, fetching it...\n"; - - require File::Basename; - my $rv = $self->get_file( - url => 'http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe', - ftp_url => 'ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe', - local_dir => File::Basename::dirname($^X), - size => 51928, - run => 'Nmake15.exe /o > nul', - check_for => 'Nmake.exe', - remove => 1, - ); - - die <<'END_MESSAGE' unless $rv; - -------------------------------------------------------------------------------- - -Since you are using Microsoft Windows, you will need the 'nmake' utility -before installation. It's available at: - - http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe - or - ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe - -Please download the file manually, save it to a directory in %PATH% (e.g. -C:\WINDOWS\COMMAND\), then launch the MS-DOS command line shell, "cd" to -that directory, and run "Nmake15.exe" from there; that will create the -'nmake.exe' file needed by this module. - -You may then resume the installation process described in README. - -------------------------------------------------------------------------------- -END_MESSAGE - -} - -1; diff -Nru libppi-xs-perl-0.902/inc/Module/Install/WriteAll.pm libppi-xs-perl-0.910/inc/Module/Install/WriteAll.pm --- libppi-xs-perl-0.902/inc/Module/Install/WriteAll.pm 2013-02-26 23:48:59.000000000 +0000 +++ libppi-xs-perl-0.910/inc/Module/Install/WriteAll.pm 1970-01-01 00:00:00.000000000 +0000 @@ -1,63 +0,0 @@ -#line 1 -package Module::Install::WriteAll; - -use strict; -use Module::Install::Base (); - -use vars qw{$VERSION @ISA $ISCORE}; -BEGIN { - $VERSION = '1.06'; - @ISA = qw{Module::Install::Base}; - $ISCORE = 1; -} - -sub WriteAll { - my $self = shift; - my %args = ( - meta => 1, - sign => 0, - inline => 0, - check_nmake => 1, - @_, - ); - - $self->sign(1) if $args{sign}; - $self->admin->WriteAll(%args) if $self->is_admin; - - $self->check_nmake if $args{check_nmake}; - unless ( $self->makemaker_args->{PL_FILES} ) { - # XXX: This still may be a bit over-defensive... - unless ($self->makemaker(6.25)) { - $self->makemaker_args( PL_FILES => {} ) if -f 'Build.PL'; - } - } - - # Until ExtUtils::MakeMaker support MYMETA.yml, make sure - # we clean it up properly ourself. - $self->realclean_files('MYMETA.yml'); - - if ( $args{inline} ) { - $self->Inline->write; - } else { - $self->Makefile->write; - } - - # The Makefile write process adds a couple of dependencies, - # so write the META.yml files after the Makefile. - if ( $args{meta} ) { - $self->Meta->write; - } - - # Experimental support for MYMETA - if ( $ENV{X_MYMETA} ) { - if ( $ENV{X_MYMETA} eq 'JSON' ) { - $self->Meta->write_mymeta_json; - } else { - $self->Meta->write_mymeta_yaml; - } - } - - return 1; -} - -1; diff -Nru libppi-xs-perl-0.902/inc/Module/Install.pm libppi-xs-perl-0.910/inc/Module/Install.pm --- libppi-xs-perl-0.902/inc/Module/Install.pm 2013-02-26 23:48:59.000000000 +0000 +++ libppi-xs-perl-0.910/inc/Module/Install.pm 1970-01-01 00:00:00.000000000 +0000 @@ -1,470 +0,0 @@ -#line 1 -package Module::Install; - -# For any maintainers: -# The load order for Module::Install is a bit magic. -# It goes something like this... -# -# IF ( host has Module::Install installed, creating author mode ) { -# 1. Makefile.PL calls "use inc::Module::Install" -# 2. $INC{inc/Module/Install.pm} set to installed version of inc::Module::Install -# 3. The installed version of inc::Module::Install loads -# 4. inc::Module::Install calls "require Module::Install" -# 5. The ./inc/ version of Module::Install loads -# } ELSE { -# 1. Makefile.PL calls "use inc::Module::Install" -# 2. $INC{inc/Module/Install.pm} set to ./inc/ version of Module::Install -# 3. The ./inc/ version of Module::Install loads -# } - -use 5.005; -use strict 'vars'; -use Cwd (); -use File::Find (); -use File::Path (); - -use vars qw{$VERSION $MAIN}; -BEGIN { - # All Module::Install core packages now require synchronised versions. - # This will be used to ensure we don't accidentally load old or - # different versions of modules. - # This is not enforced yet, but will be some time in the next few - # releases once we can make sure it won't clash with custom - # Module::Install extensions. - $VERSION = '1.06'; - - # Storage for the pseudo-singleton - $MAIN = undef; - - *inc::Module::Install::VERSION = *VERSION; - @inc::Module::Install::ISA = __PACKAGE__; - -} - -sub import { - my $class = shift; - my $self = $class->new(@_); - my $who = $self->_caller; - - #------------------------------------------------------------- - # all of the following checks should be included in import(), - # to allow "eval 'require Module::Install; 1' to test - # installation of Module::Install. (RT #51267) - #------------------------------------------------------------- - - # Whether or not inc::Module::Install is actually loaded, the - # $INC{inc/Module/Install.pm} is what will still get set as long as - # the caller loaded module this in the documented manner. - # If not set, the caller may NOT have loaded the bundled version, and thus - # they may not have a MI version that works with the Makefile.PL. This would - # result in false errors or unexpected behaviour. And we don't want that. - my $file = join( '/', 'inc', split /::/, __PACKAGE__ ) . '.pm'; - unless ( $INC{$file} ) { die <<"END_DIE" } - -Please invoke ${\__PACKAGE__} with: - - use inc::${\__PACKAGE__}; - -not: - - use ${\__PACKAGE__}; - -END_DIE - - # This reportedly fixes a rare Win32 UTC file time issue, but - # as this is a non-cross-platform XS module not in the core, - # we shouldn't really depend on it. See RT #24194 for detail. - # (Also, this module only supports Perl 5.6 and above). - eval "use Win32::UTCFileTime" if $^O eq 'MSWin32' && $] >= 5.006; - - # If the script that is loading Module::Install is from the future, - # then make will detect this and cause it to re-run over and over - # again. This is bad. Rather than taking action to touch it (which - # is unreliable on some platforms and requires write permissions) - # for now we should catch this and refuse to run. - if ( -f $0 ) { - my $s = (stat($0))[9]; - - # If the modification time is only slightly in the future, - # sleep briefly to remove the problem. - my $a = $s - time; - if ( $a > 0 and $a < 5 ) { sleep 5 } - - # Too far in the future, throw an error. - my $t = time; - if ( $s > $t ) { die <<"END_DIE" } - -Your installer $0 has a modification time in the future ($s > $t). - -This is known to create infinite loops in make. - -Please correct this, then run $0 again. - -END_DIE - } - - - # Build.PL was formerly supported, but no longer is due to excessive - # difficulty in implementing every single feature twice. - if ( $0 =~ /Build.PL$/i ) { die <<"END_DIE" } - -Module::Install no longer supports Build.PL. - -It was impossible to maintain duel backends, and has been deprecated. - -Please remove all Build.PL files and only use the Makefile.PL installer. - -END_DIE - - #------------------------------------------------------------- - - # To save some more typing in Module::Install installers, every... - # use inc::Module::Install - # ...also acts as an implicit use strict. - $^H |= strict::bits(qw(refs subs vars)); - - #------------------------------------------------------------- - - unless ( -f $self->{file} ) { - foreach my $key (keys %INC) { - delete $INC{$key} if $key =~ /Module\/Install/; - } - - local $^W; - require "$self->{path}/$self->{dispatch}.pm"; - File::Path::mkpath("$self->{prefix}/$self->{author}"); - $self->{admin} = "$self->{name}::$self->{dispatch}"->new( _top => $self ); - $self->{admin}->init; - @_ = ($class, _self => $self); - goto &{"$self->{name}::import"}; - } - - local $^W; - *{"${who}::AUTOLOAD"} = $self->autoload; - $self->preload; - - # Unregister loader and worker packages so subdirs can use them again - delete $INC{'inc/Module/Install.pm'}; - delete $INC{'Module/Install.pm'}; - - # Save to the singleton - $MAIN = $self; - - return 1; -} - -sub autoload { - my $self = shift; - my $who = $self->_caller; - my $cwd = Cwd::cwd(); - my $sym = "${who}::AUTOLOAD"; - $sym->{$cwd} = sub { - my $pwd = Cwd::cwd(); - if ( my $code = $sym->{$pwd} ) { - # Delegate back to parent dirs - goto &$code unless $cwd eq $pwd; - } - unless ($$sym =~ s/([^:]+)$//) { - # XXX: it looks like we can't retrieve the missing function - # via $$sym (usually $main::AUTOLOAD) in this case. - # I'm still wondering if we should slurp Makefile.PL to - # get some context or not ... - my ($package, $file, $line) = caller; - die <<"EOT"; -Unknown function is found at $file line $line. -Execution of $file aborted due to runtime errors. - -If you're a contributor to a project, you may need to install -some Module::Install extensions from CPAN (or other repository). -If you're a user of a module, please contact the author. -EOT - } - my $method = $1; - if ( uc($method) eq $method ) { - # Do nothing - return; - } elsif ( $method =~ /^_/ and $self->can($method) ) { - # Dispatch to the root M:I class - return $self->$method(@_); - } - - # Dispatch to the appropriate plugin - unshift @_, ( $self, $1 ); - goto &{$self->can('call')}; - }; -} - -sub preload { - my $self = shift; - unless ( $self->{extensions} ) { - $self->load_extensions( - "$self->{prefix}/$self->{path}", $self - ); - } - - my @exts = @{$self->{extensions}}; - unless ( @exts ) { - @exts = $self->{admin}->load_all_extensions; - } - - my %seen; - foreach my $obj ( @exts ) { - while (my ($method, $glob) = each %{ref($obj) . '::'}) { - next unless $obj->can($method); - next if $method =~ /^_/; - next if $method eq uc($method); - $seen{$method}++; - } - } - - my $who = $self->_caller; - foreach my $name ( sort keys %seen ) { - local $^W; - *{"${who}::$name"} = sub { - ${"${who}::AUTOLOAD"} = "${who}::$name"; - goto &{"${who}::AUTOLOAD"}; - }; - } -} - -sub new { - my ($class, %args) = @_; - - delete $INC{'FindBin.pm'}; - { - # to suppress the redefine warning - local $SIG{__WARN__} = sub {}; - require FindBin; - } - - # ignore the prefix on extension modules built from top level. - my $base_path = Cwd::abs_path($FindBin::Bin); - unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) { - delete $args{prefix}; - } - return $args{_self} if $args{_self}; - - $args{dispatch} ||= 'Admin'; - $args{prefix} ||= 'inc'; - $args{author} ||= ($^O eq 'VMS' ? '_author' : '.author'); - $args{bundle} ||= 'inc/BUNDLES'; - $args{base} ||= $base_path; - $class =~ s/^\Q$args{prefix}\E:://; - $args{name} ||= $class; - $args{version} ||= $class->VERSION; - unless ( $args{path} ) { - $args{path} = $args{name}; - $args{path} =~ s!::!/!g; - } - $args{file} ||= "$args{base}/$args{prefix}/$args{path}.pm"; - $args{wrote} = 0; - - bless( \%args, $class ); -} - -sub call { - my ($self, $method) = @_; - my $obj = $self->load($method) or return; - splice(@_, 0, 2, $obj); - goto &{$obj->can($method)}; -} - -sub load { - my ($self, $method) = @_; - - $self->load_extensions( - "$self->{prefix}/$self->{path}", $self - ) unless $self->{extensions}; - - foreach my $obj (@{$self->{extensions}}) { - return $obj if $obj->can($method); - } - - my $admin = $self->{admin} or die <<"END_DIE"; -The '$method' method does not exist in the '$self->{prefix}' path! -Please remove the '$self->{prefix}' directory and run $0 again to load it. -END_DIE - - my $obj = $admin->load($method, 1); - push @{$self->{extensions}}, $obj; - - $obj; -} - -sub load_extensions { - my ($self, $path, $top) = @_; - - my $should_reload = 0; - unless ( grep { ! ref $_ and lc $_ eq lc $self->{prefix} } @INC ) { - unshift @INC, $self->{prefix}; - $should_reload = 1; - } - - foreach my $rv ( $self->find_extensions($path) ) { - my ($file, $pkg) = @{$rv}; - next if $self->{pathnames}{$pkg}; - - local $@; - my $new = eval { local $^W; require $file; $pkg->can('new') }; - unless ( $new ) { - warn $@ if $@; - next; - } - $self->{pathnames}{$pkg} = - $should_reload ? delete $INC{$file} : $INC{$file}; - push @{$self->{extensions}}, &{$new}($pkg, _top => $top ); - } - - $self->{extensions} ||= []; -} - -sub find_extensions { - my ($self, $path) = @_; - - my @found; - File::Find::find( sub { - my $file = $File::Find::name; - return unless $file =~ m!^\Q$path\E/(.+)\.pm\Z!is; - my $subpath = $1; - return if lc($subpath) eq lc($self->{dispatch}); - - $file = "$self->{path}/$subpath.pm"; - my $pkg = "$self->{name}::$subpath"; - $pkg =~ s!/!::!g; - - # If we have a mixed-case package name, assume case has been preserved - # correctly. Otherwise, root through the file to locate the case-preserved - # version of the package name. - if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) { - my $content = Module::Install::_read($subpath . '.pm'); - my $in_pod = 0; - foreach ( split //, $content ) { - $in_pod = 1 if /^=\w/; - $in_pod = 0 if /^=cut/; - next if ($in_pod || /^=cut/); # skip pod text - next if /^\s*#/; # and comments - if ( m/^\s*package\s+($pkg)\s*;/i ) { - $pkg = $1; - last; - } - } - } - - push @found, [ $file, $pkg ]; - }, $path ) if -d $path; - - @found; -} - - - - - -##################################################################### -# Common Utility Functions - -sub _caller { - my $depth = 0; - my $call = caller($depth); - while ( $call eq __PACKAGE__ ) { - $depth++; - $call = caller($depth); - } - return $call; -} - -# Done in evals to avoid confusing Perl::MinimumVersion -eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@; -sub _read { - local *FH; - open( FH, '<', $_[0] ) or die "open($_[0]): $!"; - my $string = do { local $/; }; - close FH or die "close($_[0]): $!"; - return $string; -} -END_NEW -sub _read { - local *FH; - open( FH, "< $_[0]" ) or die "open($_[0]): $!"; - my $string = do { local $/; }; - close FH or die "close($_[0]): $!"; - return $string; -} -END_OLD - -sub _readperl { - my $string = Module::Install::_read($_[0]); - $string =~ s/(?:\015{1,2}\012|\015|\012)/\n/sg; - $string =~ s/(\n)\n*__(?:DATA|END)__\b.*\z/$1/s; - $string =~ s/\n\n=\w+.+?\n\n=cut\b.+?\n+/\n\n/sg; - return $string; -} - -sub _readpod { - my $string = Module::Install::_read($_[0]); - $string =~ s/(?:\015{1,2}\012|\015|\012)/\n/sg; - return $string if $_[0] =~ /\.pod\z/; - $string =~ s/(^|\n=cut\b.+?\n+)[^=\s].+?\n(\n=\w+|\z)/$1$2/sg; - $string =~ s/\n*=pod\b[^\n]*\n+/\n\n/sg; - $string =~ s/\n*=cut\b[^\n]*\n+/\n\n/sg; - $string =~ s/^\n+//s; - return $string; -} - -# Done in evals to avoid confusing Perl::MinimumVersion -eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@; -sub _write { - local *FH; - open( FH, '>', $_[0] ) or die "open($_[0]): $!"; - foreach ( 1 .. $#_ ) { - print FH $_[$_] or die "print($_[0]): $!"; - } - close FH or die "close($_[0]): $!"; -} -END_NEW -sub _write { - local *FH; - open( FH, "> $_[0]" ) or die "open($_[0]): $!"; - foreach ( 1 .. $#_ ) { - print FH $_[$_] or die "print($_[0]): $!"; - } - close FH or die "close($_[0]): $!"; -} -END_OLD - -# _version is for processing module versions (eg, 1.03_05) not -# Perl versions (eg, 5.8.1). -sub _version ($) { - my $s = shift || 0; - my $d =()= $s =~ /(\.)/g; - if ( $d >= 2 ) { - # Normalise multipart versions - $s =~ s/(\.)(\d{1,3})/sprintf("$1%03d",$2)/eg; - } - $s =~ s/^(\d+)\.?//; - my $l = $1 || 0; - my @v = map { - $_ . '0' x (3 - length $_) - } $s =~ /(\d{1,3})\D?/g; - $l = $l . '.' . join '', @v if @v; - return $l + 0; -} - -sub _cmp ($$) { - _version($_[1]) <=> _version($_[2]); -} - -# Cloned from Params::Util::_CLASS -sub _CLASS ($) { - ( - defined $_[0] - and - ! ref $_[0] - and - $_[0] =~ m/^[^\W\d]\w*(?:::\w+)*\z/s - ) ? $_[0] : undef; -} - -1; - -# Copyright 2008 - 2012 Adam Kennedy. diff -Nru libppi-xs-perl-0.902/INSTALL libppi-xs-perl-0.910/INSTALL --- libppi-xs-perl-0.902/INSTALL 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/INSTALL 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,43 @@ +This is the Perl distribution PPI-XS. + +Installing PPI-XS is straightforward. + +## Installation with cpanm + +If you have cpanm, you only need one line: + + % cpanm PPI::XS + +If it does not have permission to install modules to the current perl, cpanm +will automatically set up and install to a local::lib in your home directory. +See the local::lib documentation (https://metacpan.org/pod/local::lib) for +details on enabling it in your environment. + +## Installing with the CPAN shell + +Alternatively, if your CPAN shell is set up, you should just be able to do: + + % cpan PPI::XS + +## Manual installation + +As a last resort, you can manually install it. Download the tarball, untar it, +then build it: + + % perl Makefile.PL + % make && make test + +Then install it: + + % make install + +If your perl is system-managed, you can create a local::lib in your home +directory to install modules to. For details, see the local::lib documentation: +https://metacpan.org/pod/local::lib + +## Documentation + +PPI-XS documentation is available as POD. +You can run perldoc from a shell to read the documentation: + + % perldoc PPI::XS diff -Nru libppi-xs-perl-0.902/lib/PPI/XS.pm libppi-xs-perl-0.910/lib/PPI/XS.pm --- libppi-xs-perl-0.902/lib/PPI/XS.pm 2013-02-26 23:47:17.000000000 +0000 +++ libppi-xs-perl-0.910/lib/PPI/XS.pm 2017-12-14 04:24:45.000000000 +0000 @@ -1,4 +1,4 @@ -package PPI::XS; +package PPI::XS; # git description: release-0.904-4-g378ef4e # See POD at end for documentation @@ -14,12 +14,9 @@ use PPI 1.000 (); # Define compatibility information -use vars qw{$VERSION $PM_COMPATIBLE %EXCLUDE}; -BEGIN { - $VERSION = '0.902'; - $PM_COMPATIBLE = '0.844'; - %EXCLUDE = (); -} +our $VERSION = '0.910'; +our $PM_COMPATIBLE = '0.844'; +our %EXCLUDE = (); # Does the main package define the minimum set of variables? return 1 unless defined $PPI::VERSION; @@ -84,6 +81,10 @@ PPI::XS - (Minor) XS acceleration for PPI +=head1 VERSION + +version 0.910 + =head1 DESCRIPTION PPI::XS provides XS-based acceleration of the core PPI packages. It diff -Nru libppi-xs-perl-0.902/LICENSE libppi-xs-perl-0.910/LICENSE --- libppi-xs-perl-0.902/LICENSE 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/LICENSE 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,379 @@ +This software is copyright (c) 2005 by Adam Kennedy. + +This is free software; you can redistribute it and/or modify it under +the same terms as the Perl 5 programming language system itself. + +Terms of the Perl programming language system itself + +a) the GNU General Public License as published by the Free + Software Foundation; either version 1, or (at your option) any + later version, or +b) the "Artistic License" + +--- The GNU General Public License, Version 1, February 1989 --- + +This software is Copyright (c) 2005 by Adam Kennedy. + +This is free software, licensed under: + + The GNU General Public License, Version 1, February 1989 + + GNU GENERAL PUBLIC LICENSE + Version 1, February 1989 + + Copyright (C) 1989 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The license agreements of most software companies try to keep users +at the mercy of those companies. By contrast, our General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. The +General Public License applies to the Free Software Foundation's +software and to any other program whose authors commit to using it. +You can use it for your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Specifically, the General Public License is designed to make +sure that you have the freedom to give away or sell copies of free +software, that you receive source code or can get it if you want it, +that you can change the software or use pieces of it in new free +programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of a such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must tell them their rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any program or other work which +contains a notice placed by the copyright holder saying it may be +distributed under the terms of this General Public License. The +"Program", below, refers to any such program or work, and a "work based +on the Program" means either the Program or any work containing the +Program or a portion of it, either verbatim or with modifications. Each +licensee is addressed as "you". + + 1. You may copy and distribute verbatim copies of the Program's source +code as you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this +General Public License and to the absence of any warranty; and give any +other recipients of the Program a copy of this General Public License +along with the Program. You may charge a fee for the physical act of +transferring a copy. + + 2. You may modify your copy or copies of the Program or any portion of +it, and copy and distribute such modifications under the terms of Paragraph +1 above, provided that you also do the following: + + a) cause the modified files to carry prominent notices stating that + you changed the files and the date of any change; and + + b) cause the whole of any work that you distribute or publish, that + in whole or in part contains the Program or any part thereof, either + with or without modifications, to be licensed at no charge to all + third parties under the terms of this General Public License (except + that you may choose to grant warranty protection to some or all + third parties, at your option). + + c) If the modified program normally reads commands interactively when + run, you must cause it, when started running for such interactive use + in the simplest and most usual way, to print or display an + announcement including an appropriate copyright notice and a notice + that there is no warranty (or else, saying that you provide a + warranty) and that users may redistribute the program under these + conditions, and telling the user how to view a copy of this General + Public License. + + d) You may charge a fee for the physical act of transferring a + copy, and you may at your option offer warranty protection in + exchange for a fee. + +Mere aggregation of another independent work with the Program (or its +derivative) on a volume of a storage or distribution medium does not bring +the other work under the scope of these terms. + + 3. You may copy and distribute the Program (or a portion or derivative of +it, under Paragraph 2) in object code or executable form under the terms of +Paragraphs 1 and 2 above provided that you also do one of the following: + + a) accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of + Paragraphs 1 and 2 above; or, + + b) accompany it with a written offer, valid for at least three + years, to give any third party free (except for a nominal charge + for the cost of distribution) a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of + Paragraphs 1 and 2 above; or, + + c) accompany it with the information you received as to where the + corresponding source code may be obtained. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form alone.) + +Source code for a work means the preferred form of the work for making +modifications to it. For an executable file, complete source code means +all the source code for all modules it contains; but, as a special +exception, it need not include source code for modules which are standard +libraries that accompany the operating system on which the executable +file runs, or for standard header files or definitions files that +accompany that operating system. + + 4. You may not copy, modify, sublicense, distribute or transfer the +Program except as expressly provided under this General Public License. +Any attempt otherwise to copy, modify, sublicense, distribute or transfer +the Program is void, and will automatically terminate your rights to use +the Program under this License. However, parties who have received +copies, or rights to use copies, from you under this General Public +License will not have their licenses terminated so long as such parties +remain in full compliance. + + 5. By copying, distributing or modifying the Program (or any work based +on the Program) you indicate your acceptance of this license to do so, +and all its terms and conditions. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the original +licensor to copy, distribute or modify the Program subject to these +terms and conditions. You may not impose any further restrictions on the +recipients' exercise of the rights granted herein. + + 7. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of the license which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +the license, you may choose any version ever published by the Free Software +Foundation. + + 8. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to humanity, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + + To do so, attach the following notices to the program. It is safest to +attach them to the start of each source file to most effectively convey +the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 1, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19xx name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than `show w' and `show +c'; they could even be mouse-clicks or menu items--whatever suits your +program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + program `Gnomovision' (a program to direct compilers to make passes + at assemblers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +That's all there is to it! + + +--- The Artistic License 1.0 --- + +This software is Copyright (c) 2005 by Adam Kennedy. + +This is free software, licensed under: + + The Artistic License 1.0 + +The Artistic License + +Preamble + +The intent of this document is to state the conditions under which a Package +may be copied, such that the Copyright Holder maintains some semblance of +artistic control over the development of the package, while giving the users of +the package the right to use and distribute the Package in a more-or-less +customary fashion, plus the right to make reasonable modifications. + +Definitions: + + - "Package" refers to the collection of files distributed by the Copyright + Holder, and derivatives of that collection of files created through + textual modification. + - "Standard Version" refers to such a Package if it has not been modified, + or has been modified in accordance with the wishes of the Copyright + Holder. + - "Copyright Holder" is whoever is named in the copyright or copyrights for + the package. + - "You" is you, if you're thinking about copying or distributing this Package. + - "Reasonable copying fee" is whatever you can justify on the basis of media + cost, duplication charges, time of people involved, and so on. (You will + not be required to justify it to the Copyright Holder, but only to the + computing community at large as a market that must bear the fee.) + - "Freely Available" means that no fee is charged for the item itself, though + there may be fees involved in handling the item. It also means that + recipients of the item may redistribute it under the same conditions they + received it. + +1. You may make and give away verbatim copies of the source form of the +Standard Version of this Package without restriction, provided that you +duplicate all of the original copyright notices and associated disclaimers. + +2. You may apply bug fixes, portability fixes and other modifications derived +from the Public Domain or from the Copyright Holder. A Package modified in such +a way shall still be considered the Standard Version. + +3. You may otherwise modify your copy of this Package in any way, provided that +you insert a prominent notice in each changed file stating how and when you +changed that file, and provided that you do at least ONE of the following: + + a) place your modifications in the Public Domain or otherwise make them + Freely Available, such as by posting said modifications to Usenet or an + equivalent medium, or placing the modifications on a major archive site + such as ftp.uu.net, or by allowing the Copyright Holder to include your + modifications in the Standard Version of the Package. + + b) use the modified Package only within your corporation or organization. + + c) rename any non-standard executables so the names do not conflict with + standard executables, which must also be provided, and provide a separate + manual page for each non-standard executable that clearly documents how it + differs from the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + +4. You may distribute the programs of this Package in object code or executable +form, provided that you do at least ONE of the following: + + a) distribute a Standard Version of the executables and library files, + together with instructions (in the manual page or equivalent) on where to + get the Standard Version. + + b) accompany the distribution with the machine-readable source of the Package + with your modifications. + + c) accompany any non-standard executables with their corresponding Standard + Version executables, giving the non-standard executables non-standard + names, and clearly documenting the differences in manual pages (or + equivalent), together with instructions on where to get the Standard + Version. + + d) make other distribution arrangements with the Copyright Holder. + +5. You may charge a reasonable copying fee for any distribution of this +Package. You may charge any fee you choose for support of this Package. You +may not charge a fee for this Package itself. However, you may distribute this +Package in aggregate with other (possibly commercial) programs as part of a +larger (possibly commercial) software distribution provided that you do not +advertise this Package as a product of your own. + +6. The scripts and library files supplied as input to or produced as output +from the programs of this Package do not automatically fall under the copyright +of this Package, but belong to whomever generated them, and may be sold +commercially, and may be aggregated with this Package. + +7. C or perl subroutines supplied by you and linked into this Package shall not +be considered part of this Package. + +8. The name of the Copyright Holder may not be used to endorse or promote +products derived from this software without specific prior written permission. + +9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF +MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +The End + diff -Nru libppi-xs-perl-0.902/Makefile.PL libppi-xs-perl-0.910/Makefile.PL --- libppi-xs-perl-0.902/Makefile.PL 2013-02-26 23:35:53.000000000 +0000 +++ libppi-xs-perl-0.910/Makefile.PL 2017-12-14 04:24:45.000000000 +0000 @@ -1,7 +1,57 @@ -use inc::Module::Install::DSL 0.86; +# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.010. +use strict; +use warnings; -all_from lib/PPI/XS.pm -requires PPI 1.000 -test_requires File::Spec 0.82 -test_requires Test::More 0.47 -ppport +use 5.006; + +use ExtUtils::MakeMaker; + +my %WriteMakefileArgs = ( + "ABSTRACT" => "(Minor) XS acceleration for PPI", + "AUTHOR" => "Adam Kennedy ", + "CONFIGURE_REQUIRES" => { + "ExtUtils::MakeMaker" => 0 + }, + "DISTNAME" => "PPI-XS", + "LICENSE" => "perl", + "MIN_PERL_VERSION" => "5.006", + "NAME" => "PPI::XS", + "PREREQ_PM" => { + "PPI" => "1.000", + "XSLoader" => 0, + "strict" => 0 + }, + "TEST_REQUIRES" => { + "ExtUtils::MakeMaker" => 0, + "File::Spec" => 0, + "Test::More" => 0, + "warnings" => 0 + }, + "VERSION" => "0.910", + "test" => { + "TESTS" => "t/*.t" + } +); + + +my %FallbackPrereqs = ( + "ExtUtils::MakeMaker" => 0, + "File::Spec" => 0, + "PPI" => "1.000", + "Test::More" => 0, + "XSLoader" => 0, + "strict" => 0, + "warnings" => 0 +); + + +unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) { + delete $WriteMakefileArgs{TEST_REQUIRES}; + delete $WriteMakefileArgs{BUILD_REQUIRES}; + $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs; +} + +delete $WriteMakefileArgs{CONFIGURE_REQUIRES} + unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; + +WriteMakefile(%WriteMakefileArgs); diff -Nru libppi-xs-perl-0.902/MANIFEST libppi-xs-perl-0.910/MANIFEST --- libppi-xs-perl-0.902/MANIFEST 2013-02-26 23:49:02.000000000 +0000 +++ libppi-xs-perl-0.910/MANIFEST 2017-12-14 04:24:45.000000000 +0000 @@ -1,19 +1,31 @@ +# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.010. +CONTRIBUTING Changes -inc/Module/Install.pm -inc/Module/Install/Base.pm -inc/Module/Install/Can.pm -inc/Module/Install/Compiler.pm -inc/Module/Install/DSL.pm -inc/Module/Install/Fetch.pm -inc/Module/Install/Makefile.pm -inc/Module/Install/Metadata.pm -inc/Module/Install/Win32.pm -inc/Module/Install/WriteAll.pm -lib/PPI/XS.pm -Makefile.PL -MANIFEST This list of files +INSTALL +LICENSE +MANIFEST +META.json META.yml +Makefile.PL +README +XS.xs +dist.ini +lib/PPI/XS.pm ppport.h +t/00-report-prereqs.dd +t/00-report-prereqs.t t/01_compile.t t/02_autoload.t -XS.xs +xt/author/00-compile.t +xt/author/clean-namespaces.t +xt/author/kwalitee.t +xt/author/mojibake.t +xt/author/pod-coverage.t +xt/author/pod-no404s.t +xt/author/pod-spell.t +xt/author/pod-syntax.t +xt/author/portability.t +xt/release/changes_has_content.t +xt/release/cpan-changes.t +xt/release/distmeta.t +xt/release/minimum-version.t diff -Nru libppi-xs-perl-0.902/META.json libppi-xs-perl-0.910/META.json --- libppi-xs-perl-0.902/META.json 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/META.json 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,1043 @@ +{ + "abstract" : "(Minor) XS acceleration for PPI", + "author" : [ + "Adam Kennedy " + ], + "dynamic_config" : 0, + "generated_by" : "Dist::Zilla version 6.010, CPAN::Meta::Converter version 2.150010", + "license" : [ + "perl_5" + ], + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : 2 + }, + "name" : "PPI-XS", + "no_index" : { + "directory" : [ + "t", + "xt" + ] + }, + "prereqs" : { + "configure" : { + "requires" : { + "ExtUtils::MakeMaker" : "0", + "perl" : "5.006" + } + }, + "develop" : { + "recommends" : { + "Dist::Zilla::PluginBundle::Author::ETHER" : "0.132" + }, + "requires" : { + "Devel::PPPort" : "3.23", + "Encode" : "0", + "File::Spec" : "0", + "IO::Handle" : "0", + "IPC::Open3" : "0", + "Pod::Coverage::TrustPod" : "0", + "Pod::Wordlist" : "0", + "Test::CPAN::Changes" : "0.19", + "Test::CPAN::Meta" : "0", + "Test::CleanNamespaces" : "0.15", + "Test::Kwalitee" : "1.21", + "Test::MinimumVersion" : "0", + "Test::Mojibake" : "0", + "Test::More" : "0.96", + "Test::Pod" : "1.41", + "Test::Pod::Coverage" : "1.08", + "Test::Pod::No404s" : "0", + "Test::Portability::Files" : "0", + "Test::Spelling" : "0.12", + "perl" : "5.006", + "warnings" : "0" + }, + "suggests" : { + "Dist::Zilla" : "5", + "Dist::Zilla::Plugin::Authority" : "1.009", + "Dist::Zilla::Plugin::AutoMetaResources" : "0", + "Dist::Zilla::Plugin::AutoPrereqs" : "5.038", + "Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional" : "0.004", + "Dist::Zilla::Plugin::CheckIssues" : "0", + "Dist::Zilla::Plugin::CheckMetaResources" : "0", + "Dist::Zilla::Plugin::CheckPrereqsIndexed" : "0.019", + "Dist::Zilla::Plugin::CheckSelfDependency" : "0", + "Dist::Zilla::Plugin::CheckStrictVersion" : "0", + "Dist::Zilla::Plugin::ConfirmRelease" : "0", + "Dist::Zilla::Plugin::CopyFilesFromRelease" : "0", + "Dist::Zilla::Plugin::EnsureLatestPerl" : "0", + "Dist::Zilla::Plugin::FileFinder::ByName" : "0", + "Dist::Zilla::Plugin::GenerateFile::FromShareDir" : "0", + "Dist::Zilla::Plugin::Git::Check" : "0", + "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch" : "0.004", + "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts" : "0", + "Dist::Zilla::Plugin::Git::Commit" : "2.020", + "Dist::Zilla::Plugin::Git::Contributors" : "0.029", + "Dist::Zilla::Plugin::Git::Describe" : "0.004", + "Dist::Zilla::Plugin::Git::GatherDir" : "2.016", + "Dist::Zilla::Plugin::Git::Push" : "0", + "Dist::Zilla::Plugin::Git::Remote::Check" : "0", + "Dist::Zilla::Plugin::Git::Tag" : "0", + "Dist::Zilla::Plugin::GitHub::Update" : "0.40", + "Dist::Zilla::Plugin::GithubMeta" : "0.54", + "Dist::Zilla::Plugin::InstallGuide" : "1.200005", + "Dist::Zilla::Plugin::Keywords" : "0.004", + "Dist::Zilla::Plugin::License" : "5.038", + "Dist::Zilla::Plugin::MakeMaker" : "0", + "Dist::Zilla::Plugin::Manifest" : "0", + "Dist::Zilla::Plugin::MetaConfig" : "0", + "Dist::Zilla::Plugin::MetaJSON" : "0", + "Dist::Zilla::Plugin::MetaNoIndex" : "0", + "Dist::Zilla::Plugin::MetaProvides::Package" : "1.15000002", + "Dist::Zilla::Plugin::MetaTests" : "0", + "Dist::Zilla::Plugin::MetaYAML" : "0", + "Dist::Zilla::Plugin::MinimumPerl" : "1.006", + "Dist::Zilla::Plugin::MojibakeTests" : "0.8", + "Dist::Zilla::Plugin::NextRelease" : "5.033", + "Dist::Zilla::Plugin::PPPort" : "0", + "Dist::Zilla::Plugin::PodCoverageTests" : "5.040", + "Dist::Zilla::Plugin::PodSyntaxTests" : "5.040", + "Dist::Zilla::Plugin::PodVersion" : "0", + "Dist::Zilla::Plugin::Prereqs" : "0", + "Dist::Zilla::Plugin::Prereqs::AuthorDeps" : "0.006", + "Dist::Zilla::Plugin::PromptIfStale" : "0", + "Dist::Zilla::Plugin::Readme" : "0", + "Dist::Zilla::Plugin::ReadmeAnyFromPod" : "0.142180", + "Dist::Zilla::Plugin::RewriteVersion::Transitional" : "0.004", + "Dist::Zilla::Plugin::Run::AfterBuild" : "0.041", + "Dist::Zilla::Plugin::Run::AfterRelease" : "0.038", + "Dist::Zilla::Plugin::RunExtraTests" : "0.024", + "Dist::Zilla::Plugin::StaticInstall" : "0.005", + "Dist::Zilla::Plugin::Test::CPAN::Changes" : "0.012", + "Dist::Zilla::Plugin::Test::ChangesHasContent" : "0", + "Dist::Zilla::Plugin::Test::CleanNamespaces" : "0.006", + "Dist::Zilla::Plugin::Test::Compile" : "2.039", + "Dist::Zilla::Plugin::Test::Kwalitee" : "2.10", + "Dist::Zilla::Plugin::Test::MinimumVersion" : "2.000003", + "Dist::Zilla::Plugin::Test::Pod::No404s" : "1.003", + "Dist::Zilla::Plugin::Test::PodSpelling" : "2.006003", + "Dist::Zilla::Plugin::Test::Portability" : "2.000007", + "Dist::Zilla::Plugin::Test::ReportPrereqs" : "0.022", + "Dist::Zilla::Plugin::TestRelease" : "0", + "Dist::Zilla::Plugin::UploadToCPAN" : "0", + "Dist::Zilla::Plugin::UseUnsafeInc" : "0", + "Dist::Zilla::PluginBundle::Author::ETHER" : "0.119", + "Dist::Zilla::PluginBundle::Git::VersionManager" : "0", + "Software::License::Perl_5" : "0" + } + }, + "runtime" : { + "requires" : { + "PPI" : "1.000", + "XSLoader" : "0", + "perl" : "5.006", + "strict" : "0" + } + }, + "test" : { + "recommends" : { + "CPAN::Meta" : "2.120900" + }, + "requires" : { + "ExtUtils::MakeMaker" : "0", + "File::Spec" : "0", + "Test::More" : "0", + "perl" : "5.006", + "warnings" : "0" + } + } + }, + "provides" : { + "PPI::XS" : { + "file" : "lib/PPI/XS.pm", + "version" : "0.910" + } + }, + "release_status" : "stable", + "resources" : { + "bugtracker" : { + "mailto" : "bug-PPI-XS@rt.cpan.org", + "web" : "https://rt.cpan.org/Public/Dist/Display.html?Name=PPI-XS" + }, + "homepage" : "https://github.com/karenetheridge/PPI-XS", + "repository" : { + "type" : "git", + "url" : "https://github.com/karenetheridge/PPI-XS.git", + "web" : "https://github.com/karenetheridge/PPI-XS" + } + }, + "version" : "0.910", + "x_Dist_Zilla" : { + "perl" : { + "version" : "5.027006" + }, + "plugins" : [ + { + "class" : "Dist::Zilla::Plugin::PromptIfStale", + "config" : { + "Dist::Zilla::Plugin::PromptIfStale" : { + "check_all_plugins" : 0, + "check_all_prereqs" : 0, + "modules" : [ + "Dist::Zilla::PluginBundle::Author::ETHER" + ], + "phase" : "build", + "run_under_travis" : 0, + "skip" : [] + } + }, + "name" : "@Author::ETHER/stale modules, build", + "version" : "0.054" + }, + { + "class" : "Dist::Zilla::Plugin::PromptIfStale", + "config" : { + "Dist::Zilla::Plugin::PromptIfStale" : { + "check_all_plugins" : 1, + "check_all_prereqs" : 1, + "modules" : [], + "phase" : "release", + "run_under_travis" : 0, + "skip" : [] + } + }, + "name" : "@Author::ETHER/stale modules, release", + "version" : "0.054" + }, + { + "class" : "Dist::Zilla::Plugin::FileFinder::ByName", + "name" : "@Author::ETHER/Examples", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::Git::GatherDir", + "config" : { + "Dist::Zilla::Plugin::GatherDir" : { + "exclude_filename" : [ + "Makefile.PL" + ], + "exclude_match" : [], + "follow_symlinks" : 0, + "include_dotfiles" : 0, + "prefix" : "", + "prune_directory" : [], + "root" : "." + }, + "Dist::Zilla::Plugin::Git::GatherDir" : { + "include_untracked" : 0 + } + }, + "name" : "@Author::ETHER/Git::GatherDir", + "version" : "2.043" + }, + { + "class" : "Dist::Zilla::Plugin::MetaYAML", + "name" : "@Author::ETHER/MetaYAML", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::MetaJSON", + "name" : "@Author::ETHER/MetaJSON", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::Readme", + "name" : "@Author::ETHER/Readme", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::Manifest", + "name" : "@Author::ETHER/Manifest", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::License", + "name" : "@Author::ETHER/License", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::GenerateFile::FromShareDir", + "config" : { + "Dist::Zilla::Plugin::GenerateFile::FromShareDir" : { + "destination_filename" : "CONTRIBUTING", + "dist" : "Dist-Zilla-PluginBundle-Author-ETHER", + "encoding" : "UTF-8", + "has_xs" : 1, + "location" : "build", + "source_filename" : "CONTRIBUTING" + }, + "Dist::Zilla::Role::RepoFileInjector" : { + "allow_overwrite" : 1, + "repo_root" : ".", + "version" : "0.007" + } + }, + "name" : "@Author::ETHER/generate CONTRIBUTING", + "version" : "0.013" + }, + { + "class" : "Dist::Zilla::Plugin::InstallGuide", + "name" : "@Author::ETHER/InstallGuide", + "version" : "1.200007" + }, + { + "class" : "Dist::Zilla::Plugin::Test::Compile", + "config" : { + "Dist::Zilla::Plugin::Test::Compile" : { + "bail_out_on_fail" : 1, + "fail_on_warning" : "author", + "fake_home" : 0, + "filename" : "xt/author/00-compile.t", + "module_finder" : [ + ":InstallModules" + ], + "needs_display" : 0, + "phase" : "develop", + "script_finder" : [ + ":PerlExecFiles", + "@Author::ETHER/Examples" + ], + "skips" : [], + "switch" : [] + } + }, + "name" : "@Author::ETHER/Test::Compile", + "version" : "2.057" + }, + { + "class" : "Dist::Zilla::Plugin::MetaTests", + "name" : "@Author::ETHER/MetaTests", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::Test::CPAN::Changes", + "config" : { + "Dist::Zilla::Plugin::Test::CPAN::Changes" : { + "changelog" : "Changes" + } + }, + "name" : "@Author::ETHER/Test::CPAN::Changes", + "version" : "0.012" + }, + { + "class" : "Dist::Zilla::Plugin::Test::ChangesHasContent", + "name" : "@Author::ETHER/Test::ChangesHasContent", + "version" : "0.011" + }, + { + "class" : "Dist::Zilla::Plugin::Test::MinimumVersion", + "name" : "@Author::ETHER/Test::MinimumVersion", + "version" : "2.000007" + }, + { + "class" : "Dist::Zilla::Plugin::PodSyntaxTests", + "name" : "@Author::ETHER/PodSyntaxTests", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::PodCoverageTests", + "name" : "@Author::ETHER/PodCoverageTests", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::Test::PodSpelling", + "config" : { + "Dist::Zilla::Plugin::Test::PodSpelling" : { + "directories" : [ + "examples", + "lib", + "script", + "t", + "xt" + ], + "spell_cmd" : "", + "stopwords" : [ + "irc" + ], + "wordlist" : "Pod::Wordlist" + } + }, + "name" : "@Author::ETHER/Test::PodSpelling", + "version" : "2.007004" + }, + { + "class" : "Dist::Zilla::Plugin::Test::Pod::No404s", + "name" : "@Author::ETHER/Test::Pod::No404s", + "version" : "1.004" + }, + { + "class" : "Dist::Zilla::Plugin::Test::Kwalitee", + "config" : { + "Dist::Zilla::Plugin::Test::Kwalitee" : { + "filename" : "xt/author/kwalitee.t", + "skiptest" : [] + } + }, + "name" : "@Author::ETHER/Test::Kwalitee", + "version" : "2.12" + }, + { + "class" : "Dist::Zilla::Plugin::MojibakeTests", + "name" : "@Author::ETHER/MojibakeTests", + "version" : "0.8" + }, + { + "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs", + "name" : "@Author::ETHER/Test::ReportPrereqs", + "version" : "0.027" + }, + { + "class" : "Dist::Zilla::Plugin::Test::Portability", + "config" : { + "Dist::Zilla::Plugin::Test::Portability" : { + "options" : "" + } + }, + "name" : "@Author::ETHER/Test::Portability", + "version" : "2.001000" + }, + { + "class" : "Dist::Zilla::Plugin::Test::CleanNamespaces", + "config" : { + "Dist::Zilla::Plugin::Test::CleanNamespaces" : { + "filename" : "xt/author/clean-namespaces.t", + "skips" : [] + } + }, + "name" : "@Author::ETHER/Test::CleanNamespaces", + "version" : "0.006" + }, + { + "class" : "Dist::Zilla::Plugin::Git::Describe", + "name" : "@Author::ETHER/Git::Describe", + "version" : "0.007" + }, + { + "class" : "Dist::Zilla::Plugin::GithubMeta", + "name" : "@Author::ETHER/GithubMeta", + "version" : "0.54" + }, + { + "class" : "Dist::Zilla::Plugin::AutoMetaResources", + "name" : "@Author::ETHER/AutoMetaResources", + "version" : "1.21" + }, + { + "class" : "Dist::Zilla::Plugin::Authority", + "name" : "@Author::ETHER/Authority", + "version" : "1.009" + }, + { + "class" : "Dist::Zilla::Plugin::MetaNoIndex", + "name" : "@Author::ETHER/MetaNoIndex", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::MetaProvides::Package", + "config" : { + "Dist::Zilla::Plugin::MetaProvides::Package" : { + "finder" : [ + ":InstallModules" + ], + "finder_objects" : [ + { + "class" : "Dist::Zilla::Plugin::FinderCode", + "name" : ":InstallModules", + "version" : "6.010" + } + ], + "include_underscores" : 0 + }, + "Dist::Zilla::Role::MetaProvider::Provider" : { + "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004", + "inherit_missing" : 0, + "inherit_version" : 0, + "meta_noindex" : 1 + }, + "Dist::Zilla::Role::ModuleMetadata" : { + "Module::Metadata" : "1.000033", + "version" : "0.004" + } + }, + "name" : "@Author::ETHER/MetaProvides::Package", + "version" : "2.004003" + }, + { + "class" : "Dist::Zilla::Plugin::MetaConfig", + "name" : "@Author::ETHER/MetaConfig", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::Keywords", + "config" : { + "Dist::Zilla::Plugin::Keywords" : { + "keywords" : [] + } + }, + "name" : "@Author::ETHER/Keywords", + "version" : "0.007" + }, + { + "class" : "Dist::Zilla::Plugin::UseUnsafeInc", + "config" : { + "Dist::Zilla::Plugin::UseUnsafeInc" : { + "dot_in_INC" : 0 + } + }, + "name" : "@Author::ETHER/UseUnsafeInc", + "version" : "0.001" + }, + { + "class" : "Dist::Zilla::Plugin::AutoPrereqs", + "name" : "@Author::ETHER/AutoPrereqs", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::Prereqs::AuthorDeps", + "name" : "@Author::ETHER/Prereqs::AuthorDeps", + "version" : "0.006" + }, + { + "class" : "Dist::Zilla::Plugin::MinimumPerl", + "name" : "@Author::ETHER/MinimumPerl", + "version" : "1.006" + }, + { + "class" : "Dist::Zilla::Plugin::Prereqs", + "config" : { + "Dist::Zilla::Plugin::Prereqs" : { + "phase" : "develop", + "type" : "recommends" + } + }, + "name" : "@Author::ETHER/pluginbundle_version", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::MakeMaker", + "config" : { + "Dist::Zilla::Role::TestRunner" : { + "default_jobs" : 9 + } + }, + "name" : "@Author::ETHER/MakeMaker", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::Git::Contributors", + "config" : { + "Dist::Zilla::Plugin::Git::Contributors" : { + "git_version" : "2.14.2", + "include_authors" : 0, + "include_releaser" : 1, + "order_by" : "commits", + "paths" : [] + } + }, + "name" : "@Author::ETHER/Git::Contributors", + "version" : "0.032" + }, + { + "class" : "Dist::Zilla::Plugin::StaticInstall", + "config" : { + "Dist::Zilla::Plugin::StaticInstall" : { + "dry_run" : 1, + "mode" : "auto" + } + }, + "name" : "@Author::ETHER/StaticInstall", + "version" : "0.011" + }, + { + "class" : "Dist::Zilla::Plugin::RunExtraTests", + "config" : { + "Dist::Zilla::Role::TestRunner" : { + "default_jobs" : 9 + } + }, + "name" : "@Author::ETHER/RunExtraTests", + "version" : "0.029" + }, + { + "class" : "Dist::Zilla::Plugin::CheckSelfDependency", + "config" : { + "Dist::Zilla::Plugin::CheckSelfDependency" : { + "finder" : [ + ":InstallModules" + ] + }, + "Dist::Zilla::Role::ModuleMetadata" : { + "Module::Metadata" : "1.000033", + "version" : "0.004" + } + }, + "name" : "@Author::ETHER/CheckSelfDependency", + "version" : "0.011" + }, + { + "class" : "Dist::Zilla::Plugin::Run::AfterBuild", + "config" : { + "Dist::Zilla::Plugin::Run::Role::Runner" : { + "fatal_errors" : 1, + "quiet" : 1, + "run" : [ + "bash -c \"test -e .ackrc && grep -q -- '--ignore-dir=.latest' .ackrc || echo '--ignore-dir=.latest' >> .ackrc; if [[ `dirname '%d'` != .build ]]; then test -e .ackrc && grep -q -- '--ignore-dir=%d' .ackrc || echo '--ignore-dir=%d' >> .ackrc; fi\"" + ], + "version" : "0.046" + } + }, + "name" : "@Author::ETHER/.ackrc", + "version" : "0.046" + }, + { + "class" : "Dist::Zilla::Plugin::Run::AfterBuild", + "config" : { + "Dist::Zilla::Plugin::Run::Role::Runner" : { + "eval" : [ + "if ('%d' =~ /^%n-[.[:xdigit:]]+$/) { unlink '.latest'; symlink '%d', '.latest'; }" + ], + "fatal_errors" : 0, + "quiet" : 1, + "version" : "0.046" + } + }, + "name" : "@Author::ETHER/.latest", + "version" : "0.046" + }, + { + "class" : "Dist::Zilla::Plugin::CheckStrictVersion", + "name" : "@Author::ETHER/CheckStrictVersion", + "version" : "0.001" + }, + { + "class" : "Dist::Zilla::Plugin::CheckMetaResources", + "name" : "@Author::ETHER/CheckMetaResources", + "version" : "0.001" + }, + { + "class" : "Dist::Zilla::Plugin::EnsureLatestPerl", + "config" : { + "Dist::Zilla::Plugin::EnsureLatestPerl" : { + "Module::CoreList" : "5.20171120" + } + }, + "name" : "@Author::ETHER/EnsureLatestPerl", + "version" : "0.006" + }, + { + "class" : "Dist::Zilla::Plugin::Git::Check", + "config" : { + "Dist::Zilla::Plugin::Git::Check" : { + "untracked_files" : "die" + }, + "Dist::Zilla::Role::Git::DirtyFiles" : { + "allow_dirty" : [], + "allow_dirty_match" : [], + "changelog" : "Changes" + }, + "Dist::Zilla::Role::Git::Repo" : { + "git_version" : "2.14.2", + "repo_root" : "." + } + }, + "name" : "@Author::ETHER/initial check", + "version" : "2.043" + }, + { + "class" : "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts", + "config" : { + "Dist::Zilla::Role::Git::Repo" : { + "git_version" : "2.14.2", + "repo_root" : "." + } + }, + "name" : "@Author::ETHER/Git::CheckFor::MergeConflicts", + "version" : "0.014" + }, + { + "class" : "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch", + "config" : { + "Dist::Zilla::Role::Git::Repo" : { + "git_version" : "2.14.2", + "repo_root" : "." + } + }, + "name" : "@Author::ETHER/Git::CheckFor::CorrectBranch", + "version" : "0.014" + }, + { + "class" : "Dist::Zilla::Plugin::Git::Remote::Check", + "name" : "@Author::ETHER/Git::Remote::Check", + "version" : "0.1.2" + }, + { + "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed", + "name" : "@Author::ETHER/CheckPrereqsIndexed", + "version" : "0.020" + }, + { + "class" : "Dist::Zilla::Plugin::TestRelease", + "name" : "@Author::ETHER/TestRelease", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::Git::Check", + "config" : { + "Dist::Zilla::Plugin::Git::Check" : { + "untracked_files" : "die" + }, + "Dist::Zilla::Role::Git::DirtyFiles" : { + "allow_dirty" : [], + "allow_dirty_match" : [], + "changelog" : "Changes" + }, + "Dist::Zilla::Role::Git::Repo" : { + "git_version" : "2.14.2", + "repo_root" : "." + } + }, + "name" : "@Author::ETHER/after tests", + "version" : "2.043" + }, + { + "class" : "Dist::Zilla::Plugin::CheckIssues", + "name" : "@Author::ETHER/CheckIssues", + "version" : "0.010" + }, + { + "class" : "Dist::Zilla::Plugin::UploadToCPAN", + "name" : "@Author::ETHER/UploadToCPAN", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::CopyFilesFromRelease", + "config" : { + "Dist::Zilla::Plugin::CopyFilesFromRelease" : { + "filename" : [ + "CONTRIBUTING", + "INSTALL", + "LICENCE", + "LICENSE", + "ppport.h" + ], + "match" : [] + } + }, + "name" : "@Author::ETHER/copy generated files", + "version" : "0.007" + }, + { + "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod", + "config" : { + "Dist::Zilla::Role::FileWatcher" : { + "version" : "0.006" + } + }, + "name" : "@Author::ETHER/ReadmeAnyFromPod", + "version" : "0.163250" + }, + { + "class" : "Dist::Zilla::Plugin::RewriteVersion::Transitional", + "config" : { + "Dist::Zilla::Plugin::RewriteVersion" : { + "add_tarball_name" : 0, + "finders" : [ + ":ExecFiles", + ":InstallModules" + ], + "global" : 1, + "skip_version_provider" : 0 + }, + "Dist::Zilla::Plugin::RewriteVersion::Transitional" : {} + }, + "name" : "@Author::ETHER/@Git::VersionManager/RewriteVersion::Transitional", + "version" : "0.008" + }, + { + "class" : "Dist::Zilla::Plugin::MetaProvides::Update", + "name" : "@Author::ETHER/@Git::VersionManager/MetaProvides::Update", + "version" : "0.003" + }, + { + "class" : "Dist::Zilla::Plugin::CopyFilesFromRelease", + "config" : { + "Dist::Zilla::Plugin::CopyFilesFromRelease" : { + "filename" : [ + "Changes" + ], + "match" : [] + } + }, + "name" : "@Author::ETHER/@Git::VersionManager/CopyFilesFromRelease", + "version" : "0.007" + }, + { + "class" : "Dist::Zilla::Plugin::Git::Commit", + "config" : { + "Dist::Zilla::Plugin::Git::Commit" : { + "add_files_in" : [ + "." + ], + "commit_msg" : "%N-%v%t%n%n%c" + }, + "Dist::Zilla::Role::Git::DirtyFiles" : { + "allow_dirty" : [ + "Changes" + ], + "allow_dirty_match" : [], + "changelog" : "Changes" + }, + "Dist::Zilla::Role::Git::Repo" : { + "git_version" : "2.14.2", + "repo_root" : "." + }, + "Dist::Zilla::Role::Git::StringFormatter" : { + "time_zone" : "local" + } + }, + "name" : "@Author::ETHER/@Git::VersionManager/release snapshot", + "version" : "2.043" + }, + { + "class" : "Dist::Zilla::Plugin::Git::Tag", + "config" : { + "Dist::Zilla::Plugin::Git::Tag" : { + "branch" : null, + "changelog" : "Changes", + "signed" : 0, + "tag" : "v0.910", + "tag_format" : "v%v", + "tag_message" : "v%v%t" + }, + "Dist::Zilla::Role::Git::Repo" : { + "git_version" : "2.14.2", + "repo_root" : "." + }, + "Dist::Zilla::Role::Git::StringFormatter" : { + "time_zone" : "local" + } + }, + "name" : "@Author::ETHER/@Git::VersionManager/Git::Tag", + "version" : "2.043" + }, + { + "class" : "Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional", + "config" : { + "Dist::Zilla::Plugin::BumpVersionAfterRelease" : { + "finders" : [ + ":ExecFiles", + ":InstallModules" + ], + "global" : 1, + "munge_makefile_pl" : 1 + }, + "Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional" : {} + }, + "name" : "@Author::ETHER/@Git::VersionManager/BumpVersionAfterRelease::Transitional", + "version" : "0.008" + }, + { + "class" : "Dist::Zilla::Plugin::NextRelease", + "name" : "@Author::ETHER/@Git::VersionManager/NextRelease", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::Git::Commit", + "config" : { + "Dist::Zilla::Plugin::Git::Commit" : { + "add_files_in" : [], + "commit_msg" : "increment $VERSION after %v release" + }, + "Dist::Zilla::Role::Git::DirtyFiles" : { + "allow_dirty" : [ + "Build.PL", + "Changes", + "Makefile.PL" + ], + "allow_dirty_match" : [ + "(?^:^lib/.*\\.pm$)" + ], + "changelog" : "Changes" + }, + "Dist::Zilla::Role::Git::Repo" : { + "git_version" : "2.14.2", + "repo_root" : "." + }, + "Dist::Zilla::Role::Git::StringFormatter" : { + "time_zone" : "local" + } + }, + "name" : "@Author::ETHER/@Git::VersionManager/post-release commit", + "version" : "2.043" + }, + { + "class" : "Dist::Zilla::Plugin::Prereqs", + "config" : { + "Dist::Zilla::Plugin::Prereqs" : { + "phase" : "develop", + "type" : "suggests" + } + }, + "name" : "@Author::ETHER/@Git::VersionManager/prereqs for @Git::VersionManager", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::Git::Push", + "config" : { + "Dist::Zilla::Plugin::Git::Push" : { + "push_to" : [ + "origin" + ], + "remotes_must_exist" : 1 + }, + "Dist::Zilla::Role::Git::Repo" : { + "git_version" : "2.14.2", + "repo_root" : "." + } + }, + "name" : "@Author::ETHER/Git::Push", + "version" : "2.043" + }, + { + "class" : "Dist::Zilla::Plugin::GitHub::Update", + "config" : { + "Dist::Zilla::Plugin::GitHub::Update" : { + "metacpan" : 1 + } + }, + "name" : "@Author::ETHER/GitHub::Update", + "version" : "0.44" + }, + { + "class" : "Dist::Zilla::Plugin::Run::AfterRelease", + "config" : { + "Dist::Zilla::Plugin::Run::Role::Runner" : { + "fatal_errors" : 0, + "quiet" : 0, + "run" : [ + "REDACTED" + ], + "version" : "0.046" + } + }, + "name" : "@Author::ETHER/install release", + "version" : "0.046" + }, + { + "class" : "Dist::Zilla::Plugin::Run::AfterRelease", + "config" : { + "Dist::Zilla::Plugin::Run::Role::Runner" : { + "eval" : [ + "print \"release complete!\\xa\"" + ], + "fatal_errors" : 1, + "quiet" : 1, + "version" : "0.046" + } + }, + "name" : "@Author::ETHER/release complete", + "version" : "0.046" + }, + { + "class" : "Dist::Zilla::Plugin::ConfirmRelease", + "name" : "@Author::ETHER/ConfirmRelease", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::Prereqs", + "config" : { + "Dist::Zilla::Plugin::Prereqs" : { + "phase" : "develop", + "type" : "suggests" + } + }, + "name" : "@Author::ETHER/prereqs for @Author::ETHER", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::PodVersion", + "name" : "PodVersion", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::PPPort", + "name" : "PPPort", + "version" : "0.008" + }, + { + "class" : "Dist::Zilla::Plugin::FinderCode", + "name" : ":InstallModules", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::FinderCode", + "name" : ":IncModules", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::FinderCode", + "name" : ":TestFiles", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::FinderCode", + "name" : ":ExtraTestFiles", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::FinderCode", + "name" : ":ExecFiles", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::FinderCode", + "name" : ":PerlExecFiles", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::FinderCode", + "name" : ":ShareFiles", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::FinderCode", + "name" : ":MainModule", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::FinderCode", + "name" : ":AllFiles", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::FinderCode", + "name" : ":NoFiles", + "version" : "6.010" + }, + { + "class" : "Dist::Zilla::Plugin::VerifyPhases", + "name" : "@Author::ETHER/PHASE VERIFICATION", + "version" : "0.016" + } + ], + "zilla" : { + "class" : "Dist::Zilla::Dist::Builder", + "config" : { + "is_trial" : 0 + }, + "version" : "6.010" + } + }, + "x_authority" : "cpan:ADAMK", + "x_contributors" : [ + "Adam Kennedy ", + "David Golden ", + "Karen Etheridge ", + "Chris Dolan ", + "David Golden " + ], + "x_serialization_backend" : "Cpanel::JSON::XS version 3.0239", + "x_use_unsafe_inc" : 0 +} + diff -Nru libppi-xs-perl-0.902/META.yml libppi-xs-perl-0.910/META.yml --- libppi-xs-perl-0.902/META.yml 2013-02-26 23:48:59.000000000 +0000 +++ libppi-xs-perl-0.910/META.yml 2017-12-14 04:24:45.000000000 +0000 @@ -3,27 +3,693 @@ author: - 'Adam Kennedy ' build_requires: - ExtUtils::MakeMaker: 6.36 - File::Spec: 0.82 - Test::More: 0.47 + ExtUtils::MakeMaker: '0' + File::Spec: '0' + Test::More: '0' + perl: '5.006' + warnings: '0' configure_requires: - ExtUtils::MakeMaker: 6.36 -distribution_type: module + ExtUtils::MakeMaker: '0' + perl: '5.006' dynamic_config: 0 -generated_by: 'Module::Install version 1.06' +generated_by: 'Dist::Zilla version 6.010, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 -module_name: PPI::XS + version: '1.4' name: PPI-XS no_index: directory: - - inc - t + - xt +provides: + PPI::XS: + file: lib/PPI/XS.pm + version: '0.910' requires: - PPI: 1.000 - perl: 5.005 + PPI: '1.000' + XSLoader: '0' + perl: '5.006' + strict: '0' resources: - license: http://dev.perl.org/licenses/ -version: 0.902 + bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=PPI-XS + homepage: https://github.com/karenetheridge/PPI-XS + repository: https://github.com/karenetheridge/PPI-XS.git +version: '0.910' +x_Dist_Zilla: + perl: + version: '5.027006' + plugins: + - + class: Dist::Zilla::Plugin::PromptIfStale + config: + Dist::Zilla::Plugin::PromptIfStale: + check_all_plugins: 0 + check_all_prereqs: 0 + modules: + - Dist::Zilla::PluginBundle::Author::ETHER + phase: build + run_under_travis: 0 + skip: [] + name: '@Author::ETHER/stale modules, build' + version: '0.054' + - + class: Dist::Zilla::Plugin::PromptIfStale + config: + Dist::Zilla::Plugin::PromptIfStale: + check_all_plugins: 1 + check_all_prereqs: 1 + modules: [] + phase: release + run_under_travis: 0 + skip: [] + name: '@Author::ETHER/stale modules, release' + version: '0.054' + - + class: Dist::Zilla::Plugin::FileFinder::ByName + name: '@Author::ETHER/Examples' + version: '6.010' + - + class: Dist::Zilla::Plugin::Git::GatherDir + config: + Dist::Zilla::Plugin::GatherDir: + exclude_filename: + - Makefile.PL + exclude_match: [] + follow_symlinks: 0 + include_dotfiles: 0 + prefix: '' + prune_directory: [] + root: . + Dist::Zilla::Plugin::Git::GatherDir: + include_untracked: 0 + name: '@Author::ETHER/Git::GatherDir' + version: '2.043' + - + class: Dist::Zilla::Plugin::MetaYAML + name: '@Author::ETHER/MetaYAML' + version: '6.010' + - + class: Dist::Zilla::Plugin::MetaJSON + name: '@Author::ETHER/MetaJSON' + version: '6.010' + - + class: Dist::Zilla::Plugin::Readme + name: '@Author::ETHER/Readme' + version: '6.010' + - + class: Dist::Zilla::Plugin::Manifest + name: '@Author::ETHER/Manifest' + version: '6.010' + - + class: Dist::Zilla::Plugin::License + name: '@Author::ETHER/License' + version: '6.010' + - + class: Dist::Zilla::Plugin::GenerateFile::FromShareDir + config: + Dist::Zilla::Plugin::GenerateFile::FromShareDir: + destination_filename: CONTRIBUTING + dist: Dist-Zilla-PluginBundle-Author-ETHER + encoding: UTF-8 + has_xs: 1 + location: build + source_filename: CONTRIBUTING + Dist::Zilla::Role::RepoFileInjector: + allow_overwrite: 1 + repo_root: . + version: '0.007' + name: '@Author::ETHER/generate CONTRIBUTING' + version: '0.013' + - + class: Dist::Zilla::Plugin::InstallGuide + name: '@Author::ETHER/InstallGuide' + version: '1.200007' + - + class: Dist::Zilla::Plugin::Test::Compile + config: + Dist::Zilla::Plugin::Test::Compile: + bail_out_on_fail: '1' + fail_on_warning: author + fake_home: 0 + filename: xt/author/00-compile.t + module_finder: + - ':InstallModules' + needs_display: 0 + phase: develop + script_finder: + - ':PerlExecFiles' + - '@Author::ETHER/Examples' + skips: [] + switch: [] + name: '@Author::ETHER/Test::Compile' + version: '2.057' + - + class: Dist::Zilla::Plugin::MetaTests + name: '@Author::ETHER/MetaTests' + version: '6.010' + - + class: Dist::Zilla::Plugin::Test::CPAN::Changes + config: + Dist::Zilla::Plugin::Test::CPAN::Changes: + changelog: Changes + name: '@Author::ETHER/Test::CPAN::Changes' + version: '0.012' + - + class: Dist::Zilla::Plugin::Test::ChangesHasContent + name: '@Author::ETHER/Test::ChangesHasContent' + version: '0.011' + - + class: Dist::Zilla::Plugin::Test::MinimumVersion + name: '@Author::ETHER/Test::MinimumVersion' + version: '2.000007' + - + class: Dist::Zilla::Plugin::PodSyntaxTests + name: '@Author::ETHER/PodSyntaxTests' + version: '6.010' + - + class: Dist::Zilla::Plugin::PodCoverageTests + name: '@Author::ETHER/PodCoverageTests' + version: '6.010' + - + class: Dist::Zilla::Plugin::Test::PodSpelling + config: + Dist::Zilla::Plugin::Test::PodSpelling: + directories: + - examples + - lib + - script + - t + - xt + spell_cmd: '' + stopwords: + - irc + wordlist: Pod::Wordlist + name: '@Author::ETHER/Test::PodSpelling' + version: '2.007004' + - + class: Dist::Zilla::Plugin::Test::Pod::No404s + name: '@Author::ETHER/Test::Pod::No404s' + version: '1.004' + - + class: Dist::Zilla::Plugin::Test::Kwalitee + config: + Dist::Zilla::Plugin::Test::Kwalitee: + filename: xt/author/kwalitee.t + skiptest: [] + name: '@Author::ETHER/Test::Kwalitee' + version: '2.12' + - + class: Dist::Zilla::Plugin::MojibakeTests + name: '@Author::ETHER/MojibakeTests' + version: '0.8' + - + class: Dist::Zilla::Plugin::Test::ReportPrereqs + name: '@Author::ETHER/Test::ReportPrereqs' + version: '0.027' + - + class: Dist::Zilla::Plugin::Test::Portability + config: + Dist::Zilla::Plugin::Test::Portability: + options: '' + name: '@Author::ETHER/Test::Portability' + version: '2.001000' + - + class: Dist::Zilla::Plugin::Test::CleanNamespaces + config: + Dist::Zilla::Plugin::Test::CleanNamespaces: + filename: xt/author/clean-namespaces.t + skips: [] + name: '@Author::ETHER/Test::CleanNamespaces' + version: '0.006' + - + class: Dist::Zilla::Plugin::Git::Describe + name: '@Author::ETHER/Git::Describe' + version: '0.007' + - + class: Dist::Zilla::Plugin::GithubMeta + name: '@Author::ETHER/GithubMeta' + version: '0.54' + - + class: Dist::Zilla::Plugin::AutoMetaResources + name: '@Author::ETHER/AutoMetaResources' + version: '1.21' + - + class: Dist::Zilla::Plugin::Authority + name: '@Author::ETHER/Authority' + version: '1.009' + - + class: Dist::Zilla::Plugin::MetaNoIndex + name: '@Author::ETHER/MetaNoIndex' + version: '6.010' + - + class: Dist::Zilla::Plugin::MetaProvides::Package + config: + Dist::Zilla::Plugin::MetaProvides::Package: + finder: + - ':InstallModules' + finder_objects: + - + class: Dist::Zilla::Plugin::FinderCode + name: ':InstallModules' + version: '6.010' + include_underscores: 0 + Dist::Zilla::Role::MetaProvider::Provider: + $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002004' + inherit_missing: '0' + inherit_version: '0' + meta_noindex: '1' + Dist::Zilla::Role::ModuleMetadata: + Module::Metadata: '1.000033' + version: '0.004' + name: '@Author::ETHER/MetaProvides::Package' + version: '2.004003' + - + class: Dist::Zilla::Plugin::MetaConfig + name: '@Author::ETHER/MetaConfig' + version: '6.010' + - + class: Dist::Zilla::Plugin::Keywords + config: + Dist::Zilla::Plugin::Keywords: + keywords: [] + name: '@Author::ETHER/Keywords' + version: '0.007' + - + class: Dist::Zilla::Plugin::UseUnsafeInc + config: + Dist::Zilla::Plugin::UseUnsafeInc: + dot_in_INC: 0 + name: '@Author::ETHER/UseUnsafeInc' + version: '0.001' + - + class: Dist::Zilla::Plugin::AutoPrereqs + name: '@Author::ETHER/AutoPrereqs' + version: '6.010' + - + class: Dist::Zilla::Plugin::Prereqs::AuthorDeps + name: '@Author::ETHER/Prereqs::AuthorDeps' + version: '0.006' + - + class: Dist::Zilla::Plugin::MinimumPerl + name: '@Author::ETHER/MinimumPerl' + version: '1.006' + - + class: Dist::Zilla::Plugin::Prereqs + config: + Dist::Zilla::Plugin::Prereqs: + phase: develop + type: recommends + name: '@Author::ETHER/pluginbundle_version' + version: '6.010' + - + class: Dist::Zilla::Plugin::MakeMaker + config: + Dist::Zilla::Role::TestRunner: + default_jobs: 9 + name: '@Author::ETHER/MakeMaker' + version: '6.010' + - + class: Dist::Zilla::Plugin::Git::Contributors + config: + Dist::Zilla::Plugin::Git::Contributors: + git_version: 2.14.2 + include_authors: 0 + include_releaser: 1 + order_by: commits + paths: [] + name: '@Author::ETHER/Git::Contributors' + version: '0.032' + - + class: Dist::Zilla::Plugin::StaticInstall + config: + Dist::Zilla::Plugin::StaticInstall: + dry_run: 1 + mode: auto + name: '@Author::ETHER/StaticInstall' + version: '0.011' + - + class: Dist::Zilla::Plugin::RunExtraTests + config: + Dist::Zilla::Role::TestRunner: + default_jobs: 9 + name: '@Author::ETHER/RunExtraTests' + version: '0.029' + - + class: Dist::Zilla::Plugin::CheckSelfDependency + config: + Dist::Zilla::Plugin::CheckSelfDependency: + finder: + - ':InstallModules' + Dist::Zilla::Role::ModuleMetadata: + Module::Metadata: '1.000033' + version: '0.004' + name: '@Author::ETHER/CheckSelfDependency' + version: '0.011' + - + class: Dist::Zilla::Plugin::Run::AfterBuild + config: + Dist::Zilla::Plugin::Run::Role::Runner: + fatal_errors: 1 + quiet: 1 + run: + - "bash -c \"test -e .ackrc && grep -q -- '--ignore-dir=.latest' .ackrc || echo '--ignore-dir=.latest' >> .ackrc; if [[ `dirname '%d'` != .build ]]; then test -e .ackrc && grep -q -- '--ignore-dir=%d' .ackrc || echo '--ignore-dir=%d' >> .ackrc; fi\"" + version: '0.046' + name: '@Author::ETHER/.ackrc' + version: '0.046' + - + class: Dist::Zilla::Plugin::Run::AfterBuild + config: + Dist::Zilla::Plugin::Run::Role::Runner: + eval: + - "if ('%d' =~ /^%n-[.[:xdigit:]]+$/) { unlink '.latest'; symlink '%d', '.latest'; }" + fatal_errors: 0 + quiet: 1 + version: '0.046' + name: '@Author::ETHER/.latest' + version: '0.046' + - + class: Dist::Zilla::Plugin::CheckStrictVersion + name: '@Author::ETHER/CheckStrictVersion' + version: '0.001' + - + class: Dist::Zilla::Plugin::CheckMetaResources + name: '@Author::ETHER/CheckMetaResources' + version: '0.001' + - + class: Dist::Zilla::Plugin::EnsureLatestPerl + config: + Dist::Zilla::Plugin::EnsureLatestPerl: + Module::CoreList: '5.20171120' + name: '@Author::ETHER/EnsureLatestPerl' + version: '0.006' + - + class: Dist::Zilla::Plugin::Git::Check + config: + Dist::Zilla::Plugin::Git::Check: + untracked_files: die + Dist::Zilla::Role::Git::DirtyFiles: + allow_dirty: [] + allow_dirty_match: [] + changelog: Changes + Dist::Zilla::Role::Git::Repo: + git_version: 2.14.2 + repo_root: . + name: '@Author::ETHER/initial check' + version: '2.043' + - + class: Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts + config: + Dist::Zilla::Role::Git::Repo: + git_version: 2.14.2 + repo_root: . + name: '@Author::ETHER/Git::CheckFor::MergeConflicts' + version: '0.014' + - + class: Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch + config: + Dist::Zilla::Role::Git::Repo: + git_version: 2.14.2 + repo_root: . + name: '@Author::ETHER/Git::CheckFor::CorrectBranch' + version: '0.014' + - + class: Dist::Zilla::Plugin::Git::Remote::Check + name: '@Author::ETHER/Git::Remote::Check' + version: 0.1.2 + - + class: Dist::Zilla::Plugin::CheckPrereqsIndexed + name: '@Author::ETHER/CheckPrereqsIndexed' + version: '0.020' + - + class: Dist::Zilla::Plugin::TestRelease + name: '@Author::ETHER/TestRelease' + version: '6.010' + - + class: Dist::Zilla::Plugin::Git::Check + config: + Dist::Zilla::Plugin::Git::Check: + untracked_files: die + Dist::Zilla::Role::Git::DirtyFiles: + allow_dirty: [] + allow_dirty_match: [] + changelog: Changes + Dist::Zilla::Role::Git::Repo: + git_version: 2.14.2 + repo_root: . + name: '@Author::ETHER/after tests' + version: '2.043' + - + class: Dist::Zilla::Plugin::CheckIssues + name: '@Author::ETHER/CheckIssues' + version: '0.010' + - + class: Dist::Zilla::Plugin::UploadToCPAN + name: '@Author::ETHER/UploadToCPAN' + version: '6.010' + - + class: Dist::Zilla::Plugin::CopyFilesFromRelease + config: + Dist::Zilla::Plugin::CopyFilesFromRelease: + filename: + - CONTRIBUTING + - INSTALL + - LICENCE + - LICENSE + - ppport.h + match: [] + name: '@Author::ETHER/copy generated files' + version: '0.007' + - + class: Dist::Zilla::Plugin::ReadmeAnyFromPod + config: + Dist::Zilla::Role::FileWatcher: + version: '0.006' + name: '@Author::ETHER/ReadmeAnyFromPod' + version: '0.163250' + - + class: Dist::Zilla::Plugin::RewriteVersion::Transitional + config: + Dist::Zilla::Plugin::RewriteVersion: + add_tarball_name: 0 + finders: + - ':ExecFiles' + - ':InstallModules' + global: 1 + skip_version_provider: 0 + Dist::Zilla::Plugin::RewriteVersion::Transitional: {} + name: '@Author::ETHER/@Git::VersionManager/RewriteVersion::Transitional' + version: '0.008' + - + class: Dist::Zilla::Plugin::MetaProvides::Update + name: '@Author::ETHER/@Git::VersionManager/MetaProvides::Update' + version: '0.003' + - + class: Dist::Zilla::Plugin::CopyFilesFromRelease + config: + Dist::Zilla::Plugin::CopyFilesFromRelease: + filename: + - Changes + match: [] + name: '@Author::ETHER/@Git::VersionManager/CopyFilesFromRelease' + version: '0.007' + - + class: Dist::Zilla::Plugin::Git::Commit + config: + Dist::Zilla::Plugin::Git::Commit: + add_files_in: + - . + commit_msg: '%N-%v%t%n%n%c' + Dist::Zilla::Role::Git::DirtyFiles: + allow_dirty: + - Changes + allow_dirty_match: [] + changelog: Changes + Dist::Zilla::Role::Git::Repo: + git_version: 2.14.2 + repo_root: . + Dist::Zilla::Role::Git::StringFormatter: + time_zone: local + name: '@Author::ETHER/@Git::VersionManager/release snapshot' + version: '2.043' + - + class: Dist::Zilla::Plugin::Git::Tag + config: + Dist::Zilla::Plugin::Git::Tag: + branch: ~ + changelog: Changes + signed: 0 + tag: v0.910 + tag_format: v%v + tag_message: v%v%t + Dist::Zilla::Role::Git::Repo: + git_version: 2.14.2 + repo_root: . + Dist::Zilla::Role::Git::StringFormatter: + time_zone: local + name: '@Author::ETHER/@Git::VersionManager/Git::Tag' + version: '2.043' + - + class: Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional + config: + Dist::Zilla::Plugin::BumpVersionAfterRelease: + finders: + - ':ExecFiles' + - ':InstallModules' + global: 1 + munge_makefile_pl: 1 + Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional: {} + name: '@Author::ETHER/@Git::VersionManager/BumpVersionAfterRelease::Transitional' + version: '0.008' + - + class: Dist::Zilla::Plugin::NextRelease + name: '@Author::ETHER/@Git::VersionManager/NextRelease' + version: '6.010' + - + class: Dist::Zilla::Plugin::Git::Commit + config: + Dist::Zilla::Plugin::Git::Commit: + add_files_in: [] + commit_msg: 'increment $VERSION after %v release' + Dist::Zilla::Role::Git::DirtyFiles: + allow_dirty: + - Build.PL + - Changes + - Makefile.PL + allow_dirty_match: + - (?^:^lib/.*\.pm$) + changelog: Changes + Dist::Zilla::Role::Git::Repo: + git_version: 2.14.2 + repo_root: . + Dist::Zilla::Role::Git::StringFormatter: + time_zone: local + name: '@Author::ETHER/@Git::VersionManager/post-release commit' + version: '2.043' + - + class: Dist::Zilla::Plugin::Prereqs + config: + Dist::Zilla::Plugin::Prereqs: + phase: develop + type: suggests + name: '@Author::ETHER/@Git::VersionManager/prereqs for @Git::VersionManager' + version: '6.010' + - + class: Dist::Zilla::Plugin::Git::Push + config: + Dist::Zilla::Plugin::Git::Push: + push_to: + - origin + remotes_must_exist: 1 + Dist::Zilla::Role::Git::Repo: + git_version: 2.14.2 + repo_root: . + name: '@Author::ETHER/Git::Push' + version: '2.043' + - + class: Dist::Zilla::Plugin::GitHub::Update + config: + Dist::Zilla::Plugin::GitHub::Update: + metacpan: 1 + name: '@Author::ETHER/GitHub::Update' + version: '0.44' + - + class: Dist::Zilla::Plugin::Run::AfterRelease + config: + Dist::Zilla::Plugin::Run::Role::Runner: + fatal_errors: 0 + quiet: 0 + run: + - REDACTED + version: '0.046' + name: '@Author::ETHER/install release' + version: '0.046' + - + class: Dist::Zilla::Plugin::Run::AfterRelease + config: + Dist::Zilla::Plugin::Run::Role::Runner: + eval: + - 'print "release complete!\xa"' + fatal_errors: 1 + quiet: 1 + version: '0.046' + name: '@Author::ETHER/release complete' + version: '0.046' + - + class: Dist::Zilla::Plugin::ConfirmRelease + name: '@Author::ETHER/ConfirmRelease' + version: '6.010' + - + class: Dist::Zilla::Plugin::Prereqs + config: + Dist::Zilla::Plugin::Prereqs: + phase: develop + type: suggests + name: '@Author::ETHER/prereqs for @Author::ETHER' + version: '6.010' + - + class: Dist::Zilla::Plugin::PodVersion + name: PodVersion + version: '6.010' + - + class: Dist::Zilla::Plugin::PPPort + name: PPPort + version: '0.008' + - + class: Dist::Zilla::Plugin::FinderCode + name: ':InstallModules' + version: '6.010' + - + class: Dist::Zilla::Plugin::FinderCode + name: ':IncModules' + version: '6.010' + - + class: Dist::Zilla::Plugin::FinderCode + name: ':TestFiles' + version: '6.010' + - + class: Dist::Zilla::Plugin::FinderCode + name: ':ExtraTestFiles' + version: '6.010' + - + class: Dist::Zilla::Plugin::FinderCode + name: ':ExecFiles' + version: '6.010' + - + class: Dist::Zilla::Plugin::FinderCode + name: ':PerlExecFiles' + version: '6.010' + - + class: Dist::Zilla::Plugin::FinderCode + name: ':ShareFiles' + version: '6.010' + - + class: Dist::Zilla::Plugin::FinderCode + name: ':MainModule' + version: '6.010' + - + class: Dist::Zilla::Plugin::FinderCode + name: ':AllFiles' + version: '6.010' + - + class: Dist::Zilla::Plugin::FinderCode + name: ':NoFiles' + version: '6.010' + - + class: Dist::Zilla::Plugin::VerifyPhases + name: '@Author::ETHER/PHASE VERIFICATION' + version: '0.016' + zilla: + class: Dist::Zilla::Dist::Builder + config: + is_trial: '0' + version: '6.010' +x_authority: cpan:ADAMK +x_contributors: + - 'Adam Kennedy ' + - 'David Golden ' + - 'Karen Etheridge ' + - 'Chris Dolan ' + - 'David Golden ' +x_serialization_backend: 'YAML::Tiny version 1.72' +x_use_unsafe_inc: 0 diff -Nru libppi-xs-perl-0.902/ppport.h libppi-xs-perl-0.910/ppport.h --- libppi-xs-perl-0.902/ppport.h 2013-02-26 23:48:59.000000000 +0000 +++ libppi-xs-perl-0.910/ppport.h 2017-12-14 04:24:45.000000000 +0000 @@ -4,9 +4,9 @@ /* ---------------------------------------------------------------------- - ppport.h -- Perl/Pollution/Portability Version 3.20 + ppport.h -- Perl/Pollution/Portability Version 3.36 - Automatically created by Devel::PPPort running under perl 5.016001. + Automatically created by Devel::PPPort running under perl 5.027006. Do NOT edit this file directly! -- Edit PPPort_pm.PL and the includes in parts/inc/ instead. @@ -21,7 +21,7 @@ =head1 NAME -ppport.h - Perl/Pollution/Portability version 3.20 +ppport.h - Perl/Pollution/Portability version 3.36 =head1 SYNOPSIS @@ -46,8 +46,8 @@ --nochanges don't suggest changes --nofilter don't filter input files - --strip strip all script and doc functionality from - ppport.h + --strip strip all script and doc functionality + from ppport.h --list-provided list provided API --list-unsupported list unsupported API @@ -56,7 +56,7 @@ =head1 COMPATIBILITY This version of F is designed to support operation with Perl -installations back to 5.003, and has been tested up to 5.11.5. +installations back to 5.003, and has been tested up to 5.20. =head1 OPTIONS @@ -79,7 +79,7 @@ If this option is given, a copy of each file will be saved with the given suffix that contains the suggested changes. This does not require any external programs. Note that this does not -automagially add a dot between the original filename and the +automagically add a dot between the original filename and the suffix. If you want the dot, you have to include it in the option argument. @@ -219,13 +219,17 @@ ----------------------------------------------------------------------------------------- PL_parser NEED_PL_parser NEED_PL_parser_GLOBAL PL_signals NEED_PL_signals NEED_PL_signals_GLOBAL + SvRX() NEED_SvRX NEED_SvRX_GLOBAL + caller_cx() NEED_caller_cx NEED_caller_cx_GLOBAL eval_pv() NEED_eval_pv NEED_eval_pv_GLOBAL grok_bin() NEED_grok_bin NEED_grok_bin_GLOBAL grok_hex() NEED_grok_hex NEED_grok_hex_GLOBAL grok_number() NEED_grok_number NEED_grok_number_GLOBAL grok_numeric_radix() NEED_grok_numeric_radix NEED_grok_numeric_radix_GLOBAL grok_oct() NEED_grok_oct NEED_grok_oct_GLOBAL + gv_fetchpvn_flags() NEED_gv_fetchpvn_flags NEED_gv_fetchpvn_flags_GLOBAL load_module() NEED_load_module NEED_load_module_GLOBAL + mg_findext() NEED_mg_findext NEED_mg_findext_GLOBAL my_snprintf() NEED_my_snprintf NEED_my_snprintf_GLOBAL my_sprintf() NEED_my_sprintf NEED_my_sprintf_GLOBAL my_strlcat() NEED_my_strlcat NEED_my_strlcat_GLOBAL @@ -245,6 +249,7 @@ sv_pvn_force_flags() NEED_sv_pvn_force_flags NEED_sv_pvn_force_flags_GLOBAL sv_setpvf_mg() NEED_sv_setpvf_mg NEED_sv_setpvf_mg_GLOBAL sv_setpvf_mg_nocontext() NEED_sv_setpvf_mg_nocontext NEED_sv_setpvf_mg_nocontext_GLOBAL + sv_unmagicext() NEED_sv_unmagicext NEED_sv_unmagicext_GLOBAL vload_module() NEED_vload_module NEED_vload_module_GLOBAL vnewSVpvf() NEED_vnewSVpvf NEED_vnewSVpvf_GLOBAL warner() NEED_warner NEED_warner_GLOBAL @@ -325,7 +330,7 @@ If F was generated using the latest version of C and is causing failure of this module, please -file a bug report using the CPAN Request Tracker at L. +file a bug report here: L Please include the following information: @@ -358,7 +363,7 @@ =head1 COPYRIGHT -Version 3.x, Copyright (c) 2004-2010, Marcus Holland-Moritz. +Version 3.x, Copyright (c) 2004-2013, Marcus Holland-Moritz. Version 2.x, Copyright (C) 2001, Paul Marquess. @@ -378,7 +383,7 @@ # Disable broken TRIE-optimization BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if $] >= 5.009004 && $] <= 5.009005 } -my $VERSION = 3.20; +my $VERSION = 3.36; my %opt = ( quiet => 0, @@ -445,11 +450,12 @@ (index($4, 'n') >= 0 ? ( nothxarg => 1 ) : ()), } ) : die "invalid spec: $_" } qw( +ASCII_TO_NEED||5.007001|n AvFILLp|5.004050||p AvFILL||| -BhkDISABLE||5.014000| -BhkENABLE||5.014000| -BhkENTRY_set||5.014000| +BhkDISABLE||5.024000| +BhkENABLE||5.024000| +BhkENTRY_set||5.024000| BhkENTRY||| BhkFLAGS||| CALL_BLOCK_HOOKS||| @@ -457,6 +463,8 @@ CPERLscope|5.005000||p CX_CURPAD_SAVE||| CX_CURPAD_SV||| +C_ARRAY_END|5.013002||p +C_ARRAY_LENGTH|5.008001||p CopFILEAV|5.006000||p CopFILEGV_set|5.006000||p CopFILEGV|5.006000||p @@ -468,13 +476,15 @@ CopSTASH_eq|5.006000||p CopSTASH_set|5.006000||p CopSTASH|5.006000||p -CopyD|5.009002||p +CopyD|5.009002|5.004050|p Copy||| -CvPADLIST||| +CvPADLIST||5.008001| CvSTASH||| CvWEAKOUTSIDE||| +DECLARATION_FOR_LC_NUMERIC_MANIPULATION||5.021010|n DEFSV_set|5.010001||p DEFSV|5.004050||p +DO_UTF8||5.006000| END_EXTERN_C|5.005000||p ENTER||| ERRSV|5.004050||p @@ -493,21 +503,27 @@ G_SCALAR||| G_VOID||5.004000| GetVars||| -GvSVn|5.009003||p +GvAV||| +GvCV||| +GvHV||| GvSV||| Gv_AMupdate||5.011000| -HEf_SVKEY||5.004000| -HeHASH||5.004000| -HeKEY||5.004000| -HeKLEN||5.004000| +HEf_SVKEY|5.003070||p +HeHASH||5.003070| +HeKEY||5.003070| +HeKLEN||5.003070| HePV||5.004000| -HeSVKEY_force||5.004000| +HeSVKEY_force||5.003070| HeSVKEY_set||5.004000| -HeSVKEY||5.004000| -HeUTF8||5.010001| -HeVAL||5.004000| +HeSVKEY||5.003070| +HeUTF8|5.010001|5.008000|p +HeVAL||5.003070| +HvENAMELEN||5.015004| +HvENAMEUTF8||5.015004| HvENAME||5.013007| HvNAMELEN_get|5.009003||p +HvNAMELEN||5.015004| +HvNAMEUTF8||5.015004| HvNAME_get|5.009003||p HvNAME||| INT2PTR|5.006000||p @@ -528,12 +544,15 @@ LINKLIST||5.013006| LVRET||| MARK||| -MULTICALL||5.014000| +MULTICALL||5.024000| +MUTABLE_PTR|5.010001||p +MUTABLE_SV|5.010001||p MY_CXT_CLONE|5.009002||p MY_CXT_INIT|5.007003||p MY_CXT|5.007003||p -MoveD|5.009002||p +MoveD|5.009002|5.004050|p Move||| +NATIVE_TO_NEED||5.007001|n NOOP|5.005000||p NUM2PTR|5.006000||p NVTYPE|5.006000||p @@ -551,7 +570,14 @@ OP_CLASS||5.013007| OP_DESC||5.007003| OP_NAME||5.007003| +OP_TYPE_IS_OR_WAS||5.019010| +OP_TYPE_IS||5.019007| ORIGMARK||| +OpHAS_SIBLING|5.021007||p +OpLASTSIB_set|5.021011||p +OpMAYBESIB_set|5.021011||p +OpMORESIB_set|5.021011||p +OpSIBLING|5.021007||p PAD_BASE_SV||| PAD_CLONE_VARS||| PAD_COMPNAME_FLAGS||| @@ -560,7 +586,6 @@ PAD_COMPNAME_OURSTASH||| PAD_COMPNAME_PV||| PAD_COMPNAME_TYPE||| -PAD_DUP||| PAD_RESTORE_LOCAL||| PAD_SAVE_LOCAL||| PAD_SAVE_SETNULLPAD||| @@ -572,13 +597,13 @@ PERLIO_FUNCS_CAST|5.009003||p PERLIO_FUNCS_DECL|5.009003||p PERL_ABS|5.008001||p -PERL_BCDVERSION|5.014000||p +PERL_BCDVERSION|5.024000||p PERL_GCC_BRACE_GROUPS_FORBIDDEN|5.008001||p -PERL_HASH|5.004000||p -PERL_INT_MAX|5.004000||p -PERL_INT_MIN|5.004000||p -PERL_LONG_MAX|5.004000||p -PERL_LONG_MIN|5.004000||p +PERL_HASH|5.003070||p +PERL_INT_MAX|5.003070||p +PERL_INT_MIN|5.003070||p +PERL_LONG_MAX|5.003070||p +PERL_LONG_MIN|5.003070||p PERL_MAGIC_arylen|5.007002||p PERL_MAGIC_backref|5.007002||p PERL_MAGIC_bm|5.007002||p @@ -590,14 +615,14 @@ PERL_MAGIC_env|5.007002||p PERL_MAGIC_ext|5.007002||p PERL_MAGIC_fm|5.007002||p -PERL_MAGIC_glob|5.014000||p +PERL_MAGIC_glob|5.024000||p PERL_MAGIC_isaelem|5.007002||p PERL_MAGIC_isa|5.007002||p -PERL_MAGIC_mutex|5.014000||p +PERL_MAGIC_mutex|5.024000||p PERL_MAGIC_nkeys|5.007002||p -PERL_MAGIC_overload_elem|5.007002||p +PERL_MAGIC_overload_elem|5.024000||p PERL_MAGIC_overload_table|5.007002||p -PERL_MAGIC_overload|5.007002||p +PERL_MAGIC_overload|5.024000||p PERL_MAGIC_pos|5.007002||p PERL_MAGIC_qr|5.007002||p PERL_MAGIC_regdata|5.007002||p @@ -632,46 +657,51 @@ PERL_PV_PRETTY_NOCLEAR|5.010000||p PERL_PV_PRETTY_QUOTE|5.009004||p PERL_PV_PRETTY_REGPROP|5.009004||p -PERL_QUAD_MAX|5.004000||p -PERL_QUAD_MIN|5.004000||p +PERL_QUAD_MAX|5.003070||p +PERL_QUAD_MIN|5.003070||p PERL_REVISION|5.006000||p PERL_SCAN_ALLOW_UNDERSCORES|5.007003||p PERL_SCAN_DISALLOW_PREFIX|5.007003||p PERL_SCAN_GREATER_THAN_UV_MAX|5.007003||p PERL_SCAN_SILENT_ILLDIGIT|5.008001||p -PERL_SHORT_MAX|5.004000||p -PERL_SHORT_MIN|5.004000||p +PERL_SHORT_MAX|5.003070||p +PERL_SHORT_MIN|5.003070||p PERL_SIGNALS_UNSAFE_FLAG|5.008001||p PERL_SUBVERSION|5.006000||p PERL_SYS_INIT3||5.006000| PERL_SYS_INIT||| -PERL_SYS_TERM||5.014000| -PERL_UCHAR_MAX|5.004000||p -PERL_UCHAR_MIN|5.004000||p -PERL_UINT_MAX|5.004000||p -PERL_UINT_MIN|5.004000||p -PERL_ULONG_MAX|5.004000||p -PERL_ULONG_MIN|5.004000||p +PERL_SYS_TERM||5.024000| +PERL_UCHAR_MAX|5.003070||p +PERL_UCHAR_MIN|5.003070||p +PERL_UINT_MAX|5.003070||p +PERL_UINT_MIN|5.003070||p +PERL_ULONG_MAX|5.003070||p +PERL_ULONG_MIN|5.003070||p PERL_UNUSED_ARG|5.009003||p PERL_UNUSED_CONTEXT|5.009004||p PERL_UNUSED_DECL|5.007002||p +PERL_UNUSED_RESULT|5.021001||p PERL_UNUSED_VAR|5.007002||p -PERL_UQUAD_MAX|5.004000||p -PERL_UQUAD_MIN|5.004000||p +PERL_UQUAD_MAX|5.003070||p +PERL_UQUAD_MIN|5.003070||p PERL_USE_GCC_BRACE_GROUPS|5.009004||p -PERL_USHORT_MAX|5.004000||p -PERL_USHORT_MIN|5.004000||p +PERL_USHORT_MAX|5.003070||p +PERL_USHORT_MIN|5.003070||p PERL_VERSION|5.006000||p PL_DBsignal|5.005000||p PL_DBsingle|||pn PL_DBsub|||pn PL_DBtrace|||pn PL_Sv|5.005000||p -PL_bufend|5.014000||p -PL_bufptr|5.014000||p +PL_bufend|5.024000||p +PL_bufptr|5.024000||p +PL_check||5.006000| PL_compiling|5.004050||p -PL_copline|5.014000||p +PL_comppad_name||5.017004| +PL_comppad||5.008001| +PL_copline|5.024000||p PL_curcop|5.004050||p +PL_curpad||5.005000| PL_curstash|5.004050||p PL_debstash|5.004050||p PL_defgv|5.004050||p @@ -679,31 +709,31 @@ PL_dirty|5.004050||p PL_dowarn|||pn PL_errgv|5.004050||p -PL_error_count|5.014000||p -PL_expect|5.014000||p +PL_error_count|5.024000||p +PL_expect|5.024000||p PL_hexdigit|5.005000||p PL_hints|5.005000||p -PL_in_my_stash|5.014000||p -PL_in_my|5.014000||p +PL_in_my_stash|5.024000||p +PL_in_my|5.024000||p PL_keyword_plugin||5.011002| PL_last_in_gv|||n PL_laststatval|5.005000||p -PL_lex_state|5.014000||p -PL_lex_stuff|5.014000||p -PL_linestr|5.014000||p +PL_lex_state|5.024000||p +PL_lex_stuff|5.024000||p +PL_linestr|5.024000||p PL_modglobal||5.005000|n PL_na|5.004050||pn PL_no_modify|5.006000||p PL_ofsgv|||n PL_opfreehook||5.011000|n -PL_parser|5.009005|5.009005|p +PL_parser|5.009005||p PL_peepp||5.007003|n PL_perl_destruct_level|5.004050||p PL_perldb|5.004050||p PL_ppaddr|5.006000||p PL_rpeepp||5.013005|n -PL_rsfp_filters|5.014000||p -PL_rsfp|5.014000||p +PL_rsfp_filters|5.024000||p +PL_rsfp|5.024000||p PL_rs|||n PL_signals|5.008001||p PL_stack_base|5.004050||p @@ -716,8 +746,8 @@ PL_sv_yes|5.004050||pn PL_tainted|5.004050||p PL_tainting|5.004050||p -PL_tokenbuf|5.014000||p -POP_MULTICALL||5.014000| +PL_tokenbuf|5.024000||p +POP_MULTICALL||5.024000| POPi|||n POPl|||n POPn|||n @@ -725,6 +755,8 @@ POPpx||5.005030|n POPp|||n POPs|||n +POPul||5.006000|n +POPu||5.004000|n PTR2IV|5.006000||p PTR2NV|5.006000||p PTR2UV|5.006000||p @@ -732,7 +764,7 @@ PTR2ul|5.007001||p PTRV|5.006000||p PUSHMARK||| -PUSH_MULTICALL||5.014000| +PUSH_MULTICALL||5.024000| PUSHi||| PUSHmortal|5.009002||p PUSHn||| @@ -740,6 +772,29 @@ PUSHs||| PUSHu|5.004000||p PUTBACK||| +PadARRAY||5.024000| +PadMAX||5.024000| +PadlistARRAY||5.024000| +PadlistMAX||5.024000| +PadlistNAMESARRAY||5.024000| +PadlistNAMESMAX||5.024000| +PadlistNAMES||5.024000| +PadlistREFCNT||5.017004| +PadnameIsOUR||| +PadnameIsSTATE||| +PadnameLEN||5.024000| +PadnameOURSTASH||| +PadnameOUTER||| +PadnamePV||5.024000| +PadnameREFCNT_dec||5.024000| +PadnameREFCNT||5.024000| +PadnameSV||5.024000| +PadnameTYPE||| +PadnameUTF8||5.021007| +PadnamelistARRAY||5.024000| +PadnamelistMAX||5.024000| +PadnamelistREFCNT_dec||5.024000| +PadnamelistREFCNT||5.024000| PerlIO_clearerr||5.007003| PerlIO_close||5.007003| PerlIO_context_layers||5.009004| @@ -753,6 +808,8 @@ PerlIO_get_cnt||5.007003| PerlIO_get_ptr||5.007003| PerlIO_read||5.007003| +PerlIO_restore_errno||| +PerlIO_save_errno||| PerlIO_seek||5.007003| PerlIO_set_cnt||5.007003| PerlIO_set_ptrcnt||5.007003| @@ -768,6 +825,8 @@ PoisonNew|5.009004||p PoisonWith|5.009004||p Poison|5.008000||p +READ_XDIGIT||5.017006| +RESTORE_LC_NUMERIC||5.024000| RETVAL|||n Renewc||| Renew||| @@ -782,6 +841,8 @@ START_MY_CXT|5.007003||p STMT_END|||p STMT_START|||p +STORE_LC_NUMERIC_FORCE_TO_UNDERLYING||5.024000| +STORE_LC_NUMERIC_SET_TO_NEEDED||5.024000| STR_WITH_LEN|5.009003||p ST||| SV_CONST_RETURN|5.009003||p @@ -797,16 +858,26 @@ SVfARG|5.009005||p SVf_UTF8|5.006000||p SVf|5.006000||p +SVt_INVLIST||5.019002| SVt_IV||| +SVt_NULL||| SVt_NV||| SVt_PVAV||| SVt_PVCV||| +SVt_PVFM||| +SVt_PVGV||| SVt_PVHV||| +SVt_PVIO||| +SVt_PVIV||| +SVt_PVLV||| SVt_PVMG||| +SVt_PVNV||| SVt_PV||| +SVt_REGEXP||5.011000| Safefree||| Slab_Alloc||| Slab_Free||| +Slab_to_ro||| Slab_to_rw||| StructCopy||| SvCUR_set||| @@ -877,7 +948,7 @@ SvPV_nolen|5.006000||p SvPV_nomg_const_nolen|5.009003||p SvPV_nomg_const|5.009003||p -SvPV_nomg_nolen||5.013007| +SvPV_nomg_nolen|5.013007||p SvPV_nomg|5.007002||p SvPV_renew|5.009003||p SvPV_set||| @@ -893,6 +964,7 @@ SvPVutf8||5.006000| SvPVx||| SvPV||| +SvREFCNT_dec_NN||5.017007| SvREFCNT_dec||| SvREFCNT_inc_NN|5.009004||p SvREFCNT_inc_simple_NN|5.009004||p @@ -908,8 +980,8 @@ SvROK||| SvRV_set|5.009003||p SvRV||| -SvRXOK||5.009005| -SvRX||5.009005| +SvRXOK|5.009005||p +SvRX|5.009005||p SvSETMAGIC||| SvSHARED_HASH|5.009003||p SvSHARE||5.007003| @@ -923,6 +995,7 @@ SvTAINTED_on||5.004000| SvTAINTED||5.004000| SvTAINT||| +SvTHINKFIRST||| SvTRUE_nomg||5.013006| SvTRUE||| SvTYPE||| @@ -942,7 +1015,9 @@ SvVSTRING_mg|5.009004||p THIS|||n UNDERBAR|5.009002||p +UTF8SKIP||5.006000| UTF8_MAXBYTES|5.009002||p +UVCHR_SKIP||5.022000| UVSIZE|5.006000||p UVTYPE|5.006000||p UVXf|5.007001||p @@ -951,7 +1026,7 @@ UVxf|5.006000||p WARN_ALL|5.006000||p WARN_AMBIGUOUS|5.006000||p -WARN_ASSERTIONS|5.014000||p +WARN_ASSERTIONS|5.024000||p WARN_BAREWORD|5.006000||p WARN_CLOSED|5.006000||p WARN_CLOSURE|5.006000||p @@ -996,6 +1071,7 @@ WARN_UNTIE|5.006000||p WARN_UTF8|5.006000||p WARN_VOID|5.006000||p +WIDEST_UTYPE|5.015004||p XCPT_CATCH|5.009002||p XCPT_RETHROW|5.009002||p XCPT_TRY_END|5.009002||p @@ -1023,52 +1099,108 @@ XST_mUNDEF||| XST_mUV|5.008001||p XST_mYES||| -XS_APIVERSION_BOOTCHECK||5.013004| -XS_VERSION_BOOTCHECK||| +XS_APIVERSION_BOOTCHECK||5.024000| +XS_EXTERNAL||5.024000| +XS_INTERNAL||5.024000| +XS_VERSION_BOOTCHECK||5.024000| XS_VERSION||| XSprePUSH|5.006000||p XS||| -XopDISABLE||5.014000| -XopENABLE||5.014000| -XopENTRY_set||5.014000| -XopENTRY||5.014000| +XopDISABLE||5.024000| +XopENABLE||5.024000| +XopENTRYCUSTOM||5.024000| +XopENTRY_set||5.024000| +XopENTRY||5.024000| XopFLAGS||5.013007| ZeroD|5.009002||p Zero||| _aMY_CXT|5.007003||p +_add_range_to_invlist||| _append_range_to_invlist||| +_core_swash_init||| +_get_encoding||| +_get_regclass_nonbitmap_data||| +_get_swash_invlist||| +_invlistEQ||| +_invlist_array_init|||n +_invlist_contains_cp|||n +_invlist_dump||| +_invlist_intersection_maybe_complement_2nd||| +_invlist_intersection||| +_invlist_invert||| +_invlist_len|||n +_invlist_populate_swatch|||n +_invlist_search|||n +_invlist_subtract||| +_invlist_union_maybe_complement_2nd||| +_invlist_union||| +_is_cur_LC_category_utf8||| +_is_in_locale_category||5.021001| +_is_uni_FOO||5.017008| +_is_uni_perl_idcont||5.017008| +_is_uni_perl_idstart||5.017007| +_is_utf8_FOO||5.017008| +_is_utf8_char_slow||5.021001|n +_is_utf8_idcont||5.021001| +_is_utf8_idstart||5.021001| +_is_utf8_mark||5.017008| +_is_utf8_perl_idcont||5.017008| +_is_utf8_perl_idstart||5.017007| +_is_utf8_xidcont||5.021001| +_is_utf8_xidstart||5.021001| +_load_PL_utf8_foldclosures||| +_make_exactf_invlist||| +_new_invlist_C_array||| _new_invlist||| _pMY_CXT|5.007003||p +_setlocale_debug_string|||n +_setup_canned_invlist||| _swash_inversion_hash||| _swash_to_invlist||| +_to_fold_latin1||| +_to_uni_fold_flags||5.014000| +_to_upper_title_latin1||| +_to_utf8_case||| +_to_utf8_fold_flags||5.019009| +_to_utf8_lower_flags||5.019009| +_to_utf8_title_flags||5.019009| +_to_utf8_upper_flags||5.019009| +_warn_problematic_locale|||n aMY_CXT_|5.007003||p aMY_CXT|5.007003||p -aTHXR_|5.014000||p -aTHXR|5.014000||p +aTHXR_|5.024000||p +aTHXR|5.024000||p aTHX_|5.006000||p aTHX|5.006000||p -add_alternate||| +add_above_Latin1_folds||| add_cp_to_invlist||| add_data|||n -add_range_to_invlist||| +add_multi_match||| add_utf16_textfilter||| -addmad||| +adjust_size_and_find_bucket|||n +advance_one_LB||| +advance_one_SB||| +advance_one_WB||| +alloc_maybe_populate_EXACT||| +alloccopstash||| allocmy||| amagic_call||| amagic_cmp_locale||| amagic_cmp||| amagic_deref_call||5.013007| amagic_i_ncmp||| +amagic_is_enabled||| amagic_ncmp||| anonymise_cv_maybe||| any_dup||| ao||| -append_madprops||| +append_utf8_from_native_byte||5.019004|n apply_attrs_my||| apply_attrs_string||5.006001| apply_attrs||| apply||| assert_uft8_cache_coherent||| +assignment_type||| atfork_lock||5.007003|n atfork_unlock||5.007003|n av_arylen_p||5.009003| @@ -1077,6 +1209,7 @@ av_create_and_unshift_one||5.009005| av_delete||5.006000| av_exists||5.006000| +av_extend_guts||| av_extend||| av_fetch||| av_fill||| @@ -1088,14 +1221,20 @@ av_reify||| av_shift||| av_store||| +av_tindex||5.017009| +av_top_index||5.017009| av_undef||| av_unshift||| ax|||n -bad_type||| +backup_one_LB||| +backup_one_SB||| +backup_one_WB||| +bad_type_gv||| +bad_type_pv||| bind_match||| -block_end||| +block_end||5.004000| block_gimme||5.004000| -block_start||| +block_start||5.004000| blockhook_register||5.013003| boolSV|5.004000||p boot_core_PerlIO||| @@ -1103,27 +1242,28 @@ boot_core_mro||| bytes_cmp_utf8||5.013007| bytes_from_utf8||5.007001| -bytes_to_uni|||n bytes_to_utf8||5.006001| +cBOOL|5.013000||p call_argv|5.006000||p call_atexit||5.006000| call_list||5.004000| call_method|5.006000||p call_pv|5.006000||p call_sv|5.006000||p -caller_cx||5.013005| +caller_cx|5.013005|5.006000|p calloc||5.007002|n cando||| -cast_i32||5.006000| -cast_iv||5.006000| -cast_ulong||5.006000| -cast_uv||5.006000| +cast_i32||5.006000|n +cast_iv||5.006000|n +cast_ulong||5.006000|n +cast_uv||5.006000|n +check_locale_boundary_crossing||| check_type_and_open||| check_uni||| check_utf8_print||| checkcomma||| -checkposixcc||| ckWARN|5.006000||p +ck_entersub_args_core||| ck_entersub_args_list||5.013006| ck_entersub_args_proto_or_list||5.013006| ck_entersub_args_proto||5.013006| @@ -1132,22 +1272,23 @@ ckwarn_common||| ckwarn_d||5.009003| ckwarn||5.009003| -cl_and|||n -cl_anything|||n -cl_init|||n -cl_is_anything|||n -cl_or|||n +clear_defarray||5.023008| clear_placeholders||| +clear_special_blocks||| clone_params_del|||n clone_params_new|||n closest_cop||| -convert||| +cntrl_to_mnemonic|||n +compute_EXACTish|||n +construct_ahocorasick_from_trie||| +cop_fetch_label||5.015001| cop_free||| cop_hints_2hv||5.013007| cop_hints_fetch_pvn||5.013007| cop_hints_fetch_pvs||5.013007| cop_hints_fetch_pv||5.013007| cop_hints_fetch_sv||5.013007| +cop_store_label||5.015001| cophh_2hv||5.013007| cophh_copy||5.013007| cophh_delete_pvn||5.013007| @@ -1159,36 +1300,67 @@ cophh_fetch_pv||5.013007| cophh_fetch_sv||5.013007| cophh_free||5.013007| -cophh_new_empty||5.014000| +cophh_new_empty||5.024000| cophh_store_pvn||5.013007| cophh_store_pvs||5.013007| cophh_store_pv||5.013007| cophh_store_sv||5.013007| +core_prototype||| +coresub_op||| cr_textfilter||| create_eval_scope||| -croak_no_modify||5.013003| +croak_memory_wrap||5.019003|n +croak_no_mem|||n +croak_no_modify||5.013003|n croak_nocontext|||vn +croak_popstack|||n croak_sv||5.013001| -croak_xs_usage||5.010001| +croak_xs_usage||5.010001|n croak|||v csighandler||5.009003|n -curmad||| +current_re_engine||| curse||| custom_op_desc||5.007003| +custom_op_get_field||| custom_op_name||5.007003| custom_op_register||5.013007| custom_op_xop||5.013007| -cv_ckproto_len||| +cv_ckproto_len_flags||| +cv_clone_into||| cv_clone||| -cv_const_sv||5.004000| +cv_const_sv_or_av|||n +cv_const_sv||5.003070|n cv_dump||| +cv_forget_slab||| cv_get_call_checker||5.013006| +cv_name||5.021005| +cv_set_call_checker_flags||5.021004| cv_set_call_checker||5.013006| +cv_undef_flags||| cv_undef||| +cvgv_from_hek||| cvgv_set||| cvstash_set||| cx_dump||5.005000| cx_dup||| +cx_popblock||5.023008| +cx_popeval||5.023008| +cx_popformat||5.023008| +cx_popgiven||5.023008| +cx_poploop||5.023008| +cx_popsub_args||5.023008| +cx_popsub_common||5.023008| +cx_popsub||5.023008| +cx_popwhen||5.023008| +cx_pushblock||5.023008| +cx_pusheval||5.023008| +cx_pushformat||5.023008| +cx_pushgiven||5.023008| +cx_pushloop_for||5.023008| +cx_pushloop_plain||5.023008| +cx_pushsub||5.023008| +cx_pushwhen||5.023008| +cx_topblock||5.023008| cxinc||| dAXMARK|5.009003||p dAX|5.007002||p @@ -1201,7 +1373,7 @@ dORIGMARK||| dSP||| dTHR|5.004050||p -dTHXR|5.014000||p +dTHXR|5.024000||p dTHXa|5.006000||p dTHXoa|5.006000||p dTHX|5.006000||p @@ -1222,6 +1394,7 @@ debstack||5.007003| debug_start_match||| deb||5.007003|v +defelem_target||| del_sv||| delete_eval_scope||| delimcpy||5.004000|n @@ -1256,14 +1429,15 @@ do_magic_dump||5.006000| do_msgrcv||| do_msgsnd||| +do_ncmp||| do_oddball||| do_op_dump||5.006000| -do_op_xmldump||| +do_open6||| do_open9||5.006000| +do_open_raw||| do_openn||5.007001| -do_open||5.004000| +do_open||5.003070| do_pmop_dump||5.006000| -do_pmop_xmldump||| do_print||| do_readline||| do_seek||| @@ -1287,7 +1461,7 @@ do_vecset||| do_vop||| docatch||| -doeval||| +doeval_compile||| dofile||| dofindlabel||| doform||| @@ -1296,7 +1470,7 @@ doopen_pm||| doparseform||| dopoptoeval||| -dopoptogiven||| +dopoptogivenfor||| dopoptolabel||| dopoptoloop||| dopoptosub_at||| @@ -1304,11 +1478,17 @@ doref||5.009003| dounwind||| dowantarray||| +drand48_init_r|||n +drand48_r|||n +dtrace_probe_call||| +dtrace_probe_load||| +dtrace_probe_op||| +dtrace_probe_phase||| dump_all_perl||| dump_all||5.006000| +dump_c_backtrace||| dump_eval||5.006000| dump_exec_pos||| -dump_fds||| dump_form||5.006000| dump_indent||5.006000|v dump_mstats||| @@ -1323,6 +1503,7 @@ dump_vindent||5.006000| dumpuntil||| dup_attrlist||| +edit_distance|||n emulate_cop_io||| eval_pv|5.006000||p eval_sv|5.006000||p @@ -1331,23 +1512,28 @@ fbm_compile||5.005000| fbm_instr||5.005000| feature_is_enabled||| -fetch_cop_label||5.011000| filter_add||| filter_del||| filter_gets||| filter_read||| +finalize_optree||| +finalize_op||| find_and_forget_pmops||| find_array_subscript||| find_beginning||| find_byclass||| +find_default_stash||| find_hash_subscript||| find_in_my_stash||| +find_lexical_cv||| +find_runcv_where||| find_runcv||5.008001| find_rundefsvoffset||5.009002| find_rundefsv||5.013002| find_script||| find_uninit_var||| first_symbol|||n +fixup_errno_string||| foldEQ_latin1||5.013008|n foldEQ_locale||5.013002|n foldEQ_utf8_flags||5.013010| @@ -1355,6 +1541,7 @@ foldEQ||5.013002|n fold_constants||| forbid_setid||| +force_ident_maybe_lex||| force_ident||| force_list||| force_next||| @@ -1363,23 +1550,32 @@ force_word||| forget_pmop||| form_nocontext|||vn +form_short_octal_warning||| form||5.004000|v fp_dup||| fprintf_nocontext|||vn +free_c_backtrace||| free_global_struct||| free_tied_hv_pool||| free_tmps||| gen_constant_list||| +get_ANYOF_cp_list_for_ssc||| +get_and_check_backslash_N_name||| get_aux_mg||| get_av|5.006000||p +get_c_backtrace_dump||| +get_c_backtrace||| get_context||5.006000|n -get_cvn_flags|5.009005||p +get_cvn_flags||| get_cvs|5.011000||p get_cv|5.006000||p get_db_sub||| get_debug_opts||| get_hash_seed||| get_hv|5.006000||p +get_invlist_iter_addr|||n +get_invlist_offset_addr|||n +get_invlist_previous_index_addr|||n get_mstats||| get_no_modify||| get_num||| @@ -1394,14 +1590,18 @@ getenv_len||| glob_2number||| glob_assign_glob||| -glob_assign_ref||| gp_dup||| gp_free||| gp_ref||| +grok_atoUV|||n grok_bin|5.007003||p +grok_bslash_N||| grok_bslash_c||| grok_bslash_o||| +grok_bslash_x||| grok_hex|5.007003||p +grok_infnan||5.021004| +grok_number_flags||5.021002| grok_number|5.007002||p grok_numeric_radix|5.007002||p grok_oct|5.007003||p @@ -1412,45 +1612,67 @@ gv_SVadd||| gv_add_by_type||5.011000| gv_autoload4||5.004000| +gv_autoload_pvn||5.015004| +gv_autoload_pv||5.015004| +gv_autoload_sv||5.015004| gv_check||| gv_const_sv||5.009003| gv_dump||5.006000| -gv_efullname3||5.004000| +gv_efullname3||5.003070| gv_efullname4||5.006001| gv_efullname||| -gv_ename||| gv_fetchfile_flags||5.009005| gv_fetchfile||| gv_fetchmeth_autoload||5.007003| +gv_fetchmeth_internal||| +gv_fetchmeth_pv_autoload||5.015004| +gv_fetchmeth_pvn_autoload||5.015004| +gv_fetchmeth_pvn||5.015004| +gv_fetchmeth_pv||5.015004| +gv_fetchmeth_sv_autoload||5.015004| +gv_fetchmeth_sv||5.015004| gv_fetchmethod_autoload||5.004000| -gv_fetchmethod_flags||5.011000| +gv_fetchmethod_pv_flags||5.015004| +gv_fetchmethod_pvn_flags||5.015004| +gv_fetchmethod_sv_flags||5.015004| gv_fetchmethod||| gv_fetchmeth||| gv_fetchpvn_flags|5.009002||p gv_fetchpvs|5.009004||p gv_fetchpv||| -gv_fetchsv|5.009002||p -gv_fullname3||5.004000| +gv_fetchsv||| +gv_fullname3||5.003070| gv_fullname4||5.006001| gv_fullname||| -gv_get_super_pkg||| gv_handler||5.007001| -gv_init_sv||| +gv_init_pvn||| +gv_init_pv||5.015004| +gv_init_svtype||| +gv_init_sv||5.015004| gv_init||| +gv_is_in_main||| gv_magicalize_isa||| -gv_magicalize_overload||| +gv_magicalize||| gv_name_set||5.009004| -gv_stashpvn|5.004000||p +gv_override||| +gv_setref||| +gv_stashpvn_internal||| +gv_stashpvn|5.003070||p gv_stashpvs|5.009003||p gv_stashpv||| +gv_stashsvpvn_cached||| gv_stashsv||| gv_try_downgrade||| +handle_named_backref||| +handle_possible_posix||| +handle_regex_sets||| he_dup||| hek_dup||| -hfreeentries||| +hfree_next_entry||| hsplit||| hv_assert||| -hv_auxinit|||n +hv_auxinit_internal|||n +hv_auxinit||| hv_backreferences_p||| hv_clear_placeholders||5.009001| hv_clear||| @@ -1459,39 +1681,42 @@ hv_copy_hints_hv||5.009004| hv_delayfree_ent||5.004000| hv_delete_common||| -hv_delete_ent||5.004000| +hv_delete_ent||5.003070| hv_delete||| hv_eiter_p||5.009003| hv_eiter_set||5.009003| hv_ename_add||| hv_ename_delete||| -hv_exists_ent||5.004000| +hv_exists_ent||5.003070| hv_exists||| -hv_fetch_ent||5.004000| +hv_fetch_ent||5.003070| hv_fetchs|5.009003||p hv_fetch||| hv_fill||5.013002| +hv_free_ent_ret||| +hv_free_entries||| hv_free_ent||5.004000| hv_iterinit||| -hv_iterkeysv||5.004000| +hv_iterkeysv||5.003070| hv_iterkey||| hv_iternext_flags||5.008000| hv_iternextsv||| hv_iternext||| hv_iterval||| hv_kill_backrefs||| -hv_ksplit||5.004000| +hv_ksplit||5.003070| hv_magic_check|||n hv_magic||| hv_name_set||5.009003| hv_notallowed||| hv_placeholders_get||5.009003| -hv_placeholders_p||5.009003| +hv_placeholders_p||| hv_placeholders_set||5.009003| +hv_rand_set||5.018000| hv_riter_p||5.009003| hv_riter_set||5.009003| hv_scalar||5.009001| -hv_store_ent||5.004000| +hv_store_ent||5.003070| hv_store_flags||5.008000| hv_stores|5.009004||p hv_store||| @@ -1506,6 +1731,7 @@ incpush||| ingroup||| init_argv_symbols||| +init_constants||| init_dbargs||| init_debugger||| init_global_struct||| @@ -1519,54 +1745,75 @@ init_predump_symbols||| init_stacks||5.005000| init_tm||5.007002| +inplace_aassign||| instr|||n -intro_my||| +intro_my||5.004000| intuit_method||| intuit_more||| invert||| -invlist_array||| -invlist_destroy||| +invlist_array|||n +invlist_clear||| +invlist_clone||| +invlist_contents||| invlist_extend||| -invlist_intersection||| -invlist_len||| -invlist_max||| -invlist_set_array||| +invlist_highest|||n +invlist_is_iterating|||n +invlist_iterfinish|||n +invlist_iterinit|||n +invlist_iternext|||n +invlist_max|||n +invlist_previous_index|||n +invlist_replace_list_destroys_src||| invlist_set_len||| -invlist_set_max||| -invlist_trim||| -invlist_union||| +invlist_set_previous_index|||n +invlist_trim|||n invoke_exception_hook||| io_close||| isALNUMC|5.006000||p +isALNUM_lazy||5.021001| +isALPHANUMERIC||5.017008| isALPHA||| isASCII|5.006000||p isBLANK|5.006001||p isCNTRL|5.006000||p isDIGIT||| +isFOO_lc||| +isFOO_utf8_lc||| +isGCB|||n isGRAPH|5.006000||p -isGV_with_GP|5.009004||p +isIDCONT||5.017008| +isIDFIRST_lazy||5.021001| +isIDFIRST||| +isLB||| isLOWER||| isOCTAL||5.013005| isPRINT|5.004000||p isPSXSPC|5.006001||p isPUNCT|5.006000||p +isSB||| isSPACE||| isUPPER||| +isUTF8_CHAR||5.021001| +isWB||| isWORDCHAR||5.013006| isXDIGIT|5.006000||p is_an_int||| -is_ascii_string||5.011000|n -is_gv_magical_sv||| +is_ascii_string||5.011000| is_handle_constructor|||n -is_inplace_av||| -is_list_assignment||| +is_invariant_string||5.021007|n is_lvalue_sub||5.007001| +is_safe_syscall||5.019004| +is_ssc_worth_it|||n is_uni_alnum_lc||5.006000| +is_uni_alnumc_lc||5.017007| +is_uni_alnumc||5.017007| is_uni_alnum||5.006000| is_uni_alpha_lc||5.006000| is_uni_alpha||5.006000| is_uni_ascii_lc||5.006000| is_uni_ascii||5.006000| +is_uni_blank_lc||5.017002| +is_uni_blank||5.017002| is_uni_cntrl_lc||5.006000| is_uni_cntrl||5.006000| is_uni_digit_lc||5.006000| @@ -1587,20 +1834,12 @@ is_uni_upper||5.006000| is_uni_xdigit_lc||5.006000| is_uni_xdigit||5.006000| -is_utf8_X_LVT||| -is_utf8_X_LV_LVT_V||| -is_utf8_X_LV||| -is_utf8_X_L||| -is_utf8_X_T||| -is_utf8_X_V||| -is_utf8_X_begin||| -is_utf8_X_extend||| -is_utf8_X_non_hangul||| -is_utf8_X_prepend||| +is_utf8_alnumc||5.017007| is_utf8_alnum||5.006000| is_utf8_alpha||5.006000| is_utf8_ascii||5.006000| -is_utf8_char_slow|||n +is_utf8_blank||5.017002| +is_utf8_char_buf||5.015008|n is_utf8_char||5.006000|n is_utf8_cntrl||5.006000| is_utf8_common||| @@ -1624,12 +1863,15 @@ is_utf8_xidcont||5.013010| is_utf8_xidfirst||5.013010| isa_lookup||| +isinfnansv||| +isinfnan||5.021004|n items|||n ix|||n jmaybe||| join_exact||| keyword_plugin_standard||| keyword||| +leave_adjust_stacks||5.023008| leave_scope||| lex_bufutf8||5.011002| lex_discard_to||5.011002| @@ -1663,21 +1905,21 @@ mXPUSHp|5.009002||p mXPUSHs|5.010001||p mXPUSHu|5.009002||p -mad_free||| -madlex||| -madparse||| magic_clear_all_env||| +magic_cleararylen_p||| magic_clearenv||| magic_clearhints||| magic_clearhint||| magic_clearisa||| magic_clearpack||| magic_clearsig||| +magic_copycallchecker||| magic_dump||5.006000| magic_existspack||| magic_freearylen_p||| magic_freeovrld||| magic_getarylen||| +magic_getdebugvar||| magic_getdefelem||| magic_getnkeys||| magic_getpack||| @@ -1689,7 +1931,6 @@ magic_getvec||| magic_get||| magic_killbackrefs||| -magic_len||| magic_methcall1||| magic_methcall|||v magic_methpack||| @@ -1699,14 +1940,15 @@ magic_regdatum_set||| magic_scalarpack||| magic_set_all_env||| -magic_setamagic||| magic_setarylen||| magic_setcollxfrm||| magic_setdbline||| +magic_setdebugvar||| magic_setdefelem||| magic_setenv||| magic_sethint||| magic_setisa||| +magic_setlvref||| magic_setmglob||| magic_setnkeys||| magic_setpack||| @@ -1722,47 +1964,52 @@ magic_sizepack||| magic_wipepack||| make_matcher||| -make_trie_failtable||| make_trie||| malloc_good_size|||n malloced_size|||n malloc||5.007002|n -markstack_grow||| +markstack_grow||5.021001| matcher_matches_sv||| +maybe_multimagic_gv||| +mayberelocate||| measure_struct||| memEQs|5.009005||p memEQ|5.004000||p memNEs|5.009005||p memNE|5.004000||p mem_collxfrm||| +mem_log_alloc|||n mem_log_common|||n +mem_log_free|||n +mem_log_realloc|||n mess_alloc||| mess_nocontext|||vn mess_sv||5.013001| mess||5.006000|v -method_common||| mfree||5.007002|n mg_clear||| mg_copy||| mg_dup||| -mg_findext||5.013008| -mg_find||| +mg_find_mglob||| +mg_findext|5.013008||pn +mg_find|||n mg_free_type||5.013006| mg_free||| mg_get||| mg_length||5.005000| mg_localize||| -mg_magical||| +mg_magical|||n mg_set||| mg_size||5.005000| -mini_mktime||5.007002| +mini_mktime||5.007002|n +minus_v||| missingterm||| mode_from_discipline||| modkids||| -mod||| more_bodies||| more_sv||| moreswitches||| +move_proto_attr||| mro_clean_isarev||| mro_gather_and_rename||| mro_get_from_name||5.010001| @@ -1779,67 +2026,42 @@ mro_set_private_data||5.010001| mul128||| mulexp10|||n -munge_qwlist_to_paren_list||| +multideref_stringify||| my_atof2||5.007002| my_atof||5.006000| my_attrs||| -my_bcopy|||n -my_betoh16|||n -my_betoh32|||n -my_betoh64|||n -my_betohi|||n -my_betohl|||n -my_betohs|||n +my_bcopy||5.004050|n +my_bytes_to_utf8|||n my_bzero|||n my_chsize||| my_clearenv||| my_cxt_index||| my_cxt_init||| -my_dirfd||5.009005| +my_dirfd||5.009005|n my_exit_jump||| my_exit||| my_failure_exit||5.004000| my_fflush_all||5.006000| my_fork||5.007003|n -my_htobe16|||n -my_htobe32|||n -my_htobe64|||n -my_htobei|||n -my_htobel|||n -my_htobes|||n -my_htole16|||n -my_htole32|||n -my_htole64|||n -my_htolei|||n -my_htolel|||n -my_htoles|||n -my_htonl||| my_kid||| -my_letoh16|||n -my_letoh32|||n -my_letoh64|||n -my_letohi|||n -my_letohl|||n -my_letohs|||n my_lstat_flags||| -my_lstat||5.014000| -my_memcmp||5.004000|n +my_lstat||5.024000| +my_memcmp|||n my_memset|||n -my_ntohl||| -my_pclose||5.004000| +my_pclose||5.003070| my_popen_list||5.007001| -my_popen||5.004000| +my_popen||5.003070| my_setenv||| +my_setlocale||| my_snprintf|5.009004||pvn my_socketpair||5.007003|n my_sprintf|5.009003||pvn my_stat_flags||| -my_stat||5.014000| +my_stat||5.024000| +my_strerror||5.021001| my_strftime||5.007002| my_strlcat|5.009004||pn my_strlcpy|5.009004||pn -my_swabn|||n -my_swap||| my_unexec||| my_vsnprintf||5.009004|n need_utf8|||n @@ -1848,14 +2070,16 @@ newANONLIST||| newANONSUB||| newASSIGNOP||| +newATTRSUB_x||| newATTRSUB||5.006000| newAVREF||| newAV||| newBINOP||| newCONDOP||| +newCONSTSUB_flags||5.015006| newCONSTSUB|5.004050||p newCVREF||| -newDEFSVOP||| +newDEFSVOP||5.021006| newFORM||| newFOROP||5.013007| newGIVENOP||5.009003| @@ -1863,6 +2087,7 @@ newGP||| newGVOP||| newGVREF||| +newGVgen_flags||5.015004| newGVgen||| newHVREF||| newHVhv||5.005000| @@ -1872,11 +2097,15 @@ newLOGOP||| newLOOPEX||| newLOOPOP||| -newMADPROP||| -newMADsv||| -newMYSUB||| +newMETHOP_internal||| +newMETHOP_named||5.021005| +newMETHOP||5.021005| +newMYSUB||5.017004| newNULLLIST||| newOP||| +newPADNAMELIST||5.021007|n +newPADNAMEouter||5.021007|n +newPADNAMEpvn||5.021007|n newPADOP||| newPMOP||| newPROG||| @@ -1887,13 +2116,16 @@ newRV||| newSLICEOP||| newSTATEOP||| +newSTUB||| newSUB||| newSVOP||| newSVREF||| newSV_type|5.009005||p +newSVavdefelem||| newSVhek||5.009003| newSViv||| newSVnv||| +newSVpadname||5.017004| newSVpv_share||5.013006| newSVpvf_nocontext|||vn newSVpvf||5.004000|v @@ -1909,11 +2141,13 @@ newSVsv||| newSVuv|5.006000||p newSV||| -newTOKEN||| +newUNOP_AUX||5.021007| newUNOP||| newWHENOP||5.009003| newWHILEOP||5.013007| +newXS_deffile||| newXS_flags||5.009004| +newXS_len_flags||| newXSproto||5.006000| newXS||5.006000| new_collate||5.006000| @@ -1932,7 +2166,9 @@ no_bareword_allowed||| no_fh_allowed||| no_op||| +noperl_die|||vn not_a_number||| +not_incrementable||| nothreadhook||5.008000| nuke_stacks||| num_overflow|||n @@ -1941,24 +2177,34 @@ op_append_elem||5.013006| op_append_list||5.013006| op_clear||| -op_const_sv||| op_contextualize||5.013006| +op_convert_list||5.021006| op_dump||5.006000| op_free||| -op_getmad_weak||| -op_getmad||| +op_integerize||| op_linklist||5.013006| +op_lvalue_flags||| op_lvalue||5.013007| op_null||5.007002| +op_parent|||n op_prepend_elem||5.013006| op_refcnt_dec||| op_refcnt_inc||| op_refcnt_lock||5.009002| op_refcnt_unlock||5.009002| +op_relocate_sv||| op_scope||5.013007| -op_xmldump||| +op_sibling_splice||5.021002|n +op_std_init||| +op_unscope||| open_script||| -opt_scalarhv||| +openn_cleanup||| +openn_setup||| +opmethod_stash||| +opslab_force_free||| +opslab_free_nopad||| +opslab_free||| +output_or_return_posix_warnings||| pMY_CXT_|5.007003||p pMY_CXT|5.007003||p pTHX_|5.006000||p @@ -1969,43 +2215,61 @@ package_version||| package||| packlist||5.008001| -pad_add_anon||| -pad_add_name_sv||| -pad_add_name||| +pad_add_anon||5.008001| +pad_add_name_pvn||5.015001| +pad_add_name_pvs||5.015001| +pad_add_name_pv||5.015001| +pad_add_name_sv||5.015001| +pad_add_weakref||| +pad_alloc_name||| pad_alloc||| pad_block_start||| pad_check_dup||| -pad_compname_type||| +pad_compname_type||5.009003| pad_findlex||| -pad_findmy||5.011002| +pad_findmy_pvn||5.015001| +pad_findmy_pvs||5.015001| +pad_findmy_pv||5.015001| +pad_findmy_sv||5.015001| pad_fixup_inner_anons||| pad_free||| pad_leavemy||| -pad_new||| -pad_peg|||n +pad_new||5.008001| pad_push||| pad_reset||| pad_setsv||| pad_sv||| pad_swipe||| -pad_tidy||| +pad_tidy||5.008001| padlist_dup||| +padlist_store||| +padname_dup||| +padname_free||| +padnamelist_dup||| +padnamelist_fetch||5.021007|n +padnamelist_free||| +padnamelist_store||5.021007| parse_arithexpr||5.013008| parse_barestmt||5.013007| parse_block||5.013007| parse_body||| parse_fullexpr||5.013008| parse_fullstmt||5.013005| +parse_gv_stash_name||| +parse_ident||| parse_label||5.013007| parse_listexpr||5.013008| +parse_lparen_question_flags||| parse_stmtseq||5.013006| +parse_subsignature||| parse_termexpr||5.013008| parse_unicode_opts||| parser_dup||| +parser_free_nexttoke_ops||| parser_free||| -path_is_absolute|||n +path_is_searchable|||n peep||| -pending_Slabs_to_ro||| +pending_ident||| perl_alloc_using|||n perl_alloc|||n perl_clone_using|||n @@ -2018,20 +2282,20 @@ pidgone||| pm_description||| pmop_dump||5.006000| -pmop_xmldump||| pmruntime||| pmtrans||| pop_scope||| +populate_ANYOF_from_invlist||| populate_isa|||v pregcomp||5.009005| pregexec||| pregfree2||5.011000| pregfree||| -prepend_madprops||| prescan_version||5.011004| printbuf||| printf_nocontext|||vn process_special_blocks||| +ptr_hash|||n ptr_table_clear||5.009005| ptr_table_fetch||5.009005| ptr_table_find|||n @@ -2040,24 +2304,33 @@ ptr_table_split||5.009005| ptr_table_store||5.009005| push_scope||| -put_byte||| +put_charclass_bitmap_innards_common||| +put_charclass_bitmap_innards_invlist||| +put_charclass_bitmap_innards||| +put_code_point||| +put_range||| pv_display|5.006000||p pv_escape|5.009004||p pv_pretty|5.009004||p pv_uni_display||5.007003| qerror||| qsortsvu||| +quadmath_format_needed|||n +quadmath_format_single|||n re_compile||5.009005| re_croak2||| re_dup_guts||| -re_intuit_start||5.009005| +re_exec_indentf|||v +re_indentf|||v +re_intuit_start||5.019001| re_intuit_string||5.006000| -readpipe_override||| +re_op_compile||| +re_printf|||v realloc||5.007002|n -reentrant_free||| -reentrant_init||| -reentrant_retry|||vn -reentrant_size||| +reentrant_free||5.024000| +reentrant_init||5.024000| +reentrant_retry||5.024000|vn +reentrant_size||5.024000| ref_array_or_hash||| refcounted_he_chain_2hv||| refcounted_he_fetch_pvn||| @@ -2073,8 +2346,9 @@ refcounted_he_value||| refkids||| refto||| -ref||5.014000| -reg_check_named_buff_matched||| +ref||5.024000| +reg2Lanode||| +reg_check_named_buff_matched|||n reg_named_buff_all||5.009005| reg_named_buff_exists||5.009005| reg_named_buff_fetch||5.009005| @@ -2083,7 +2357,6 @@ reg_named_buff_nextkey||5.009005| reg_named_buff_scalar||5.009005| reg_named_buff||| -reg_namedseq||| reg_node||| reg_numbered_buff_fetch||| reg_numbered_buff_length||| @@ -2091,7 +2364,7 @@ reg_qr_package||| reg_recode||| reg_scan_name||| -reg_skipcomment||| +reg_skipcomment|||n reg_temp_copy||| reganode||| regatom||| @@ -2100,10 +2373,12 @@ regclass||| regcppop||| regcppush||| -regcurly||| +regcurly|||n regdump_extflags||| +regdump_intflags||| regdump||5.005000| regdupe_internal||| +regex_set_precedence|||n regexec_flags||5.005000| regfree_internal||5.009005| reghop3|||n @@ -2114,18 +2389,17 @@ reginsert||| regmatch||| regnext||5.005000| +regnode_guts||| regpiece||| -regpposixcc||| regprop||| regrepeat||| regtail_study||| regtail||| regtry||| -reguni||| -regwhite|||n reg||| repeatcpy|||n report_evil_fh||| +report_redefined_cv||| report_uninit||| report_wrongway_fh||| require_pv||5.006000| @@ -2184,7 +2458,7 @@ save_lines||| save_list||| save_long||| -save_magic||| +save_magic_flags||| save_mortalizesv||5.007001| save_nogv||| save_op||5.005000| @@ -2200,6 +2474,7 @@ save_set_svflags||5.009000| save_shared_pvref||5.007003| save_sptr||| +save_strlen||| save_svref||| save_vptr||5.006000| savepvn||| @@ -2212,6 +2487,7 @@ savestack_grow_cnt||5.008001| savestack_grow||| savesvpv||5.009002| +savetmps||5.023008| sawparens||| scalar_mod_type|||n scalarboolean||| @@ -2236,28 +2512,25 @@ scan_version||5.009001| scan_vstring||5.009005| scan_word||| -screaminstr||5.005000| search_const||| seed||5.008001| sequence_num||| -sequence_tail||| -sequence||| +set_ANYOF_arg||| +set_caret_X||| set_context||5.006000|n set_numeric_local||5.006000| set_numeric_radix||5.006000| set_numeric_standard||5.006000| -set_regclass_bit_fold||| -set_regclass_bit||| +set_padlist|||n setdefout||| share_hek_flags||| share_hek||5.004000| +should_warn_nl|||n si_dup||| sighandler|||n simplify_sort||| -skipspace0||| -skipspace1||| -skipspace2||| -skipspace||| +skip_to_be_ignored_text||| +skipspace_flags||| softref2xv||| sortcv_stacked||| sortcv_xsub||| @@ -2266,13 +2539,22 @@ sortsv||5.007003| space_join_names_mortal||| ss_dup||| +ssc_add_range||| +ssc_and||| +ssc_anything||| +ssc_clear_locale|||n +ssc_cp_and||| +ssc_finalize||| +ssc_init||| +ssc_intersection||| +ssc_is_anything|||n +ssc_is_cp_posixl_init|||n +ssc_or||| +ssc_union||| stack_grow||| -start_force||| start_glob||| start_subparse||5.004000| -stashpv_hvname_match||5.014000| stdize_locale||| -store_cop_label||| strEQ||| strGE||| strGT||| @@ -2310,8 +2592,10 @@ sv_2uv|5.004000||p sv_add_arena||| sv_add_backref||| -sv_backoff||| +sv_backoff|||n sv_bless||| +sv_buf_to_ro||| +sv_buf_to_rw||| sv_cat_decode||5.008001| sv_catpv_flags||5.013006| sv_catpv_mg|5.004050||p @@ -2333,9 +2617,6 @@ sv_catsv_mg|5.004050||p sv_catsv_nomg|5.007002||p sv_catsv||| -sv_catxmlpvn||| -sv_catxmlpv||| -sv_catxmlsv||| sv_chop||| sv_clean_all||| sv_clean_objs||| @@ -2346,14 +2627,21 @@ sv_cmp||| sv_collxfrm_flags||5.013006| sv_collxfrm||| -sv_compile_2op_is_broken||| -sv_compile_2op||5.008001| -sv_copypv||5.007003| +sv_copypv_flags||5.017002| +sv_copypv_nomg||5.017002| +sv_copypv||| sv_dec_nomg||5.013002| sv_dec||| sv_del_backref||| +sv_derived_from_pvn||5.015004| +sv_derived_from_pv||5.015004| +sv_derived_from_sv||5.015004| sv_derived_from||5.004000| sv_destroyable||5.010000| +sv_display||| +sv_does_pvn||5.015004| +sv_does_pv||5.015004| +sv_does_sv||5.015004| sv_does||5.009004| sv_dump||| sv_dup_common||| @@ -2368,7 +2656,8 @@ sv_free2||| sv_free_arenas||| sv_free||| -sv_gets||5.004000| +sv_get_backrefs||5.021008|n +sv_gets||5.003070| sv_grow||| sv_i_ncmp||| sv_inc_nomg||5.013002| @@ -2379,11 +2668,14 @@ sv_isobject||| sv_iv||5.005000| sv_kill_backrefs||| +sv_len_utf8_nomg||| sv_len_utf8||5.006000| sv_len||| -sv_magic_portable|5.014000|5.004000|p +sv_magic_portable|5.024000|5.004000|p +sv_magicext_mglob||| sv_magicext||5.007003| sv_magic||| +sv_mortalcopy_flags||| sv_mortalcopy||| sv_ncmp||| sv_newmortal||| @@ -2392,7 +2684,10 @@ sv_nosharing||5.007003| sv_nounlocking||| sv_nv||5.005000| +sv_only_taint_gmagic|||n +sv_or_pv_pos_u2b||| sv_peek||5.005000| +sv_pos_b2u_flags||5.019003| sv_pos_b2u_midway||| sv_pos_b2u||5.006000| sv_pos_u2b_cached||| @@ -2413,11 +2708,13 @@ sv_pv||5.006000| sv_recode_to_utf8||5.007003| sv_reftype||| -sv_release_COW||| +sv_ref||5.015004| sv_replace||| sv_report_used||| +sv_resetpvn||| sv_reset||| sv_rvweaken||5.006000| +sv_sethek||| sv_setiv_mg|5.004050||p sv_setiv||| sv_setnv_mg|5.006000||p @@ -2437,7 +2734,7 @@ sv_setref_iv||| sv_setref_nv||| sv_setref_pvn||| -sv_setref_pvs||5.013006| +sv_setref_pvs||5.024000| sv_setref_pv||| sv_setref_uv||5.007001| sv_setsv_cow||| @@ -2452,7 +2749,7 @@ sv_true||5.005000| sv_unglob||| sv_uni_display||5.007003| -sv_unmagicext||5.013008| +sv_unmagicext|5.013008||p sv_unmagic||| sv_unref_flags||5.007001| sv_unref||| @@ -2470,17 +2767,19 @@ sv_utf8_upgrade||5.007001| sv_uv|5.005000||p sv_vcatpvf_mg|5.006000|5.004000|p +sv_vcatpvfn_flags||5.017002| sv_vcatpvfn||5.004000| sv_vcatpvf|5.006000|5.004000|p sv_vsetpvf_mg|5.006000|5.004000|p sv_vsetpvfn||5.004000| sv_vsetpvf|5.006000|5.004000|p -sv_xmlpeek||| svtype||| swallow_bom||| swash_fetch||5.007002| -swash_get||| swash_init||5.006000| +swash_scan_list_line||| +swatch_get||| +sync_locale||5.021004| sys_init3||5.010000|n sys_init||5.010000|n sys_intern_clear||| @@ -2490,10 +2789,23 @@ taint_env||| taint_proper||| tied_method|||v -tmps_grow||5.006000| +tmps_grow_p||| +toFOLD_utf8||5.019001| +toFOLD_uvchr||5.023009| +toFOLD||5.019001| +toLOWER_L1||5.019001| +toLOWER_LC||5.004000| +toLOWER_utf8||5.015007| +toLOWER_uvchr||5.023009| toLOWER||| +toTITLE_utf8||5.015007| +toTITLE_uvchr||5.023009| +toTITLE||5.019001| +toUPPER_utf8||5.015007| +toUPPER_uvchr||5.023009| toUPPER||| to_byte_substr||| +to_lower_latin1|||n to_uni_fold||5.007003| to_uni_lower_lc||5.006000| to_uni_lower||5.007003| @@ -2502,18 +2814,17 @@ to_uni_upper_lc||5.006000| to_uni_upper||5.007003| to_utf8_case||5.007003| -to_utf8_fold||5.007003| -to_utf8_lower||5.007003| +to_utf8_fold||5.015007| +to_utf8_lower||5.015007| to_utf8_substr||| -to_utf8_title||5.007003| -to_utf8_upper||5.007003| -token_free||| -token_getmad||| +to_utf8_title||5.015007| +to_utf8_upper||5.015007| tokenize_use||| tokeq||| tokereport||| -too_few_arguments||| -too_many_arguments||| +too_few_arguments_pv||| +too_many_arguments_pv||| +translate_substr_offsets|||n try_amagic_bin||| try_amagic_un||| uiv_2buf|||n @@ -2524,7 +2835,7 @@ unreferenced_to_tmp_stack||| unshare_hek_or_pvn||| unshare_hek||| -unsharepvn||5.004000| +unsharepvn||5.003070| unwind_handler_stack||| update_debugger_info||| upg_version||5.009005| @@ -2533,20 +2844,26 @@ utf16_to_utf8_reversed||5.006001| utf16_to_utf8||5.006001| utf8_distance||5.006000| -utf8_hop||5.006000| +utf8_hop||5.006000|n utf8_length||5.007001| utf8_mg_len_cache_update||| utf8_mg_pos_cache_update||| utf8_to_bytes||5.006001| +utf8_to_uvchr_buf||5.015009| utf8_to_uvchr||5.007001| +utf8_to_uvuni_buf||5.015009| utf8_to_uvuni||5.007001| -utf8n_to_uvchr||| +utf8n_to_uvchr||5.007001| utf8n_to_uvuni||5.007001| utilize||| uvchr_to_utf8_flags||5.007003| -uvchr_to_utf8||| +uvchr_to_utf8||5.007001| +uvoffuni_to_utf8_flags||5.019004| uvuni_to_utf8_flags||5.007003| uvuni_to_utf8||5.007001| +valid_utf8_to_uvchr||5.015009| +valid_utf8_to_uvuni||5.015009| +validate_proto||| validate_suid||| varname||| vcmp||5.009000| @@ -2571,24 +2888,21 @@ warner_nocontext|||vn warner|5.006000|5.004000|pv warn|||v +was_lvalue_sub||| watch||| +whichsig_pvn||5.015004| +whichsig_pv||5.015004| +whichsig_sv||5.015004| whichsig||| +win32_croak_not_implemented|||n with_queued_errors||| -write_no_mem||| +wrap_op_checker||5.015008| write_to_stderr||| -xmldump_all_perl||| -xmldump_all||| -xmldump_attr||| -xmldump_eval||| -xmldump_form||| -xmldump_indent|||v -xmldump_packsubs_perl||| -xmldump_packsubs||| -xmldump_sub_perl||| -xmldump_sub||| -xmldump_vindent||| -xs_apiversion_bootcheck||| +xs_boot_epilog||| +xs_handshake|||vn xs_version_bootcheck||| +yyerror_pvn||| +yyerror_pv||| yyerror||| yylex||| yyparse||| @@ -3696,6 +4010,10 @@ # define IVSIZE 8 #endif +#ifndef LONGSIZE +# define LONGSIZE 8 +#endif + #ifndef PERL_QUAD_MIN # define PERL_QUAD_MIN IV_MIN #endif @@ -3717,6 +4035,10 @@ # define IVTYPE long #endif +#ifndef LONGSIZE +# define LONGSIZE 4 +#endif + #ifndef IV_MIN # define IV_MIN PERL_LONG_MIN #endif @@ -3879,6 +4201,67 @@ #ifndef Newxz # define Newxz(v,n,t) Newz(0,v,n,t) #endif +#ifndef PERL_MAGIC_qr +# define PERL_MAGIC_qr 'r' +#endif +#ifndef cBOOL +# define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0) +#endif + +#ifndef OpHAS_SIBLING +# define OpHAS_SIBLING(o) (cBOOL((o)->op_sibling)) +#endif + +#ifndef OpSIBLING +# define OpSIBLING(o) (0 + (o)->op_sibling) +#endif + +#ifndef OpMORESIB_set +# define OpMORESIB_set(o, sib) ((o)->op_sibling = (sib)) +#endif + +#ifndef OpLASTSIB_set +# define OpLASTSIB_set(o, parent) ((o)->op_sibling = NULL) +#endif + +#ifndef OpMAYBESIB_set +# define OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib)) +#endif + +#ifndef SvRX +#if defined(NEED_SvRX) +static void * DPPP_(my_SvRX)(pTHX_ SV *rv); +static +#else +extern void * DPPP_(my_SvRX)(pTHX_ SV *rv); +#endif + +#ifdef SvRX +# undef SvRX +#endif +#define SvRX(a) DPPP_(my_SvRX)(aTHX_ a) + +#if defined(NEED_SvRX) || defined(NEED_SvRX_GLOBAL) + +void * +DPPP_(my_SvRX)(pTHX_ SV *rv) +{ + if (SvROK(rv)) { + SV *sv = SvRV(rv); + if (SvMAGICAL(sv)) { + MAGIC *mg = mg_find(sv, PERL_MAGIC_qr); + if (mg && mg->mg_obj) { + return mg->mg_obj; + } + } + } + return 0; +} +#endif +#endif +#ifndef SvRXOK +# define SvRXOK(sv) (!!SvRX(sv)) +#endif #ifndef PERL_UNUSED_DECL # ifdef HASATTRIBUTE @@ -3912,6 +4295,14 @@ # define PERL_UNUSED_CONTEXT # endif #endif + +#ifndef PERL_UNUSED_RESULT +# if defined(__GNUC__) && defined(HASATTRIBUTE_WARN_UNUSED_RESULT) +# define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END +# else +# define PERL_UNUSED_RESULT(v) ((void)(v)) +# endif +#endif #ifndef NOOP # define NOOP /*EMPTY*/(void)0 #endif @@ -3998,15 +4389,15 @@ #undef STMT_START #undef STMT_END #ifdef PERL_USE_GCC_BRACE_GROUPS -# define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */ -# define STMT_END ) +# define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */ +# define STMT_END ) #else # if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__) -# define STMT_START if (1) -# define STMT_END else (void)0 +# define STMT_START if (1) +# define STMT_END else (void)0 # else -# define STMT_START do -# define STMT_END while (0) +# define STMT_START do +# define STMT_END while (0) # endif #endif #ifndef boolSV @@ -4119,13 +4510,13 @@ #endif #ifndef PERL_HASH # define PERL_HASH(hash,str,len) \ - STMT_START { \ - const char *s_PeRlHaSh = str; \ - I32 i_PeRlHaSh = len; \ - U32 hash_PeRlHaSh = 0; \ - while (i_PeRlHaSh--) \ - hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \ - (hash) = hash_PeRlHaSh; \ + STMT_START { \ + const char *s_PeRlHaSh = str; \ + I32 i_PeRlHaSh = len; \ + U32 hash_PeRlHaSh = 0; \ + while (i_PeRlHaSh--) \ + hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \ + (hash) = hash_PeRlHaSh; \ } STMT_END #endif @@ -4197,16 +4588,26 @@ */ # undef isPRINT # endif + +#ifdef HAS_QUAD +# ifdef U64TYPE +# define WIDEST_UTYPE U64TYPE +# else +# define WIDEST_UTYPE Quad_t +# endif +#else +# define WIDEST_UTYPE U32 +#endif #ifndef isALNUMC # define isALNUMC(c) (isALPHA(c) || isDIGIT(c)) #endif #ifndef isASCII -# define isASCII(c) ((U8) (c) <= 127) +# define isASCII(c) ((WIDEST_UTYPE) (c) <= 127) #endif #ifndef isCNTRL -# define isCNTRL(c) ((U8) (c) < ' ' || (c) == 127) +# define isCNTRL(c) ((WIDEST_UTYPE) (c) < ' ' || (c) == 127) #endif #ifndef isGRAPH @@ -4227,6 +4628,23 @@ #endif +/* Until we figure out how to support this in older perls... */ +#if (PERL_BCDVERSION >= 0x5008000) +#ifndef HeUTF8 +# define HeUTF8(he) ((HeKLEN(he) == HEf_SVKEY) ? \ + SvUTF8(HeKEY_sv(he)) : \ + (U32)HeKUTF8(he)) +#endif + +#endif +#ifndef C_ARRAY_LENGTH +# define C_ARRAY_LENGTH(a) (sizeof(a)/sizeof((a)[0])) +#endif + +#ifndef C_ARRAY_END +# define C_ARRAY_END(a) ((a) + C_ARRAY_LENGTH(a)) +#endif + #ifndef PERL_SIGNALS_UNSAFE_FLAG #define PERL_SIGNALS_UNSAFE_FLAG 0x0001 @@ -4346,7 +4764,7 @@ /* PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters, PL_linestr, PL_bufptr, PL_bufend, PL_lex_state, PL_lex_stuff, PL_tokenbuf depends on PL_parser */ /* Warning: PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters, PL_linestr, PL_bufptr, PL_bufend, PL_lex_state, PL_lex_stuff, PL_tokenbuf * Do not use this variable unless you know exactly what you're - * doint. It is internal to the perl parser and may change or even + * doing. It is internal to the perl parser and may change or even * be removed in the future. As of perl 5.9.5, you have to check * for (PL_parser != NULL) for this variable to have any effect. * An always non-NULL PL_parser dummy is provided for earlier @@ -4460,16 +4878,16 @@ #endif #ifndef G_METHOD -# define G_METHOD 64 +# define G_METHOD 64 # ifdef call_sv # undef call_sv # endif # if (PERL_BCDVERSION < 0x5006000) # define call_sv(sv, flags) ((flags) & G_METHOD ? perl_call_method((char *) SvPV_nolen_const(sv), \ - (flags) & ~G_METHOD) : perl_call_sv(sv, flags)) + (flags) & ~G_METHOD) : perl_call_sv(sv, flags)) # else # define call_sv(sv, flags) ((flags) & G_METHOD ? Perl_call_method(aTHX_ (char *) SvPV_nolen_const(sv), \ - (flags) & ~G_METHOD) : Perl_call_sv(aTHX_ sv, flags)) + (flags) & ~G_METHOD) : Perl_call_sv(aTHX_ sv, flags)) # endif #endif @@ -4506,7 +4924,7 @@ PUTBACK; if (croak_on_error && SvTRUE(GvSV(errgv))) - croak(SvPVx(GvSV(errgv), na)); + croak(SvPVx(GvSV(errgv), na)); return sv; } @@ -4546,40 +4964,43 @@ SvREADONLY_off(((SVOP*)modname)->op_sv); modname->op_private |= OPpCONST_BARE; if (ver) { - veop = newSVOP(OP_CONST, 0, ver); + veop = newSVOP(OP_CONST, 0, ver); } else - veop = NULL; + veop = NULL; if (flags & PERL_LOADMOD_NOIMPORT) { - imop = sawparens(newNULLLIST()); + imop = sawparens(newNULLLIST()); } else if (flags & PERL_LOADMOD_IMPORT_OPS) { - imop = va_arg(*args, OP*); + imop = va_arg(*args, OP*); } else { - SV *sv; - imop = NULL; - sv = va_arg(*args, SV*); - while (sv) { - imop = append_elem(OP_LIST, imop, newSVOP(OP_CONST, 0, sv)); - sv = va_arg(*args, SV*); - } + SV *sv; + imop = NULL; + sv = va_arg(*args, SV*); + while (sv) { + imop = append_elem(OP_LIST, imop, newSVOP(OP_CONST, 0, sv)); + sv = va_arg(*args, SV*); + } } { - const line_t ocopline = PL_copline; - COP * const ocurcop = PL_curcop; - const int oexpect = PL_expect; + const line_t ocopline = PL_copline; + COP * const ocurcop = PL_curcop; + const int oexpect = PL_expect; #if (PERL_BCDVERSION >= 0x5004000) - utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(FALSE, 0), - veop, modname, imop); -#else - utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(), - modname, imop); -#endif - PL_expect = oexpect; - PL_copline = ocopline; - PL_curcop = ocurcop; + utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(FALSE, 0), + veop, modname, imop); +#elif (PERL_BCDVERSION > 0x5003000) + utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(), + veop, modname, imop); +#else + utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(), + modname, imop); +#endif + PL_expect = oexpect; + PL_copline = ocopline; + PL_curcop = ocurcop; } } @@ -4671,35 +5092,35 @@ void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv) { - U32 oldhints = PL_hints; - HV *old_cop_stash = PL_curcop->cop_stash; - HV *old_curstash = PL_curstash; - line_t oldline = PL_curcop->cop_line; - PL_curcop->cop_line = D_PPP_PL_copline; - - PL_hints &= ~HINT_BLOCK_SCOPE; - if (stash) - PL_curstash = PL_curcop->cop_stash = stash; + U32 oldhints = PL_hints; + HV *old_cop_stash = PL_curcop->cop_stash; + HV *old_curstash = PL_curstash; + line_t oldline = PL_curcop->cop_line; + PL_curcop->cop_line = D_PPP_PL_copline; + + PL_hints &= ~HINT_BLOCK_SCOPE; + if (stash) + PL_curstash = PL_curcop->cop_stash = stash; - newSUB( + newSUB( #if (PERL_BCDVERSION < 0x5003022) - start_subparse(), + start_subparse(), #elif (PERL_BCDVERSION == 0x5003022) - start_subparse(0), + start_subparse(0), #else /* 5.003_23 onwards */ - start_subparse(FALSE, 0), + start_subparse(FALSE, 0), #endif - newSVOP(OP_CONST, 0, newSVpv((char *) name, 0)), - newSVOP(OP_CONST, 0, &PL_sv_no), /* SvPV(&PL_sv_no) == "" -- GMB */ - newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv)) - ); - - PL_hints = oldhints; - PL_curcop->cop_stash = old_cop_stash; - PL_curstash = old_curstash; - PL_curcop->cop_line = oldline; + newSVOP(OP_CONST, 0, newSVpv((char *) name, 0)), + newSVOP(OP_CONST, 0, &PL_sv_no), /* SvPV(&PL_sv_no) == "" -- GMB */ + newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv)) + ); + + PL_hints = oldhints; + PL_curcop->cop_stash = old_cop_stash; + PL_curstash = old_curstash; + PL_curcop->cop_line = oldline; } #endif #endif @@ -4736,64 +5157,64 @@ #if (PERL_BCDVERSION < 0x5004068) /* Fetches the SV that keeps the per-interpreter data. */ #define dMY_CXT_SV \ - SV *my_cxt_sv = get_sv(MY_CXT_KEY, FALSE) + SV *my_cxt_sv = get_sv(MY_CXT_KEY, FALSE) #else /* >= perl5.004_68 */ #define dMY_CXT_SV \ - SV *my_cxt_sv = *hv_fetch(PL_modglobal, MY_CXT_KEY, \ - sizeof(MY_CXT_KEY)-1, TRUE) + SV *my_cxt_sv = *hv_fetch(PL_modglobal, MY_CXT_KEY, \ + sizeof(MY_CXT_KEY)-1, TRUE) #endif /* < perl5.004_68 */ /* This declaration should be used within all functions that use the * interpreter-local data. */ -#define dMY_CXT \ - dMY_CXT_SV; \ - my_cxt_t *my_cxtp = INT2PTR(my_cxt_t*,SvUV(my_cxt_sv)) +#define dMY_CXT \ + dMY_CXT_SV; \ + my_cxt_t *my_cxtp = INT2PTR(my_cxt_t*,SvUV(my_cxt_sv)) /* Creates and zeroes the per-interpreter data. * (We allocate my_cxtp in a Perl SV so that it will be released when * the interpreter goes away.) */ #define MY_CXT_INIT \ - dMY_CXT_SV; \ - /* newSV() allocates one more than needed */ \ - my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ - Zero(my_cxtp, 1, my_cxt_t); \ - sv_setuv(my_cxt_sv, PTR2UV(my_cxtp)) + dMY_CXT_SV; \ + /* newSV() allocates one more than needed */ \ + my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ + Zero(my_cxtp, 1, my_cxt_t); \ + sv_setuv(my_cxt_sv, PTR2UV(my_cxtp)) /* This macro must be used to access members of the my_cxt_t structure. * e.g. MYCXT.some_data */ -#define MY_CXT (*my_cxtp) +#define MY_CXT (*my_cxtp) /* Judicious use of these macros can reduce the number of times dMY_CXT * is used. Use is similar to pTHX, aTHX etc. */ -#define pMY_CXT my_cxt_t *my_cxtp -#define pMY_CXT_ pMY_CXT, -#define _pMY_CXT ,pMY_CXT -#define aMY_CXT my_cxtp -#define aMY_CXT_ aMY_CXT, -#define _aMY_CXT ,aMY_CXT +#define pMY_CXT my_cxt_t *my_cxtp +#define pMY_CXT_ pMY_CXT, +#define _pMY_CXT ,pMY_CXT +#define aMY_CXT my_cxtp +#define aMY_CXT_ aMY_CXT, +#define _aMY_CXT ,aMY_CXT #endif /* START_MY_CXT */ #ifndef MY_CXT_CLONE /* Clones the per-interpreter data. */ #define MY_CXT_CLONE \ - dMY_CXT_SV; \ - my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ - Copy(INT2PTR(my_cxt_t*, SvUV(my_cxt_sv)), my_cxtp, 1, my_cxt_t);\ - sv_setuv(my_cxt_sv, PTR2UV(my_cxtp)) + dMY_CXT_SV; \ + my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ + Copy(INT2PTR(my_cxt_t*, SvUV(my_cxt_sv)), my_cxtp, 1, my_cxt_t);\ + sv_setuv(my_cxt_sv, PTR2UV(my_cxtp)) #endif #else /* single interpreter */ #ifndef START_MY_CXT -#define START_MY_CXT static my_cxt_t my_cxt; -#define dMY_CXT_SV dNOOP -#define dMY_CXT dNOOP -#define MY_CXT_INIT NOOP -#define MY_CXT my_cxt +#define START_MY_CXT static my_cxt_t my_cxt; +#define dMY_CXT_SV dNOOP +#define dMY_CXT dNOOP +#define MY_CXT_INIT NOOP +#define MY_CXT my_cxt -#define pMY_CXT void +#define pMY_CXT void #define pMY_CXT_ #define _pMY_CXT #define aMY_CXT @@ -4803,26 +5224,26 @@ #endif /* START_MY_CXT */ #ifndef MY_CXT_CLONE -#define MY_CXT_CLONE NOOP +#define MY_CXT_CLONE NOOP #endif #endif #ifndef IVdf # if IVSIZE == LONGSIZE -# define IVdf "ld" -# define UVuf "lu" -# define UVof "lo" -# define UVxf "lx" -# define UVXf "lX" +# define IVdf "ld" +# define UVuf "lu" +# define UVof "lo" +# define UVxf "lx" +# define UVXf "lX" +# elif IVSIZE == INTSIZE +# define IVdf "d" +# define UVuf "u" +# define UVof "o" +# define UVxf "x" +# define UVXf "X" # else -# if IVSIZE == INTSIZE -# define IVdf "d" -# define UVuf "u" -# define UVof "o" -# define UVxf "x" -# define UVXf "X" -# endif +# error "cannot define IV/UV formats" # endif #endif @@ -4842,26 +5263,26 @@ #ifndef SvREFCNT_inc # ifdef PERL_USE_GCC_BRACE_GROUPS -# define SvREFCNT_inc(sv) \ - ({ \ - SV * const _sv = (SV*)(sv); \ - if (_sv) \ - (SvREFCNT(_sv))++; \ - _sv; \ +# define SvREFCNT_inc(sv) \ + ({ \ + SV * const _sv = (SV*)(sv); \ + if (_sv) \ + (SvREFCNT(_sv))++; \ + _sv; \ }) # else -# define SvREFCNT_inc(sv) \ +# define SvREFCNT_inc(sv) \ ((PL_Sv=(SV*)(sv)) ? (++(SvREFCNT(PL_Sv)),PL_Sv) : NULL) # endif #endif #ifndef SvREFCNT_inc_simple # ifdef PERL_USE_GCC_BRACE_GROUPS -# define SvREFCNT_inc_simple(sv) \ - ({ \ - if (sv) \ - (SvREFCNT(sv))++; \ - (SV *)(sv); \ +# define SvREFCNT_inc_simple(sv) \ + ({ \ + if (sv) \ + (SvREFCNT(sv))++; \ + (SV *)(sv); \ }) # else # define SvREFCNT_inc_simple(sv) \ @@ -4871,11 +5292,11 @@ #ifndef SvREFCNT_inc_NN # ifdef PERL_USE_GCC_BRACE_GROUPS -# define SvREFCNT_inc_NN(sv) \ - ({ \ - SV * const _sv = (SV*)(sv); \ - SvREFCNT(_sv)++; \ - _sv; \ +# define SvREFCNT_inc_NN(sv) \ + ({ \ + SV * const _sv = (SV*)(sv); \ + SvREFCNT(_sv)++; \ + _sv; \ }) # else # define SvREFCNT_inc_NN(sv) \ @@ -4885,11 +5306,11 @@ #ifndef SvREFCNT_inc_void # ifdef PERL_USE_GCC_BRACE_GROUPS -# define SvREFCNT_inc_void(sv) \ - ({ \ - SV * const _sv = (SV*)(sv); \ - if (_sv) \ - (void)(SvREFCNT(_sv)++); \ +# define SvREFCNT_inc_void(sv) \ + ({ \ + SV * const _sv = (SV*)(sv); \ + if (_sv) \ + (void)(SvREFCNT(_sv)++); \ }) # else # define SvREFCNT_inc_void(sv) \ @@ -5249,6 +5670,11 @@ #ifndef SvPV_nomg_const_nolen # define SvPV_nomg_const_nolen(sv) SvPV_flags_const_nolen(sv, 0) #endif + +#ifndef SvPV_nomg_nolen +# define SvPV_nomg_nolen(sv) ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? SvPVX(sv) : sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, 0)) +#endif #ifndef SvPV_renew # define SvPV_renew(sv,n) STMT_START { SvLEN_set(sv, n); \ SvPV_set((sv), (char *) saferealloc( \ @@ -5540,6 +5966,33 @@ #ifndef HvNAMELEN_get # define HvNAMELEN_get(hv) (HvNAME_get(hv) ? (I32)strlen(HvNAME_get(hv)) : 0) #endif + +#ifndef gv_fetchpvn_flags +#if defined(NEED_gv_fetchpvn_flags) +static GV* DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types); +static +#else +extern GV* DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types); +#endif + +#ifdef gv_fetchpvn_flags +# undef gv_fetchpvn_flags +#endif +#define gv_fetchpvn_flags(a,b,c,d) DPPP_(my_gv_fetchpvn_flags)(aTHX_ a,b,c,d) +#define Perl_gv_fetchpvn_flags DPPP_(my_gv_fetchpvn_flags) + +#if defined(NEED_gv_fetchpvn_flags) || defined(NEED_gv_fetchpvn_flags_GLOBAL) + +GV* +DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types) { + char *namepv = savepvn(name, len); + GV* stash = gv_fetchpv(namepv, TRUE, SVt_PVHV); + Safefree(namepv); + return stash; +} + +#endif +#endif #ifndef GvSVn # define GvSVn(gv) GvSV(gv) #endif @@ -5548,16 +6001,16 @@ # define isGV_with_GP(gv) isGV(gv) #endif -#ifndef gv_fetchpvn_flags -# define gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt) -#endif - #ifndef gv_fetchsv # define gv_fetchsv(name, flags, svt) gv_fetchpv(SvPV_nolen_const(name), flags, svt) #endif #ifndef get_cvn_flags # define get_cvn_flags(name, namelen, flags) get_cv(name, flags) #endif + +#ifndef gv_init_pvn +# define gv_init_pvn(gv, stash, ptr, len, flags) gv_init(gv, stash, ptr, len, flags & GV_ADDMULTI ? TRUE : FALSE) +#endif #ifndef WARN_ALL # define WARN_ALL 0 #endif @@ -5838,6 +6291,25 @@ #ifndef SvGETMAGIC # define SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END #endif + +/* Some random bits for sv_unmagicext. These should probably be pulled in for + real and organized at some point */ +#ifndef HEf_SVKEY +# define HEf_SVKEY -2 +#endif + +#ifndef MUTABLE_PTR +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +# define MUTABLE_PTR(p) ({ void *_p = (p); _p; }) +#else +# define MUTABLE_PTR(p) ((void *) (p)) +#endif +#endif +#ifndef MUTABLE_SV +# define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p)) +#endif + +/* end of random bits */ #ifndef PERL_MAGIC_sv # define PERL_MAGIC_sv '\0' #endif @@ -6153,6 +6625,100 @@ #endif +#if !defined(mg_findext) +#if defined(NEED_mg_findext) +static MAGIC * DPPP_(my_mg_findext)(SV * sv, int type, const MGVTBL *vtbl); +static +#else +extern MAGIC * DPPP_(my_mg_findext)(SV * sv, int type, const MGVTBL *vtbl); +#endif + +#define mg_findext DPPP_(my_mg_findext) +#define Perl_mg_findext DPPP_(my_mg_findext) + +#if defined(NEED_mg_findext) || defined(NEED_mg_findext_GLOBAL) + +MAGIC * +DPPP_(my_mg_findext)(SV * sv, int type, const MGVTBL *vtbl) { + if (sv) { + MAGIC *mg; + +#ifdef AvPAD_NAMELIST + assert(!(SvTYPE(sv) == SVt_PVAV && AvPAD_NAMELIST(sv))); +#endif + + for (mg = SvMAGIC (sv); mg; mg = mg->mg_moremagic) { + if (mg->mg_type == type && mg->mg_virtual == vtbl) + return mg; + } + } + + return NULL; +} + +#endif +#endif + +#if !defined(sv_unmagicext) +#if defined(NEED_sv_unmagicext) +static int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, MGVTBL * vtbl); +static +#else +extern int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, MGVTBL * vtbl); +#endif + +#ifdef sv_unmagicext +# undef sv_unmagicext +#endif +#define sv_unmagicext(a,b,c) DPPP_(my_sv_unmagicext)(aTHX_ a,b,c) +#define Perl_sv_unmagicext DPPP_(my_sv_unmagicext) + +#if defined(NEED_sv_unmagicext) || defined(NEED_sv_unmagicext_GLOBAL) + +int +DPPP_(my_sv_unmagicext)(pTHX_ SV *const sv, const int type, MGVTBL *vtbl) +{ + MAGIC* mg; + MAGIC** mgp; + + if (SvTYPE(sv) < SVt_PVMG || !SvMAGIC(sv)) + return 0; + mgp = &(SvMAGIC(sv)); + for (mg = *mgp; mg; mg = *mgp) { + const MGVTBL* const virt = mg->mg_virtual; + if (mg->mg_type == type && virt == vtbl) { + *mgp = mg->mg_moremagic; + if (virt && virt->svt_free) + virt->svt_free(aTHX_ sv, mg); + if (mg->mg_ptr && mg->mg_type != PERL_MAGIC_regex_global) { + if (mg->mg_len > 0) + Safefree(mg->mg_ptr); + else if (mg->mg_len == HEf_SVKEY) /* Questionable on older perls... */ + SvREFCNT_dec(MUTABLE_SV(mg->mg_ptr)); + else if (mg->mg_type == PERL_MAGIC_utf8) + Safefree(mg->mg_ptr); + } + if (mg->mg_flags & MGf_REFCOUNTED) + SvREFCNT_dec(mg->mg_obj); + Safefree(mg); + } + else + mgp = &mg->mg_moremagic; + } + if (SvMAGIC(sv)) { + if (SvMAGICAL(sv)) /* if we're under save_magic, wait for restore_magic; */ + mg_magical(sv); /* else fix the flags now */ + } + else { + SvMAGICAL_off(sv); + SvFLAGS(sv) |= (SvFLAGS(sv) & (SVp_IOK|SVp_NOK|SVp_POK)) >> PRIVSHIFT; + } + return 0; +} + +#endif +#endif + #ifdef USE_ITHREADS #ifndef CopFILE # define CopFILE(c) ((c)->cop_file) @@ -6192,8 +6758,8 @@ #ifndef CopSTASH_eq # define CopSTASH_eq(c,hv) ((hv) && (CopSTASHPV(c) == HvNAME(hv) \ - || (CopSTASHPV(c) && HvNAME(hv) \ - && strEQ(CopSTASHPV(c), HvNAME(hv))))) + || (CopSTASHPV(c) && HvNAME(hv) \ + && strEQ(CopSTASHPV(c), HvNAME(hv))))) #endif #else @@ -6242,6 +6808,90 @@ #endif #endif /* USE_ITHREADS */ + +#if (PERL_BCDVERSION >= 0x5006000) +#ifndef caller_cx + +# if defined(NEED_caller_cx) || defined(NEED_caller_cx_GLOBAL) +static I32 +DPPP_dopoptosub_at(const PERL_CONTEXT *cxstk, I32 startingblock) +{ + I32 i; + + for (i = startingblock; i >= 0; i--) { + register const PERL_CONTEXT * const cx = &cxstk[i]; + switch (CxTYPE(cx)) { + default: + continue; + case CXt_EVAL: + case CXt_SUB: + case CXt_FORMAT: + return i; + } + } + return i; +} +# endif + +# if defined(NEED_caller_cx) +static const PERL_CONTEXT * DPPP_(my_caller_cx)(pTHX_ I32 count, const PERL_CONTEXT **dbcxp); +static +#else +extern const PERL_CONTEXT * DPPP_(my_caller_cx)(pTHX_ I32 count, const PERL_CONTEXT **dbcxp); +#endif + +#ifdef caller_cx +# undef caller_cx +#endif +#define caller_cx(a,b) DPPP_(my_caller_cx)(aTHX_ a,b) +#define Perl_caller_cx DPPP_(my_caller_cx) + +#if defined(NEED_caller_cx) || defined(NEED_caller_cx_GLOBAL) + +const PERL_CONTEXT * +DPPP_(my_caller_cx)(pTHX_ I32 count, const PERL_CONTEXT **dbcxp) +{ + register I32 cxix = DPPP_dopoptosub_at(cxstack, cxstack_ix); + register const PERL_CONTEXT *cx; + register const PERL_CONTEXT *ccstack = cxstack; + const PERL_SI *top_si = PL_curstackinfo; + + for (;;) { + /* we may be in a higher stacklevel, so dig down deeper */ + while (cxix < 0 && top_si->si_type != PERLSI_MAIN) { + top_si = top_si->si_prev; + ccstack = top_si->si_cxstack; + cxix = DPPP_dopoptosub_at(ccstack, top_si->si_cxix); + } + if (cxix < 0) + return NULL; + /* caller() should not report the automatic calls to &DB::sub */ + if (PL_DBsub && GvCV(PL_DBsub) && cxix >= 0 && + ccstack[cxix].blk_sub.cv == GvCV(PL_DBsub)) + count++; + if (!count--) + break; + cxix = DPPP_dopoptosub_at(ccstack, cxix - 1); + } + + cx = &ccstack[cxix]; + if (dbcxp) *dbcxp = cx; + + if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) { + const I32 dbcxix = DPPP_dopoptosub_at(ccstack, cxix - 1); + /* We expect that ccstack[dbcxix] is CXt_SUB, anyway, the + field below is defined for any cx. */ + /* caller() should not report the automatic calls to &DB::sub */ + if (PL_DBsub && GvCV(PL_DBsub) && dbcxix >= 0 && ccstack[dbcxix].blk_sub.cv == GvCV(PL_DBsub)) + cx = &ccstack[dbcxix]; + } + + return cx; +} + +# endif +#endif /* caller_cx */ +#endif /* 5.6.0 */ #ifndef IN_PERL_COMPILETIME # define IN_PERL_COMPILETIME (PL_curcop == &PL_compiling) #endif @@ -6417,7 +7067,7 @@ digit = *s - '0'; if (digit >= 0 && digit <= 9) { value = value * 10 + digit; - if (++s < send) { + if (++s < send) { digit = *s - '0'; if (digit >= 0 && digit <= 9) { value = value * 10 + digit; @@ -6465,7 +7115,7 @@ } } } - } + } } } } @@ -6477,7 +7127,7 @@ } } } - } + } } } numtype |= IS_NUMBER_IN_UV; @@ -6630,22 +7280,22 @@ value_nv = (NV) value; } value_nv *= 2.0; - /* If an NV has not enough bits in its mantissa to - * represent a UV this summing of small low-order numbers - * is a waste of time (because the NV cannot preserve - * the low-order bits anyway): we could just remember when - * did we overflow and in the end just multiply value_nv by the - * right amount. */ + /* If an NV has not enough bits in its mantissa to + * represent a UV this summing of small low-order numbers + * is a waste of time (because the NV cannot preserve + * the low-order bits anyway): we could just remember when + * did we overflow and in the end just multiply value_nv by the + * right amount. */ value_nv += (NV)(bit - '0'); continue; } if (bit == '_' && len && allow_underscores && (bit = s[1]) && (bit == '0' || bit == '1')) - { - --len; - ++s; + { + --len; + ++s; goto redo; - } + } if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT)) warn("Illegal binary digit '%c' ignored", *s); break; @@ -6653,10 +7303,10 @@ if ( ( overflowed && value_nv > 4294967295.0) #if UVSIZE > 4 - || (!overflowed && value > 0xffffffff ) + || (!overflowed && value > 0xffffffff ) #endif - ) { - warn("Binary number > 0b11111111111111111111111111111111 non-portable"); + ) { + warn("Binary number > 0b11111111111111111111111111111111 non-portable"); } *len_p = s - start; if (!overflowed) { @@ -6716,7 +7366,7 @@ } for (; len-- && *s; s++) { - xdigit = strchr((char *) PL_hexdigit, *s); + xdigit = strchr((char *) PL_hexdigit, *s); if (xdigit) { /* Write it in this wonky order with a goto to attempt to get the compiler to make the common case integer-only loop pretty tight. @@ -6732,22 +7382,22 @@ value_nv = (NV) value; } value_nv *= 16.0; - /* If an NV has not enough bits in its mantissa to - * represent a UV this summing of small low-order numbers - * is a waste of time (because the NV cannot preserve - * the low-order bits anyway): we could just remember when - * did we overflow and in the end just multiply value_nv by the - * right amount of 16-tuples. */ + /* If an NV has not enough bits in its mantissa to + * represent a UV this summing of small low-order numbers + * is a waste of time (because the NV cannot preserve + * the low-order bits anyway): we could just remember when + * did we overflow and in the end just multiply value_nv by the + * right amount of 16-tuples. */ value_nv += (NV)((xdigit - PL_hexdigit) & 15); continue; } if (*s == '_' && len && allow_underscores && s[1] - && (xdigit = strchr((char *) PL_hexdigit, s[1]))) - { - --len; - ++s; + && (xdigit = strchr((char *) PL_hexdigit, s[1]))) + { + --len; + ++s; goto redo; - } + } if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT)) warn("Illegal hexadecimal digit '%c' ignored", *s); break; @@ -6755,10 +7405,10 @@ if ( ( overflowed && value_nv > 4294967295.0) #if UVSIZE > 4 - || (!overflowed && value > 0xffffffff ) + || (!overflowed && value > 0xffffffff ) #endif - ) { - warn("Hexadecimal number > 0xffffffff non-portable"); + ) { + warn("Hexadecimal number > 0xffffffff non-portable"); } *len_p = s - start; if (!overflowed) { @@ -6820,22 +7470,22 @@ value_nv = (NV) value; } value_nv *= 8.0; - /* If an NV has not enough bits in its mantissa to - * represent a UV this summing of small low-order numbers - * is a waste of time (because the NV cannot preserve - * the low-order bits anyway): we could just remember when - * did we overflow and in the end just multiply value_nv by the - * right amount of 8-tuples. */ + /* If an NV has not enough bits in its mantissa to + * represent a UV this summing of small low-order numbers + * is a waste of time (because the NV cannot preserve + * the low-order bits anyway): we could just remember when + * did we overflow and in the end just multiply value_nv by the + * right amount of 8-tuples. */ value_nv += (NV)digit; continue; } if (digit == ('_' - '0') && len && allow_underscores && (digit = s[1] - '0') && (digit >= 0 && digit <= 7)) - { - --len; - ++s; + { + --len; + ++s; goto redo; - } + } /* Allow \octal to work the DWIM way (that is, stop scanning * as soon as non-octal characters are seen, complain only iff * someone seems to want to use the digits eight and nine). */ @@ -6848,10 +7498,10 @@ if ( ( overflowed && value_nv > 4294967295.0) #if UVSIZE > 4 - || (!overflowed && value > 0xffffffff ) + || (!overflowed && value > 0xffffffff ) #endif - ) { - warn("Octal number > 037777777777 non-portable"); + ) { + warn("Octal number > 037777777777 non-portable"); } *len_p = s - start; if (!overflowed) { @@ -6893,7 +7543,7 @@ #endif va_end(ap); if (retval < 0 || (len > 0 && (Size_t)retval >= len)) - Perl_croak(aTHX_ "panic: my_snprintf buffer overflow"); + Perl_croak(aTHX_ "panic: my_snprintf buffer overflow"); return retval; } @@ -7097,7 +7747,7 @@ octbuf[0] = esc; if (!(flags & PERL_PV_ESCAPE_NOCLEAR)) - sv_setpvs(dsv, ""); + sv_setpvs(dsv, ""); #if defined(is_utf8_string) && defined(utf8_to_uvchr) if ((flags & PERL_PV_ESCAPE_UNI_DETECT) && is_utf8_string((U8*)pv, count)) @@ -7107,59 +7757,59 @@ for (; pv < end && (!max || wrote < max) ; pv += readsize) { const UV u = #if defined(is_utf8_string) && defined(utf8_to_uvchr) - isuni ? utf8_to_uvchr((U8*)pv, &readsize) : + isuni ? utf8_to_uvchr((U8*)pv, &readsize) : #endif - (U8)*pv; + (U8)*pv; const U8 c = (U8)u & 0xFF; if (u > 255 || (flags & PERL_PV_ESCAPE_ALL)) { if (flags & PERL_PV_ESCAPE_FIRSTCHAR) chsize = my_snprintf(octbuf, sizeof octbuf, - "%"UVxf, u); + "%" UVxf, u); else chsize = my_snprintf(octbuf, sizeof octbuf, - "%cx{%"UVxf"}", esc, u); + "%cx{%" UVxf "}", esc, u); } else if (flags & PERL_PV_ESCAPE_NOBACKSLASH) { chsize = 1; } else { if (c == dq || c == esc || !isPRINT(c)) { - chsize = 2; + chsize = 2; switch (c) { - case '\\' : /* fallthrough */ - case '%' : if (c == esc) - octbuf[1] = esc; - else - chsize = 1; - break; - case '\v' : octbuf[1] = 'v'; break; - case '\t' : octbuf[1] = 't'; break; - case '\r' : octbuf[1] = 'r'; break; - case '\n' : octbuf[1] = 'n'; break; - case '\f' : octbuf[1] = 'f'; break; + case '\\' : /* fallthrough */ + case '%' : if (c == esc) + octbuf[1] = esc; + else + chsize = 1; + break; + case '\v' : octbuf[1] = 'v'; break; + case '\t' : octbuf[1] = 't'; break; + case '\r' : octbuf[1] = 'r'; break; + case '\n' : octbuf[1] = 'n'; break; + case '\f' : octbuf[1] = 'f'; break; case '"' : if (dq == '"') - octbuf[1] = '"'; - else - chsize = 1; - break; - default: chsize = my_snprintf(octbuf, sizeof octbuf, - pv < end && isDIGIT((U8)*(pv+readsize)) - ? "%c%03o" : "%c%o", esc, c); + octbuf[1] = '"'; + else + chsize = 1; + break; + default: chsize = my_snprintf(octbuf, sizeof octbuf, + pv < end && isDIGIT((U8)*(pv+readsize)) + ? "%c%03o" : "%c%o", esc, c); } } else { chsize = 1; } - } - if (max && wrote + chsize > max) { - break; + } + if (max && wrote + chsize > max) { + break; } else if (chsize > 1) { sv_catpvn(dsv, octbuf, chsize); wrote += chsize; - } else { - char tmp[2]; - my_snprintf(tmp, sizeof tmp, "%c", c); + } else { + char tmp[2]; + my_snprintf(tmp, sizeof tmp, "%c", c); sv_catpvn(dsv, tmp, 1); - wrote++; - } + wrote++; + } if (flags & PERL_PV_ESCAPE_FIRSTCHAR) break; } @@ -7196,7 +7846,7 @@ STRLEN escaped; if (!(flags & PERL_PV_PRETTY_NOCLEAR)) - sv_setpvs(dsv, ""); + sv_setpvs(dsv, ""); if (dq == '"') sv_catpvs(dsv, "\""); @@ -7212,12 +7862,12 @@ sv_catpv(dsv, D_PPP_CONSTPV_ARG(end_color)); if (dq == '"') - sv_catpvs(dsv, "\""); + sv_catpvs(dsv, "\""); else if (flags & PERL_PV_PRETTY_LTGT) sv_catpvs(dsv, ">"); if ((flags & PERL_PV_PRETTY_ELLIPSES) && escaped < count) - sv_catpvs(dsv, "..."); + sv_catpvs(dsv, "..."); return SvPVX(dsv); } @@ -7246,7 +7896,7 @@ { pv_pretty(dsv, pv, cur, pvlim, NULL, NULL, PERL_PV_PRETTY_DUMP); if (len > cur && pv[cur] == '\0') - sv_catpvs(dsv, "\\0"); + sv_catpvs(dsv, "\\0"); return SvPVX(dsv); } diff -Nru libppi-xs-perl-0.902/README libppi-xs-perl-0.910/README --- libppi-xs-perl-0.902/README 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/README 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,15 @@ + + +This archive contains the distribution PPI-XS, +version 0.910: + + (Minor) XS acceleration for PPI + +This software is copyright (c) 2005 by Adam Kennedy. + +This is free software; you can redistribute it and/or modify it under +the same terms as the Perl 5 programming language system itself. + + +This README file was generated by Dist::Zilla::Plugin::Readme v6.010. + diff -Nru libppi-xs-perl-0.902/t/00-report-prereqs.dd libppi-xs-perl-0.910/t/00-report-prereqs.dd --- libppi-xs-perl-0.902/t/00-report-prereqs.dd 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/t/00-report-prereqs.dd 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,131 @@ +do { my $x = { + 'configure' => { + 'requires' => { + 'ExtUtils::MakeMaker' => '0', + 'perl' => '5.006' + } + }, + 'develop' => { + 'recommends' => { + 'Dist::Zilla::PluginBundle::Author::ETHER' => '0.132' + }, + 'requires' => { + 'Devel::PPPort' => '3.23', + 'Encode' => '0', + 'File::Spec' => '0', + 'IO::Handle' => '0', + 'IPC::Open3' => '0', + 'Pod::Coverage::TrustPod' => '0', + 'Pod::Wordlist' => '0', + 'Test::CPAN::Changes' => '0.19', + 'Test::CPAN::Meta' => '0', + 'Test::CleanNamespaces' => '0.15', + 'Test::Kwalitee' => '1.21', + 'Test::MinimumVersion' => '0', + 'Test::Mojibake' => '0', + 'Test::More' => '0.96', + 'Test::Pod' => '1.41', + 'Test::Pod::Coverage' => '1.08', + 'Test::Pod::No404s' => '0', + 'Test::Portability::Files' => '0', + 'Test::Spelling' => '0.12', + 'perl' => '5.006', + 'warnings' => '0' + }, + 'suggests' => { + 'Dist::Zilla' => '5', + 'Dist::Zilla::Plugin::Authority' => '1.009', + 'Dist::Zilla::Plugin::AutoMetaResources' => '0', + 'Dist::Zilla::Plugin::AutoPrereqs' => '5.038', + 'Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional' => '0.004', + 'Dist::Zilla::Plugin::CheckIssues' => '0', + 'Dist::Zilla::Plugin::CheckMetaResources' => '0', + 'Dist::Zilla::Plugin::CheckPrereqsIndexed' => '0.019', + 'Dist::Zilla::Plugin::CheckSelfDependency' => '0', + 'Dist::Zilla::Plugin::CheckStrictVersion' => '0', + 'Dist::Zilla::Plugin::ConfirmRelease' => '0', + 'Dist::Zilla::Plugin::CopyFilesFromRelease' => '0', + 'Dist::Zilla::Plugin::EnsureLatestPerl' => '0', + 'Dist::Zilla::Plugin::FileFinder::ByName' => '0', + 'Dist::Zilla::Plugin::GenerateFile::FromShareDir' => '0', + 'Dist::Zilla::Plugin::Git::Check' => '0', + 'Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch' => '0.004', + 'Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts' => '0', + 'Dist::Zilla::Plugin::Git::Commit' => '2.020', + 'Dist::Zilla::Plugin::Git::Contributors' => '0.029', + 'Dist::Zilla::Plugin::Git::Describe' => '0.004', + 'Dist::Zilla::Plugin::Git::GatherDir' => '2.016', + 'Dist::Zilla::Plugin::Git::Push' => '0', + 'Dist::Zilla::Plugin::Git::Remote::Check' => '0', + 'Dist::Zilla::Plugin::Git::Tag' => '0', + 'Dist::Zilla::Plugin::GitHub::Update' => '0.40', + 'Dist::Zilla::Plugin::GithubMeta' => '0.54', + 'Dist::Zilla::Plugin::InstallGuide' => '1.200005', + 'Dist::Zilla::Plugin::Keywords' => '0.004', + 'Dist::Zilla::Plugin::License' => '5.038', + 'Dist::Zilla::Plugin::MakeMaker' => '0', + 'Dist::Zilla::Plugin::Manifest' => '0', + 'Dist::Zilla::Plugin::MetaConfig' => '0', + 'Dist::Zilla::Plugin::MetaJSON' => '0', + 'Dist::Zilla::Plugin::MetaNoIndex' => '0', + 'Dist::Zilla::Plugin::MetaProvides::Package' => '1.15000002', + 'Dist::Zilla::Plugin::MetaTests' => '0', + 'Dist::Zilla::Plugin::MetaYAML' => '0', + 'Dist::Zilla::Plugin::MinimumPerl' => '1.006', + 'Dist::Zilla::Plugin::MojibakeTests' => '0.8', + 'Dist::Zilla::Plugin::NextRelease' => '5.033', + 'Dist::Zilla::Plugin::PPPort' => '0', + 'Dist::Zilla::Plugin::PodCoverageTests' => '5.040', + 'Dist::Zilla::Plugin::PodSyntaxTests' => '5.040', + 'Dist::Zilla::Plugin::PodVersion' => '0', + 'Dist::Zilla::Plugin::Prereqs' => '0', + 'Dist::Zilla::Plugin::Prereqs::AuthorDeps' => '0.006', + 'Dist::Zilla::Plugin::PromptIfStale' => '0', + 'Dist::Zilla::Plugin::Readme' => '0', + 'Dist::Zilla::Plugin::ReadmeAnyFromPod' => '0.142180', + 'Dist::Zilla::Plugin::RewriteVersion::Transitional' => '0.004', + 'Dist::Zilla::Plugin::Run::AfterBuild' => '0.041', + 'Dist::Zilla::Plugin::Run::AfterRelease' => '0.038', + 'Dist::Zilla::Plugin::RunExtraTests' => '0.024', + 'Dist::Zilla::Plugin::StaticInstall' => '0.005', + 'Dist::Zilla::Plugin::Test::CPAN::Changes' => '0.012', + 'Dist::Zilla::Plugin::Test::ChangesHasContent' => '0', + 'Dist::Zilla::Plugin::Test::CleanNamespaces' => '0.006', + 'Dist::Zilla::Plugin::Test::Compile' => '2.039', + 'Dist::Zilla::Plugin::Test::Kwalitee' => '2.10', + 'Dist::Zilla::Plugin::Test::MinimumVersion' => '2.000003', + 'Dist::Zilla::Plugin::Test::Pod::No404s' => '1.003', + 'Dist::Zilla::Plugin::Test::PodSpelling' => '2.006003', + 'Dist::Zilla::Plugin::Test::Portability' => '2.000007', + 'Dist::Zilla::Plugin::Test::ReportPrereqs' => '0.022', + 'Dist::Zilla::Plugin::TestRelease' => '0', + 'Dist::Zilla::Plugin::UploadToCPAN' => '0', + 'Dist::Zilla::Plugin::UseUnsafeInc' => '0', + 'Dist::Zilla::PluginBundle::Author::ETHER' => '0.119', + 'Dist::Zilla::PluginBundle::Git::VersionManager' => '0', + 'Software::License::Perl_5' => '0' + } + }, + 'runtime' => { + 'requires' => { + 'PPI' => '1.000', + 'XSLoader' => '0', + 'perl' => '5.006', + 'strict' => '0' + } + }, + 'test' => { + 'recommends' => { + 'CPAN::Meta' => '2.120900' + }, + 'requires' => { + 'ExtUtils::MakeMaker' => '0', + 'File::Spec' => '0', + 'Test::More' => '0', + 'perl' => '5.006', + 'warnings' => '0' + } + } + }; + $x; + } \ No newline at end of file diff -Nru libppi-xs-perl-0.902/t/00-report-prereqs.t libppi-xs-perl-0.910/t/00-report-prereqs.t --- libppi-xs-perl-0.902/t/00-report-prereqs.t 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/t/00-report-prereqs.t 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,197 @@ +#!perl + +use strict; +use warnings; + +# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.027 + +use Test::More tests => 1; + +use ExtUtils::MakeMaker; +use File::Spec; + +# from $version::LAX +my $lax_version_re = + qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )? + | + (?:\.[0-9]+) (?:_[0-9]+)? + ) | (?: + v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )? + | + (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)? + ) + )/x; + +# hide optional CPAN::Meta modules from prereq scanner +# and check if they are available +my $cpan_meta = "CPAN::Meta"; +my $cpan_meta_pre = "CPAN::Meta::Prereqs"; +my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic + +# Verify requirements? +my $DO_VERIFY_PREREQS = 1; + +sub _max { + my $max = shift; + $max = ( $_ > $max ) ? $_ : $max for @_; + return $max; +} + +sub _merge_prereqs { + my ($collector, $prereqs) = @_; + + # CPAN::Meta::Prereqs object + if (ref $collector eq $cpan_meta_pre) { + return $collector->with_merged_prereqs( + CPAN::Meta::Prereqs->new( $prereqs ) + ); + } + + # Raw hashrefs + for my $phase ( keys %$prereqs ) { + for my $type ( keys %{ $prereqs->{$phase} } ) { + for my $module ( keys %{ $prereqs->{$phase}{$type} } ) { + $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module}; + } + } + } + + return $collector; +} + +my @include = qw( + JSON::PP + Pod::Coverage + Sub::Name + YAML + autodie +); + +my @exclude = qw( + +); + +# Add static prereqs to the included modules list +my $static_prereqs = do './t/00-report-prereqs.dd'; + +# Merge all prereqs (either with ::Prereqs or a hashref) +my $full_prereqs = _merge_prereqs( + ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ), + $static_prereqs +); + +# Add dynamic prereqs to the included modules list (if we can) +my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml'; +my $cpan_meta_error; +if ( $source && $HAS_CPAN_META + && (my $meta = eval { CPAN::Meta->load_file($source) } ) +) { + $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs); +} +else { + $cpan_meta_error = $@; # capture error from CPAN::Meta->load_file($source) + $source = 'static metadata'; +} + +my @full_reports; +my @dep_errors; +my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs; + +# Add static includes into a fake section +for my $mod (@include) { + $req_hash->{other}{modules}{$mod} = 0; +} + +for my $phase ( qw(configure build test runtime develop other) ) { + next unless $req_hash->{$phase}; + next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING}); + + for my $type ( qw(requires recommends suggests conflicts modules) ) { + next unless $req_hash->{$phase}{$type}; + + my $title = ucfirst($phase).' '.ucfirst($type); + my @reports = [qw/Module Want Have/]; + + for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) { + next if $mod eq 'perl'; + next if grep { $_ eq $mod } @exclude; + + my $file = $mod; + $file =~ s{::}{/}g; + $file .= ".pm"; + my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC; + + my $want = $req_hash->{$phase}{$type}{$mod}; + $want = "undef" unless defined $want; + $want = "any" if !$want && $want == 0; + + my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required"; + + if ($prefix) { + my $have = MM->parse_version( File::Spec->catfile($prefix, $file) ); + $have = "undef" unless defined $have; + push @reports, [$mod, $want, $have]; + + if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) { + if ( $have !~ /\A$lax_version_re\z/ ) { + push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)"; + } + elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) { + push @dep_errors, "$mod version '$have' is not in required range '$want'"; + } + } + } + else { + push @reports, [$mod, $want, "missing"]; + + if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) { + push @dep_errors, "$mod is not installed ($req_string)"; + } + } + } + + if ( @reports ) { + push @full_reports, "=== $title ===\n\n"; + + my $ml = _max( map { length $_->[0] } @reports ); + my $wl = _max( map { length $_->[1] } @reports ); + my $hl = _max( map { length $_->[2] } @reports ); + + if ($type eq 'modules') { + splice @reports, 1, 0, ["-" x $ml, "", "-" x $hl]; + push @full_reports, map { sprintf(" %*s %*s\n", -$ml, $_->[0], $hl, $_->[2]) } @reports; + } + else { + splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl]; + push @full_reports, map { sprintf(" %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports; + } + + push @full_reports, "\n"; + } + } +} + +if ( @full_reports ) { + diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports; +} + +if ( $cpan_meta_error || @dep_errors ) { + diag "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n"; +} + +if ( $cpan_meta_error ) { + my ($orig_source) = grep { -f } 'MYMETA.json', 'MYMETA.yml'; + diag "\nCPAN::Meta->load_file('$orig_source') failed with: $cpan_meta_error\n"; +} + +if ( @dep_errors ) { + diag join("\n", + "\nThe following REQUIRED prerequisites were not satisfied:\n", + @dep_errors, + "\n" + ); +} + +pass; + +# vim: ts=4 sts=4 sw=4 et: diff -Nru libppi-xs-perl-0.902/xt/author/00-compile.t libppi-xs-perl-0.910/xt/author/00-compile.t --- libppi-xs-perl-0.902/xt/author/00-compile.t 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/xt/author/00-compile.t 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,60 @@ +use 5.006; +use strict; +use warnings; + +# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.057 + +use Test::More 0.94; + +plan tests => 2; + +my @module_files = ( + 'PPI/XS.pm' +); + + + +# no fake home requested + +my @switches = ( + -d 'blib' ? '-Mblib' : '-Ilib', +); + +use File::Spec; +use IPC::Open3; +use IO::Handle; + +open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!"; + +my @warnings; +for my $lib (@module_files) +{ + # see L + my $stderr = IO::Handle->new; + + diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} . $str . q{'} } + $^X, @switches, '-e', "require q[$lib]")) + if $ENV{PERL_COMPILE_TEST_DEBUG}; + + my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-e', "require q[$lib]"); + binmode $stderr, ':crlf' if $^O eq 'MSWin32'; + my @_warnings = <$stderr>; + waitpid($pid, 0); + is($?, 0, "$lib loaded ok"); + + shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/ + and not eval { +require blib; blib->VERSION('1.01') }; + + if (@_warnings) + { + warn @_warnings; + push @warnings, @_warnings; + } +} + + + +is(scalar(@warnings), 0, 'no warnings found') + or diag 'got warnings: ', explain(\@warnings); + +BAIL_OUT("Compilation problems") if !Test::More->builder->is_passing; diff -Nru libppi-xs-perl-0.902/xt/author/clean-namespaces.t libppi-xs-perl-0.910/xt/author/clean-namespaces.t --- libppi-xs-perl-0.902/xt/author/clean-namespaces.t 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/xt/author/clean-namespaces.t 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,11 @@ +use strict; +use warnings; + +# this test was generated with Dist::Zilla::Plugin::Test::CleanNamespaces 0.006 + +use Test::More 0.94; +use Test::CleanNamespaces 0.15; + +subtest all_namespaces_clean => sub { all_namespaces_clean() }; + +done_testing; diff -Nru libppi-xs-perl-0.902/xt/author/kwalitee.t libppi-xs-perl-0.910/xt/author/kwalitee.t --- libppi-xs-perl-0.902/xt/author/kwalitee.t 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/xt/author/kwalitee.t 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,9 @@ +# this test was generated with Dist::Zilla::Plugin::Test::Kwalitee 2.12 +use strict; +use warnings; +use Test::More 0.88; +use Test::Kwalitee 1.21 'kwalitee_ok'; + +kwalitee_ok(); + +done_testing; diff -Nru libppi-xs-perl-0.902/xt/author/mojibake.t libppi-xs-perl-0.910/xt/author/mojibake.t --- libppi-xs-perl-0.902/xt/author/mojibake.t 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/xt/author/mojibake.t 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,9 @@ +#!perl + +use strict; +use warnings qw(all); + +use Test::More; +use Test::Mojibake; + +all_files_encoding_ok(); diff -Nru libppi-xs-perl-0.902/xt/author/pod-coverage.t libppi-xs-perl-0.910/xt/author/pod-coverage.t --- libppi-xs-perl-0.902/xt/author/pod-coverage.t 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/xt/author/pod-coverage.t 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,7 @@ +#!perl +# This file was automatically generated by Dist::Zilla::Plugin::PodCoverageTests. + +use Test::Pod::Coverage 1.08; +use Pod::Coverage::TrustPod; + +all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' }); diff -Nru libppi-xs-perl-0.902/xt/author/pod-no404s.t libppi-xs-perl-0.910/xt/author/pod-no404s.t --- libppi-xs-perl-0.902/xt/author/pod-no404s.t 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/xt/author/pod-no404s.t 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,21 @@ +#!perl + +use strict; +use warnings; +use Test::More; + +foreach my $env_skip ( qw( + SKIP_POD_NO404S + AUTOMATED_TESTING +) ){ + plan skip_all => "\$ENV{$env_skip} is set, skipping" + if $ENV{$env_skip}; +} + +eval "use Test::Pod::No404s"; +if ( $@ ) { + plan skip_all => 'Test::Pod::No404s required for testing POD'; +} +else { + all_pod_files_ok(); +} diff -Nru libppi-xs-perl-0.902/xt/author/pod-spell.t libppi-xs-perl-0.910/xt/author/pod-spell.t --- libppi-xs-perl-0.902/xt/author/pod-spell.t 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/xt/author/pod-spell.t 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,30 @@ +use strict; +use warnings; +use Test::More; + +# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007004 +use Test::Spelling 0.12; +use Pod::Wordlist; + + +add_stopwords(); +all_pod_files_spelling_ok( qw( examples lib script t xt ) ); +__DATA__ +Adam +Chris +David +Dolan +Etheridge +Golden +Karen +Kennedy +PPI +XS +adam +adamk +chris +dagolden +ether +irc +lib +xdg diff -Nru libppi-xs-perl-0.902/xt/author/pod-syntax.t libppi-xs-perl-0.910/xt/author/pod-syntax.t --- libppi-xs-perl-0.902/xt/author/pod-syntax.t 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/xt/author/pod-syntax.t 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,7 @@ +#!perl +# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests. +use strict; use warnings; +use Test::More; +use Test::Pod 1.41; + +all_pod_files_ok(); diff -Nru libppi-xs-perl-0.902/xt/author/portability.t libppi-xs-perl-0.910/xt/author/portability.t --- libppi-xs-perl-0.902/xt/author/portability.t 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/xt/author/portability.t 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,10 @@ +use strict; +use warnings; + +use Test::More; + +eval 'use Test::Portability::Files'; +plan skip_all => 'Test::Portability::Files required for testing portability' + if $@; + +run_tests(); diff -Nru libppi-xs-perl-0.902/xt/release/changes_has_content.t libppi-xs-perl-0.910/xt/release/changes_has_content.t --- libppi-xs-perl-0.902/xt/release/changes_has_content.t 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/xt/release/changes_has_content.t 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,42 @@ +use Test::More tests => 2; + +note 'Checking Changes'; +my $changes_file = 'Changes'; +my $newver = '0.910'; +my $trial_token = '-TRIAL'; +my $encoding = 'UTF-8'; + +SKIP: { + ok(-e $changes_file, "$changes_file file exists") + or skip 'Changes is missing', 1; + + ok(_get_changes($newver), "$changes_file has content for $newver"); +} + +done_testing; + +sub _get_changes +{ + my $newver = shift; + + # parse changelog to find commit message + open(my $fh, '<', $changes_file) or die "cannot open $changes_file: $!"; + my $changelog = join('', <$fh>); + if ($encoding) { + require Encode; + $changelog = Encode::decode($encoding, $changelog, Encode::FB_CROAK()); + } + close $fh; + + my @content = + grep { /^$newver(?:$trial_token)?(?:\s+|$)/ ... /^\S/ } # from newver to un-indented + split /\n/, $changelog; + shift @content; # drop the version line + + # drop unindented last line and trailing blank lines + pop @content while ( @content && $content[-1] =~ /^(?:\S|\s*$)/ ); + + # return number of non-blank lines + return scalar @content; +} + diff -Nru libppi-xs-perl-0.902/xt/release/cpan-changes.t libppi-xs-perl-0.910/xt/release/cpan-changes.t --- libppi-xs-perl-0.902/xt/release/cpan-changes.t 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/xt/release/cpan-changes.t 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,10 @@ +use strict; +use warnings; + +# this test was generated with Dist::Zilla::Plugin::Test::CPAN::Changes 0.012 + +use Test::More 0.96 tests => 1; +use Test::CPAN::Changes; +subtest 'changes_ok' => sub { + changes_file_ok('Changes'); +}; diff -Nru libppi-xs-perl-0.902/xt/release/distmeta.t libppi-xs-perl-0.910/xt/release/distmeta.t --- libppi-xs-perl-0.902/xt/release/distmeta.t 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/xt/release/distmeta.t 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,6 @@ +#!perl +# This file was automatically generated by Dist::Zilla::Plugin::MetaTests. + +use Test::CPAN::Meta; + +meta_yaml_ok(); diff -Nru libppi-xs-perl-0.902/xt/release/minimum-version.t libppi-xs-perl-0.910/xt/release/minimum-version.t --- libppi-xs-perl-0.902/xt/release/minimum-version.t 1970-01-01 00:00:00.000000000 +0000 +++ libppi-xs-perl-0.910/xt/release/minimum-version.t 2017-12-14 04:24:45.000000000 +0000 @@ -0,0 +1,8 @@ +#!perl + +use Test::More; + +eval "use Test::MinimumVersion"; +plan skip_all => "Test::MinimumVersion required for testing minimum versions" + if $@; +all_minimum_version_ok( qq{5.006} );