diff options
author | Timur I. Bakeyev <timur@FreeBSD.org> | 2018-11-18 22:49:45 +0000 |
---|---|---|
committer | Timur I. Bakeyev <timur@FreeBSD.org> | 2018-11-18 22:49:45 +0000 |
commit | 6c26a7393d1ab43e6262e46078db16e797a7c391 (patch) | |
tree | 58a38619252c1713e10cc97b398c9f3150bdca65 /textproc/docbook-xsl | |
parent | 94112177739df591165d6672e4892fe05c059f9d (diff) | |
download | ports-6c26a7393d1ab43e6262e46078db16e797a7c391.tar.gz ports-6c26a7393d1ab43e6262e46078db16e797a7c391.zip |
Incorporate fix from Debian/Fedora for the deep recursion while expanding.
PR: 231864
Approved by: maintainer timeout
Notes
Notes:
svn path=/head/; revision=485287
Diffstat (limited to 'textproc/docbook-xsl')
-rw-r--r-- | textproc/docbook-xsl/Makefile | 3 | ||||
-rw-r--r-- | textproc/docbook-xsl/files/docbook-style-xsl-non-recursive-string-subst.patch | 30 |
2 files changed, 33 insertions, 0 deletions
diff --git a/textproc/docbook-xsl/Makefile b/textproc/docbook-xsl/Makefile index 6798165bcfd4..e889300ed3c0 100644 --- a/textproc/docbook-xsl/Makefile +++ b/textproc/docbook-xsl/Makefile @@ -2,6 +2,7 @@ PORTNAME= docbook-xsl PORTVERSION= 1.79.1 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= textproc MASTER_SITES= SF/docbook/${PORTNAME}/${PORTVERSION}:src \ @@ -18,6 +19,8 @@ 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 NO_ARCH= yes diff --git a/textproc/docbook-xsl/files/docbook-style-xsl-non-recursive-string-subst.patch b/textproc/docbook-xsl/files/docbook-style-xsl-non-recursive-string-subst.patch new file mode 100644 index 000000000000..d6b5150f1467 --- /dev/null +++ b/textproc/docbook-xsl/files/docbook-style-xsl-non-recursive-string-subst.patch @@ -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"> |