From fb38aa27380bb41fd72f3c1a8a67759cd822f777 Mon Sep 17 00:00:00 2001 From: Chris Weyl Date: Tue, 16 Mar 2010 03:43:15 +0000 Subject: [PATCH] initial import --- .cvsignore | 1 + import.log | 1 + perl-Context-Preserve.spec | 70 ++++++++++++++++++++++++++++++++++++++ sources | 1 + 4 files changed, 73 insertions(+) create mode 100644 import.log create mode 100644 perl-Context-Preserve.spec diff --git a/.cvsignore b/.cvsignore index e69de29..3738ca9 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +Context-Preserve-0.01.tar.gz diff --git a/import.log b/import.log new file mode 100644 index 0000000..be23eca --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +perl-Context-Preserve-0_01-1_fc12:HEAD:perl-Context-Preserve-0.01-1.fc12.src.rpm:1268710988 diff --git a/perl-Context-Preserve.spec b/perl-Context-Preserve.spec new file mode 100644 index 0000000..6316a54 --- /dev/null +++ b/perl-Context-Preserve.spec @@ -0,0 +1,70 @@ +Name: perl-Context-Preserve +Summary: Run code after a subroutine call, preserving context +Version: 0.01 +Release: 1%{?dist} +License: GPL+ or Artistic +Group: Development/Libraries +Source0: http://search.cpan.org/CPAN/authors/id/J/JR/JROCKWAY/Context-Preserve-%{version}.tar.gz +URL: http://search.cpan.org/dist/Context-Preserve +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +BuildArch: noarch + +BuildRequires: perl(Exporter) +BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: perl(ok) +BuildRequires: perl(Test::Exception) +BuildRequires: perl(Test::More) + +%{?perl_default_filter} +%{?perl_default_subpackage_tests} + +%description +Sometimes you need to call a function, get the results, act on the +results, then return the result of the function. This is painful because +of contexts; the original function can behave different if it's called +in void, scalar, or list context. You can ignore the various cases and +just pick one, but that's fragile. To do things right, you need to see +which case you're being called in, and then call the function in that +context. This results in 3 code paths, which is a pain to type in (and +maintain). This module automates the process. You provide a coderef that +is the "original function", and another coderef to run after the +original runs. You can modify the return value (aliased to @_) here, and +do whatever else you need to do. 'wantarray' is correct inside both +coderefs; in "after", though, the return value is ignored and the value +'wantarray' returns is related to the context that the original function +was called in. + +%prep +%setup -q -n Context-Preserve-%{version} + +%build +%{__perl} Makefile.PL INSTALLDIRS=vendor +make %{?_smp_mflags} + +%install +rm -rf %{buildroot} + +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 + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root,-) +%doc README Changes +%{perl_vendorlib}/* +%{_mandir}/man3/*.3* + +%changelog +* Fri Mar 05 2010 Chris Weyl 0.01-1 +- specfile by Fedora::App::MaintainerTools 0.004 + + diff --git a/sources b/sources index e69de29..42ac8c4 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +e28c24d9e85d3f7de1c7b9a545ba991a Context-Preserve-0.01.tar.gz