]>
Commit | Line | Data |
---|---|---|
7ae42cf3 | 1 | # |
2 | # Conditional build: | |
3 | %bcond_without tests # do not perform "make test" | |
4 | # | |
7ae42cf3 | 5 | %define pdir Class |
6 | %define pnam C3 | |
1fde398c | 7 | Summary: Class::C3 - A pragma to use the C3 method resolution order algorithm |
b60efd88 | 8 | Summary(pl.UTF-8): Class::C3 - pragma do używania algorytmu C3 kolejności rozwiązywania metod |
7ae42cf3 | 9 | Name: perl-Class-C3 |
23449e55 | 10 | Version: 0.34 |
320f933f | 11 | Release: 1 |
7ae42cf3 | 12 | # same as perl |
13 | License: GPL v1+ or Artistic | |
14 | Group: Development/Languages/Perl | |
9a286100 | 15 | Source0: http://www.cpan.org/modules/by-module/Class/%{pdir}-%{pnam}-%{version}.tar.gz |
23449e55 | 16 | # Source0-md5: 0d5218ee75d933737abc338d7fab9d61 |
6a51d46c | 17 | URL: https://metacpan.org/release/Class-C3 |
9a286100 JB |
18 | BuildRequires: perl-ExtUtils-MakeMaker >= 6.52 |
19 | BuildRequires: perl-ExtUtils-CBuilder >= 0.27 | |
7ae42cf3 | 20 | BuildRequires: perl-devel >= 1:5.8.0 |
21 | BuildRequires: rpm-perlprov >= 4.1-13 | |
6a51d46c | 22 | BuildRequires: rpmbuild(macros) >= 1.745 |
7ae42cf3 | 23 | %if %{with tests} |
9a286100 | 24 | BuildRequires: perl-Algorithm-C3 >= 0.07 |
1fde398c | 25 | BuildRequires: perl-Scalar-List-Utils >= 1.10 |
45280a03 | 26 | BuildRequires: perl-Sub-Name |
27 | BuildRequires: perl-Test-Exception >= 0.15 | |
1fde398c | 28 | BuildRequires: perl-Test-Simple >= 0.47 |
7ae42cf3 | 29 | %endif |
9a286100 | 30 | Suggests: perl-Class-C3-XS >= 0.13 |
7ae42cf3 | 31 | BuildArch: noarch |
32 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
33 | ||
34 | %description | |
e2a4281d JB |
35 | This is currently an experimental pragma to change Perl 5's standard |
36 | method resolution order from depth-first left-to-right (a.k.a - | |
37 | pre-order) to the more sophisticated C3 method resolution order. | |
7ae42cf3 | 38 | |
e2a4281d JB |
39 | C3 is the name of an algorithm which aims to provide a sane method |
40 | resolution order under multiple inheritance. It was first introduced | |
41 | in the Dylan language (see links in the manual SEE ALSO section), and | |
42 | then later adopted as the preferred MRO (Method Resolution Order) for | |
43 | the new-style classes in Python 2.3. Most recently it has been adopted | |
44 | as the 'canonical' MRO for Perl 6 classes, and the default MRO for | |
45 | Parrot objects as well. | |
7ae42cf3 | 46 | |
164fbfca | 47 | %description -l pl.UTF-8 |
e2a4281d | 48 | Jest to aktualnie eksperymentalna pragma do zmiany standardowej |
164fbfca JR |
49 | kolejności rozwiązywania metod w Perlu 5 z pierwszej co do głębokości, |
50 | od lewej do prawej (czyli pre-order) na bardziej przemyślaną kolejność | |
51 | rozwiązywania metod C3. | |
e2a4281d | 52 | |
164fbfca JR |
53 | C3 to nazwa algorytmu, którego celem jest dostarczenie rozsądnej |
54 | kolejności rozwiązywania metod przy wielokrotnym dziedziczeniu. Po raz | |
55 | pierwszy został wprowadzony w języku Dylan (odnośniki w sekcji SEE | |
56 | ALSO manuala), a następnie zaadoptowany jako preferowana MRO (Method | |
57 | Resolution Order - kolejność rozwiązywania metod) dla nowego stylu | |
58 | klas w Pythonie 2.3. Ostatnio został zaadoptowany jako "kanoniczna" | |
59 | MRO dla klas Perla 6 i domyślna MRO dla obiektów Parrota. | |
7ae42cf3 | 60 | |
61 | %prep | |
62 | %setup -q -n %{pdir}-%{pnam}-%{version} | |
63 | ||
64 | %build | |
1fde398c | 65 | %{__perl} Makefile.PL \ |
7ae42cf3 | 66 | INSTALLDIRS=vendor |
67 | %{__make} | |
68 | ||
69 | %{?with_tests:%{__make} test} | |
70 | ||
71 | %install | |
72 | rm -rf $RPM_BUILD_ROOT | |
73 | ||
74 | %{__make} install \ | |
75 | DESTDIR=$RPM_BUILD_ROOT | |
76 | ||
77 | %clean | |
78 | rm -rf $RPM_BUILD_ROOT | |
79 | ||
80 | %files | |
81 | %defattr(644,root,root,755) | |
23449e55 | 82 | %doc Changes |
1fde398c | 83 | %{perl_vendorlib}/Class/C3.pm |
3fe51a10 | 84 | %{perl_vendorlib}/Class/C3 |
1fde398c | 85 | %{_mandir}/man3/Class::C3*.3pm* |