Hello community,
here is the log from the commit of package perl-Config-AutoConf for
openSUSE:Factory checked in at 2018-06-15 14:34:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Config-AutoConf (Old)
and /work/SRC/openSUSE:Factory/.perl-Config-AutoConf.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Config-AutoConf"
Fri Jun 15 14:34:14 2018 rev:12 rq:615376 version:0.317
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Config-AutoConf/perl-Config-AutoConf.changes
2018-04-26 13:34:14.552411009 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Config-AutoConf.new/perl-Config-AutoConf.changes
2018-06-15 14:34:15.466716996 +0200
@@ -1,0 +2,11 @@
+Sat Jun 9 05:10:05 UTC 2018 - [email protected]
+
+- updated to 0.317
+ see /usr/share/doc/packages/perl-Config-AutoConf/Changes
+
+ 0.317 2018-06-08
+ - fix pkg_config_package_flags a bit more
+ - improve documentation of pkg_config_package_flags (fix
+ RT#125274 - thanks to Petr Písař <[email protected]>)
+
+-------------------------------------------------------------------
Old:
----
Config-AutoConf-0.316.tar.gz
New:
----
Config-AutoConf-0.317.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Config-AutoConf.spec ++++++
--- /var/tmp/diff_new_pack.sSs5a9/_old 2018-06-15 14:34:16.066695051 +0200
+++ /var/tmp/diff_new_pack.sSs5a9/_new 2018-06-15 14:34:16.070694905 +0200
@@ -17,7 +17,7 @@
Name: perl-Config-AutoConf
-Version: 0.316
+Version: 0.317
Release: 0
%define cpan_name Config-AutoConf
Summary: Module to Implement Some of Autoconf Macros in Pure Perl
++++++ Config-AutoConf-0.316.tar.gz -> Config-AutoConf-0.317.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Config-AutoConf-0.316/Changes
new/Config-AutoConf-0.317/Changes
--- old/Config-AutoConf-0.316/Changes 2018-04-17 11:15:46.000000000 +0200
+++ new/Config-AutoConf-0.317/Changes 2018-06-08 15:38:22.000000000 +0200
@@ -1,5 +1,10 @@
Revision history for Config-AutoConf
+0.317 2018-06-08
+ - fix pkg_config_package_flags a bit more
+ - improve documentation of pkg_config_package_flags (fix
+ RT#125274 - thanks to Petr Písař <[email protected]>)
+
0.316 2018-04-12
- deal with pkg-config errors
- allow more search_lib others
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Config-AutoConf-0.316/META.json
new/Config-AutoConf-0.317/META.json
--- old/Config-AutoConf-0.316/META.json 2018-04-17 11:45:32.000000000 +0200
+++ new/Config-AutoConf-0.317/META.json 2018-06-08 15:45:42.000000000 +0200
@@ -5,13 +5,13 @@
"Jens Rehsack <[email protected]"
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 7.32, CPAN::Meta::Converter
version 2.150010",
+ "generated_by" : "ExtUtils::MakeMaker version 7.24, 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" : "Config-AutoConf",
"no_index" : {
@@ -88,6 +88,6 @@
"x_IRC" : "irc://irc.perl.org/#toolchain",
"x_MailingList" : "mailto:[email protected]'"
},
- "version" : "0.316",
- "x_serialization_backend" : "JSON::PP version 2.97001"
+ "version" : "0.317",
+ "x_serialization_backend" : "JSON::PP version 2.27400_02"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Config-AutoConf-0.316/META.yml
new/Config-AutoConf-0.317/META.yml
--- old/Config-AutoConf-0.316/META.yml 2018-04-17 11:45:32.000000000 +0200
+++ new/Config-AutoConf-0.317/META.yml 2018-06-08 15:45:41.000000000 +0200
@@ -9,7 +9,7 @@
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.32, CPAN::Meta::Converter version
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version
2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -43,5 +43,5 @@
homepage: https://metacpan.org/release/Config-AutoConf
license: http://dev.perl.org/licenses/
repository: https://github.com:ambs/Config-AutoConf.git
-version: '0.316'
+version: '0.317'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Config-AutoConf-0.316/lib/Config/AutoConf.pm
new/Config-AutoConf-0.317/lib/Config/AutoConf.pm
--- old/Config-AutoConf-0.316/lib/Config/AutoConf.pm 2018-04-17
11:15:46.000000000 +0200
+++ new/Config-AutoConf-0.317/lib/Config/AutoConf.pm 2018-06-08
15:38:56.000000000 +0200
@@ -92,7 +92,7 @@
=cut
-our $VERSION = '0.316';
+our $VERSION = '0.317';
$VERSION = eval $VERSION;
=head1 ABSTRACT
@@ -142,7 +142,7 @@
=head2 new
-This function instantiates a new instance of Config::AutoConf, eg. to
+This function instantiates a new instance of Config::AutoConf, e.g. to
configure child components. The constructor adds also values set via
environment variable C<PERL5_AUTOCONF_OPTS>.
@@ -228,11 +228,14 @@
1;
}
-sub _sanitize_prog
+sub _quote_shell_arg { scalar Text::ParseWords::shellwords($_[0]) > 1 ? QUOTE
. $_[0] . QUOTE : $_[0] }
+
+sub _sanitize_prog { shift; _quote_shell_arg shift }
+
+sub _append_prog_args
{
- my ($self, $prog) = @_;
- (scalar Text::ParseWords::shellwords $prog) > 1 and $prog = QUOTE . $prog
. QUOTE;
- $prog;
+ shift;
+ join " ", map { _quote_shell_arg $_ } @_;
}
my @exe_exts = ($^O eq "MSWin32" ? qw(.exe .com .bat .cmd) : (""));
@@ -331,16 +334,9 @@
return;
}
-sub _append_prog_args
-{
- my $self = shift->_get_instance();
- my $prog = shift;
- join(" ", $self->_sanitize_prog($prog), @_);
-}
-
=head2 check_prog_yacc
-From the autoconf documentation,
+From the L<GNU Autoconf|https://www.gnu.org/software/autoconf/autoconf.html>
documentation,
If `bison' is found, set [...] `bison -y'.
Otherwise, if `byacc' is found, set [...] `byacc'.
@@ -374,7 +370,7 @@
=head2 check_prog_awk
-From the autoconf documentation,
+From the L<GNU Autoconf|https://www.gnu.org/software/autoconf/autoconf.html>
documentation,
Check for `gawk', `mawk', `nawk', and `awk', in that order, and
set output [...] to the first one that is found. It tries
@@ -395,7 +391,7 @@
=head2 check_prog_egrep
-From the autoconf documentation,
+From the L<GNU Autoconf|https://www.gnu.org/software/autoconf/autoconf.html>
documentation,
Check for `grep -E' and `egrep', in that order, and [...] output
[...] the first one that is found. The result can be overridden by
@@ -432,7 +428,7 @@
=head2 check_prog_lex
-From the autoconf documentation,
+From the L<GNU Autoconf|https://www.gnu.org/software/autoconf/autoconf.html>
documentation,
If flex is found, set output [...] to ‘flex’ and [...] to -lfl, if that
library is in a standard place. Otherwise set output [...] to ‘lex’ and
@@ -541,7 +537,7 @@
=head2 check_prog_sed
-From the autoconf documentation,
+From the L<GNU Autoconf|https://www.gnu.org/software/autoconf/autoconf.html>
documentation,
Set output variable [...] to a Sed implementation that conforms to Posix
and does not have arbitrary length limits. Report an error if no
@@ -1377,7 +1373,7 @@
If the very last parameter contains a hash reference, C<CODE> references
to I<action_on_true> or I<action_on_false> are executed, respectively.
-When a I<prologue> exists in the optional hash at end, it will be favoured
+When a I<prologue> exists in the optional hash at end, it will be favored
over C<default includes> (represented by L</_default_includes>). If any of
I<action_on_cache_true>, I<action_on_cache_false> is defined, both callbacks
are passed to L</check_cached> as I<action_on_true> or I<action_on_false> to
@@ -1437,13 +1433,13 @@
For each of the symbols (with optional function argument types for C++
overloads), run L<check_decl>.
-Contrary to GNU autoconf, this method does not declare HAVE_DECL_symbol
+Contrary to B<GNU Autoconf>, this method does not declare C<HAVE_DECL_symbol>
macros for the resulting C<confdefs.h>, because it differs as C<check_decl>
between compiling languages.
If the very last parameter contains a hash reference, C<CODE> references
to I<action_on_true> or I<action_on_false> are executed, respectively.
-When a I<prologue> exists in the optional hash at end, it will be favoured
+When a I<prologue> exists in the optional hash at end, it will be favored
over C<default includes> (represented by L</_default_includes>). If any of
I<action_on_cache_true>, I<action_on_cache_false> is defined, both callbacks
are passed to L</check_cached> as I<action_on_true> or I<action_on_false> to
@@ -1731,7 +1727,7 @@
If the very last parameter contains a hash reference, C<CODE> references
to I<action_on_true> or I<action_on_false> are executed, respectively.
-When a I<prologue> exists in the optional hash at end, it will be favoured
+When a I<prologue> exists in the optional hash at end, it will be favored
over C<default includes> (represented by L</_default_includes>). If any of
I<action_on_cache_true>, I<action_on_cache_false> is defined, both callbacks
are passed to L</check_cached> as I<action_on_true> or I<action_on_false> to
@@ -1797,7 +1793,7 @@
If the very last parameter contains a hash reference, C<CODE> references
to I<action_on_true> or I<action_on_false> are executed, respectively.
-When a I<prologue> exists in the optional hash at end, it will be favoured
+When a I<prologue> exists in the optional hash at end, it will be favored
over C<default includes> (represented by L</_default_includes>). If any of
I<action_on_cache_true>, I<action_on_cache_false> is defined, both callbacks
are passed to L</check_cached> as I<action_on_true> or I<action_on_false> to
@@ -1933,7 +1929,7 @@
If the very last parameter contains a hash reference, C<CODE> references
to I<action_on_true> or I<action_on_false> are executed, respectively.
-When a I<prologue> exists in the optional hash at end, it will be favoured
+When a I<prologue> exists in the optional hash at end, it will be favored
over C<default includes> (represented by L</_default_includes>). If any of
I<action_on_cache_true>, I<action_on_cache_false> is defined, both callbacks
are passed to L</check_cached> as I<action_on_true> or I<action_on_false> to
@@ -2005,7 +2001,7 @@
C<SIZEOF_type> using the determined size.
In opposition to GNU AutoConf, this method can determine size of structure
-members, eg.
+members, e.g.
$ac->check_sizeof_type( "SV.sv_refcnt", { prologue => $include_perl } );
# or
@@ -2015,7 +2011,7 @@
If the very last parameter contains a hash reference, C<CODE> references
to I<action_on_true> or I<action_on_false> are executed, respectively.
-When a I<prologue> exists in the optional hash at end, it will be favoured
+When a I<prologue> exists in the optional hash at end, it will be favored
over C<default includes> (represented by L</_default_includes>). If any of
I<action_on_cache_true>, I<action_on_cache_false> is defined, both callbacks
are passed to L</check_cached> as I<action_on_true> or I<action_on_false> to
@@ -2102,7 +2098,7 @@
If the very last parameter contains a hash reference, C<CODE> references
to I<action_on_true> or I<action_on_false> are executed, respectively.
-When a I<prologue> exists in the optional hash at end, it will be favoured
+When a I<prologue> exists in the optional hash at end, it will be favored
over C<default includes> (represented by L</_default_includes>). If any of
I<action_on_cache_true>, I<action_on_cache_false> is defined, both callbacks
are passed to L</check_cached> as I<action_on_true> or I<action_on_false> to
@@ -2182,7 +2178,7 @@
If the very last parameter contains a hash reference, C<CODE> references
to I<action_on_true> or I<action_on_false> are executed, respectively.
-When a I<prologue> exists in the optional hash at end, it will be favoured
+When a I<prologue> exists in the optional hash at end, it will be favored
over C<default includes> (represented by L</_default_includes>). If any of
I<action_on_cache_true>, I<action_on_cache_false> is defined, both callbacks
are passed to L</check_cached> as I<action_on_true> or I<action_on_false> to
@@ -2272,7 +2268,7 @@
If the very last parameter contains a hash reference, C<CODE> references
to I<action_on_true> or I<action_on_false> are executed, respectively.
-When a I<prologue> exists in the optional hash at end, it will be favoured
+When a I<prologue> exists in the optional hash at end, it will be favored
over C<default includes> (represented by L</_default_includes>). If any of
I<action_on_cache_true>, I<action_on_cache_false> is defined, both callbacks
are passed to L</check_cached> as I<action_on_true> or I<action_on_false> to
@@ -2364,7 +2360,7 @@
If the very last parameter contains a hash reference, C<CODE> references
to I<action_on_true> or I<action_on_false> are executed, respectively.
-When a I<prologue> exists in the optional hash at end, it will be favoured
+When a I<prologue> exists in the optional hash at end, it will be favored
over C<default includes> (represented by L</_default_includes>). If any of
I<action_on_cache_true>, I<action_on_cache_false> is defined, both callbacks
are passed to L</check_cached> as I<action_on_true> or I<action_on_false> to
@@ -2453,7 +2449,7 @@
If the very last parameter contains a hash reference, C<CODE> references
to I<action_on_true> or I<action_on_false> are executed, respectively.
-When a I<prologue> exists in the optional hash at end, it will be favoured
+When a I<prologue> exists in the optional hash at end, it will be favored
over C<default includes> (represented by L</_default_includes>). If any of
I<action_on_cache_true>, I<action_on_cache_false> is defined, both callbacks
are passed to L</check_cached> as I<action_on_true> or I<action_on_false> to
@@ -3370,14 +3366,42 @@
=head2 pkg_config_package_flags($package, \%options?)
-Search for pkg-config flags for package as specified. The flags which are
-extracted are C<--cflags> and C<--libs>. The extracted flags are appended
-to the global C<extra_compile_flags> and C<extra_link_flags>, respectively.
-In case, no I<package configuration> matching given criteria could be found,
-return a C<false> value (C<0>).
+ use Config::AutoConf
+
+ my $c = Config::AutoConf->new;
+ $c->pkg_config_package_flags('log4cplus');
+ WriteMakefile(
+ ...
+ INC => $c->_get_extra_compiler_flags,
+ LIBS => $c->_get_extra_linker_flags,
+ );
-Call it with the package you're looking for and optional callback whether
-found or not.
+Search for C<pkg-config> flags for package as specified. The flags which are
+extracted are C<--cflags> and C<--libs>. The extracted flags are appended
+to the global C<extra_preprocess_flags>, C<extra_link_flags> or C<extra_libs>,
+respectively. Distinguishing between C<extra_link_flags> and C<extra_libs>
+is essential to avoid conflicts with L<search_libs function|/search_libs>
+and family. In case, no I<package configuration> matching given criteria
+could be found, return a C<false> value (C<0>).
+
+The C<pkg-config> flags are taken from I<environment variables>
+C<< ${package}_CFLAGS >> or C<< ${package}_LIBS >> when defined, respectively.
+It will be a nice touch to document the particular envonment variables
+for your build procedure - as for above example it should be
+
+ $ env log4cplus_CFLAGS="-I/opt/coolapp/include" \
+ log4cplus_LIBS="-L/opt/coolapp/lib -Wl,-R/opt/coolapp/lib -llog4cplus"
\
+ perl Makefile.PL
+
+Call C<pkg_config_package_flags> with the package you're looking for and
+optional callback whether found or not.
+
+To support stage compiling properly (C<rpath> vs. library file location),
+the internal representation is a moving target. Do not use the result
+directly - the getters L<_get_extra_compiler_flags|/_get_extra_compiler_flags>
+and L<_get_extra_linker_flags|/_get_extra_linker_flags> are strongly
+encouraged. In case this is not possible, please open a ticket to get
+informed on invasive changes.
If the very last parameter contains a hash reference, C<CODE> references
to I<action_on_true> or I<action_on_false> are executed, respectively.
@@ -3588,7 +3612,7 @@
$self->check_pureperl_required() and return _on_return_callback_helper(0,
$options, "action_on_false");
eval { $self->check_valid_compilers($_[0] || [qw(C)]) }
or return _on_return_callback_helper(0, $options, "action_on_false");
- # XXX necessary check for $Config{useshrlib}? (need to dicuss with eg.
TuX, 99% likely return 0)
+ # XXX necessary check for $Config{useshrlib}? (need to dicuss with e.g.
TuX, 99% likely return 0)
$self->check_compile_perlapi_or_die();
$options->{action_on_true}
@@ -3733,7 +3757,7 @@
=head2 _default_includes
returns a string containing default includes for program prologue taken
-from autoconf/headers.m4:
+from C<autoconf/headers.m4>:
#include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
@@ -3903,7 +3927,7 @@
=head2 add_log_fh
-Push new file handles at end of log-handles to allow tee-ing log-output
+Push new file handles at end of log-handles to allow tee'ing log-output
=cut
@@ -3954,21 +3978,33 @@
$self->_cache_name(map { $_ =~ tr/*/p/; $_ } @names);
}
+=head2 _get_extra_compiler_flags
+
+Returns the determined flags required to run the compile stage as string
+
+=cut
+
sub _get_extra_compiler_flags
{
my $self = shift->_get_instance();
my @ppflags = @{$self->{extra_preprocess_flags}};
my @cflags = @{$self->{extra_compile_flags}->{$self->{lang}}};
- join(" ", @ppflags, @cflags);
+ join(" ", map { _quote_shell_arg $_ } (@ppflags, @cflags));
}
+=head2 _get_extra_linker_flags
+
+Returns the determined flags required to run the link stage as string
+
+=cut
+
sub _get_extra_linker_flags
{
my $self = shift->_get_instance();
my @libs = @{$self->{extra_libs}};
my @lib_dirs = @{$self->{extra_lib_dirs}};
my @ldflags = @{$self->{extra_link_flags}};
- join(" ", @ldflags, map('-L' . $self->_sanitize_prog($_), @lib_dirs),
map("-l$_", @libs));
+ join(" ", map { _quote_shell_arg $_ } (@ldflags, map("-L" .
$self->_sanitize_prog($_), @lib_dirs), map("-l$_", @libs)));
}
=head1 AUTHOR