From a178440e77498f6bf63365eeeb1cb2034a3f85b369bceb751a5a8d8e9d289194 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 29 May 2012 14:44:05 +0000 Subject: [PATCH] - updated to 0.08 - Remove a double layer of string eval that was introduced in 0.07 as an intermediate step in figuring out the unique package thing - it's not necessary with the final implementation, and just makes things slower and hides errors. - the given source is now evaled in a unique package for every eval_closure call (it used to always be evaled in the Eval::Closure package, which was especially buggy). this is to avoid issues where one eval_closure modifies the global environment (by, say, importing a function), which could mess up a later call. unfortunately, this means that the memoization stuff no longer works, since it will result in memoized results using the original package, which defeats the purpose. i'm open to suggestions on how to safely reenable it though. - clean up a few stray lexicals we were still closing over in the eval OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Eval-Closure?expand=0&rev=10 --- Eval-Closure-0.06.tar.gz | 3 --- Eval-Closure-0.08.tar.gz | 3 +++ perl-Eval-Closure.changes | 18 ++++++++++++++++++ perl-Eval-Closure.spec | 16 ++++++---------- 4 files changed, 27 insertions(+), 13 deletions(-) delete mode 100644 Eval-Closure-0.06.tar.gz create mode 100644 Eval-Closure-0.08.tar.gz diff --git a/Eval-Closure-0.06.tar.gz b/Eval-Closure-0.06.tar.gz deleted file mode 100644 index b56003e..0000000 --- a/Eval-Closure-0.06.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2c425b6189c30dd0782c22f86e16c578b508ab78c3398edc8fbc8f7cda8b4e62 -size 15676 diff --git a/Eval-Closure-0.08.tar.gz b/Eval-Closure-0.08.tar.gz new file mode 100644 index 0000000..7317e81 --- /dev/null +++ b/Eval-Closure-0.08.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:738ce424d68ce1ac93c0b1539d6740ac8fff81fdd06ef7e4c8b022296922a407 +size 16746 diff --git a/perl-Eval-Closure.changes b/perl-Eval-Closure.changes index a909f21..c87a7a6 100644 --- a/perl-Eval-Closure.changes +++ b/perl-Eval-Closure.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Tue May 29 14:39:41 UTC 2012 - coolo@suse.com + +- updated to 0.08 + - Remove a double layer of string eval that was introduced in 0.07 as an + intermediate step in figuring out the unique package thing - it's not + necessary with the final implementation, and just makes things slower + and hides errors. + - the given source is now evaled in a unique package for every + eval_closure call (it used to always be evaled in the Eval::Closure + package, which was especially buggy). this is to avoid issues where one + eval_closure modifies the global environment (by, say, importing a + function), which could mess up a later call. unfortunately, this means + that the memoization stuff no longer works, since it will result in + memoized results using the original package, which defeats the purpose. + i'm open to suggestions on how to safely reenable it though. + - clean up a few stray lexicals we were still closing over in the eval + ------------------------------------------------------------------- Fri Nov 18 14:54:38 UTC 2011 - coolo@suse.com diff --git a/perl-Eval-Closure.spec b/perl-Eval-Closure.spec index dad3aab..34c5a22 100644 --- a/perl-Eval-Closure.spec +++ b/perl-Eval-Closure.spec @@ -1,7 +1,7 @@ # # spec file for package perl-Eval-Closure # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,15 +16,14 @@ # - Name: perl-Eval-Closure -Version: 0.06 -Release: 3 -License: GPL-1.0+ or Artistic-1.0 +Version: 0.08 +Release: 0 %define cpan_name Eval-Closure Summary: Safely and cleanly create closures via string eval -Url: http://search.cpan.org/dist/Eval-Closure/ +License: GPL-1.0+ or Artistic-1.0 Group: Development/Libraries/Perl +Url: http://search.cpan.org/dist/Eval-Closure/ Source: http://www.cpan.org/authors/id/D/DO/DOY/%{cpan_name}-%{version}.tar.gz Patch1: perl-Eval-Closure-old_Test-More.patch BuildArch: noarch @@ -60,7 +59,7 @@ non-existent) if caching is to work properly). %prep %setup -q -n %{cpan_name}-%{version} -%if 0%{?suse_version} >= 1110 +%if 0%{?suse_version} < 1210 %patch1 -p1 %endif @@ -76,9 +75,6 @@ non-existent) if caching is to work properly). %perl_process_packlist %perl_gen_filelist -%clean -%{__rm} -rf %{buildroot} - %files -f %{name}.files %defattr(-,root,root,755) %doc Changes LICENSE README weaver.ini