commit eef280466a3eed18e32381e6c2b382ec8ca47eb6 Author: Petr Šabata <contyk@xxxxxxxxxx> Date: Fri Feb 22 16:51:23 2013 +0100 Patch the failing invalid.t (rt#81978) and fix the BRs list TryCatch-1.003000-invalid.patch | 86 +++++++++++++++++++++++++++++++++++++++ perl-TryCatch.spec | 39 +++++++++++++----- 2 files changed, 114 insertions(+), 11 deletions(-) --- diff --git a/TryCatch-1.003000-invalid.patch b/TryCatch-1.003000-invalid.patch new file mode 100644 index 0000000..d988ada --- /dev/null +++ b/TryCatch-1.003000-invalid.patch @@ -0,0 +1,86 @@ +diff --git a/t/invalid.t b/t/invalid.t +index 955bcb7..b7f2531 100644 +--- a/t/invalid.t ++++ b/t/invalid.t +@@ -5,7 +5,11 @@ use Test::More; + use Test::Exception; + use TryCatch; + +-my $line; ++require B::Hooks::EndOfScope; ++# after 0.11 'Hooks' changed some of our messages ++my $hooks_post_011 = ($B::Hooks::EndOfScope::VERSION > 0.11); ++ ++my ($line, $expected_line, $regexp); + + test_for_error( + qr/^block required after try at .*? line (\d+)\b/, +@@ -22,8 +26,16 @@ is($line, 4, "Error from line 4"); + # Its really *really* wierd that this 'fixes' things. I blame string evals + eval "use TryCatch; try {} catch" if $] >= 5.011000; + ++if ($hooks_post_011) { ++ $regexp = qr/block required after catch .+at \(eval \d+\) line (\d+)\b/ms; ++ $expected_line = 9; ++} ++else { ++ $regexp = qr/^block required after catch at \(eval \d+\) line (\d+)\b/; ++ $expected_line = 5; ++} + test_for_error( +- qr/^block required after catch at \(eval \d+\) line (\d+)\b/, ++ $regexp, + "no block after catch", + <<'EOC'); + use TryCatch; +@@ -33,10 +45,18 @@ catch + my $foo = 2; + EOC + +-is($line, 5, "Error from line 5"); ++is($line, $expected_line, "Error from line $expected_line"); + ++if ($hooks_post_011) { ++ $regexp = qr/Parameter expected near '\^' in '\^Err \$e'.+\nsyntax error at \(eval \d+\) line (\d+)\b/ms; ++ $expected_line = 5; ++} ++else { ++ $regexp = qr/^Parameter expected near '\^' in '\^Err \$e' at \(eval \d+\) line (\d+)\b/; ++ $expected_line = 4; ++} + test_for_error( +- qr/^Parameter expected near '\^' in '\^Err \$e' at \(eval \d+\) line (\d+)\b/, ++ $regexp, + "invalid catch signature", + <<'EOC'); + # line 1 +@@ -47,10 +67,18 @@ catch (^Err $e) {} + next; + EOC + +-is($line, 4, "Error from line 4"); ++is($line, $expected_line, "Error from line $expected_line"); + ++if ($hooks_post_011) { ++ $regexp = qr/Run-away catch signature at.+\nMissing right curly or square bracket at \(eval \d+\) line (\d+)/; ++ $expected_line = 5; ++} ++else { ++ $regexp = qr/^Run-away catch signature at \(eval \d+\) line (\d+)/; ++ $expected_line = 4; ++} + test_for_error( +- qr/^Run-away catch signature at \(eval \d+\) line (\d+)/, ++ $regexp, + "invalid catch signature (missing parenthesis)", + <<'EOC'); + use TryCatch; +@@ -65,7 +93,7 @@ catch ( + 1; + EOC + +-is($line, 4, "Error from line 4"); ++is($line, $expected_line, "Error from line $expected_line"); + + + test_for_error( diff --git a/perl-TryCatch.spec b/perl-TryCatch.spec index e2e2324..e16bcf9 100644 --- a/perl-TryCatch.spec +++ b/perl-TryCatch.spec @@ -1,21 +1,36 @@ Name: perl-TryCatch Version: 1.003000 -Release: 6%{?dist} +Release: 7%{?dist} Summary: First class try catch semantics for Perl, without source filters License: GPL+ or Artistic Group: Development/Libraries URL: http://search.cpan.org/dist/TryCatch/ Source0: http://www.cpan.org/authors/id/A/AS/ASH/TryCatch-%{version}.tar.gz +# rt#81978 +Patch0: TryCatch-1.003000-invalid.patch BuildRequires: perl(B::Hooks::EndOfScope) >= 0.08 BuildRequires: perl(B::Hooks::OP::Check) >= 0.18 BuildRequires: perl(B::Hooks::OP::PPAddr) >= 0.03 +BuildRequires: perl(Carp) +BuildRequires: perl(Config) +BuildRequires: perl(CPAN) +BuildRequires: perl(Cwd) BuildRequires: perl(Devel::Declare) >= 0.005007 +BuildRequires: perl(Devel::Declare::Context::Simple) BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: perl(ExtUtils::Manifest) +BuildRequires: perl(ExtUtils::MM_Unix) +BuildRequires: perl(File::Find) +BuildRequires: perl(File::Path) +BuildRequires: perl(File::Spec) BuildRequires: perl(FindBin) BuildRequires: perl(lib) +BuildRequires: perl(Module::Build) BuildRequires: perl(Moose) +BuildRequires: perl(Moose::Util::TypeConstraints) BuildRequires: perl(MooseX::Types) BuildRequires: perl(MooseX::Types::Structured) +BuildRequires: perl(namespace::clean) BuildRequires: perl(Parse::Method::Signatures) >= 1.003012 BuildRequires: perl(Scalar::Util) BuildRequires: perl(Scope::Upper) >= 0.06 @@ -24,6 +39,7 @@ BuildRequires: perl(Sub::Exporter) >= 0.979 BuildRequires: perl(Test::Exception) BuildRequires: perl(Test::More) >= 0.88 BuildRequires: perl(Variable::Magic) >= 0.28 +BuildRequires: perl(vars) BuildRequires: perl(warnings) BuildRequires: perl(XSLoader) Requires: perl(B::Hooks::OP::Check) >= 0.18 @@ -32,7 +48,7 @@ Requires: perl(MooseX::Types) Requires: perl(Test::Exception) Requires: perl(Test::More) >= 0.88 Requires: perl(Variable::Magic) >= 0.28 -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) %{?perl_default_filter} @@ -45,20 +61,18 @@ handlers. And also eval/if isn't the nicest idiom. %prep %setup -q -n TryCatch-%{version} +%patch0 -p1 %build -%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS" +perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" make %{?_smp_mflags} %install -make pure_install DESTDIR=$RPM_BUILD_ROOT - -find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \; -find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -exec rm -f {} \; -find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \; - -%{_fixperms} $RPM_BUILD_ROOT/* -chmod +x $RPM_BUILD_ROOT/%{perl_vendorarch}/{bench.pl,bench_ok.pl} +make pure_install DESTDIR=%{buildroot} +find %{buildroot} -type f -name .packlist -exec rm -f {} \; +find %{buildroot} -type f -name '*.bs' -size 0 -exec rm -f {} \; +%{_fixperms} %{buildroot}/* +chmod +x %{buildroot}/%{perl_vendorarch}/{bench.pl,bench_ok.pl} %check make test @@ -72,6 +86,9 @@ make test %{_mandir}/man3/* %changelog +* Fri Feb 22 2013 Petr Šabata <contyk@xxxxxxxxxx> - 1.003000-7 +- Patch the failing invalid.t (rt#81978) and fix the BRs list + * Thu Feb 14 2013 Fedora Release Engineering <rel-eng@xxxxxxxxxxxxxxxxxxxxxxx> - 1.003000-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild -- Fedora Extras Perl SIG http://www.fedoraproject.org/wiki/Extras/SIGs/Perl perl-devel mailing list perl-devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/perl-devel