Skip to content
Snippets Groups Projects
Commit 943c007f authored by Tom Scogland's avatar Tom Scogland Committed by Todd Gamblin
Browse files

update flux dependencies and package (#2541)

* update flux dependencies and package

* refinements from @adamjstewart

* fix flux document generation

The docbook-xsl package has been added, and correctly configures catalog
files to generate documentation correctly with asciidoc.
parent d7e9134d
No related branches found
No related tags found
No related merge requests found
...@@ -36,6 +36,8 @@ class Asciidoc(Package): ...@@ -36,6 +36,8 @@ class Asciidoc(Package):
depends_on('libxml2') depends_on('libxml2')
depends_on('libxslt') depends_on('libxslt')
depends_on('docbook-xml')
depends_on('docbook-xsl')
def install(self, spec, prefix): def install(self, spec, prefix):
configure('--prefix=%s' % prefix) configure('--prefix=%s' % prefix)
......
...@@ -41,3 +41,11 @@ def install(self, spec, prefix): ...@@ -41,3 +41,11 @@ def install(self, spec, prefix):
install_tree(src, dst, symlinks=True) install_tree(src, dst, symlinks=True)
else: else:
install(src, dst) install(src, dst)
def setup_dependent_environment(self, spack_env, run_env, extension_spec):
catalog = os.path.join(self.spec.prefix, 'catalog.xml')
spack_env.set('XML_CATALOG_FILES', catalog, separator=' ')
def setup_environment(self, spack_env, run_env):
catalog = os.path.join(self.spec.prefix, 'catalog.xml')
run_env.set('XML_CATALOG_FILES', catalog, separator=' ')
##############################################################################
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
import os
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"
version('1.79.1', 'b48cbf929a2ad85e6672f710777ca7bc')
depends_on('docbook-xml')
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)
def setup_dependent_environment(self, spack_env, run_env, extension_spec):
catalog = os.path.join(self.spec.prefix, 'catalog.xml')
spack_env.set('XML_CATALOG_FILES', catalog, separator=' ')
def setup_environment(self, spack_env, run_env):
catalog = os.path.join(self.spec.prefix, 'catalog.xml')
run_env.set('XML_CATALOG_FILES', catalog, separator=' ')
...@@ -26,15 +26,18 @@ ...@@ -26,15 +26,18 @@
import os import os
class Flux(Package): class Flux(AutotoolsPackage):
""" A next-generation resource manager (pre-alpha) """ """ A next-generation resource manager (pre-alpha) """
homepage = "https://github.com/flux-framework/flux-core" homepage = "https://github.com/flux-framework/flux-core"
url = "https://github.com/flux-framework/flux-core" url = "https://github.com/flux-framework/flux-core/releases/download/v0.6.0/flux-core-0.6.0.tar.gz"
version('0.6.0', md5='d44a0f719744771d168edd205bd8e74e')
version('master', branch='master', version('master', branch='master',
git='https://github.com/flux-framework/flux-core') git='https://github.com/flux-framework/flux-core')
variant('docs', default=True, description='Build flux manpages')
# Also needs autotools, but should use the system version if available # Also needs autotools, but should use the system version if available
depends_on("zeromq@4.0.4:") depends_on("zeromq@4.0.4:")
depends_on("czmq@2.2:") depends_on("czmq@2.2:")
...@@ -45,20 +48,20 @@ class Flux(Package): ...@@ -45,20 +48,20 @@ class Flux(Package):
depends_on("libxslt") depends_on("libxslt")
depends_on("python") depends_on("python")
depends_on("py-cffi") depends_on("py-cffi")
depends_on("jansson")
depends_on("asciidoc", type='build', when="+docs")
# TODO: This provides a catalog, hacked with environment below for now depends_on("autoconf", type='build', when='@master')
depends_on("docbook-xml", type='build') depends_on("automake", type='build', when='@master')
depends_on("asciidoc", type='build') depends_on("libtool", type='build', when='@master')
def install(self, spec, prefix): def autoreconf(self, spec, prefix):
# Bootstrap with autotools if os.path.exists('autogen.sh'):
bash = which('bash') # Bootstrap with autotools
bash('./autogen.sh') bash = which('bash')
bash('./autogen.sh') # yes, twice, intentionally bash('./autogen.sh')
bash('./autogen.sh') # yes, twice, intentionally
# Fix asciidoc dependency on xml style sheets and whatnot def configure_args(self):
os.environ['XML_CATALOG_FILES'] = os.path.join( return ['--disable-docs'] if '+docs' not in self.spec else []
spec['docbook-xml'].prefix, 'catalog.xml')
# Configure, compile & install
configure("--prefix=" + prefix)
make("install", "V=1")
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
from spack import * from spack import *
class Libffi(Package): class Libffi(AutotoolsPackage):
"""The libffi library provides a portable, high level programming """The libffi library provides a portable, high level programming
interface to various calling conventions. This allows a programmer interface to various calling conventions. This allows a programmer
to call any function specified by a call interface description at to call any function specified by a call interface description at
...@@ -37,8 +37,3 @@ class Libffi(Package): ...@@ -37,8 +37,3 @@ class Libffi(Package):
# version('3.1', 'f5898b29bbfd70502831a212d9249d10',url = # version('3.1', 'f5898b29bbfd70502831a212d9249d10',url =
# "ftp://sourceware.org/pub/libffi/libffi-3.1.tar.gz") # Has a bug # "ftp://sourceware.org/pub/libffi/libffi-3.1.tar.gz") # Has a bug
# $(lib64) instead of ${lib64} in libffi.pc # $(lib64) instead of ${lib64} in libffi.pc
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
make()
make("install")
...@@ -25,15 +25,11 @@ ...@@ -25,15 +25,11 @@
from spack import * from spack import *
class LibjsonC(Package): class LibjsonC(AutotoolsPackage):
""" A JSON implementation in C """ """ A JSON implementation in C """
homepage = "https://github.com/json-c/json-c/wiki" homepage = "https://github.com/json-c/json-c/wiki"
url = "https://s3.amazonaws.com/json-c_releases/releases/json-c-0.11.tar.gz" url = "https://s3.amazonaws.com/json-c_releases/releases/json-c-0.11.tar.gz"
version('0.11', 'aa02367d2f7a830bf1e3376f77881e98') parallel = False
def install(self, spec, prefix):
configure('--prefix=%s' % prefix)
make(parallel=False) version('0.11', 'aa02367d2f7a830bf1e3376f77881e98')
make("install")
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
from spack import * from spack import *
class Libxslt(Package): class Libxslt(AutotoolsPackage):
"""Libxslt is the XSLT C library developed for the GNOME """Libxslt is the XSLT C library developed for the GNOME
project. XSLT itself is a an XML language to define project. XSLT itself is a an XML language to define
transformation for XML. Libxslt is based on libxml2 the XML C transformation for XML. Libxslt is based on libxml2 the XML C
...@@ -37,13 +37,9 @@ class Libxslt(Package): ...@@ -37,13 +37,9 @@ class Libxslt(Package):
url = "http://xmlsoft.org/sources/libxslt-1.1.28.tar.gz" url = "http://xmlsoft.org/sources/libxslt-1.1.28.tar.gz"
version('1.1.28', '9667bf6f9310b957254fdcf6596600b7') version('1.1.28', '9667bf6f9310b957254fdcf6596600b7')
version('1.1.29', 'a129d3c44c022de3b9dcf6d6f288d72e')
depends_on("libxml2") depends_on("libxml2")
depends_on("xz") depends_on("xz")
depends_on("zlib") depends_on("zlib")
depends_on("libgcrypt") depends_on("libgcrypt")
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
make()
make("install")
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
import os import os
class Munge(Package): class Munge(AutotoolsPackage):
""" MUNGE Uid 'N' Gid Emporium """ """ MUNGE Uid 'N' Gid Emporium """
homepage = "https://code.google.com/p/munge/" homepage = "https://code.google.com/p/munge/"
url = "https://github.com/dun/munge/releases/download/munge-0.5.11/munge-0.5.11.tar.bz2" url = "https://github.com/dun/munge/releases/download/munge-0.5.11/munge-0.5.11.tar.bz2"
...@@ -39,7 +39,4 @@ class Munge(Package): ...@@ -39,7 +39,4 @@ class Munge(Package):
def install(self, spec, prefix): def install(self, spec, prefix):
os.makedirs(os.path.join(prefix, "lib/systemd/system")) os.makedirs(os.path.join(prefix, "lib/systemd/system"))
configure("--prefix=%s" % prefix) super(Munge, self).install(spec, prefix)
make()
make("install")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment