# Need to provide five digit version numbers until 3.x, # so that BR: perl(JSON::PP) >= 2.27200 etc. will still work %global our_version 2.97.001 %global five_digit_version 2.97001 # Need to tweak provides differently if we don't have rpm ≥ 4.9 %global rpm49 %(rpm --version | perl -p -e 's/^.* (\\d+)\\.(\\d+).*/sprintf("%d.%03d",$1,$2) ge 4.009 ? 1 : 0/e' 2>/dev/null || echo 0) Name: perl-JSON-PP Epoch: 1 Version: %{our_version} Release: 1%{?dist} Summary: JSON::XS compatible pure-Perl module License: GPL+ or Artistic Vendor: bww bitwise works GmbH URL: http://search.cpan.org/dist/JSON-PP/ Source0: http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/JSON-PP-%{five_digit_version}.tar.gz BuildArch: noarch # Module Build BuildRequires: coreutils BuildRequires: findutils BuildRequires: make BuildRequires: perl-generators BuildRequires: perl%{?fedora:-interpreter} BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: perl(lib) # Module Runtime BuildRequires: perl(bytes) BuildRequires: perl(Carp) BuildRequires: perl(constant) BuildRequires: perl(Encode) BuildRequires: perl(Exporter) BuildRequires: perl(Math::BigFloat) BuildRequires: perl(Math::BigInt) BuildRequires: perl(overload) BuildRequires: perl(Scalar::Util) >= 1.08 BuildRequires: perl(strict) BuildRequires: perl(utf8) BuildRequires: perl(warnings) # Script Runtime BuildRequires: perl(Data::Dumper) BuildRequires: perl(Getopt::Long) # Test Suite BuildRequires: perl(Test::More) BuildRequires: perl(Tie::Array) BuildRequires: perl(Tie::Hash) # Optional tests %if !%{defined perl_bootstrap} # Disable non-core dependencies when bootstraping a core module BuildRequires: perl(Tie::IxHash) %endif # Runtime Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Requires: perl(Data::Dumper) Requires: perl(Encode) Requires: perl(Math::BigFloat) Requires: perl(Math::BigInt) Requires: perl(Scalar::Util) >= 1.08 Requires: perl(utf8) Conflicts: perl-JSON < 2.50 # Provide the five-digit version of the module %if "%{our_version}" != "%{five_digit_version}" Provides: perl(JSON::PP) = %{five_digit_version} %global __provides_exclude ^perl\\(JSON::PP\\) %endif %description JSON::XS is the fastest and most proper JSON module on CPAN. It is written by Marc Lehmann in C, so must be compiled and installed in the used environment. JSON::PP is a pure-Perl module and is compatible with JSON::XS. %prep %setup -q -n JSON-PP-%{five_digit_version} # Don't provide less than five-digit version of the module (prior to rpm 4.9) %if ! %{rpm49} %if "%{our_version}" != "%{five_digit_version}" %global perl_prov /bin/sh -c "%{__perl_provides} | sed -e '/^perl(JSON::PP)/d'" %global __perl_provides %{perl_prov} %endif %endif %build perl Makefile.PL INSTALLDIRS=vendor make %{?_smp_mflags} make manifypods %install make pure_install DESTDIR=%{buildroot} find %{buildroot} -type f -name .packlist -delete %{_fixperms} -c %{buildroot} %check #make test %files %doc Changes README %{_bindir}/json_pp %{perl_vendorlib}/JSON/ %{_mandir}/man1/*.1* %{_mandir}/man3/*.3* #%{_mandir}/man3/JSON::PP::Boolean.3* %changelog * Sun Mar 11 2018 Elbert Pol - 2.97.001-1 - initial rpm for OS2