Hello community,

here is the log from the commit of package perl-Class-C3 for openSUSE:Factory 
checked in at 2018-04-25 10:00:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Class-C3 (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Class-C3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Class-C3"

Wed Apr 25 10:00:42 2018 rev:22 rq:599322 version:0.34

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Class-C3/perl-Class-C3.changes      
2017-05-03 15:57:39.820214861 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Class-C3.new/perl-Class-C3.changes 
2018-04-25 10:00:52.731883391 +0200
@@ -1,0 +2,10 @@
+Fri Apr 20 05:06:19 UTC 2018 - [email protected]
+
+- updated to 0.34
+   see /usr/share/doc/packages/perl-Class-C3/Changes
+
+  0.34 - 2018-04-19
+      - update bundled ExtUtils::HasCompiler to 0.021
+      - fix some examples in pod
+
+-------------------------------------------------------------------

Old:
----
  Class-C3-0.33.tar.gz

New:
----
  Class-C3-0.34.tar.gz

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

Other differences:
------------------
++++++ perl-Class-C3.spec ++++++
--- /var/tmp/diff_new_pack.kANV90/_old  2018-04-25 10:00:53.339861085 +0200
+++ /var/tmp/diff_new_pack.kANV90/_new  2018-04-25 10:00:53.339861085 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Class-C3
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX 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,11 +17,11 @@
 
 
 Name:           perl-Class-C3
-Version:        0.33
+Version:        0.34
 Release:        0
 %define cpan_name Class-C3
 Summary:        Pragma to Use the C3 Method Resolution Order Algorithm
-License:        Artistic-1.0 or GPL-1.0+
+License:        Artistic-1.0 OR GPL-1.0-or-later
 Group:          Development/Libraries/Perl
 Url:            http://search.cpan.org/dist/Class-C3/
 Source0:        
https://cpan.metacpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar.gz

++++++ Class-C3-0.33.tar.gz -> Class-C3-0.34.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Class-C3-0.33/Changes new/Class-C3-0.34/Changes
--- old/Class-C3-0.33/Changes   2017-04-23 23:58:48.000000000 +0200
+++ new/Class-C3-0.34/Changes   2018-04-19 18:26:49.000000000 +0200
@@ -1,5 +1,9 @@
 Revision history for Perl extension Class::C3.
 
+0.34 - 2018-04-19
+    - update bundled ExtUtils::HasCompiler to 0.021
+    - fix some examples in pod
+
 0.33 - 2017-04-23
     - update bundled ExtUtils::HasCompiler to 0.017
     - moved repository to Moose GitHub org
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Class-C3-0.33/META.json new/Class-C3-0.34/META.json
--- old/Class-C3-0.33/META.json 2017-04-23 23:59:18.000000000 +0200
+++ new/Class-C3-0.34/META.json 2018-04-19 18:27:00.000000000 +0200
@@ -4,13 +4,13 @@
       "Stevan Little, <[email protected]>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter 
version 2.150005",
+   "generated_by" : "ExtUtils::MakeMaker version 7.3, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "perl_5"
    ],
    "meta-spec" : {
       "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";,
-      "version" : "2"
+      "version" : 2
    },
    "name" : "Class-C3",
    "no_index" : {
@@ -65,6 +65,6 @@
          "web" : "https://github.com/moose/Class-C3";
       }
    },
-   "version" : "0.33",
-   "x_serialization_backend" : "JSON::PP version 2.27300"
+   "version" : "0.34",
+   "x_serialization_backend" : "JSON::PP version 2.97001"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Class-C3-0.33/META.yml new/Class-C3-0.34/META.yml
--- old/Class-C3-0.33/META.yml  2017-04-23 23:59:18.000000000 +0200
+++ new/Class-C3-0.34/META.yml  2018-04-19 18:27:00.000000000 +0200
@@ -7,7 +7,7 @@
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 
2.150005'
+generated_by: 'ExtUtils::MakeMaker version 7.3, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -28,5 +28,5 @@
   homepage: https://metacpan.org/release/Class-C3
   license: http://dev.perl.org/licenses/
   repository: https://github.com/moose/Class-C3.git
-version: '0.33'
+version: '0.34'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Class-C3-0.33/README new/Class-C3-0.34/README
--- old/Class-C3-0.33/README    2017-04-23 23:59:18.000000000 +0200
+++ new/Class-C3-0.34/README    2018-04-19 18:27:00.000000000 +0200
@@ -185,9 +185,9 @@
       package ClassD;
       use base ('ClassB', 'ClassC');
       use Class::C3;
-      sub foo { 'D::foo => ' . (shift)->next::method() }
+      sub foo { 'ClassD::foo => ' . (shift)->next::method() }
 
-      print D->foo; # prints out "D::foo => B::foo => C::foo => A::foo"
+      print ClassD->foo; # prints out "ClassD::foo => ClassB::foo => 
ClassC::foo => ClassA::foo"
 
     A few things to note. First, we do not require you to add on the method
     name to the "next::method" call (this is unlike "NEXT::" and "SUPER::"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Class-C3-0.33/inc/ExtUtils/HasCompiler.pm 
new/Class-C3-0.34/inc/ExtUtils/HasCompiler.pm
--- old/Class-C3-0.33/inc/ExtUtils/HasCompiler.pm       2017-04-23 
22:27:36.000000000 +0200
+++ new/Class-C3-0.34/inc/ExtUtils/HasCompiler.pm       2017-08-13 
14:39:05.000000000 +0200
@@ -1,10 +1,10 @@
 package ExtUtils::HasCompiler;
-$ExtUtils::HasCompiler::VERSION = '0.017';
+$ExtUtils::HasCompiler::VERSION = '0.021';
 use strict;
 use warnings;
 
 use base 'Exporter';
-our @EXPORT_OK = qw/can_compile_loadable_object/;
+our @EXPORT_OK = qw/can_compile_loadable_object can_compile_static_library 
can_compile_extension/;
 our %EXPORT_TAGS = (all => \@EXPORT_OK);
 
 use Config;
@@ -75,23 +75,14 @@
 
        my ($source_handle, $source_name) = tempfile('TESTXXXX', DIR => 
$tempdir, SUFFIX => '.c', UNLINK => 1);
        my $basename = basename($source_name, '.c');
-
-       my $shortname = '_Loadable' . $counter++;
-       my $package = "ExtUtils::HasCompiler::$shortname";
-       printf $source_handle $loadable_object_format, $basename, $package or 
do { carp "Couldn't write to $source_name: $!"; return };
-       close $source_handle or do { carp "Couldn't close $source_name: $!"; 
return };
-
        my $abs_basename = catfile($tempdir, $basename);
-       my $object_file = $abs_basename . $config->get('_o');
-       my $loadable_object = $abs_basename . '.' . $config->get('dlext');
-       my $incdir = catdir($config->get('archlibexp'), 'CORE');
 
-       my ($cc, $ccflags, $optimize, $cccdlflags, $ld, $ldflags, $lddlflags, 
$libperl, $perllibs) = map { $config->get($_) } qw/cc ccflags optimize 
cccdlflags ld ldflags lddlflags libperl perllibs/;
+       my ($cc, $ccflags, $optimize, $cccdlflags, $ld, $ldflags, $lddlflags, 
$libperl, $perllibs, $archlibexp, $_o, $dlext) = map { $config->get($_) } qw/cc 
ccflags optimize cccdlflags ld ldflags lddlflags libperl perllibs archlibexp _o 
dlext/;
+
+       my $incdir = catdir($archlibexp, 'CORE');
+       my $object_file = $abs_basename.$_o;
+       my $loadable_object = "$abs_basename.$dlext";
 
-       if ($prelinking{$^O}) {
-               require ExtUtils::Mksymlists;
-               ExtUtils::Mksymlists::Mksymlists(NAME => $basename, FILE => 
$abs_basename, IMPORTS => {});
-       }
        my @commands;
        if ($^O eq 'MSWin32' && $cc =~ /^cl/) {
                push @commands, qq{$cc $ccflags $cccdlflags $optimize /I 
"$incdir" /c $source_name /Fo$object_file};
@@ -127,6 +118,16 @@
                push @commands, qq{$ld $object_file -o $loadable_object 
$lddlflags @extra};
        }
 
+       if ($prelinking{$^O}) {
+               require ExtUtils::Mksymlists;
+               ExtUtils::Mksymlists::Mksymlists(NAME => $basename, FILE => 
$abs_basename, IMPORTS => {});
+       }
+
+       my $shortname = '_Loadable' . $counter++;
+       my $package = "ExtUtils::HasCompiler::$shortname";
+       printf $source_handle $loadable_object_format, $basename, $package or 
do { carp "Couldn't write to $source_name: $!"; return };
+       close $source_handle or do { carp "Couldn't close $source_name: $!"; 
return };
+
        for my $command (@commands) {
                print $output "$command\n" if not $args{quiet};
                system $command and do { carp "Couldn't execute $command: $!"; 
return };
@@ -152,6 +153,54 @@
        }
 }
 
+my %static_unsupported_on = map { $_ => 1 } qw/VMS aix MSWin32 cygwin/;
+sub can_compile_static_library {
+       my %args = @_;
+
+       my $output = $args{output} || \*STDOUT;
+
+       my $config = $args{config} || 'ExtUtils::HasCompiler::Config';
+       return if $config->get('useshrplib') eq 'true';
+
+       my ($source_handle, $source_name) = tempfile('TESTXXXX', DIR => 
$tempdir, SUFFIX => '.c', UNLINK => 1);
+       my $basename = basename($source_name, '.c');
+       my $abs_basename = catfile($tempdir, $basename);
+
+       my ($cc, $ccflags, $optimize, $ar, $full_ar, $ranlib, $archlibexp, $_o, 
$lib_ext) = map { $config->get($_) } qw/cc ccflags optimize ar full_ar ranlib 
archlibexp _o lib_ext/;
+       my $incdir = catdir($archlibexp, 'CORE');
+       my $object_file = "$abs_basename$_o";
+       my $static_library = $abs_basename.$lib_ext;
+
+       my @commands;
+       if ($static_unsupported_on{$^O}) {
+               return;
+       }
+       else {
+               my $my_ar = length $full_ar ? $full_ar : $ar;
+               push @commands, qq{$cc $ccflags $optimize "-I$incdir" -c 
$source_name -o $object_file};
+               push @commands, qq{$my_ar cr $static_library $object_file};
+               push @commands, qq{$ranlib $static_library} if $ranlib ne ':';
+       }
+
+       my $shortname = '_Loadable' . $counter++;
+       my $package = "ExtUtils::HasCompiler::$shortname";
+       printf $source_handle $loadable_object_format, $basename, $package or 
do { carp "Couldn't write to $source_name: $!"; return };
+       close $source_handle or do { carp "Couldn't close $source_name: $!"; 
return };
+
+       for my $command (@commands) {
+               print $output "$command\n" if not $args{quiet};
+               system $command and do { carp "Couldn't execute $command: $!"; 
return };
+       }
+       return 1;
+}
+
+sub can_compile_extension {
+       my %args = @_;
+       $args{config} ||= 'ExtUtils::HasCompiler::Config';
+       my $linktype = $args{linktype} || ($args{config}->get('usedl') ? 
'dynamic' : 'static');
+       return $linktype eq 'static' ? can_compile_static_library(%args) : 
can_compile_loadable_object(%args);
+}
+
 sub ExtUtils::HasCompiler::Config::get {
        my (undef, $key) = @_;
        return $ENV{uc $key} || $Config{$key};
@@ -173,7 +222,17 @@
 
 =head1 VERSION
 
-version 0.017
+version 0.021
+
+=head1 SYNOPSIS
+
+ use ExtUtils::HasCompiler 'can_compile_extension';
+ if (can_compile_extension()) {
+   ...
+ }
+ else {
+   ...
+ }
 
 =head1 DESCRIPTION
 
@@ -203,6 +262,34 @@
 
 =back
 
+=head2 can_compile_static_library(%opts)
+
+This checks if the system can compile and link a perl static library. It does 
not check it it can compile a new perl with it. It may take the following 
options:
+
+=over 4
+
+=item * quiet
+
+Do not output the executed compilation commands.
+
+=item * config
+
+An L<ExtUtils::Config|ExtUtils::Config> (compatible) object for configuration.
+
+=back
+
+=head2 can_compile_extension(%opts)
+
+This will call either C<can_compile_loadable_object>, or 
C<can_compile_static_library>, depending on which is the default on your 
configuration. In addition to the arguments listed above, it can take one more 
optional argument:
+
+=over 4
+
+=item * linktype
+
+This will force the linktype to be either static or dynamic. Dynamic 
compilation on a static perl won't work, but static libraries can be viable on 
a dynamic perl.
+
+=back
+
 =head1 AUTHOR
 
 Leon Timmermans <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Class-C3-0.33/lib/Class/C3/next.pm 
new/Class-C3-0.34/lib/Class/C3/next.pm
--- old/Class-C3-0.33/lib/Class/C3/next.pm      2017-04-23 23:58:08.000000000 
+0200
+++ new/Class-C3-0.34/lib/Class/C3/next.pm      2018-04-19 18:26:46.000000000 
+0200
@@ -7,7 +7,7 @@
 
 use Scalar::Util 'blessed';
 
-our $VERSION = '0.33';
+our $VERSION = '0.34';
 
 our %METHOD_CACHE;
 
@@ -66,7 +66,7 @@
 use warnings;
 no warnings 'redefine'; # for 00load.t w/ core support
 
-our $VERSION = '0.33';
+our $VERSION = '0.34';
 
 sub method { (next::method($_[0]) || return)->(@_) }
 
@@ -90,9 +90,9 @@
 
 =head1 AUTHOR
 
-Stevan Little, E<lt>[email protected]<gt>
+Stevan Little, <[email protected]>
 
-Brandon L. Black, E<lt>[email protected]<gt>
+Brandon L. Black, <[email protected]>
 
 =head1 COPYRIGHT AND LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Class-C3-0.33/lib/Class/C3.pm 
new/Class-C3-0.34/lib/Class/C3.pm
--- old/Class-C3-0.33/lib/Class/C3.pm   2017-04-23 23:58:08.000000000 +0200
+++ new/Class-C3-0.34/lib/Class/C3.pm   2018-04-19 18:26:46.000000000 +0200
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '0.33';
+our $VERSION = '0.34';
 
 our $C3_IN_CORE;
 our $C3_XS;
@@ -419,9 +419,9 @@
   package ClassD;
   use base ('ClassB', 'ClassC');
   use Class::C3;
-  sub foo { 'D::foo => ' . (shift)->next::method() }
+  sub foo { 'ClassD::foo => ' . (shift)->next::method() }
 
-  print D->foo; # prints out "D::foo => B::foo => C::foo => A::foo"
+  print ClassD->foo; # prints out "ClassD::foo => ClassB::foo => ClassC::foo 
=> ClassA::foo"
 
 A few things to note. First, we do not require you to add on the method name 
to the C<next::method>
 call (this is unlike C<NEXT::> and C<SUPER::> which do require that). This 
helps to enforce the rule


Reply via email to