diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2017-06-17 16:34:55 +0200 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2017-06-17 16:34:55 +0200 |
commit | 64144305133b868abbe1bc0638b4320218a6d677 (patch) | |
tree | b18e40ad9ba69a42ca0903ea97df1aab590c32b9 /dev-perl/Params-Classify | |
parent | kde-plasma/plasma-desktop: remove rdep on NTP clients, bug 621754 (diff) | |
download | gentoo-64144305133b868abbe1bc0638b4320218a6d677.tar.gz gentoo-64144305133b868abbe1bc0638b4320218a6d677.tar.bz2 gentoo-64144305133b868abbe1bc0638b4320218a6d677.zip |
dev-perl/Params-Classify: Add patch for Perl 5.26, bug 615090
Package-Manager: Portage-2.3.6, Repoman-2.3.2
Diffstat (limited to 'dev-perl/Params-Classify')
-rw-r--r-- | dev-perl/Params-Classify/Params-Classify-0.13.0-r1.ebuild | 10 | ||||
-rw-r--r-- | dev-perl/Params-Classify/files/Params-Classify-0.13.0-op_sibling.patch | 82 |
2 files changed, 87 insertions, 5 deletions
diff --git a/dev-perl/Params-Classify/Params-Classify-0.13.0-r1.ebuild b/dev-perl/Params-Classify/Params-Classify-0.13.0-r1.ebuild index 95f1b759b523..a4eecbd4280e 100644 --- a/dev-perl/Params-Classify/Params-Classify-0.13.0-r1.ebuild +++ b/dev-perl/Params-Classify/Params-Classify-0.13.0-r1.ebuild @@ -1,10 +1,10 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=6 -MODULE_AUTHOR=ZEFRAM -MODULE_VERSION=0.013 +DIST_AUTHOR=ZEFRAM +DIST_VERSION=0.013 inherit perl-module DESCRIPTION="Argument type classification" @@ -13,6 +13,8 @@ SLOT="0" KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~s390 ~sh ~sparc ~x86 ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris" IUSE="test" +PATCHES=( "${FILESDIR}/${P}-op_sibling.patch" ) + RDEPEND=" >=virtual/perl-Scalar-List-Utils-1.10.0 virtual/perl-XSLoader @@ -26,5 +28,3 @@ DEPEND=" virtual/perl-Test-Simple ) " - -SRC_TEST="do" diff --git a/dev-perl/Params-Classify/files/Params-Classify-0.13.0-op_sibling.patch b/dev-perl/Params-Classify/files/Params-Classify-0.13.0-op_sibling.patch new file mode 100644 index 000000000000..a7c6adac0e9a --- /dev/null +++ b/dev-perl/Params-Classify/files/Params-Classify-0.13.0-op_sibling.patch @@ -0,0 +1,82 @@ +https://rt.cpan.org/Ticket/Display.html?id=114490 + + +--- 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; |