%define pkg_name Class-C3 %define pkg_version 0.19 %define rpm_pkg_version 0.19 %define rpm_pkg_release 1.n0i.3 Summary: A pragma to use the C3 method resolution order algortihm Name: perl-%{pkg_name} Version: %{rpm_pkg_version} Release: %{rpm_pkg_release}%{?cpan_version}%{?dist} Group: Development/Libraries License: Artistic URL: http://search.cpan.org/dist/%{pkg_name}/ Source0: http://www.cpan.org/authors/id/B/BL/BLBLACK/%{pkg_name}-%{pkg_version}.tar.gz BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: reb00t-rpmdevtools BuildRequires: perl(ExtUtils::MakeMaker) %if %{!?_without_test:1}0 BuildRequires: perl(Test::More) >= 0.47 BuildRequires: perl(Scalar::Util) >= 1.1 BuildRequires: perl(Test::Exception) >= 0.15 BuildRequires: perl(Algorithm::C3) >= 0.01 BuildRequires: perl(Class::C3::XS) %endif %description This is pragma to change Perl 5's standard method resolution order from depth-first left-to-right (a.k.a - pre-order) to the more sophisticated C3 method resolution order. What is C3? C3 is the name of an algorithm which aims to provide a sane method resolution order under multiple inheritence. It was first introduced in the langauge Dylan, and then later adopted as the preferred MRO (Method Resolution Order) for the new-style classes in Python 2.3. Most recently it has been adopted as the 'canonical' MRO for Perl 6 classes, and the default MRO for Parrot objects as well. %prep %setup -q -n %{pkg_name}-%{pkg_version} %build %{perl_build} %{!?_without_test:%{__make} test} %install %{__rm} -rf $RPM_BUILD_ROOT %{perl_install} %clean %{__rm} -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %{perl_files} %doc ChangeLog README %changelog * Wed Aug 01 2007 Marius Feraru - 0.19-1.n0i.3 - version 0.19 * Tue May 22 2007 Marius Feraru - 0.18-1.n0i.2 - spec file (re)created using N0i::CPAN::RPMizer v1.14.7 - version 0.18 * Sat Apr 08 2006 Marius Feraru 0.11-1.n0i.1 - spec file (re)created using N0i::CPAN::RPMizer v1.12.0 - version 0.11