[libdata-util-perl] 03/06: Add patch from CPAN RT for compatibility with perl >= 5.21.4.

gregor herrmann gregoa at debian.org
Tue Jun 2 19:39:37 UTC 2015


This is an automated email from the git hooks/post-receive script.

gregoa pushed a commit to branch master
in repository libdata-util-perl.

commit 657184f58ec2a539139e2dfa9a5e2e28bdea71e3
Author: gregor herrmann <gregoa at debian.org>
Date:   Tue Jun 2 21:29:38 2015 +0200

    Add patch from CPAN RT for compatibility with perl >= 5.21.4.
    
    Closes: #787454
---
 debian/patches/perl-5.21.patch | 47 ++++++++++++++++++++++++++++++++++++++++++
 debian/patches/series          |  1 +
 2 files changed, 48 insertions(+)

diff --git a/debian/patches/perl-5.21.patch b/debian/patches/perl-5.21.patch
new file mode 100644
index 0000000..1e21e3f
--- /dev/null
+++ b/debian/patches/perl-5.21.patch
@@ -0,0 +1,47 @@
+Description: fix errors with perl >= 5.12.4
+ "Stashes can now have sub refs in them."
+Origin: CPAN RT
+Bug: https://rt.cpan.org/Public/Bug/Display.html?id=99097
+Bug-Debian: https://bugs.debian.org/787454
+Author: SPROUT at cpan.org
+Reviewed-by: gregor herrmann <gregoa at debian.org>
+Last-Update: 2015-06-02
+
+--- a/DataUtil.xs
++++ b/DataUtil.xs
+@@ -674,7 +674,14 @@
+ 		CV* code;
+ 
+ 		if(!isGV(gv)){ /* a subroutine stub or special constant*/
+-			if(SvROK((SV*)gv) && ckWARN(WARN_MISC)){
++			       /* or perhaps a sub ref */
++			if(SvROK((SV*)gv)) {
++			    if(SvTYPE(SvRV(gv)) == SVt_PVCV) {
++				if( specified_code &&
++				    specified_code != (CV*)SvRV(gv) )
++					return;
++			    }
++			    else if(ckWARN(WARN_MISC))
+ 				Perl_warner(aTHX_ packWARN(WARN_MISC), "Constant subroutine %s uninstalled", name);
+ 			}
+ 			(void)hv_delete(stash, name, namelen, G_DISCARD);
+--- a/lib/Data/Util/PurePerl.pm
++++ b/lib/Data/Util/PurePerl.pm
+@@ -246,8 +246,16 @@
+ 		my $glob = $stash->{$name};
+ 
+ 		if(ref(\$glob) ne 'GLOB'){
+-			if(ref $glob){
++			if(ref $glob) {
++			    if(Scalar::Util::reftype $glob eq 'CODE'){
++				if(defined $specified_code &&
++				   $specified_code != $glob) {
++					next;
++				}
++			    }
++			    else {
+ 				warnings::warnif(misc => "Constant subroutine $name uninstalled");
++			    }
+ 			}
+ 			delete $stash->{$name};
+ 			next;
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..d59414d
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+perl-5.21.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libdata-util-perl.git



More information about the Pkg-perl-cvs-commits mailing list