2011-01-25 10:05:07 +00:00
|
|
|
Name: perl-Eval-Closure
|
2011-03-03 15:55:06 +00:00
|
|
|
Version: 0.03
|
|
|
|
Release: 1%{?dist}
|
2011-01-25 10:05:07 +00:00
|
|
|
Summary: Safely and cleanly create closures via string eval
|
|
|
|
License: GPL+ or Artistic
|
|
|
|
Group: Development/Libraries
|
|
|
|
URL: http://search.cpan.org/dist/Eval-Closure/
|
|
|
|
Source0: http://www.cpan.org/authors/id/D/DO/DOY/Eval-Closure-%{version}.tar.gz
|
|
|
|
BuildArch: noarch
|
|
|
|
BuildRequires: perl(ExtUtils::MakeMaker)
|
|
|
|
BuildRequires: perl(PadWalker)
|
|
|
|
BuildRequires: perl(Perl::Tidy)
|
|
|
|
BuildRequires: perl(Scalar::Util)
|
|
|
|
BuildRequires: perl(Sub::Exporter)
|
|
|
|
BuildRequires: perl(Test::Fatal)
|
|
|
|
BuildRequires: perl(Test::More) >= 0.88
|
|
|
|
BuildRequires: perl(Test::Output)
|
|
|
|
BuildRequires: perl(Test::Requires)
|
|
|
|
BuildRequires: perl(Try::Tiny)
|
|
|
|
Requires: perl(Perl::Tidy)
|
|
|
|
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
|
|
|
|
|
|
|
|
%{?perl_default_filter}
|
|
|
|
|
|
|
|
%description
|
|
|
|
String eval is often used for dynamic code generation. For instance, Moose uses
|
|
|
|
it heavily, to generate inlined versions of accessors and constructors, which
|
|
|
|
speeds code up at runtime by a significant amount. String eval is not without
|
|
|
|
its issues however - it's difficult to control the scope it's used in (which
|
|
|
|
determines which variables are in scope inside the eval), and it can be quite
|
|
|
|
slow, especially if doing a large number of evals.
|
|
|
|
|
|
|
|
This module attempts to solve both of those problems. It provides an
|
|
|
|
eval_closure function, which evals a string in a clean environment, other than
|
|
|
|
a fixed list of specified variables. It also caches the result of the eval, so
|
|
|
|
that doing repeated evals of the same source, even with a different
|
|
|
|
environment, will be much faster (but note that the description is part of the
|
|
|
|
string to be evaled, so it must also be the same (or non-existent) if caching
|
|
|
|
is to work properly).
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%setup -q -n Eval-Closure-%{version}
|
|
|
|
|
|
|
|
%build
|
|
|
|
%{__perl} Makefile.PL INSTALLDIRS=vendor
|
|
|
|
make %{?_smp_mflags}
|
|
|
|
|
|
|
|
%install
|
|
|
|
make pure_install DESTDIR=%{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
|
|
|
|
|
|
|
|
%files
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
%doc Changes LICENSE README
|
|
|
|
%{perl_vendorlib}/*
|
|
|
|
%{_mandir}/man3/*
|
|
|
|
|
|
|
|
%changelog
|
2011-03-03 15:55:06 +00:00
|
|
|
* Thu Mar 03 2011 Iain Arnell <iarnell@gmail.com> 0.03-1
|
|
|
|
- update to latest upstream version
|
|
|
|
|
2011-02-08 21:50:39 +00:00
|
|
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.02-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
|
|
|
|
2011-01-28 04:08:20 +00:00
|
|
|
* Fri Jan 28 2011 Iain Arnell <iarnell@gmail.com> 0.02-1
|
|
|
|
- update to latest upstream version
|
|
|
|
|
2011-01-25 10:05:07 +00:00
|
|
|
* Sun Jan 23 2011 Iain Arnell <iarnell@gmail.com> 0.01-1
|
|
|
|
- Specfile autogenerated by cpanspec 1.78.
|