Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases

Conflicts:
	lib/spack/spack/__init__.py
	var/spack/repos/builtin/packages/gmp/package.py
	var/spack/repos/builtin/packages/openjpeg/package.py
This commit is contained in:
alalazo
2016-07-15 11:02:55 +02:00
230 changed files with 1162 additions and 530 deletions

View File

@@ -38,7 +38,7 @@ class CmakeClient(Package):
version('1.0', '4cb3ff35b2472aae70f542116d616e63')
depends_on('cmake')
depends_on('cmake', type='build')
def setup_environment(self, spack_env, run_env):

View File

@@ -0,0 +1,18 @@
from spack import *
class Dtbuild1(Package):
"""Package for use as a build tool for deptypes testing which has its own
deptree"""
homepage = "http://www.example.com"
url = "http://www.example.com/dtbuild1-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
depends_on('dtbuild2', type='build')
depends_on('dtlink2')
depends_on('dtrun2', type='run')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,13 @@
from spack import *
class Dtbuild2(Package):
"""Simple package which acts as a build dependency"""
homepage = "http://www.example.com"
url = "http://www.example.com/dtbuild2-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,13 @@
from spack import *
class Dtbuild3(Package):
"""Simple package which acts as a build dependency"""
homepage = "http://www.example.com"
url = "http://www.example.com/dtbuild3-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,15 @@
from spack import *
class Dtlink1(Package):
"""Simple package which acts as a link dependency"""
homepage = "http://www.example.com"
url = "http://www.example.com/dtlink1-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
depends_on('dtlink3')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,13 @@
from spack import *
class Dtlink2(Package):
"""Simple package which acts as a link dependency"""
homepage = "http://www.example.com"
url = "http://www.example.com/dtlink2-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,16 @@
from spack import *
class Dtlink3(Package):
"""Simple package which acts as a link dependency"""
homepage = "http://www.example.com"
url = "http://www.example.com/dtlink3-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
depends_on('dtbuild2', type='build')
depends_on('dtlink4')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,13 @@
from spack import *
class Dtlink4(Package):
"""Simple package which acts as a link dependency"""
homepage = "http://www.example.com"
url = "http://www.example.com/dtlink4-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,13 @@
from spack import *
class Dtlink5(Package):
"""Simple package which acts as a link dependency"""
homepage = "http://www.example.com"
url = "http://www.example.com/dtlink5-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,16 @@
from spack import *
class Dtrun1(Package):
"""Simple package which acts as a run dependency"""
homepage = "http://www.example.com"
url = "http://www.example.com/dtrun1-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
depends_on('dtlink5')
depends_on('dtrun3', type='run')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,13 @@
from spack import *
class Dtrun2(Package):
"""Simple package which acts as a run dependency"""
homepage = "http://www.example.com"
url = "http://www.example.com/dtrun2-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,15 @@
from spack import *
class Dtrun3(Package):
"""Simple package which acts as a run dependency"""
homepage = "http://www.example.com"
url = "http://www.example.com/dtrun3-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
depends_on('dtbuild3', type='build')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,17 @@
from spack import *
class Dttop(Package):
"""Package with a complicated dependency tree"""
homepage = "http://www.example.com"
url = "http://www.example.com/dttop-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
depends_on('dtbuild1', type='build')
depends_on('dtlink1')
depends_on('dtrun1', type='run')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,15 @@
from spack import *
class Dtuse(Package):
"""Simple package which uses dttop"""
homepage = "http://www.example.com"
url = "http://www.example.com/dtuse-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
depends_on('dttop')
def install(self, spec, prefix):
pass

View File

@@ -51,7 +51,7 @@ class Imagemagick(Package):
url="http://sourceforge.net/projects/imagemagick/files/old-sources/6.x/6.8/ImageMagick-6.8.9-10.tar.gz/download")
depends_on('jpeg')
depends_on('libtool')
depends_on('libtool', type='build')
depends_on('libpng')
depends_on('freetype')
depends_on('fontconfig')

View File

@@ -41,6 +41,7 @@ class Mitos(Package):
depends_on('dyninst@8.2.1:')
depends_on('hwloc')
depends_on('mpi')
depends_on('cmake', type='build')
def install(self, spec, prefix):
with working_dir('spack-build', create=True):

View File

@@ -123,7 +123,7 @@ def setup_dependent_environment(self, spack_env, run_env, extension_spec):
# Set R_LIBS to include the library dir for the
# extension and any other R extensions it depends on.
r_libs_path = []
for d in extension_spec.traverse():
for d in extension_spec.traverse(deptype=nolink, deptype_query='run'):
if d.package.extends(self.spec):
r_libs_path.append(os.path.join(d.prefix, self.r_lib_dir))

View File

@@ -35,6 +35,7 @@ class AdeptUtils(Package):
depends_on("boost")
depends_on("mpi")
depends_on('cmake', type='build')
def install(self, spec, prefix):
cmake(*std_cmake_args)

View File

@@ -33,7 +33,7 @@ class Apex(Package):
depends_on("binutils+libiberty")
depends_on("boost@1.54:")
depends_on("cmake@2.8.12:")
depends_on('cmake@2.8.12:', type='build')
depends_on("activeharmony@4.5:")
depends_on("ompt-openmp")

View File

@@ -72,10 +72,10 @@ class ArpackNg(Package):
depends_on('blas')
depends_on('lapack')
depends_on('automake', when='@3.3.0')
depends_on('autoconf', when='@3.3.0')
depends_on('libtool@2.4.2:', when='@3.3.0')
depends_on('cmake@2.8.6:', when='@3.4.0:')
depends_on('automake', when='@3.3.0', type='build')
depends_on('autoconf', when='@3.3.0', type='build')
depends_on('libtool@2.4.2:', when='@3.3.0', type='build')
depends_on('cmake@2.8.6:', when='@3.4.0:', type='build')
depends_on('mpi', when='+mpi')

View File

@@ -35,7 +35,7 @@ class Autoconf(Package):
version('2.69', '82d05e03b93e45f5a39b828dc9c6c29b')
version('2.62', '6c1f3b3734999035d77da5024aab4fbd')
depends_on('m4')
depends_on('m4', type='build')
def _make_executable(self, name):
return Executable(join_path(self.prefix.bin, name))

View File

@@ -44,6 +44,7 @@ class Automaded(Package):
depends_on('mpi')
depends_on('boost')
depends_on('callpath')
depends_on('cmake', type='build')
def install(self, spec, prefix):
cmake("-DSTATE_TRACKER_WITH_CALLPATH=ON", *std_cmake_args)

View File

@@ -31,7 +31,7 @@ class Bear(Package):
version('2.0.4', 'fd8afb5e8e18f8737ba06f90bd77d011')
depends_on("cmake")
depends_on('cmake', type='build')
depends_on("python")
def install(self, spec, prefix):

View File

@@ -37,8 +37,8 @@ class Bertini(Package):
variant('mpi', default=True, description='Compile in parallel')
depends_on('flex')
depends_on('bison')
depends_on('flex', type='build')
depends_on('bison', type='build')
depends_on('gmp')
depends_on('mpfr')
depends_on('mpi', when='+mpi')

View File

@@ -38,9 +38,9 @@ class Binutils(Package):
version('2.23.2', '4f8fa651e35ef262edc01d60fb45702e')
version('2.20.1', '2b9dc8f2b7dbd5ec5992c6e29de0b764')
depends_on('m4')
depends_on('flex')
depends_on('bison')
depends_on('m4', type='build')
depends_on('flex', type='build')
depends_on('bison', type='build')
# Add a patch that creates binutils libiberty_pic.a which is preferred by
# OpenSpeedShop and cbtf-krell

View File

@@ -34,7 +34,7 @@ class Bison(Package):
version('3.0.4', 'a586e11cd4aff49c3ff6d3b6a4c9ccf8')
depends_on("m4")
depends_on("m4", type='build')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)

View File

@@ -35,6 +35,7 @@ class Boxlib(Package):
version('master', git='https://ccse.lbl.gov/pub/Downloads/BoxLib.git')
depends_on('mpi')
depends_on('cmake', type='build')
def install(self, spec, prefix):
args = std_cmake_args

View File

@@ -24,54 +24,59 @@
##############################################################################
from spack import *
class Bzip2(Package):
"""bzip2 is a freely available, patent free high-quality data
compressor. It typically compresses files to within 10% to 15%
of the best available techniques (the PPM family of statistical
compressors), whilst being around twice as fast at compression
and six times faster at decompression.
compressor. It typically compresses files to within 10% to 15%
of the best available techniques (the PPM family of statistical
compressors), whilst being around twice as fast at compression
and six times faster at decompression."""
"""
homepage = "http://www.bzip.org"
url = "http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz"
version('1.0.6', '00b516f4704d4a7cb50a1d97e6e8e15b')
def patch(self):
mf = FileFilter('Makefile-libbz2_so')
mf.filter(r'^CC=gcc', 'CC=cc')
# bzip2 comes with two separate Makefiles for static and dynamic builds
# Tell both to use Spack's compiler wrapper instead of GCC
filter_file(r'^CC=gcc', 'CC=cc', 'Makefile')
filter_file(r'^CC=gcc', 'CC=cc', 'Makefile-libbz2_so')
# Below stuff patches the link line to use RPATHs on Mac OS X.
# Patch the link line to use RPATHs on macOS
if 'darwin' in self.spec.architecture:
v = self.spec.version
v1, v2, v3 = (v.up_to(i) for i in (1,2,3))
v1, v2, v3 = (v.up_to(i) for i in (1, 2, 3))
mf.filter('$(CC) -shared -Wl,-soname -Wl,libbz2.so.{0} -o libbz2.so.{1} $(OBJS)'.format(v2, v3),
'$(CC) -dynamiclib -Wl,-install_name -Wl,@rpath/libbz2.{0}.dylib -current_version {1} -compatibility_version {2} -o libbz2.{3}.dylib $(OBJS)'.format(v1, v2, v3, v3), string=True)
kwargs = {'ignore_absent': False, 'backup': False, 'string': True}
mf.filter('$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.{0}'.format(v3),
'$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.{0}.dylib'.format(v3), string=True)
mf = FileFilter('Makefile-libbz2_so')
mf.filter('$(CC) -shared -Wl,-soname -Wl,libbz2.so.{0} -o libbz2.so.{1} $(OBJS)'.format(v2, v3), # NOQA ignore=E501
'$(CC) -dynamiclib -Wl,-install_name -Wl,@rpath/libbz2.{0}.dylib -current_version {1} -compatibility_version {2} -o libbz2.{3}.dylib $(OBJS)'.format(v1, v2, v3, v3), **kwargs) # NOQA ignore=E501
mf.filter('$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.{0}'.format(v3), # NOQA ignore=E501
'$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.{0}.dylib'.format(v3), **kwargs) # NOQA ignore=E501
mf.filter('rm -f libbz2.so.{0}'.format(v2),
'rm -f libbz2.{0}.dylib'.format(v2), string=True)
'rm -f libbz2.{0}.dylib'.format(v2), **kwargs)
mf.filter('ln -s libbz2.so.{0} libbz2.so.{1}'.format(v3, v2),
'ln -s libbz2.{0}.dylib libbz2.{1}.dylib'.format(v3, v2), string=True)
'ln -s libbz2.{0}.dylib libbz2.{1}.dylib'.format(v3, v2), **kwargs) # NOQA ignore=E501
def install(self, spec, prefix):
# Build the dynamic library first
make('-f', 'Makefile-libbz2_so')
make('clean')
make("install", "PREFIX=%s" % prefix)
# Build the static library and everything else
make()
make('install', 'PREFIX={0}'.format(prefix))
install('bzip2-shared', join_path(prefix.bin, 'bzip2'))
v1, v2, v3 = (self.spec.version.up_to(i) for i in (1,2,3))
v1, v2, v3 = (self.spec.version.up_to(i) for i in (1, 2, 3))
if 'darwin' in self.spec.architecture:
lib = 'libbz2.dylib'
lib1, lib2, lib3 = ('libbz2.{0}.dylib'.format(v) for v in (v1, v2, v3))
lib1, lib2, lib3 = ('libbz2.{0}.dylib'.format(v) for v in (v1, v2, v3)) # NOQA ignore=E501
else:
lib = 'libbz2.so'
lib1, lib2, lib3 = ('libbz2.so.{0}'.format(v) for v in (v1, v2, v3))
lib1, lib2, lib3 = ('libbz2.so.{0}'.format(v) for v in (v1, v2, v3)) # NOQA ignore=E501
install(lib3, join_path(prefix.lib, lib3))
with working_dir(prefix.lib):

View File

@@ -38,7 +38,7 @@ class CBlosc(Package):
version('1.8.1', 'd73d5be01359cf271e9386c90dcf5b05')
version('1.8.0', '5b92ecb287695ba20cc33d30bf221c4f')
depends_on("cmake")
depends_on("cmake", type='build')
depends_on("snappy")
depends_on("zlib")

View File

@@ -41,6 +41,7 @@ class Caliper(Package):
depends_on('libunwind')
depends_on('papi')
depends_on('mpi', when='+mpi')
depends_on('cmake', type='build')
def install(self, spec, prefix):
with working_dir('build', create=True):

View File

@@ -39,6 +39,7 @@ class Callpath(Package):
depends_on("dyninst")
depends_on("adept-utils")
depends_on("mpi")
depends_on('cmake', type='build')
def install(self, spec, prefix):
# TODO: offer options for the walker used.

View File

@@ -42,7 +42,7 @@ class Cantera(Package):
variant('matlab', default=False, description='Build the Cantera Matlab toolbox')
# Required dependencies
depends_on('scons')
depends_on('scons', type='build')
# Recommended dependencies
depends_on('blas', when='+lapack')
@@ -52,10 +52,10 @@ class Cantera(Package):
# Python module dependencies
extends('python', when='+python')
depends_on('py-numpy', when='+python')
depends_on('py-scipy', when='+python')
depends_on('py-cython', when='+python')
depends_on('py-3to2', when='+python')
depends_on('py-numpy', when='+python', type=nolink)
depends_on('py-scipy', when='+python', type=nolink)
depends_on('py-cython', when='+python', type=nolink)
depends_on('py-3to2', when='+python', type=nolink)
# TODO: these "when" specs don't actually work
# depends_on('py-unittest2', when='+python^python@2.6')
# depends_on('py-unittest2py3k', when='+python^python@3.1')

View File

@@ -53,7 +53,7 @@ class CbtfArgonavis(Package):
version('1.6', branch='master', git='https://github.com/OpenSpeedShop/cbtf-argonavis.git')
depends_on("cmake@3.0.2")
depends_on("cmake@3.0.2", type='build')
depends_on("boost@1.50.0:")
depends_on("papi")
depends_on("mrnet@5.0.1:+lwthreads+krellpatch")

View File

@@ -64,7 +64,7 @@ class CbtfKrell(Package):
variant('mpich', default=False, description="Build mpi experiment collector for mpich MPI when this variant is enabled.")
# Dependencies for cbtf-krell
depends_on("cmake@3.0.2")
depends_on("cmake@3.0.2", type='build')
# For binutils service
depends_on("binutils@2.24+krellpatch")

View File

@@ -53,7 +53,7 @@ class CbtfLanl(Package):
version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf-lanl/cbtf-lanl')
depends_on("cmake@3.0.2")
depends_on("cmake@3.0.2", type='build')
# Dependencies for cbtf-krell
depends_on("mrnet@5.0.1:+lwthreads+krellpatch")
depends_on("xerces-c@3.1.1:")

View File

@@ -57,7 +57,7 @@ class Cbtf(Package):
variant('runtime', default=False, description="build only the runtime libraries and collectors.")
depends_on("cmake@3.0.2")
depends_on("cmake@3.0.2", type='build')
depends_on("boost@1.50.0:")
depends_on("mrnet@5.0.1:+lwthreads+krellpatch")
depends_on("xerces-c@3.1.1:")

View File

@@ -40,7 +40,7 @@ class Cereal(Package):
patch("Werror.patch")
depends_on("cmake @2.6.2:")
depends_on('cmake@2.6.2:', type='build')
def install(self, spec, prefix):
# Don't use -Werror

View File

@@ -46,7 +46,7 @@ class Cgal(Package):
depends_on('mpfr')
depends_on('gmp')
depends_on('zlib')
depends_on('cmake')
depends_on('cmake', type='build')
# FIXME : Qt5 dependency missing (needs Qt5 and OpenGL)
# FIXME : Optional third party libraries missing

View File

@@ -40,6 +40,7 @@ class Cleverleaf(Package):
depends_on("SAMRAI@3.8.0:")
depends_on("hdf5+mpi")
depends_on("boost")
depends_on('cmake', type='build')
def install(self, spec, prefix):
cmake(*std_cmake_args)

View File

@@ -47,8 +47,8 @@ class Cmake(Package):
depends_on('ncurses', when='+ncurses')
depends_on('openssl', when='+openssl')
depends_on('qt', when='+qt')
depends_on('python@2.7.11:', when='+doc')
depends_on('py-sphinx', when='+doc')
depends_on('python@2.7.11:', when='+doc', type='build')
depends_on('py-sphinx', when='+doc', type='build')
def url_for_version(self, version):
"""Handle CMake's version-based custom URLs."""

View File

@@ -32,6 +32,8 @@ class Cmocka(Package):
version('1.0.1', 'ed861e501a21a92b2af63e466df2015e')
parallel = False
depends_on('cmake', type='build')
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
cmake('..', *std_cmake_args)

View File

@@ -33,6 +33,7 @@ class Cram(Package):
extends('python')
depends_on("mpi")
depends_on('cmake', type='build')
def install(self, spec, prefix):
cmake(".", *std_cmake_args)

View File

@@ -32,10 +32,10 @@ class Czmq(Package):
version('3.0.2', '23e9885f7ee3ce88d99d0425f52e9be1', url='https://github.com/zeromq/czmq/archive/v3.0.2.tar.gz')
depends_on('libtool')
depends_on('automake')
depends_on('autoconf')
depends_on('pkg-config')
depends_on('libtool', type='build')
depends_on('automake', type='build')
depends_on('autoconf', type='build')
depends_on('pkg-config', type='build')
depends_on('zeromq')
def install(self, spec, prefix):

View File

@@ -55,6 +55,7 @@ class Dakota(Package):
depends_on('python')
depends_on('boost')
depends_on('cmake', type='build')
def url_for_version(self, version):
return Dakota._url_str.format(version=version)

View File

@@ -31,6 +31,8 @@ class Damselfly(Package):
version('1.0', '05cf7e2d8ece4408c0f2abb7ab63fd74c0d62895', git='https://github.com/llnl/damselfly.git', tag='v1.0')
depends_on('cmake', type='build')
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
cmake('-DCMAKE_BUILD_TYPE=release', '..', *std_cmake_args)

View File

@@ -60,7 +60,7 @@ class Dealii(Package):
depends_on("boost@1.59.0:+thread+system+serialization+iostreams", when='~mpi') # NOQA: ignore=E501
depends_on("boost@1.59.0:+mpi+thread+system+serialization+iostreams", when='+mpi') # NOQA: ignore=E501
depends_on("bzip2")
depends_on("cmake")
depends_on("cmake", type='build')
depends_on("lapack")
depends_on("muparser")
depends_on("suite-sparse")

View File

@@ -31,7 +31,7 @@ class Dia(Package):
version('0.97.3', '0e744a0f6a6c4cb6a089e4d955392c3c')
depends_on('intltool')
depends_on('intltool', type='build')
depends_on('gtkplus@2.6.0:')
depends_on('cairo')
#depends_on('libart') # optional dependency, not yet supported by spack.

View File

@@ -24,6 +24,8 @@
##############################################################################
from spack import *
import sys
class Doxygen(Package):
"""Doxygen is the de facto standard tool for generating documentation
@@ -41,12 +43,12 @@ class Doxygen(Package):
# graphviz appears to be a run-time optional dependency
variant('graphviz', default=True, description='Build with dot command support from Graphviz.') # NOQA: ignore=E501
depends_on("cmake@2.8.12:")
depends_on("flex")
depends_on("bison")
depends_on("cmake@2.8.12:", type='build')
depends_on("flex", type='build')
depends_on("bison", type='build')
# optional dependencies
depends_on("graphviz", when="+graphviz")
depends_on("graphviz", when="+graphviz", type='run')
def install(self, spec, prefix):
cmake('.', *std_cmake_args)

View File

@@ -43,6 +43,7 @@ class Dyninst(Package):
depends_on("libelf")
depends_on("libdwarf")
depends_on("boost@1.42:")
depends_on('cmake', type='build')
# new version uses cmake
def install(self, spec, prefix):

View File

@@ -47,7 +47,7 @@ class Eigen(Package):
variant('mpfr', default=True, description='Enables support for multi-precisions floating points via mpfr')
# TODO : dependency on googlehash, superlu, adolc missing
depends_on('cmake')
depends_on('cmake', type='build')
depends_on('metis@5:', when='+metis')
depends_on('scotch', when='+scotch')
depends_on('fftw', when='+fftw')

View File

@@ -35,7 +35,7 @@ class EnvironmentModules(Package):
version('3.2.10', '8b097fdcb90c514d7540bb55a3cb90fb')
# Dependencies:
depends_on('tcl')
depends_on('tcl', type=alldeps)
def install(self, spec, prefix):
tcl_spec = spec['tcl']

View File

@@ -44,9 +44,7 @@ class Exodusii(Package):
version('2016-02-08', git='https://github.com/gsjaardema/seacas.git', commit='dcf3529')
# TODO: Make this a build dependency once build dependencies are supported
# (see: https://github.com/LLNL/spack/pull/378).
depends_on('cmake@2.8.7:')
depends_on('cmake@2.8.7:', type='build')
depends_on('hdf5~shared~mpi')
depends_on('netcdf~mpi')

View File

@@ -31,7 +31,7 @@ class Expat(Package):
version('2.1.0', 'dd7dab7a5fea97d2a6a43f511449b7cd')
depends_on('cmake')
depends_on('cmake', type='build')
def install(self, spec, prefix):

View File

@@ -34,7 +34,7 @@ class Flex(Package):
version('2.6.0', '5724bcffed4ebe39e9b55a9be80859ec')
version('2.5.39', 'e133e9ead8ec0a58d81166b461244fde')
depends_on("bison")
depends_on("bison", type='build')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)

View File

@@ -45,8 +45,8 @@ class Flux(Package):
depends_on("py-cffi")
# TODO: This provides a catalog, hacked with environment below for now
depends_on("docbook-xml")
depends_on("asciidoc")
depends_on("docbook-xml", type='build')
depends_on("asciidoc", type='build')
def install(self, spec, prefix):
# Bootstrap with autotools

View File

@@ -29,6 +29,7 @@ class FoamExtend(Package):
depends_on('python')
depends_on('flex@:2.5.99')
depends_on('zlib')
depends_on('cmake', type='build')
depends_on('scotch ~ metis', when='~ptscotch+scotch')
depends_on('scotch ~ metis + mpi', when='+ptscotch')

View File

@@ -62,7 +62,7 @@ class Gdal(Package):
depends_on("libpng")
depends_on("zlib")
depends_on("proj")
depends_on("py-numpy")
depends_on("py-numpy", type=nolink)
parallel = False

View File

@@ -41,7 +41,7 @@ class Gdb(Package):
version('7.9', '8f8ced422fe462a00e0135a643544f17')
version('7.8.2', '8b0ea8b3559d3d90b3ff4952f0aeafbc')
depends_on('texinfo')
depends_on('texinfo', type='build')
def install(self, spec, prefix):
configure('--prefix=%s' % prefix)

View File

@@ -37,6 +37,8 @@ class Gflags(Package):
version('2.1.2', 'ac432de923f9de1e9780b5254884599f')
depends_on('cmake', type='build')
def install(self, spec, prefix):
cmake("-DCMAKE_INSTALL_PREFIX=" + prefix,
"-DBUILD_SHARED_LIBS=ON")

View File

@@ -49,7 +49,7 @@ class Git(Package):
depends_on("openssl")
depends_on("autoconf")
depends_on("autoconf", type='build')
depends_on("curl")
depends_on("expat")

View File

@@ -38,8 +38,8 @@ class Glib(Package):
depends_on("libffi")
depends_on("zlib")
depends_on("pkg-config")
depends_on('gettext', sys.platform == 'darwin')
depends_on("pkg-config", type='build')
depends_on('gettext', when=sys.platform == 'darwin')
# The following patch is needed for gcc-6.1
patch('g_date_strftime.patch')

View File

@@ -35,8 +35,8 @@ class Glm(Package):
url = "https://github.com/g-truc/glm/archive/0.9.7.1.tar.gz"
version('0.9.7.1', '61af6639cdf652d1cdd7117190afced8')
depends_on ("cmake")
depends_on('cmake', type='build')
def install(self, spec, prefix):
with working_dir('spack-build', create=True):

View File

@@ -34,7 +34,7 @@ class Global(Package):
version('6.5', 'dfec818b4f53d91721e247cf7b218078')
depends_on('exuberant-ctags')
depends_on('exuberant-ctags', type=nolink)
depends_on('ncurses')
def install(self, spec, prefix):

View File

@@ -36,4 +36,4 @@ class Gmp(AutotoolsPackage):
version('6.0.0a', 'b7ff2d88cae7f8085bd5006096eed470')
version('6.0.0' , '6ef5869ae735db9995619135bd856b84')
depends_on("m4")
depends_on("m4", type='build')

View File

@@ -53,7 +53,7 @@ class Gmsh(Package):
depends_on('blas')
depends_on('lapack')
depends_on('cmake@2.8:')
depends_on('cmake@2.8:', type='build')
depends_on('gmp')
depends_on('mpi', when='+mpi')
# Assumes OpenGL with GLU is already provided by the system:

View File

@@ -0,0 +1,41 @@
##############################################################################
# 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
##############################################################################
from spack import *
class GnuProlog(Package):
"""A free Prolog compiler with constraint solving over finite domains."""
homepage = "http://www.gprolog.org/"
url = "http://www.gprolog.org/gprolog-1.4.4.tar.gz"
version('1.4.4', '37009da471e5217ff637ad1c516448c8')
parallel = False
def install(self, spec, prefix):
with working_dir('src'):
configure('--with-install-dir=%s' % prefix,
'--without-links-dir')
make()
make('install')

View File

@@ -24,7 +24,7 @@ class Go(Package):
# to-do, make non-c self-hosting compilers feasible without backflips
# should be a dep on external go compiler
depends_on('go-bootstrap')
depends_on('go-bootstrap', type='build')
depends_on('git')
def install(self, spec, prefix):

View File

@@ -31,7 +31,7 @@ class Googletest(Package):
version('1.7.0', '5eaf03ed925a47b37c8e1d559eb19bc4')
depends_on("cmake")
depends_on("cmake", type='build')
def install(self, spec, prefix):
which('cmake')('.', *std_cmake_args)

View File

@@ -31,6 +31,8 @@ class Graphlib(Package):
version('2.0.0', '43c6df84f1d38ba5a5dce0ae19371a70')
depends_on('cmake', type='build')
def install(self, spec, prefix):
cmake(".", *std_cmake_args)

View File

@@ -44,7 +44,7 @@ class Graphviz(Package):
depends_on("swig")
depends_on("python")
depends_on("ghostscript")
depends_on("pkg-config")
depends_on("pkg-config", type='build')
def install(self, spec, prefix):
options = ['--prefix=%s' % prefix]

View File

@@ -50,6 +50,7 @@ class Gromacs(Package):
depends_on('mpi', when='+mpi')
depends_on('fftw')
depends_on('cmake', type='build')
# TODO : add GPU support

View File

@@ -53,7 +53,7 @@ class Hdf5Blosc(Package):
depends_on("c-blosc")
depends_on("hdf5")
depends_on("libtool")
depends_on("libtool", type='build')
parallel = False

View File

@@ -45,12 +45,12 @@ class HoomdBlue(Package):
variant('doc', default=True, description='Generate documentation')
extends('python')
depends_on('py-numpy')
depends_on('py-numpy', type=nolink)
depends_on('boost+python')
depends_on('cmake')
depends_on('cmake', type='build')
depends_on('mpi', when='+mpi')
depends_on('cuda', when='+cuda')
depends_on('doxygen', when='+doc')
depends_on('doxygen', when='+doc', type='build')
def install(self, spec, prefix):

View File

@@ -26,13 +26,13 @@ class Ibmisc(CMakePackage):
depends_on('netcdf-cxx4', when='+netcdf')
depends_on('udunits2', when='+udunits2')
depends_on('googletest', when='+googletest')
depends_on('py-cython', when='+python')
depends_on('py-numpy', when='+python')
depends_on('py-cython', when='+python', type=nolink)
depends_on('py-numpy', when='+python', type=nolink)
depends_on('boost', when='+boost')
# Build dependencies
depends_on('cmake')
depends_on('doxygen')
depends_on('cmake', type='build')
depends_on('doxygen', type='build')
def cmake_args(self):
spec = self.spec

View File

@@ -38,7 +38,7 @@ class Ipopt(Package):
depends_on("blas")
depends_on("lapack")
depends_on("pkg-config")
depends_on("pkg-config", type='build')
depends_on("mumps+double~mpi")
def install(self, spec, prefix):

View File

@@ -44,16 +44,16 @@ class Julia(Package):
patch('openblas.patch', when='@0.4:0.4.5')
# Build-time dependencies:
# depends_on("awk")
# depends_on("m4")
# depends_on("pkg-config")
# depends_on("awk", type='build')
# depends_on("m4", type='build')
# depends_on("pkg-config", type='build')
# Combined build-time and run-time dependencies:
depends_on("binutils")
depends_on("cmake @2.8:")
depends_on("git")
depends_on("openssl")
depends_on("python @2.7:2.999")
depends_on("binutils", type=nolink)
depends_on("cmake @2.8:", type=nolink)
depends_on("git", type=nolink)
depends_on("openssl", type=nolink)
depends_on("python @2.7:2.999", type=nolink)
# I think that Julia requires the dependencies above, but it
# builds fine (on my system) without these. We should enable them
@@ -93,8 +93,8 @@ class Julia(Package):
# USE_SYSTEM_LIBGIT2=0
# Run-time dependencies for Julia packages:
depends_on("hdf5")
depends_on("mpi")
depends_on("hdf5", type='run')
depends_on("mpi", type='run')
def install(self, spec, prefix):
# Explicitly setting CC, CXX, or FC breaks building libuv, one

View File

@@ -33,9 +33,9 @@ class Launchmon(Package):
version('1.0.2', '8d6ba77a0ec2eff2fde2c5cc8fa7ff7a')
depends_on('autoconf')
depends_on('automake')
depends_on('libtool')
depends_on('autoconf', type='build')
depends_on('automake', type='build')
depends_on('libtool', type='build')
def install(self, spec, prefix):
configure(

View File

@@ -40,6 +40,7 @@ class Libgd(Package):
version('2.1.1', 'e91a1a99903e460e7ba00a794e72cc1e')
depends_on('libpng')
depends_on('cmake', type='build')
def install(self, spec, prefix):

View File

@@ -35,8 +35,8 @@ class LibjpegTurbo(Package):
version('1.3.1', '2c3a68129dac443a72815ff5bb374b05')
# Can use either of these.
depends_on("yasm")
depends_on("nasm")
depends_on("yasm", type='build')
depends_on("nasm", type='build')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)

View File

@@ -35,7 +35,7 @@ class Libtool(Package):
version('2.4.6', 'addf44b646ddb4e3919805aa88fa7c5e')
version('2.4.2', 'd2f3b7d4627e69e13514a40e72a24d50')
depends_on('m4')
depends_on('m4', type='build')
def _make_executable(self, name):
return Executable(join_path(self.prefix.bin, name))

View File

@@ -31,9 +31,9 @@ class Libuv(Package):
version('1.9.0', '14737f9c76123a19a290dabb7d1cd04c')
depends_on('automake')
depends_on('autoconf')
depends_on('libtool')
depends_on('automake', type='build')
depends_on('autoconf', type='build')
depends_on('libtool', type='build')
def install(self, spec, prefix):
bash = which("bash")

View File

@@ -36,9 +36,9 @@ class Libxcb(Package):
version('1.11', '1698dd837d7e6e94d029dbe8b3a82deb')
version('1.11.1', '118623c15a96b08622603a71d8789bf3')
depends_on("python")
depends_on("python", type='build')
depends_on("xcb-proto")
depends_on("pkg-config")
depends_on("pkg-config", type='build')
depends_on("libpthread-stubs")
depends_on('libxau')

View File

@@ -34,6 +34,8 @@ class LlvmLld(Package):
version('3.4', '3b6a17e58c8416c869c14dd37682f78e')
depends_on('cmake', type='build')
def install(self, spec, prefix):
env['CXXFLAGS'] = self.compier.cxx11_flag

View File

@@ -51,7 +51,7 @@ class Llvm(Package):
variant('all_targets', default=True, description="Build all supported targets, default targets <current arch>,NVPTX,AMDGPU,CppBackend")
# Build dependency
depends_on('cmake @2.8.12.2:')
depends_on('cmake@2.8.12.2:', type='build')
# Universal dependency
depends_on('python@2.7:2.8') # Seems not to support python 3.X.Y

View File

@@ -42,8 +42,8 @@ class Lmod(Package):
version('6.0.1', '91abf52fe5033bd419ffe2842ebe7af9')
depends_on('lua@5.2:')
depends_on('lua-luaposix')
depends_on('lua-luafilesystem')
depends_on('lua-luaposix', type=nolink)
depends_on('lua-luafilesystem', type=nolink)
parallel = False

View File

@@ -86,7 +86,7 @@ def append_paths(self, paths, cpaths, path):
def setup_dependent_environment(self, spack_env, run_env, extension_spec):
lua_paths = []
for d in extension_spec.traverse():
for d in extension_spec.traverse(deptypes=nolink, deptype_query='run'):
if d.package.extends(self.spec):
lua_paths.append(os.path.join(d.prefix, self.lua_lib_dir))
lua_paths.append(os.path.join(d.prefix, self.lua_share_dir))

View File

@@ -37,7 +37,7 @@ class Mbedtls(Package):
version('2.1.3' , '7eb4cf1dfa68578a2c8dbd0b6fa752dd')
version('1.3.16', '4144d7320c691f721aeb9e67a1bc38e0')
depends_on('cmake')
depends_on('cmake', type='build')
def install(self, spec, prefix):
cmake('.', *std_cmake_args)

View File

@@ -32,7 +32,7 @@ class Memaxes(Package):
version('0.5', '5874f3fda9fd2d313c0ff9684f915ab5',
url='https://github.com/llnl/MemAxes/archive/v0.5.tar.gz')
depends_on("cmake@2.8.9:")
depends_on('cmake@2.8.9:', type='build')
depends_on("qt@5:")
def install(self, spec, prefix):

View File

@@ -44,8 +44,8 @@ class Mesa(Package):
# mesa 10.x
# depends_on("py-mako")
# depends_on("flex")
# depends_on("bison")
# depends_on("flex", type='build')
# depends_on("bison", type='build')
# depends_on("dri2proto")
# depends_on("libxcb")
# depends_on("libxshmfence")

View File

@@ -50,7 +50,7 @@ class Metis(Package):
variant('idx64', default=False, description='Use int64_t as default index type')
variant('real64', default=False, description='Use double precision floating point types')
depends_on('cmake@2.8:', when='@5:') # build-time dependency
depends_on('cmake@2.8:', when='@5:', type='build')
patch('install_gklib_defs_rename.patch', when='@5:')

View File

@@ -62,7 +62,7 @@ class Mfem(Package):
depends_on('blas', when='+suite-sparse')
depends_on('lapack', when='+suite-sparse')
depends_on('metis@5:', when='+suite-sparse ^suite-sparse@4.5:')
depends_on('cmake', when='^metis@5:')
depends_on('cmake', when='^metis@5:', type='build')
def check_variants(self, spec):
if '+mpi' in spec and ('+hypre' not in spec or '+metis' not in spec):

View File

@@ -36,7 +36,7 @@ class Mpibash(Package):
patch('mpibash-4.3.patch', level=1, when='@4.3')
# above patch modifies configure.ac
depends_on('autoconf')
depends_on('autoconf', type='build')
# uses MPI_Exscan which is in MPI-1.2 and later
depends_on('mpi@1.2:')

View File

@@ -31,6 +31,8 @@ class MsgpackC(Package):
version('1.4.1', 'e2fd3a7419b9bc49e5017fdbefab87e0')
depends_on('cmake', type='build')
def install(self, spec, prefix):
cmake('.', *std_cmake_args)

View File

@@ -39,6 +39,7 @@ class Muster(Package):
depends_on("boost")
depends_on("mpi")
depends_on('cmake', type='build')
def install(self, spec, prefix):
cmake(".", *std_cmake_args)

View File

@@ -34,7 +34,7 @@ class NetcdfCxx4(Package):
version('4.2.1', 'd019853802092cf686254aaba165fc81')
depends_on('netcdf')
depends_on("autoconf")
depends_on("autoconf", type='build')
def install(self, spec, prefix):
# Rebuild to prevent problems of inconsistency in git repo

View File

@@ -39,7 +39,7 @@ class Netcdf(Package):
variant('mpi', default=True, description='Enables MPI parallelism')
variant('hdf4', default=False, description='Enable HDF4 support')
depends_on("m4")
depends_on("m4", type='build')
depends_on("hdf", when='+hdf4')
# Required for DAP support

View File

@@ -52,7 +52,7 @@ class NetlibLapack(Package):
provides('blas', when='~external-blas')
provides('lapack')
depends_on('cmake')
depends_on('cmake', type='build')
depends_on('blas', when='+external-blas')

View File

@@ -42,9 +42,9 @@ class NetlibScalapack(Package):
provides('scalapack')
depends_on('cmake')
depends_on('mpi')
depends_on('lapack')
depends_on('cmake', when='@2.0.0:', type='build')
def install(self, spec, prefix):
options = [

View File

@@ -35,7 +35,7 @@ class Numdiff(Package):
version('5.8.1', 'a295eb391f6cb1578209fc6b4f9d994e')
depends_on('gettext', sys.platform=='darwin')
depends_on('gettext', when=sys.platform=='darwin', type='build')
def install(self, spec, prefix):
options = ['--prefix=%s' % prefix]

View File

@@ -42,7 +42,7 @@ class Oce(Package):
variant('tbb', default=True, description='Build with Intel Threading Building Blocks')
depends_on('cmake@2.8:')
depends_on('cmake@2.8:', type='build')
depends_on('tbb', when='+tbb')
# There is a bug in OCE which appears with Clang (version?) or GCC 6.0

Some files were not shown because too many files have changed in this diff Show More