#
# spec file for package perl-PPI
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           perl-PPI
Version:        1.236
Release:        37.6
%define cpan_name PPI
Summary:        Parse, Analyze and Manipulate Perl (without perl)
License:        Artistic-1.0 or GPL-1.0+
Group:          Development/Libraries/Perl
Url:            http://search.cpan.org/dist/PPI/
Source0:        https://cpan.metacpan.org/authors/id/M/MI/MITHALDU/%{cpan_name}-%{version}.tar.gz
Source1:        cpanspec.yml
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  perl
BuildRequires:  perl-macros
BuildRequires:  perl(Class::Inspector) >= 1.22
BuildRequires:  perl(Clone) >= 0.30
BuildRequires:  perl(File::Remove) >= 1.42
#BuildRequires:  perl(File::Spec) >= 3.2701
BuildRequires:  perl(IO::String) >= 1.07
BuildRequires:  perl(List::MoreUtils) >= 0.16
BuildRequires:  perl(List::Util) >= 1.33
BuildRequires:  perl(Params::Util) >= 1.00
BuildRequires:  perl(Storable) >= 2.17
BuildRequires:  perl(Task::Weaken)
BuildRequires:  perl(Test::Deep)
BuildRequires:  perl(Test::More) >= 0.86
BuildRequires:  perl(Test::Object) >= 0.07
BuildRequires:  perl(Test::SubCalls) >= 1.07
Requires:       perl(Clone) >= 0.30
#Requires:       perl(File::Spec) >= 3.2701
Requires:       perl(IO::String) >= 1.07
Requires:       perl(List::MoreUtils) >= 0.16
Requires:       perl(List::Util) >= 1.33
Requires:       perl(Params::Util) >= 1.00
Requires:       perl(Storable) >= 2.17
Requires:       perl(Task::Weaken)
%{perl_requires}

%description
Parse, Analyze and Manipulate Perl (without perl)

%prep
%setup -q -n %{cpan_name}-%{version}
find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644

%build
%{__perl} Makefile.PL INSTALLDIRS=vendor
%{__make} %{?_smp_mflags}

%check
%{__make} test

%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist

%files -f %{name}.files
%defattr(-,root,root,755)
%doc Changes README README.md
%license LICENSE

%changelog
* Mon Jun 26 2017 coolo@suse.com
- updated to 1.236
  see /usr/share/doc/packages/perl-PPI/Changes
* Thu Jun 22 2017 coolo@suse.com
- updated to 1.234
  see /usr/share/doc/packages/perl-PPI/Changes
  1.234 Sun 21 June 2017
  Summary:
  - Prevent sub names like v10 from being version strings
  (GitHub #65) (MOREGAN)
  1.232 Sun 21 June 2017
  Summary:
  - add Changes entries forgotten in 1.230
  1.230 Sun 21 June 2017
  Summary:
  - remove temporary fix introduced in 1.226
  - prevent possible regex on undefined scalar in
  __current_token_is_forced_word
* Wed Jun 21 2017 coolo@suse.com
- updated to 1.228
  see /usr/share/doc/packages/perl-PPI/Changes
  1.228 Sun 20 June 2017
  Summary:
  - keep PPI::Dumper from breaking Perl::Critic under cperl 5.27
    (RURBAN)
  1.226 Sun 20 June 2017
  Summary:
  - Fix test reliance on '.' in @INC (KENTNL)
  - temporary fix to keep an untested combination from blocking
  Perl::Critic (https://github.com/chriscapaci)
* Tue May 16 2017 coolo@suse.com
- updated to 1.224
  see /usr/share/doc/packages/perl-PPI/Changes
  1.224 Sun 14 May 2017
  Summary:
  - updating an out-of-date meta.yml caused by Module::Install
  1.222 Sun 14 May 2017
  Summary:
  - unit tests for many parts, both passing and TODO
  - many documentation fixes
  - add ->version method to PPI::Statement::Package (WOLFSAGE)
  - remove unused PPI::Document->new timeout feature
  - do not expect '.' in @INC (PLICEASE)
  - many parsing fixes
  - various fixes to the behaviors of methods
  - removal of problematic dependencies
  Details:
  - Remove undocumented, non-working 'timeout' attribute to
  Document->new, including HAVE_ALARM and
  PPI::Exception::ParserTimeout.  (GitHub #140) (MOREGAN)
  - first cut of a travis configuration
  - do hex number matching with [[:xdigit:]]
  - some readability improvements on the code of HereDoc.pm
  - recognize heredoc even if they have no newline at the end (AUBERTG)
  - parse left side of => as bareword even if it looks like a keyword or
  op (MOREGAN)
  - remove source code escapes in the output of QuoteLike::Words->literal
  (MOREGAN)
  - removal of Test::NoWarnings
  - less uses of List::MoreUtils in favor of List::Util
  - expand $'x to $::main::x in Symbol->canonical as with $::x
  (MOREGAN)
  - fixed parsing of large numbers in Number::Exp on Solaris 80 (JMASLAK)
  - make remove_child actually return undef on failure to find child to
  remove
  - higher accuracy when deciding whether certain characters are operators
  or variable type casts (*&%% etc.) (MOREGAN)
  - parse x as the first element of code as a word, not an operator
  (MOREGAN)
  - recognize the implied end of a package statement that includes a block
  (MOREGAN)
  - parse package names that look like operators as strings, not ops
  (MOREGAN)
  - parse package names that look like v10 as strings, not versions
  (MOREGAN)
  - parse things like v49use as a single bareword, not v-string + keyword
  (MOREGAN)
  - parse x64 as a word, not x operator + number (MOREGAN)
  - parse 1.eq 1 as float + op, not concatenation
  - parse subroutine attributes correctly (MOREGAN)
* Wed Apr 29 2015 coolo@suse.com
- ignore File::Spec - it's tricky
* Wed Apr 29 2015 coolo@suse.com
- updated to 1.220
  see /usr/share/doc/packages/perl-PPI/Changes
  1.220 Tue 11 Nov 2014
  Summary:
  - incompatible behavior fixes on PPI::Statement::Sub->prototype
  - improved parsing of various syntax elements
  - code quality improvements
  - various small documentation fixes
  Details:
  - {} is now recognized as anonymous hash constructor instead of a code
  block after these operators: &&= //= || && // ? :
  (GitHub #36) (MOREGAN)
  - regex capture variables greater than $9 are now parsed completely,
  instead of being parsed as single digit captures with numbers after
  them (GitHub #38) (MOREGAN)
  - DESTROY and AUTOLOAD subs are now parsed even without the sub
  keyword (GitHub #39) (MOREGAN)
  - PPI::Statement::Sub->prototype behavior now matches its
  documentation, instead of returning the prototype string
  unchanged and still including the parens (GitHub #56) (MOREGAN)
  - PPI::Statement::Sub->prototype now returns undef on subs without a
  prototype, instead of returning an empty string
  (GitHub #56) (MOREGAN)
  - list of keywords which are not parsed as packages when followed by
  the Perl4 package separator ' has been increased
  (GitHub #77) (MOREGAN)
  - application of a number of Perl::Critic policies and documentation
  fixes (GitHub #53) (MOREGAN, MITHALDU)
  - automation of README.md generation for git (GitHub #86) (COWENS)
  - various small documentation fixes (Github #96) (MOREGAN)
* Mon Sep 15 2014 coolo@suse.com
- updated to 1.218
    Summary:
  - Fixes for various parsing and documentation bugs
  - 1MB limit on input document size removed
  - Moved repository to GitHub: https://github.com/adamkennedy/PPI
    Details:
  - Stop directing bugs to rt.cpan.org (GitHub #40) (MOREGAN)
  - Fix documentation reference to List::Util (RT #75308) (RWSTAUNER)
  - Improve scalability of parsing long lines, and remove the size
    limit on documents PPI will parse (GitHub #5) (MITHALDU)
  - Speed up adding an element to an unlabeled statement.
    Allow inlining of some methods. (WOLFSAGE)
  - Expanded test coverage (DOLMEN, MOREGAN)
  - Convert inline tests to standalone tests (GitHub #12) (MOREGAN)
  - Fix for '1=>x' being parsed as x operator (GitHub #46) (MOREGAN)
  - Recognize that '1 x3' is the x operator followed by a 3
    (RT #37892, GitHub #27) (MOREGAN)
  - Support all augmented assignment operators (<<=, ||=, etc.)
    (RT #68176, 71705) (MOREGAN)
  - Stop upper-case "=CUT" from terminating POD (RT #75039) (JAE)
  - Support upper-case digits in hex and binary numbers, including
    in the leading '0X' and '0B'. (RT #36540) (KRYDE, MOREGAN)
  - Fix float argument to range operator misparsed as version
    string (RT #45014) (MOREGAN)
  - Fix POD markup in PPI::Find (RT #51693) (FWIE)
  - Fix spelling of "Tom Christiansen" (RT #67264) (TADMC)
  - Fix a large raft of spelling and grammar errors (RT #85049) (David
    Steinbrunner, DOLMEN, MOREGAN)
  - Fix errors in documentation of the PPI::Element class hierarchy
    (RT #30863, 69026) (SJQUINNEY)
  - Prevent PPI::XSAccessor packages from hiding corresponding PPI
    packages in CPAN (RT #90792) (MITHALDU)
  - Recognize the formfeed character as whitespace (RT #67517) (WYANT)
  - Recognize regex match following 'return' (RT #27475) (ADAMK)
  - Fix missing dereference, length called on reference (RT #40103)
    (ADAMK)
* Thu Mar 31 2011 coolo@novell.com
  * update to 1.215
  - Confirmed new Perl::Critic works with 1.214_02, so we
    can release a new PPI now.
  - Updated copyright year to 2011 (ADAMK)
  - Fixed RT #64247 bless {} probably contains a hash constructor (WYANT)
  - Backed out glob fix (WYANT)
  - Fixed RT #65199 Cast can trump braces in
    PPI::Token::Symbol->symbol (WYANT)
  - index_locations on an empty document no longer warns (WYANT)
  - Corrected a bug in line-spanning attribute support (WYANT)
  - Regression test for line-spanning attribute support (ADAMK)
  - Fixed #61305 return { foo => 1 } should parse curlys as hash
    constructor, not block (WYANT)
  - Fixed #63943 map and regexp confuse PPI? (ADAMK)
* Wed Dec  1 2010 coolo@novell.com
- switch to perl_requires macro
* Tue Jul 13 2010 chris@computersalat.de
  update to 1.213
  o for a full list see Changes file
- recreated by cpanspec 1.78
* Wed Oct 21 2009 rschweikert@novell.com
- Initial build