summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAdam J. Stewart <ajstewart426@gmail.com>2018-12-19 11:37:35 -0600
committerGitHub <noreply@github.com>2018-12-19 11:37:35 -0600
commite19e176e673e9b1129c640e12a85f1338130f29e (patch)
tree7d0d518e4b9f827dadf3eb577e0f705c07fd1a03 /var
parented0ca18c3c5eb05a4d82cbe10b8d94ebf251dca6 (diff)
downloadspack-e19e176e673e9b1129c640e12a85f1338130f29e.tar.gz
spack-e19e176e673e9b1129c640e12a85f1338130f29e.tar.bz2
spack-e19e176e673e9b1129c640e12a85f1338130f29e.tar.xz
spack-e19e176e673e9b1129c640e12a85f1338130f29e.zip
Add latest version of docbook-xsl (#10147)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/docbook-xsl/docbook-xsl-1.79.2-stack_fix-1.patch39
-rw-r--r--var/spack/repos/builtin/packages/docbook-xsl/package.py21
2 files changed, 48 insertions, 12 deletions
diff --git a/var/spack/repos/builtin/packages/docbook-xsl/docbook-xsl-1.79.2-stack_fix-1.patch b/var/spack/repos/builtin/packages/docbook-xsl/docbook-xsl-1.79.2-stack_fix-1.patch
new file mode 100644
index 0000000000..eaba57963f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/docbook-xsl/docbook-xsl-1.79.2-stack_fix-1.patch
@@ -0,0 +1,39 @@
+Submitted By: Bruce Dubbs <bdubbs at linuxfromscratch dot org>
+Date: 2018-01-01
+Initial Package Version: 1.78.1
+Upstream Status: Unsure
+Origin: Peter De Wachter <pdewacht@gmail.com>
+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
+
+Rediffed for 1.79.2 by Bruce Dubbs
+
+diff -Naur docbook-xsl-1.79.2.orig/lib/lib.xsl docbook-xsl-1.79.2/lib/lib.xsl
+--- docbook-xsl-1.79.2.orig/lib/lib.xsl 2016-12-09 16:41:39.000000000 -0600
++++ docbook-xsl-1.79.2/lib/lib.xsl 2018-01-01 12:54:52.507332514 -0600
+@@ -6,7 +6,11 @@
+
+ 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 -->
+@@ -52,6 +56,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">
diff --git a/var/spack/repos/builtin/packages/docbook-xsl/package.py b/var/spack/repos/builtin/packages/docbook-xsl/package.py
index 1cd1c3ae3d..f4676ba4d9 100644
--- a/var/spack/repos/builtin/packages/docbook-xsl/package.py
+++ b/var/spack/repos/builtin/packages/docbook-xsl/package.py
@@ -8,23 +8,20 @@ from spack import *
class DocbookXsl(Package):
- """Docbook XSL vocabulary."""
- homepage = "http://docbook.sourceforge.net/"
- url = "https://downloads.sourceforge.net/project/docbook/docbook-xsl/1.79.1/docbook-xsl-1.79.1.tar.bz2"
+ """DocBook XSLT 1.0 Stylesheets."""
- version('1.79.1', 'b48cbf929a2ad85e6672f710777ca7bc')
+ homepage = "https://github.com/docbook/xslt10-stylesheets"
+ url = "https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F1.79.2/docbook-xsl-1.79.2.tar.bz2"
+
+ version('1.79.2', sha256='316524ea444e53208a2fb90eeb676af755da96e1417835ba5f5eb719c81fa371')
depends_on('docbook-xml')
+ patch('docbook-xsl-1.79.2-stack_fix-1.patch', when='@1.79.2')
+
def install(self, spec, prefix):
- for item in os.listdir('.'):
- src = os.path.abspath(item)
- dst = os.path.join(prefix, item)
- if os.path.isdir(item):
- install_tree(src, dst, symlinks=True)
- else:
- install(src, dst)
+ install_tree('.', prefix)
def setup_environment(self, spack_env, run_env):
- catalog = os.path.join(self.spec.prefix, 'catalog.xml')
+ catalog = os.path.join(self.prefix, 'catalog.xml')
run_env.set('XML_CATALOG_FILES', catalog, separator=' ')