[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