@ -5,35 +5,20 @@
%bcond_without XSAccessor
%endif
# Run extra test
%if 0%{?rhel}
%bcond_with perl_PPI_enables_extra_test
%else
%bcond_without perl_PPI_enables_extra_test
%endif
Name: perl-PPI
Version: 1.236
Release: 7 %{?dist}
Version: 1.250
Release: 1%{?dist}
Summary: Parse, Analyze and Manipulate Perl
License: GPL+ or Artistic
URL: https://metacpan.org/release/PPI
Source0: https://cpan.metacpan.org/authors/id/M/MI/MITHALDU/PPI-%{version}.tar.gz
Patch0: PPI-1.215-utf8.patch
Source0: https://cpan.metacpan.org/modules/by-module/PPI/PPI-%{version}.tar.gz
BuildArch: noarch
# =============== Module Build ======================
BuildRequires: coreutils
BuildRequires: findutils
BuildRequires: make
BuildRequires: perl-interpreter
BuildRequires: perl-generators
BuildRequires: perl(Config)
BuildRequires: perl(Cwd)
BuildRequires: perl-interpreter
BuildRequires: perl(ExtUtils::MakeMaker) > 6.75
BuildRequires: perl(ExtUtils::MM_Unix)
BuildRequires: perl(Fcntl)
BuildRequires: perl(File::Find)
BuildRequires: perl(lib)
BuildRequires: perl(Task::Weaken)
BuildRequires: perl(warnings)
BuildRequires: sed
@ -44,51 +29,37 @@ BuildRequires: perl(constant)
BuildRequires: perl(Digest::MD5) >= 2.35
BuildRequires: perl(Exporter)
BuildRequires: perl(File::Path)
BuildRequires: perl(File::Spec) >= 0.84
BuildRequires: perl(File::Spec)
BuildRequires: perl(IO::String) >= 1.07
BuildRequires: perl(List::MoreUtils) >= 0.16
BuildRequires: perl(List::Util) >= 1.33
BuildRequires: perl(overload)
BuildRequires: perl(Params::Util) >= 1.00
BuildRequires: perl(Scalar::Util)
BuildRequires: perl(Storable) >= 2.17
BuildRequires: perl(strict)
BuildRequires: perl(vars)
# =============== Test Suite ========================
BuildRequires: perl(B)
BuildRequires: perl(base)
BuildRequires: perl(Class::Inspector) >= 1.22
BuildRequires: perl(CPAN::Meta) >= 2.120900
BuildRequires: perl(Encode)
BuildRequires: perl(File::Copy)
BuildRequires: perl(File::Remove) >= 0.39
BuildRequires: perl(File::Spec::Functions)
BuildRequires: perl(File::Spec::Unix)
BuildRequires: perl(File::Temp)
BuildRequires: perl(if)
BuildRequires: perl(lib)
BuildRequires: perl(Test::Deep)
BuildRequires: perl(Test::More) >= 0.86
BuildRequires: perl(Test::InDistDir)
BuildRequires: perl(Test::More) >= 0.88
BuildRequires: perl(Test::Object) >= 0.07
BuildRequires: perl(Test::SubCalls) >= 1.07
BuildRequires: perl(Test::Warnings)
BuildRequires: perl(Time::HiRes)
BuildRequires: perl(utf8)
%if %{with perl_PPI_enables_extra_test}
# =============== Release Tests =====================
# Circular dependencies in release tests, so don't do them when bootstrapping:
# Perl::MinimumVersion → PPI
%if 0%{!?perl_bootstrap:1}
BuildRequires: perl(File::Find::Rule) >= 0.32
BuildRequires: perl(File::Find::Rule::Perl) >= 1.09
BuildRequires: perl(Perl::MinimumVersion) >= 1.20
BuildRequires: perl(Pod::Simple) >= 3.14
BuildRequires: perl(Test::ClassAPI) >= 1.03
BuildRequires: perl(Test::CPAN::Meta) >= 0.17
BuildRequires: perl(Test::MinimumVersion) >= 0.101080
BuildRequires: perl(Test::Pod) >= 1.44
%endif
%endif
# =============== Module Runtime ====================
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
%if %{with XSAccessor}
BuildRequires: perl(Class::XSAccessor)
Requires: perl(Class::XSAccessor)
%endif
# Run-require Task::Weaken, see Changes for more details.
Requires: perl(Task::Weaken)
@ -102,42 +73,52 @@ Parse, analyze and manipulate Perl (without perl).
%prep
%setup -q -n PPI-%{version}
# Recode documentation as UTF-8
%patch0
%if %{without XSAccessor}
rm lib/PPI/XSAccessor.pm
sed -i '/^lib\/PPI\/XSAccessor\.pm$/d' MANIFEST
%endif
# Get rid of spurious exec permissions
find . -type f | xargs chmod -c -x
# Fix line endings
sed -i -e 's/\r$//' README.md
%build
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1
make %{?_smp_mflags }
%{make_build}
%install
make install DESTDIR=%{buildroot }
%{make_install}
%{_fixperms} -c %{buildroot}
%check
make test
%if %{with perl_PPI_enables_extra_test} && 0%{!?perl_bootstrap:1}
make test TEST_FILES="xt/*.t" RELEASE_TESTING=1
%endif
%files
%license LICENSE
%doc Changes README README.md
%doc Changes README
%{perl_vendorlib}/PPI/
%{perl_vendorlib}/PPI.pm
%{_mandir}/man3/PPI*.3*
%changelog
* Fri Apr 26 2019 Paul Howarth <paul@city-fan.org> - 1.250-1
- Update to 1.250
- Support postfix dereference
- Add support for lexical subroutines from perl-5.26
- Support key-value and index-value slices in PPI::Token::Symbol symbol
method
- Support indented here-docs
- Parse list-embedded curlies as hash constructors
- Keep exponents of 2 or more zeroes from trapping PPI in an endless loop
- Remove dependencies on vars, base and List::MoreUtils
- Remove dependency on File::Remove
- Reduce globals and cross-package variables
- Move to Dist::Zilla
- Add some tests including a TODO test for misparse bug on '(1)-1'
- Allow tests to run without pre-determined module versions
- Make xt/api.t skip/run properly
- Fix some typos and formatting in Changes
- Add travis-perl helper to be run before install
- Update versions of Perl Travis tests on
- Modernize spec using %%{make_build} and %%{make_install}
- Don't try to run the release tests in the package build
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.236-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild