Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Nov 2018 22:49:45 +0000 (UTC)
From:      "Timur I. Bakeyev" <timur@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r485287 - in head/textproc/docbook-xsl: . files
Message-ID:  <201811182249.wAIMnjxk083452@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: timur
Date: Sun Nov 18 22:49:45 2018
New Revision: 485287
URL: https://svnweb.freebsd.org/changeset/ports/485287

Log:
  Incorporate fix from Debian/Fedora for the deep recursion while expanding.
  
  PR:		231864
  Approved by:	maintainer timeout

Added:
  head/textproc/docbook-xsl/files/
  head/textproc/docbook-xsl/files/docbook-style-xsl-non-recursive-string-subst.patch   (contents, props changed)
Modified:
  head/textproc/docbook-xsl/Makefile

Modified: head/textproc/docbook-xsl/Makefile
==============================================================================
--- head/textproc/docbook-xsl/Makefile	Sun Nov 18 22:31:48 2018	(r485286)
+++ head/textproc/docbook-xsl/Makefile	Sun Nov 18 22:49:45 2018	(r485287)
@@ -2,6 +2,7 @@
 
 PORTNAME=	docbook-xsl
 PORTVERSION=	1.79.1
+PORTREVISION=	1
 PORTEPOCH=	1
 CATEGORIES=	textproc
 MASTER_SITES=	SF/docbook/${PORTNAME}/${PORTVERSION}:src \
@@ -17,6 +18,8 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 BUILD_DEPENDS=	xmlcatmgr:textproc/xmlcatmgr
 RUN_DEPENDS=	docbook>=0:textproc/docbook \
 		xmlcatmgr:textproc/xmlcatmgr
+
+EXTRA_PATCHES=	${PATCHDIR}/docbook-style-xsl-non-recursive-string-subst.patch:-p2
 
 USES=		tar:bzip2
 

Added: head/textproc/docbook-xsl/files/docbook-style-xsl-non-recursive-string-subst.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/textproc/docbook-xsl/files/docbook-style-xsl-non-recursive-string-subst.patch	Sun Nov 18 22:49:45 2018	(r485287)
@@ -0,0 +1,30 @@
+Description: use EXSLT "replace" function when available
+ A recursive implementation  of string.subst is problematic,
+ long strings with many matches will cause stack overflows.
+Author: Peter De Wachter <pdewacht@gmail.com>
+Bug-Debian: https://bugs.debian.org/750593
+
+--- docbook-xsl-1.78.1+dfsg.orig/docbook-xsl/lib/lib.xsl
++++ docbook-xsl-1.78.1+dfsg/docbook-xsl/lib/lib.xsl
+@@ -10,7 +10,10 @@
+      This module implements DTD-independent functions
+ 
+      ******************************************************************** -->
+-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
++<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
++                xmlns:str="http://exslt.org/strings"
++                exclude-result-prefixes="str"
++                version="1.0">
+ 
+ <xsl:template name="dot.count">
+   <!-- Returns the number of "." characters in a string -->
+@@ -56,6 +59,9 @@
+   <xsl:param name="replacement"/>
+ 
+   <xsl:choose>
++    <xsl:when test="function-available('str:replace')">
++      <xsl:value-of select="str:replace($string, string($target), string($replacement))"/>
++    </xsl:when>
+     <xsl:when test="contains($string, $target)">
+       <xsl:variable name="rest">
+         <xsl:call-template name="string.subst">



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