3 %bcond_without tests # do not perform "make test"
7 Summary: Class::C3 - A pragma to use the C3 method resolution order algorithm
8 Summary(pl.UTF-8): Class::C3 - pragma do używania algorytmu C3 kolejności rozwiązywania metod
13 License: GPL v1+ or Artistic
14 Group: Development/Languages/Perl
15 Source0: http://www.cpan.org/modules/by-module/Class/%{pdir}-%{pnam}-%{version}.tar.gz
16 # Source0-md5: 0d5218ee75d933737abc338d7fab9d61
17 URL: https://metacpan.org/release/Class-C3
18 BuildRequires: perl-ExtUtils-MakeMaker >= 6.52
19 BuildRequires: perl-ExtUtils-CBuilder >= 0.27
20 BuildRequires: perl-devel >= 1:5.8.0
21 BuildRequires: rpm-perlprov >= 4.1-13
22 BuildRequires: rpmbuild(macros) >= 1.745
24 BuildRequires: perl-Algorithm-C3 >= 0.07
25 BuildRequires: perl-Scalar-List-Utils >= 1.10
26 BuildRequires: perl-Sub-Name
27 BuildRequires: perl-Test-Exception >= 0.15
28 BuildRequires: perl-Test-Simple >= 0.47
30 Suggests: perl-Class-C3-XS >= 0.13
32 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
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.
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.
47 %description -l pl.UTF-8
48 Jest to aktualnie eksperymentalna pragma do zmiany standardowej
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.
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.
62 %setup -q -n %{pdir}-%{pnam}-%{version}
65 %{__perl} Makefile.PL \
69 %{?with_tests:%{__make} test}
72 rm -rf $RPM_BUILD_ROOT
75 DESTDIR=$RPM_BUILD_ROOT
78 rm -rf $RPM_BUILD_ROOT
81 %defattr(644,root,root,755)
83 %{perl_vendorlib}/Class/C3.pm
84 %{perl_vendorlib}/Class/C3
85 %{_mandir}/man3/Class::C3*.3pm*