From 4c845ddfa357b7a952041ae81a2b036647b72432 Mon Sep 17 00:00:00 2001 From: Paul Howarth Date: Thu, 14 Aug 2014 22:45:59 +0100 Subject: [PATCH] Update to 0.19 - New upstream release 0.19 - Bump dependency on B::Hooks::EndOfScope, to get the separation of pure-perl and XS components (CPAN RT#89245) - Repository migrated to the github moose organization - Update configure_requires checking in Makefile.PL, add CONTRIBUTING file - Changed the code to no longer _require_ Class::MOP; if your class is not a Moose class then we don't load Class::MOP, which was particularly problematic for Moo classes, as using namespace::autoclean with a Moo class "upgraded" it to be a Moose class - Using this module just broke overloading in a class (CPAN RT#50938) - Add -except to import options; this allows you to explicitly not clean a sub. - Better method detection for Mouse (GH#4) - More comprehensive testing with Moo/Mouse/Moose - Fixed cleaning of constants - This release by ETHER -> update source URL - Switch to Module::Build::Tiny flow - Update %description to remove reference to Class::MOP - Make %files list more explicit --- .gitignore | 4 +- perl-namespace-autoclean.spec | 110 ++++++++++++++++++++++++---------- sources | 2 +- 3 files changed, 81 insertions(+), 35 deletions(-) diff --git a/.gitignore b/.gitignore index b12305f..73050fb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ -namespace-autoclean-0.11.tar.gz -/namespace-autoclean-0.12.tar.gz -/namespace-autoclean-0.13.tar.gz +/namespace-autoclean-[0-9.]*.tar.gz diff --git a/perl-namespace-autoclean.spec b/perl-namespace-autoclean.spec index 7c7113c..ded3f9a 100644 --- a/perl-namespace-autoclean.spec +++ b/perl-namespace-autoclean.spec @@ -1,58 +1,106 @@ Name: perl-namespace-autoclean -Version: 0.13 -Release: 7%{?dist} +Version: 0.19 +Release: 1%{?dist} License: GPL+ or Artistic Group: Development/Libraries Summary: Keep imports out of your namespace -Source: http://search.cpan.org/CPAN/authors/id/B/BO/BOBTFISH/namespace-autoclean-%{version}.tar.gz +Source: http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/namespace-autoclean-%{version}.tar.gz Url: http://search.cpan.org/dist/namespace-autoclean -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) BuildArch: noarch -BuildRequires: perl(B::Hooks::EndOfScope) -BuildRequires: perl(Class::MOP) >= 0.80 -BuildRequires: perl(ExtUtils::MakeMaker) -BuildRequires: perl(List::Util) -BuildRequires: perl(namespace::clean) >= 0.20 -BuildRequires: perl(Test::More) +# Module Build +BuildRequires: perl +BuildRequires: perl(Module::Build::Tiny) >= 0.036 +# Module +BuildRequires: perl(B::Hooks::EndOfScope) >= 0.12 +BuildRequires: perl(List::Util) +BuildRequires: perl(namespace::clean) >= 0.20 +BuildRequires: perl(strict) +BuildRequires: perl(Sub::Identify) +BuildRequires: perl(warnings) +# Test Suite +BuildRequires: perl(Carp) +BuildRequires: perl(constant) +BuildRequires: perl(ExtUtils::MakeMaker) >= 6.30 +BuildRequires: perl(File::Basename) +BuildRequires: perl(File::Spec::Functions) +BuildRequires: perl(overload) +BuildRequires: perl(Scalar::Util) +BuildRequires: perl(Test::More) >= 0.96 +BuildRequires: perl(Test::Requires) +BuildRequires: perl(version) +# Optional Tests +BuildRequires: perl(Class::MOP) +BuildRequires: perl(CPAN::Meta) +BuildRequires: perl(CPAN::Meta::Requirements) >= 2.120900 +%if 0%{?fedora} || 0%{?rhel} > 7 +BuildRequires: perl(Moo) >= 1.000007 +%endif +BuildRequires: perl(Moose) >= 0.56 +BuildRequires: perl(Moose::Role) +%if 0%{?fedora} || 0%{?rhel} > 7 +BuildRequires: perl(MooseX::MarkAsMethods) +%endif +BuildRequires: perl(MooseX::Role::WithOverloading) >= 0.09 +BuildRequires: perl(Mouse) +BuildRequires: perl(Sub::Name) +# Runtime +Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) +Requires: perl(Sub::Identify) %{?perl_default_filter} %description -When you import a function into a Perl package, it will naturally also -be available as a method. The 'namespace::autoclean' pragma will remove -all 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. This -module is very similar to namespace::clean, except it will clean all -imported functions, no matter if you imported them before or after you -'use'd the pagma. It will also not touch anything that looks like a -method, according to 'Class::MOP::Class::get_method_list'. - +When you import a function into a Perl package, it will naturally also be +available as a method. The 'namespace::autoclean' pragma will remove all +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. This module is very similar to +namespace::clean, except it will clean all imported functions, no matter if you +imported them before or after you 'use'd the pragma. It will also not touch +anything that looks like a method. %prep %setup -q -n namespace-autoclean-%{version} %build -%{__perl} Makefile.PL INSTALLDIRS=vendor -make %{?_smp_mflags} +perl Build.PL --installdirs=vendor +./Build %install -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}/* +./Build install --destdir=%{buildroot} --create_packlist=0 %check -make test +./Build test %files -%doc Changes LICENSE README -%{perl_vendorlib}/* -%{_mandir}/man3/*.3* +%license LICENSE +%doc Changes CONTRIBUTING README README.md +%{perl_vendorlib}/namespace/ +%{_mandir}/man3/namespace::autoclean.3pm* %changelog +* Thu Aug 14 2014 Paul Howarth - 0.19-1 +- Update to 0.19 + - Bump dependency on B::Hooks::EndOfScope, to get the separation of pure-perl + and XS components (CPAN RT#89245) + - Repository migrated to the github moose organization + - Update configure_requires checking in Makefile.PL, add CONTRIBUTING file + - Changed the code to no longer _require_ Class::MOP; if your class is not a + Moose class then we don't load Class::MOP, which was particularly + problematic for Moo classes, as using namespace::autoclean with a Moo class + "upgraded" it to be a Moose class + - Using this module just broke overloading in a class (CPAN RT#50938) + - Add -except to import options; this allows you to explicitly not clean a + sub. + - Better method detection for Mouse (GH#4) + - More comprehensive testing with Moo/Mouse/Moose + - Fixed cleaning of constants +- This release by ETHER -> update source URL +- Switch to Module::Build::Tiny flow +- Update %%description to remove reference to Class::MOP +- Make %%files list more explicit + * Sat Jun 07 2014 Fedora Release Engineering - 0.13-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild diff --git a/sources b/sources index eb81960..deebf98 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ec5527b420ec45d3f930c6345ec23926 namespace-autoclean-0.13.tar.gz +27e771705254a8cb2da401d054b872c6 namespace-autoclean-0.19.tar.gz