|
|
267f7d3 |
From 343c582db332d07f831420372ef8eab1eead0718 Mon Sep 17 00:00:00 2001
|
|
|
e2e8b15 |
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
|
|
e2e8b15 |
Date: Fri, 8 Sep 2017 11:31:02 +0200
|
|
|
e2e8b15 |
Subject: [PATCH] Remove redundant pkgconfig implementations
|
|
|
e2e8b15 |
MIME-Version: 1.0
|
|
|
e2e8b15 |
Content-Type: text/plain; charset=UTF-8
|
|
|
e2e8b15 |
Content-Transfer-Encoding: 8bit
|
|
|
e2e8b15 |
|
|
|
e2e8b15 |
Only one implementation is required, we selected
|
|
|
e2e8b15 |
Alien::Build::Plugin::PkgConfig::LibPkgConf. This patch removes other
|
|
|
e2e8b15 |
ones to decrease number of dependencies.
|
|
|
e2e8b15 |
|
|
|
e2e8b15 |
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
|
|
e2e8b15 |
---
|
|
|
beef961 |
MANIFEST | 4 -
|
|
|
beef961 |
Makefile.PL | 4 +-
|
|
|
beef961 |
lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm | 25 +--
|
|
|
beef961 |
t/01_use.t | 4 -
|
|
|
beef961 |
t/alien_build_plugin_pkgconfig_negotiate.t | 2 +-
|
|
|
4458411 |
...n_build_plugin_pkgconfig_negotiate__pick.t | 176 +-----------------
|
|
|
4458411 |
6 files changed, 11 insertions(+), 204 deletions(-)
|
|
|
e2e8b15 |
|
|
|
e2e8b15 |
diff --git a/MANIFEST b/MANIFEST
|
|
|
267f7d3 |
index 6f507b0..b9335ad 100644
|
|
|
e2e8b15 |
--- a/MANIFEST
|
|
|
e2e8b15 |
+++ b/MANIFEST
|
|
|
267f7d3 |
@@ -243,11 +243,9 @@ lib/Alien/Build/Plugin/Fetch/Wget.pm
|
|
|
267f7d3 |
lib/Alien/Build/Plugin/Gather.pod
|
|
|
e2e8b15 |
lib/Alien/Build/Plugin/Gather/IsolateDynamic.pm
|
|
|
267f7d3 |
lib/Alien/Build/Plugin/PkgConfig.pod
|
|
|
e2e8b15 |
-lib/Alien/Build/Plugin/PkgConfig/CommandLine.pm
|
|
|
e2e8b15 |
lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm
|
|
|
e2e8b15 |
lib/Alien/Build/Plugin/PkgConfig/MakeStatic.pm
|
|
|
e2e8b15 |
lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm
|
|
|
e2e8b15 |
-lib/Alien/Build/Plugin/PkgConfig/PP.pm
|
|
|
e2e8b15 |
lib/Alien/Build/Plugin/Prefer.pod
|
|
|
e2e8b15 |
lib/Alien/Build/Plugin/Prefer/BadVersion.pm
|
|
|
ef0b670 |
lib/Alien/Build/Plugin/Prefer/GoodVersion.pm
|
|
|
267f7d3 |
@@ -336,12 +334,10 @@ t/alien_build_plugin_fetch_netftp.t
|
|
|
0d5ea32 |
t/alien_build_plugin_fetch_wget.t
|
|
|
e2e8b15 |
t/alien_build_plugin_gather_isolatedynamic.t
|
|
|
e2e8b15 |
t/alien_build_plugin_meta.t
|
|
|
e2e8b15 |
-t/alien_build_plugin_pkgconfig_commandline.t
|
|
|
e2e8b15 |
t/alien_build_plugin_pkgconfig_libpkgconf.t
|
|
|
e2e8b15 |
t/alien_build_plugin_pkgconfig_makestatic.t
|
|
|
e2e8b15 |
t/alien_build_plugin_pkgconfig_negotiate.t
|
|
|
e2e8b15 |
t/alien_build_plugin_pkgconfig_negotiate__pick.t
|
|
|
e2e8b15 |
-t/alien_build_plugin_pkgconfig_pp.t
|
|
|
e2e8b15 |
t/alien_build_plugin_prefer_badversion.t
|
|
|
ef0b670 |
t/alien_build_plugin_prefer_goodversion.t
|
|
|
e2e8b15 |
t/alien_build_plugin_prefer_sortversions.t
|
|
|
e2e8b15 |
diff --git a/Makefile.PL b/Makefile.PL
|
|
|
267f7d3 |
index 27b442e..4c4c147 100644
|
|
|
e2e8b15 |
--- a/Makefile.PL
|
|
|
e2e8b15 |
+++ b/Makefile.PL
|
|
|
267f7d3 |
@@ -95,11 +95,9 @@ my %WriteMakefileArgs = (
|
|
|
267f7d3 |
"lib/Alien/Build/Plugin/Gather.pod" => "\$(INST_LIB)/Alien/Build/Plugin/Gather.pod",
|
|
|
73ea060 |
"lib/Alien/Build/Plugin/Gather/IsolateDynamic.pm" => "\$(INST_LIB)/Alien/Build/Plugin/Gather/IsolateDynamic.pm",
|
|
|
267f7d3 |
"lib/Alien/Build/Plugin/PkgConfig.pod" => "\$(INST_LIB)/Alien/Build/Plugin/PkgConfig.pod",
|
|
|
73ea060 |
- "lib/Alien/Build/Plugin/PkgConfig/CommandLine.pm" => "\$(INST_LIB)/Alien/Build/Plugin/PkgConfig/CommandLine.pm",
|
|
|
73ea060 |
"lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm" => "\$(INST_LIB)/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm",
|
|
|
73ea060 |
"lib/Alien/Build/Plugin/PkgConfig/MakeStatic.pm" => "\$(INST_LIB)/Alien/Build/Plugin/PkgConfig/MakeStatic.pm",
|
|
|
73ea060 |
"lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm" => "\$(INST_LIB)/Alien/Build/Plugin/PkgConfig/Negotiate.pm",
|
|
|
73ea060 |
- "lib/Alien/Build/Plugin/PkgConfig/PP.pm" => "\$(INST_LIB)/Alien/Build/Plugin/PkgConfig/PP.pm",
|
|
|
73ea060 |
"lib/Alien/Build/Plugin/Prefer.pod" => "\$(INST_LIB)/Alien/Build/Plugin/Prefer.pod",
|
|
|
73ea060 |
"lib/Alien/Build/Plugin/Prefer/BadVersion.pm" => "\$(INST_LIB)/Alien/Build/Plugin/Prefer/BadVersion.pm",
|
|
|
ef0b670 |
"lib/Alien/Build/Plugin/Prefer/GoodVersion.pm" => "\$(INST_LIB)/Alien/Build/Plugin/Prefer/GoodVersion.pm",
|
|
|
267f7d3 |
@@ -218,4 +216,4 @@ sub requires { goto &runtime_requires }
|
|
|
e2e8b15 |
sub runtime_requires {
|
|
|
73ea060 |
my ( $module, $version_or_range ) = @_;
|
|
|
73ea060 |
_add_prereq( PREREQ_PM => $module, $version_or_range );
|
|
|
e2e8b15 |
-}
|
|
|
e2e8b15 |
\ No newline at end of file
|
|
|
e2e8b15 |
+}
|
|
|
e2e8b15 |
diff --git a/lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm b/lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm
|
|
|
267f7d3 |
index fd4cb62..de10c7c 100644
|
|
|
e2e8b15 |
--- a/lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm
|
|
|
e2e8b15 |
+++ b/lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm
|
|
|
80062c6 |
@@ -4,9 +4,7 @@ use strict;
|
|
|
e2e8b15 |
use warnings;
|
|
|
80062c6 |
use 5.008004;
|
|
|
e2e8b15 |
use Alien::Build::Plugin;
|
|
|
e2e8b15 |
-use Alien::Build::Plugin::PkgConfig::PP;
|
|
|
c444d96 |
use Alien::Build::Plugin::PkgConfig::LibPkgConf;
|
|
|
c444d96 |
-use Alien::Build::Plugin::PkgConfig::CommandLine;
|
|
|
e2e8b15 |
use Alien::Build::Util qw( _perl_config );
|
|
|
e2e8b15 |
use Carp ();
|
|
|
e2e8b15 |
|
|
|
80062c6 |
@@ -42,27 +40,6 @@ sub pick
|
|
|
e2e8b15 |
return 'PkgConfig::LibPkgConf';
|
|
|
e2e8b15 |
}
|
|
|
beef961 |
|
|
|
e2e8b15 |
- if(Alien::Build::Plugin::PkgConfig::CommandLine->available)
|
|
|
e2e8b15 |
- {
|
|
|
5df0a8b |
- # TODO: determine environment or flags necessary for using pkg-config
|
|
|
5df0a8b |
- # on solaris 64 bit.
|
|
|
dd51efc |
- # Some advice on pkg-config and 64 bit Solaris
|
|
|
dd51efc |
- # https://docs.oracle.com/cd/E53394_01/html/E61689/gplhi.html
|
|
|
beef961 |
- my $is_solaris64 = (_perl_config('osname') eq 'solaris' && _perl_config('ptrsize') == 8);
|
|
|
beef961 |
-
|
|
|
beef961 |
- # PkgConfig.pm is more reliable on windows
|
|
|
beef961 |
- my $is_windows = _perl_config('osname') eq 'MSWin32';
|
|
|
beef961 |
-
|
|
|
beef961 |
- if(!$is_solaris64 && !$is_windows)
|
|
|
e2e8b15 |
- {
|
|
|
e2e8b15 |
- return 'PkgConfig::CommandLine';
|
|
|
e2e8b15 |
- }
|
|
|
e2e8b15 |
- }
|
|
|
beef961 |
-
|
|
|
e2e8b15 |
- if(Alien::Build::Plugin::PkgConfig::PP->available)
|
|
|
e2e8b15 |
- {
|
|
|
e2e8b15 |
- return 'PkgConfig::PP';
|
|
|
e2e8b15 |
- }
|
|
|
e2e8b15 |
else
|
|
|
e2e8b15 |
{
|
|
|
3dbb29e |
# this is a fata error. because we check for a pkg-config implementation
|
|
|
80062c6 |
@@ -70,7 +47,7 @@ sub pick
|
|
|
3dbb29e |
# fallback on installing PkgConfig.pm as a prereq if nothing else is avail).
|
|
|
3dbb29e |
# we therefore expect at least one of these to work, if not, then the configuration
|
|
|
3dbb29e |
# of the system has shifted from underneath us.
|
|
|
c444d96 |
- Carp::croak("Could not find an appropriate pkg-config or pkgconf implementation, please install PkgConfig.pm, PkgConfig::LibPkgConf, pkg-config or pkgconf");
|
|
|
c444d96 |
+ Carp::croak("Could not find an appropriate pkg-config or pkgconf implementation, please install PkgConfig::LibPkgConf");
|
|
|
e2e8b15 |
}
|
|
|
e2e8b15 |
}
|
|
|
e2e8b15 |
|
|
|
e2e8b15 |
diff --git a/t/01_use.t b/t/01_use.t
|
|
|
267f7d3 |
index 0275da2..46875d0 100644
|
|
|
e2e8b15 |
--- a/t/01_use.t
|
|
|
e2e8b15 |
+++ b/t/01_use.t
|
|
|
80062c6 |
@@ -46,11 +46,9 @@ require_ok 'Alien::Build::Plugin::Fetch::LocalDir';
|
|
|
e2e8b15 |
require_ok 'Alien::Build::Plugin::Fetch::NetFTP';
|
|
|
0d5ea32 |
require_ok 'Alien::Build::Plugin::Fetch::Wget';
|
|
|
e2e8b15 |
require_ok 'Alien::Build::Plugin::Gather::IsolateDynamic';
|
|
|
e2e8b15 |
-require_ok 'Alien::Build::Plugin::PkgConfig::CommandLine';
|
|
|
e2e8b15 |
require_ok 'Alien::Build::Plugin::PkgConfig::LibPkgConf';
|
|
|
e2e8b15 |
require_ok 'Alien::Build::Plugin::PkgConfig::MakeStatic';
|
|
|
e2e8b15 |
require_ok 'Alien::Build::Plugin::PkgConfig::Negotiate';
|
|
|
e2e8b15 |
-require_ok 'Alien::Build::Plugin::PkgConfig::PP';
|
|
|
e2e8b15 |
require_ok 'Alien::Build::Plugin::Prefer::BadVersion';
|
|
|
ef0b670 |
require_ok 'Alien::Build::Plugin::Prefer::GoodVersion';
|
|
|
e2e8b15 |
require_ok 'Alien::Build::Plugin::Prefer::SortVersions';
|
|
|
267f7d3 |
@@ -116,11 +114,9 @@ ok -f 't/alien_build_plugin_fetch_localdir.t', 'test for Alien::B
|
|
|
1489e91 |
ok -f 't/alien_build_plugin_fetch_netftp.t', 'test for Alien::Build::Plugin::Fetch::NetFTP';
|
|
|
1489e91 |
ok -f 't/alien_build_plugin_fetch_wget.t', 'test for Alien::Build::Plugin::Fetch::Wget';
|
|
|
1489e91 |
ok -f 't/alien_build_plugin_gather_isolatedynamic.t', 'test for Alien::Build::Plugin::Gather::IsolateDynamic';
|
|
|
1489e91 |
-ok -f 't/alien_build_plugin_pkgconfig_commandline.t', 'test for Alien::Build::Plugin::PkgConfig::CommandLine';
|
|
|
1489e91 |
ok -f 't/alien_build_plugin_pkgconfig_libpkgconf.t', 'test for Alien::Build::Plugin::PkgConfig::LibPkgConf';
|
|
|
1489e91 |
ok -f 't/alien_build_plugin_pkgconfig_makestatic.t', 'test for Alien::Build::Plugin::PkgConfig::MakeStatic';
|
|
|
1489e91 |
ok -f 't/alien_build_plugin_pkgconfig_negotiate.t', 'test for Alien::Build::Plugin::PkgConfig::Negotiate';
|
|
|
1489e91 |
-ok -f 't/alien_build_plugin_pkgconfig_pp.t', 'test for Alien::Build::Plugin::PkgConfig::PP';
|
|
|
1489e91 |
ok -f 't/alien_build_plugin_prefer_badversion.t', 'test for Alien::Build::Plugin::Prefer::BadVersion';
|
|
|
ef0b670 |
ok -f 't/alien_build_plugin_prefer_goodversion.t', 'test for Alien::Build::Plugin::Prefer::GoodVersion';
|
|
|
1489e91 |
ok -f 't/alien_build_plugin_prefer_sortversions.t', 'test for Alien::Build::Plugin::Prefer::SortVersions';
|
|
|
e2e8b15 |
diff --git a/t/alien_build_plugin_pkgconfig_negotiate.t b/t/alien_build_plugin_pkgconfig_negotiate.t
|
|
|
80062c6 |
index 1c2c71d..071a7b0 100644
|
|
|
e2e8b15 |
--- a/t/alien_build_plugin_pkgconfig_negotiate.t
|
|
|
e2e8b15 |
+++ b/t/alien_build_plugin_pkgconfig_negotiate.t
|
|
|
80062c6 |
@@ -16,7 +16,7 @@ subtest 'pick' => sub {
|
|
|
e2e8b15 |
|
|
|
e2e8b15 |
subtest 'override' => sub {
|
|
|
e2e8b15 |
|
|
|
c444d96 |
- foreach my $name (qw( PP LibPkgConf CommandLine ))
|
|
|
e2e8b15 |
+ foreach my $name (qw( LibPkgConf ))
|
|
|
e2e8b15 |
{
|
|
|
e2e8b15 |
local $ENV{ALIEN_BUILD_PKG_CONFIG} = "PkgConfig::$name";
|
|
|
e2e8b15 |
subtest $ENV{ALIEN_BUILD_PKG_CONFIG} => sub {
|
|
|
e2e8b15 |
diff --git a/t/alien_build_plugin_pkgconfig_negotiate__pick.t b/t/alien_build_plugin_pkgconfig_negotiate__pick.t
|
|
|
267f7d3 |
index 9862014..54fb83d 100644
|
|
|
e2e8b15 |
--- a/t/alien_build_plugin_pkgconfig_negotiate__pick.t
|
|
|
e2e8b15 |
+++ b/t/alien_build_plugin_pkgconfig_negotiate__pick.t
|
|
|
267f7d3 |
@@ -27,9 +27,10 @@ subtest 'LibPkgConf' => sub {
|
|
|
cd276bc |
|
|
|
3dbb29e |
local $PkgConfig::LibPkgConf::VERSION = '0.01';
|
|
|
3dbb29e |
|
|
|
3dbb29e |
- isnt(
|
|
|
3dbb29e |
- Alien::Build::Plugin::PkgConfig::Negotiate->pick,
|
|
|
3dbb29e |
- 'PkgConfig::LibPkgConf',
|
|
|
3dbb29e |
+ eval { Alien::Build::Plugin::PkgConfig::Negotiate->pick };
|
|
|
3dbb29e |
+ ok(
|
|
|
3dbb29e |
+ $@,
|
|
|
3dbb29e |
+ 'PkgConfig::LibPkgConf "0.1" is too old',
|
|
|
3dbb29e |
);
|
|
|
3dbb29e |
|
|
|
3dbb29e |
};
|
|
|
267f7d3 |
@@ -42,9 +43,10 @@ subtest 'LibPkgConf' => sub {
|
|
|
3dbb29e |
# cannot be loaded for the rest of this .t file
|
|
|
3dbb29e |
note scalar capture_merged { Devel::Hide->import(qw( PkgConfig::LibPkgConf )) };
|
|
|
cd276bc |
|
|
|
3dbb29e |
- isnt(
|
|
|
3dbb29e |
- Alien::Build::Plugin::PkgConfig::Negotiate->pick,
|
|
|
3dbb29e |
- 'PkgConfig::LibPkgConf',
|
|
|
3dbb29e |
+ eval { Alien::Build::Plugin::PkgConfig::Negotiate->pick };
|
|
|
3dbb29e |
+ ok(
|
|
|
3dbb29e |
+ $@,
|
|
|
3dbb29e |
+ 'Missing PkgConfig::LibPkgConf triggers an exception',
|
|
|
3dbb29e |
);
|
|
|
3dbb29e |
|
|
|
3dbb29e |
};
|
|
|
267f7d3 |
@@ -57,167 +59,5 @@ my $make_pkgconfig_libpkgconf_unavailable = mock 'Alien::Build::Plugin::PkgConfi
|
|
|
e2e8b15 |
],
|
|
|
e2e8b15 |
);
|
|
|
e2e8b15 |
|
|
|
e2e8b15 |
-subtest 'CommandLine' => sub {
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- local $INC{'PkgConfig.pm'} = __FILE__;
|
|
|
e2e8b15 |
- local $PkgConfig::VERSION = '0.14026';
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- my %which;
|
|
|
e2e8b15 |
-
|
|
|
4458411 |
- my $mock = mock 'File::Which' => (
|
|
|
e2e8b15 |
- override => [
|
|
|
e2e8b15 |
- which => sub {
|
|
|
e2e8b15 |
- my($prog) = @_;
|
|
|
e2e8b15 |
- if(defined $prog)
|
|
|
e2e8b15 |
- {
|
|
|
e2e8b15 |
- if($which{$prog})
|
|
|
e2e8b15 |
- {
|
|
|
e2e8b15 |
- note "which: $prog => $which{$prog}";
|
|
|
e2e8b15 |
- return $which{$prog};
|
|
|
e2e8b15 |
- }
|
|
|
e2e8b15 |
- else
|
|
|
e2e8b15 |
- {
|
|
|
e2e8b15 |
- note "which: $prog N/A";
|
|
|
e2e8b15 |
- }
|
|
|
e2e8b15 |
- }
|
|
|
e2e8b15 |
- else
|
|
|
e2e8b15 |
- {
|
|
|
e2e8b15 |
- note "which: undef";
|
|
|
e2e8b15 |
- }
|
|
|
e2e8b15 |
- },
|
|
|
e2e8b15 |
- ],
|
|
|
e2e8b15 |
- );
|
|
|
cd276bc |
-
|
|
|
4458411 |
- my $mock2 = mock 'Alien::Build::Plugin::PkgConfig::Negotiate';
|
|
|
cd276bc |
-
|
|
|
beef961 |
- if($^O =~ /^(solaris|MSWin32)$/) {
|
|
|
0d5ea32 |
- $mock2->override(
|
|
|
0d5ea32 |
- _perl_config => sub {
|
|
|
0d5ea32 |
- my($key) = @_;
|
|
|
0d5ea32 |
- if($key eq 'osname')
|
|
|
0d5ea32 |
- { return 'linux' }
|
|
|
0d5ea32 |
- else
|
|
|
0d5ea32 |
- { return $Config{$key} }
|
|
|
0d5ea32 |
- },
|
|
|
0d5ea32 |
- );
|
|
|
0d5ea32 |
- }
|
|
|
0d5ea32 |
-
|
|
|
e2e8b15 |
- subtest 'no command line' => sub {
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- %which = ();
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- is(
|
|
|
e2e8b15 |
- Alien::Build::Plugin::PkgConfig::Negotiate->pick,
|
|
|
e2e8b15 |
- 'PkgConfig::PP',
|
|
|
e2e8b15 |
- );
|
|
|
cd276bc |
-
|
|
|
e2e8b15 |
- };
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- subtest 'pkg-config' => sub {
|
|
|
cd276bc |
-
|
|
|
e2e8b15 |
- %which = ( 'pkg-config' => '/usr/bin/pkg-config' );
|
|
|
cd276bc |
-
|
|
|
e2e8b15 |
- is(
|
|
|
e2e8b15 |
- Alien::Build::Plugin::PkgConfig::Negotiate->pick,
|
|
|
e2e8b15 |
- 'PkgConfig::CommandLine',
|
|
|
e2e8b15 |
- );
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- };
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- subtest 'pkgconf' => sub {
|
|
|
cd276bc |
-
|
|
|
e2e8b15 |
- %which = ( 'pkgconf' => '/usr/bin/pkgconf' );
|
|
|
cd276bc |
-
|
|
|
e2e8b15 |
- is(
|
|
|
e2e8b15 |
- Alien::Build::Plugin::PkgConfig::Negotiate->pick,
|
|
|
e2e8b15 |
- 'PkgConfig::CommandLine',
|
|
|
e2e8b15 |
- );
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- };
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- subtest 'PKG_CONFIG' => sub {
|
|
|
cd276bc |
-
|
|
|
e2e8b15 |
- local $ENV{PKG_CONFIG} = 'foo-pkg-config';
|
|
|
e2e8b15 |
- %which = ( 'foo-pkg-config' => '/usr/bin/foo-pkg-config' );
|
|
|
cd276bc |
-
|
|
|
e2e8b15 |
- is(
|
|
|
e2e8b15 |
- Alien::Build::Plugin::PkgConfig::Negotiate->pick,
|
|
|
e2e8b15 |
- 'PkgConfig::CommandLine',
|
|
|
cd276bc |
- );
|
|
|
cd276bc |
-
|
|
|
e2e8b15 |
- };
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- subtest 'PP' => sub {
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- subtest '64 bit solaris' => sub {
|
|
|
cd276bc |
-
|
|
|
e2e8b15 |
- %which = ( 'pkg-config' => '/usr/bin/pkg-config' );
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- # From the old AB::MB days we prefer PkgConfig.pm
|
|
|
e2e8b15 |
- # for 64 bit solaris over the command line pkg-config
|
|
|
cd276bc |
-
|
|
|
4458411 |
- my $mock2 = mock 'Alien::Build::Plugin::PkgConfig::Negotiate' => (
|
|
|
e2e8b15 |
- override => [
|
|
|
e2e8b15 |
- _perl_config => sub {
|
|
|
e2e8b15 |
- my($key) = @_;
|
|
|
e2e8b15 |
- if($key eq 'ptrsize')
|
|
|
e2e8b15 |
- { return 8 }
|
|
|
e2e8b15 |
- elsif($key eq 'osname')
|
|
|
e2e8b15 |
- { return 'solaris' }
|
|
|
e2e8b15 |
- else
|
|
|
e2e8b15 |
- { return $Config{$key} }
|
|
|
e2e8b15 |
- },
|
|
|
e2e8b15 |
- ],
|
|
|
e2e8b15 |
- );
|
|
|
cd276bc |
-
|
|
|
e2e8b15 |
- is(
|
|
|
e2e8b15 |
- Alien::Build::Plugin::PkgConfig::Negotiate->pick,
|
|
|
e2e8b15 |
- 'PkgConfig::PP',
|
|
|
e2e8b15 |
- );
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- };
|
|
|
beef961 |
-
|
|
|
beef961 |
-
|
|
|
beef961 |
- subtest 'Windows' => sub {
|
|
|
cd276bc |
-
|
|
|
beef961 |
- %which = ( 'pkg-config' => '/usr/bin/pkg-config' );
|
|
|
beef961 |
-
|
|
|
beef961 |
- # From the old AB::MB days we prefer PkgConfig.pm
|
|
|
beef961 |
- # for 64 bit solaris over the command line pkg-config
|
|
|
cd276bc |
-
|
|
|
4458411 |
- my $mock2 = mock 'Alien::Build::Plugin::PkgConfig::Negotiate' => (
|
|
|
beef961 |
- override => [
|
|
|
beef961 |
- _perl_config => sub {
|
|
|
beef961 |
- my($key) = @_;
|
|
|
beef961 |
- if($key eq 'osname')
|
|
|
beef961 |
- { return 'MSWin32' }
|
|
|
beef961 |
- else
|
|
|
beef961 |
- { return $Config{$key} }
|
|
|
beef961 |
- },
|
|
|
beef961 |
- ],
|
|
|
beef961 |
- );
|
|
|
cd276bc |
-
|
|
|
beef961 |
- is(
|
|
|
beef961 |
- Alien::Build::Plugin::PkgConfig::Negotiate->pick,
|
|
|
beef961 |
- 'PkgConfig::PP',
|
|
|
beef961 |
- );
|
|
|
beef961 |
-
|
|
|
beef961 |
- };
|
|
|
beef961 |
-
|
|
|
e2e8b15 |
- subtest 'PP is fallback' => sub {
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- %which = ();
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- is(
|
|
|
e2e8b15 |
- Alien::Build::Plugin::PkgConfig::Negotiate->pick,
|
|
|
e2e8b15 |
- 'PkgConfig::PP',
|
|
|
e2e8b15 |
- );
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- };
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
- };
|
|
|
e2e8b15 |
-
|
|
|
e2e8b15 |
-};
|
|
|
0d5ea32 |
-
|
|
|
e2e8b15 |
done_testing;
|
|
|
e2e8b15 |
|
|
|
e2e8b15 |
--
|
|
|
267f7d3 |
2.37.2
|
|
|
e2e8b15 |
|