]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # Conditional build: | |
3 | %bcond_without tests # do not perform "make test" | |
4 | # | |
5 | %include /usr/lib/rpm/macros.perl | |
6 | %define pdir Parse | |
7 | %define pnam RecDescent | |
8 | Summary: Parse::RecDescent - generate recursive-descent parsers | |
9 | Summary(pl.UTF-8): Parse::RecDescent - generowanie zmniejszających rekurencyjnie analizatorów | |
10 | Name: perl-Parse-RecDescent | |
11 | Version: 1.95.1 | |
12 | Release: 4 | |
13 | License: Artistic | |
14 | Group: Development/Languages/Perl | |
15 | Source0: http://www.cpan.org/modules/by-authors/id/D/DC/DCONWAY/%{pdir}-%{pnam}-v%{version}.tar.gz | |
16 | # Source0-md5: 122fa38d52a701897836370ae022f174 | |
17 | Patch0: %{name}-paths.patch | |
18 | URL: http://search.cpan.org/dist/Parse-RecDescent/ | |
19 | BuildRequires: perl-Text-Balanced | |
20 | BuildRequires: perl-devel >= 1:5.8.0 | |
21 | BuildRequires: rpm-perlprov >= 4.1-13 | |
22 | # these versions included own copy of Text::Balanced | |
23 | BuildConflicts: perl-Parse-RecDescent < 1.92 | |
24 | BuildArch: noarch | |
25 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
26 | ||
27 | %define _noautoreq 'perl(Calc)' | |
28 | ||
29 | %description | |
30 | RecDescent incrementally generates top-down recursive-descent text | |
31 | parsers from simple yacc-like grammar specifications. It provides: | |
32 | - Regular expressions or literal strings as terminals (tokens), | |
33 | - Multiple (non-contiguous) productions for any rule, | |
34 | - Repeated, optional and alternate subrules within productions, | |
35 | - Late-bound (run-time dispatched) subrules, | |
36 | - Full access to Perl within actions specified as part of the grammar, | |
37 | - Simple automated error reporting during parser generation and | |
38 | parsing, | |
39 | - The ability to commit to, uncommit to, or reject particular | |
40 | productions during a parse, | |
41 | - Incremental extension of the parsing grammar (even during a parse), | |
42 | - Precompilation of parser objects, | |
43 | - User-definable reduce-reduce conflict resolution via "scoring" of | |
44 | matching productions. | |
45 | ||
46 | %description -l pl.UTF-8 | |
47 | RecDescent generuje przyrostowo zstępujące, zmniejszające | |
48 | rekurencyjnie analizatory tekstu w oparciu o prostą specyfikację | |
49 | gramatyki, podobną do używanej przez yacca. Udostępnia on: | |
50 | - Wyrażenia regularne i łańcuchy literałów jako terminale (tokeny), | |
51 | - Wielokrotną (nieciągłą) produkcję dla każdej reguły, | |
52 | - Powtarzane, opcjonalne i alternatywne podreguły w obrębie produkcji, | |
53 | - Podreguły późnego wiązania (wysyłane w chwili uruchomienia), | |
54 | - Pełen dostęp do Perla w obrębie akcji określonych jako część | |
55 | gramatyki, | |
56 | - Proste, zautomatyzowane sygnalizowanie błędów podczas generacji | |
57 | analizatora i podczas analizy, | |
58 | - Możliwość zatwierdzenia, cofnięcia oraz odrzucania poszczególnych | |
59 | produkcji podczas analizy, | |
60 | - Przyrostowe rozszerzanie gramatyki podlegającej analizie (nawet | |
61 | podczas samej analizy), | |
62 | - Prekompilację obiektów analizatora, | |
63 | - Definiowalne przez użytkownika rozpoznawanie konfliktów | |
64 | "reduce-reduce" poprzez ocenianie dopasowania produkcji. | |
65 | ||
66 | %prep | |
67 | %setup -q -n %{pdir}-%{pnam}-v%{version} | |
68 | %patch0 -p1 | |
69 | ||
70 | %build | |
71 | %{__perl} Makefile.PL \ | |
72 | INSTALLDIRS=vendor | |
73 | %{__make} | |
74 | ||
75 | %{?with_tests:%{__make} test} | |
76 | ||
77 | %install | |
78 | rm -rf $RPM_BUILD_ROOT | |
79 | ||
80 | %{__make} pure_install \ | |
81 | DESTDIR=$RPM_BUILD_ROOT | |
82 | ||
83 | rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Parse/RecDescent/.packlist | |
84 | ||
85 | %clean | |
86 | rm -rf $RPM_BUILD_ROOT | |
87 | ||
88 | %files | |
89 | %defattr(644,root,root,755) | |
90 | %doc README Changes | |
91 | %{perl_vendorlib}/Parse/*.pm | |
92 | %{_mandir}/man3/* |