Name: perl-namespace-clean Version: 0.09 Release: 2%{?dist} License: GPL+ or Artistic Group: Development/Libraries Summary: Keep your namespace tidy Source: http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/namespace-clean-%{version}.tar.gz Url: http://search.cpan.org/dist/namespace-clean BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) BuildArch: noarch BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: perl(FindBin) BuildRequires: perl(B::Hooks::EndOfScope) BuildRequires: perl(Symbol) BuildRequires: perl(Test::More) >= 0.62 %description When you define a function, or import one, into a Perl package, it will naturally also be available as a method. This does not per se cause problems, but it can complicate subclassing and, for example, plugin classes that are included via multiple inheritance by loading them as base classes. The 'namespace::clean' pragma will remove all previously declared or imported symbols at the end of the current package's compile cycle. Functions called in the package itself will still be bound by their name, but they won't show up as methods on your class or instances. %prep %setup -q -n namespace-clean-%{version} # note we first filter out the bits in _docdir... cat << \EOF > %{name}-prov #!/bin/sh %{__perl_provides} `perl -p -e 's|%{_docdir}/%{name}-%{version}\S+||'` EOF %define __perl_provides %{_builddir}/namespace-clean-%{version}/%{name}-prov chmod +x %{__perl_provides} cat << \EOF > %{name}-req #!/bin/sh %{__perl_requires} `perl -p -e 's|\S+%{_docdir}/%{name}-%{version}\S+||'` EOF %define __perl_requires %{_builddir}/namespace-clean-%{version}/%{name}-req chmod +x %{__perl_requires} %build %{__perl} Makefile.PL INSTALLDIRS=vendor make %{?_smp_mflags} %install rm -rf %{buildroot} make pure_install PERL_INSTALL_ROOT=%{buildroot} find %{buildroot} -type f -name .packlist -exec rm -f {} ';' find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null ';' %{_fixperms} %{buildroot}/* %check make test %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %doc Changes README t/ %{perl_vendorlib}/* %{_mandir}/man3/*.3* %changelog * Thu Feb 26 2009 Fedora Release Engineering - 0.09-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Tue Dec 02 2008 Chris Weyl 0.09-1 - update to 0.09 - note BR change from Scope::Guard to B::Hooks::EndOfScope * Mon Sep 08 2008 Chris Weyl 0.08-2 - bump * Sat Sep 06 2008 Chris Weyl 0.08-1 - initial Fedora packaging - generated with cpan2dist (CPANPLUS::Dist::Fedora version 0.0.1)