Hello community,

here is the log from the commit of package perl-Data-Clone for openSUSE:Factory 
checked in at 2014-07-23 22:07:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Data-Clone (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Data-Clone.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Data-Clone"

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Data-Clone/perl-Data-Clone.changes  
2013-06-06 13:12:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Data-Clone.new/perl-Data-Clone.changes     
2014-07-24 00:44:39.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Jul 22 14:36:44 UTC 2014 - co...@suse.com
+
+- updated to 0.004
+  - Fix against Perl 5.19 (#1, by tomhukins)
+
+-------------------------------------------------------------------

Old:
----
  Data-Clone-0.003.tar.gz

New:
----
  Data-Clone-0.004.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Data-Clone.spec ++++++
--- /var/tmp/diff_new_pack.4eGyvD/_old  2014-07-24 00:44:41.000000000 +0200
+++ /var/tmp/diff_new_pack.4eGyvD/_new  2014-07-24 00:44:41.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Data-Clone
 #
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,69 +17,56 @@
 
 
 Name:           perl-Data-Clone
-Version:        0.003
+Version:        0.004
 Release:        0
+%define cpan_name Data-Clone
 Summary:        Polymorphic data cloning
-License:        GPL-2.0+ or Artistic-1.0
+License:        Artistic-1.0 or GPL-1.0+
 Group:          Development/Libraries/Perl
-Source:         
http://search.cpan.org/CPAN/authors/id/G/GF/GFUJI/Data-Clone-%{version}.tar.gz
+Url:            http://search.cpan.org/dist/Data-Clone/
+Source:         
http://www.cpan.org/authors/id/G/GF/GFUJI/%{cpan_name}-%{version}.tar.gz
 Source99:       perl-Data-Clone-rpmlintrc
-Url:            http://search.cpan.org/dist/Data-Clone
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-%{perl_requires}
-BuildRequires:  make
+BuildRequires:  perl
 BuildRequires:  perl-macros
-BuildRequires:  perl(Test::Requires) >= 0.03
-%if 0%{?suse_version} > 1120
-BuildRequires:  perl(Test::More) >= 0.88
-%endif
 BuildRequires:  perl(Devel::PPPort) >= 3.19
-BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.42
-BuildRequires:  perl(ExtUtils::ParseXS) >= 2.21
-BuildRequires:  perl(XSLoader) >= 0.1
+BuildRequires:  perl(ExtUtils::ParseXS) >= 3.18
+BuildRequires:  perl(Test::More) >= 0.88
+BuildRequires:  perl(Test::Requires) >= 0.03
 BuildRequires:  perl(parent)
-Requires:       perl(XSLoader) >= 0.1
 Requires:       perl(parent)
+%{perl_requires}
 
 %description
-"Data::Clone" does data cloning, i.e. copies things recursively. This is
+'Data::Clone' does data cloning, i.e. copies things recursively. This is
 smart so that it works with not only non-blessed references, but also with
-blessed references (i.e. objects). When "clone()" finds an object, it
-calls a "clone" method of the object if the object has a "clone",
-otherwise it makes a surface copy of the object. That is, this module does
-polymorphic data cloning.
+blessed references (i.e. objects). When 'clone()' finds an object, it calls
+a 'clone' method of the object if the object has a 'clone', otherwise it
+makes a surface copy of the object. That is, this module does polymorphic
+data cloning.
+
 Although there are several modules on CPAN which can clone data, this
-module has a different cloning policy from almost all of them. See
-"Cloning policy" and "Comparison to other cloning modules" for details.
+module has a different cloning policy from almost all of them. See the
+/Cloning policy manpage and the /Comparison to other cloning modules
+manpage for details.
 
 %prep
-%setup -q -n "Data-Clone-%{version}"
-%__sed -i '/^auto_install/d' Makefile.PL
+%setup -q -n %{cpan_name}-%{version}
 
 %build
-%__perl Makefile.PL PREFIX="%{_prefix}"
-%__make %{?_smp_flags}
+%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
+%{__make} %{?_smp_mflags}
+
+%check
+%{__make} test
 
 %install
 %perl_make_install
 %perl_process_packlist
+%perl_gen_filelist
 
-%if 0%{?suse_version} > 1120
-
-%check
-%__make test
-%endif
-
-%clean
-%{?buildroot:%__rm -rf "%{buildroot}"}
-
-%files
-%defattr(-,root,root)
-%doc README Changes
-%dir %{perl_vendorarch}/Data
-%{perl_vendorarch}/Data/Clone.pm
-%dir %{perl_vendorarch}/auto/Data
-%{perl_vendorarch}/auto/Data/Clone
-%doc %{perl_man3dir}/Data::Clone.%{perl_man3ext}%{ext_man}
+%files -f %{name}.files
+%defattr(-,root,root,755)
+%doc Changes example README
 
 %changelog

++++++ Data-Clone-0.003.tar.gz -> Data-Clone-0.004.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/Changes new/Data-Clone-0.004/Changes
--- old/Data-Clone-0.003/Changes        2011-01-15 15:03:03.000000000 +0100
+++ new/Data-Clone-0.004/Changes        2014-05-06 23:59:03.000000000 +0200
@@ -1,5 +1,8 @@
 Revision history for Perl extension Data::Clone
 
+0.004 2014-05-07 06:58:25+0900
+    - Fix against Perl 5.19 (#1, by tomhukins)
+
 0.003 2011-01-15 23:02:18
     - Cloning normal object died as of 0.002, but it seems too strict
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/Data-Clone.xs 
new/Data-Clone-0.004/Data-Clone.xs
--- old/Data-Clone-0.003/Data-Clone.xs  2011-01-15 14:58:49.000000000 +0100
+++ new/Data-Clone-0.004/Data-Clone.xs  2014-05-06 23:56:32.000000000 +0200
@@ -392,7 +392,8 @@
 clone(SV* sv)
 CODE:
 {
-    ST(0) = sv_clone(sv);
+    sv = sv_clone(sv);
+    ST(0) = sv;
     XSRETURN(1);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/MANIFEST 
new/Data-Clone-0.004/MANIFEST
--- old/Data-Clone-0.003/MANIFEST       2011-01-15 14:53:37.000000000 +0100
+++ new/Data-Clone-0.004/MANIFEST       2014-05-06 23:59:57.000000000 +0200
@@ -28,6 +28,7 @@
 t/04_tree.t
 t/05_super.t
 t/06_tie.t
+t/07_stack.t
 t/10_threads.t
 t/11_leaktrace.t
 xshelper.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/MANIFEST.SKIP 
new/Data-Clone-0.004/MANIFEST.SKIP
--- old/Data-Clone-0.003/MANIFEST.SKIP  2011-01-15 14:52:27.000000000 +0100
+++ new/Data-Clone-0.004/MANIFEST.SKIP  2014-05-06 23:59:37.000000000 +0200
@@ -61,3 +61,5 @@
 
 Data-Clone-
 ppport\.h$
+
+MYMETA\.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/META.yml 
new/Data-Clone-0.004/META.yml
--- old/Data-Clone-0.003/META.yml       2011-01-15 15:03:32.000000000 +0100
+++ new/Data-Clone-0.004/META.yml       2014-05-07 00:00:33.000000000 +0200
@@ -4,15 +4,16 @@
   - 'Goro Fuji (gfx) <gfuji(at)cpan.org>'
 build_requires:
   Devel::PPPort: 3.19
-  ExtUtils::MakeMaker: 6.42
-  ExtUtils::ParseXS: 2.21
+  ExtUtils::MakeMaker: 6.59
   Test::More: 0.88
   Test::Requires: 0.03
 configure_requires:
   Devel::PPPort: 3.19
-  ExtUtils::MakeMaker: 6.42
+  ExtUtils::MakeMaker: 6.59
+  ExtUtils::ParseXS: 3.18
 distribution_type: module
-generated_by: 'Module::Install version 1.00'
+dynamic_config: 1
+generated_by: 'Module::Install version 1.06'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -26,10 +27,10 @@
     - t
     - xt
 requires:
-  XSLoader: 0.1
+  XSLoader: 0.02
   parent: 0
   perl: 5.8.1
 resources:
   license: http://dev.perl.org/licenses/
-  repository: git://github.com/gfx/Perl-Data-Clone.git
-version: 0.003
+  repository: git://github.com/gfx/p5-Data-Clone.git
+version: 0.004
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/inc/Module/Install/Base.pm 
new/Data-Clone-0.004/inc/Module/Install/Base.pm
--- old/Data-Clone-0.003/inc/Module/Install/Base.pm     2011-01-15 
15:03:31.000000000 +0100
+++ new/Data-Clone-0.004/inc/Module/Install/Base.pm     2014-05-07 
00:00:32.000000000 +0200
@@ -4,7 +4,7 @@
 use strict 'vars';
 use vars qw{$VERSION};
 BEGIN {
-       $VERSION = '1.00';
+       $VERSION = '1.06';
 }
 
 # Suspend handler for "redefined" warnings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/inc/Module/Install/Can.pm 
new/Data-Clone-0.004/inc/Module/Install/Can.pm
--- old/Data-Clone-0.003/inc/Module/Install/Can.pm      2011-01-15 
15:03:31.000000000 +0100
+++ new/Data-Clone-0.004/inc/Module/Install/Can.pm      2014-05-07 
00:00:32.000000000 +0200
@@ -3,13 +3,12 @@
 
 use strict;
 use Config                ();
-use File::Spec            ();
 use ExtUtils::MakeMaker   ();
 use Module::Install::Base ();
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.00';
+       $VERSION = '1.06';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
@@ -29,7 +28,7 @@
        eval { require $mod; $pkg->VERSION($ver || 0); 1 };
 }
 
-# check if we can run some command
+# Check if we can run some command
 sub can_run {
        my ($self, $cmd) = @_;
 
@@ -38,14 +37,88 @@
 
        for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') {
                next if $dir eq '';
-               my $abs = File::Spec->catfile($dir, $_[1]);
+               require File::Spec;
+               my $abs = File::Spec->catfile($dir, $cmd);
                return $abs if (-x $abs or $abs = MM->maybe_command($abs));
        }
 
        return;
 }
 
-# can we locate a (the) C compiler
+# 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;
@@ -78,4 +151,4 @@
 
 __END__
 
-#line 156
+#line 236
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/inc/Module/Install/Makefile.pm 
new/Data-Clone-0.004/inc/Module/Install/Makefile.pm
--- old/Data-Clone-0.003/inc/Module/Install/Makefile.pm 2011-01-15 
15:03:31.000000000 +0100
+++ new/Data-Clone-0.004/inc/Module/Install/Makefile.pm 2014-05-07 
00:00:32.000000000 +0200
@@ -8,7 +8,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.00';
+       $VERSION = '1.06';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
@@ -215,18 +215,22 @@
        require ExtUtils::MakeMaker;
 
        if ( $perl_version and $self->_cmp($perl_version, '5.006') >= 0 ) {
-               # MakeMaker can complain about module versions that include
-               # an underscore, even though its own version may contain one!
-               # Hence the funny regexp to get rid of it.  See RT #35800
-               # for details.
-               my $v = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/;
-               $self->build_requires(     'ExtUtils::MakeMaker' => $v );
-               $self->configure_requires( 'ExtUtils::MakeMaker' => $v );
+               # 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.42 );
-               $self->configure_requires( 'ExtUtils::MakeMaker' => 6.42 );
+               $self->build_requires(     'ExtUtils::MakeMaker' => 6.36 );
+               $self->configure_requires( 'ExtUtils::MakeMaker' => 6.36 );
        }
 
        # Generate the MakeMaker params
@@ -241,7 +245,6 @@
 'all_from' if you prefer) in Makefile.PL.
 EOT
 
-       $DB::single = 1;
        if ( $self->tests ) {
                my @tests = split ' ', $self->tests;
                my %seen;
@@ -412,4 +415,4 @@
 
 __END__
 
-#line 541
+#line 544
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/inc/Module/Install/Metadata.pm 
new/Data-Clone-0.004/inc/Module/Install/Metadata.pm
--- old/Data-Clone-0.003/inc/Module/Install/Metadata.pm 2011-01-15 
15:03:31.000000000 +0100
+++ new/Data-Clone-0.004/inc/Module/Install/Metadata.pm 2014-05-07 
00:00:32.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.00';
+       $VERSION = '1.06';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
@@ -151,15 +151,21 @@
 sub install_as_vendor { $_[0]->installdirs('vendor') }
 
 sub dynamic_config {
-       my $self = shift;
-       unless ( @_ ) {
-               warn "You MUST provide an explicit true/false value to 
dynamic_config\n";
-               return $self;
+       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} = $_[0] ? 1 : 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 @_;
@@ -170,7 +176,7 @@
        # Normalize the version
        $version = $self->_perl_version($version);
 
-       # We don't support the reall old versions
+       # 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";
        }
@@ -515,6 +521,7 @@
                '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,
@@ -550,9 +557,9 @@
 
 sub _extract_bugtracker {
        my @links   = $_[0] =~ m#L<(
-        \Qhttp://rt.cpan.org/\E[^>]+|
-        \Qhttp://github.com/\E[\w_]+/[\w_]+/issues|
-        \Qhttp://code.google.com/p/\E[\w_\-]+/issues/list
+        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}=();
@@ -581,7 +588,7 @@
 sub requires_from {
        my $self     = shift;
        my $content  = Module::Install::_readperl($_[0]);
-       my @requires = $content =~ 
m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+([\d\.]+)/mg;
+       my @requires = $content =~ 
m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+(v?[\d\.]+)/mg;
        while ( @requires ) {
                my $module  = shift @requires;
                my $version = shift @requires;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/inc/Module/Install/WriteAll.pm 
new/Data-Clone-0.004/inc/Module/Install/WriteAll.pm
--- old/Data-Clone-0.003/inc/Module/Install/WriteAll.pm 2011-01-15 
15:03:31.000000000 +0100
+++ new/Data-Clone-0.004/inc/Module/Install/WriteAll.pm 2014-05-07 
00:00:33.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.00';
+       $VERSION = '1.06';
        @ISA     = qw{Module::Install::Base};
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/inc/Module/Install/XSUtil.pm 
new/Data-Clone-0.004/inc/Module/Install/XSUtil.pm
--- old/Data-Clone-0.003/inc/Module/Install/XSUtil.pm   2011-01-15 
15:03:31.000000000 +0100
+++ new/Data-Clone-0.004/inc/Module/Install/XSUtil.pm   2014-05-07 
00:00:32.000000000 +0200
@@ -3,7 +3,7 @@
 
 use 5.005_03;
 
-$VERSION = '0.36';
+$VERSION = '0.45';
 
 use Module::Install::Base;
 @ISA     = qw(Module::Install::Base);
@@ -18,15 +18,14 @@
 use constant _VERBOSE => $ENV{MI_VERBOSE} ? 1 : 0;
 
 my %ConfigureRequires = (
-    # currently nothing
+    'ExtUtils::ParseXS' => 3.18, # shipped with Perl 5.18.0
 );
 
 my %BuildRequires = (
-    'ExtUtils::ParseXS' => 2.21, # the newer, the better
 );
 
 my %Requires = (
-    'XSLoader' => 0.10, # the newer, the better
+    'XSLoader' => 0.02,
 );
 
 my %ToInstall;
@@ -67,7 +66,7 @@
                 $self->makemaker_args->{OPTIMIZE} = '-Zi';
             }
             else{
-                $self->makemaker_args->{OPTIMIZE} = '-g';
+                $self->makemaker_args->{OPTIMIZE} = '-g -ggdb -g3';
             }
             $self->cc_define('-DXS_ASSERT');
         }
@@ -95,19 +94,37 @@
         ;
     }
 
+    # cf. 
https://github.com/sjn/toolchain-site/blob/219db464af9b2f19b04fec05547ac10180a469f3/lancaster-consensus.md
     my $want_xs;
     sub want_xs {
-        my $default = @_ ? shift : 1; # you're using this module, you /must/ 
want XS by default
+        my($self, $default) = @_;
         return $want_xs if defined $want_xs;
 
+        # you're using this module, you must want XS by default
+        # unless PERL_ONLY is true.
+        $default = !$ENV{PERL_ONLY} if not defined $default;
+
         foreach my $arg(@ARGV){
-            if($arg eq '--pp'){
+
+            my ($k, $v) = split '=', $arg; # MM-style named args
+            if ($k eq 'PUREPERL_ONLY' && defined $v) {
+                return $want_xs = !$v;
+            }
+            elsif($arg eq '--pp'){ # old-style
                 return $want_xs = 0;
             }
             elsif($arg eq '--xs'){
                 return $want_xs = 1;
             }
         }
+
+        if ($ENV{PERL_MM_OPT}) {
+            my($v) = $ENV{PERL_MM_OPT} =~ /\b PUREPERL_ONLY = (\S+) /xms;
+            if (defined $v) {
+                return $want_xs = !$v;
+            }
+        }
+
         return $want_xs = $default;
     }
 }
@@ -251,6 +268,17 @@
     return;
 }
 
+sub requires_cplusplus {
+    my($self) = @_;
+    if(!$self->cc_available) {
+        warn "This distribution requires a C++ compiler, but $Config{cc} seems 
not to support C++, stopped.\n";
+        exit;
+    }
+    $self->_xs_initialize();
+    $UseCplusplus = 1;
+    return;
+}
+
 sub cc_append_to_inc{
     my($self, @dirs) = @_;
 
@@ -369,7 +397,7 @@
     return;
 }
 
-sub requires_xs{
+sub requires_xs_module {
     my $self  = shift;
 
     return $self->requires() unless @_;
@@ -444,9 +472,10 @@
         }
     }, @dirs);
 
+    my $xs_to = $UseCplusplus ? '.cpp' : '.c';
     foreach my $src_file(@src_files){
         my $c = $src_file;
-        if($c =~ s/ \.xs \z/.c/xms){
+        if($c =~ s/ \.xs \z/$xs_to/xms){
             $XS_ref->{$src_file} = $c;
 
             _verbose "xs: $src_file" if _VERBOSE;
@@ -561,7 +590,10 @@
             map{ qq{$add_include "$_"} } qw(EXTERN.h perl.h XSUB.h);
 
         my $cppcmd = qq{$Config{cpprun} $cppflags $h_file};
-
+        # remove all the -arch options to workaround gcc errors:
+        #       "-E, -S, -save-temps and -M options are not allowed
+        #        with multiple -arch flags"
+        $cppcmd =~ s/ -arch \s* \S+ //xmsg;
         _verbose("extract functions from: $cppcmd") if _VERBOSE;
         `$cppcmd`;
     };
@@ -739,7 +771,7 @@
     MY;
 
 # XXX: We must append to PM inside ExtUtils::MakeMaker->new().
-sub init_PM{
+sub init_PM {
     my $self = shift;
 
     $self->SUPER::init_PM(@_);
@@ -766,7 +798,22 @@
 
     return $cccmd
 }
+
+sub xs_c {
+    my($self) = @_;
+    my $mm = $self->SUPER::xs_c();
+    $mm =~ s/ \.c /.cpp/xmsg if $UseCplusplus;
+    return $mm;
+}
+
+sub xs_o {
+    my($self) = @_;
+    my $mm = $self->SUPER::xs_o();
+    $mm =~ s/ \.c /.cpp/xmsg if $UseCplusplus;
+    return $mm;
+}
+
 1;
 __END__
 
-#line 980
+#line 1030
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/inc/Module/Install.pm 
new/Data-Clone-0.004/inc/Module/Install.pm
--- old/Data-Clone-0.003/inc/Module/Install.pm  2011-01-15 15:03:30.000000000 
+0100
+++ new/Data-Clone-0.004/inc/Module/Install.pm  2014-05-07 00:00:32.000000000 
+0200
@@ -31,7 +31,7 @@
        # 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.00';
+       $VERSION = '1.06';
 
        # Storage for the pseudo-singleton
        $MAIN    = undef;
@@ -156,10 +156,10 @@
 sub autoload {
        my $self = shift;
        my $who  = $self->_caller;
-       my $cwd  = Cwd::getcwd();
+       my $cwd  = Cwd::cwd();
        my $sym  = "${who}::AUTOLOAD";
        $sym->{$cwd} = sub {
-               my $pwd = Cwd::getcwd();
+               my $pwd = Cwd::cwd();
                if ( my $code = $sym->{$pwd} ) {
                        # Delegate back to parent dirs
                        goto &$code unless $cwd eq $pwd;
@@ -239,7 +239,7 @@
 
        # ignore the prefix on extension modules built from top level.
        my $base_path = Cwd::abs_path($FindBin::Bin);
-       unless ( Cwd::abs_path(Cwd::getcwd()) eq $base_path ) {
+       unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) {
                delete $args{prefix};
        }
        return $args{_self} if $args{_self};
@@ -338,7 +338,7 @@
                if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) {
                        my $content = Module::Install::_read($subpath . '.pm');
                        my $in_pod  = 0;
-                       foreach ( split /\n/, $content ) {
+                       foreach ( split //, $content ) {
                                $in_pod = 1 if /^=\w/;
                                $in_pod = 0 if /^=cut/;
                                next if ($in_pod || /^=cut/);  # skip pod text
@@ -451,7 +451,7 @@
 }
 
 sub _cmp ($$) {
-       _version($_[0]) <=> _version($_[1]);
+       _version($_[1]) <=> _version($_[2]);
 }
 
 # Cloned from Params::Util::_CLASS
@@ -467,4 +467,4 @@
 
 1;
 
-# Copyright 2008 - 2010 Adam Kennedy.
+# Copyright 2008 - 2012 Adam Kennedy.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/lib/Data/Clone.pm 
new/Data-Clone-0.004/lib/Data/Clone.pm
--- old/Data-Clone-0.003/lib/Data/Clone.pm      2011-01-15 15:03:09.000000000 
+0100
+++ new/Data-Clone-0.004/lib/Data/Clone.pm      2014-05-07 00:00:18.000000000 
+0200
@@ -3,7 +3,7 @@
 use 5.008_001;
 use strict;
 
-our $VERSION = '0.003';
+our $VERSION = '0.004';
 
 use XSLoader;
 XSLoader::load(__PACKAGE__, $VERSION);
@@ -27,7 +27,7 @@
 
 =head1 VERSION
 
-This document describes Data::Clone version 0.003.
+This document describes Data::Clone version 0.004.
 
 =head1 SYNOPSIS
 
@@ -166,7 +166,7 @@
 
 =head2 Exportable functions
 
-=head3 B<< data_clone(Salar) >>
+=head3 B<< data_clone(Scalar) >>
 
 Returns a copy of I<Scalar>.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/t/07_stack.t 
new/Data-Clone-0.004/t/07_stack.t
--- old/Data-Clone-0.003/t/07_stack.t   1970-01-01 01:00:00.000000000 +0100
+++ new/Data-Clone-0.004/t/07_stack.t   2014-05-06 23:56:32.000000000 +0200
@@ -0,0 +1,22 @@
+#!perl -w
+
+use strict;
+use warnings FATAL => 'all';
+
+use Test::More;
+
+use Data::Clone;
+
+{
+    package Bar;
+    sub clone {
+        () = (1)x100000; # extend the stack
+        return []
+    }
+}
+
+my $before = bless [], Bar::;
+my $after  = clone($before);
+isn't $after, $before, 'stack reallocation during callback';
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/xshelper.h 
new/Data-Clone-0.004/xshelper.h
--- old/Data-Clone-0.003/xshelper.h     2011-01-15 15:03:31.000000000 +0100
+++ new/Data-Clone-0.004/xshelper.h     2014-05-07 00:00:32.000000000 +0200
@@ -1,4 +1,4 @@
-/* THIS FILE IS AUTOMATICALLY GENERATED BY Module::Install::XSUtil 0.36. */
+/* THIS FILE IS AUTOMATICALLY GENERATED BY Module::Install::XSUtil 0.45. */
 /*
 =head1 NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Data-Clone-0.003/xt/01_podspell.t 
new/Data-Clone-0.004/xt/01_podspell.t
--- old/Data-Clone-0.003/xt/01_podspell.t       2011-01-15 14:52:27.000000000 
+0100
+++ new/Data-Clone-0.004/xt/01_podspell.t       2014-05-06 23:57:30.000000000 
+0200
@@ -3,13 +3,12 @@
 use strict;
 use Test::More;
 
-eval q{ use Test::Spelling };
+eval q{ use Test::Spellunker};
 
-plan skip_all => q{Test::Spelling is not installed.}
+plan skip_all => q{Test::Spellunker is not installed.}
        if $@;
 
 add_stopwords(map { split /[\s\:\-]/ } <DATA>);
-$ENV{LANG} = 'C';
 all_pod_files_spelling_ok('lib');
 
 __DATA__

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to