# define bootstrap for initial build
%define perl_bootstrap 1

Name:           perl-PPI
Version:        1.215
Release:        3%{?_dist_release}
Summary:        Parse, Analyze and Manipulate Perl
Group:          Development/Libraries
License:        GPL+ or Artistic
URL:            http://search.cpan.org/dist/PPI/
Source0:        http://www.cpan.org/authors/id/A/AD/ADAMK/PPI-%{version}.tar.gz
Patch0:         PPI-1.215-UTF8.patch

BuildRoot:      %{_tmppath}/%{name}-%{version}-root
BuildArch:      noarch
BuildRequires:  perl(ExtUtils::MakeMaker)
BuildRequires:  perl(List::Util) >= 1.20
BuildRequires:  perl(Storable) >= 2.17
BuildRequires:  perl(Clone) >= 0.30
BuildRequires:  perl(Digest::MD5) >= 2.35
BuildRequires:  perl(File::Remove) >= 1.42
BuildRequires:  perl(IO::String) >= 1.07
BuildRequires:  perl(List::MoreUtils) >= 0.16
BuildRequires:  perl(Params::Util) >= 1.00
BuildRequires:  perl(Task::Weaken)
BuildRequires:  perl(Test::More) >= 0.86
BuildRequires:  perl(Test::NoWarnings) >= 0.084
BuildRequires:  perl(Test::Object) >= 0.07
BuildRequires:  perl(Test::SubCalls) >= 1.07
BuildRequires:  perl(Class::Inspector) >= 1.25
# 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(Test::ClassAPI) >= 1.03
BuildRequires:  perl(Test::CPAN::Meta)
BuildRequires:  perl(Test::MinimumVersion) >= 0.101080
BuildRequires:  perl(Test::Pod) >= 1.00
%endif
Requires:       perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))

Vendor:         Project Vine
Distribution:   Vine Linux
Packager:       shaolin

%description
Parse, analyze and manipulate Perl (without perl).


%prep
%setup -q -n PPI-%{version}

# Re-code docs as UTF-8
%patch0 -p1

# Filter out redundant unversioned provides
%if %{_dist_release} > "vl6"
%global __provides_exclude ^perl\\(PPI::.+\\)$
%else
cat << \EOF > %{name}-prov
#!/bin/sh
%{__perl_provides} $* |\
sed -e '/^perl(PPI::.\+)$/d'
EOF

%global __perl_provides %{_builddir}/PPI-%{version}/%{name}-prov
chmod +x %{__perl_provides}
%endif


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


%install
make pure_install DESTDIR=%{buildroot}
find %{buildroot} -type f -name .packlist -exec rm -f {} ';'
find %{buildroot} -type d -depth -exec rmdir {} 2>/dev/null ';'
%{_fixperms} %{buildroot}


%check
make test
%if 0%{!?perl_bootstrap:1}
make test TEST_FILES="xt/*.t" RELEASE_TESTING=1
%endif


%files
%doc Changes LICENSE README inline2test.conf inline2test.tpl
%{perl_vendorlib}/PPI/
%{perl_vendorlib}/PPI.pm
%{_mandir}/man3/PPI*.3pm*


%changelog
* Sat Nov 15 2014 Ryoichi INAGAKI <ryo1@toki.waseda.jp> - 1.215-3
- rebuilt with perl 5.16.3

* Thu Mar 01 2012 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 1.215-2
- rebuild

* Fri Feb 24 2012 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 1.215-1
- initial build for Vine Linux

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.215-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Thu Jul 21 2011 Paul Howarth <paul@city-fan.org> - 1.215-3
- always run test suite but don't run release tests when bootstrapping
- nobody else likes macros for commands
- clean up for modern rpm:
  - drop explicit buildroot tag
  - drop buildroot cleaning
  - drop %%defattr
  - use native provides filtering
- use a patch rather than scripting iconv to fix character encoding
- upstream file permissions no longer need fixing

* Tue Jun 28 2011 Marcela Mašláňová <mmaslano@redhat.com> - 1.215-2
- rebuild with Perl 5.14.1
- use perl_bootstrap macro

* Sun Mar 27 2011 Paul Howarth <paul@city-fan.org> - 1.215-1
- update to 1.215 (general fix release):
  - index_locations on an empty document no longer warns
  - Corrected a bug in line-spanning attribute support
  - Regression test for line-spanning attribute support
  - return { foo => 1 } should parse curlys as hash constructor, not block
    (CPAN RT#61305)
  - Fixed bug with map and regexp confusing PPI (CPAN RT#63943)
  - Updated copyright year to 2011
  - Fix bless {} probably contains a hash constructor (CPAN RT#64247)
  - Backed out glob fix
  - Fix cast can trump braces in PPI::Token::Symbol->symbol (CPAN RT#65199)

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

* Tue Dec 21 2010 Marcela Maslanova <mmaslano@redhat.com> - 1.213-2
- rebuild to fix problems with vendorarch/lib (#661697)

* Sat Jul 31 2010 Paul Howarth <paul@city-fan.org> - 1.213-1
- update to 1.213 (targeted bug fix, no changes to parsing or normal usage)
  - Updated to Module::Install 1.00
  - Updated module dependencies in xt author tests
  - Fixed extremely broken PPI::Token::Pod::merge and added test case
- bump perl(Perl::MinimumVersion) requirement to 1.25
- bump perl(Test::CPAN::Meta) requirement to 0.17
- bump perl(Test::Pod) requirement to 1.44

* Sat Jul 31 2010 Paul Howarth <paul@city-fan.org> - 1.212-1
- update to 1.212 (experimental/development support and bugfixes)
  - Fixed bug in ForLoop back-compatibility warning (CPAN RT#48819)
  - Added support for $ENV{X_TOKENIZER} --> $PPI::Lexer::X_TOKENIZER
  - Upgraded to Module::Install 0.93
  - Added support for $PPI::Lexer::X_TOKENIZER, for alternate tokenizers
  - Added an extra test case to validate we handle byte order marks properly
  - Moved author tests from t to xt
  - Fixed CPAN RT#26082: scalar { %%x } is misparsed
  - Fixed CPAN RT#26591: VMS patch for PPI 1.118
  - Fixed CPAN RT#44862: PPI cannot parse "package Foo::100;" correctly
  - Fixed CPAN RT#54208: PPI::Token::Quote::Literal::literal missing
- run release tests as well as regular test suite
- BR: perl(File::Find::Rule) >= 0.32, perl(File::Find::Rule::Perl) >= 1.09, 
  perl(Perl::MinimumVersion) >= 1.24 and perl(Test::MinimumVersion) >= 0.101080 
  for release tests

* Sat Jul 31 2010 Paul Howarth <paul@city-fan.org> - 1.210-1
- update to 1.210 (packaging fixes)
- use RELEASE_TESTING rather than AUTOMATED_TESTING for better test coverage

* Sat Jul 31 2010 Paul Howarth <paul@city-fan.org> - 1.209-1
- update to 1.209 (small optimisation release, no functional changes)

* Fri Jul 30 2010 Paul Howarth <paul@city-fan.org> - 1.208-1
- update to 1.208
  - don't assign '' to $^W, it generates a warning on Gentoo
  - added missing PPI::Token::Regexp fix to Changes file
  - updating Copyright to the new year
  - fixed #50309: literal() wrong result on "qw (a b c)"
  - PPI::Dumper no longer causes Elements to flush location data
  - PPI::Dumper no longer disables location information for non-Documents
  - +{ package => 1 } doesn't create a PPI::Statement::Package
  - extra methods in PPI::Token::Regexp and PPI::Token::QuoteLike::Regexp
- use %%{_fixperms} macro instead of our own chmod incantation

* Fri Jul 30 2010 Paul Howarth <paul@city-fan.org> - 1.206-6
- BR: perl(Task::Weaken) and perl(Test::CPAN::Meta) for improved test coverage
- enable AUTOMATED_TESTING
- use DESTDIR rather than PERL_INSTALL_ROOT

* Thu May 06 2010 Marcela Maslanova <mmaslano@redhat.com> - 1.206-5
- Mass rebuild with perl-5.12.0

* Thu Feb 11 2010 Marcela Mašláňová <mmaslano@redhat.com> - 1.206-4
- fix filtering, provide versioned provides

* Wed Feb 10 2010 Marcela Mašláňová <mmaslano@redhat.com> - 1.206-3
- make rpmlint happy

* Mon Dec  7 2009 Stepan Kasal <skasal@redhat.com> - 1.206-2
- rebuild against perl 5.10.1

* Wed Oct  7 2009 Stepan Kasal <skasal@redhat.com> - 1.206-1
- new upstream version
- update build requires

* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.203-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.203-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Tue Sep  9 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1.203-1
- update to 1.203

* Wed Feb 27 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1.201-3
- Rebuild for perl 5.10 (again)

* Sun Jan 13 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1.201-2
- rebuild for new perl

* Wed Dec 19 2007 Tom "spot" Callaway <tcallawa@redhat.com> - 1.201-1
- bump to 1.201

* Sat Sep 23 2006 Jose Pedro Oliveira <jpo at di.uminho.pt> - 1.118-1
- Update to 1.118.

* Wed Sep  6 2006 Jose Pedro Oliveira <jpo at di.uminho.pt> - 1.117-1
- Update to 1.117.

* Sun Jun  4 2006 Jose Pedro Oliveira <jpo at di.uminho.pt> - 1.115-2
- Removed the perl(IO::Scalar) build requirement.

* Sun Jun  4 2006 Jose Pedro Oliveira <jpo at di.uminho.pt> - 1.115-1
- Update to 1.115.

* Wed May 10 2006 Jose Pedro Oliveira <jpo at di.uminho.pt> - 1.113-1
- Update to 1.113.

* Tue Apr 25 2006 Jose Pedro Oliveira <jpo at di.uminho.pt> - 1.112-1
- Update to 1.112.

* Sat Apr 22 2006 Jose Pedro Oliveira <jpo at di.uminho.pt> - 1.111-1
- First build.
