svn commit: r485287 - in head/textproc/docbook-xsl: . files
Timur I. Bakeyev
timur at FreeBSD.org
Sun Nov 18 22:49:46 UTC 2018
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 at 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">
More information about the svn-ports-all
mailing list