perl-Alien-Build/perl-Alien-Build.spec

201 lines
6.7 KiB
RPMSpec
Raw Normal View History

2017-08-18 11:22:46 +00:00
# Run optional test
%{bcond_without perl_Alien_Build_enables_optional_test}
Name: perl-Alien-Build
2017-11-03 12:32:48 +00:00
Version: 1.28
2017-08-18 11:22:46 +00:00
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
2017-09-08 09:51:52 +00:00
# Support only the most advanced pkgconfig implementation,
# the files are deleted in prep section
2017-11-03 12:32:48 +00:00
Patch0: Alien-Build-1.28-Remove-redundant-pkgconfig-implementations.patch
2017-08-18 11:22:46 +00:00
BuildArch: noarch
BuildRequires: make
BuildRequires: perl-generators
BuildRequires: perl-interpreter
BuildRequires: perl(:VERSION) >= 5.8.1
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76
BuildRequires: perl(File::Which) >= 1.10
BuildRequires: perl(strict)
BuildRequires: perl(warnings)
# Run-time:
2017-08-18 11:49:25 +00:00
%if !%{defined perl_bootstrap}
# Build cycle: perl-Alien-cmake3 → perl-Alien-Build
BuildRequires: perl(Alien::cmake3) >= 0.02
%endif
2017-08-18 11:22:46 +00:00
# Archive::Tar or (tar and bzip2 and gzip and xz)
BuildRequires: perl(Archive::Tar)
# Archive::Zip or unzip
BuildRequires: perl(Archive::Zip)
BuildRequires: perl(base)
BuildRequires: perl(Capture::Tiny) >= 0.17
BuildRequires: perl(Carp)
BuildRequires: perl(Config)
BuildRequires: perl(Config::INI::Reader::Multiline)
BuildRequires: perl(constant)
BuildRequires: perl(DynaLoader)
BuildRequires: perl(Env)
BuildRequires: perl(Exporter)
BuildRequires: perl(ExtUtils::CBuilder)
BuildRequires: perl(ExtUtils::ParseXS) >= 3.30
2017-08-18 11:25:24 +00:00
BuildRequires: perl(FFI::CheckLib)
2017-08-18 11:22:46 +00:00
# FFI::Platypus is optional and not packaged
BuildRequires: perl(File::Basename)
BuildRequires: perl(File::BOM)
BuildRequires: perl(File::chdir)
BuildRequires: perl(File::Copy)
BuildRequires: perl(File::Find)
BuildRequires: perl(File::Temp)
BuildRequires: perl(JSON::PP)
BuildRequires: perl(Module::Load)
BuildRequires: perl(overload)
BuildRequires: perl(Path::Tiny) >= 0.077
# Alien::Build::Plugin::PkgConfig::Negotiate finds a pkgconfig implementation
# in this order:
# PkgConfig::LibPkgConf 0.04, pkgconf, pkg-config, PkgConfig 0.14026
# We selected the most advanced PkgConfig::LibPkgConf and removed the other
# plugins.
BuildRequires: perl(PkgConfig::LibPkgConf::Client) >= 0.04
BuildRequires: perl(PkgConfig::LibPkgConf::Util) >= 0.04
BuildRequires: perl(Scalar::Util)
BuildRequires: perl(Storable)
BuildRequires: perl(Test2::API) >= 1.302015
BuildRequires: perl(Test2::Require) >= 0.000060
BuildRequires: perl(Text::ParseWords) >= 3.26
# YAML or Data::Dumper
BuildRequires: perl(YAML)
# Tests:
# AnyEvent not used
# AnyEvent::FTP::Server not used
BuildRequires: perl(File::Glob)
# Getopt::Long not used
# IO::Socket::INET not used
BuildRequires: perl(lib)
BuildRequires: perl(List::Util)
# Mojo::JSON not used
# Mojo::URL not used
# Mojolicious::Lite not used
BuildRequires: perl(Net::FTP)
# Proc::Daemon not used
BuildRequires: perl(Test2::Mock) >= 0.000060
BuildRequires: perl(Test2::Require::Module) >= 0.000060
BuildRequires: perl(Test2::V0) >= 0.000060
# URI not used
%if %{with perl_Alien_Build_enables_optional_test}
# Optional tests:
%if !%{defined perl_bootstrap}
# Break build cycle: Acme::Alien::DontPanic → Test::Alien
2017-09-26 09:00:15 +00:00
BuildRequires: perl(Acme::Alien::DontPanic) >= 0.026
2017-08-18 11:22:46 +00:00
%endif
2017-09-08 09:51:52 +00:00
BuildRequires: perl(Alien::Base::ModuleBuild) >= 0.040
BuildRequires: perl(Alien::Base::PkgConfig) >= 0.040
BuildRequires: perl(Devel::Hide)
2017-08-18 11:22:46 +00:00
BuildRequires: perl(Env::ShellWords)
# FFI::Platypus not packaged
2017-09-08 09:51:52 +00:00
BuildRequires: perl(HTTP::Tiny) >= 0.044
2017-08-18 11:22:46 +00:00
# PkgConfig not packaged
2017-09-19 14:36:52 +00:00
BuildRequires: perl(Readonly) >= 1.60
2017-08-18 11:22:46 +00:00
BuildRequires: perl(Test::Exec)
BuildRequires: perl(URI::file)
%endif
2017-08-18 11:49:25 +00:00
# make in the lib/Alien/Build/Plugin/Build/CMake.pm plugin
# make in the lib/Alien/Build/Plugin/Build/Make.pm plugin
# make or Alien::gmake
BuildRequires: make
2017-11-03 12:32:48 +00:00
Suggests: curl
2017-08-18 11:22:46 +00:00
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
2017-08-18 11:49:25 +00:00
%if !%{defined perl_bootstrap}
# Build cycle: perl-Alien-cmake3 → perl-Alien-Build
Requires: perl(Alien::cmake3) >= 0.02
%endif
2017-08-18 11:22:46 +00:00
# Archive::Tar or (tar and bzip2 and gzip and xz)
Requires: perl(Archive::Tar)
# Archive::Zip or unzip
Requires: perl(Archive::Zip)
Requires: perl(Config::INI::Reader::Multiline)
Requires: perl(DynaLoader)
Requires: perl(ExtUtils::CBuilder)
Requires: perl(ExtUtils::ParseXS) >= 3.30
2017-08-18 11:25:24 +00:00
Requires: perl(FFI::CheckLib)
2017-08-18 11:22:46 +00:00
Requires: perl(File::BOM)
Requires: perl(File::Find)
Requires: perl(Path::Tiny) >= 0.077
# Alien::Build::Plugin::PkgConfig::Negotiate finds a pkgconfig implementation
# in this order:
# PkgConfig::LibPkgConf 0.04, pkgconf, pkg-config, PkgConfig 0.14026
# We selected the most advanced PkgConfig::LibPkgConf and removed the other
# plugins.
Requires: perl(PkgConfig::LibPkgConf::Client) >= 0.04
Requires: perl(PkgConfig::LibPkgConf::Util) >= 0.04
Requires: perl(Storable)
Requires: perl(Test2::API) >= 1.302015
Requires: perl(Test2::Require) >= 0.000060
Requires: perl(Text::ParseWords) >= 3.26
# YAML or Data::Dumper
Requires: perl(YAML)
2017-11-03 12:32:48 +00:00
Suggests: wget
2017-08-18 11:22:46 +00:00
# Do not gather dependencies from the documentation
%{?perl_default_filter}
# Remove underspecified dependencies
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\((Capture::Tiny|Path::Tiny|Test2::API|Test2::Require|Text::ParseWords)\\)$
%description
This package provides tools for building external (non-CPAN) dependencies
for CPAN. It is mainly designed to be used at install time of a CPAN
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
2017-09-08 09:51:52 +00:00
# Alien::Build::Plugin::PkgConfig::LibPkgConf,
# MANIFEST is updated by Remove-redundant-pkgconfig-implementations.patch
%patch0 -p1
2017-08-18 11:22:46 +00:00
rm lib/Alien/Build/Plugin/PkgConfig/{CommandLine,PP}.pm
rm t/alien_build_plugin_pkgconfig_{commandline,pp}.t
%build
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1
make %{?_smp_mflags}
%install
make pure_install DESTDIR=$RPM_BUILD_ROOT
%{_fixperms} $RPM_BUILD_ROOT/*
%check
make test
%files
%license LICENSE
%doc Changes* example README SUPPORT
%{perl_vendorlib}/*
%{_mandir}/man3/*
%changelog
2017-11-03 12:32:48 +00:00
* Fri Nov 03 2017 Petr Pisar <ppisar@redhat.com> - 1.28-1
- 1.28 bump
2017-09-26 09:00:15 +00:00
* Tue Sep 26 2017 Petr Pisar <ppisar@redhat.com> - 1.18-1
- 1.18 bump
2017-09-19 14:36:52 +00:00
* Tue Sep 19 2017 Petr Pisar <ppisar@redhat.com> - 1.16-1
- 1.16 bump
2017-09-08 09:51:52 +00:00
* Fri Sep 08 2017 Petr Pisar <ppisar@redhat.com> - 1.10-1
- 1.10 bump
2017-08-29 06:22:57 +00:00
* Tue Aug 29 2017 Petr Pisar <ppisar@redhat.com> - 1.05-1
- 1.05 bump
2017-08-28 13:26:27 +00:00
* Mon Aug 28 2017 Petr Pisar <ppisar@redhat.com> - 1.04-1
- 1.04 bump
2017-08-18 11:49:25 +00:00
* Fri Aug 18 2017 Petr Pisar <ppisar@redhat.com> - 0.99-1
- 0.99 bump
2017-08-18 11:22:46 +00:00
* Thu Aug 17 2017 Petr Pisar <ppisar@redhat.com> 0.95-1
- Specfile autogenerated by cpanspec 1.78.