d407a789f3
This module abstracts out the process of choosing one of several underlying implementations for a module. This can be used to provide XS and pure Perl implementations of a module, or it could be used to load an implementation for a given OS or any other case of needing to provide multiple implementations. This module is only useful when you know all the implementations ahead of time. If you want to load arbitrary implementations then you probably want something like a plugin system, not this module.
110 lines
3.9 KiB
RPMSpec
110 lines
3.9 KiB
RPMSpec
# We need to patch the test suite if we have an old version of Test::More
|
|
%global old_test_more %(perl -MTest::More -e 'print (($Test::More::VERSION < 0.88) ? 1 : 0);' 2>/dev/null || echo 0)
|
|
|
|
# Test::CPAN::Changes isn't available in EPEL < 7, due to requirement of perl(version) ≥ 0.79
|
|
%global cpan_changes_available %(expr 0%{?fedora} + 0%{?rhel} '>' 6)
|
|
|
|
#TODO: BR: Test::Pod::No404s when available
|
|
#TODO: BR: Test::Pod::LinkCheck when available
|
|
|
|
Name: perl-Module-Implementation
|
|
Version: 0.03
|
|
Release: 3%{?dist}
|
|
Summary: Loads one of several alternate underlying implementations for a module
|
|
Group: Development/Libraries
|
|
License: Artistic 2.0
|
|
URL: http://search.cpan.org/dist/perl-Module-Implementation/
|
|
Source0: http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Module-Implementation-%{version}.tar.gz
|
|
Patch1: Module-Implementation-0.03-old-Test::More.patch
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(id -nu)
|
|
BuildArch: noarch
|
|
# ===================================================================
|
|
# Build requirements
|
|
# ===================================================================
|
|
BuildRequires: perl(ExtUtils::MakeMaker)
|
|
# ===================================================================
|
|
# Module requirements
|
|
# ===================================================================
|
|
BuildRequires: perl(Carp)
|
|
BuildRequires: perl(Module::Runtime) >= 0.011
|
|
BuildRequires: perl(Try::Tiny)
|
|
BuildRequires: perl(strict)
|
|
BuildRequires: perl(warnings)
|
|
# ===================================================================
|
|
# Test suite requirements
|
|
# ===================================================================
|
|
BuildRequires: perl(lib)
|
|
BuildRequires: perl(Test::Fatal)
|
|
BuildRequires: perl(Test::More)
|
|
BuildRequires: perl(Test::Taint)
|
|
# ===================================================================
|
|
# Author/Release test requirements
|
|
# ===================================================================
|
|
%if %{cpan_changes_available}
|
|
BuildRequires: perl(Test::CPAN::Changes)
|
|
%endif
|
|
BuildRequires: perl(Test::EOL)
|
|
BuildRequires: perl(Test::NoTabs)
|
|
BuildRequires: perl(Test::Pod)
|
|
BuildRequires: perl(Test::Spelling), aspell-en
|
|
# ===================================================================
|
|
# Runtime requirements
|
|
# ===================================================================
|
|
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
|
|
Requires: perl(Carp)
|
|
|
|
%description
|
|
This module abstracts out the process of choosing one of several underlying
|
|
implementations for a module. This can be used to provide XS and pure Perl
|
|
implementations of a module, or it could be used to load an implementation
|
|
for a given OS or any other case of needing to provide multiple
|
|
implementations.
|
|
|
|
This module is only useful when you know all the implementations ahead of
|
|
time. If you want to load arbitrary implementations then you probably want
|
|
something like a plugin system, not this module.
|
|
|
|
%prep
|
|
%setup -q -n Module-Implementation-%{version}
|
|
|
|
# We have to patch the test suite if we have an old Test::More
|
|
%if %{old_test_more}
|
|
%patch1 -p1
|
|
%endif
|
|
|
|
%build
|
|
perl Makefile.PL INSTALLDIRS=vendor
|
|
make %{?_smp_mflags}
|
|
|
|
%install
|
|
rm -rf %{buildroot}
|
|
make pure_install DESTDIR=%{buildroot}
|
|
find %{buildroot} -type f -name .packlist -exec rm -f {} \;
|
|
find %{buildroot} -depth -type d -exec rmdir {} \; 2>/dev/null
|
|
%{_fixperms} %{buildroot}
|
|
|
|
%check
|
|
make test RELEASE_TESTING=1
|
|
|
|
%clean
|
|
rm -rf %{buildroot}
|
|
|
|
%files
|
|
%defattr(-,root,root,-)
|
|
%doc Changes LICENSE README
|
|
%{perl_vendorlib}/Module/
|
|
%{_mandir}/man3/Module::Implementation.3pm*
|
|
|
|
%changelog
|
|
* Wed Feb 8 2012 Paul Howarth <paul@city-fan.org> - 0.03-3
|
|
- Incorporate feedback from package review (#788258)
|
|
- Correct License tag, which should be Artistic 2.0
|
|
- BR: perl(lib) for test suite
|
|
- Explicitly require perl(Carp), not automatically detected
|
|
|
|
* Tue Feb 7 2012 Paul Howarth <paul@city-fan.org> - 0.03-2
|
|
- Sanitize for Fedora submission
|
|
|
|
* Tue Feb 7 2012 Paul Howarth <paul@city-fan.org> - 0.03-1
|
|
- Initial RPM version
|