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: http://search.cpan.org/dist/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
23 BuildRequires: perl-Algorithm-C3 >= 0.07
24 BuildRequires: perl-Scalar-List-Utils >= 1.10
25 BuildRequires: perl-Sub-Name
26 BuildRequires: perl-Test-Exception >= 0.15
27 BuildRequires: perl-Test-Simple >= 0.47
29 Suggests: perl-Class-C3-XS >= 0.13
31 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34 This is currently an experimental pragma to change Perl 5's standard
35 method resolution order from depth-first left-to-right (a.k.a -
36 pre-order) to the more sophisticated C3 method resolution order.
38 C3 is the name of an algorithm which aims to provide a sane method
39 resolution order under multiple inheritance. It was first introduced
40 in the Dylan language (see links in the manual SEE ALSO section), and
41 then later adopted as the preferred MRO (Method Resolution Order) for
42 the new-style classes in Python 2.3. Most recently it has been adopted
43 as the 'canonical' MRO for Perl 6 classes, and the default MRO for
44 Parrot objects as well.
46 %description -l pl.UTF-8
47 Jest to aktualnie eksperymentalna pragma do zmiany standardowej
48 kolejności rozwiązywania metod w Perlu 5 z pierwszej co do głębokości,
49 od lewej do prawej (czyli pre-order) na bardziej przemyślaną kolejność
50 rozwiązywania metod C3.
52 C3 to nazwa algorytmu, którego celem jest dostarczenie rozsądnej
53 kolejności rozwiązywania metod przy wielokrotnym dziedziczeniu. Po raz
54 pierwszy został wprowadzony w języku Dylan (odnośniki w sekcji SEE
55 ALSO manuala), a następnie zaadoptowany jako preferowana MRO (Method
56 Resolution Order - kolejność rozwiązywania metod) dla nowego stylu
57 klas w Pythonie 2.3. Ostatnio został zaadoptowany jako "kanoniczna"
58 MRO dla klas Perla 6 i domyślna MRO dla obiektów Parrota.
61 %setup -q -n %{pdir}-%{pnam}-%{version}
64 %{__perl} Makefile.PL \
68 %{?with_tests:%{__make} test}
71 rm -rf $RPM_BUILD_ROOT
74 DESTDIR=$RPM_BUILD_ROOT
77 rm -rf $RPM_BUILD_ROOT
80 %defattr(644,root,root,755)
82 %{perl_vendorlib}/Class/C3.pm
83 %{perl_vendorlib}/Class/C3
84 %{_mandir}/man3/Class::C3*.3pm*