Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Sep 2018 11:54:21 +0000 (UTC)
From:      =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= <des@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r479393 - in head/devel/p5-UNIVERSAL-ref: . files
Message-ID:  <201809101154.w8ABsLBQ005966@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: des
Date: Mon Sep 10 11:54:21 2018
New Revision: 479393
URL: https://svnweb.freebsd.org/changeset/ports/479393

Log:
  Unbreak on newer Perl.

Added:
  head/devel/p5-UNIVERSAL-ref/files/
  head/devel/p5-UNIVERSAL-ref/files/extra-patch-ref.xs   (contents, props changed)
Modified:
  head/devel/p5-UNIVERSAL-ref/Makefile

Modified: head/devel/p5-UNIVERSAL-ref/Makefile
==============================================================================
--- head/devel/p5-UNIVERSAL-ref/Makefile	Mon Sep 10 11:22:55 2018	(r479392)
+++ head/devel/p5-UNIVERSAL-ref/Makefile	Mon Sep 10 11:54:21 2018	(r479393)
@@ -20,7 +20,7 @@ USE_PERL5=	configure
 .include <bsd.port.pre.mk>
 
 .if ${PERL_LEVEL} >= 502501
-BROKEN=		Does not build, op_sibling usage. https://rt.cpan.org/Public/Bug/Display.html?id=118008
+EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ref.xs
 .endif
 
 .include <bsd.port.post.mk>

Added: head/devel/p5-UNIVERSAL-ref/files/extra-patch-ref.xs
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/p5-UNIVERSAL-ref/files/extra-patch-ref.xs	Mon Sep 10 11:54:21 2018	(r479393)
@@ -0,0 +1,19 @@
+Patch for Perl 0.25 and newer, where op_sibling has been replaced with
+op_sibparent which points to a sibling if the op has one and its parent
+otherwise.  See <https://rt.cpan.org/Public/Bug/Display.html?id=118008>.
+
+--- ref.xs.orig	2011-01-23 19:17:15 UTC
++++ ref.xs
+@@ -89,9 +89,9 @@ void universal_ref_fixupop( OP* o ) {
+     universal_ref_fixupop(cUNOPx(o)->op_first);
+   }
+ 
+-  if ( o->op_sibling ) {
+-    UNIVERSAL_REF_DEBUG(printf("# ->sibling=%x\n",o->op_sibling));
+-    universal_ref_fixupop(o->op_sibling);
++  if ( OpHAS_SIBLING(o) ) {
++    UNIVERSAL_REF_DEBUG(printf("# ->sibling=%x\n",OpSIBLING(o)));
++    universal_ref_fixupop(OpSIBLING(o));
+   }
+ }
+ 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201809101154.w8ABsLBQ005966>