aboutsummaryrefslogtreecommitdiffstats
path: root/main/perl-params-classify
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2017-06-15 13:37:09 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2017-06-15 20:07:15 +0000
commit1b729f79f34685fdfb8b78defd04d4a0a4505205 (patch)
treed13c3b594dac09097b9b06462b4d33b38a8cd9f4 /main/perl-params-classify
parent4d07ee468a9207b9633e6ab55f41dd22abc1ca41 (diff)
downloadaports-1b729f79f34685fdfb8b78defd04d4a0a4505205.tar.bz2
aports-1b729f79f34685fdfb8b78defd04d4a0a4505205.tar.xz
main/perl-params-classify: rebuild against perl 5.26
Diffstat (limited to 'main/perl-params-classify')
-rw-r--r--main/perl-params-classify/APKBUILD27
-rw-r--r--main/perl-params-classify/Params-Classify-0.013-Fix-5.25-or-5.22-24-with-PERL_OP_PARENT.patch95
2 files changed, 109 insertions, 13 deletions
diff --git a/main/perl-params-classify/APKBUILD b/main/perl-params-classify/APKBUILD
index bcf20f54e6..0c5481c500 100644
--- a/main/perl-params-classify/APKBUILD
+++ b/main/perl-params-classify/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-params-classify
_pkgreal=Params-Classify
pkgver=0.013
-pkgrel=5
+pkgrel=6
pkgdesc="argument type classification"
url="http://search.cpan.org/dist/Params-Classify/"
arch="all"
@@ -12,30 +12,31 @@ license="GPL PerlArtistic"
cpandepends=""
cpanmakedepends=""
depends="$cpandepends"
-makedepends="perl-dev $cpanmakedepends perl-module-build
+makedepends="perl-dev $cpanmakedepends perl-module-build
perl-test-pod-coverage perl-test-pod"
subpackages="$pkgname-doc"
-source="http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/$_pkgreal-$pkgver.tar.gz"
+source="http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/$_pkgreal-$pkgver.tar.gz
+ Params-Classify-0.013-Fix-5.25-or-5.22-24-with-PERL_OP_PARENT.patch
+ "
-_builddir="$srcdir/$_pkgreal-$pkgver"
+builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- cd "$_builddir"
+build() {
+ cd "$builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
perl Build.PL installdirs=vendor || return 1
}
-build() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+check() {
+ cd "$builddir"
./Build && ./Build test
}
package() {
- cd "$_builddir"
+ cd "$builddir"
./Build install destdir="$pkgdir" || return 1
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-md5sums="63d24fbec775472ada49d16bce4a9b1f Params-Classify-0.013.tar.gz"
-sha256sums="4101af81c0a44728a220308db4b47c6a4a80d6d1c63f6973cf5f535752d39eb4 Params-Classify-0.013.tar.gz"
-sha512sums="8638d0d952854770049a8cf382ce02f6164025ad7224588d41be02f504947cb9d309d95c33d8fc1c2e3b5de6dfdbeac7fdaf9cd16dd6ba0a3d546c7a002e65e6 Params-Classify-0.013.tar.gz"
+sha512sums="8638d0d952854770049a8cf382ce02f6164025ad7224588d41be02f504947cb9d309d95c33d8fc1c2e3b5de6dfdbeac7fdaf9cd16dd6ba0a3d546c7a002e65e6 Params-Classify-0.013.tar.gz
+ff3030a3aee57944b61871971b3ab5354b83f3328d7ae737eeb4f09164f5ab17769943c72ab2b88495e8e8a3fd8f8ec419124cc3aaa4b9941cffaf9553731391 Params-Classify-0.013-Fix-5.25-or-5.22-24-with-PERL_OP_PARENT.patch"
diff --git a/main/perl-params-classify/Params-Classify-0.013-Fix-5.25-or-5.22-24-with-PERL_OP_PARENT.patch b/main/perl-params-classify/Params-Classify-0.013-Fix-5.25-or-5.22-24-with-PERL_OP_PARENT.patch
new file mode 100644
index 0000000000..a3964c8e2b
--- /dev/null
+++ b/main/perl-params-classify/Params-Classify-0.013-Fix-5.25-or-5.22-24-with-PERL_OP_PARENT.patch
@@ -0,0 +1,95 @@
+From 0d301779bd42da52b4f8e13a667499846fc2cc55 Mon Sep 17 00:00:00 2001
+From: Reini Urban <rurban@cpanel.net>
+Date: Tue, 14 Jun 2016 17:08:24 +0200
+Subject: [PATCH] Fix 5.25 or 5.22/24 with PERL_OP_PARENT
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes RT #114490
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+---
+ lib/Params/Classify.xs | 36 ++++++++++++++++++++++++++----------
+ 1 file changed, 26 insertions(+), 10 deletions(-)
+
+diff --git a/lib/Params/Classify.xs b/lib/Params/Classify.xs
+index 15a5ad5..f4012fd 100644
+--- a/lib/Params/Classify.xs
++++ b/lib/Params/Classify.xs
+@@ -123,6 +123,22 @@ static void *THX_ptr_table_fetch(pTHX_ PTR_TBL_t *tbl, void *from)
+ # define sv_is_regexp(sv) 0
+ #endif /* <5.11.0 */
+
++
++#ifndef OpSIBLING
++# ifdef PERL_OP_PARENT
++# define OpSIBLING(o) (0 + (o)->op_moresib ? (o)->op_sibparent : NULL)
++# define OpMAYBESIB_set(o, sib, parent) \
++ ((o)->op_sibparent = ((o)->op_moresib = cBOOL(sib)) ? (sib) : (parent))
++# else
++# define OpSIBLING(o) (0 + (o)->op_sibling)
++# if PERL_VERSION_GE(5,11,0)
++# define OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib))
++# else
++# define OpMAYBESIB_set(o, sib, parent) ((o)->op_moresib = cBOOL(sib), (o)->op_sibling = (sib))
++# endif
++# endif
++#endif
++
+ #define sv_is_undef(sv) (!sv_is_glob(sv) && !sv_is_regexp(sv) && !SvOK(sv))
+
+ #define sv_is_string(sv) \
+@@ -631,8 +647,8 @@ static OP *myck_entersub(pTHX_ OP *op)
+ OP *(*ppfunc)(pTHX);
+ I32 cvflags;
+ pushop = cUNOPx(op)->op_first;
+- if(!pushop->op_sibling) pushop = cUNOPx(pushop)->op_first;
+- for(cvop = pushop; cvop->op_sibling; cvop = cvop->op_sibling) ;
++ if(!OpSIBLING(pushop)) pushop = cUNOPx(pushop)->op_first;
++ for(cvop = pushop; OpSIBLING(cvop); cvop = OpSIBLING(cvop)) ;
+ if(!(cvop->op_type == OP_RV2CV &&
+ !(cvop->op_private & OPpENTERSUB_AMPER) &&
+ (cv = rvop_cv(cUNOPx(cvop)->op_first)) &&
+@@ -641,20 +657,20 @@ static OP *myck_entersub(pTHX_ OP *op)
+ return nxck_entersub(aTHX_ op);
+ cvflags = CvXSUBANY(cv).any_i32;
+ op = nxck_entersub(aTHX_ op); /* for prototype checking */
+- aop = pushop->op_sibling;
+- bop = aop->op_sibling;
++ aop = OpSIBLING(pushop);
++ bop = OpSIBLING(aop);
+ if(bop == cvop) {
+ if(!(cvflags & PC_ALLOW_UNARY)) return op;
+ unary:
+- pushop->op_sibling = bop;
+- aop->op_sibling = NULL;
++ OpMAYBESIB_set(pushop, bop, NULL);
++ OpMAYBESIB_set(aop, NULL, NULL);
+ op_free(op);
+ op = newUNOP(OP_NULL, 0, aop);
+ op->op_type = OP_RAND;
+ op->op_ppaddr = ppfunc;
+ op->op_private = (U8)cvflags;
+ return op;
+- } else if(bop && bop->op_sibling == cvop) {
++ } else if(bop && OpSIBLING(bop) == cvop) {
+ if(!(cvflags & PC_ALLOW_BINARY)) return op;
+ if(ppfunc == THX_pp_check_sclass &&
+ (cvflags & PC_TYPE_MASK) == SCLASS_REF) {
+@@ -673,9 +689,9 @@ static OP *myck_entersub(pTHX_ OP *op)
+ cvflags &= ~PC_TYPE_MASK;
+ ppfunc = THX_pp_check_dyn_battr;
+ }
+- pushop->op_sibling = cvop;
+- aop->op_sibling = NULL;
+- bop->op_sibling = NULL;
++ OpMAYBESIB_set(pushop, cvop, NULL);
++ OpMAYBESIB_set(aop, NULL, NULL);
++ OpMAYBESIB_set(bop, NULL, NULL);
+ op_free(op);
+ op = newBINOP(OP_NULL, 0, aop, bop);
+ op->op_type = OP_RAND;
+--
+2.9.4
+