Blame SPECS/perl-CPAN.spec

b84bcc
%{?scl:%scl_package perl-CPAN}
b84bcc
b84bcc
%global base_version 2.10
b84bcc
b84bcc
Name:           %{?scl_prefix}perl-CPAN
b84bcc
Version:        2.11
b84bcc
Release:        368%{?dist}
b84bcc
Summary:        Query, download and build perl modules from CPAN sites
b84bcc
License:        GPL+ or Artistic
b84bcc
Group:          Development/Libraries
b84bcc
URL:            http://search.cpan.org/dist/CPAN/
b84bcc
Source0:        http://www.cpan.org/authors/id/A/AN/ANDK/CPAN-%{base_version}.tar.gz
b84bcc
# Unbundled from perl 5.21.11
b84bcc
Patch0:         CPAN-2.10-Upgrade-to-2.11.patch
b84bcc
# Create site paths for the first time, bug #1158873, CPAN RT#99905
b84bcc
Patch1:         CPAN-2.11-Attemp-to-create-site-library-directories-on-first-t.patch
b84bcc
# Change configuration directory name
b84bcc
Patch2:         CPAN-2.11-Replace-configuration-directory-string-with-a-marke.patch
b84bcc
BuildArch:      noarch
b84bcc
BuildRequires:  coreutils
b84bcc
BuildRequires:  findutils
b84bcc
BuildRequires:  make
b84bcc
BuildRequires:  %{?scl_prefix}perl
b84bcc
BuildRequires:  %{?scl_prefix}perl-generators
b84bcc
BuildRequires:  %{?scl_prefix}perl(Config)
b84bcc
BuildRequires:  %{?scl_prefix}perl(ExtUtils::MakeMaker)
b84bcc
BuildRequires:  %{?scl_prefix}perl(File::Basename)
b84bcc
BuildRequires:  %{?scl_prefix}perl(File::Path)
b84bcc
BuildRequires:  %{?scl_prefix}perl(strict)
b84bcc
BuildRequires:  %{?scl_prefix}perl(vars)
b84bcc
BuildRequires:  sed
b84bcc
# Optional:
b84bcc
BuildRequires:  %{?scl_prefix}perl(File::Spec)
b84bcc
%if !%{defined perl_bootstrap} && !%{defined perl_small}
b84bcc
BuildRequires:  %{?scl_prefix}perl(YAML::Syck)
b84bcc
%endif
b84bcc
b84bcc
# Run-time:
b84bcc
# Prefer Archive::Tar and Compress::Zlib over tar and gzip
b84bcc
BuildRequires:  %{?scl_prefix}perl(Archive::Tar) >= 1.50
b84bcc
%if !%{defined perl_bootstrap}
b84bcc
BuildRequires:  %{?scl_prefix}perl(Archive::Zip)
b84bcc
%endif
b84bcc
BuildRequires:  %{?scl_prefix}perl(autouse)
b84bcc
BuildRequires:  %{?scl_prefix}perl(base)
b84bcc
BuildRequires:  %{?scl_prefix}perl(Carp)
b84bcc
BuildRequires:  %{?scl_prefix}perl(constant)
b84bcc
BuildRequires:  %{?scl_prefix}perl(Compress::Zlib)
b84bcc
BuildRequires:  %{?scl_prefix}perl(CPAN::Meta::Requirements) >= 2.121
b84bcc
BuildRequires:  %{?scl_prefix}perl(Cwd)
b84bcc
BuildRequires:  %{?scl_prefix}perl(Data::Dumper)
b84bcc
# Devel::Size not used at tests
b84bcc
BuildRequires:  %{?scl_prefix}perl(DirHandle)
b84bcc
BuildRequires:  %{?scl_prefix}perl(Dumpvalue)
b84bcc
BuildRequires:  %{?scl_prefix}perl(Exporter)
b84bcc
# ExtUtils::Manifest not used at tests
b84bcc
BuildRequires:  %{?scl_prefix}perl(Fcntl)
b84bcc
BuildRequires:  %{?scl_prefix}perl(File::Copy)
b84bcc
BuildRequires:  %{?scl_prefix}perl(File::Find)
b84bcc
# File::HomeDir 0.65 not used at tests
b84bcc
BuildRequires:  %{?scl_prefix}perl(File::Spec::Functions)
b84bcc
BuildRequires:  %{?scl_prefix}perl(File::Temp) >= 0.16
b84bcc
BuildRequires:  %{?scl_prefix}perl(FileHandle)
b84bcc
BuildRequires:  %{?scl_prefix}perl(Getopt::Std)
b84bcc
# HTTP::Date is optional, prefer in-core Time::Local
b84bcc
# HTTP::Request is optional
b84bcc
BuildRequires:  %{?scl_prefix}perl(HTTP::Tiny) >= 0.005
b84bcc
BuildRequires:  %{?scl_prefix}perl(if)
b84bcc
BuildRequires:  %{?scl_prefix}perl(lib)
b84bcc
# local::lib is optional
b84bcc
# LWP is optional, prefer HTTP::Tiny and Net::FTP
b84bcc
# LWP::UserAgent is optional
b84bcc
# Mac::BuildTools not needed
b84bcc
# Mac::Files not needed
b84bcc
# Module::Signature is optional
b84bcc
# Net::Config not used at tests
b84bcc
# Net::FTP not used at tests
b84bcc
BuildRequires:  %{?scl_prefix}perl(Net::Ping)
b84bcc
BuildRequires:  %{?scl_prefix}perl(overload)
b84bcc
BuildRequires:  %{?scl_prefix}perl(POSIX)
b84bcc
BuildRequires:  %{?scl_prefix}perl(Safe)
b84bcc
BuildRequires:  %{?scl_prefix}perl(Sys::Hostname)
b84bcc
BuildRequires:  %{?scl_prefix}perl(Term::ReadLine)
b84bcc
BuildRequires:  %{?scl_prefix}perl(Text::ParseWords)
b84bcc
BuildRequires:  %{?scl_prefix}perl(Text::Wrap)
b84bcc
# Time::Local not used at tests
b84bcc
# URI not used at tests
b84bcc
# URI::Escape not used at tests
b84bcc
# URI::URL 0.08 is optional 
b84bcc
# User::pwent not used at tests
b84bcc
BuildRequires:  %{?scl_prefix}perl(warnings)
b84bcc
# Optional:
b84bcc
BuildRequires:  %{?scl_prefix}perl(CPAN::Meta) >= 2.110350
b84bcc
# Crypt::OpenPGP not used at tests
b84bcc
# Digest::MD5 not used at tests
b84bcc
BuildRequires:  %{?scl_prefix}perl(Digest::SHA)
b84bcc
# Keep MIME::Base64 optional
b84bcc
BuildRequires:  %{?scl_prefix}perl(Module::Build)
b84bcc
b84bcc
# Tests:
b84bcc
BuildRequires:  %{?scl_prefix}perl(FindBin)
b84bcc
BuildRequires:  %{?scl_prefix}perl(Pod::Usage)
b84bcc
BuildRequires:  %{?scl_prefix}perl(Test::More)
b84bcc
b84bcc
# Optional tests:
b84bcc
BuildRequires:  %{?scl:%{_root_bindir}}%{?!scl:%{_bindir}}/gpg
b84bcc
# Digest::SHA1 not needed if Digest::SHA is available
b84bcc
# Digest::SHA::PurePerl not needed if Digest::SHA is available
b84bcc
%if !%{defined perl_bootstrap} && !%{defined perl_small}
b84bcc
BuildRequires:  %{?scl_prefix}perl(Expect)
b84bcc
%endif
b84bcc
BuildRequires:  %{?scl_prefix}perl(Hash::Util)
b84bcc
%if !%{defined perl_bootstrap} && !%{defined perl_small}
b84bcc
# Kwalify not yet packaged
b84bcc
BuildRequires:  %{?scl_prefix}perl(Module::Signature) >= 0.66
b84bcc
BuildRequires:  %{?scl_prefix}perl(Perl::Version)
b84bcc
%endif
b84bcc
BuildRequires:  %{?scl_prefix}perl(Socket)
b84bcc
%if !%{defined perl_bootstrap} && !%{defined perl_small}
b84bcc
BuildRequires:  %{?scl_prefix}perl(Sort::Versions)
b84bcc
# Test::MinimumVersion not used
b84bcc
# Test::Perl::Critic not used
b84bcc
BuildRequires:  %{?scl_prefix}perl(Test::Pod) >= 1.00
b84bcc
BuildRequires:  %{?scl_prefix}perl(Test::Pod::Coverage) >= 0.18
b84bcc
BuildRequires:  %{?scl_prefix}perl(YAML) >= 0.60
b84bcc
%endif
b84bcc
b84bcc
Requires:       make
b84bcc
Requires:       %{?scl_prefix}perl(:MODULE_COMPAT_%(%{?scl:scl enable %{scl} '}eval "$(perl -V:version)";echo $version%{?scl:'}))
b84bcc
Requires:       %{?scl_prefix}perl(Archive::Tar) >= 1.50
b84bcc
Requires:       %{?scl_prefix}perl(CPAN::Meta::Requirements) >= 2.121
b84bcc
Requires:       %{?scl_prefix}perl(Data::Dumper)
b84bcc
%if !%{defined perl_bootstrap}
b84bcc
Requires:       %{?scl_prefix}perl(Devel::Size)
b84bcc
%endif
b84bcc
Requires:       %{?scl_prefix}perl(ExtUtils::Manifest)
b84bcc
%if !%{defined perl_bootstrap}
b84bcc
Requires:       %{?scl_prefix}perl(File::HomeDir) >= 0.65
b84bcc
%endif
b84bcc
Requires:       %{?scl_prefix}perl(File::Temp) >= 0.16
b84bcc
Requires:       %{?scl_prefix}perl(lib)
b84bcc
Requires:       %{?scl_prefix}perl(Net::Config)
b84bcc
Requires:       %{?scl_prefix}perl(Net::FTP)
b84bcc
Requires:       %{?scl_prefix}perl(POSIX)
b84bcc
Requires:       %{?scl_prefix}perl(Term::ReadLine)
b84bcc
Requires:       %{?scl_prefix}perl(Time::Local)
b84bcc
%if !%{defined perl_bootstrap}
b84bcc
Requires:       %{?scl_prefix}perl(URI)
b84bcc
Requires:       %{?scl_prefix}perl(URI::Escape)
b84bcc
%endif
b84bcc
Requires:       %{?scl_prefix}perl(User::pwent)
b84bcc
# Optional but higly recommended:
b84bcc
%if !%{defined perl_bootstrap}
b84bcc
Requires:       %{?scl_prefix}perl(Archive::Zip)
b84bcc
Requires:       %{?scl_prefix}perl(Compress::Bzip2)
b84bcc
Requires:       %{?scl_prefix}perl(CPAN::Meta) >= 2.110350
b84bcc
%endif
b84bcc
Requires:       %{?scl_prefix}perl(Compress::Zlib)
b84bcc
Requires:       %{?scl_prefix}perl(Digest::MD5)
b84bcc
# CPAN encourages Digest::SHA strongly because of integrity checks
b84bcc
Requires:       %{?scl_prefix}perl(Digest::SHA)
b84bcc
Requires:       %{?scl_prefix}perl(Dumpvalue)
b84bcc
Requires:       %{?scl_prefix}perl(ExtUtils::CBuilder)
b84bcc
%if ! %{defined perl_bootstrap}
b84bcc
# Avoid circular deps local::lib -> Module::Install -> CPAN when bootstraping
b84bcc
# local::lib recommended by CPAN::FirstTime default choice, bug #1122498
b84bcc
Requires:       %{?scl_prefix}perl(local::lib)
b84bcc
%endif
b84bcc
Requires:       %{?scl_prefix}perl(Module::Build)
b84bcc
%if !%{defined perl_bootstrap}
b84bcc
Requires:       %{?scl_prefix}perl(Text::Glob)
b84bcc
%endif
b84bcc
Provides:       %{?scl_prefix}cpan = %{version}
b84bcc
b84bcc
%if 0%{?rhel} < 7
b84bcc
# RPM 4.8 style
b84bcc
%{?filter_setup:
b84bcc
# Filter non-Linux dependencies
b84bcc
%filter_from_requires /^%{?scl_prefix}perl(Mac::BuildTools)/d
b84bcc
# Filter under-specified dependencies
b84bcc
%filter_from_requires /^%{?scl_prefix}perl(CPAN::Meta::Requirements)$/d
b84bcc
%?perl_default_filter
b84bcc
}
b84bcc
%else
b84bcc
# RPM 4.9 style
b84bcc
# Filter non-Linux dependencies
b84bcc
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^%{?scl_prefix}perl\\(Mac::BuildTools\\)
b84bcc
# Filter under-specified dependencies
b84bcc
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^%{?scl_prefix}perl\\(CPAN::Meta::Requirements\\)
b84bcc
%endif
b84bcc
b84bcc
b84bcc
%description
b84bcc
The CPAN module automates or at least simplifies the make and install of
b84bcc
perl modules and extensions. It includes some primitive searching
b84bcc
capabilities and knows how to use LWP, HTTP::Tiny, Net::FTP and certain
b84bcc
external download clients to fetch distributions from the net.
b84bcc
b84bcc
%prep
b84bcc
%setup -q -n CPAN-%{base_version}
b84bcc
%patch0 -p1
b84bcc
%patch1 -p1
b84bcc
%patch2 -p1
b84bcc
# Change configuration name
b84bcc
find -type f -exec sed -i -e 's/XCPANCONFIGNAMEX/cpan%{?scl:-%{scl}}/g' {} \;
b84bcc
# Remove bundled modules
b84bcc
rm -r ./inc/*
b84bcc
sed -i -e '/inc\//d' MANIFEST
b84bcc
b84bcc
%build
b84bcc
%{?scl:scl enable %{scl} '}perl Makefile.PL INSTALLDIRS=vendor && make %{?_smp_mflags}%{?scl:'}
b84bcc
b84bcc
%install
b84bcc
%{?scl:scl enable %{scl} '}make pure_install DESTDIR=$RPM_BUILD_ROOT%{?scl:'}
b84bcc
find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \;
b84bcc
%{_fixperms} $RPM_BUILD_ROOT/*
b84bcc
b84bcc
%check
b84bcc
%{?scl:scl enable %{scl} '}make test%{?scl:'}
b84bcc
b84bcc
%files
b84bcc
%doc Changes PAUSE*.pub README Todo
b84bcc
%{_bindir}/*
b84bcc
%{perl_vendorlib}/*
b84bcc
%{_mandir}/man1/*
b84bcc
%{_mandir}/man3/*
b84bcc
b84bcc
%changelog
b84bcc
* Sun Jul 24 2016 Petr Pisar <ppisar@redhat.com> - 2.11-368
b84bcc
- Rebuild without bootstrap
b84bcc
b84bcc
* Tue Jul 12 2016 Petr Pisar <ppisar@redhat.com> - 2.11-367
b84bcc
- SCL
b84bcc
b84bcc
* Wed May 18 2016 Jitka Plesnikova <jplesnik@redhat.com> - 2.11-366
b84bcc
- Perl 5.24 re-rebuild of bootstrapped packages
b84bcc
b84bcc
* Sat May 14 2016 Jitka Plesnikova <jplesnik@redhat.com> - 2.11-365
b84bcc
- Increase release to favour standalone package
b84bcc
b84bcc
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.11-349
b84bcc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
b84bcc
b84bcc
* Tue Dec 15 2015 Petr Pisar <ppisar@redhat.com> - 2.11-348
b84bcc
- Require make package
b84bcc
b84bcc
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.11-347
b84bcc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
b84bcc
b84bcc
* Wed Jun 10 2015 Jitka Plesnikova <jplesnik@redhat.com> - 2.11-346
b84bcc
- Perl 5.22 re-rebuild of bootstrapped packages
b84bcc
b84bcc
* Thu Jun 04 2015 Jitka Plesnikova <jplesnik@redhat.com> - 2.11-345
b84bcc
- Increase release to favour standalone package
b84bcc
b84bcc
* Thu Jun 04 2015 Jitka Plesnikova <jplesnik@redhat.com> - 2.11-2
b84bcc
- Perl 5.22 rebuild
b84bcc
b84bcc
* Wed May 06 2015 Petr Pisar <ppisar@redhat.com> - 2.11-1
b84bcc
- 2.11 bump in order to dual-live with perl 5.22
b84bcc
b84bcc
* Fri Mar 13 2015 Petr Pisar <ppisar@redhat.com> - 2.10-1
b84bcc
- 2.10 bump
b84bcc
b84bcc
* Wed Jan 28 2015 Petr Pisar <ppisar@redhat.com> - 2.05-309
b84bcc
- Allow changing the configuration directory name
b84bcc
b84bcc
* Thu Oct 30 2014 Petr Pisar <ppisar@redhat.com> - 2.05-308
b84bcc
- Create site paths for the first time (bug #1158873)
b84bcc
b84bcc
* Wed Sep 10 2014 Petr Pisar <ppisar@redhat.com> 2.05-307
b84bcc
- Synchronize to perl.spec modifications
b84bcc
- Disable non-core modules when bootstrapping
b84bcc
b84bcc
* Tue Apr 22 2014 Petr Pisar <ppisar@redhat.com> 2.05-1
b84bcc
- Specfile autogenerated by cpanspec 1.78.