jplesnik pushed to perl-Lexical-Var (master). "Fix CPAN RT#101058"

notifications at fedoraproject.org notifications at fedoraproject.org
Mon May 11 12:43:10 UTC 2015


From f265ae93c1e42fa4f91f089d83e0b562f24a42e6 Mon Sep 17 00:00:00 2001
From: Jitka Plesnikova <jplesnik at redhat.com>
Date: Mon, 11 May 2015 14:42:56 +0200
Subject: Fix CPAN RT#101058


diff --git a/Lexical-Var-0.009-Fix-RT-101058.patch b/Lexical-Var-0.009-Fix-RT-101058.patch
new file mode 100644
index 0000000..5df9972
--- /dev/null
+++ b/Lexical-Var-0.009-Fix-RT-101058.patch
@@ -0,0 +1,59 @@
+diff -rup Lexical-Var-0.009-ubeeQC-orig/lib/Lexical/Var.xs Lexical-Var-0.009-ubeeQC/lib/Lexical/Var.xs
+--- Lexical-Var-0.009-ubeeQC-orig/lib/Lexical/Var.xs	2013-08-25 11:51:34.000000000 -0700
++++ Lexical-Var-0.009-ubeeQC/lib/Lexical/Var.xs	2014-12-21 10:58:32.000000000 -0800
+@@ -62,7 +62,12 @@ typedef AV PAD;
+ #endif /* !COP_SEQ_RANGE_LOW */
+ 
+ #ifndef COP_SEQ_RANGE_LOW_set
+-# if PERL_VERSION_GE(5,9,5)
++# ifdef newPADNAMEpvn
++#  define COP_SEQ_RANGE_LOW_set(sv,val) \
++	do { (sv)->xpadn_low = (val); } while(0)
++#  define COP_SEQ_RANGE_HIGH_set(sv,val) \
++	do { (sv)->xpadn_high = (val); } while(0)
++# elif PERL_VERSION_GE(5,9,5)
+ #  define COP_SEQ_RANGE_LOW_set(sv,val) \
+ 	do { ((XPVNV*)SvANY(sv))->xnv_u.xpad_cop_seq.xlow = val; } while(0)
+ #  define COP_SEQ_RANGE_HIGH_set(sv,val) \
+@@ -95,6 +100,12 @@ static SV *THX_newSV_type(pTHX_ svtype t
+ # define GV_NOTQUAL 0
+ #endif /* !GV_NOTQUAL */
+ 
++#ifndef padnamelist_store
++ /* Note that the return values are different.  If we ever call it in non-
++    void context, we would have to change it to *av_store.  */
++# define padnamelist_store av_store
++#endif
++
+ /*
+  * scalar classification
+  *
+@@ -460,13 +471,18 @@ static void THX_setup_pad(pTHX_ CV *comp
+ 	PADNAMELIST *padname = PadlistNAMES(padlist);
+ 	PAD *padvar = PadlistARRAY(padlist)[1];
+ 	PADOFFSET ouroffset;
+-	SV *ourname, *ourvar;
++	PADNAME *ourname;
++	SV *ourvar;
+ 	HV *stash;
+ 	ourvar = *av_fetch(padvar, PadMAX(padvar) + 1, 1);
+ 	SvPADMY_on(ourvar);
+ 	ouroffset = PadMAX(padvar);
++#ifdef newPADNAMEpvn
++	ourname = newPADNAMEpvn(name, strlen(name));
++#else
+ 	ourname = newSV_type(SVt_PADNAME);
+ 	sv_setpv(ourname, name);
++#endif
+ 	SvPAD_OUR_on(ourname);
+ 	stash = name[0] == '$' ? stash_lex_sv :
+ 		name[0] == '@' ? stash_lex_av : stash_lex_hv;
+@@ -474,7 +490,7 @@ static void THX_setup_pad(pTHX_ CV *comp
+ 	COP_SEQ_RANGE_LOW_set(ourname, PL_cop_seqmax);
+ 	COP_SEQ_RANGE_HIGH_set(ourname, pad_max());
+ 	PL_cop_seqmax++;
+-	av_store(padname, ouroffset, ourname);
++	padnamelist_store(padname, ouroffset, ourname);
+ #ifdef PadnamelistMAXNAMED
+ 	PadnamelistMAXNAMED(padname) = ouroffset;
+ #endif /* PadnamelistMAXNAMED */
diff --git a/perl-Lexical-Var.spec b/perl-Lexical-Var.spec
index 92cb55b..c8129c1 100644
--- a/perl-Lexical-Var.spec
+++ b/perl-Lexical-Var.spec
@@ -1,11 +1,13 @@
 Name:           perl-Lexical-Var
 Version:        0.009
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        Static variables without name space pollution
 License:        GPL+ or Artistic
 Group:          Development/Libraries
 URL:            http://search.cpan.org/dist/Lexical-Var/
 Source0:        http://www.cpan.org/authors/id/Z/ZE/ZEFRAM/Lexical-Var-%{version}.tar.gz
+# Update code to work with Perl 5.21.x (CPAN RT#101058)
+Patch0:         Lexical-Var-0.009-Fix-RT-101058.patch
 BuildRequires:  perl >= 0:5.006
 BuildRequires:  perl(Module::Build)
 BuildRequires:  perl(strict)
@@ -30,6 +32,7 @@ infrastructure for modules that manage name spaces.
 
 %prep
 %setup -q -n Lexical-Var-%{version}
+%patch0 -p1
 
 %build
 perl Build.PL installdirs=vendor optimize="$RPM_OPT_FLAGS"
@@ -50,6 +53,9 @@ find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -exec rm -f {} \;
 %{_mandir}/man3/*
 
 %changelog
+* Mon May 11 2015 Jitka Plesnikova <jplesnik at redhat.com> - 0.009-5
+- Fix CPAN RT#101058
+
 * Thu Aug 28 2014 Jitka Plesnikova <jplesnik at redhat.com> - 0.009-4
 - Perl 5.20 rebuild
 
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/perl-Lexical-Var.git/commit/?h=master&id=f265ae93c1e42fa4f91f089d83e0b562f24a42e6


More information about the perl-devel mailing list