]> git.pld-linux.org Git - SPECS.git/blob - perl-Config-Scoped.spec
SPECS updated Mon 29 Apr 22:05:02 CEST 2024
[SPECS.git] / perl-Config-Scoped.spec
1 #
2 # Conditional build:
3 %bcond_without  tests           # do not perform "make test"
4 #
5 %define pdir    Config
6 %define pnam    Scoped
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
10 Version:        0.21
11 Release:        1
12 # same as perl
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
21 %if %{with tests}
22 BuildRequires:  perl-Error
23 BuildRequires:  perl-Parse-RecDescent >= 1.94
24 %endif
25 BuildArch:      noarch
26 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27
28 %description
29 Config::Scoped has the following highlights as a configuration file
30 parser:
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
45   overridden,
46 - Fine control for redefiniton warnings with pragma's and other safety
47   checks,
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,
56 - etc.
57
58 %description -l pl.UTF-8
59 Config::Scoped ma następujące cechy jako analizator plików
60 konfiguracyjnych:
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
68   leksykalnym,
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
84   zamykających itp.,
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,
88 - itd.
89
90 %prep
91 %setup -q -n %{pdir}-%{pnam}-%{version}
92
93 %build
94 %{__perl} Build.PL \
95         destdir=$RPM_BUILD_ROOT \
96         installdirs=vendor
97 ./Build
98
99 %{?with_tests:./Build test}
100
101 %install
102 rm -rf $RPM_BUILD_ROOT
103
104 ./Build install
105
106 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
107 cp -a example $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
108
109 %clean
110 rm -rf $RPM_BUILD_ROOT
111
112 %files
113 %defattr(644,root,root,755)
114 %doc Changes README
115 %{perl_vendorlib}/Config/*.pm
116 %{perl_vendorlib}/Config/Scoped
117 %{_mandir}/man3/*
118 %{_examplesdir}/%{name}-%{version}
This page took 0.573031 seconds and 3 git commands to generate.