From cdc9c8711c948e32ac51e6d9e819d0f749e2b11d Mon Sep 17 00:00:00 2001 From: Sunpoet Po-Chuan Hsieh Date: Sun, 1 Mar 2020 06:27:37 +0000 Subject: Add p5-Long-Jump 0.000001 Long::Jump essentially provides a multi-level return. You can mark a spot with setjump() and then unwind the stack back to that point from any nested stack frame by name using longjump(). You can also provide a list of return values. This is not quite a match for C's long jump, but it is "close enough". It is safer than C's jump in that it only lets you escape frames by going up the stack, you cannot jump in other ways. WWW: https://metacpan.org/release/Long-Jump --- devel/Makefile | 1 + devel/p5-Long-Jump/Makefile | 25 +++++++++++++++++++++++++ devel/p5-Long-Jump/distinfo | 3 +++ devel/p5-Long-Jump/pkg-descr | 9 +++++++++ devel/p5-Long-Jump/pkg-plist | 2 ++ 5 files changed, 40 insertions(+) create mode 100644 devel/p5-Long-Jump/Makefile create mode 100644 devel/p5-Long-Jump/distinfo create mode 100644 devel/p5-Long-Jump/pkg-descr create mode 100644 devel/p5-Long-Jump/pkg-plist diff --git a/devel/Makefile b/devel/Makefile index d3cd7261180c..d44bac7488b0 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -2658,6 +2658,7 @@ SUBDIR += p5-Log-TraceMessages SUBDIR += p5-Log-ger SUBDIR += p5-Logfile-Rotate + SUBDIR += p5-Long-Jump SUBDIR += p5-Luka SUBDIR += p5-Lvalue SUBDIR += p5-MCE diff --git a/devel/p5-Long-Jump/Makefile b/devel/p5-Long-Jump/Makefile new file mode 100644 index 000000000000..37c6e61610d6 --- /dev/null +++ b/devel/p5-Long-Jump/Makefile @@ -0,0 +1,25 @@ +# Created by: Po-Chuan Hsieh +# $FreeBSD$ + +PORTNAME= Long-Jump +PORTVERSION= 0.000001 +CATEGORIES= devel perl5 +MASTER_SITES= CPAN +MASTER_SITE_SUBDIR= CPAN:EXODIST +PKGNAMEPREFIX= p5- + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Mechanism for returning to a specific point from a deeply nested stack + +LICENSE= ART10 GPLv1+ +LICENSE_COMB= dual +LICENSE_FILE= ${WRKSRC}/LICENSE + +TEST_DEPENDS= p5-Test2-Suite>=0.000126:devel/p5-Test2-Suite + +USES= perl5 +USE_PERL5= configure + +NO_ARCH= yes + +.include diff --git a/devel/p5-Long-Jump/distinfo b/devel/p5-Long-Jump/distinfo new file mode 100644 index 000000000000..4f539924ff92 --- /dev/null +++ b/devel/p5-Long-Jump/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1582975657 +SHA256 (Long-Jump-0.000001.tar.gz) = d5d6456d86992b559d8f66fc90960f919292cd3803c13403faac575762c77af4 +SIZE (Long-Jump-0.000001.tar.gz) = 12123 diff --git a/devel/p5-Long-Jump/pkg-descr b/devel/p5-Long-Jump/pkg-descr new file mode 100644 index 000000000000..1da638abfa9f --- /dev/null +++ b/devel/p5-Long-Jump/pkg-descr @@ -0,0 +1,9 @@ +Long::Jump essentially provides a multi-level return. You can mark a spot with +setjump() and then unwind the stack back to that point from any nested stack +frame by name using longjump(). You can also provide a list of return values. + +This is not quite a match for C's long jump, but it is "close enough". It is +safer than C's jump in that it only lets you escape frames by going up the +stack, you cannot jump in other ways. + +WWW: https://metacpan.org/release/Long-Jump diff --git a/devel/p5-Long-Jump/pkg-plist b/devel/p5-Long-Jump/pkg-plist new file mode 100644 index 000000000000..d379e11c10b0 --- /dev/null +++ b/devel/p5-Long-Jump/pkg-plist @@ -0,0 +1,2 @@ +%%SITE_PERL%%/Long/Jump.pm +%%PERL5_MAN3%%/Long::Jump.3.gz -- cgit v1.2.3