Hi ports!  

While working on an update for devel/p5-Getargs-Long, i've found out
that Carp::Datum is broken at runtime: 'defined %hash' is a fatal error
since Perl 5.22 [1].

The following diff, coming from Debian [2], fixes that. 'make test'
passes. I've also removed a spacing inconsistency while here. 

Any comment? 

Charlène. 


[1]
https://perldoc.perl.org/5.22.0/perldelta.html#defined(%40array)-and-defined(%25hash)-are-now-fatal-errors
[2] https://rt.cpan.org/Public/Bug/Display.html?id=105296


Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/p5-Carp-Datum/Makefile,v
retrieving revision 1.15
diff -u -p -u -p -r1.15 Makefile
--- Makefile    5 Dec 2017 16:25:45 -0000       1.15
+++ Makefile    10 Feb 2019 10:18:37 -0000
@@ -5,9 +5,9 @@ COMMENT=        debugging and tracing ultimate 
 MODULES=       cpan
 PKG_ARCH=      *
 DISTNAME=      Carp-Datum-0.1.3
-REVISION=      3
+REVISION=      4
 CATEGORIES=    devel perl5
-FIX_EXTRACT_PERMISSIONS=Yes
+FIX_EXTRACT_PERMISSIONS=       Yes
 
 # Artistic License
 PERMIT_PACKAGE_CDROM=  Yes
Index: patches/patch-Datum_Parser_pm
===================================================================
RCS file: patches/patch-Datum_Parser_pm
diff -N patches/patch-Datum_Parser_pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-Datum_Parser_pm       10 Feb 2019 10:18:37 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+"defined %hash" is an error in perl 5.22+
+Index: Datum/Parser.pm
+--- Datum/Parser.pm.orig
++++ Datum/Parser.pm
+@@ -1102,7 +1102,7 @@ sub yy_keyword {
+                 'usr2'         => $USR2,
+                 'warning'      => $WARNING,
+                 'yes'          => $YES
+-               ) unless defined %Keyword;
++               ) unless %Keyword;
+     return undef unless /^(\w+)/ && exists $Keyword{$1};
+     my $word = $1;
+     s/^\w+//;
Index: patches/patch-Datum_Parser_y
===================================================================
RCS file: patches/patch-Datum_Parser_y
diff -N patches/patch-Datum_Parser_y
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-Datum_Parser_y        10 Feb 2019 10:18:37 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+"defined %hash" is an error in perl 5.22+
+Index: Datum/Parser.y
+--- Datum/Parser.y.orig
++++ Datum/Parser.y
+@@ -581,7 +581,7 @@ sub yy_keyword {
+                 'usr2'         => $USR2,
+                 'warning'      => $WARNING,
+                 'yes'          => $YES
+-               ) unless defined %Keyword;
++               ) unless %Keyword;
+     return undef unless /^(\w+)/ && exists $Keyword{$1};
+     my $word = $1;
+     s/^\w+//;
Index: patches/patch-Datum_pm
===================================================================
RCS file: patches/patch-Datum_pm
diff -N patches/patch-Datum_pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-Datum_pm      10 Feb 2019 10:18:37 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+"defined %hash" is an error in perl 5.22+
+Index: Datum.pm
+--- Datum.pm.orig
++++ Datum.pm
+@@ -315,7 +315,7 @@ sub DTRACE {
+               TRC_NOTICE()    => [\&logsay, undef],
+               TRC_INFO()              => [\&logtrc, 'info'],
+               TRC_DEBUG()             => [\&logtrc, 'debug'],
+-      ) unless defined %Carp::Datum::logmap;
++      ) unless %Carp::Datum::logmap;
+ 
+       my $entry = $Carp::Datum::logmap{$level};
+ 

Reply via email to