From a7888f954b333870813a87c964586e4528afa30c Mon Sep 17 00:00:00 2001 From: TizenOpenSource Date: Wed, 14 Feb 2024 16:11:30 +0900 Subject: [PATCH] Bump to 0.31 Signed-off-by: TizenOpenSource --- packaging/perl-Try-Tiny.manifest | 5 +++ packaging/perl-Try-Tiny.spec | 74 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 packaging/perl-Try-Tiny.manifest create mode 100644 packaging/perl-Try-Tiny.spec diff --git a/packaging/perl-Try-Tiny.manifest b/packaging/perl-Try-Tiny.manifest new file mode 100644 index 0000000..017d22d --- /dev/null +++ b/packaging/perl-Try-Tiny.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/packaging/perl-Try-Tiny.spec b/packaging/perl-Try-Tiny.spec new file mode 100644 index 0000000..56aa970 --- /dev/null +++ b/packaging/perl-Try-Tiny.spec @@ -0,0 +1,74 @@ +Name: perl-Try-Tiny +Version: 0.31 +Release: 1 +License: MIT +Summary: Minimal try/catch with proper preservation of $@ +Url: https://metacpan.org/pod/Try::Tiny +Group: Development/Libraries +Source0: %{name}-%{version}.tar.gz +Source1001: perl-Try-Tiny.manifest +BuildRequires: perl +BuildRequires: perl(MIME::Base64) +BuildArch: noarch + +%description +This module provides bare bones try/catch/finally statements that are +designed to minimize common mistakes with eval blocks, and NOTHING else. + +This is unlike TryCatch which provides a nice syntax and avoids adding +another call stack layer, and supports calling return from the try block +to return from the parent subroutine. These extra features come +at a cost of a few dependencies, namely Devel::Declare and Scope::Upper +which are occasionally problematic, and the additional catch filtering +uses Moose type constraints which may not be desirable either. + +The main focus of this module is to provide simple and reliable error +handling for those having a hard time installing TryCatch, but who still +want to write correct eval blocks without 5 lines of boilerplate each time. + +It's designed to work as correctly as possible in light of the various +pathological edge cases (see "BACKGROUND") and to be compatible with +any style of error values (simple strings, references, objects, overloaded +objects, etc). + +If the try block dies, it returns the value of the last statement executed +in the catch block, if there is one. Otherwise, it returns undef in scalar +context or the empty list in list context. The following examples +all assign "bar" to $x: + +my $x = try { die "foo" } catch { "bar" }; +my $x = try { die "foo" } || "bar"; +my $x = (try { die "foo" }) // "bar"; + + my $x = eval { die "foo" } || "bar"; + You can add finally blocks, yielding the following: + + my $x; + try { die 'foo' } finally { $x = 'bar' }; + try { die 'foo' } catch { warn "Got a die: $_" } finally { $x = 'bar' }; + + finally blocks are always executed making them suitable for cleanup code + which cannot be handled using local. You can add as many finally blocks + to a given try block as you like. + + Note that adding a finally block without a preceding catch block suppresses + any errors. This behaviour is consistent with using a standalone eval, + but it is not consistent with try/finally patterns found in other programming + languages, such as Java, Python, Javascript or C#. If you learned + the try/finally pattern from one of these languages, watch out for this. + +%prep +%setup -q -n %{name}-%{version} +cp %{SOURCE1001} . + +%build +perl Makefile.PL INSTALLDIRS=vendor +make %{?_smp_mflags} + +%install +%perl_make_install +%perl_process_packlist +%perl_gen_filelist + +%files -f %{name}.files +%license LICENCE -- 2.7.4