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 <gre...@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: spr...@cpan.org
+Reviewed-by: gregor herrmann <gre...@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

_______________________________________________
Pkg-perl-cvs-commits mailing list
Pkg-perl-cvs-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits

Reply via email to