Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-FFI-CheckLib for
openSUSE:Factory checked in at 2022-10-10 18:43:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-FFI-CheckLib (Old)
and /work/SRC/openSUSE:Factory/.perl-FFI-CheckLib.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-FFI-CheckLib"
Mon Oct 10 18:43:46 2022 rev:7 rq:1007971 version:0.31
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-FFI-CheckLib/perl-FFI-CheckLib.changes
2022-10-01 17:42:02.033547389 +0200
+++
/work/SRC/openSUSE:Factory/.perl-FFI-CheckLib.new.2275/perl-FFI-CheckLib.changes
2022-10-10 18:43:58.398792559 +0200
@@ -1,0 +2,12 @@
+Sat Oct 1 03:06:46 UTC 2022 - Tina M??ller <[email protected]>
+
+- updated to 0.31
+ see /usr/share/doc/packages/perl-FFI-CheckLib/Changes
+
+ 0.31 2022-09-30 07:42:44 -0600
+ - Better support for Homebrew and MacPorts on macOS (gh#46 cdalvaro++)
+ - New environment variable FFI_CHECKLIB_PACKAGE (gh#46)
+ - New environment variable FFI_CHECKLIB_PATH (gh#50, gh#52)
+ - Documentation improvements (gh#49, gh#52)
+
+-------------------------------------------------------------------
Old:
----
FFI-CheckLib-0.30.tar.gz
New:
----
FFI-CheckLib-0.31.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-FFI-CheckLib.spec ++++++
--- /var/tmp/diff_new_pack.9HLdxO/_old 2022-10-10 18:43:58.890793618 +0200
+++ /var/tmp/diff_new_pack.9HLdxO/_new 2022-10-10 18:43:58.890793618 +0200
@@ -18,7 +18,7 @@
%define cpan_name FFI-CheckLib
Name: perl-FFI-CheckLib
-Version: 0.30
+Version: 0.31
Release: 0
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Check that a library is available for FFI
@@ -28,11 +28,13 @@
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
+BuildRequires: perl(File::Which)
BuildRequires: perl(List::Util) >= 1.33
BuildRequires: perl(Test2::API) >= 1.302015
BuildRequires: perl(Test2::Require::EnvVar) >= 0.000121
BuildRequires: perl(Test2::Require::Module) >= 0.000121
BuildRequires: perl(Test2::V0) >= 0.000121
+Requires: perl(File::Which)
Requires: perl(List::Util) >= 1.33
%{perl_requires}
++++++ FFI-CheckLib-0.30.tar.gz -> FFI-CheckLib-0.31.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/Changes
new/FFI-CheckLib-0.31/Changes
--- old/FFI-CheckLib-0.30/Changes 2022-09-22 12:24:28.000000000 +0200
+++ new/FFI-CheckLib-0.31/Changes 2022-09-30 15:42:45.000000000 +0200
@@ -1,5 +1,11 @@
Revision history for FFI-CheckLib
+0.31 2022-09-30 07:42:44 -0600
+ - Better support for Homebrew and MacPorts on macOS (gh#46 cdalvaro++)
+ - New environment variable FFI_CHECKLIB_PACKAGE (gh#46)
+ - New environment variable FFI_CHECKLIB_PATH (gh#50, gh#52)
+ - Documentation improvements (gh#49, gh#52)
+
0.30 2022-09-22 04:24:26 -0600
- [ BREAKING CHANGE ]
If the alien option is provided, the libraries provided by aliens will be
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/MANIFEST
new/FFI-CheckLib-0.31/MANIFEST
--- old/FFI-CheckLib-0.30/MANIFEST 2022-09-22 12:24:28.000000000 +0200
+++ new/FFI-CheckLib-0.31/MANIFEST 2022-09-30 15:42:45.000000000 +0200
@@ -37,6 +37,9 @@
corpus/unix/lib/libfoo.so.2
corpus/unix/lib/libfoo.so.2.3
corpus/unix/lib/libfoo.so.2.3.4
+corpus/unix/path/path1/libfoo.so.1
+corpus/unix/path/path2/libfoo.so.2
+corpus/unix/path/path3/libfoo.so.3
corpus/unix/usr/lib/libbar.so
corpus/unix/usr/lib/libbar.so.1
corpus/unix/usr/lib/libbar.so.1.2
@@ -85,6 +88,7 @@
xt/author/no_tabs.t
xt/author/pod.t
xt/author/pod_coverage.t
+xt/author/pod_link.t
xt/author/pod_spelling_common.t
xt/author/pod_spelling_system.t
xt/author/strict.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/META.json
new/FFI-CheckLib-0.31/META.json
--- old/FFI-CheckLib-0.30/META.json 2022-09-22 12:24:28.000000000 +0200
+++ new/FFI-CheckLib-0.31/META.json 2022-09-30 15:42:45.000000000 +0200
@@ -86,6 +86,7 @@
"requires" : {
"FindBin" : "0",
"Perl::Critic" : "0",
+ "Test2::Require::EnvVar" : "0.000121",
"Test2::Require::Module" : "0.000121",
"Test2::Tools::PerlCritic" : "0",
"Test2::V0" : "0.000121",
@@ -96,6 +97,7 @@
"Test::NoTabs" : "0",
"Test::Pod" : "0",
"Test::Pod::Coverage" : "0",
+ "Test::Pod::LinkCheck::Lite" : "0",
"Test::Pod::Spelling::CommonMistakes" : "0",
"Test::Spelling" : "0",
"Test::Strict" : "0",
@@ -104,6 +106,7 @@
},
"runtime" : {
"requires" : {
+ "File::Which" : "0",
"List::Util" : "1.33",
"perl" : "5.006"
}
@@ -131,7 +134,7 @@
},
"x_IRC" : "irc://irc.perl.org/#native"
},
- "version" : "0.30",
+ "version" : "0.31",
"x_contributors" : [
"Graham Ollis <[email protected]>",
"Bakkiaraj Murugesan (bakkiaraj)",
@@ -140,10 +143,11 @@
"Shawn Laffan (SLAFFAN)",
"Petr P\u00edsa\u0159 (ppisar)",
"Michael R. Davis (MRDVT)",
- "Shawn Laffan (SLAFFAN)"
+ "Shawn Laffan (SLAFFAN)",
+ "Carlos D. \u00c1lvaro (cdalvaro)"
],
- "x_generated_by_perl" : "v5.37.3",
- "x_serialization_backend" : "Cpanel::JSON::XS version 4.32",
+ "x_generated_by_perl" : "v5.36.0",
+ "x_serialization_backend" : "Cpanel::JSON::XS version 4.30",
"x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later",
"x_use_unsafe_inc" : 0
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/META.yml
new/FFI-CheckLib-0.31/META.yml
--- old/FFI-CheckLib-0.30/META.yml 2022-09-22 12:24:28.000000000 +0200
+++ new/FFI-CheckLib-0.31/META.yml 2022-09-30 15:42:45.000000000 +0200
@@ -22,6 +22,7 @@
directory:
- corpus
requires:
+ File::Which: '0'
List::Util: '1.33'
perl: '5.006'
resources:
@@ -29,7 +30,7 @@
bugtracker: https://github.com/PerlFFI/FFI-CheckLib/issues
homepage: https://metacpan.org/pod/FFI::CheckLib
repository: git://github.com/PerlFFI/FFI-CheckLib.git
-version: '0.30'
+version: '0.31'
x_contributors:
- 'Graham Ollis <[email protected]>'
- 'Bakkiaraj Murugesan (bakkiaraj)'
@@ -39,7 +40,8 @@
- 'Petr P??sa?? (ppisar)'
- 'Michael R. Davis (MRDVT)'
- 'Shawn Laffan (SLAFFAN)'
-x_generated_by_perl: v5.37.3
+ - 'Carlos D. ??lvaro (cdalvaro)'
+x_generated_by_perl: v5.36.0
x_serialization_backend: 'YAML::Tiny version 1.73'
x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later'
x_use_unsafe_inc: 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/Makefile.PL
new/FFI-CheckLib-0.31/Makefile.PL
--- old/FFI-CheckLib-0.30/Makefile.PL 2022-09-22 12:24:28.000000000 +0200
+++ new/FFI-CheckLib-0.31/Makefile.PL 2022-09-30 15:42:45.000000000 +0200
@@ -25,7 +25,8 @@
"lib/FFI/CheckLib.pm" => "\$(INST_LIB)/FFI/CheckLib.pm"
},
"PREREQ_PM" => {
- "List::Util" => "1.33"
+ "File::Which" => 0,
+ "List::Util" => "1.33"
},
"TEST_REQUIRES" => {
"Test2::API" => "1.302015",
@@ -33,13 +34,14 @@
"Test2::Require::Module" => "0.000121",
"Test2::V0" => "0.000121"
},
- "VERSION" => "0.30",
+ "VERSION" => "0.31",
"test" => {
"TESTS" => "t/*.t"
}
);
my %FallbackPrereqs = (
+ "File::Which" => 0,
"List::Util" => "1.33",
"Test2::API" => "1.302015",
"Test2::Require::EnvVar" => "0.000121",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/README new/FFI-CheckLib-0.31/README
--- old/FFI-CheckLib-0.30/README 2022-09-22 12:24:28.000000000 +0200
+++ new/FFI-CheckLib-0.31/README 2022-09-30 15:42:45.000000000 +0200
@@ -4,7 +4,7 @@
VERSION
- version 0.30
+ version 0.31
SYNOPSIS
@@ -237,6 +237,51 @@
This function is not exportable, even on request.
+ENVIRONMENT
+
+ FFI::CheckLib responds to these environment variables:
+
+ FFI_CHECKLIB_PACKAGE
+
+ On macOS platforms with Homebrew <http://brew.sh> and/or MacPorts
+ <https://www.macports.org> installed, their corresponding lib paths
+ will be automatically appended to $system_path. In case of having
+ both managers installed, Homebrew will appear before.
+
+ This behaviour can be overridden using the environment variable
+ FFI_CHECKLIB_PACKAGE.
+
+ Allowed values are:
+
+ - none: Won't use either Homebrew's path nor MacPorts - homebrew:
+ Will append $(brew --prefix)/lib to the system paths - macports: Will
+ append port's default lib path
+
+ A comma separated list is also valid:
+
+ export FFI_CHECKLIB_PACKAGE=macports,homebrew
+
+ Order matters. So in this example, MacPorts' lib path appears before
+ Homebrew's path.
+
+ FFI_CHECKLIB_PATH
+
+ List of directories that will be considered by FFI::CheckLib as
+ additional "system directories". They will be searched before other
+ system directories but after libpath. The variable is colon separated
+ on Unix and semicolon separated on Windows. If you use this variable,
+ FFI_CHECKLIB_PACKAGE will be ignored.
+
+ PATH
+
+ On Windows the PATH environment variable will be used as a search
+ path for libraries.
+
+ On some operating systems LD_LIBRARY_PATH, DYLD_LIBRARY_PATH,
+ DYLD_FALLBACK_LIBRARY_PATH or others may be used as part of the search
+ for dynamic libraries and may be used (indirectly) by FFI::CheckLib as
+ well.
+
FAQ
Why not just use dlopen?
@@ -321,6 +366,8 @@
Shawn Laffan (SLAFFAN)
+ Carlos D. ??lvaro (cdalvaro)
+
COPYRIGHT AND LICENSE
This software is copyright (c) 2014-2022 by Graham Ollis.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/author.yml
new/FFI-CheckLib-0.31/author.yml
--- old/FFI-CheckLib-0.30/author.yml 2022-09-22 12:24:28.000000000 +0200
+++ new/FFI-CheckLib-0.31/author.yml 2022-09-30 15:42:45.000000000 +0200
@@ -21,6 +21,11 @@
- ppisar
- UX
- MRDVT
+ - macOS
+ - Homebrew
+ - MacPorts
+ - cdalvaro
+ - lvaro
pod_coverage:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/corpus/unix/path/path1/libfoo.so.1
new/FFI-CheckLib-0.31/corpus/unix/path/path1/libfoo.so.1
--- old/FFI-CheckLib-0.30/corpus/unix/path/path1/libfoo.so.1 1970-01-01
01:00:00.000000000 +0100
+++ new/FFI-CheckLib-0.31/corpus/unix/path/path1/libfoo.so.1 2022-09-30
15:42:45.000000000 +0200
@@ -0,0 +1 @@
+path1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/corpus/unix/path/path2/libfoo.so.2
new/FFI-CheckLib-0.31/corpus/unix/path/path2/libfoo.so.2
--- old/FFI-CheckLib-0.30/corpus/unix/path/path2/libfoo.so.2 1970-01-01
01:00:00.000000000 +0100
+++ new/FFI-CheckLib-0.31/corpus/unix/path/path2/libfoo.so.2 2022-09-30
15:42:45.000000000 +0200
@@ -0,0 +1 @@
+path2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/corpus/unix/path/path3/libfoo.so.3
new/FFI-CheckLib-0.31/corpus/unix/path/path3/libfoo.so.3
--- old/FFI-CheckLib-0.30/corpus/unix/path/path3/libfoo.so.3 1970-01-01
01:00:00.000000000 +0100
+++ new/FFI-CheckLib-0.31/corpus/unix/path/path3/libfoo.so.3 2022-09-30
15:42:45.000000000 +0200
@@ -0,0 +1 @@
+3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/dist.ini
new/FFI-CheckLib-0.31/dist.ini
--- old/FFI-CheckLib-0.30/dist.ini 2022-09-22 12:24:28.000000000 +0200
+++ new/FFI-CheckLib-0.31/dist.ini 2022-09-30 15:42:45.000000000 +0200
@@ -3,7 +3,7 @@
license = Perl_5
copyright_holder = Graham Ollis
copyright_year = 2014-2022
-version = 0.30
+version = 0.31
[@Author::Plicease]
:version = 2.72
@@ -49,6 +49,7 @@
contributor = Petr P??sa?? (ppisar)
contributor = Michael R. Davis (MRDVT)
contributor = Shawn Laffan (SLAFFAN)
+contributor = Carlos D. ??lvaro (cdalvaro)
[MetaNoIndex]
directory = corpus
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/lib/FFI/CheckLib.pm
new/FFI-CheckLib-0.31/lib/FFI/CheckLib.pm
--- old/FFI-CheckLib-0.30/lib/FFI/CheckLib.pm 2022-09-22 12:24:28.000000000
+0200
+++ new/FFI-CheckLib-0.31/lib/FFI/CheckLib.pm 2022-09-30 15:42:45.000000000
+0200
@@ -5,6 +5,7 @@
use File::Spec;
use List::Util 1.33 qw( any );
use Carp qw( croak carp );
+use Env qw( @FFI_CHECKLIB_PATH );
use base qw( Exporter );
our @EXPORT = qw(
@@ -23,13 +24,45 @@
);
# ABSTRACT: Check that a library is available for FFI
-our $VERSION = '0.30'; # VERSION
+our $VERSION = '0.31'; # VERSION
our $system_path = [];
our $os ||= $^O;
my $try_ld_on_text = 0;
+sub _homebrew_lib_path {
+ require File::Which;
+ return undef unless File::Which::which('brew');
+ chomp(my $brew_path = (qx`brew --prefix`)[0]);
+ return "$brew_path/lib";
+}
+
+sub _macports_lib_path {
+ require File::Which;
+ my $port_path = File::Which::which('port');
+ return undef unless $port_path;
+ $port_path =~ s|bin/port|lib|;
+ return $port_path;
+}
+
+sub _darwin_extra_paths {
+ my $pkg_managers = lc( $ENV{FFI_CHECKLIB_PACKAGE} || 'homebrew,macports' );
+ return () if $pkg_managers eq 'none';
+ my $supported_managers = {
+ homebrew => \&_homebrew_lib_path,
+ macports => \&_macports_lib_path
+ };
+ my @extra_paths = ();
+ foreach my $pkg_manager (split( /,/, $pkg_managers )) {
+ if (my $lib_path = $supported_managers->{$pkg_manager}()) {
+ push @extra_paths, $lib_path;
+ }
+ }
+ return @extra_paths;
+}
+
+my @extra_paths = ();
if($os eq 'MSWin32' || $os eq 'msys')
{
$system_path = eval {
@@ -47,6 +80,7 @@
\@DynaLoader::dl_library_path;
};
die $@ if $@;
+ @extra_paths = _darwin_extra_paths() if $os eq 'darwin';
}
our $pattern = [ qr{^lib(.*?)\.so(?:\.([0-9]+(?:\.[0-9]+)*))?$} ];
@@ -151,9 +185,37 @@
my @path = @{ $args{libpath} };
@path = map { _recurse($_) } @path if $recursive;
- push @path, grep { defined } defined $args{systempath}
- ? @{ $args{systempath} }
- : @$system_path;
+
+ if(defined $args{systempath})
+ {
+ push @path, grep { defined } @{ $args{systempath} }
+ }
+ else
+ {
+ # This is a little convaluted, but:
+ # 1. These are modifications of what we consider the "system" path
+ # if systempath isn't explicitly passed in as systempath
+ # 2. FFI_CHECKLIB_PATH is considered an authortative modification
+ # so it goes first and overrides FFI_CHECKLIB_PACKAGE
+ # 3. otherwise FFI_CHECKLIB_PACKAGE does its thing and goes on
+ # the end because homebrew does a good job of not replacing
+ # anything in the system by default.
+ # 4. We finally add what we consider the "system" path to the end of
+ # the search path so that libpath will be searched first.
+ my @system_path = @$system_path;
+ if($ENV{FFI_CHECKLIB_PATH})
+ {
+ @system_path = (@FFI_CHECKLIB_PATH, @system_path);
+ }
+ else
+ {
+ foreach my $extra_path (@extra_paths)
+ {
+ push @path, $extra_path unless any { $_ eq $extra_path } @path;
+ }
+ }
+ push @path, @system_path;
+ }
my $any = any { $_ eq '*' } @{ $args{lib} };
my %missing = map { $_ => 1 } @{ $args{lib} };
@@ -406,7 +468,7 @@
=head1 VERSION
-version 0.30
+version 0.31
=head1 SYNOPSIS
@@ -646,6 +708,51 @@
This function is not exportable, even on request.
+=head1 ENVIRONMENT
+
+L<FFI::CheckLib> responds to these environment variables:
+
+=over 4
+
+=item FFI_CHECKLIB_PACKAGE
+
+On macOS platforms with L<Homebrew|http://brew.sh> and/or
L<MacPorts|https://www.macports.org>
+installed, their corresponding lib paths will be automatically appended to
C<$system_path>.
+In case of having both managers installed, Homebrew will appear before.
+
+This behaviour can be overridden using the environment variable
C<FFI_CHECKLIB_PACKAGE>.
+
+Allowed values are:
+
+- C<none>: Won't use either Homebrew's path nor MacPorts
+- C<homebrew>: Will append C<$(brew --prefix)/lib> to the system paths
+- C<macports>: Will append C<port>'s default lib path
+
+A comma separated list is also valid:
+
+ export FFI_CHECKLIB_PACKAGE=macports,homebrew
+
+Order matters. So in this example, MacPorts' lib path appears before
Homebrew's path.
+
+=item FFI_CHECKLIB_PATH
+
+List of directories that will be considered by L<FFI::CheckLib> as additional
"system
+directories". They will be searched before other system directories but after
C<libpath>.
+The variable is colon separated on Unix and semicolon separated on Windows.
If you
+use this variable, C<FFI_CHECKLIB_PACKAGE> will be ignored.
+
+=item PATH
+
+On Windows the C<PATH> environment variable will be used as a search path for
+libraries.
+
+=back
+
+On some operating systems C<LD_LIBRARY_PATH>, C<DYLD_LIBRARY_PATH>,
+C<DYLD_FALLBACK_LIBRARY_PATH> or others I<may> be used as part of the search
+for dynamic libraries and I<may> be used (indirectly) by L<FFI::CheckLib>
+as well.
+
=head1 FAQ
=over 4
@@ -737,6 +844,8 @@
Shawn Laffan (SLAFFAN)
+Carlos D. ??lvaro (cdalvaro)
+
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2014-2022 by Graham Ollis.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/t/00_diag.t
new/FFI-CheckLib-0.31/t/00_diag.t
--- old/FFI-CheckLib-0.30/t/00_diag.t 2022-09-22 12:24:28.000000000 +0200
+++ new/FFI-CheckLib-0.31/t/00_diag.t 2022-09-30 15:42:45.000000000 +0200
@@ -13,6 +13,7 @@
DynaLoader
ExtUtils::MakeMaker
FFI::Platypus
+ File::Which
List::Util
Test2::API
Test2::Require::EnvVar
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/t/ffi_checklib.t
new/FFI-CheckLib-0.31/t/ffi_checklib.t
--- old/FFI-CheckLib-0.30/t/ffi_checklib.t 2022-09-22 12:24:28.000000000
+0200
+++ new/FFI-CheckLib-0.31/t/ffi_checklib.t 2022-09-30 15:42:45.000000000
+0200
@@ -2,6 +2,8 @@
use Test2::V0 -no_srand => 1;
use Test2::Plugin::FauxOS 'linux';
use Test2::Tools::FauxDynaLoader;
+use File::Spec;
+use File::Basename qw( basename );
use FFI::CheckLib qw( find_lib which where has_symbols );
subtest 'recursive' => sub {
@@ -215,4 +217,25 @@
};
+subtest 'FFI_CHECKLIB_PATH' => sub {
+
+ $FFI::CheckLib::system_path =
[File::Spec->rel2abs('corpus/unix/path/path1')];
+ $ENV{FFI_CHECKLIB_PATH} = File::Spec->rel2abs('corpus/unix/path/path2');
+ note "system_path = @{[ @$FFI::CheckLib::system_path ]}";
+ note "FFI_CHECKLIB_PATH = $ENV{FFI_CHECKLIB_PATH}";
+
+ my $lib = FFI::CheckLib::find_lib( lib => 'foo' );
+
+ note "lib=$lib";
+
+ is(basename($lib), "libfoo.so.2");
+
+ $lib = FFI::CheckLib::find_lib( lib => 'foo', libpath =>
'corpus/unix/path/path3' );
+
+ note "lib=$lib";
+
+ is(basename($lib), "libfoo.so.3");
+
+};
+
done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/t/ffi_checklib__os_darwin.t
new/FFI-CheckLib-0.31/t/ffi_checklib__os_darwin.t
--- old/FFI-CheckLib-0.30/t/ffi_checklib__os_darwin.t 2022-09-22
12:24:28.000000000 +0200
+++ new/FFI-CheckLib-0.31/t/ffi_checklib__os_darwin.t 2022-09-30
15:42:45.000000000 +0200
@@ -217,4 +217,64 @@
};
+subtest '_darwin_extra_libraries' => sub {
+ my $homebrew_lib_path = '/opt/homebrew/lib';
+ my $macports_lib_path = '/opt/local/lib';
+ my $mock = mock 'FFI::CheckLib';
+ $mock->override(
+ _homebrew_lib_path => sub {$homebrew_lib_path},
+ _macports_lib_path => sub {$macports_lib_path}
+ );
+
+ subtest 'default' => sub {
+ local %ENV = %ENV;
+ delete $ENV{FFI_CHECKLIB_PACKAGE};
+ is(
+ [ FFI::CheckLib::_darwin_extra_paths() ],
+ [ $homebrew_lib_path, $macports_lib_path ],
+ 'homebrew and macports lib paths added'
+ );
+ };
+
+ subtest 'none' => sub {
+ local %ENV = %ENV;
+ $ENV{FFI_CHECKLIB_PACKAGE} = 'NONE';
+ is(
+ [ FFI::CheckLib::_darwin_extra_paths() ],
+ [],
+ 'None extra lib paths added'
+ );
+ };
+
+ subtest 'homebrew' => sub {
+ local %ENV = %ENV;
+ $ENV{FFI_CHECKLIB_PACKAGE} = 'Homebrew';
+ is(
+ [ FFI::CheckLib::_darwin_extra_paths() ],
+ [ $homebrew_lib_path ],
+ 'homebrew lib path added'
+ );
+ };
+
+ subtest 'macports' => sub {
+ local %ENV = %ENV;
+ $ENV{FFI_CHECKLIB_PACKAGE} = 'MacPorts';
+ is(
+ [ FFI::CheckLib::_darwin_extra_paths() ],
+ [ $macports_lib_path ],
+ 'macports lib path loaded'
+ );
+ };
+
+ subtest 'macports,homebrew' => sub {
+ local %ENV = %ENV;
+ $ENV{FFI_CHECKLIB_PACKAGE} = 'macports,homebrew';
+ is(
+ [ FFI::CheckLib::_darwin_extra_paths() ],
+ [ $macports_lib_path, $homebrew_lib_path ],
+ 'macports and homebrew lib paths added (order matters)'
+ );
+ };
+};
+
done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FFI-CheckLib-0.30/xt/author/pod_link.t
new/FFI-CheckLib-0.31/xt/author/pod_link.t
--- old/FFI-CheckLib-0.30/xt/author/pod_link.t 1970-01-01 01:00:00.000000000
+0100
+++ new/FFI-CheckLib-0.31/xt/author/pod_link.t 2022-09-30 15:42:45.000000000
+0200
@@ -0,0 +1,31 @@
+use Test2::Require::Module 'Test::Pod::LinkCheck::Lite';
+use Test2::Require::EnvVar 'POD_CHECK';
+use Test2::V0;
+use Test::Pod::LinkCheck::Lite;
+
+my @checks;
+
+if(-d 'blib/script')
+{
+ push @checks, 'blib/script';
+}
+elsif(-d 'bin')
+{
+ push @checks, 'bin';
+}
+
+if(-d 'blib')
+{
+ push @checks, 'blib';
+}
+else
+{
+ push @checks, 'lib';
+ diag "checking lib instead of blib";
+}
+
+Test::Pod::LinkCheck::Lite
+ ->new
+ ->all_pod_files_ok(@checks);
+
+done_testing;