From e2e8b15d11f846a3233033a86ee164b12084062f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Fri, 8 Sep 2017 11:51:52 +0200 Subject: [PATCH] 1.10 bump --- .gitignore | 1 + ...-redundant-pkgconfig-implementations.patch | 291 ++++++++++++++++++ perl-Alien-Build.spec | 26 +- sources | 2 +- 4 files changed, 307 insertions(+), 13 deletions(-) create mode 100644 Alien-Build-1.10-Remove-redundant-pkgconfig-implementations.patch diff --git a/.gitignore b/.gitignore index b59e930..b4ff812 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /Alien-Build-0.99.tar.gz /Alien-Build-1.04.tar.gz /Alien-Build-1.05.tar.gz +/Alien-Build-1.10.tar.gz diff --git a/Alien-Build-1.10-Remove-redundant-pkgconfig-implementations.patch b/Alien-Build-1.10-Remove-redundant-pkgconfig-implementations.patch new file mode 100644 index 0000000..4b51a70 --- /dev/null +++ b/Alien-Build-1.10-Remove-redundant-pkgconfig-implementations.patch @@ -0,0 +1,291 @@ +From 5fe836a4bd6b192147c68eb919222eeba3227dae Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Fri, 8 Sep 2017 11:31:02 +0200 +Subject: [PATCH] Remove redundant pkgconfig implementations +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Only one implementation is required, we selected +Alien::Build::Plugin::PkgConfig::LibPkgConf. This patch removes other +ones to decrease number of dependencies. + +Signed-off-by: Petr Písař +--- + MANIFEST | 4 - + Makefile.PL | 4 +- + lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm | 16 +-- + t/01_use.t | 4 - + t/alien_build_plugin_pkgconfig_negotiate.t | 2 +- + t/alien_build_plugin_pkgconfig_negotiate__pick.t | 125 ----------------------- + 6 files changed, 3 insertions(+), 152 deletions(-) + +diff --git a/MANIFEST b/MANIFEST +index 8feff60..2a2dd52 100644 +--- a/MANIFEST ++++ b/MANIFEST +@@ -146,11 +146,9 @@ lib/Alien/Build/Plugin/Fetch/Local.pm + lib/Alien/Build/Plugin/Fetch/LocalDir.pm + lib/Alien/Build/Plugin/Fetch/NetFTP.pm + lib/Alien/Build/Plugin/Gather/IsolateDynamic.pm +-lib/Alien/Build/Plugin/PkgConfig/CommandLine.pm + lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm + lib/Alien/Build/Plugin/PkgConfig/MakeStatic.pm + lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm +-lib/Alien/Build/Plugin/PkgConfig/PP.pm + lib/Alien/Build/Plugin/Prefer.pod + lib/Alien/Build/Plugin/Prefer/BadVersion.pm + lib/Alien/Build/Plugin/Prefer/SortVersions.pm +@@ -217,12 +215,10 @@ t/alien_build_plugin_fetch_lwp.t + t/alien_build_plugin_fetch_netftp.t + t/alien_build_plugin_gather_isolatedynamic.t + t/alien_build_plugin_meta.t +-t/alien_build_plugin_pkgconfig_commandline.t + t/alien_build_plugin_pkgconfig_libpkgconf.t + t/alien_build_plugin_pkgconfig_makestatic.t + t/alien_build_plugin_pkgconfig_negotiate.t + t/alien_build_plugin_pkgconfig_negotiate__pick.t +-t/alien_build_plugin_pkgconfig_pp.t + t/alien_build_plugin_prefer_badversion.t + t/alien_build_plugin_prefer_sortversions.t + t/alien_build_plugin_probe_cbuilder.t +diff --git a/Makefile.PL b/Makefile.PL +index cf47d0f..39b6eb3 100644 +--- a/Makefile.PL ++++ b/Makefile.PL +@@ -71,11 +71,9 @@ my %WriteMakefileArgs = ( + "lib/Alien/Build/Plugin/Fetch/LocalDir.pm" => "\$(INST_LIB)/Alien/Build/Plugin/Fetch/LocalDir.pm", + "lib/Alien/Build/Plugin/Fetch/NetFTP.pm" => "\$(INST_LIB)/Alien/Build/Plugin/Fetch/NetFTP.pm", + "lib/Alien/Build/Plugin/Gather/IsolateDynamic.pm" => "\$(INST_LIB)/Alien/Build/Plugin/Gather/IsolateDynamic.pm", +- "lib/Alien/Build/Plugin/PkgConfig/CommandLine.pm" => "\$(INST_LIB)/Alien/Build/Plugin/PkgConfig/CommandLine.pm", + "lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm" => "\$(INST_LIB)/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm", + "lib/Alien/Build/Plugin/PkgConfig/MakeStatic.pm" => "\$(INST_LIB)/Alien/Build/Plugin/PkgConfig/MakeStatic.pm", + "lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm" => "\$(INST_LIB)/Alien/Build/Plugin/PkgConfig/Negotiate.pm", +- "lib/Alien/Build/Plugin/PkgConfig/PP.pm" => "\$(INST_LIB)/Alien/Build/Plugin/PkgConfig/PP.pm", + "lib/Alien/Build/Plugin/Prefer.pod" => "\$(INST_LIB)/Alien/Build/Plugin/Prefer.pod", + "lib/Alien/Build/Plugin/Prefer/BadVersion.pm" => "\$(INST_LIB)/Alien/Build/Plugin/Prefer/BadVersion.pm", + "lib/Alien/Build/Plugin/Prefer/SortVersions.pm" => "\$(INST_LIB)/Alien/Build/Plugin/Prefer/SortVersions.pm", +@@ -182,4 +180,4 @@ sub requires { goto &runtime_requires } + sub runtime_requires { + my ($module, $version_or_range) = @_; + _add_prereq(PREREQ_PM => $module, $version_or_range); +-} +\ No newline at end of file ++} +diff --git a/lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm b/lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm +index b1845d0..9b43e8d 100644 +--- a/lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm ++++ b/lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm +@@ -3,9 +3,7 @@ package Alien::Build::Plugin::PkgConfig::Negotiate; + use strict; + use warnings; + use Alien::Build::Plugin; +-use Alien::Build::Plugin::PkgConfig::CommandLine; + use Alien::Build::Plugin::PkgConfig::LibPkgConf; +-use Alien::Build::Plugin::PkgConfig::PP; + use Alien::Build::Util qw( _perl_config ); + use Carp (); + +@@ -32,21 +30,9 @@ sub pick + return 'PkgConfig::LibPkgConf'; + } + +- if(Alien::Build::Plugin::PkgConfig::CommandLine->available) +- { +- unless(_perl_config('osname') eq 'solaris' && _perl_config('ptrsize') == 8) +- { +- return 'PkgConfig::CommandLine'; +- } +- } +- +- if(Alien::Build::Plugin::PkgConfig::PP->available) +- { +- return 'PkgConfig::PP'; +- } + else + { +- Carp::carp("Could not find an appropriate pkg-config implementation, please install PkgConfig.pm, PkgConfig::LibPkgConf, pkg-config or pkgconf"); ++ Carp::carp("Could not find an appropriate pkg-config implementation, please install PkgConfig::LibPkgConf"); + } + } + +diff --git a/t/01_use.t b/t/01_use.t +index 08dc563..344d242 100644 +--- a/t/01_use.t ++++ b/t/01_use.t +@@ -37,11 +37,9 @@ require_ok 'Alien::Build::Plugin::Fetch::Local'; + require_ok 'Alien::Build::Plugin::Fetch::LocalDir'; + require_ok 'Alien::Build::Plugin::Fetch::NetFTP'; + require_ok 'Alien::Build::Plugin::Gather::IsolateDynamic'; +-require_ok 'Alien::Build::Plugin::PkgConfig::CommandLine'; + require_ok 'Alien::Build::Plugin::PkgConfig::LibPkgConf'; + require_ok 'Alien::Build::Plugin::PkgConfig::MakeStatic'; + require_ok 'Alien::Build::Plugin::PkgConfig::Negotiate'; +-require_ok 'Alien::Build::Plugin::PkgConfig::PP'; + require_ok 'Alien::Build::Plugin::Prefer::BadVersion'; + require_ok 'Alien::Build::Plugin::Prefer::SortVersions'; + require_ok 'Alien::Build::Plugin::Probe::CBuilder'; +@@ -91,11 +89,9 @@ ok(-f 't/alien_build_plugin_fetch_local.t', 'test for Alien::Build::Plugin::Fetc + ok(-f 't/alien_build_plugin_fetch_localdir.t', 'test for Alien::Build::Plugin::Fetch::LocalDir'); + ok(-f 't/alien_build_plugin_fetch_netftp.t', 'test for Alien::Build::Plugin::Fetch::NetFTP'); + ok(-f 't/alien_build_plugin_gather_isolatedynamic.t', 'test for Alien::Build::Plugin::Gather::IsolateDynamic'); +-ok(-f 't/alien_build_plugin_pkgconfig_commandline.t', 'test for Alien::Build::Plugin::PkgConfig::CommandLine'); + ok(-f 't/alien_build_plugin_pkgconfig_libpkgconf.t', 'test for Alien::Build::Plugin::PkgConfig::LibPkgConf'); + ok(-f 't/alien_build_plugin_pkgconfig_makestatic.t', 'test for Alien::Build::Plugin::PkgConfig::MakeStatic'); + ok(-f 't/alien_build_plugin_pkgconfig_negotiate.t', 'test for Alien::Build::Plugin::PkgConfig::Negotiate'); +-ok(-f 't/alien_build_plugin_pkgconfig_pp.t', 'test for Alien::Build::Plugin::PkgConfig::PP'); + ok(-f 't/alien_build_plugin_prefer_badversion.t', 'test for Alien::Build::Plugin::Prefer::BadVersion'); + ok(-f 't/alien_build_plugin_prefer_sortversions.t', 'test for Alien::Build::Plugin::Prefer::SortVersions'); + ok(-f 't/alien_build_plugin_probe_cbuilder.t', 'test for Alien::Build::Plugin::Probe::CBuilder'); +diff --git a/t/alien_build_plugin_pkgconfig_negotiate.t b/t/alien_build_plugin_pkgconfig_negotiate.t +index 2241348..30a5451 100644 +--- a/t/alien_build_plugin_pkgconfig_negotiate.t ++++ b/t/alien_build_plugin_pkgconfig_negotiate.t +@@ -16,7 +16,7 @@ subtest 'pick' => sub { + + subtest 'override' => sub { + +- foreach my $name (qw( CommandLine LibPkgConf PP )) ++ foreach my $name (qw( LibPkgConf )) + { + local $ENV{ALIEN_BUILD_PKG_CONFIG} = "PkgConfig::$name"; + subtest $ENV{ALIEN_BUILD_PKG_CONFIG} => sub { +diff --git a/t/alien_build_plugin_pkgconfig_negotiate__pick.t b/t/alien_build_plugin_pkgconfig_negotiate__pick.t +index b0797ca..6b4decc 100644 +--- a/t/alien_build_plugin_pkgconfig_negotiate__pick.t ++++ b/t/alien_build_plugin_pkgconfig_negotiate__pick.t +@@ -55,131 +55,6 @@ my $make_pkgconfig_libpkgconf_unavailable = Test2::Mock->new( + ], + ); + +-subtest 'CommandLine' => sub { +- +- local $INC{'PkgConfig.pm'} = __FILE__; +- local $PkgConfig::VERSION = '0.14026'; +- +- my %which; +- +- require File::Which; +- +- my $mock = Test2::Mock->new( +- class => 'File::Which', +- override => [ +- which => sub { +- my($prog) = @_; +- if(defined $prog) +- { +- if($which{$prog}) +- { +- note "which: $prog => $which{$prog}"; +- return $which{$prog}; +- } +- else +- { +- note "which: $prog N/A"; +- } +- } +- else +- { +- note "which: undef"; +- } +- }, +- ], +- ); +- +- subtest 'no command line' => sub { +- +- %which = (); +- +- is( +- Alien::Build::Plugin::PkgConfig::Negotiate->pick, +- 'PkgConfig::PP', +- ); +- +- }; +- +- subtest 'pkg-config' => sub { +- +- %which = ( 'pkg-config' => '/usr/bin/pkg-config' ); +- +- is( +- Alien::Build::Plugin::PkgConfig::Negotiate->pick, +- 'PkgConfig::CommandLine', +- ); +- +- }; +- +- subtest 'pkgconf' => sub { +- +- %which = ( 'pkgconf' => '/usr/bin/pkgconf' ); +- +- is( +- Alien::Build::Plugin::PkgConfig::Negotiate->pick, +- 'PkgConfig::CommandLine', +- ); +- +- }; +- +- subtest 'PKG_CONFIG' => sub { +- +- local $ENV{PKG_CONFIG} = 'foo-pkg-config'; +- %which = ( 'foo-pkg-config' => '/usr/bin/foo-pkg-config' ); +- +- is( +- Alien::Build::Plugin::PkgConfig::Negotiate->pick, +- 'PkgConfig::CommandLine', +- ); +- +- }; +- +- subtest 'PP' => sub { +- +- subtest '64 bit solaris' => sub { +- +- %which = ( 'pkg-config' => '/usr/bin/pkg-config' ); +- +- # From the old AB::MB days we prefer PkgConfig.pm +- # for 64 bit solaris over the command line pkg-config +- local $^O = 'solaris'; +- +- my $mock2 = Test2::Mock->new( +- class => 'Alien::Build::Plugin::PkgConfig::Negotiate', +- override => [ +- _perl_config => sub { +- my($key) = @_; +- if($key eq 'ptrsize') +- { return 8 } +- elsif($key eq 'osname') +- { return 'solaris' } +- else +- { return $Config{$key} } +- }, +- ], +- ); +- +- is( +- Alien::Build::Plugin::PkgConfig::Negotiate->pick, +- 'PkgConfig::PP', +- ); +- +- }; +- +- subtest 'PP is fallback' => sub { +- +- %which = (); +- +- is( +- Alien::Build::Plugin::PkgConfig::Negotiate->pick, +- 'PkgConfig::PP', +- ); +- +- }; +- +- }; +- +-}; + + done_testing; + +-- +2.13.5 + diff --git a/perl-Alien-Build.spec b/perl-Alien-Build.spec index 1d979b4..90441d1 100644 --- a/perl-Alien-Build.spec +++ b/perl-Alien-Build.spec @@ -5,12 +5,15 @@ %global perl_bootstrap 1 Name: perl-Alien-Build -Version: 1.05 +Version: 1.10 Release: 1%{?dist} Summary: Build external dependencies for use in CPAN License: GPL+ or Artistic URL: http://search.cpan.org/dist/Alien-Build/ Source0: http://www.cpan.org/authors/id/P/PL/PLICEASE/Alien-Build-%{version}.tar.gz +# Support only the most advanced pkgconfig implementation, +# the files are deleted in prep section +Patch0: Alien-Build-1.10-Remove-redundant-pkgconfig-implementations.patch BuildArch: noarch BuildRequires: make BuildRequires: perl-generators @@ -20,7 +23,6 @@ BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 BuildRequires: perl(File::Which) >= 1.10 BuildRequires: perl(strict) BuildRequires: perl(warnings) -BuildRequires: sed # Run-time: %if !%{defined perl_bootstrap} # Build cycle: perl-Alien-cmake3 → perl-Alien-Build @@ -72,7 +74,6 @@ BuildRequires: perl(YAML) # AnyEvent::FTP::Server not used BuildRequires: perl(File::Glob) # Getopt::Long not used -BuildRequires: perl(HTTP::Tiny) # IO::Socket::INET not used BuildRequires: perl(lib) BuildRequires: perl(List::Util) @@ -91,10 +92,12 @@ BuildRequires: perl(Test2::V0) >= 0.000060 # Break build cycle: Acme::Alien::DontPanic → Test::Alien # Acme::Alien::DontPanic not yet packaged %endif -BuildRequires: perl(Alien::Base::ModuleBuild) -BuildRequires: perl(Alien::Base::PkgConfig) +BuildRequires: perl(Alien::Base::ModuleBuild) >= 0.040 +BuildRequires: perl(Alien::Base::PkgConfig) >= 0.040 +BuildRequires: perl(Devel::Hide) BuildRequires: perl(Env::ShellWords) # FFI::Platypus not packaged +BuildRequires: perl(HTTP::Tiny) >= 0.044 # PkgConfig not packaged BuildRequires: perl(Test::Exec) BuildRequires: perl(URI::file) @@ -148,15 +151,11 @@ client, and work closely with Alien::Base which is used at run time. %prep %setup -q -n Alien-Build-%{version} # Remove redundant pkgconfig implementations, keep -# Alien::Build::Plugin::PkgConfig::LibPkgConf +# Alien::Build::Plugin::PkgConfig::LibPkgConf, +# MANIFEST is updated by Remove-redundant-pkgconfig-implementations.patch +%patch0 -p1 rm lib/Alien/Build/Plugin/PkgConfig/{CommandLine,PP}.pm -sed -i -r -e '\,lib/Alien/Build/Plugin/PkgConfig/(CommandLine|PP)\.pm,d' \ - Makefile.PL MANIFEST rm t/alien_build_plugin_pkgconfig_{commandline,pp}.t -sed -i -r -e '\,^t/alien_build_plugin_pkgconfig_(commandline|pp)\.t,d' \ - MANIFEST -sed -i -r -e '\,Alien::Build::Plugin::PkgConfig::(CommandLine|PP),d' \ - t/01_use.t %build perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 @@ -176,6 +175,9 @@ make test %{_mandir}/man3/* %changelog +* Fri Sep 08 2017 Petr Pisar - 1.10-1 +- 1.10 bump + * Tue Aug 29 2017 Petr Pisar - 1.05-1 - 1.05 bump diff --git a/sources b/sources index da2529f..ccb47ca 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Alien-Build-1.05.tar.gz) = 5e86c0c7432268cccc32e74f2d86a433ab08ca9acb531feb606cd10714eca3d4c6c2f8a877c2b77a99947c1b0cea1e5bbeee56870bcb38b2b793793bb8a1798b +SHA512 (Alien-Build-1.10.tar.gz) = 47825b17bac1386c9cbf3e276403c690cfde9ede2ca4d1e8519e861cbae25875c50100651d2246fa45da35b487e93f67e3220be819ab473228d622b2f0fdca23