Massive conversion from Package to CMakePackage (#4975)
This commit is contained in:
parent
17cdb73be7
commit
c7df12f698
@ -333,6 +333,7 @@ def set_module_variables_for_package(pkg, module):
|
|||||||
m.make = MakeExecutable('make', jobs)
|
m.make = MakeExecutable('make', jobs)
|
||||||
m.gmake = MakeExecutable('gmake', jobs)
|
m.gmake = MakeExecutable('gmake', jobs)
|
||||||
m.scons = MakeExecutable('scons', jobs)
|
m.scons = MakeExecutable('scons', jobs)
|
||||||
|
m.ninja = MakeExecutable('ninja', jobs)
|
||||||
|
|
||||||
# easy shortcut to os.environ
|
# easy shortcut to os.environ
|
||||||
m.env = os.environ
|
m.env = os.environ
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class AdeptUtils(Package):
|
class AdeptUtils(CMakePackage):
|
||||||
"""Utility libraries for LLNL performance tools."""
|
"""Utility libraries for LLNL performance tools."""
|
||||||
|
|
||||||
homepage = "https://github.com/llnl/adept-utils"
|
homepage = "https://github.com/llnl/adept-utils"
|
||||||
@ -34,11 +34,6 @@ class AdeptUtils(Package):
|
|||||||
version('1.0.1', '731a310717adcb004d9d195130efee7d')
|
version('1.0.1', '731a310717adcb004d9d195130efee7d')
|
||||||
version('1.0', '5c6cd9badce56c945ac8551e34804397')
|
version('1.0', '5c6cd9badce56c945ac8551e34804397')
|
||||||
|
|
||||||
depends_on("boost")
|
depends_on('boost')
|
||||||
depends_on("mpi")
|
depends_on('mpi')
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
cmake(*std_cmake_args)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -23,10 +23,9 @@
|
|||||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
##############################################################################
|
##############################################################################
|
||||||
from spack import *
|
from spack import *
|
||||||
from spack.util.environment import *
|
|
||||||
|
|
||||||
|
|
||||||
class Apex(Package):
|
class Apex(CMakePackage):
|
||||||
homepage = "http://github.com/khuck/xpress-apex"
|
homepage = "http://github.com/khuck/xpress-apex"
|
||||||
url = "http://github.com/khuck/xpress-apex/archive/v0.1.tar.gz"
|
url = "http://github.com/khuck/xpress-apex/archive/v0.1.tar.gz"
|
||||||
|
|
||||||
@ -38,19 +37,13 @@ class Apex(Package):
|
|||||||
depends_on("activeharmony@4.5:")
|
depends_on("activeharmony@4.5:")
|
||||||
depends_on("ompt-openmp")
|
depends_on("ompt-openmp")
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
|
return [
|
||||||
path = get_path("PATH")
|
'-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||||
path.remove(spec["binutils"].prefix.bin)
|
'-DUSE_BFD=TRUE',
|
||||||
path_set("PATH", path)
|
'-DBFD_ROOT=%s' % spec['binutils'].prefix,
|
||||||
with working_dir("build", create=True):
|
'-DUSE_ACTIVEHARMONY=TRUE',
|
||||||
cmake('-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
'-DACTIVEHARMONY_ROOT=%s' % spec['activeharmony'].prefix,
|
||||||
'-DUSE_BFD=TRUE',
|
'-DUSE_OMPT=TRUE',
|
||||||
'-DBFD_ROOT=%s' % spec['binutils'].prefix,
|
'-DOMPT_ROOT=%s' % spec['ompt-openmp'].prefix,
|
||||||
'-DUSE_ACTIVEHARMONY=TRUE',
|
]
|
||||||
'-DACTIVEHARMONY_ROOT=%s' % spec['activeharmony'].prefix,
|
|
||||||
'-DUSE_OMPT=TRUE',
|
|
||||||
'-DOMPT_ROOT=%s' % spec['ompt-openmp'].prefix,
|
|
||||||
'..', *std_cmake_args)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Archer(Package):
|
class Archer(CMakePackage):
|
||||||
"""ARCHER, a data race detection tool for large OpenMP applications."""
|
"""ARCHER, a data race detection tool for large OpenMP applications."""
|
||||||
|
|
||||||
homepage = "https://github.com/PRUNERS/ARCHER"
|
homepage = "https://github.com/PRUNERS/ARCHER"
|
||||||
@ -34,23 +34,24 @@ class Archer(Package):
|
|||||||
|
|
||||||
version('1.0.0', '790bfaf00b9f57490eb609ecabfe954a')
|
version('1.0.0', '790bfaf00b9f57490eb609ecabfe954a')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@3.4.3:', type='build')
|
||||||
depends_on('llvm')
|
depends_on('llvm')
|
||||||
depends_on('ninja', type='build')
|
depends_on('ninja', type='build')
|
||||||
depends_on('llvm-openmp-ompt')
|
depends_on('llvm-openmp-ompt')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
|
return [
|
||||||
|
'-G', 'Ninja',
|
||||||
|
'-DCMAKE_C_COMPILER=clang',
|
||||||
|
'-DCMAKE_CXX_COMPILER=clang++',
|
||||||
|
'-DOMP_PREFIX:PATH=%s' % spec['llvm-openmp-ompt'].prefix,
|
||||||
|
]
|
||||||
|
|
||||||
with working_dir('spack-build', create=True):
|
# TODO: Add better ninja support to CMakePackage
|
||||||
cmake_args = std_cmake_args[:]
|
def build(self, spec, prefix):
|
||||||
cmake_args.extend([
|
with working_dir(self.build_directory):
|
||||||
'-G', 'Ninja',
|
|
||||||
'-DCMAKE_C_COMPILER=clang',
|
|
||||||
'-DCMAKE_CXX_COMPILER=clang++',
|
|
||||||
'-DOMP_PREFIX:PATH=%s' % spec['llvm-openmp-ompt'].prefix,
|
|
||||||
])
|
|
||||||
|
|
||||||
cmake('..', *cmake_args)
|
|
||||||
ninja = Executable('ninja')
|
|
||||||
ninja()
|
ninja()
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
with working_dir(self.build_directory):
|
||||||
ninja('install')
|
ninja('install')
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Armadillo(Package):
|
class Armadillo(CMakePackage):
|
||||||
"""Armadillo is a high quality linear algebra library (matrix maths)
|
"""Armadillo is a high quality linear algebra library (matrix maths)
|
||||||
for the C++ language, aiming towards a good balance between speed and
|
for the C++ language, aiming towards a good balance between speed and
|
||||||
ease of use."""
|
ease of use."""
|
||||||
@ -40,19 +40,21 @@ class Armadillo(Package):
|
|||||||
|
|
||||||
variant('hdf5', default=False, description='Include HDF5 support')
|
variant('hdf5', default=False, description='Include HDF5 support')
|
||||||
|
|
||||||
depends_on('cmake@2.8:', type='build')
|
depends_on('cmake@2.8.12:', type='build')
|
||||||
depends_on('arpack-ng') # old arpack causes undefined symbols
|
depends_on('arpack-ng') # old arpack causes undefined symbols
|
||||||
depends_on('blas')
|
depends_on('blas')
|
||||||
depends_on('lapack')
|
depends_on('lapack')
|
||||||
depends_on('superlu@5.2:')
|
depends_on('superlu@5.2:')
|
||||||
depends_on('hdf5', when='+hdf5')
|
depends_on('hdf5', when='+hdf5')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
|
spec = self.spec
|
||||||
|
|
||||||
arpack = find_libraries('libarpack', root=spec[
|
arpack = find_libraries('libarpack', root=spec[
|
||||||
'arpack-ng'].prefix.lib, shared=True)
|
'arpack-ng'].prefix.lib, shared=True)
|
||||||
superlu = find_libraries('libsuperlu', root=spec[
|
superlu = find_libraries('libsuperlu', root=spec[
|
||||||
'superlu'].prefix, shared=False, recurse=True)
|
'superlu'].prefix, shared=False, recurse=True)
|
||||||
cmake_args = [
|
return [
|
||||||
# ARPACK support
|
# ARPACK support
|
||||||
'-DARPACK_LIBRARY={0}'.format(arpack.joined()),
|
'-DARPACK_LIBRARY={0}'.format(arpack.joined()),
|
||||||
# BLAS support
|
# BLAS support
|
||||||
@ -65,9 +67,3 @@ def install(self, spec, prefix):
|
|||||||
# HDF5 support
|
# HDF5 support
|
||||||
'-DDETECT_HDF5={0}'.format('ON' if '+hdf5' in spec else 'OFF')
|
'-DDETECT_HDF5={0}'.format('ON' if '+hdf5' in spec else 'OFF')
|
||||||
]
|
]
|
||||||
|
|
||||||
cmake_args.extend(std_cmake_args)
|
|
||||||
cmake('.', *cmake_args)
|
|
||||||
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Automaded(Package):
|
class Automaded(CMakePackage):
|
||||||
"""AutomaDeD (Automata-based Debugging for Dissimilar parallel
|
"""AutomaDeD (Automata-based Debugging for Dissimilar parallel
|
||||||
tasks) is a tool for automatic diagnosis of performance and
|
tasks) is a tool for automatic diagnosis of performance and
|
||||||
correctness problems in MPI applications. It creates
|
correctness problems in MPI applications. It creates
|
||||||
@ -45,9 +45,7 @@ class Automaded(Package):
|
|||||||
depends_on('mpi')
|
depends_on('mpi')
|
||||||
depends_on('boost')
|
depends_on('boost')
|
||||||
depends_on('callpath')
|
depends_on('callpath')
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
cmake("-DSTATE_TRACKER_WITH_CALLPATH=ON", *std_cmake_args)
|
return ['-DSTATE_TRACKER_WITH_CALLPATH=ON']
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Bear(Package):
|
class Bear(CMakePackage):
|
||||||
"""Bear is a tool that generates a compilation database for clang tooling
|
"""Bear is a tool that generates a compilation database for clang tooling
|
||||||
from non-cmake build systems."""
|
from non-cmake build systems."""
|
||||||
homepage = "https://github.com/rizsotto/Bear"
|
homepage = "https://github.com/rizsotto/Bear"
|
||||||
@ -34,11 +34,5 @@ class Bear(Package):
|
|||||||
version('2.2.0', '87250cc3a9a697e7d1e8972253a35259')
|
version('2.2.0', '87250cc3a9a697e7d1e8972253a35259')
|
||||||
version('2.0.4', 'fd8afb5e8e18f8737ba06f90bd77d011')
|
version('2.0.4', 'fd8afb5e8e18f8737ba06f90bd77d011')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('python')
|
||||||
depends_on("python")
|
depends_on('cmake@2.8:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
cmake('.', *std_cmake_args)
|
|
||||||
|
|
||||||
make("all")
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class BppCore(Package):
|
class BppCore(CMakePackage):
|
||||||
"""Bio++ core library."""
|
"""Bio++ core library."""
|
||||||
|
|
||||||
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
|
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
|
||||||
@ -33,9 +33,7 @@ class BppCore(Package):
|
|||||||
|
|
||||||
version('2.2.0', '5789ed2ae8687d13664140cd77203477')
|
version('2.2.0', '5789ed2ae8687d13664140cd77203477')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.6:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
cmake('-DBUILD_TESTING=FALSE', '.', *std_cmake_args)
|
return ['-DBUILD_TESTING=FALSE']
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class BppPhyl(Package):
|
class BppPhyl(CMakePackage):
|
||||||
"""Bio++ phylogeny library."""
|
"""Bio++ phylogeny library."""
|
||||||
|
|
||||||
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
|
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
|
||||||
@ -33,11 +33,9 @@ class BppPhyl(Package):
|
|||||||
|
|
||||||
version('2.2.0', '5c40667ec0bf37e0ecaba321be932770')
|
version('2.2.0', '5c40667ec0bf37e0ecaba321be932770')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.6:', type='build')
|
||||||
depends_on('bpp-core')
|
depends_on('bpp-core')
|
||||||
depends_on('bpp-seq')
|
depends_on('bpp-seq')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
cmake('-DBUILD_TESTING=FALSE', '.', *std_cmake_args)
|
return ['-DBUILD_TESTING=FALSE']
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class BppSeq(Package):
|
class BppSeq(CMakePackage):
|
||||||
"""Bio++ seq library."""
|
"""Bio++ seq library."""
|
||||||
|
|
||||||
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
|
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
|
||||||
@ -33,10 +33,8 @@ class BppSeq(Package):
|
|||||||
|
|
||||||
version('2.2.0', '44adef0ff4d5ca4e69ccf258c9270633')
|
version('2.2.0', '44adef0ff4d5ca4e69ccf258c9270633')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.6:', type='build')
|
||||||
depends_on('bpp-core')
|
depends_on('bpp-core')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
cmake('-DBUILD_TESTING=FALSE', '.', *std_cmake_args)
|
return ['-DBUILD_TESTING=FALSE']
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class BppSuite(Package):
|
class BppSuite(CMakePackage):
|
||||||
"""BppSuite is a suite of ready-to-use programs for phylogenetic and
|
"""BppSuite is a suite of ready-to-use programs for phylogenetic and
|
||||||
sequence analysis."""
|
sequence analysis."""
|
||||||
|
|
||||||
@ -34,13 +34,8 @@ class BppSuite(Package):
|
|||||||
|
|
||||||
version('2.2.0', 'd8b29ad7ccf5bd3a7beb701350c9e2a4')
|
version('2.2.0', 'd8b29ad7ccf5bd3a7beb701350c9e2a4')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.6:', type='build')
|
||||||
depends_on('texinfo', type='build')
|
depends_on('texinfo', type='build')
|
||||||
depends_on('bpp-core')
|
depends_on('bpp-core')
|
||||||
depends_on('bpp-seq')
|
depends_on('bpp-seq')
|
||||||
depends_on('bpp-phyl')
|
depends_on('bpp-phyl')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
cmake('.', *std_cmake_args)
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class CBlosc(Package):
|
class CBlosc(CMakePackage):
|
||||||
"""Blosc, an extremely fast, multi-threaded, meta-compressor library"""
|
"""Blosc, an extremely fast, multi-threaded, meta-compressor library"""
|
||||||
homepage = "http://www.blosc.org"
|
homepage = "http://www.blosc.org"
|
||||||
url = "https://github.com/Blosc/c-blosc/archive/v1.11.1.tar.gz"
|
url = "https://github.com/Blosc/c-blosc/archive/v1.11.1.tar.gz"
|
||||||
@ -42,15 +42,21 @@ class CBlosc(Package):
|
|||||||
|
|
||||||
variant('avx2', default=True, description='Enable AVX2 support')
|
variant('avx2', default=True, description='Enable AVX2 support')
|
||||||
|
|
||||||
depends_on("cmake", type='build')
|
depends_on('cmake@2.8.10:', type='build')
|
||||||
depends_on("snappy")
|
depends_on('snappy')
|
||||||
depends_on("zlib")
|
depends_on('zlib')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
avx2 = '-DDEACTIVATE_AVX2=%s' % ('ON' if '~avx2' in spec else 'OFF')
|
args = []
|
||||||
cmake('.', avx2, *std_cmake_args)
|
|
||||||
|
|
||||||
make()
|
if '+avx2' in self.spec:
|
||||||
make("install")
|
args.append('-DDEACTIVATE_AVX2=OFF')
|
||||||
|
else:
|
||||||
|
args.append('-DDEACTIVATE_AVX2=ON')
|
||||||
|
|
||||||
|
return args
|
||||||
|
|
||||||
|
@run_after('install')
|
||||||
|
def darwin_fix(self):
|
||||||
if sys.platform == 'darwin':
|
if sys.platform == 'darwin':
|
||||||
fix_darwin_install_name(prefix.lib)
|
fix_darwin_install_name(self.prefix.lib)
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Callpath(Package):
|
class Callpath(CMakePackage):
|
||||||
"""Library for representing callpaths consistently in
|
"""Library for representing callpaths consistently in
|
||||||
distributed-memory performance tools."""
|
distributed-memory performance tools."""
|
||||||
|
|
||||||
@ -35,20 +35,20 @@ class Callpath(Package):
|
|||||||
version('1.0.2', 'b1994d5ee7c7db9d27586fc2dcf8f373')
|
version('1.0.2', 'b1994d5ee7c7db9d27586fc2dcf8f373')
|
||||||
version('1.0.1', '0047983d2a52c5c335f8ba7f5bab2325')
|
version('1.0.1', '0047983d2a52c5c335f8ba7f5bab2325')
|
||||||
|
|
||||||
depends_on("elf", type="link")
|
depends_on('elf', type='link')
|
||||||
depends_on("libdwarf")
|
depends_on('libdwarf')
|
||||||
depends_on("dyninst")
|
depends_on('dyninst')
|
||||||
depends_on("adept-utils")
|
depends_on('adept-utils')
|
||||||
depends_on("mpi")
|
depends_on('mpi')
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
# TODO: offer options for the walker used.
|
# TODO: offer options for the walker used.
|
||||||
cmake_args = std_cmake_args
|
args = ["-DCALLPATH_WALKER=dyninst"]
|
||||||
|
|
||||||
if spec.satisfies("^dyninst@9.3.0:"):
|
if spec.satisfies("^dyninst@9.3.0:"):
|
||||||
std_flag = self.compiler.cxx11_flag
|
std_flag = self.compiler.cxx11_flag
|
||||||
cmake_args.append("-DCMAKE_CXX_FLAGS='{0} -fpermissive'".format(
|
args.append("-DCMAKE_CXX_FLAGS='{0} -fpermissive'".format(
|
||||||
std_flag))
|
std_flag))
|
||||||
cmake('.', "-DCALLPATH_WALKER=dyninst", *cmake_args)
|
|
||||||
make()
|
return args
|
||||||
make("install")
|
|
||||||
|
@ -23,11 +23,9 @@
|
|||||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
##############################################################################
|
##############################################################################
|
||||||
from spack import *
|
from spack import *
|
||||||
import os
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
|
|
||||||
class Cereal(Package):
|
class Cereal(CMakePackage):
|
||||||
"""cereal is a header-only C++11 serialization library. cereal takes
|
"""cereal is a header-only C++11 serialization library. cereal takes
|
||||||
arbitrary data types and reversibly turns them into different
|
arbitrary data types and reversibly turns them into different
|
||||||
representations, such as compact binary encodings, XML, or
|
representations, such as compact binary encodings, XML, or
|
||||||
@ -54,25 +52,18 @@ class Cereal(Package):
|
|||||||
|
|
||||||
depends_on('cmake@2.6.2:', type='build')
|
depends_on('cmake@2.6.2:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def patch(self):
|
||||||
# Don't use -Werror
|
# Don't use -Werror
|
||||||
filter_file(r'-Werror', '', 'CMakeLists.txt')
|
filter_file(r'-Werror', '', 'CMakeLists.txt')
|
||||||
|
|
||||||
# configure
|
def cmake_args(self):
|
||||||
# Boost is only used for self-tests, which we are not running (yet?)
|
# Boost is only used for self-tests, which we are not running (yet?)
|
||||||
cmake('.',
|
return [
|
||||||
'-DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE',
|
'-DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE',
|
||||||
'-DSKIP_PORTABILITY_TEST=TRUE',
|
'-DSKIP_PORTABILITY_TEST=TRUE',
|
||||||
*std_cmake_args)
|
]
|
||||||
|
|
||||||
# Build
|
def install(self, spec, prefix):
|
||||||
make()
|
with working_dir(self.build_directory):
|
||||||
|
install_tree('doc', prefix.doc)
|
||||||
# Install
|
install_tree('include', prefix.include)
|
||||||
shutil.rmtree(join_path(prefix, 'doc'), ignore_errors=True)
|
|
||||||
shutil.rmtree(join_path(prefix, 'include'), ignore_errors=True)
|
|
||||||
shutil.rmtree(join_path(prefix, 'lib'), ignore_errors=True)
|
|
||||||
shutil.copytree('doc', join_path(prefix, 'doc'), symlinks=True)
|
|
||||||
shutil.copytree('include', join_path(prefix, 'include'), symlinks=True)
|
|
||||||
# Create empty directory to avoid linker warnings later
|
|
||||||
os.mkdir(join_path(prefix, 'lib'))
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Cgal(Package):
|
class Cgal(CMakePackage):
|
||||||
"""The Computational Geometry Algorithms Library (CGAL) is a C++ library
|
"""The Computational Geometry Algorithms Library (CGAL) is a C++ library
|
||||||
that aims to provide easy access to efficient and reliable algorithms in
|
that aims to provide easy access to efficient and reliable algorithms in
|
||||||
computational geometry. CGAL is used in various areas needing geometric
|
computational geometry. CGAL is used in various areas needing geometric
|
||||||
@ -42,8 +42,9 @@ class Cgal(Package):
|
|||||||
|
|
||||||
variant('shared', default=True,
|
variant('shared', default=True,
|
||||||
description='Enables the build of shared libraries')
|
description='Enables the build of shared libraries')
|
||||||
variant('debug', default=False,
|
variant('build_type', default='Release',
|
||||||
description='Builds a debug version of the libraries')
|
description='The build type to build',
|
||||||
|
values=('Debug', 'Release'))
|
||||||
|
|
||||||
# ---- See "7 CGAL Libraries" at:
|
# ---- See "7 CGAL Libraries" at:
|
||||||
# http://doc.cgal.org/latest/Manual/installation.html
|
# http://doc.cgal.org/latest/Manual/installation.html
|
||||||
@ -58,6 +59,8 @@ class Cgal(Package):
|
|||||||
variant('demos', default=False,
|
variant('demos', default=False,
|
||||||
description='Build CGAL demos')
|
description='Build CGAL demos')
|
||||||
|
|
||||||
|
depends_on('cmake@2.8.11:', type='build')
|
||||||
|
|
||||||
# Essential Third Party Libraries
|
# Essential Third Party Libraries
|
||||||
depends_on('boost+thread+system')
|
depends_on('boost+thread+system')
|
||||||
depends_on('gmp')
|
depends_on('gmp')
|
||||||
@ -82,18 +85,12 @@ class Cgal(Package):
|
|||||||
# depends_on('esbtl')
|
# depends_on('esbtl')
|
||||||
# depends_on('intel-tbb')
|
# depends_on('intel-tbb')
|
||||||
|
|
||||||
# Build dependencies
|
def cmake_args(self):
|
||||||
depends_on('cmake', type='build')
|
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
# Installation instructions:
|
# Installation instructions:
|
||||||
# http://doc.cgal.org/latest/Manual/installation.html
|
# http://doc.cgal.org/latest/Manual/installation.html
|
||||||
|
spec = self.spec
|
||||||
|
|
||||||
options = std_cmake_args + [
|
return [
|
||||||
# CGAL supports only Release and Debug build type. Any
|
|
||||||
# other build type will raise an error at configure time
|
|
||||||
'-DCMAKE_BUILD_TYPE:STRING=%s' %
|
|
||||||
('Debug' if '+debug' in spec else 'Release'),
|
|
||||||
'-DBUILD_SHARED_LIBS:BOOL=%s' %
|
'-DBUILD_SHARED_LIBS:BOOL=%s' %
|
||||||
('ON' if '+shared' in spec else 'OFF'),
|
('ON' if '+shared' in spec else 'OFF'),
|
||||||
'-DWITH_CGAL_Core:BOOL=%s' %
|
'-DWITH_CGAL_Core:BOOL=%s' %
|
||||||
@ -101,9 +98,5 @@ def install(self, spec, prefix):
|
|||||||
'-DWITH_CGAL_ImageIO:BOOL=%s' %
|
'-DWITH_CGAL_ImageIO:BOOL=%s' %
|
||||||
('YES' if '+imageio' in spec else 'NO'),
|
('YES' if '+imageio' in spec else 'NO'),
|
||||||
'-DWITH_CGAL_Qt5:BOOL=%s' %
|
'-DWITH_CGAL_Qt5:BOOL=%s' %
|
||||||
('YES' if '+demos' in spec else 'NO')]
|
('YES' if '+demos' in spec else 'NO'),
|
||||||
|
]
|
||||||
with working_dir('spack-build', create=True):
|
|
||||||
cmake('..', *options)
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Cgns(Package):
|
class Cgns(CMakePackage):
|
||||||
"""The CFD General Notation System (CGNS) provides a general, portable,
|
"""The CFD General Notation System (CGNS) provides a general, portable,
|
||||||
and extensible standard for the storage and retrieval of computational
|
and extensible standard for the storage and retrieval of computational
|
||||||
fluid dynamics (CFD) analysis data."""
|
fluid dynamics (CFD) analysis data."""
|
||||||
@ -37,11 +37,12 @@ class Cgns(Package):
|
|||||||
|
|
||||||
variant('hdf5', default=True, description='Enable HDF5 interface')
|
variant('hdf5', default=True, description='Enable HDF5 interface')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8:', type='build')
|
||||||
depends_on('hdf5', when='+hdf5')
|
depends_on('hdf5', when='+hdf5')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
cmake_args = std_cmake_args[:]
|
spec = self.spec
|
||||||
|
cmake_args = []
|
||||||
|
|
||||||
if self.compiler.f77 and self.compiler.fc:
|
if self.compiler.f77 and self.compiler.fc:
|
||||||
cmake_args.append('-DCGNS_ENABLE_FORTRAN=ON')
|
cmake_args.append('-DCGNS_ENABLE_FORTRAN=ON')
|
||||||
@ -66,8 +67,4 @@ def install(self, spec, prefix):
|
|||||||
else:
|
else:
|
||||||
cmake_args.append('-DCGNS_ENABLE_HDF5=OFF')
|
cmake_args.append('-DCGNS_ENABLE_HDF5=OFF')
|
||||||
|
|
||||||
with working_dir('spack-build', create=True):
|
return cmake_args
|
||||||
cmake('..', *cmake_args)
|
|
||||||
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Cleverleaf(Package):
|
class Cleverleaf(CMakePackage):
|
||||||
"""CleverLeaf is a hydrodynamics mini-app that extends CloverLeaf with
|
"""CleverLeaf is a hydrodynamics mini-app that extends CloverLeaf with
|
||||||
Adaptive Mesh Refinement using the SAMRAI toolkit from Lawrence
|
Adaptive Mesh Refinement using the SAMRAI toolkit from Lawrence
|
||||||
Livermore National Laboratory. The primary goal of CleverLeaf is
|
Livermore National Laboratory. The primary goal of CleverLeaf is
|
||||||
@ -40,12 +40,7 @@ class Cleverleaf(Package):
|
|||||||
version('develop', git='https://github.com/UK-MAC/CleverLeaf_ref.git',
|
version('develop', git='https://github.com/UK-MAC/CleverLeaf_ref.git',
|
||||||
branch='develop')
|
branch='develop')
|
||||||
|
|
||||||
depends_on("samrai@3.8.0:")
|
depends_on('samrai@3.8.0:')
|
||||||
depends_on("hdf5+mpi")
|
depends_on('hdf5+mpi')
|
||||||
depends_on("boost")
|
depends_on('boost')
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@3.1:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
cmake(*std_cmake_args)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Cmocka(Package):
|
class Cmocka(CMakePackage):
|
||||||
"""Unit-testing framework in pure C"""
|
"""Unit-testing framework in pure C"""
|
||||||
homepage = "https://cmocka.org/"
|
homepage = "https://cmocka.org/"
|
||||||
url = "https://cmocka.org/files/1.1/cmocka-1.1.1.tar.xz"
|
url = "https://cmocka.org/files/1.1/cmocka-1.1.1.tar.xz"
|
||||||
@ -33,13 +33,7 @@ class Cmocka(Package):
|
|||||||
version('1.1.1', '6fbff4e42589566eda558db98b97623e')
|
version('1.1.1', '6fbff4e42589566eda558db98b97623e')
|
||||||
version('1.1.0', '59c9aa5735d9387fb591925ec53523ec')
|
version('1.1.0', '59c9aa5735d9387fb591925ec53523ec')
|
||||||
version('1.0.1', 'ed861e501a21a92b2af63e466df2015e')
|
version('1.0.1', 'ed861e501a21a92b2af63e466df2015e')
|
||||||
|
|
||||||
|
depends_on('cmake@2.6.0:', type='build')
|
||||||
|
|
||||||
parallel = False
|
parallel = False
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
with working_dir('spack-build', create=True):
|
|
||||||
cmake('..', *std_cmake_args)
|
|
||||||
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,13 +25,10 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Cnmem(Package):
|
class Cnmem(CMakePackage):
|
||||||
"""CNMem mempool for CUDA devices"""
|
"""CNMem mempool for CUDA devices"""
|
||||||
homepage = "https://github.com/NVIDIA/cnmem"
|
homepage = "https://github.com/NVIDIA/cnmem"
|
||||||
|
|
||||||
version('git', git='https://github.com/NVIDIA/cnmem.git', branch="master")
|
version('git', git='https://github.com/NVIDIA/cnmem.git', branch="master")
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
depends_on('cmake@2.8.8:', type='build')
|
||||||
cmake('.', *std_cmake_args)
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -25,18 +25,13 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Cram(Package):
|
class Cram(CMakePackage):
|
||||||
"""Cram runs many small MPI jobs inside one large MPI job."""
|
"""Cram runs many small MPI jobs inside one large MPI job."""
|
||||||
homepage = "https://github.com/llnl/cram"
|
homepage = "https://github.com/llnl/cram"
|
||||||
url = "http://github.com/llnl/cram/archive/v1.0.1.tar.gz"
|
url = "http://github.com/llnl/cram/archive/v1.0.1.tar.gz"
|
||||||
|
|
||||||
version('1.0.1', 'c73711e945cf5dc603e44395f6647f5e')
|
version('1.0.1', 'c73711e945cf5dc603e44395f6647f5e')
|
||||||
|
|
||||||
extends('python')
|
extends('python@2.7:')
|
||||||
depends_on("mpi")
|
depends_on('mpi')
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
cmake(".", *std_cmake_args)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Dakota(Package):
|
class Dakota(CMakePackage):
|
||||||
"""The Dakota toolkit provides a flexible, extensible interface between
|
"""The Dakota toolkit provides a flexible, extensible interface between
|
||||||
analysis codes and iterative systems analysis methods. Dakota
|
analysis codes and iterative systems analysis methods. Dakota
|
||||||
contains algorithms for:
|
contains algorithms for:
|
||||||
@ -49,8 +49,6 @@ class Dakota(Package):
|
|||||||
|
|
||||||
version('6.3', '05a58d209fae604af234c894c3f73f6d')
|
version('6.3', '05a58d209fae604af234c894c3f73f6d')
|
||||||
|
|
||||||
variant('debug', default=False,
|
|
||||||
description='Builds a debug version of the libraries')
|
|
||||||
variant('shared', default=True,
|
variant('shared', default=True,
|
||||||
description='Enables the build of shared libraries')
|
description='Enables the build of shared libraries')
|
||||||
variant('mpi', default=True, description='Activates MPI support')
|
variant('mpi', default=True, description='Activates MPI support')
|
||||||
@ -61,28 +59,20 @@ class Dakota(Package):
|
|||||||
|
|
||||||
depends_on('python')
|
depends_on('python')
|
||||||
depends_on('boost')
|
depends_on('boost')
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8.9:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
options = []
|
spec = self.spec
|
||||||
options.extend(std_cmake_args)
|
|
||||||
|
|
||||||
options.extend([
|
args = [
|
||||||
'-DCMAKE_BUILD_TYPE:STRING=%s' % (
|
|
||||||
'Debug' if '+debug' in spec else 'Release'),
|
|
||||||
'-DBUILD_SHARED_LIBS:BOOL=%s' % (
|
'-DBUILD_SHARED_LIBS:BOOL=%s' % (
|
||||||
'ON' if '+shared' in spec else 'OFF')])
|
'ON' if '+shared' in spec else 'OFF'),
|
||||||
|
]
|
||||||
|
|
||||||
if '+mpi' in spec:
|
if '+mpi' in spec:
|
||||||
options.extend([
|
args.extend([
|
||||||
'-DDAKOTA_HAVE_MPI:BOOL=ON',
|
'-DDAKOTA_HAVE_MPI:BOOL=ON',
|
||||||
'-DMPI_CXX_COMPILER:STRING=%s' % join_path(
|
'-DMPI_CXX_COMPILER:STRING=%s' % join_path(spec['mpi'].mpicxx),
|
||||||
spec['mpi'].prefix.bin, 'mpicxx')])
|
])
|
||||||
|
|
||||||
build_directory = join_path(self.stage.path, 'spack-build')
|
return args
|
||||||
source_directory = self.stage.source_path
|
|
||||||
|
|
||||||
with working_dir(build_directory, create=True):
|
|
||||||
cmake(source_directory, *options)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Damselfly(Package):
|
class Damselfly(CMakePackage):
|
||||||
"""Damselfly is a model-based parallel network simulator."""
|
"""Damselfly is a model-based parallel network simulator."""
|
||||||
homepage = "https://github.com/llnl/damselfly"
|
homepage = "https://github.com/llnl/damselfly"
|
||||||
url = "https://github.com/llnl/damselfly"
|
url = "https://github.com/llnl/damselfly"
|
||||||
@ -33,10 +33,4 @@ class Damselfly(Package):
|
|||||||
version('1.0', '05cf7e2d8ece4408c0f2abb7ab63fd74c0d62895',
|
version('1.0', '05cf7e2d8ece4408c0f2abb7ab63fd74c0d62895',
|
||||||
git='https://github.com/llnl/damselfly.git', tag='v1.0')
|
git='https://github.com/llnl/damselfly.git', tag='v1.0')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.6:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
with working_dir('spack-build', create=True):
|
|
||||||
cmake('-DCMAKE_BUILD_TYPE=release', '..', *std_cmake_args)
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Doxygen(Package):
|
class Doxygen(CMakePackage):
|
||||||
"""Doxygen is the de facto standard tool for generating documentation
|
"""Doxygen is the de facto standard tool for generating documentation
|
||||||
from annotated C++ sources, but it also supports other popular programming
|
from annotated C++ sources, but it also supports other popular programming
|
||||||
languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba,
|
languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba,
|
||||||
@ -49,9 +49,3 @@ class Doxygen(Package):
|
|||||||
|
|
||||||
# optional dependencies
|
# optional dependencies
|
||||||
depends_on("graphviz", when="+graphviz", type='run')
|
depends_on("graphviz", when="+graphviz", type='run')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
cmake('.', *std_cmake_args)
|
|
||||||
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Gflags(Package):
|
class Gflags(CMakePackage):
|
||||||
"""The gflags package contains a C++ library that implements
|
"""The gflags package contains a C++ library that implements
|
||||||
commandline flags processing. It includes built-in support for
|
commandline flags processing. It includes built-in support for
|
||||||
standard types such as string and the ability to define flags
|
standard types such as string and the ability to define flags
|
||||||
@ -37,11 +37,7 @@ class Gflags(Package):
|
|||||||
|
|
||||||
version('2.1.2', 'ac432de923f9de1e9780b5254884599f')
|
version('2.1.2', 'ac432de923f9de1e9780b5254884599f')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8.12:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
cmake("-DCMAKE_INSTALL_PREFIX=" + prefix,
|
return ['-DBUILD_SHARED_LIBS=ON']
|
||||||
"-DBUILD_SHARED_LIBS=ON")
|
|
||||||
make()
|
|
||||||
make("test")
|
|
||||||
make("install")
|
|
||||||
|
@ -25,11 +25,9 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Glm(Package):
|
class Glm(CMakePackage):
|
||||||
"""OpenGL Mathematics (GLM) is a header only C++ mathematics library for
|
"""OpenGL Mathematics (GLM) is a header only C++ mathematics library for
|
||||||
graphics software based on the OpenGL Shading Language (GLSL)
|
graphics software based on the OpenGL Shading Language (GLSL) specification
|
||||||
specification.
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
homepage = "https://github.com/g-truc/glm"
|
homepage = "https://github.com/g-truc/glm"
|
||||||
@ -37,10 +35,4 @@ class Glm(Package):
|
|||||||
|
|
||||||
version('0.9.7.1', '61af6639cdf652d1cdd7117190afced8')
|
version('0.9.7.1', '61af6639cdf652d1cdd7117190afced8')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.6:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
with working_dir('spack-build', create=True):
|
|
||||||
cmake('..', *std_cmake_args)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Graphlib(Package):
|
class Graphlib(CMakePackage):
|
||||||
"""Library to create, manipulate, and export graphs Graphlib."""
|
"""Library to create, manipulate, and export graphs Graphlib."""
|
||||||
homepage = "https://github.com/LLNL/graphlib"
|
homepage = "https://github.com/LLNL/graphlib"
|
||||||
url = "https://github.com/LLNL/graphlib/archive/v2.0.0.tar.gz"
|
url = "https://github.com/LLNL/graphlib/archive/v2.0.0.tar.gz"
|
||||||
@ -33,10 +33,4 @@ class Graphlib(Package):
|
|||||||
version('2.0.0', '43c6df84f1d38ba5a5dce0ae19371a70')
|
version('2.0.0', '43c6df84f1d38ba5a5dce0ae19371a70')
|
||||||
version('3.0.0', '625d199f97ab1b84cbc8daabcaee5e2a')
|
version('3.0.0', '625d199f97ab1b84cbc8daabcaee5e2a')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.6:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
cmake(".", *std_cmake_args)
|
|
||||||
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class GribApi(Package):
|
class GribApi(CMakePackage):
|
||||||
"""The ECMWF GRIB API is an application program interface accessible from
|
"""The ECMWF GRIB API is an application program interface accessible from
|
||||||
C, FORTRAN and Python programs developed for encoding and decoding WMO
|
C, FORTRAN and Python programs developed for encoding and decoding WMO
|
||||||
FM-92 GRIB edition 1 and edition 2 messages."""
|
FM-92 GRIB edition 1 and edition 2 messages."""
|
||||||
@ -40,42 +40,41 @@ class GribApi(Package):
|
|||||||
variant('netcdf', default=False, description='Enable netcdf encoding/decoding using netcdf library')
|
variant('netcdf', default=False, description='Enable netcdf encoding/decoding using netcdf library')
|
||||||
variant('jpeg', default=True, description='Enable jpeg 2000 for grib 2 decoding/encoding')
|
variant('jpeg', default=True, description='Enable jpeg 2000 for grib 2 decoding/encoding')
|
||||||
variant('png', default=False, description='Enable png for decoding/encoding')
|
variant('png', default=False, description='Enable png for decoding/encoding')
|
||||||
|
variant('build_type', default='RelWithDebInfo',
|
||||||
|
description='The build type to build',
|
||||||
|
values=('Debug', 'Release', 'RelWithDebInfo', 'Production'))
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
|
||||||
depends_on('libpng', when='+png')
|
depends_on('libpng', when='+png')
|
||||||
depends_on('netcdf', when='+netcdf')
|
depends_on('netcdf', when='+netcdf')
|
||||||
depends_on('jasper', when='+jpeg')
|
depends_on('jasper', when='+jpeg')
|
||||||
|
depends_on('cmake@2.8.11:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
options = []
|
spec = self.spec
|
||||||
options.extend(std_cmake_args)
|
args = ['-DBUILD_SHARED_LIBS=BOTH']
|
||||||
options.append('-DBUILD_SHARED_LIBS=BOTH')
|
|
||||||
|
|
||||||
# We will add python support later.
|
# We will add python support later.
|
||||||
options.append('-DENABLE_PYTHON=OFF')
|
args.append('-DENABLE_PYTHON=OFF')
|
||||||
|
|
||||||
# Disable FORTRAN interface if we don't have it.
|
# Disable FORTRAN interface if we don't have it.
|
||||||
if (self.compiler.f77 is None) or (self.compiler.fc is None):
|
if (self.compiler.f77 is None) or (self.compiler.fc is None):
|
||||||
options.append('-DENABLE_FORTRAN=OFF')
|
args.append('-DENABLE_FORTRAN=OFF')
|
||||||
|
|
||||||
if '+netcdf' in spec:
|
if '+netcdf' in spec:
|
||||||
options.append('-DENABLE_NETCDF=ON')
|
args.append('-DENABLE_NETCDF=ON')
|
||||||
options.append('-DNETCDF_PATH=%s' % spec['netcdf'].prefix)
|
args.append('-DNETCDF_PATH=%s' % spec['netcdf'].prefix)
|
||||||
else:
|
else:
|
||||||
options.append('-DENABLE_NETCDF=OFF')
|
args.append('-DENABLE_NETCDF=OFF')
|
||||||
|
|
||||||
if '+jpeg' in spec:
|
if '+jpeg' in spec:
|
||||||
options.append('-DENABLE_JPG=ON')
|
args.append('-DENABLE_JPG=ON')
|
||||||
options.append('-DJASPER_PATH=%s' % spec['jasper'].prefix)
|
args.append('-DJASPER_PATH=%s' % spec['jasper'].prefix)
|
||||||
else:
|
else:
|
||||||
options.append('-DENABLE_JPG=OFF')
|
args.append('-DENABLE_JPG=OFF')
|
||||||
|
|
||||||
if '+png' in spec:
|
if '+png' in spec:
|
||||||
options.append('-DENABLE_PNG=ON')
|
args.append('-DENABLE_PNG=ON')
|
||||||
else:
|
else:
|
||||||
options.append('-DENABLE_PNG=OFF')
|
args.append('-DENABLE_PNG=OFF')
|
||||||
|
|
||||||
with working_dir('spack-build', create=True):
|
return args
|
||||||
cmake('..', *options)
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Hepmc(Package):
|
class Hepmc(CMakePackage):
|
||||||
"""The HepMC package is an object oriented, C++ event record for
|
"""The HepMC package is an object oriented, C++ event record for
|
||||||
High Energy Physics Monte Carlo generators and simulation."""
|
High Energy Physics Monte Carlo generators and simulation."""
|
||||||
|
|
||||||
@ -39,17 +39,10 @@ class Hepmc(Package):
|
|||||||
version('2.06.06', '102e5503537a3ecd6ea6f466aa5bc4ae')
|
version('2.06.06', '102e5503537a3ecd6ea6f466aa5bc4ae')
|
||||||
version('2.06.05', '2a4a2a945adf26474b8bdccf4f881d9c')
|
version('2.06.05', '2a4a2a945adf26474b8bdccf4f881d9c')
|
||||||
|
|
||||||
depends_on("cmake", type='build')
|
depends_on('cmake@2.6:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
build_directory = join_path(self.stage.path, 'spack-build')
|
return [
|
||||||
source_directory = self.stage.source_path
|
'-Dmomentum:STRING=GEV',
|
||||||
options = [source_directory]
|
'-Dlength:STRING=MM',
|
||||||
options.append('-Dmomentum:STRING=GEV')
|
]
|
||||||
options.append('-Dlength:STRING=MM')
|
|
||||||
options.extend(std_cmake_args)
|
|
||||||
|
|
||||||
with working_dir(build_directory, create=True):
|
|
||||||
cmake(*options)
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Jsoncpp(Package):
|
class Jsoncpp(CMakePackage):
|
||||||
"""JsonCpp is a C++ library that allows manipulating JSON values,
|
"""JsonCpp is a C++ library that allows manipulating JSON values,
|
||||||
including serialization and deserialization to and from strings.
|
including serialization and deserialization to and from strings.
|
||||||
It can also preserve existing comment in unserialization/serialization
|
It can also preserve existing comment in unserialization/serialization
|
||||||
@ -36,14 +36,14 @@ class Jsoncpp(Package):
|
|||||||
|
|
||||||
version('1.7.3', 'aff6bfb5b81d9a28785429faa45839c5')
|
version('1.7.3', 'aff6bfb5b81d9a28785429faa45839c5')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
variant('build_type', default='RelWithDebInfo',
|
||||||
|
description='The build type to build',
|
||||||
|
values=('Debug', 'Release', 'RelWithDebInfo',
|
||||||
|
'MinSizeRel', 'Coverage'))
|
||||||
|
|
||||||
|
depends_on('cmake@3.1:', type='build')
|
||||||
|
# TODO: Add a 'test' deptype
|
||||||
# depends_on('python', type='test')
|
# depends_on('python', type='test')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
with working_dir('spack-build', create=True):
|
return ['-DBUILD_SHARED_LIBS=ON']
|
||||||
cmake('..', '-DBUILD_SHARED_LIBS=ON', *std_cmake_args)
|
|
||||||
|
|
||||||
make()
|
|
||||||
if self.run_tests:
|
|
||||||
make('test') # Python needed to run tests
|
|
||||||
make('install')
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Kealib(Package):
|
class Kealib(CMakePackage):
|
||||||
"""An HDF5 Based Raster File Format
|
"""An HDF5 Based Raster File Format
|
||||||
|
|
||||||
KEALib provides an implementation of the GDAL data model.
|
KEALib provides an implementation of the GDAL data model.
|
||||||
@ -46,16 +46,13 @@ class Kealib(Package):
|
|||||||
|
|
||||||
version('1.4.5', '112e9c42d980b2d2987a3c15d0833a5d')
|
version('1.4.5', '112e9c42d980b2d2987a3c15d0833a5d')
|
||||||
|
|
||||||
depends_on("hdf5")
|
depends_on('hdf5')
|
||||||
|
depends_on('cmake@2.8.10:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
root_cmakelists_dir = 'trunk'
|
||||||
with working_dir('trunk', create=False):
|
|
||||||
cmake_args = []
|
|
||||||
cmake_args.append("-DCMAKE_INSTALL_PREFIX=%s" % prefix)
|
|
||||||
cmake_args.append("-DHDF5_INCLUDE_DIR=%s" %
|
|
||||||
spec['hdf5'].prefix.include)
|
|
||||||
cmake_args.append("-DHDF5_LIB_PATH=%s" % spec['hdf5'].prefix.lib)
|
|
||||||
cmake('.', *cmake_args)
|
|
||||||
|
|
||||||
make()
|
def cmake_args(self):
|
||||||
make("install")
|
return [
|
||||||
|
'-DHDF5_INCLUDE_DIR=%s' % spec['hdf5'].prefix.include,
|
||||||
|
'-DHDF5_LIB_PATH=%s' % spec['hdf5'].prefix.lib,
|
||||||
|
]
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Kripke(Package):
|
class Kripke(CMakePackage):
|
||||||
"""Kripke is a simple, scalable, 3D Sn deterministic particle
|
"""Kripke is a simple, scalable, 3D Sn deterministic particle
|
||||||
transport proxy/mini app.
|
transport proxy/mini app.
|
||||||
"""
|
"""
|
||||||
@ -38,21 +38,20 @@ class Kripke(Package):
|
|||||||
variant('mpi', default=True, description='Build with MPI.')
|
variant('mpi', default=True, description='Build with MPI.')
|
||||||
variant('openmp', default=True, description='Build with OpenMP enabled.')
|
variant('openmp', default=True, description='Build with OpenMP enabled.')
|
||||||
|
|
||||||
depends_on('mpi', when="+mpi")
|
depends_on('mpi', when='+mpi')
|
||||||
|
depends_on('cmake@3.0:', type='build')
|
||||||
|
|
||||||
|
def cmake_args(self):
|
||||||
|
def enabled(variant):
|
||||||
|
return (1 if variant in spec else 0)
|
||||||
|
|
||||||
|
return [
|
||||||
|
'-DENABLE_OPENMP=%d' % enabled('+openmp'),
|
||||||
|
'-DENABLE_MPI=%d' % enabled('+mpi'),
|
||||||
|
]
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
with working_dir('build', create=True):
|
# Kripke does not provide install target, so we have to copy
|
||||||
def enabled(variant):
|
# things into place.
|
||||||
return (1 if variant in spec else 0)
|
mkdirp(prefix.bin)
|
||||||
|
install('kripke', prefix.bin)
|
||||||
cmake('-DCMAKE_INSTALL_PREFIX:PATH=.',
|
|
||||||
'-DENABLE_OPENMP=%d' % enabled('+openmp'),
|
|
||||||
'-DENABLE_MPI=%d' % enabled('+mpi'),
|
|
||||||
'..',
|
|
||||||
*std_cmake_args)
|
|
||||||
make()
|
|
||||||
|
|
||||||
# Kripke does not provide install target, so we have to copy
|
|
||||||
# things into place.
|
|
||||||
mkdirp(prefix.bin)
|
|
||||||
install('kripke', prefix.bin)
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Libemos(Package):
|
class Libemos(CMakePackage):
|
||||||
"""The Interpolation library (EMOSLIB) includes Interpolation software and
|
"""The Interpolation library (EMOSLIB) includes Interpolation software and
|
||||||
BUFR & CREX encoding/decoding routines."""
|
BUFR & CREX encoding/decoding routines."""
|
||||||
|
|
||||||
@ -37,27 +37,27 @@ class Libemos(Package):
|
|||||||
|
|
||||||
variant('eccodes', default=False,
|
variant('eccodes', default=False,
|
||||||
description="Use eccodes instead of grib-api for GRIB decoding")
|
description="Use eccodes instead of grib-api for GRIB decoding")
|
||||||
|
variant('build_type', default='RelWithDebInfo',
|
||||||
|
description='The build type to build',
|
||||||
|
values=('Debug', 'Release', 'RelWithDebInfo', 'Production'))
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
|
||||||
depends_on('eccodes', when='+eccodes')
|
depends_on('eccodes', when='+eccodes')
|
||||||
depends_on('grib-api', when='~eccodes')
|
depends_on('grib-api', when='~eccodes')
|
||||||
depends_on('fftw+float+double')
|
depends_on('fftw+float+double')
|
||||||
|
depends_on('cmake@2.8.11:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
options = []
|
spec = self.spec
|
||||||
options.extend(std_cmake_args)
|
args = []
|
||||||
|
|
||||||
if spec.satisfies('+eccodes'):
|
if spec.satisfies('+eccodes'):
|
||||||
options.append('-DENABLE_ECCODES=ON')
|
args.append('-DENABLE_ECCODES=ON')
|
||||||
options.append('-DECCODES_PATH=%s' % spec['eccodes'].prefix)
|
args.append('-DECCODES_PATH=%s' % spec['eccodes'].prefix)
|
||||||
else:
|
else:
|
||||||
options.append('-DENABLE_ECCODES=OFF')
|
args.append('-DENABLE_ECCODES=OFF')
|
||||||
options.append('-DGRIB_API_PATH=%s' % spec['grib-api'].prefix)
|
args.append('-DGRIB_API_PATH=%s' % spec['grib-api'].prefix)
|
||||||
|
|
||||||
# To support long pathnames that spack generates
|
# To support long pathnames that spack generates
|
||||||
options.append('-DCMAKE_Fortran_FLAGS=-ffree-line-length-none')
|
args.append('-DCMAKE_Fortran_FLAGS=-ffree-line-length-none')
|
||||||
|
|
||||||
with working_dir('spack-build', create=True):
|
return args
|
||||||
cmake('..', *options)
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -25,28 +25,24 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class LlvmLld(Package):
|
class LlvmLld(CMakePackage):
|
||||||
"""lld - The LLVM Linker
|
"""lld - The LLVM Linker
|
||||||
lld is a new set of modular code for creating linker tools."""
|
lld is a new set of modular code for creating linker tools."""
|
||||||
homepage = "http://lld.llvm.org"
|
homepage = "http://lld.llvm.org"
|
||||||
url = "http://llvm.org/releases/3.4/lld-3.4.src.tar.gz"
|
url = "http://llvm.org/releases/3.4/lld-3.4.src.tar.gz"
|
||||||
|
|
||||||
depends_on('llvm')
|
|
||||||
|
|
||||||
version('3.4', '3b6a17e58c8416c869c14dd37682f78e')
|
version('3.4', '3b6a17e58c8416c869c14dd37682f78e')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('llvm')
|
||||||
|
depends_on('cmake@2.8:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
if 'CXXFLAGS' in env and env['CXXFLAGS']:
|
if 'CXXFLAGS' in env and env['CXXFLAGS']:
|
||||||
env['CXXFLAGS'] += ' ' + self.compiler.cxx11_flag
|
env['CXXFLAGS'] += ' ' + self.compiler.cxx11_flag
|
||||||
else:
|
else:
|
||||||
env['CXXFLAGS'] = self.compiler.cxx11_flag
|
env['CXXFLAGS'] = self.compiler.cxx11_flag
|
||||||
|
|
||||||
with working_dir('spack-build', create=True):
|
return [
|
||||||
cmake('..',
|
'-DLLD_PATH_TO_LLVM_BUILD=%s' % spec['llvm'].prefix,
|
||||||
'-DLLD_PATH_TO_LLVM_BUILD=%s' % spec['llvm'].prefix,
|
'-DLLVM_MAIN_SRC_DIR=%s' % spec['llvm'].prefix,
|
||||||
'-DLLVM_MAIN_SRC_DIR=%s' % spec['llvm'].prefix,
|
]
|
||||||
*std_cmake_args)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class LlvmOpenmpOmpt(Package):
|
class LlvmOpenmpOmpt(CMakePackage):
|
||||||
"""The OpenMP subproject provides an OpenMP runtime for use with the
|
"""The OpenMP subproject provides an OpenMP runtime for use with the
|
||||||
OpenMP implementation in Clang. This branch includes experimental
|
OpenMP implementation in Clang. This branch includes experimental
|
||||||
changes for OMPT, the OpenMP Tools interface"""
|
changes for OMPT, the OpenMP Tools interface"""
|
||||||
@ -42,25 +42,26 @@ class LlvmOpenmpOmpt(Package):
|
|||||||
git='https://github.com/OpenMPToolsInterface/LLVM-openmp.git',
|
git='https://github.com/OpenMPToolsInterface/LLVM-openmp.git',
|
||||||
commit='982a08bcf3df9fb5afc04ac3bada47f19cc4e3d3')
|
commit='982a08bcf3df9fb5afc04ac3bada47f19cc4e3d3')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8:', type='build')
|
||||||
depends_on('llvm')
|
depends_on('llvm')
|
||||||
depends_on('ninja', type='build')
|
depends_on('ninja', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
|
return [
|
||||||
|
'-G', 'Ninja',
|
||||||
|
'-DCMAKE_C_COMPILER=clang',
|
||||||
|
'-DCMAKE_CXX_COMPILER=clang++',
|
||||||
|
'-DCMAKE_BUILD_TYPE=Release',
|
||||||
|
'-DLIBOMP_OMPT_SUPPORT=on',
|
||||||
|
'-DLIBOMP_OMPT_BLAME=on',
|
||||||
|
'-DLIBOMP_OMPT_TRACE=on'
|
||||||
|
]
|
||||||
|
|
||||||
with working_dir('spack-build', create=True):
|
# TODO: Add better ninja support to CMakePackage
|
||||||
cmake_args = std_cmake_args[:]
|
def build(self, spec, prefix):
|
||||||
cmake_args.extend([
|
with working_dir(self.build_directory):
|
||||||
'-G', 'Ninja',
|
|
||||||
'-DCMAKE_C_COMPILER=clang',
|
|
||||||
'-DCMAKE_CXX_COMPILER=clang++',
|
|
||||||
'-DCMAKE_BUILD_TYPE=Release',
|
|
||||||
'-DLIBOMP_OMPT_SUPPORT=on',
|
|
||||||
'-DLIBOMP_OMPT_BLAME=on',
|
|
||||||
'-DLIBOMP_OMPT_TRACE=on'
|
|
||||||
])
|
|
||||||
|
|
||||||
cmake('..', *cmake_args)
|
|
||||||
ninja = Executable('ninja')
|
|
||||||
ninja()
|
ninja()
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
with working_dir(self.build_directory):
|
||||||
ninja('install')
|
ninja('install')
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
import glob
|
import glob
|
||||||
|
|
||||||
|
|
||||||
class Magics(Package):
|
class Magics(CMakePackage):
|
||||||
"""Magics is the latest generation of the ECMWF's Meteorological plotting
|
"""Magics is the latest generation of the ECMWF's Meteorological plotting
|
||||||
software MAGICS. Although completely redesigned in C++, it is intended
|
software MAGICS. Although completely redesigned in C++, it is intended
|
||||||
to be as backwards-compatible as possible with the Fortran interface."""
|
to be as backwards-compatible as possible with the Fortran interface."""
|
||||||
@ -52,8 +52,11 @@ class Magics(Package):
|
|||||||
variant('metview', default=False, description='Enable metview support')
|
variant('metview', default=False, description='Enable metview support')
|
||||||
variant('qt', default=False, description='Enable metview support with qt')
|
variant('qt', default=False, description='Enable metview support with qt')
|
||||||
variant('eccodes', default=False, description='Use eccodes instead of grib-api')
|
variant('eccodes', default=False, description='Use eccodes instead of grib-api')
|
||||||
|
variant('build_type', default='RelWithDebInfo',
|
||||||
|
description='The build type to build',
|
||||||
|
values=('Debug', 'Release', 'RelWithDebInfo', 'Production'))
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8.11:', type='build')
|
||||||
depends_on('pkg-config', type='build')
|
depends_on('pkg-config', type='build')
|
||||||
|
|
||||||
# Currently python is only necessary to run
|
# Currently python is only necessary to run
|
||||||
@ -80,53 +83,50 @@ def patch(self):
|
|||||||
for pyfile in glob.glob('*/*.py'):
|
for pyfile in glob.glob('*/*.py'):
|
||||||
filter_file('#!/usr/bin/python', '#!/usr/bin/env python', pyfile)
|
filter_file('#!/usr/bin/python', '#!/usr/bin/env python', pyfile)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
options = []
|
args = [
|
||||||
options.extend(std_cmake_args)
|
'-DENABLE_ODB=OFF',
|
||||||
options.append('-DENABLE_ODB=OFF')
|
'-DENABLE_PYTHON=OFF',
|
||||||
options.append('-DENABLE_PYTHON=OFF')
|
'-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||||
options.append('-DBOOST_ROOT=%s' % spec['boost'].prefix)
|
'-DPROJ4_PATH=%s' % spec['proj'].prefix,
|
||||||
options.append('-DPROJ4_PATH=%s' % spec['proj'].prefix)
|
'-DENABLE_TESTS=OFF',
|
||||||
options.append('-DENABLE_TESTS=OFF')
|
]
|
||||||
|
|
||||||
if '+bufr' in spec:
|
if '+bufr' in spec:
|
||||||
options.append('-DENABLE_BUFR=ON')
|
args.append('-DENABLE_BUFR=ON')
|
||||||
options.append('-DLIBEMOS_PATH=%s' % spec['libemos'].prefix)
|
args.append('-DLIBEMOS_PATH=%s' % spec['libemos'].prefix)
|
||||||
else:
|
else:
|
||||||
options.append('-DENABLE_BUFR=OFF')
|
args.append('-DENABLE_BUFR=OFF')
|
||||||
|
|
||||||
if '+netcdf' in spec:
|
if '+netcdf' in spec:
|
||||||
options.append('-DENABLE_NETCDF=ON')
|
args.append('-DENABLE_NETCDF=ON')
|
||||||
options.append('-DNETCDF_PATH=%s' % spec['netcdf-cxx'].prefix)
|
args.append('-DNETCDF_PATH=%s' % spec['netcdf-cxx'].prefix)
|
||||||
else:
|
else:
|
||||||
options.append('-DENABLE_NETCDF=OFF')
|
args.append('-DENABLE_NETCDF=OFF')
|
||||||
|
|
||||||
if '+cairo' in spec:
|
if '+cairo' in spec:
|
||||||
options.append('-DENABLE_CAIRO=ON')
|
args.append('-DENABLE_CAIRO=ON')
|
||||||
else:
|
else:
|
||||||
options.append('-DENABLE_CAIRO=OFF')
|
args.append('-DENABLE_CAIRO=OFF')
|
||||||
|
|
||||||
if '+metview' in spec:
|
if '+metview' in spec:
|
||||||
if '+qt' in spec:
|
if '+qt' in spec:
|
||||||
options.append('-DENABLE_METVIEW=ON')
|
args.append('-DENABLE_METVIEW=ON')
|
||||||
if spec['qt'].version[0] == 5:
|
if spec['qt'].version[0] == 5:
|
||||||
options.append('-DENABLE_QT5=ON')
|
args.append('-DENABLE_QT5=ON')
|
||||||
else:
|
else:
|
||||||
options.append('-DENABLE_METVIEW_NO_QT=ON')
|
args.append('-DENABLE_METVIEW_NO_QT=ON')
|
||||||
else:
|
else:
|
||||||
options.append('-DENABLE_METVIEW=OFF')
|
args.append('-DENABLE_METVIEW=OFF')
|
||||||
|
|
||||||
if '+eccodes' in spec:
|
if '+eccodes' in spec:
|
||||||
options.append('-DENABLE_ECCODES=ON')
|
args.append('-DENABLE_ECCODES=ON')
|
||||||
options.append('-DECCODES_PATH=%s' % spec['eccodes'].prefix)
|
args.append('-DECCODES_PATH=%s' % spec['eccodes'].prefix)
|
||||||
else:
|
else:
|
||||||
options.append('-DENABLE_ECCODES=OFF')
|
args.append('-DENABLE_ECCODES=OFF')
|
||||||
options.append('-DGRIB_API_PATH=%s' % spec['grib-api'].prefix)
|
args.append('-DGRIB_API_PATH=%s' % spec['grib-api'].prefix)
|
||||||
|
|
||||||
if (self.compiler.f77 is None) or (self.compiler.fc is None):
|
if (self.compiler.f77 is None) or (self.compiler.fc is None):
|
||||||
options.append('-DENABLE_FORTRAN=OFF')
|
args.append('-DENABLE_FORTRAN=OFF')
|
||||||
|
|
||||||
with working_dir('spack-build', create=True):
|
return args
|
||||||
cmake('..', *options)
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Mariadb(Package):
|
class Mariadb(CMakePackage):
|
||||||
"""MariaDB turns data into structured information in a wide array of
|
"""MariaDB turns data into structured information in a wide array of
|
||||||
applications, ranging from banking to websites. It is an enhanced, drop-in
|
applications, ranging from banking to websites. It is an enhanced, drop-in
|
||||||
replacement for MySQL. MariaDB is used because it is fast, scalable and
|
replacement for MySQL. MariaDB is used because it is fast, scalable and
|
||||||
@ -45,18 +45,10 @@ class Mariadb(Package):
|
|||||||
'operations in the mariadb client library.')
|
'operations in the mariadb client library.')
|
||||||
|
|
||||||
depends_on('boost')
|
depends_on('boost')
|
||||||
depends_on('cmake')
|
depends_on('cmake@2.6:', type='build')
|
||||||
depends_on('jemalloc')
|
depends_on('jemalloc')
|
||||||
depends_on('libaio')
|
depends_on('libaio')
|
||||||
depends_on('libedit')
|
depends_on('libedit')
|
||||||
depends_on('libevent', when='+nonblocking')
|
depends_on('libevent', when='+nonblocking')
|
||||||
depends_on('ncurses')
|
depends_on('ncurses')
|
||||||
depends_on('zlib')
|
depends_on('zlib')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
with working_dir('spack-build', create=True):
|
|
||||||
|
|
||||||
cmake('..', *std_cmake_args)
|
|
||||||
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Mbedtls(Package):
|
class Mbedtls(CMakePackage):
|
||||||
"""mbed TLS (formerly known as PolarSSL) makes it trivially easy for
|
"""mbed TLS (formerly known as PolarSSL) makes it trivially easy for
|
||||||
developers to include cryptographic and SSL/TLS capabilities in
|
developers to include cryptographic and SSL/TLS capabilities in
|
||||||
their (embedded) products, facilitating this functionality with a
|
their (embedded) products, facilitating this functionality with a
|
||||||
@ -42,10 +42,9 @@ class Mbedtls(Package):
|
|||||||
version('2.1.3', '7eb4cf1dfa68578a2c8dbd0b6fa752dd')
|
version('2.1.3', '7eb4cf1dfa68578a2c8dbd0b6fa752dd')
|
||||||
version('1.3.16', '4144d7320c691f721aeb9e67a1bc38e0')
|
version('1.3.16', '4144d7320c691f721aeb9e67a1bc38e0')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
variant('build_type', default='Release',
|
||||||
|
description='The build type to build',
|
||||||
|
values=('Debug', 'Release', 'Coverage', 'ASan', 'ASanDbg',
|
||||||
|
'MemSan', 'MemSanDbg', 'Check', 'CheckFull'))
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
depends_on('cmake@2.6:', type='build')
|
||||||
cmake('.', *std_cmake_args)
|
|
||||||
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Mitos(Package):
|
class Mitos(CMakePackage):
|
||||||
"""Mitos is a library and a tool for collecting sampled memory
|
"""Mitos is a library and a tool for collecting sampled memory
|
||||||
performance data to view with MemAxes"""
|
performance data to view with MemAxes"""
|
||||||
|
|
||||||
@ -40,10 +40,4 @@ class Mitos(Package):
|
|||||||
depends_on('dyninst@8.2.1:')
|
depends_on('dyninst@8.2.1:')
|
||||||
depends_on('hwloc')
|
depends_on('hwloc')
|
||||||
depends_on('mpi')
|
depends_on('mpi')
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
with working_dir('spack-build', create=True):
|
|
||||||
cmake('..', *std_cmake_args)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,17 +25,11 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class MsgpackC(Package):
|
class MsgpackC(CMakePackage):
|
||||||
"""A small, fast binary interchange format convertible to/from JSON"""
|
"""A small, fast binary interchange format convertible to/from JSON"""
|
||||||
homepage = "http://www.msgpack.org"
|
homepage = "http://www.msgpack.org"
|
||||||
url = "https://github.com/msgpack/msgpack-c/archive/cpp-1.4.1.tar.gz"
|
url = "https://github.com/msgpack/msgpack-c/archive/cpp-1.4.1.tar.gz"
|
||||||
|
|
||||||
version('1.4.1', 'e2fd3a7419b9bc49e5017fdbefab87e0')
|
version('1.4.1', 'e2fd3a7419b9bc49e5017fdbefab87e0')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8.12:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
cmake('.', *std_cmake_args)
|
|
||||||
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Muster(Package):
|
class Muster(CMakePackage):
|
||||||
"""The Muster library provides implementations of sequential and
|
"""The Muster library provides implementations of sequential and
|
||||||
parallel K-Medoids clustering algorithms. It is intended as a
|
parallel K-Medoids clustering algorithms. It is intended as a
|
||||||
general framework for parallel cluster analysis, particularly
|
general framework for parallel cluster analysis, particularly
|
||||||
@ -38,11 +38,6 @@ class Muster(Package):
|
|||||||
version('1.0.1', 'd709787db7e080447afb6571ac17723c')
|
version('1.0.1', 'd709787db7e080447afb6571ac17723c')
|
||||||
version('1.0', '2eec6979a4a36d3a65a792d12969be16')
|
version('1.0', '2eec6979a4a36d3a65a792d12969be16')
|
||||||
|
|
||||||
depends_on("boost")
|
depends_on('boost')
|
||||||
depends_on("mpi")
|
depends_on('mpi')
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
cmake(".", *std_cmake_args)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class OmptOpenmp(Package):
|
class OmptOpenmp(CMakePackage):
|
||||||
"""LLVM/Clang OpenMP runtime with OMPT support. This is a fork of the
|
"""LLVM/Clang OpenMP runtime with OMPT support. This is a fork of the
|
||||||
OpenMPToolsInterface/LLVM-openmp fork of the official LLVM OpenMP
|
OpenMPToolsInterface/LLVM-openmp fork of the official LLVM OpenMP
|
||||||
mirror. This library provides a drop-in replacement of the OpenMP
|
mirror. This library provides a drop-in replacement of the OpenMP
|
||||||
@ -37,13 +37,8 @@ class OmptOpenmp(Package):
|
|||||||
|
|
||||||
version('0.1', '2334e6a84b52da41b27afd9831ed5370')
|
version('0.1', '2334e6a84b52da41b27afd9831ed5370')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
conflicts('%gcc@:4.7')
|
||||||
with working_dir("runtime/build", create=True):
|
|
||||||
cmake('-DCMAKE_C_COMPILER=%s' % self.compiler.cc,
|
root_cmakelists_dir = 'runtime'
|
||||||
'-DCMAKE_CXX_COMPILER=%s' % self.compiler.cxx,
|
|
||||||
'-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
|
||||||
'..', *std_cmake_args)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Opencv(Package):
|
class Opencv(CMakePackage):
|
||||||
"""OpenCV is released under a BSD license and hence it's free for both
|
"""OpenCV is released under a BSD license and hence it's free for both
|
||||||
academic and commercial use. It has C++, C, Python and Java interfaces and
|
academic and commercial use. It has C++, C, Python and Java interfaces and
|
||||||
supports Windows, Linux, Mac OS, iOS and Android. OpenCV was designed for
|
supports Windows, Linux, Mac OS, iOS and Android. OpenCV was designed for
|
||||||
@ -47,8 +47,6 @@ class Opencv(Package):
|
|||||||
|
|
||||||
variant('shared', default=True,
|
variant('shared', default=True,
|
||||||
description='Enables the build of shared libraries')
|
description='Enables the build of shared libraries')
|
||||||
variant('debug', default=False,
|
|
||||||
description='Builds a debug version of the libraries')
|
|
||||||
|
|
||||||
variant('eigen', default=True, description='Activates support for eigen')
|
variant('eigen', default=True, description='Activates support for eigen')
|
||||||
variant('ipp', default=True, description='Activates support for IPP')
|
variant('ipp', default=True, description='Activates support for IPP')
|
||||||
@ -62,7 +60,6 @@ class Opencv(Package):
|
|||||||
variant('java', default=False,
|
variant('java', default=False,
|
||||||
description='Activates support for Java')
|
description='Activates support for Java')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
|
||||||
depends_on('eigen', when='+eigen', type='build')
|
depends_on('eigen', when='+eigen', type='build')
|
||||||
|
|
||||||
depends_on('zlib')
|
depends_on('zlib')
|
||||||
@ -80,13 +77,10 @@ class Opencv(Package):
|
|||||||
|
|
||||||
extends('python', when='+python')
|
extends('python', when='+python')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
cmake_options = []
|
spec = self.spec
|
||||||
cmake_options.extend(std_cmake_args)
|
|
||||||
|
|
||||||
cmake_options.extend([
|
args = [
|
||||||
'-DCMAKE_BUILD_TYPE:STRING={0}'.format((
|
|
||||||
'Debug' if '+debug' in spec else 'Release')),
|
|
||||||
'-DBUILD_SHARED_LIBS:BOOL={0}'.format((
|
'-DBUILD_SHARED_LIBS:BOOL={0}'.format((
|
||||||
'ON' if '+shared' in spec else 'OFF')),
|
'ON' if '+shared' in spec else 'OFF')),
|
||||||
'-DENABLE_PRECOMPILED_HEADERS:BOOL=OFF',
|
'-DENABLE_PRECOMPILED_HEADERS:BOOL=OFF',
|
||||||
@ -100,11 +94,11 @@ def install(self, spec, prefix):
|
|||||||
'ON' if '+vtk' in spec else 'OFF')),
|
'ON' if '+vtk' in spec else 'OFF')),
|
||||||
'-DBUILD_opencv_java:BOOL={0}'.format((
|
'-DBUILD_opencv_java:BOOL={0}'.format((
|
||||||
'ON' if '+java' in spec else 'OFF')),
|
'ON' if '+java' in spec else 'OFF')),
|
||||||
])
|
]
|
||||||
|
|
||||||
# Media I/O
|
# Media I/O
|
||||||
zlib = spec['zlib']
|
zlib = spec['zlib']
|
||||||
cmake_options.extend([
|
args.extend([
|
||||||
'-DZLIB_LIBRARY_{0}:FILEPATH={1}'.format((
|
'-DZLIB_LIBRARY_{0}:FILEPATH={1}'.format((
|
||||||
'DEBUG' if '+debug' in spec else 'RELEASE'),
|
'DEBUG' if '+debug' in spec else 'RELEASE'),
|
||||||
join_path(zlib.prefix.lib,
|
join_path(zlib.prefix.lib,
|
||||||
@ -113,7 +107,7 @@ def install(self, spec, prefix):
|
|||||||
])
|
])
|
||||||
|
|
||||||
libpng = spec['libpng']
|
libpng = spec['libpng']
|
||||||
cmake_options.extend([
|
args.extend([
|
||||||
'-DPNG_LIBRARY_{0}:FILEPATH={1}'.format((
|
'-DPNG_LIBRARY_{0}:FILEPATH={1}'.format((
|
||||||
'DEBUG' if '+debug' in spec else 'RELEASE'),
|
'DEBUG' if '+debug' in spec else 'RELEASE'),
|
||||||
join_path(libpng.prefix.lib,
|
join_path(libpng.prefix.lib,
|
||||||
@ -122,7 +116,7 @@ def install(self, spec, prefix):
|
|||||||
])
|
])
|
||||||
|
|
||||||
libjpeg = spec['libjpeg-turbo']
|
libjpeg = spec['libjpeg-turbo']
|
||||||
cmake_options.extend([
|
args.extend([
|
||||||
'-DJPEG_LIBRARY:FILEPATH={0}'.format(
|
'-DJPEG_LIBRARY:FILEPATH={0}'.format(
|
||||||
join_path(libjpeg.prefix.lib,
|
join_path(libjpeg.prefix.lib,
|
||||||
'libjpeg.{0}'.format(dso_suffix))),
|
'libjpeg.{0}'.format(dso_suffix))),
|
||||||
@ -130,7 +124,7 @@ def install(self, spec, prefix):
|
|||||||
])
|
])
|
||||||
|
|
||||||
libtiff = spec['libtiff']
|
libtiff = spec['libtiff']
|
||||||
cmake_options.extend([
|
args.extend([
|
||||||
'-DTIFF_LIBRARY_{0}:FILEPATH={1}'.format((
|
'-DTIFF_LIBRARY_{0}:FILEPATH={1}'.format((
|
||||||
'DEBUG' if '+debug' in spec else 'RELEASE'),
|
'DEBUG' if '+debug' in spec else 'RELEASE'),
|
||||||
join_path(libtiff.prefix.lib,
|
join_path(libtiff.prefix.lib,
|
||||||
@ -139,7 +133,7 @@ def install(self, spec, prefix):
|
|||||||
])
|
])
|
||||||
|
|
||||||
jasper = spec['jasper']
|
jasper = spec['jasper']
|
||||||
cmake_options.extend([
|
args.extend([
|
||||||
'-DJASPER_LIBRARY_{0}:FILEPATH={1}'.format((
|
'-DJASPER_LIBRARY_{0}:FILEPATH={1}'.format((
|
||||||
'DEBUG' if '+debug' in spec else 'RELEASE'),
|
'DEBUG' if '+debug' in spec else 'RELEASE'),
|
||||||
join_path(jasper.prefix.lib,
|
join_path(jasper.prefix.lib,
|
||||||
@ -149,17 +143,17 @@ def install(self, spec, prefix):
|
|||||||
|
|
||||||
# GUI
|
# GUI
|
||||||
if '+gtk' not in spec:
|
if '+gtk' not in spec:
|
||||||
cmake_options.extend([
|
args.extend([
|
||||||
'-DWITH_GTK:BOOL=OFF',
|
'-DWITH_GTK:BOOL=OFF',
|
||||||
'-DWITH_GTK_2_X:BOOL=OFF'
|
'-DWITH_GTK_2_X:BOOL=OFF'
|
||||||
])
|
])
|
||||||
elif '^gtkplus@3:' in spec:
|
elif '^gtkplus@3:' in spec:
|
||||||
cmake_options.extend([
|
args.extend([
|
||||||
'-DWITH_GTK:BOOL=ON',
|
'-DWITH_GTK:BOOL=ON',
|
||||||
'-DWITH_GTK_2_X:BOOL=OFF'
|
'-DWITH_GTK_2_X:BOOL=OFF'
|
||||||
])
|
])
|
||||||
elif '^gtkplus@2:3' in spec:
|
elif '^gtkplus@2:3' in spec:
|
||||||
cmake_options.extend([
|
args.extend([
|
||||||
'-DWITH_GTK:BOOL=OFF',
|
'-DWITH_GTK:BOOL=OFF',
|
||||||
'-DWITH_GTK_2_X:BOOL=ON'
|
'-DWITH_GTK_2_X:BOOL=ON'
|
||||||
])
|
])
|
||||||
@ -171,7 +165,7 @@ def install(self, spec, prefix):
|
|||||||
python_include_dir = spec['python'].headers.directories[0]
|
python_include_dir = spec['python'].headers.directories[0]
|
||||||
|
|
||||||
if '^python@3:' in spec:
|
if '^python@3:' in spec:
|
||||||
cmake_options.extend([
|
args.extend([
|
||||||
'-DBUILD_opencv_python3=ON',
|
'-DBUILD_opencv_python3=ON',
|
||||||
'-DPYTHON3_EXECUTABLE={0}'.format(python_exe),
|
'-DPYTHON3_EXECUTABLE={0}'.format(python_exe),
|
||||||
'-DPYTHON3_LIBRARY={0}'.format(python_lib),
|
'-DPYTHON3_LIBRARY={0}'.format(python_lib),
|
||||||
@ -179,7 +173,7 @@ def install(self, spec, prefix):
|
|||||||
'-DBUILD_opencv_python2=OFF',
|
'-DBUILD_opencv_python2=OFF',
|
||||||
])
|
])
|
||||||
elif '^python@2:3' in spec:
|
elif '^python@2:3' in spec:
|
||||||
cmake_options.extend([
|
args.extend([
|
||||||
'-DBUILD_opencv_python2=ON',
|
'-DBUILD_opencv_python2=ON',
|
||||||
'-DPYTHON2_EXECUTABLE={0}'.format(python_exe),
|
'-DPYTHON2_EXECUTABLE={0}'.format(python_exe),
|
||||||
'-DPYTHON2_LIBRARY={0}'.format(python_lib),
|
'-DPYTHON2_LIBRARY={0}'.format(python_lib),
|
||||||
@ -187,12 +181,9 @@ def install(self, spec, prefix):
|
|||||||
'-DBUILD_opencv_python3=OFF',
|
'-DBUILD_opencv_python3=OFF',
|
||||||
])
|
])
|
||||||
else:
|
else:
|
||||||
cmake_options.extend([
|
args.extend([
|
||||||
'-DBUILD_opencv_python2=OFF',
|
'-DBUILD_opencv_python2=OFF',
|
||||||
'-DBUILD_opencv_python3=OFF'
|
'-DBUILD_opencv_python3=OFF'
|
||||||
])
|
])
|
||||||
|
|
||||||
with working_dir('spack_build', create=True):
|
return args
|
||||||
cmake('..', *cmake_options)
|
|
||||||
make('VERBOSE=1')
|
|
||||||
make("install")
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Openscenegraph(Package):
|
class Openscenegraph(CMakePackage):
|
||||||
"""OpenSceneGraph is an open source, high performance 3D graphics toolkit
|
"""OpenSceneGraph is an open source, high performance 3D graphics toolkit
|
||||||
that's used in a variety of visual simulation applications."""
|
that's used in a variety of visual simulation applications."""
|
||||||
|
|
||||||
@ -36,42 +36,34 @@ class Openscenegraph(Package):
|
|||||||
version('3.2.3', '02ffdad7744c747d8fad0d7babb58427')
|
version('3.2.3', '02ffdad7744c747d8fad0d7babb58427')
|
||||||
version('3.1.5', '1c90b851b109849c985006486ef59822')
|
version('3.1.5', '1c90b851b109849c985006486ef59822')
|
||||||
|
|
||||||
variant('debug', default=False, description='Builds a debug version of the library')
|
|
||||||
variant('shared', default=True, description='Builds a shared version of the library')
|
variant('shared', default=True, description='Builds a shared version of the library')
|
||||||
|
|
||||||
depends_on('cmake@2.8.7:', type='build')
|
depends_on('cmake@2.8.7:', type='build')
|
||||||
depends_on('qt@4:')
|
depends_on('qt@4:')
|
||||||
depends_on('zlib')
|
depends_on('zlib')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
build_type = 'Debug' if '+debug' in spec else 'Release'
|
spec = self.spec
|
||||||
|
|
||||||
shared_status = 'ON' if '+shared' in spec else 'OFF'
|
shared_status = 'ON' if '+shared' in spec else 'OFF'
|
||||||
|
|
||||||
cmake_args = std_cmake_args[:]
|
args = [
|
||||||
cmake_args.extend([
|
|
||||||
'-DCMAKE_BUILD_TYPE={0}'.format(build_type),
|
|
||||||
'-DDYNAMIC_OPENSCENEGRAPH={0}'.format(shared_status),
|
'-DDYNAMIC_OPENSCENEGRAPH={0}'.format(shared_status),
|
||||||
'-DDYNAMIC_OPENTHREADS={0}'.format(shared_status),
|
'-DDYNAMIC_OPENTHREADS={0}'.format(shared_status),
|
||||||
])
|
'-DZLIB_INCLUDE_DIR={0}'.format(spec['zlib'].prefix.include),
|
||||||
|
'-DZLIB_LIBRARY={0}/libz.{1}'.format(spec['zlib'].prefix.lib,
|
||||||
|
dso_suffix),
|
||||||
|
'-DBUILD_OSG_APPLICATIONS=OFF',
|
||||||
|
'-DOSG_NOTIFY_DISABLED=ON',
|
||||||
|
'-DLIB_POSTFIX=',
|
||||||
|
]
|
||||||
|
|
||||||
# NOTE: This is necessary in order to allow OpenSceneGraph to compile
|
# NOTE: This is necessary in order to allow OpenSceneGraph to compile
|
||||||
# despite containing a number of implicit bool to int conversions.
|
# despite containing a number of implicit bool to int conversions.
|
||||||
if spec.satisfies('%gcc'):
|
if spec.satisfies('%gcc'):
|
||||||
cmake_args.extend([
|
args.extend([
|
||||||
'-DCMAKE_C_FLAGS=-fpermissive',
|
'-DCMAKE_C_FLAGS=-fpermissive',
|
||||||
'-DCMAKE_CXX_FLAGS=-fpermissive',
|
'-DCMAKE_CXX_FLAGS=-fpermissive',
|
||||||
])
|
])
|
||||||
|
|
||||||
with working_dir('spack-build', create=True):
|
return args
|
||||||
cmake(
|
|
||||||
'..',
|
|
||||||
'-DZLIB_INCLUDE_DIR={0}'.format(spec['zlib'].prefix.include),
|
|
||||||
'-DZLIB_LIBRARY={0}/libz.{1}'.format(spec['zlib'].prefix.lib,
|
|
||||||
dso_suffix),
|
|
||||||
'-DBUILD_OSG_APPLICATIONS=OFF',
|
|
||||||
'-DOSG_NOTIFY_DISABLED=ON',
|
|
||||||
'-DLIB_POSTFIX=',
|
|
||||||
*cmake_args
|
|
||||||
)
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Panda(Package):
|
class Panda(CMakePackage):
|
||||||
"""PANDA: Parallel AdjaceNcy Decomposition Algorithm"""
|
"""PANDA: Parallel AdjaceNcy Decomposition Algorithm"""
|
||||||
homepage = "http://comopt.ifi.uni-heidelberg.de/software/PANDA/index.html"
|
homepage = "http://comopt.ifi.uni-heidelberg.de/software/PANDA/index.html"
|
||||||
url = "http://comopt.ifi.uni-heidelberg.de/software/PANDA/downloads/panda-2016-03-07.tar"
|
url = "http://comopt.ifi.uni-heidelberg.de/software/PANDA/downloads/panda-2016-03-07.tar"
|
||||||
@ -35,11 +35,5 @@ class Panda(Package):
|
|||||||
|
|
||||||
# Note: Panda can also be built without MPI support
|
# Note: Panda can also be built without MPI support
|
||||||
|
|
||||||
depends_on("cmake", type="build")
|
depends_on('cmake@2.6.4:', type='build')
|
||||||
depends_on("mpi")
|
depends_on('mpi')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
with working_dir('spack-build', create=True):
|
|
||||||
cmake("..", *std_cmake_args)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Paradiseo(Package):
|
class Paradiseo(CMakePackage):
|
||||||
"""A C++ white-box object-oriented framework dedicated to the reusable
|
"""A C++ white-box object-oriented framework dedicated to the reusable
|
||||||
design of metaheuristics."""
|
design of metaheuristics."""
|
||||||
homepage = "http://paradiseo.gforge.inria.fr/"
|
homepage = "http://paradiseo.gforge.inria.fr/"
|
||||||
@ -51,13 +51,11 @@ class Paradiseo(Package):
|
|||||||
description='Compile with (Experimental) EDO module')
|
description='Compile with (Experimental) EDO module')
|
||||||
|
|
||||||
# variant('doc', default=False, description='Compile with documentation')
|
# variant('doc', default=False, description='Compile with documentation')
|
||||||
variant('debug', default=False,
|
|
||||||
description='Builds a debug version of the libraries')
|
|
||||||
variant('openmp', default=False, description='Enable OpenMP support')
|
variant('openmp', default=False, description='Enable OpenMP support')
|
||||||
variant('gnuplot', default=False, description='Enable GnuPlot support')
|
variant('gnuplot', default=False, description='Enable GnuPlot support')
|
||||||
|
|
||||||
# Required dependencies
|
# Required dependencies
|
||||||
depends_on("cmake", type='build')
|
depends_on("cmake@2.8:", type='build')
|
||||||
|
|
||||||
# Optional dependencies
|
# Optional dependencies
|
||||||
depends_on("mpi", when="+mpi")
|
depends_on("mpi", when="+mpi")
|
||||||
@ -73,13 +71,10 @@ class Paradiseo(Package):
|
|||||||
patch('fix_tests.patch')
|
patch('fix_tests.patch')
|
||||||
patch('fix_tutorials.patch')
|
patch('fix_tutorials.patch')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
options = []
|
spec = self.spec
|
||||||
options.extend(std_cmake_args)
|
|
||||||
|
|
||||||
options.extend([
|
return [
|
||||||
'-DCMAKE_BUILD_TYPE:STRING=%s' % (
|
|
||||||
'Debug' if '+debug' in spec else 'Release'),
|
|
||||||
'-DINSTALL_TYPE:STRING=MIN',
|
'-DINSTALL_TYPE:STRING=MIN',
|
||||||
'-DMPI:BOOL=%s' % ('TRUE' if '+mpi' in spec else 'FALSE'),
|
'-DMPI:BOOL=%s' % ('TRUE' if '+mpi' in spec else 'FALSE'),
|
||||||
# Note: This requires a C++11 compatible compiler
|
# Note: This requires a C++11 compatible compiler
|
||||||
@ -91,14 +86,4 @@ def install(self, spec, prefix):
|
|||||||
'TRUE' if '+openmp' in spec else 'FALSE'),
|
'TRUE' if '+openmp' in spec else 'FALSE'),
|
||||||
'-DENABLE_GNUPLOT:BOOL=%s' % (
|
'-DENABLE_GNUPLOT:BOOL=%s' % (
|
||||||
'TRUE' if '+gnuplot' in spec else 'FALSE')
|
'TRUE' if '+gnuplot' in spec else 'FALSE')
|
||||||
])
|
]
|
||||||
|
|
||||||
with working_dir('spack-build', create=True):
|
|
||||||
# Configure
|
|
||||||
cmake('..', *options)
|
|
||||||
|
|
||||||
# Build, test and install
|
|
||||||
make("VERBOSE=1")
|
|
||||||
if self.run_tests:
|
|
||||||
make("test")
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Pidx(Package):
|
class Pidx(CMakePackage):
|
||||||
"""PIDX Parallel I/O Library.
|
"""PIDX Parallel I/O Library.
|
||||||
|
|
||||||
PIDX is an efficient parallel I/O library that reads and writes
|
PIDX is an efficient parallel I/O library that reads and writes
|
||||||
@ -37,11 +37,5 @@ class Pidx(Package):
|
|||||||
version('1.0', git='https://github.com/sci-visus/PIDX.git',
|
version('1.0', git='https://github.com/sci-visus/PIDX.git',
|
||||||
commit='6afa1cf71d1c41263296dc049c8fabaf73c296da')
|
commit='6afa1cf71d1c41263296dc049c8fabaf73c296da')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8.4:', type='build')
|
||||||
depends_on("mpi")
|
depends_on('mpi')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
with working_dir('spack-build', create=True):
|
|
||||||
cmake('..', *std_cmake_args)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Piranha(Package):
|
class Piranha(CMakePackage):
|
||||||
"""Piranha is a computer-algebra library for the symbolic manipulation of
|
"""Piranha is a computer-algebra library for the symbolic manipulation of
|
||||||
sparse multivariate polynomials and other closely-related symbolic objects
|
sparse multivariate polynomials and other closely-related symbolic objects
|
||||||
(such as Poisson series)."""
|
(such as Poisson series)."""
|
||||||
@ -40,7 +40,7 @@ class Piranha(Package):
|
|||||||
description='Build the Python bindings')
|
description='Build the Python bindings')
|
||||||
|
|
||||||
# Build dependencies
|
# Build dependencies
|
||||||
depends_on('cmake@3.0:', type='build')
|
depends_on('cmake@3.2.0:', type='build')
|
||||||
extends('python', when='+pyranha')
|
extends('python', when='+pyranha')
|
||||||
depends_on('python@2.6:', type='build', when='+pyranha')
|
depends_on('python@2.6:', type='build', when='+pyranha')
|
||||||
|
|
||||||
@ -53,21 +53,8 @@ class Piranha(Package):
|
|||||||
depends_on('gmp') # mpir is a drop-in replacement for this
|
depends_on('gmp') # mpir is a drop-in replacement for this
|
||||||
depends_on('mpfr') # Could also be built against mpir
|
depends_on('mpfr') # Could also be built against mpir
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
options = []
|
return [
|
||||||
options.extend(std_cmake_args)
|
'-DBUILD_PYRANHA=%s' % ('ON' if '+python' in self.spec else 'OFF'),
|
||||||
|
|
||||||
# Python bindings
|
|
||||||
options.extend([
|
|
||||||
'-DBUILD_PYRANHA=%s' % (
|
|
||||||
'ON' if '+python' in spec else 'OFF'),
|
|
||||||
'-DBUILD_TESTS:BOOL=ON',
|
'-DBUILD_TESTS:BOOL=ON',
|
||||||
])
|
]
|
||||||
|
|
||||||
with working_dir('spack-build', create=True):
|
|
||||||
cmake('..', *options)
|
|
||||||
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
if self.run_tests:
|
|
||||||
make('test')
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
||||||
class Psi4(Package):
|
class Psi4(CMakePackage):
|
||||||
"""Psi4 is an open-source suite of ab initio quantum chemistry
|
"""Psi4 is an open-source suite of ab initio quantum chemistry
|
||||||
programs designed for efficient, high-accuracy simulations of
|
programs designed for efficient, high-accuracy simulations of
|
||||||
a variety of molecular properties."""
|
a variety of molecular properties."""
|
||||||
@ -36,20 +36,16 @@ class Psi4(Package):
|
|||||||
|
|
||||||
version('0.5', '53041b8a9be3958384171d0d22f9fdd0')
|
version('0.5', '53041b8a9be3958384171d0d22f9fdd0')
|
||||||
|
|
||||||
|
variant('build_type', default='Release',
|
||||||
|
description='The build type to build',
|
||||||
|
values=('Debug', 'Release'))
|
||||||
|
|
||||||
# Required dependencies
|
# Required dependencies
|
||||||
depends_on('blas')
|
depends_on('blas')
|
||||||
depends_on('lapack')
|
depends_on('lapack')
|
||||||
depends_on('boost'
|
depends_on('boost+chrono+filesystem+python+regex+serialization+system+timer+thread')
|
||||||
'+chrono'
|
|
||||||
'+filesystem'
|
|
||||||
'+python'
|
|
||||||
'+regex'
|
|
||||||
'+serialization'
|
|
||||||
'+system'
|
|
||||||
'+timer'
|
|
||||||
'+thread')
|
|
||||||
depends_on('python')
|
depends_on('python')
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@3.3:', type='build')
|
||||||
depends_on('py-numpy', type=('build', 'run'))
|
depends_on('py-numpy', type=('build', 'run'))
|
||||||
|
|
||||||
# Optional dependencies
|
# Optional dependencies
|
||||||
@ -59,8 +55,10 @@ class Psi4(Package):
|
|||||||
# depends_on('pcm-solver')
|
# depends_on('pcm-solver')
|
||||||
# depends_on('chemps2')
|
# depends_on('chemps2')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
cmake_args = [
|
spec = self.spec
|
||||||
|
|
||||||
|
return [
|
||||||
'-DBLAS_TYPE={0}'.format(spec['blas'].name.upper()),
|
'-DBLAS_TYPE={0}'.format(spec['blas'].name.upper()),
|
||||||
'-DBLAS_LIBRARIES={0}'.format(spec['blas'].libs.joined()),
|
'-DBLAS_LIBRARIES={0}'.format(spec['blas'].libs.joined()),
|
||||||
'-DLAPACK_TYPE={0}'.format(spec['lapack'].name.upper()),
|
'-DLAPACK_TYPE={0}'.format(spec['lapack'].name.upper()),
|
||||||
@ -71,16 +69,7 @@ def install(self, spec, prefix):
|
|||||||
'-DENABLE_CHEMPS2=OFF'
|
'-DENABLE_CHEMPS2=OFF'
|
||||||
]
|
]
|
||||||
|
|
||||||
cmake_args.extend(std_cmake_args)
|
@run_after('install')
|
||||||
|
|
||||||
with working_dir('spack-build', create=True):
|
|
||||||
cmake('..', *cmake_args)
|
|
||||||
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
|
||||||
self.filter_compilers(spec, prefix)
|
|
||||||
|
|
||||||
def filter_compilers(self, spec, prefix):
|
def filter_compilers(self, spec, prefix):
|
||||||
"""Run after install to tell the configuration files to
|
"""Run after install to tell the configuration files to
|
||||||
use the compilers that Spack built the package with.
|
use the compilers that Spack built the package with.
|
||||||
|
@ -25,14 +25,10 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Raja(Package):
|
class Raja(CMakePackage):
|
||||||
"""RAJA Parallel Framework."""
|
"""RAJA Parallel Framework."""
|
||||||
homepage = "http://software.llnl.gov/RAJA/"
|
homepage = "http://software.llnl.gov/RAJA/"
|
||||||
|
|
||||||
version('git', git='https://github.com/LLNL/RAJA.git', branch="master")
|
version('git', git='https://github.com/LLNL/RAJA.git', branch="master")
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
depends_on('cmake@3.3:', type='build')
|
||||||
with working_dir('build', create=True):
|
|
||||||
cmake('..', *std_cmake_args)
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Ravel(Package):
|
class Ravel(CMakePackage):
|
||||||
"""Ravel is a parallel communication trace visualization tool that
|
"""Ravel is a parallel communication trace visualization tool that
|
||||||
orders events according to logical time."""
|
orders events according to logical time."""
|
||||||
|
|
||||||
@ -41,7 +41,5 @@ class Ravel(Package):
|
|||||||
depends_on('otf2')
|
depends_on('otf2')
|
||||||
depends_on('qt@5:')
|
depends_on('qt@5:')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def cmake_args(self):
|
||||||
cmake('-Wno-dev', *std_cmake_args)
|
return ['-Wno-dev']
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Sdl2(Package):
|
class Sdl2(CMakePackage):
|
||||||
"""Simple DirectMedia Layer is a cross-platform development library designed
|
"""Simple DirectMedia Layer is a cross-platform development library designed
|
||||||
to provide low level access to audio, keyboard, mouse, joystick, and
|
to provide low level access to audio, keyboard, mouse, joystick, and
|
||||||
graphics hardware via OpenGL and Direct3D."""
|
graphics hardware via OpenGL and Direct3D."""
|
||||||
@ -35,11 +35,4 @@ class Sdl2(Package):
|
|||||||
|
|
||||||
version('2.0.5', 'd4055424d556b4a908aa76fad63abd3c')
|
version('2.0.5', 'd4055424d556b4a908aa76fad63abd3c')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8.5:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
with working_dir('spack-build', create=True):
|
|
||||||
cmake('..', *std_cmake_args)
|
|
||||||
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -26,14 +26,14 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Sympol(Package):
|
class Sympol(CMakePackage):
|
||||||
"""SymPol is a C++ tool to work with symmetric polyhedra"""
|
"""SymPol is a C++ tool to work with symmetric polyhedra"""
|
||||||
homepage = "http://www.math.uni-rostock.de/~rehn/software/sympol.html"
|
homepage = "http://www.math.uni-rostock.de/~rehn/software/sympol.html"
|
||||||
url = "http://www.math.uni-rostock.de/~rehn/software/sympol-0.1.8.tar.gz"
|
url = "http://www.math.uni-rostock.de/~rehn/software/sympol-0.1.8.tar.gz"
|
||||||
|
|
||||||
version('0.1.8', '7cba1997f8532c754cb7259bf70caacb')
|
version('0.1.8', '7cba1997f8532c754cb7259bf70caacb')
|
||||||
|
|
||||||
depends_on("cmake", type='build')
|
depends_on("cmake@2.6:", type="build")
|
||||||
|
|
||||||
depends_on("bliss")
|
depends_on("bliss")
|
||||||
depends_on("boost")
|
depends_on("boost")
|
||||||
@ -41,8 +41,3 @@ class Sympol(Package):
|
|||||||
depends_on("lrslib")
|
depends_on("lrslib")
|
||||||
|
|
||||||
patch("lrs_mp_close.patch")
|
patch("lrs_mp_close.patch")
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
cmake(".", *std_cmake_args)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,22 +25,15 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Task(Package):
|
class Task(CMakePackage):
|
||||||
"""Feature-rich console based todo list manager"""
|
"""Feature-rich console based todo list manager"""
|
||||||
homepage = "http://www.taskwarrior.org"
|
homepage = "http://www.taskwarrior.org"
|
||||||
url = "http://taskwarrior.org/download/task-2.4.4.tar.gz"
|
url = "http://taskwarrior.org/download/task-2.4.4.tar.gz"
|
||||||
|
|
||||||
version('2.4.4', '517450c4a23a5842df3e9905b38801b3')
|
version('2.4.4', '517450c4a23a5842df3e9905b38801b3')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.8:', type='build')
|
||||||
depends_on("gnutls")
|
depends_on('gnutls')
|
||||||
depends_on("libuuid")
|
depends_on('libuuid')
|
||||||
# depends_on("gcc@4.8:")
|
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
conflicts('%gcc@:4.7')
|
||||||
with working_dir('spack-build', create=True):
|
|
||||||
cmake('-DCMAKE_BUILD_TYPE=release',
|
|
||||||
'..',
|
|
||||||
*std_cmake_args)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Taskd(Package):
|
class Taskd(CMakePackage):
|
||||||
"""TaskWarrior task synchronization daemon"""
|
"""TaskWarrior task synchronization daemon"""
|
||||||
|
|
||||||
homepage = "http://www.taskwarrior.org"
|
homepage = "http://www.taskwarrior.org"
|
||||||
@ -33,14 +33,8 @@ class Taskd(Package):
|
|||||||
|
|
||||||
version('1.1.0', 'ac855828c16f199bdbc45fbc227388d0')
|
version('1.1.0', 'ac855828c16f199bdbc45fbc227388d0')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('libuuid')
|
||||||
depends_on("libuuid")
|
depends_on('gnutls')
|
||||||
depends_on("gnutls")
|
depends_on('cmake@2.8:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
conflicts('%gcc@:4.7')
|
||||||
with working_dir('spack-build', create=True):
|
|
||||||
cmake('-DCMAKE_BUILD_TYPE=release',
|
|
||||||
'..',
|
|
||||||
*std_cmake_args)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Tethex(Package):
|
class Tethex(CMakePackage):
|
||||||
"""Tethex is designed to convert triangular (in 2D) or tetrahedral (in 3D)
|
"""Tethex is designed to convert triangular (in 2D) or tetrahedral (in 3D)
|
||||||
Gmsh's mesh to quadrilateral or hexahedral one respectively. These meshes
|
Gmsh's mesh to quadrilateral or hexahedral one respectively. These meshes
|
||||||
can be used in software packages working with hexahedrals only - for
|
can be used in software packages working with hexahedrals only - for
|
||||||
@ -38,12 +38,13 @@ class Tethex(Package):
|
|||||||
version('0.0.7', '6c9e4a18a6637deb4400c6d77ec03184')
|
version('0.0.7', '6c9e4a18a6637deb4400c6d77ec03184')
|
||||||
version('develop', git='https://github.com/martemyev/tethex.git')
|
version('develop', git='https://github.com/martemyev/tethex.git')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
variant('build_type', default='Release',
|
||||||
|
description='The build type to build',
|
||||||
|
values=('Debug', 'Release'))
|
||||||
|
|
||||||
|
depends_on('cmake@2.8:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
cmake('.')
|
|
||||||
make()
|
|
||||||
|
|
||||||
# install by hand
|
# install by hand
|
||||||
mkdirp(prefix.bin)
|
mkdirp(prefix.bin)
|
||||||
install('tethex', prefix.bin)
|
install('tethex', prefix.bin)
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Visit(Package):
|
class Visit(CMakePackage):
|
||||||
"""VisIt is an Open Source, interactive, scalable, visualization,
|
"""VisIt is an Open Source, interactive, scalable, visualization,
|
||||||
animation and analysis tool."""
|
animation and analysis tool."""
|
||||||
homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/"
|
homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/"
|
||||||
@ -36,29 +36,26 @@ class Visit(Package):
|
|||||||
version('2.10.2', '253de0837a9d69fb689befc98ea4d068')
|
version('2.10.2', '253de0837a9d69fb689befc98ea4d068')
|
||||||
version('2.10.1', '3cbca162fdb0249f17c4456605c4211e')
|
version('2.10.1', '3cbca162fdb0249f17c4456605c4211e')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@3.0:', type='build')
|
||||||
depends_on('vtk@6.1.0~opengl2')
|
depends_on('vtk@6.1.0~opengl2')
|
||||||
depends_on('qt@4.8.6')
|
depends_on('qt@4.8.6')
|
||||||
depends_on('python')
|
depends_on('python')
|
||||||
depends_on('silo+shared')
|
depends_on('silo+shared')
|
||||||
depends_on('hdf5~mpi')
|
depends_on('hdf5~mpi')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
root_cmakelists_dir = 'src'
|
||||||
|
|
||||||
|
def cmake_args(self):
|
||||||
|
spec = self.spec
|
||||||
qt_bin = spec['qt'].prefix.bin
|
qt_bin = spec['qt'].prefix.bin
|
||||||
|
|
||||||
with working_dir('spack-build', create=True):
|
return [
|
||||||
cmake_args = std_cmake_args[:]
|
'-DVTK_MAJOR_VERSION={0}'.format(spec['vtk'].version[0]),
|
||||||
cmake_args.extend([
|
'-DVTK_MINOR_VERSION={0}'.format(spec['vtk'].version[1]),
|
||||||
'-DVTK_MAJOR_VERSION=6',
|
'-DVISIT_USE_GLEW=OFF',
|
||||||
'-DVTK_MINOR_VERSION=1',
|
'-DVISIT_LOC_QMAKE_EXE:FILEPATH={0}/qmake-qt4'.format(qt_bin),
|
||||||
'-DVISIT_USE_GLEW=OFF',
|
'-DPYTHON_DIR:PATH={0}'.format(spec['python'].home),
|
||||||
'-DVISIT_LOC_QMAKE_EXE:FILEPATH={0}/qmake-qt4'.format(qt_bin),
|
'-DVISIT_SILO_DIR:PATH={0}'.format(spec['silo'].prefix),
|
||||||
'-DPYTHON_DIR:PATH={0}'.format(spec['python'].home),
|
'-DVISIT_HDF5_DIR:PATH={0}'.format(spec['hdf5'].prefix),
|
||||||
'-DVISIT_SILO_DIR:PATH={0}'.format(spec['silo'].prefix),
|
'-DVISIT_VTK_DIR:PATH={0}'.format(spec['vtk'].prefix),
|
||||||
'-DVISIT_HDF5_DIR:PATH={0}'.format(spec['hdf5'].prefix),
|
]
|
||||||
'-DVISIT_VTK_DIR:PATH={0}'.format(spec['vtk'].prefix),
|
|
||||||
])
|
|
||||||
|
|
||||||
cmake(join_path('..', 'src'), *cmake_args)
|
|
||||||
make()
|
|
||||||
make('install')
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Xrootd(Package):
|
class Xrootd(CMakePackage):
|
||||||
"""The XROOTD project aims at giving high performance, scalable fault
|
"""The XROOTD project aims at giving high performance, scalable fault
|
||||||
tolerant access to data repositories of many kinds."""
|
tolerant access to data repositories of many kinds."""
|
||||||
homepage = "http://xrootd.org"
|
homepage = "http://xrootd.org"
|
||||||
@ -38,19 +38,4 @@ class Xrootd(Package):
|
|||||||
version('4.4.0', '58f55e56801d3661d753ff5fd33dbcc9')
|
version('4.4.0', '58f55e56801d3661d753ff5fd33dbcc9')
|
||||||
version('4.3.0', '39c2fab9f632f35e12ff607ccaf9e16c')
|
version('4.3.0', '39c2fab9f632f35e12ff607ccaf9e16c')
|
||||||
|
|
||||||
depends_on('cmake', type='build')
|
depends_on('cmake@2.6:', type='build')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
|
||||||
options = []
|
|
||||||
options.extend(std_cmake_args)
|
|
||||||
|
|
||||||
build_directory = join_path(self.stage.path, 'spack-build')
|
|
||||||
source_directory = self.stage.source_path
|
|
||||||
|
|
||||||
if '+debug' in spec:
|
|
||||||
options.append('-DCMAKE_BUILD_TYPE:STRING=Debug')
|
|
||||||
|
|
||||||
with working_dir(build_directory, create=True):
|
|
||||||
cmake(source_directory, *options)
|
|
||||||
make()
|
|
||||||
make("install")
|
|
||||||
|
Loading…
Reference in New Issue
Block a user