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