perl-Parse-RecDescent/perl-Parse-RecDescent.spec
2022-09-16 15:45:49 +08:00

77 lines
2.5 KiB
RPMSpec

Name: perl-Parse-RecDescent
Version: 1.967015
Release: 1
Summary: Generate Recursive-Descent Parsers
License: (GPL+ or Artistic) and (GPLv2+ or Artistic)
URL: https://metacpan.org/release/Parse-RecDescent
Source0: https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN/Parse-RecDescent-%{version}.tar.gz
# UTF-8
Patch0: Parse-RecDescent-1.967002-utf8.patch
BuildArch: noarch
BuildRequires: coreutils
BuildRequires: findutils
BuildRequires: make
BuildRequires: perl-interpreter
BuildRequires: perl-generators
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.58
BuildRequires: perl(warnings)
BuildRequires: perl(Carp)
BuildRequires: perl(Data::Dumper)
BuildRequires: perl(strict)
BuildRequires: perl(Text::Balanced) >= 1.95
BuildRequires: perl(vars)
BuildRequires: perl(Test::More)
BuildRequires: perl(Test::Pod) >= 1.14
BuildRequires: perl(Test::Warn)
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
Requires: perl(Data::Dumper)
%description
Parse::RecDescent incrementally generates top-down recursive-descent
text parsers from simple yacc-like grammar specifications. It
provides:
* Regular expressions or literal strings as terminals (tokens)
* Multiple (non-contiguous) productions for any rule
* Repeated and optional subrules within productions
* Full access to Perl within actions specified as part of the grammar
* Simple automated error reporting during parser generation and parsing
* The ability to commit to, uncommit to, or reject particular
productions during a parse
* The ability to pass data up and down the parse tree ("down" via
subrule argument lists, "up" via subrule return values)
* Incremental extension of the parsing grammar (even during a parse)
* Precompilation of parser objects
* User-definable reduce-reduce conflict resolution via "scoring" of
matching productions
%prep
%setup -q -n Parse-RecDescent-%{version}
%patch0 -p1
chmod -c a-x demo/* tutorial/*
perl -pi -e 's|^#!\s?/usr/local/bin/perl\b|#!/usr/bin/perl|' demo/*
%build
perl Makefile.PL INSTALLDIRS=vendor
make %{?_smp_mflags}
%install
make pure_install DESTDIR=%{buildroot}
find %{buildroot} -type f -name .packlist -delete
%{_fixperms} -c %{buildroot}
%check
make test
%files
%doc Changes README ToDo demo/ tutorial/
%{perl_vendorlib}/Parse/
%{_mandir}/man3/Parse::RecDescent.3*
%changelog
* Thu Jun 30 2022 misaka00251 <misaka00251@misakanet.cn> - 1.967015-1
- Init package (Thanks to fedora team)