diff options
author | Adam J. Stewart <ajstewart426@gmail.com> | 2018-12-19 11:37:35 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-19 11:37:35 -0600 |
commit | e19e176e673e9b1129c640e12a85f1338130f29e (patch) | |
tree | 7d0d518e4b9f827dadf3eb577e0f705c07fd1a03 | |
parent | ed0ca18c3c5eb05a4d82cbe10b8d94ebf251dca6 (diff) | |
download | spack-e19e176e673e9b1129c640e12a85f1338130f29e.tar.gz spack-e19e176e673e9b1129c640e12a85f1338130f29e.tar.bz2 spack-e19e176e673e9b1129c640e12a85f1338130f29e.tar.xz spack-e19e176e673e9b1129c640e12a85f1338130f29e.zip |
Add latest version of docbook-xsl (#10147)
-rw-r--r-- | var/spack/repos/builtin/packages/docbook-xsl/docbook-xsl-1.79.2-stack_fix-1.patch | 39 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/docbook-xsl/package.py | 21 |
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=' ') |