Blob Blame History Raw
%if ! (0%{?rhel})
# Run extra test
%bcond_without perl_Package_Stash_XS_enables_extra_test
# Run optional test
%bcond_without perl_Package_Stash_XS_enables_optional_test
%else
%bcond_with perl_Package_Stash_XS_enables_extra_test
%bcond_with perl_Package_Stash_XS_enables_optional_test
%endif

Name:		perl-Package-Stash-XS
Version:	0.28
Release:	17%{?dist}
Summary:	Faster and more correct implementation of the Package::Stash API
Group:		Development/Libraries
License:	GPL+ or Artistic
URL:		http://search.cpan.org/dist/Package-Stash-XS/
Source0:	http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Package-Stash-XS-%{version}.tar.gz
Patch1:		Package-Stash-XS-0.27-old-Test::More.patch
# Module Build
BuildRequires:	coreutils
BuildRequires:	findutils
BuildRequires:	gcc
BuildRequires:	make
BuildRequires:	perl-interpreter >= 3:5.8.1
%if "%{?rhel}" != "5"
BuildRequires:	perl-devel
%endif
BuildRequires:	perl-generators
BuildRequires:	perl(ExtUtils::MakeMaker) >= 6.30
# Module Runtime
BuildRequires:	perl(strict)
BuildRequires:	perl(warnings)
BuildRequires:	perl(XSLoader)
# Test Suite
BuildRequires:	perl(B)
BuildRequires:	perl(base)
BuildRequires:	perl(constant)
BuildRequires:	perl(File::Find)
BuildRequires:	perl(File::Temp)
BuildRequires:	perl(lib)
BuildRequires:	perl(Scalar::Util)
BuildRequires:	perl(Symbol)
BuildRequires:	perl(Test::Fatal)
BuildRequires:	perl(Test::More)
BuildRequires:	perl(Test::Requires)
%if %{with perl_Package_Stash_XS_enables_optional_test}
# Optional Tests
%if 0%{?fedora} > 15 || 0%{?rhel} > 6
BuildRequires:	perl(Package::Anon)
%endif
%if "%{?rhel}" != "5"
BuildRequires:	perl(Variable::Magic)
%endif
%endif
%if %{with perl_Package_Stash_XS_enables_extra_test}
# Author Tests
%if ! (0%{?rhel} >= 7)
BuildRequires:	perl(Test::LeakTrace)
%endif
# Release Tests
BuildRequires:	perl(Pod::Coverage::TrustPod)
BuildRequires:	perl(Test::EOL)
BuildRequires:	perl(Test::NoTabs)
BuildRequires:	perl(Test::Pod)
BuildRequires:	perl(Test::Pod::Coverage)
%endif
# Dependencies
Requires:	perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))

# Don't "provide" private Perl libs
%{?perl_default_filter}

%description
This is a back-end for Package::Stash, which provides the functionality in a
way that's less buggy and much faster. It will be used by default if it's
installed, and should be preferred in all environments with a compiler.

%prep
%setup -q -n Package-Stash-XS-%{version}

# Patch test suite to work with old Test::More versions if necessary
%if "%{?rhel}" == "5"
%patch1 -p1
%endif

%build
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
make %{?_smp_mflags}

%install
rm -rf %{buildroot}
make pure_install DESTDIR=%{buildroot}
find %{buildroot} -type f -name .packlist -delete
find %{buildroot} -type f -name '*.bs' -empty -delete
%{_fixperms} %{buildroot}

%check
make test
%if %{with perl_Package_Stash_XS_enables_extra_test}
%if ! (0%{?rhel} >= 7)
make test TEST_FILES="$(echo $(find xt/ -name '*.t'))"
%else
make test TEST_FILES="$(echo $(find xt/release/ -name '*.t'))"
%endif
%endif

%files
%if 0%{?_licensedir:1}
%license LICENSE
%else
%doc LICENSE
%endif
%doc Changes README
%{perl_vendorarch}/auto/Package/
%{perl_vendorarch}/Package/
%{_mandir}/man3/Package::Stash::XS.3*

%changelog
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.28-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.28-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.28-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Mon Jun 05 2017 Jitka Plesnikova <jplesnik@redhat.com> - 0.28-14
- Perl 5.26 rebuild

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.28-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Thu Jul 21 2016 Paul Howarth <paul@city-fan.org> - 0.28-12
- Fix FTBFS when perl is not in the SRPM build root

* Sun May 15 2016 Jitka Plesnikova <jplesnik@redhat.com> - 0.28-11
- Perl 5.24 rebuild

* Tue Apr 19 2016 Paul Howarth <paul@city-fan.org> - 0.28-10
- Classify buildreqs by usage
- Use %%license where possible
- Simplify find commands using -empty and -delete

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.28-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.28-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sat Jun 06 2015 Jitka Plesnikova <jplesnik@redhat.com> - 0.28-7
- Perl 5.22 rebuild

* Fri Aug 29 2014 Jitka Plesnikova <jplesnik@redhat.com> - 0.28-6
- Perl 5.20 rebuild

* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.28-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.28-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.28-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Fri Jul 26 2013 Petr Pisar <ppisar@redhat.com> - 0.28-2
- Perl 5.18 rebuild

* Tue Jul 16 2013 Paul Howarth <paul@city-fan.org> - 0.28-1
- Update to 0.28
  - Fix test issue

* Tue Jul 16 2013 Paul Howarth <paul@city-fan.org> - 0.27-1
- Update to 0.27
  - Handle magic more correctly in add_symbol and get_or_add_symbol
- Add upstream patch to avoid build dependency on Package::Stash
- BR: perl(Variable::Magic) for the test suite
- Update patch for building with old Test::More versions

* Thu Jan 24 2013 Paul Howarth <paul@city-fan.org> - 0.26-2
- BR: perl(Package::Anon) if we have Perl ≥ 5.14

* Fri Jan  4 2013 Paul Howarth <paul@city-fan.org> - 0.26-1
- Update to 0.26
  - Internal refactorings to support Package::Anon stashes
- BR: perl(base) and perl(Test::Requires) for test suite
- Update patch for old distro compatibility
- Explicitly run the release/author tests

* Mon Aug 27 2012 Petr Pisar <ppisar@redhat.com> - 0.25-7
- Disable author tests on RHEL >= 7

* Sat Aug 25 2012 Paul Howarth <paul@city-fan.org> - 0.25-6
- Drop EPEL-4 support
  - Test::LeakTrace now universally available
  - Suitably recent version of ExtUtils::MakeMaker now universally available
  - Drop %%defattr, redundant since rpm 4.4
- BR: perl(File::Temp)
- Don't need to remove empty directories from the buildroot

* Tue Aug 14 2012 Petr Pisar <ppisar@redhat.com> - 0.25-5
- Specify all dependencies

* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.25-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Tue Jun 19 2012 Petr Pisar <ppisar@redhat.com> - 0.25-3
- Perl 5.16 rebuild

* Thu Jan 12 2012 Paul Howarth <paul@city-fan.org> - 0.25-2
- Use %%{_fixperms} macro instead of our own chmod incantation

* Tue Sep  6 2011 Paul Howarth <paul@city-fan.org> - 0.25-1
- Update to 0.25
  - Invalid package names (for instance, Foo:Bar) are not allowed
  - Invalid stash entry names (anything containing ::) are not allowed
- Update patches to apply cleanly

* Tue Aug  9 2011 Paul Howarth <paul@city-fan.org> - 0.23-1
- Update to 0.23
  - Fix the test for scalar values, again
  - Disallow assigning globrefs to scalar glob slots (this doesn't actually
    make any sense)
- Update patches for old ExtUtils::MakeMaker and Test::More versions
- perl(Pod::Coverage::TrustPod) now available in EPEL-4 too
- Don't use macros for commands

* Tue Jul 19 2011 Petr Sabata <contyk@redhat.com> - 0.22-2
- Perl mass rebuild

* Sat Mar  5 2011 Paul Howarth <paul@city-fan.org> - 0.22-1
- Update to 0.22
  - Make the namespace cache lazy and weak, in case the stash is deleted
  - However, this doesn't work on 5.8, so disable the namespace caching
    entirely there
- Update patches to apply cleanly

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.21-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Tue Jan 25 2011 Paul Howarth <paul@city-fan.org> - 0.21-1
- Update to 0.21
  - Make the leak tests author-only, since some smokers run release tests
  - Fix some XS forward compat stuff
- Update patches to apply cleanly

* Wed Jan 12 2011 Paul Howarth <paul@city-fan.org> - 0.20-1
- Update to 0.20
  - Lower perl prereq to 5.8.1
  - Make the leak tests release-only
- Update patches to apply cleanly
- Drop no-Test::Requires patch, no longer needed
- Drop buildreq perl(Test::Requires), no longer needed
- Add patch to skip memory leak tests if we don't have Test::LeakTrace

* Thu Jan  6 2011 Paul Howarth <paul@city-fan.org> - 0.19-1
- Update to 0.19 (more correct validity test for scalars)
- Update patch for old Test::More versions

* Wed Nov 17 2010 Paul Howarth <paul@city-fan.org> - 0.17-2
- Sanitize spec for Fedora submission

* Wed Nov 17 2010 Paul Howarth <paul@city-fan.org> - 0.17-1
- Initial RPM build