diff --git a/namespace-autoclean-0.29.tar.gz b/namespace-autoclean-0.29.tar.gz new file mode 100644 index 0000000..dc12b25 Binary files /dev/null and b/namespace-autoclean-0.29.tar.gz differ diff --git a/perl-namespace-autoclean.spec b/perl-namespace-autoclean.spec new file mode 100644 index 0000000..971dc18 --- /dev/null +++ b/perl-namespace-autoclean.spec @@ -0,0 +1,113 @@ +%global _empty_manifest_terminate_build 0 + +Name: perl-namespace-autoclean +Version: 0.29 +Release: 1 +License: GPL+ or Artistic +Summary: Keep imports out of your namespace +URL: https://metacpan.org/release/namespace-autoclean +Source0: https://cpan.metacpan.org/modules/by-module/namespace/namespace-autoclean-%{version}.tar.gz +BuildArch: noarch + +BuildRequires: coreutils +BuildRequires: findutils +BuildRequires: make +BuildRequires: perl-interpreter +BuildRequires: perl-generators +BuildRequires: perl(ExtUtils::MakeMaker) +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) +BuildRequires: perl(Carp) +BuildRequires: perl(constant) +BuildRequires: perl(File::Basename) +BuildRequires: perl(File::Spec) +BuildRequires: perl(FindBin) +BuildRequires: perl(overload) +BuildRequires: perl(Scalar::Util) +BuildRequires: perl(Test::More) >= 0.94 +BuildRequires: perl(Test::Needs) + +Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) +Requires: perl(Sub::Identify) + +%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 pragma. It will also not touch +anything that looks like a method. + +%package help +Summary: Keep imports out of your namespace +Provides: perl-namespace-autoclean-doc + +%description help +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 +export PERL_MM_OPT="" +%{__perl} Makefile.PL INSTALLDIRS=vendor +make %{?_smp_mflags} + +%install +export PERL_MM_OPT="" +rm -rf $RPM_BUILD_ROOT + +make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT + +find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \; +find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \; + +%{_fixperms} $RPM_BUILD_ROOT/* + +pushd %{buildroot} +touch filelist.lst +if [ -d usr/bin ];then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ];then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ];then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib ];then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +popd +mv %{buildroot}/filelist.lst . + +%check +make test + +%clean +rm -rf $RPM_BUILD_ROOT + +%files -f filelist.lst +%defattr(-,root,root,-) +%doc Changes CONTRIBUTING dist.ini LICENCE META.json README +%{perl_vendorlib}/* + +%files help +%{_mandir}/* + +%changelog +* Wed Jun 29 2022 misaka00251 - 0.29-1 +- Init package