[arch-commits] Commit in perl-params-classify/repos (3 files)
Felix Yan
felixonmars at archlinux.org
Sat May 25 11:42:48 UTC 2019
Date: Saturday, May 25, 2019 @ 11:42:47
Author: felixonmars
Revision: 470442
archrelease: copy trunk to community-staging-x86_64
Added:
perl-params-classify/repos/community-staging-x86_64/
perl-params-classify/repos/community-staging-x86_64/PKGBUILD
(from rev 470440, perl-params-classify/trunk/PKGBUILD)
perl-params-classify/repos/community-staging-x86_64/op-sibling-fixes.patch
(from rev 470441, perl-params-classify/trunk/op-sibling-fixes.patch)
------------------------+
PKGBUILD | 35 ++++++++++++++++++++
op-sibling-fixes.patch | 79 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 114 insertions(+)
Copied: perl-params-classify/repos/community-staging-x86_64/PKGBUILD (from rev 470440, perl-params-classify/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2019-05-25 11:42:47 UTC (rev 470442)
@@ -0,0 +1,35 @@
+# Maintainer: Sergej Pupykin <pupykin.s+arch at gmail.com>
+
+pkgname=perl-params-classify
+pkgver=0.015
+pkgrel=2
+pkgdesc="argument type classification"
+arch=(x86_64)
+license=('PerlArtistic')
+url="https://search.cpan.org/~zefram/Params-Classify"
+options=(!emptydirs)
+depends=('perl')
+makedepends=('perl-module-build')
+source=("https://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Params-Classify-$pkgver.tar.gz"
+ 'op-sibling-fixes.patch')
+sha256sums=('398ec15cd899fcd8bef3db9ea1748bf631f15f6c32be203e475b67df510a5914'
+ 'b9e3ce962ae98fa325e864d72347d2a172a4bcee9da867dafd087f3a9180ea7d')
+
+prepare() {
+ cd "$srcdir"/Params-Classify-$pkgver
+ # https://rt.cpan.org/Public/Bug/Display.html?id=114490
+# patch -Np1 -i ../op-sibling-fixes.patch
+}
+
+build() {
+ cd "$srcdir"/Params-Classify-$pkgver
+ perl Build.PL installdirs=vendor destdir="$pkgdir/"
+ perl Build
+}
+
+package() {
+ cd "$srcdir"/Params-Classify-$pkgver
+ perl Build install
+ find "$pkgdir" -name perllocal.pod -delete
+ find "$pkgdir" -name .packlist -delete
+}
Copied: perl-params-classify/repos/community-staging-x86_64/op-sibling-fixes.patch (from rev 470441, perl-params-classify/trunk/op-sibling-fixes.patch)
===================================================================
--- community-staging-x86_64/op-sibling-fixes.patch (rev 0)
+++ community-staging-x86_64/op-sibling-fixes.patch 2019-05-25 11:42:47 UTC (rev 470442)
@@ -0,0 +1,79 @@
+--- Params-Classify-0.013a/lib/Params/Classify.xs 2010-11-16 15:35:47.000000000 -0500
++++ Params-Classify-0.013b/lib/Params/Classify.xs 2017-03-26 15:38:12.384693301 -0400
+@@ -41,6 +41,26 @@
+ # define FPTR2DPTR(t,x) ((t)(UV)(x))
+ #endif /* !FPTR2DPTR */
+
++#ifndef OpHAS_SIBLING
++# define OpHAS_SIBLING(o) (cBOOL((o)->op_sibling))
++#endif
++
++#ifndef OpSIBLING
++# define OpSIBLING(o) (0 + (o)->op_sibling)
++#endif
++
++#ifndef OpMORESIB_set
++# define OpMORESIB_set(o, sib) ((o)->op_sibling = (sib))
++#endif
++
++#ifndef OpLASTSIB_set
++# define OpLASTSIB_set(o, parent) ((o)->op_sibling = NULL)
++#endif
++
++#ifndef OpMAYBESIB_set
++# define OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib))
++#endif
++
+ #ifndef ptr_table_new
+
+ struct q_ptr_tbl_ent {
+@@ -625,8 +645,8 @@
+ 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(!OpHAS_SIBLING(pushop)) pushop = cUNOPx(pushop)->op_first;
++ for(cvop = pushop; OpHAS_SIBLING(cvop); cvop = OpSIBLING(cvop)) ;
+ if(!(cvop->op_type == OP_RV2CV &&
+ !(cvop->op_private & OPpENTERSUB_AMPER) &&
+ (cv = rvop_cv(cUNOPx(cvop)->op_first)) &&
+@@ -635,20 +655,20 @@
+ 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;
++ OpLASTSIB_set(pushop, bop);
++ OpLASTSIB_set(aop, 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(op) == cvop) {
+ if(!(cvflags & PC_ALLOW_BINARY)) return op;
+ if(ppfunc == THX_pp_check_sclass &&
+ (cvflags & PC_TYPE_MASK) == SCLASS_REF) {
+@@ -667,9 +687,9 @@
+ cvflags &= ~PC_TYPE_MASK;
+ ppfunc = THX_pp_check_dyn_battr;
+ }
+- pushop->op_sibling = cvop;
+- aop->op_sibling = NULL;
+- bop->op_sibling = NULL;
++ OpLASTSIB_set(pushop, cvop);
++ OpLASTSIB_set(aop, NULL);
++ OpLASTSIB_set(bop, NULL);
+ op_free(op);
+ op = newBINOP(OP_NULL, 0, aop, bop);
+ op->op_type = OP_RAND;
More information about the arch-commits
mailing list