76 lines
2.8 KiB
Python
76 lines
2.8 KiB
Python
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
|
|
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
|
#
|
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
|
|
|
from spack.package import *
|
|
|
|
|
|
class DocbookXsl(Package):
|
|
"""DocBook XSLT 1.0 Stylesheets."""
|
|
|
|
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")
|
|
version(
|
|
"1.78.1",
|
|
sha256="c98f7296ab5c8ccd2e0bc07634976a37f50847df2d8a59bdb1e157664700b467",
|
|
url="https://sourceforge.net/projects/docbook/files/docbook-xsl/1.78.1/docbook-xsl-1.78.1.tar.bz2",
|
|
)
|
|
|
|
depends_on("docbook-xml")
|
|
depends_on("libxml2", type="build")
|
|
|
|
patch("docbook-xsl-1.79.2-stack_fix-1.patch", when="@1.79.2")
|
|
|
|
def install(self, spec, prefix):
|
|
install_tree(".", prefix)
|
|
|
|
@property
|
|
def catalog(self):
|
|
return join_path(self.prefix, "catalog")
|
|
|
|
@run_after("install")
|
|
def config_docbook(self):
|
|
catalog = self.catalog
|
|
version = self.version
|
|
xml_xsd = join_path(prefix, "slides", "schema", "xsd", "xml.xsd")
|
|
xmlcatalog = which("xmlcatalog")
|
|
|
|
# create catalog
|
|
xmlcatalog("--noout", "--create", catalog)
|
|
xmlcatalog(
|
|
"--noout", "--add", "system", "https://www.w3.org/2001/xml.xsd", xml_xsd, catalog
|
|
)
|
|
xmlcatalog(
|
|
"--noout", "--add", "system", "https://www.w3.org/2009/01/xml.xsd", xml_xsd, catalog
|
|
)
|
|
xmlcatalog("--noout", "--add", "uri", "https://www.w3.org/2001/xml.xsd", xml_xsd, catalog)
|
|
xmlcatalog(
|
|
"--noout", "--add", "uri", "https://www.w3.org/2009/01/xml.xsd", xml_xsd, catalog
|
|
)
|
|
|
|
docbook_urls = ["docbook.sourceforge.net", "cdn.docbook.org"]
|
|
docbook_rewrites = ["rewriteSystem", "rewriteURI"]
|
|
docbook_versions = ["current", version]
|
|
for docbook_url in docbook_urls:
|
|
for docbook_rewrite in docbook_rewrites:
|
|
for docbook_version in docbook_versions:
|
|
xmlcatalog(
|
|
"--noout",
|
|
"--add",
|
|
docbook_rewrite,
|
|
"http://{0}/release/xsl/{1}".format(docbook_url, docbook_version),
|
|
prefix,
|
|
catalog,
|
|
)
|
|
|
|
def setup_run_environment(self, env):
|
|
catalog = self.catalog
|
|
env.prepend_path("XML_CATALOG_FILES", catalog, separator=" ")
|
|
|
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
|
catalog = self.catalog
|
|
env.prepend_path("XML_CATALOG_FILES", catalog, separator=" ")
|