spack/var/spack/repos/builtin/packages/flux/package.py
Mark Grondona 165e6bfe5f flux: update flux-core to v0.8.0 (#5914)
* dockbook: remove update to dependent environment

Remove override of setup_dependent_environment in both docbook-xml
and docbook-xsl, which seems to generate a warning from spack about
"Suspicious requests to set or unset 'XML_CATLOG_FILES' found."

* flux: update version/dependencies to 0.8.0

Update flux-core to v0.8.0. Clean up dependencies and remove unneeded
extra invocation of ./autogen.sh when building from @master.

* flux: modify environment for Lua tests

Modify Spack environment to add `./?.lua` to LUA_PATH so that
fluxometer.lua can be found by tests during `make check` run
from `spack install --tests all flux`

* flux: fix broken flux version when on master

When building @master with spack, the flux version test from
`make check` fails because spack is using a shallow clone. Add
a setup section for @master that calls git pull --depth=50 --tags
to pull down tags and (hopefully) enough information for git-describe
to work properly.
2017-11-01 08:53:37 -07:00

81 lines
3.0 KiB
Python

##############################################################################
# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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
##############################################################################
from spack import *
import os
class Flux(AutotoolsPackage):
""" A next-generation resource manager (pre-alpha) """
homepage = "https://github.com/flux-framework/flux-core"
url = "https://github.com/flux-framework/flux-core/releases/download/v0.8.0/flux-core-0.8.0.tar.gz"
version('0.8.0', md5='9ee12974a8b2ab9a30533f69826f3bec')
version('master', branch='master',
git='https://github.com/flux-framework/flux-core')
variant('docs', default=True, description='Build flux manpages')
depends_on("zeromq@4.0.4:")
depends_on("czmq@2.2:")
depends_on("hwloc")
depends_on("lua@5.1:5.1.99")
depends_on("lua-luaposix")
depends_on("munge")
depends_on("libuuid")
depends_on("python")
depends_on("py-cffi", type=('build', 'run'))
depends_on("jansson")
depends_on("asciidoc", type='build', when="+docs")
# Need autotools when building on master:
depends_on("autoconf", type='build', when='@master')
depends_on("automake", type='build', when='@master')
depends_on("libtool", type='build', when='@master')
def setup():
pass
@when('@master')
def setup(self):
# Allow git-describe to get last tag so flux-version works:
git = which('git')
git('pull', '--depth=50', '--tags')
def autoreconf(self, spec, prefix):
self.setup()
if os.path.exists('autogen.sh'):
# Bootstrap with autotools
bash = which('bash')
bash('./autogen.sh')
def setup_environment(self, spack_env, run_env):
# Ensure ./fluxometer.lua can be found during flux's make check
spack_env.append_path('LUA_PATH', './?.lua', separator=';')
def configure_args(self):
return ['--disable-docs'] if '+docs' not in self.spec else []