Hello community,
here is the log from the commit of package perl-Inline for openSUSE:Factory checked in at 2019-04-30 13:05:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Inline (Old)
and /work/SRC/openSUSE:Factory/.perl-Inline.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Inline"
Tue Apr 30 13:05:58 2019 rev:30 rq:699376 version:0.83
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Inline/perl-Inline.changes 2019-04-03 10:51:37.265935115 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Inline.new.5536/perl-Inline.changes 2019-04-30 13:05:58.745903194 +0200
@@ -1,0 +2,13 @@
+Mon Apr 29 05:15:16 UTC 2019 - Stephan Kulow
+
+- updated to 0.83
+ see /usr/share/doc/packages/perl-Inline/Changes
+
+ 0.83 Sun 28 Apr 2019 11:30:37 AM CEST
+ - Reference Inline::Module in docs related to installation (PR#68
+ @nrdvana++)
+ - create_config_file: don't accidentally skip rest of directory scanning
+ (PR#73 @eserte++)
+ - Merge per-language config, not overwrite (PR#71 @mohawk++)
+
+-------------------------------------------------------------------
Old:
----
Inline-0.82.tar.gz
New:
----
Inline-0.83.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Inline.spec ++++++
--- /var/tmp/diff_new_pack.UF69TG/_old 2019-04-30 13:05:59.497902514 +0200
+++ /var/tmp/diff_new_pack.UF69TG/_new 2019-04-30 13:05:59.505902507 +0200
@@ -17,7 +17,7 @@
Name: perl-Inline
-Version: 0.82
+Version: 0.83
Release: 0
%define cpan_name Inline
Summary: Write Perl Subroutines in Other Programming Languages
++++++ Inline-0.82.tar.gz -> Inline-0.83.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-0.82/Changes new/Inline-0.83/Changes
--- old/Inline-0.82/Changes 2019-03-31 16:10:32.000000000 +0200
+++ new/Inline-0.83/Changes 2019-04-28 11:30:45.000000000 +0200
@@ -1,3 +1,10 @@
+0.83 Sun 28 Apr 2019 11:30:37 AM CEST
+ - Reference Inline::Module in docs related to installation (PR#68
+ @nrdvana++)
+ - create_config_file: don't accidentally skip rest of directory scanning
+ (PR#73 @eserte++)
+ - Merge per-language config, not overwrite (PR#71 @mohawk++)
+
0.82 Sun 31 Mar 2019 04:10:24 PM CEST
- Another fix for @INC PR#69 TINITA
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-0.82/META.json new/Inline-0.83/META.json
--- old/Inline-0.82/META.json 2019-03-31 16:10:32.000000000 +0200
+++ new/Inline-0.83/META.json 2019-04-28 11:30:45.000000000 +0200
@@ -59,7 +59,7 @@
"web" : "https://github.com/ingydotnet/inline-pm"
}
},
- "version" : "0.82",
+ "version" : "0.83",
"x_generated_by_perl" : "v5.24.1",
"x_serialization_backend" : "Cpanel::JSON::XS version 4.02"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-0.82/META.yml new/Inline-0.83/META.yml
--- old/Inline-0.82/META.yml 2019-03-31 16:10:32.000000000 +0200
+++ new/Inline-0.83/META.yml 2019-04-28 11:30:45.000000000 +0200
@@ -29,6 +29,6 @@
bugtracker: https://github.com/ingydotnet/inline-pm/issues
homepage: https://github.com/ingydotnet/inline-pm
repository: https://github.com/ingydotnet/inline-pm.git
-version: '0.82'
+version: '0.83'
x_generated_by_perl: v5.24.1
x_serialization_backend: 'YAML::Tiny version 1.73'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-0.82/Makefile.PL new/Inline-0.83/Makefile.PL
--- old/Inline-0.82/Makefile.PL 2019-03-31 16:10:32.000000000 +0200
+++ new/Inline-0.83/Makefile.PL 2019-04-28 11:30:45.000000000 +0200
@@ -25,7 +25,7 @@
"Test::More" => "0.88",
"Test::Warn" => "0.23"
},
- "VERSION" => "0.82",
+ "VERSION" => "0.83",
"test" => {
"TESTS" => "t/*.t"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-0.82/README new/Inline-0.83/README
--- old/Inline-0.82/README 2019-03-31 16:10:32.000000000 +0200
+++ new/Inline-0.83/README 2019-04-28 11:30:45.000000000 +0200
@@ -4,7 +4,7 @@
VERSION
- This document describes Inline version 0.82.
+ This document describes Inline version 0.83.
SYNOPSIS
@@ -288,6 +288,11 @@
'file.ext'.) These methods are less frequently used but may be useful
in some situations.
+ For instance, to load your C++ code from a file named the same as
+ your perl module with a swapped file extension, you can use:
+
+ use Inline CPP => (__FILE__ =~ s/\.pm$/.cpp/r);
+
Shorthand
If you are using the 'DATA' or 'file' methods described above and
@@ -637,7 +642,8 @@
used only for modules, and it must match the global variable
$VERSION. Additionally, this option should used if (and only if) a
module is being set up to be installed permanently into the Perl
- sitelib tree. Inline will croak if you use it otherwise.
+ sitelib tree using Inline::MakeMaker (NOT used by Inline::Module).
+ Inline will croak if you use it otherwise.
The presence of the version parameter is the official way to let
Inline know that your code is an installable/installed module. Inline
@@ -869,9 +875,21 @@
WRITING MODULES WITH INLINE
- Writing CPAN modules that use C code is easy with Inline. Let's say
- that you wanted to write a module called Math::Simple. Start by using
- the following command:
+ The current preferred way to author CPAN modules with Inline is to use
+ Inline::Module (distributed separately). Inline ships with
+ Inline::MakeMaker, which helps you set up a Makefile.PL that invokes
+ Inline at install time to compile all the code before it gets
+ installed, but the resulting module still depends on Inline and the
+ language support module like Inline::C. In order to avoid this
+ dependency, what you really want to do is convert your distribution to
+ plain XS before uploading it to CPAN. Inline::Module fills that role,
+ and also integrates well with more modern authoring tools.
+
+ See Inline::Module for details on that approach, or continue reading
+ below for the older Inline::MakeMaker technique.
+
+ Let's say that you wanted to write a module called Math::Simple. Start
+ by using the following command:
h2xs -PAXn Math::Simple
@@ -913,7 +931,7 @@
The important things to note here are that you must specify a name and
version parameter. The name must match your module's package name. The
version parameter must match your module's $VERSION variable and they
- must be of the form /^\d\.\d\d$/.
+ must be considered valid by version::parse.
NOTE: These are Inline's sanity checks to make sure you know what
you're doing before uploading your code to CPAN. They insure that once
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-0.82/lib/Inline/FAQ.pod new/Inline-0.83/lib/Inline/FAQ.pod
--- old/Inline-0.82/lib/Inline/FAQ.pod 2019-03-31 16:10:32.000000000 +0200
+++ new/Inline-0.83/lib/Inline/FAQ.pod 2019-04-28 11:30:45.000000000 +0200
@@ -40,6 +40,20 @@
designed to give you the most flexibility/ease-of-use. Never be afraid to nuke
'em. They'll just pop right back next time they're needed. :)
+=head2 What is the best way to package Inline code for CPAN?
+
+This distribution includes Inline::MakeMaker, described below, which takes
+special steps during the installation of your module to make sure the code
+gets compiled and installed, rather than compiled by users at runtime. But,
+users of your module need to install Inline and the language support module
+like Inline::CPP as prerequisites for your module.
+
+A better way to distribute your module is with Inline::Module, which takes
+special steps to remove dependencies on Inline::* and convert it to a plain XS
+module during the construction of your distribution before you upload it to
+CPAN. It also integrates easily with Dist::Zilla and other modern authoring
+tools for a more streamlined authoring experience.
+
=head2 Whatever happened to the C option?
C is gone. I was going to leave it in and change the semantics,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-0.82/lib/Inline/Foo.pm new/Inline-0.83/lib/Inline/Foo.pm
--- old/Inline-0.82/lib/Inline/Foo.pm 2019-03-31 16:10:32.000000000 +0200
+++ new/Inline-0.83/lib/Inline/Foo.pm 2019-04-28 11:30:45.000000000 +0200
@@ -3,7 +3,7 @@
require Inline;
our @ISA = qw(Inline);
-our $VERSION = '0.82';
+our $VERSION = '0.83';
use Carp;
use File::Spec;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-0.82/lib/Inline/MakeMaker.pm new/Inline-0.83/lib/Inline/MakeMaker.pm
--- old/Inline-0.82/lib/Inline/MakeMaker.pm 2019-03-31 16:10:32.000000000 +0200
+++ new/Inline-0.83/lib/Inline/MakeMaker.pm 2019-04-28 11:30:45.000000000 +0200
@@ -7,7 +7,7 @@
use version;
our @EXPORT = qw(WriteMakefile WriteInlineMakefile);
-our $VERSION = '0.82';
+our $VERSION = '0.83';
sub WriteInlineMakefile {
carp <read_inline_file;
- $o->{CONFIG} = handle_language_config(@config);
+ $o->{CONFIG} = handle_language_config($o->{CONFIG}, @config);
}
elsif ($option eq 'DATA' or not $option) {
- $o->{CONFIG} = handle_language_config(@config);
+ $o->{CONFIG} = handle_language_config($o->{CONFIG}, @config);
push @DATA_OBJS, $o;
return;
}
elsif (uc $option eq uc 'Config') {
- $CONFIG{$pkg}{$language_id} = handle_language_config(@config);
+ $CONFIG{$pkg}{$language_id} = handle_language_config($CONFIG{$pkg}{$language_id}, @config);
return;
}
else {
$o->receive_code($option);
- $o->{CONFIG} = handle_language_config(@config);
+ $o->{CONFIG} = handle_language_config($o->{CONFIG}, @config);
}
}
else {
@@ -191,7 +191,7 @@
$o->{API}{script} = $script;
$o->{API}{language_id} = $language_id;
$o->receive_code($code);
- $o->{CONFIG} = handle_language_config(@config);
+ $o->{CONFIG} = handle_language_config($o->{CONFIG}, @config);
$o->glue;
}
@@ -590,6 +590,7 @@
# Process the config options that apply to a particular language
#==============================================================================
sub handle_language_config {
+ my %merge_with = %{ shift || {} };
my @values;
while (@_) {
my ($key, $value) = (uc shift, shift);
@@ -604,7 +605,7 @@
push @values, $key, $value;
}
}
- return {@values};
+ return {%merge_with, @values};
}
#==============================================================================
@@ -843,7 +844,6 @@
my ($lib, $mod, $register, %checked,
%languages, %types, %modules, %suffixes);
- LIB:
for my $lib (@INC) {
next unless -d File::Spec->catdir($lib,"Inline");
opendir LIB, File::Spec->catdir($lib,"Inline")
@@ -851,7 +851,7 @@
while ($mod = readdir(LIB)) {
next unless $mod =~ /\.pm$/;
$mod =~ s/\.pm$//;
- next LIB if ($checked{$mod}++);
+ next if ($checked{$mod}++);
if ($mod eq 'Config') { # Skip Inline::Config
warn M14_usage_Config();
next;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-0.82/lib/Inline.pod new/Inline-0.83/lib/Inline.pod
--- old/Inline-0.82/lib/Inline.pod 2019-03-31 16:10:32.000000000 +0200
+++ new/Inline-0.83/lib/Inline.pod 2019-04-28 11:30:45.000000000 +0200
@@ -12,7 +12,7 @@
=head1 VERSION
-This document describes L<Inline> version B<0.82>.
+This document describes L<Inline> version B<0.83>.
=head1 SYNOPSIS
@@ -289,6 +289,11 @@
'.>file.ext' instead of simply 'file.ext'.) These methods are less frequently
used but may be useful in some situations.
+For instance, to load your C++ code from a file named the same as your perl
+module with a swapped file extension, you can use:
+
+ use Inline CPP => (__FILE__ =~ s/\.pm$/.cpp/r);
+
=item Shorthand
If you are using the 'DATA' or 'file' methods described above B<and> there are
@@ -629,8 +634,9 @@
Specifies the version number of the Inline extension object. It is used
B<only> for modules, and it must match the global variable $VERSION.
Additionally, this option should used if (and only if) a module is being set
-up to be installed permanently into the Perl sitelib tree. Inline will croak
-if you use it otherwise.
+up to be installed permanently into the Perl sitelib tree using
+Inline::MakeMaker (NOT used by Inline::Module). Inline will croak if you use
+it otherwise.
The presence of the C<version> parameter is the official way to let Inline
know that your code is an installable/installed module. Inline will never
@@ -861,9 +867,20 @@
=head1 WRITING MODULES WITH INLINE
-Writing CPAN modules that use C code is easy with Inline. Let's say that you
-wanted to write a module called CMath::Simple. Start by using the
-following command:
+The current preferred way to author CPAN modules with Inline is to use
+Inline::Module (distributed separately). Inline ships with Inline::MakeMaker,
+which helps you set up a Makefile.PL that invokes Inline at install time to
+compile all the code before it gets installed, but the resulting module still
+depends on Inline and the language support module like Inline::C. In order to
+avoid this dependency, what you really want to do is convert your distribution
+to plain XS before uploading it to CPAN. Inline::Module fills that role, and
+also integrates well with more modern authoring tools.
+
+See Inline::Module for details on that approach, or continue reading below for
+the older Inline::MakeMaker technique.
+
+Let's say that you wanted to write a module called CMath::Simple. Start by
+using the following command:
h2xs -PAXn Math::Simple
@@ -905,7 +922,7 @@
The important things to note here are that you B<must> specify a C<name> and
C<version> parameter. The C<name> must match your module's package name. The
C<version> parameter must match your module's C<$VERSION> variable and they
-must be of the form C^\d\.\d\d$/>.
+must be considered valid by Cversion::parse.
NOTE: These are Inline's sanity checks to make sure you know what you're doing
before uploading your code to CPAN. They insure that once the module has
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-0.82/t/02config.t new/Inline-0.83/t/02config.t
--- old/Inline-0.82/t/02config.t 2019-03-31 16:10:32.000000000 +0200
+++ new/Inline-0.83/t/02config.t 2019-04-28 11:30:45.000000000 +0200
@@ -15,6 +15,7 @@
ok(test2('test2'), 'PATTERN');
use Inline Foo => ConFig => ENABLE => 'BaR';
+use Inline Foo => ConFig =>; # check accumulates instead of reset
use Inline Foo => <<'END_OF_FOO', PAtTERN => 'gogo-';
gogo-sub test2 {
bar-return $_[0] gogo-eq 'test2';