3 %bcond_without tests # do not perform "make test"
7 Summary: Config::Scoped - feature rich configuration file parser
8 Summary(pl.UTF-8): Config::Scoped - bogaty w możliwości analizator plików konfiguracyjnych
9 Name: perl-Config-Scoped
13 License: GPL v1+ or Artistic
14 Group: Development/Languages/Perl
15 Source0: http://www.cpan.org/modules/by-module/Config/%{pdir}-%{pnam}-%{version}.tar.gz
16 # Source0-md5: 94ce561e368ffaff3f1f66896d6d0b3f
17 URL: http://search.cpan.org/dist/Config-Scoped/
18 BuildRequires: perl-Module-Build
19 BuildRequires: perl-devel >= 1:5.8.0
20 BuildRequires: rpm-perlprov >= 4.1-13
22 BuildRequires: perl-Error
23 BuildRequires: perl-Parse-RecDescent >= 1.94
26 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29 Config::Scoped has the following highlights as a configuration file
31 - Complex recursive datastructures to any extent with scalars, lists
32 and hashes as elements,
33 - As a subset parses any complex Perl datastructures (no references
34 and globs) without do or require,
35 - Include files with recursion checks,
36 - Controlled macro expansion in double quoted tokens,
37 - Lexically scoped parameter assignments and pragma directives,
38 - Perl quote like constructs to any extent, '', "", and here docs <<,
39 - Perl code evaluation in Safe compartments,
40 - Caching and restore with MD5 checks to determine alterations in the
41 original config files,
42 - Standard macro, parameter, declaration redefinition validation, may
43 be overridden to validate on semantic knowledge,
44 - Standard file permission and ownership safety validation, may be
46 - Fine control for redefiniton warnings with pragma's and other safety
48 - Easy inheritable, may be subclassed to build parsers with
49 specialized validation features,
50 - Condoning syntax checker, semicolons and or commas are not always
51 necessary to finish a statement or a list item if the end can be
52 guessed by other means like newlines, closing brackets, braces etc.,
53 - Well spotted messages for syntax errors even within include files
54 with correct line numbers and file names,
55 - Exception based error handling,
58 %description -l pl.UTF-8
59 Config::Scoped ma następujące cechy jako analizator plików
61 - dowolnie złożone rekurencyjne struktury danych z elementami będącymi
62 skalarami, listami i haszami,
63 - analizowanie dowolnie złożone perlowe struktury danych (bez
64 referencji i globów) bez użycia do czy require,
65 - dołączanie plików ze sprawdzaniem rekurencji,
66 - kontrolowane rozwijanie makr w tokenach ujętych w cudzysłowy,
67 - przypisywanie parametrów i obsługa dyrektyw pragma z kontekstem
69 - obsługa dowolnych perlowych konstrukcji cytowania z użyciem '', "" i
70 dokumentów włączanych <<,
71 - wykonywanie kodu perlowego w segmentach Safe,
72 - zapamiętywanie (cache) i odtwarzanie z kontrolą MD5 w celu wykrycia
73 zmian w oryginalnych plikach konfiguracyjnych,
74 - kontrola poprawności makr, parametrów i redefinicji deklaracji może
75 być przeprowadzana zależnie od wiedzy semantycznej,
76 - standardowe sprawdzanie uprawnień i własności plików pod kątem
77 bezpieczeństwa; może być zmienione,
78 - dobra kontrola ostrzeżeń o redefinicjach z użyciem dyrektyw pragma,
79 - łatwe dziedziczenie, można tworzyć podklasy do tworzenia
80 analizatorów o wyspecjalizowanym sprawdzaniu poprawności,
81 - łagodna kontrola składni, średniki i/lub przecinki nie są zawsze
82 niezbędne do zakończenia instrukcji czy elementu listy, jeśli koniec
83 da się odgadnąć w inny sposób, jak np. z końców linii, nawiasów
85 - dobrze wskazujące komunikaty o błędach składni, nawet wewnątrz
86 plików dołączanych, z poprawnymi numerami linii i nazwami plików,
87 - obsługa błędów oparta na wyjątkach,
91 %setup -q -n %{pdir}-%{pnam}-%{version}
95 destdir=$RPM_BUILD_ROOT \
99 %{?with_tests:./Build test}
102 rm -rf $RPM_BUILD_ROOT
106 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
107 cp -a example $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
110 rm -rf $RPM_BUILD_ROOT
113 %defattr(644,root,root,755)
115 %{perl_vendorlib}/Config/*.pm
116 %{perl_vendorlib}/Config/Scoped
118 %{_examplesdir}/%{name}-%{version}