Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases
Conflicts: lib/spack/llnl/util/tty/log.py lib/spack/spack/__init__.py lib/spack/spack/cmd/install.py lib/spack/spack/cmd/setup.py lib/spack/spack/package.py var/spack/repos/builtin/packages/blitz/package.py var/spack/repos/builtin/packages/gmp/package.py var/spack/repos/builtin/packages/qhull/package.py var/spack/repos/builtin/packages/szip/package.py
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
import os
|
||||
from spack import *
|
||||
|
||||
|
||||
class Luajit(Package):
|
||||
"""Flast flexible JITed lua"""
|
||||
homepage = "http://www.luajit.org"
|
||||
|
@@ -22,10 +22,9 @@
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
import os
|
||||
|
||||
from spack import *
|
||||
from spack.util.environment import *
|
||||
import shutil
|
||||
|
||||
|
||||
class R(Package):
|
||||
@@ -74,6 +73,10 @@ class R(Package):
|
||||
depends_on('pcre')
|
||||
depends_on('jdk')
|
||||
|
||||
@property
|
||||
def etcdir(self):
|
||||
return join_path(prefix, 'rlib', 'R', 'etc')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
rlibdir = join_path(prefix, 'rlib')
|
||||
configure_args = ['--prefix=%s' % prefix,
|
||||
@@ -88,6 +91,12 @@ def install(self, spec, prefix):
|
||||
make()
|
||||
make('install')
|
||||
|
||||
# Make a copy of Makeconf because it will be needed to properly build R
|
||||
# dependencies in Spack.
|
||||
src_makeconf = join_path(self.etcdir, 'Makeconf')
|
||||
dst_makeconf = join_path(self.etcdir, 'Makeconf.spack')
|
||||
shutil.copy(src_makeconf, dst_makeconf)
|
||||
|
||||
self.filter_compilers(spec, prefix)
|
||||
|
||||
def filter_compilers(self, spec, prefix):
|
||||
@@ -98,18 +107,16 @@ def filter_compilers(self, spec, prefix):
|
||||
cc and c++. We want them to be bound to whatever compiler
|
||||
they were built with."""
|
||||
|
||||
etcdir = join_path(prefix, 'rlib', 'R', 'etc')
|
||||
|
||||
kwargs = {'ignore_absent': True, 'backup': False, 'string': True}
|
||||
|
||||
filter_file(env['CC'], self.compiler.cc,
|
||||
join_path(etcdir, 'Makeconf'), **kwargs)
|
||||
filter_file(env['CC'], self.compiler.cc,
|
||||
join_path(self.etcdir, 'Makeconf'), **kwargs)
|
||||
filter_file(env['CXX'], self.compiler.cxx,
|
||||
join_path(etcdir, 'Makeconf'), **kwargs)
|
||||
join_path(self.etcdir, 'Makeconf'), **kwargs)
|
||||
filter_file(env['F77'], self.compiler.f77,
|
||||
join_path(etcdir, 'Makeconf'), **kwargs)
|
||||
join_path(self.etcdir, 'Makeconf'), **kwargs)
|
||||
filter_file(env['FC'], self.compiler.fc,
|
||||
join_path(etcdir, 'Makeconf'), **kwargs)
|
||||
join_path(self.etcdir, 'Makeconf'), **kwargs)
|
||||
|
||||
# ========================================================================
|
||||
# Set up environment to make install easy for R extensions.
|
||||
@@ -117,7 +124,7 @@ def filter_compilers(self, spec, prefix):
|
||||
|
||||
@property
|
||||
def r_lib_dir(self):
|
||||
return os.path.join('rlib', 'R', 'library')
|
||||
return join_path('rlib', 'R', 'library')
|
||||
|
||||
def setup_dependent_environment(self, spack_env, run_env, extension_spec):
|
||||
# Set R_LIBS to include the library dir for the
|
||||
@@ -125,27 +132,42 @@ def setup_dependent_environment(self, spack_env, run_env, extension_spec):
|
||||
r_libs_path = []
|
||||
for d in extension_spec.traverse(deptype=nolink, deptype_query='run'):
|
||||
if d.package.extends(self.spec):
|
||||
r_libs_path.append(os.path.join(d.prefix, self.r_lib_dir))
|
||||
r_libs_path.append(join_path(d.prefix, self.r_lib_dir))
|
||||
|
||||
r_libs_path = ':'.join(r_libs_path)
|
||||
spack_env.set('R_LIBS', r_libs_path)
|
||||
spack_env.set('R_MAKEVARS_SITE',
|
||||
join_path(self.etcdir, 'Makeconf.spack'))
|
||||
|
||||
# Use the number of make_jobs set in spack. The make program will
|
||||
# determine how many jobs can actually be started.
|
||||
spack_env.set('MAKEFLAGS', '-j{0}'.format(make_jobs))
|
||||
|
||||
# For run time environment set only the path for extension_spec and
|
||||
# prepend it to R_LIBS
|
||||
if extension_spec.package.extends(self.spec):
|
||||
run_env.prepend_path('R_LIBS', os.path.join(
|
||||
run_env.prepend_path('R_LIBS', join_path(
|
||||
extension_spec.prefix, self.r_lib_dir))
|
||||
|
||||
def setup_environment(self, spack_env, run_env):
|
||||
run_env.prepend_path('LIBRARY_PATH',
|
||||
join_path(self.prefix, 'rlib', 'R', 'lib'))
|
||||
run_env.prepend_path('LD_LIBRARY_PATH',
|
||||
join_path(self.prefix, 'rlib', 'R', 'lib'))
|
||||
run_env.prepend_path('CPATH',
|
||||
join_path(self.prefix, 'rlib', 'R', 'include'))
|
||||
|
||||
def setup_dependent_package(self, module, ext_spec):
|
||||
"""Called before R modules' install() methods. In most cases,
|
||||
extensions will only need to have one line:
|
||||
R('CMD', 'INSTALL', '--library=%s' % self.module.r_lib_dir, '%s' %
|
||||
self.stage.source_path)"""
|
||||
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
|
||||
self.stage.source_path)"""
|
||||
|
||||
# R extension builds can have a global R executable function
|
||||
module.R = Executable(join_path(self.spec.prefix.bin, 'R'))
|
||||
|
||||
# Add variable for library directry
|
||||
module.r_lib_dir = os.path.join(ext_spec.prefix, self.r_lib_dir)
|
||||
module.r_lib_dir = join_path(ext_spec.prefix, self.r_lib_dir)
|
||||
|
||||
# Make the site packages directory for extensions, if it does not exist
|
||||
# already.
|
||||
|
@@ -24,12 +24,14 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Samrai(Package):
|
||||
"""SAMRAI (Structured Adaptive Mesh Refinement Application Infrastructure)
|
||||
is an object-oriented C++ software library enables exploration of numerical,
|
||||
algorithmic, parallel computing, and software issues associated with applying
|
||||
structured adaptive mesh refinement (SAMR) technology in large-scale parallel
|
||||
application development.
|
||||
is an object-oriented C++ software library enables exploration of
|
||||
numerical, algorithmic, parallel computing, and software issues
|
||||
associated with applying structured adaptive mesh refinement
|
||||
(SAMR) technology in large-scale parallel application development.
|
||||
|
||||
"""
|
||||
homepage = "https://computation.llnl.gov/project/SAMRAI/"
|
||||
url = "https://computation.llnl.gov/project/SAMRAI/download/SAMRAI-v3.9.1.tar.gz"
|
||||
|
51
var/spack/repos/builtin/packages/ack/package.py
Normal file
51
var/spack/repos/builtin/packages/ack/package.py
Normal file
@@ -0,0 +1,51 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://github.com/llnl/spack
|
||||
# Please also see the LICENSE file for our notice and the LGPL.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License (as
|
||||
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||
# conditions of the GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Ack(Package):
|
||||
"""ack 2.14 is a tool like grep, optimized for programmers.
|
||||
|
||||
Designed for programmers with large heterogeneous trees of
|
||||
source code, ack is written purely in portable Perl 5 and takes
|
||||
advantage of the power of Perl's regular expressions."""
|
||||
|
||||
homepage = "http://beyondgrep.com/"
|
||||
url = "http://beyondgrep.com/ack-2.14-single-file"
|
||||
|
||||
version('2.14', 'e74150a1609d28a70b450ef9cc2ed56b', expand=False)
|
||||
|
||||
depends_on('perl')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
mkdirp(prefix.bin)
|
||||
ack = 'ack-{0}-single-file'.format(self.version)
|
||||
|
||||
# rewrite the script's #! line to call the perl dependency
|
||||
shbang = '#!' + join_path(spec['perl'].prefix.bin, 'perl')
|
||||
filter_file(r'^#!/usr/bin/env perl', shbang, ack)
|
||||
|
||||
install(ack, join_path(prefix.bin, "ack"))
|
||||
set_executable(join_path(prefix.bin, "ack"))
|
@@ -24,8 +24,10 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Activeharmony(Package):
|
||||
"""Active Harmony: a framework for auto-tuning (the automated search for values to improve the performance of a target application)."""
|
||||
"""Active Harmony: a framework for auto-tuning (the automated search for
|
||||
values to improve the performance of a target application)."""
|
||||
homepage = "http://www.dyninst.org/harmony"
|
||||
url = "http://www.dyninst.org/sites/default/files/downloads/harmony/ah-4.5.tar.gz"
|
||||
|
||||
@@ -34,6 +36,3 @@ class Activeharmony(Package):
|
||||
def install(self, spec, prefix):
|
||||
make("CFLAGS=-O3")
|
||||
make("install", 'PREFIX=%s' % prefix)
|
||||
|
||||
from spack import *
|
||||
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class AdeptUtils(Package):
|
||||
"""Utility libraries for LLNL performance tools."""
|
||||
|
||||
|
@@ -23,21 +23,24 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
import sys
|
||||
|
||||
|
||||
class AdolC(Package):
|
||||
"""A package for the automatic differentiation of first and higher derivatives of vector functions in C and C++ programs by operator overloading."""
|
||||
"""A package for the automatic differentiation of first and higher
|
||||
derivatives of vector functions in C and C++ programs by operator
|
||||
overloading."""
|
||||
homepage = "https://projects.coin-or.org/ADOL-C"
|
||||
url = "http://www.coin-or.org/download/source/ADOL-C/ADOL-C-2.6.1.tgz"
|
||||
|
||||
version('head', svn='https://projects.coin-or.org/svn/ADOL-C/trunk/')
|
||||
version('2.6.1', '1032b28427d6e399af4610e78c0f087b')
|
||||
|
||||
|
||||
variant('doc', default=True, description='Install documentation')
|
||||
variant('openmp', default=False, description='Enable OpenMP support')
|
||||
variant('sparse', default=False, description='Enable sparse drivers')
|
||||
variant('tests', default=True, description='Build all included examples as a test case')
|
||||
|
||||
variant('tests', default=True,
|
||||
description='Build all included examples as a test case')
|
||||
|
||||
patch('openmp_exam.patch')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
@@ -49,10 +52,14 @@ def install(self, spec, prefix):
|
||||
if '+openmp' in spec:
|
||||
if spec.satisfies('%gcc'):
|
||||
make_args.extend([
|
||||
'--with-openmp-flag=-fopenmp' # FIXME: Is this required? -I <path to omp.h> -L <LLVM OpenMP library path>
|
||||
# FIXME: Is this required? -I <path to omp.h> -L <LLVM
|
||||
# OpenMP library path>
|
||||
'--with-openmp-flag=-fopenmp'
|
||||
])
|
||||
else:
|
||||
raise InstallError("OpenMP flags for compilers other than GCC are not implemented.")
|
||||
raise InstallError(
|
||||
"OpenMP flags for compilers other than GCC "
|
||||
"are not implemented.")
|
||||
|
||||
if '+sparse' in spec:
|
||||
make_args.extend([
|
||||
@@ -63,7 +70,7 @@ def install(self, spec, prefix):
|
||||
# whether Adol-C works as expected
|
||||
if '+tests' in spec:
|
||||
make_args.extend([
|
||||
'--enable-docexa', # Documeted examples
|
||||
'--enable-docexa', # Documeted examples
|
||||
'--enable-addexa' # Additional examples
|
||||
])
|
||||
if '+openmp' in spec:
|
||||
@@ -74,31 +81,36 @@ def install(self, spec, prefix):
|
||||
configure(*make_args)
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
||||
# Copy the config.h file, as some packages might require it
|
||||
source_directory = self.stage.source_path
|
||||
config_h = join_path(source_directory,'ADOL-C','src','config.h')
|
||||
install(config_h, join_path(prefix.include,'adolc'))
|
||||
|
||||
config_h = join_path(source_directory, 'ADOL-C', 'src', 'config.h')
|
||||
install(config_h, join_path(prefix.include, 'adolc'))
|
||||
|
||||
# Install documentation to {prefix}/share
|
||||
if '+doc' in spec:
|
||||
install_tree(join_path('ADOL-C','doc'),
|
||||
join_path(prefix.share,'doc'))
|
||||
|
||||
install_tree(join_path('ADOL-C', 'doc'),
|
||||
join_path(prefix.share, 'doc'))
|
||||
|
||||
# Install examples to {prefix}/share
|
||||
if '+tests' in spec:
|
||||
install_tree(join_path('ADOL-C','examples'),
|
||||
join_path(prefix.share,'examples'))
|
||||
|
||||
install_tree(join_path('ADOL-C', 'examples'),
|
||||
join_path(prefix.share, 'examples'))
|
||||
|
||||
# Run some examples that don't require user input
|
||||
# TODO: Check that bundled examples produce the correct results
|
||||
with working_dir(join_path(source_directory,'ADOL-C','examples')):
|
||||
with working_dir(join_path(
|
||||
source_directory, 'ADOL-C', 'examples')):
|
||||
Executable('./tapeless_scalar')()
|
||||
Executable('./tapeless_vector')()
|
||||
|
||||
with working_dir(join_path(source_directory,'ADOL-C','examples','additional_examples')):
|
||||
|
||||
with working_dir(join_path(
|
||||
source_directory,
|
||||
'ADOL-C', 'examples', 'additional_examples')):
|
||||
Executable('./checkpointing/checkpointing')()
|
||||
|
||||
|
||||
if '+openmp' in spec:
|
||||
with working_dir(join_path(source_directory,'ADOL-C','examples','additional_examples')):
|
||||
with working_dir(join_path(
|
||||
source_directory,
|
||||
'ADOL-C', 'examples', 'additional_examples')):
|
||||
Executable('./checkpointing/checkpointing')()
|
||||
|
@@ -24,8 +24,9 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Antlr(Package):
|
||||
|
||||
|
||||
homepage = "http://www.antlr.org"
|
||||
url = "https://github.com/antlr/antlr/tarball/v2.7.7"
|
||||
|
||||
@@ -41,22 +42,23 @@ class Antlr(Package):
|
||||
# CharScanner.hpp must include this line: #include <cstring> or else
|
||||
# ncap2 will not compile (this tarball is already patched).
|
||||
version('2.7.7', '914865e853fe8e1e61a9f23d045cb4ab',
|
||||
# Patched version as described above
|
||||
url='http://dust.ess.uci.edu/tmp/antlr-2.7.7.tar.gz')
|
||||
# Unpatched version
|
||||
# url='http://dust.ess.uci.edu/nco/antlr-2.7.7.tar.gz')
|
||||
# Patched version as described above
|
||||
url='http://dust.ess.uci.edu/tmp/antlr-2.7.7.tar.gz')
|
||||
# Unpatched version
|
||||
# url='http://dust.ess.uci.edu/nco/antlr-2.7.7.tar.gz')
|
||||
|
||||
variant('cxx', default=False, description='Enable ANTLR for C++')
|
||||
variant('java', default=False, description='Enable ANTLR for Java')
|
||||
variant('python', default=False, description='Enable ANTLR for Python')
|
||||
variant('csharp', default=False, description='Enable ANTLR for Csharp')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Check for future enabling of variants
|
||||
for v in ('+java', '+python', '+csharp'):
|
||||
if v in spec:
|
||||
raise Error('Illegal variant %s; for now, Spack only knows how to build antlr or antlr+cxx')
|
||||
raise Error(
|
||||
('Illegal variant %s; ' % v) + 'for now, '
|
||||
'Spack only knows how to build antlr or antlr+cxx')
|
||||
|
||||
config_args = [
|
||||
'--prefix=%s' % prefix,
|
||||
|
@@ -25,6 +25,7 @@
|
||||
from spack import *
|
||||
from spack.util.environment import *
|
||||
|
||||
|
||||
class Apex(Package):
|
||||
homepage = "http://github.com/khuck/xpress-apex"
|
||||
url = "http://github.com/khuck/xpress-apex/archive/v0.1.tar.gz"
|
||||
@@ -39,17 +40,17 @@ class Apex(Package):
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
path=get_path("PATH")
|
||||
path = get_path("PATH")
|
||||
path.remove(spec["binutils"].prefix.bin)
|
||||
path_set("PATH", path)
|
||||
with working_dir("build", create=True):
|
||||
cmake('-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||
'-DUSE_BFD=TRUE',
|
||||
'-DBFD_ROOT=%s' % spec['binutils'].prefix,
|
||||
'-DUSE_ACTIVEHARMONY=TRUE',
|
||||
'-DACTIVEHARMONY_ROOT=%s' % spec['activeharmony'].prefix,
|
||||
'-DUSE_OMPT=TRUE',
|
||||
'-DOMPT_ROOT=%s' % spec['ompt-openmp'].prefix,
|
||||
'..', *std_cmake_args)
|
||||
'-DUSE_BFD=TRUE',
|
||||
'-DBFD_ROOT=%s' % spec['binutils'].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")
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class AprUtil(Package):
|
||||
"""Apache Portable Runtime Utility"""
|
||||
homepage = 'https://apr.apache.org/'
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Apr(Package):
|
||||
"""Apache portable runtime."""
|
||||
homepage = 'https://apr.apache.org/'
|
||||
|
@@ -33,11 +33,13 @@ class Armadillo(Package):
|
||||
homepage = "http://arma.sourceforge.net/"
|
||||
url = "http://sourceforge.net/projects/arma/files/armadillo-7.200.1.tar.xz"
|
||||
|
||||
version('7.200.2', 'b21585372d67a8876117fd515d8cf0a2')
|
||||
version('7.200.1', 'ed86d6df0058979e107502e1fe3e469e')
|
||||
|
||||
variant('hdf5', default=False, description='Include HDF5 support')
|
||||
|
||||
depends_on('arpack')
|
||||
depends_on('cmake@2.8:', type='build')
|
||||
depends_on('arpack-ng') # old arpack causes undefined symbols
|
||||
depends_on('blas')
|
||||
depends_on('lapack')
|
||||
depends_on('superlu@5.2:')
|
||||
@@ -46,8 +48,8 @@ class Armadillo(Package):
|
||||
def install(self, spec, prefix):
|
||||
cmake_args = [
|
||||
# ARPACK support
|
||||
'-DARPACK_LIBRARY={0}/libarpack.a'.format(
|
||||
spec['arpack'].prefix.lib),
|
||||
'-DARPACK_LIBRARY={0}/libarpack.{1}'.format(
|
||||
spec['arpack-ng'].prefix.lib, dso_suffix),
|
||||
# BLAS support
|
||||
'-DBLAS_LIBRARY={0}'.format(spec['blas'].blas_shared_lib),
|
||||
# LAPACK support
|
||||
|
@@ -59,7 +59,8 @@ class ArpackNg(Package):
|
||||
version('3.4.0', 'ae9ca13f2143a7ea280cb0e2fd4bfae4')
|
||||
version('3.3.0', 'ed3648a23f0a868a43ef44c97a21bad5')
|
||||
|
||||
variant('shared', default=True, description='Enables the build of shared libraries')
|
||||
variant('shared', default=True,
|
||||
description='Enables the build of shared libraries')
|
||||
variant('mpi', default=False, description='Activates MPI support')
|
||||
|
||||
# The function pdlamch10 does not set the return variable.
|
||||
@@ -86,10 +87,19 @@ def install(self, spec, prefix):
|
||||
options.extend(std_cmake_args)
|
||||
options.append('-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % prefix)
|
||||
|
||||
# TODO:
|
||||
# Arpack calls directly find_package(BLAS REQUIRED) and
|
||||
# find_package(LAPACK REQUIRED). Make sure correct Blas/Lapack are
|
||||
# picked up.
|
||||
# Make sure we use Spack's blas/lapack:
|
||||
options.extend([
|
||||
'-DLAPACK_FOUND=true',
|
||||
'-DLAPACK_INCLUDE_DIRS=%s' % spec['lapack'].prefix.include,
|
||||
'-DLAPACK_LIBRARIES=%s' % (
|
||||
spec['lapack'].lapack_shared_lib if '+shared' in spec else
|
||||
spec['lapack'].lapack_static_lib),
|
||||
'-DBLAS_FOUND=true',
|
||||
'-DBLAS_INCLUDE_DIRS=%s' % spec['blas'].prefix.include,
|
||||
'-DBLAS_LIBRARIES=%s' % (
|
||||
spec['blas'].blas_shared_lib if '+shared' in spec else
|
||||
spec['blas'].blas_static_lib)
|
||||
])
|
||||
|
||||
if '+mpi' in spec:
|
||||
options.append('-DMPI=ON')
|
||||
@@ -101,9 +111,8 @@ def install(self, spec, prefix):
|
||||
|
||||
cmake('.', *options)
|
||||
make()
|
||||
# TODO: make test does not work
|
||||
# make('test')
|
||||
|
||||
if self.run_tests:
|
||||
make('test')
|
||||
make('install')
|
||||
|
||||
@when('@3.3.0')
|
||||
@@ -120,10 +129,23 @@ def install(self, spec, prefix):
|
||||
'F77=%s' % spec['mpi'].mpif77
|
||||
])
|
||||
|
||||
if '~shared' in spec:
|
||||
options.append('--enable-shared=no')
|
||||
if '+shared' in spec:
|
||||
options.extend([
|
||||
'--with-blas=%s' % to_link_flags(
|
||||
spec['blas'].blas_shared_lib),
|
||||
'--with-lapack=%s' % to_link_flags(
|
||||
spec['lapack'].lapack_shared_lib)
|
||||
])
|
||||
else:
|
||||
options.extend([
|
||||
'--with-blas=%s' % spec['blas'].blas_static_lib,
|
||||
'--with-lapack=%s' % spec['lapack'].lapack_static_lib,
|
||||
'--enable-shared=no'
|
||||
])
|
||||
|
||||
bootstrap()
|
||||
configure(*options)
|
||||
make()
|
||||
if self.run_tests:
|
||||
make('check')
|
||||
make('install')
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Asciidoc(Package):
|
||||
""" A presentable text document format for writing articles, UNIX man
|
||||
pages and other small to medium sized documents."""
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Atk(Package):
|
||||
"""ATK provides the set of accessibility interfaces that are
|
||||
implemented by other toolkits and applications. Using the ATK
|
||||
@@ -32,9 +33,16 @@ class Atk(Package):
|
||||
homepage = "https://developer.gnome.org/atk/"
|
||||
url = "http://ftp.gnome.org/pub/gnome/sources/atk/2.14/atk-2.14.0.tar.xz"
|
||||
|
||||
version('2.20.0', '5187b0972f4d3905f285540b31395e20')
|
||||
version('2.14.0', 'ecb7ca8469a5650581b1227d78051b8b')
|
||||
|
||||
depends_on("glib")
|
||||
depends_on('glib')
|
||||
depends_on('pkg-config', type='build')
|
||||
|
||||
def url_for_version(self, version):
|
||||
"""Handle atk's version-based custom URLs."""
|
||||
url = 'http://ftp.gnome.org/pub/gnome/sources/atk'
|
||||
return 'url+/%s/atk-%s.tar.xz' % (version.up_to(2), version)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
@@ -23,20 +23,24 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
from spack.package_test import *
|
||||
from spack.util.executable import Executable
|
||||
import os.path
|
||||
|
||||
|
||||
class Atlas(Package):
|
||||
"""
|
||||
Automatically Tuned Linear Algebra Software, generic shared ATLAS is an approach for the automatic generation and
|
||||
optimization of numerical software. Currently ATLAS supplies optimized versions for the complete set of linear
|
||||
algebra kernels known as the Basic Linear Algebra Subroutines (BLAS), and a subset of the linear algebra routines
|
||||
in the LAPACK library.
|
||||
"""Automatically Tuned Linear Algebra Software, generic shared ATLAS is an
|
||||
approach for the automatic generation and optimization of numerical
|
||||
software. Currently ATLAS supplies optimized versions for the complete set
|
||||
of linear algebra kernels known as the Basic Linear Algebra Subroutines
|
||||
(BLAS), and a subset of the linear algebra routines in the LAPACK library.
|
||||
"""
|
||||
homepage = "http://math-atlas.sourceforge.net/"
|
||||
|
||||
version('3.10.2', 'a4e21f343dec8f22e7415e339f09f6da',
|
||||
url='http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.2/atlas3.10.2.tar.bz2', preferred=True)
|
||||
url='https://sourceforge.net/projects/math-atlas/files/Stable/3.10.2/atlas3.10.2.tar.bz2', preferred=True)
|
||||
# not all packages (e.g. Trilinos@12.6.3) stopped using deprecated in 3.6.0
|
||||
# Lapack routines. Stick with 3.5.0 until this is fixed.
|
||||
resource(name='lapack',
|
||||
url='http://www.netlib.org/lapack/lapack-3.5.0.tgz',
|
||||
md5='b1d3e3e425b2e44a06760ff173104bdf',
|
||||
@@ -44,7 +48,7 @@ class Atlas(Package):
|
||||
when='@3:')
|
||||
|
||||
version('3.11.34', '0b6c5389c095c4c8785fd0f724ec6825',
|
||||
url='http://sourceforge.net/projects/math-atlas/files/Developer%20%28unstable%29/3.11.34/atlas3.11.34.tar.bz2/download')
|
||||
url='http://sourceforge.net/projects/math-atlas/files/Developer%20%28unstable%29/3.11.34/atlas3.11.34.tar.bz2')
|
||||
|
||||
variant('shared', default=True, description='Builds shared library')
|
||||
|
||||
@@ -66,9 +70,24 @@ def install(self, spec, prefix):
|
||||
|
||||
options = []
|
||||
if '+shared' in spec:
|
||||
options.append('--shared')
|
||||
options.extend([
|
||||
'--shared'
|
||||
])
|
||||
# TODO: for non GNU add '-Fa', 'alg', '-fPIC' ?
|
||||
|
||||
# Lapack resource
|
||||
# configure for 64-bit build
|
||||
options.extend([
|
||||
'-b', '64'
|
||||
])
|
||||
|
||||
# set compilers:
|
||||
options.extend([
|
||||
'-C', 'ic', spack_cc,
|
||||
'-C', 'if', spack_f77
|
||||
])
|
||||
|
||||
# Lapack resource to provide full lapack build. Note that
|
||||
# ATLAS only provides a few LAPACK routines natively.
|
||||
lapack_stage = self.stage[1]
|
||||
lapack_tarfile = os.path.basename(lapack_stage.fetcher.url)
|
||||
lapack_tarfile_path = join_path(lapack_stage.path, lapack_tarfile)
|
||||
@@ -81,4 +100,35 @@ def install(self, spec, prefix):
|
||||
make('check')
|
||||
make('ptcheck')
|
||||
make('time')
|
||||
if '+shared' in spec:
|
||||
with working_dir('lib'):
|
||||
make('shared_all')
|
||||
|
||||
make("install")
|
||||
self.install_test()
|
||||
|
||||
def setup_dependent_package(self, module, dspec):
|
||||
# libsatlas.[so,dylib,dll ] contains all serial APIs (serial lapack,
|
||||
# serial BLAS), and all ATLAS symbols needed to support them. Whereas
|
||||
# libtatlas.[so,dylib,dll ] is parallel (multithreaded) version.
|
||||
name = 'libsatlas.%s' % dso_suffix
|
||||
libdir = find_library_path(name,
|
||||
self.prefix.lib64,
|
||||
self.prefix.lib)
|
||||
|
||||
if '+shared' in self.spec:
|
||||
self.spec.blas_shared_lib = join_path(libdir, name)
|
||||
self.spec.lapack_shared_lib = self.spec.blas_shared_lib
|
||||
|
||||
def install_test(self):
|
||||
source_file = join_path(os.path.dirname(self.module.__file__),
|
||||
'test_cblas_dgemm.c')
|
||||
blessed_file = join_path(os.path.dirname(self.module.__file__),
|
||||
'test_cblas_dgemm.output')
|
||||
|
||||
include_flags = ["-I%s" % join_path(self.spec.prefix, "include")]
|
||||
link_flags = ["-L%s" % join_path(self.spec.prefix, "lib"),
|
||||
"-lsatlas"]
|
||||
|
||||
output = compile_c_and_execute(source_file, include_flags, link_flags)
|
||||
compare_output_file(output, blessed_file)
|
||||
|
49
var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.c
Normal file
49
var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.c
Normal file
@@ -0,0 +1,49 @@
|
||||
#include <cblas.h>
|
||||
#include <stdio.h>
|
||||
|
||||
double m[] = {
|
||||
3, 1, 3,
|
||||
1, 5, 9,
|
||||
2, 6, 5
|
||||
};
|
||||
|
||||
double x[] = {
|
||||
-1, 3, -3
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void dgesv_(int *n, int *nrhs, double *a, int *lda,
|
||||
int *ipivot, double *b, int *ldb, int *info);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
int main(void) {
|
||||
int i;
|
||||
// blas:
|
||||
double A[6] = {1.0, 2.0, 1.0, -3.0, 4.0, -1.0};
|
||||
double B[6] = {1.0, 2.0, 1.0, -3.0, 4.0, -1.0};
|
||||
double C[9] = {.5, .5, .5, .5, .5, .5, .5, .5, .5};
|
||||
cblas_dgemm(CblasColMajor, CblasNoTrans, CblasTrans,
|
||||
3, 3, 2, 1, A, 3, B, 3, 2, C, 3);
|
||||
for (i = 0; i < 9; i++)
|
||||
printf("%f\n", C[i]);
|
||||
|
||||
// lapack:
|
||||
int ipiv[3];
|
||||
int j;
|
||||
int info;
|
||||
int n = 1;
|
||||
int nrhs = 1;
|
||||
int lda = 3;
|
||||
int ldb = 3;
|
||||
dgesv_(&n,&nrhs, &m[0], &lda, ipiv, &x[0], &ldb, &info);
|
||||
for (i=0; i<3; ++i)
|
||||
printf("%5.1f\n", x[i]);
|
||||
|
||||
return 0;
|
||||
}
|
@@ -0,0 +1,12 @@
|
||||
11.000000
|
||||
-9.000000
|
||||
5.000000
|
||||
-9.000000
|
||||
21.000000
|
||||
-1.000000
|
||||
5.000000
|
||||
-1.000000
|
||||
3.000000
|
||||
-0.3
|
||||
3.0
|
||||
-3.0
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Atop(Package):
|
||||
"""Atop is an ASCII full-screen performance monitor for Linux"""
|
||||
homepage = "http://www.atoptool.nl/index.php"
|
||||
@@ -37,4 +38,4 @@ def install(self, spec, prefix):
|
||||
install("atop", join_path(prefix.bin, "atop"))
|
||||
mkdirp(join_path(prefix.man, "man1"))
|
||||
install(join_path("man", "atop.1"),
|
||||
join_path(prefix.man, "man1", "atop.1"))
|
||||
join_path(prefix.man, "man1", "atop.1"))
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Automaded(Package):
|
||||
"""AutomaDeD (Automata-based Debugging for Dissimilar parallel
|
||||
tasks) is a tool for automatic diagnosis of performance and
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Bash(Package):
|
||||
"""The GNU Project's Bourne Again SHell."""
|
||||
|
||||
|
@@ -24,18 +24,22 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Bbcp(Package):
|
||||
"""Securely and quickly copy data from source to target"""
|
||||
homepage = "http://www.slac.stanford.edu/~abh/bbcp/"
|
||||
|
||||
version('git', git='http://www.slac.stanford.edu/~abh/bbcp/bbcp.git', branch="master")
|
||||
version('git', git='http://www.slac.stanford.edu/~abh/bbcp/bbcp.git',
|
||||
branch="master")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cd("src")
|
||||
make()
|
||||
# BBCP wants to build the executable in a directory whose name depends on the system type
|
||||
# BBCP wants to build the executable in a directory whose name depends
|
||||
# on the system type
|
||||
makesname = Executable("../MakeSname")
|
||||
bbcp_executable_path = "../bin/%s/bbcp" % makesname(output=str).rstrip("\n")
|
||||
bbcp_executable_path = "../bin/%s/bbcp" % makesname(
|
||||
output=str).rstrip("\n")
|
||||
destination_path = "%s/bin/" % prefix
|
||||
mkdirp(destination_path)
|
||||
install(bbcp_executable_path, destination_path)
|
||||
|
43
var/spack/repos/builtin/packages/bcftools/package.py
Normal file
43
var/spack/repos/builtin/packages/bcftools/package.py
Normal file
@@ -0,0 +1,43 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://github.com/llnl/spack
|
||||
# Please also see the LICENSE file for our notice and the LGPL.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License (as
|
||||
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||
# conditions of the GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Bcftools(Package):
|
||||
"""BCFtools is a set of utilities that manipulate variant calls in the
|
||||
Variant Call Format (VCF) and its binary counterpart BCF. All
|
||||
commands work transparently with both VCFs and BCFs, both
|
||||
uncompressed and BGZF-compressed."""
|
||||
|
||||
homepage = "http://samtools.github.io/bcftools/"
|
||||
url = "https://github.com/samtools/bcftools/releases/download/1.3.1/bcftools-1.3.1.tar.bz2"
|
||||
|
||||
version('1.3.1', '575001e9fca37cab0c7a7287ad4b1cdb')
|
||||
|
||||
depends_on('zlib')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
make("prefix=%s" % prefix, "all")
|
||||
make("prefix=%s" % prefix, "install")
|
53
var/spack/repos/builtin/packages/bdw-gc/package.py
Normal file
53
var/spack/repos/builtin/packages/bdw-gc/package.py
Normal file
@@ -0,0 +1,53 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://github.com/llnl/spack
|
||||
# Please also see the LICENSE file for our notice and the LGPL.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License (as
|
||||
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||
# conditions of the GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class BdwGc(Package):
|
||||
"""The Boehm-Demers-Weiser conservative garbage collector is a garbage
|
||||
collecting replacement for C malloc or C++ new."""
|
||||
|
||||
homepage = "http://www.hboehm.info/gc/"
|
||||
url = "http://www.hboehm.info/gc/gc_source/gc-7.4.4.tar.gz"
|
||||
|
||||
version('7.4.4', '96d18b0448a841c88d56e4ab3d180297')
|
||||
|
||||
variant('libatomic-ops', default=True,
|
||||
description='Use external libatomic-ops')
|
||||
|
||||
depends_on('libatomic-ops', when='+libatomic-ops')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
config_args = [
|
||||
'--prefix={0}'.format(prefix),
|
||||
'--with-libatomic-ops={0}'.format(
|
||||
'yes' if '+libatomic-ops' in spec else 'no')
|
||||
]
|
||||
|
||||
configure(*config_args)
|
||||
|
||||
make()
|
||||
make('check')
|
||||
make('install')
|
@@ -24,8 +24,10 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Bear(Package):
|
||||
"""Bear is a tool that generates a compilation database for clang tooling from non-cmake build systems."""
|
||||
"""Bear is a tool that generates a compilation database for clang tooling
|
||||
from non-cmake build systems."""
|
||||
homepage = "https://github.com/rizsotto/Bear"
|
||||
url = "https://github.com/rizsotto/Bear/archive/2.0.4.tar.gz"
|
||||
|
||||
|
@@ -25,10 +25,11 @@
|
||||
from spack import *
|
||||
from glob import glob
|
||||
|
||||
|
||||
class Bib2xhtml(Package):
|
||||
"""bib2xhtml is a program that converts BibTeX files into HTML."""
|
||||
homepage = "http://www.spinellis.gr/sw/textproc/bib2xhtml/"
|
||||
url='http://www.spinellis.gr/sw/textproc/bib2xhtml/bib2xhtml-v3.0-15-gf506.tar.gz'
|
||||
url = 'http://www.spinellis.gr/sw/textproc/bib2xhtml/bib2xhtml-v3.0-15-gf506.tar.gz'
|
||||
|
||||
version('3.0-15-gf506', 'a26ba02fe0053bbbf2277bdf0acf8645')
|
||||
|
||||
|
@@ -24,9 +24,10 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Bison(Package):
|
||||
"""Bison is a general-purpose parser generator that converts
|
||||
an annotated context-free grammar into a deterministic LR or
|
||||
"""Bison is a general-purpose parser generator that converts
|
||||
an annotated context-free grammar into a deterministic LR or
|
||||
generalized LR (GLR) parser employing LALR(1) parser tables."""
|
||||
|
||||
homepage = "http://www.gnu.org/software/bison/"
|
||||
|
@@ -102,13 +102,18 @@ class Boost(Package):
|
||||
|
||||
for lib in all_libs:
|
||||
variant(lib, default=(lib not in default_noinstall_libs),
|
||||
description="Compile with {0} library".format(lib))
|
||||
description="Compile with {0} library".format(lib))
|
||||
|
||||
variant('debug', default=False, description='Switch to the debug version of Boost')
|
||||
variant('shared', default=True, description="Additionally build shared libraries")
|
||||
variant('multithreaded', default=True, description="Build multi-threaded versions of libraries")
|
||||
variant('singlethreaded', default=True, description="Build single-threaded versions of libraries")
|
||||
variant('icu_support', default=False, description="Include ICU support (for regex/locale libraries)")
|
||||
variant('debug', default=False,
|
||||
description='Switch to the debug version of Boost')
|
||||
variant('shared', default=True,
|
||||
description="Additionally build shared libraries")
|
||||
variant('multithreaded', default=True,
|
||||
description="Build multi-threaded versions of libraries")
|
||||
variant('singlethreaded', default=True,
|
||||
description="Build single-threaded versions of libraries")
|
||||
variant('icu_support', default=False,
|
||||
description="Include ICU support (for regex/locale libraries)")
|
||||
variant('graph', default=False, description="Build the Boost Graph library")
|
||||
|
||||
depends_on('icu', when='+icu_support')
|
||||
@@ -128,8 +133,7 @@ def url_for_version(self, version):
|
||||
parts = [str(p) for p in Version(version)]
|
||||
dots = ".".join(parts)
|
||||
underscores = "_".join(parts)
|
||||
return "http://downloads.sourceforge.net/project/boost" \
|
||||
"/boost/%s/boost_%s.tar.bz2" % (dots, underscores)
|
||||
return "http://downloads.sourceforge.net/project/boost/boost/%s/boost_%s.tar.bz2" % (dots, underscores)
|
||||
|
||||
def determine_toolset(self, spec):
|
||||
if spec.satisfies("platform=darwin"):
|
||||
@@ -158,7 +162,7 @@ def determine_bootstrap_options(self, spec, withLibs, options):
|
||||
with open('user-config.jam', 'w') as f:
|
||||
compiler_wrapper = join_path(spack.build_env_path, 'c++')
|
||||
f.write("using {0} : : {1} ;\n".format(boostToolsetId,
|
||||
compiler_wrapper))
|
||||
compiler_wrapper))
|
||||
|
||||
if '+mpi' in spec:
|
||||
f.write('using mpi : %s ;\n' %
|
||||
|
@@ -24,12 +24,15 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
from glob import glob
|
||||
|
||||
|
||||
class Bowtie2(Package):
|
||||
"""Description"""
|
||||
homepage = "bowtie-bio.sourceforge.net/bowtie2/index.shtml"
|
||||
version('2.2.5','51fa97a862d248d7ee660efc1147c75f', url = "http://downloads.sourceforge.net/project/bowtie-bio/bowtie2/2.2.5/bowtie2-2.2.5-source.zip")
|
||||
version('2.2.5', '51fa97a862d248d7ee660efc1147c75f',
|
||||
url="http://downloads.sourceforge.net/project/bowtie-bio/bowtie2/2.2.5/bowtie2-2.2.5-source.zip")
|
||||
|
||||
patch('bowtie2-2.5.patch',when='@2.2.5', level=0)
|
||||
patch('bowtie2-2.5.patch', when='@2.2.5', level=0)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
make()
|
||||
@@ -45,4 +48,3 @@ def install(self, spec, prefix):
|
||||
# install('bowtie2-inspect',prefix.bin)
|
||||
# install('bowtie2-inspect-l',prefix.bin)
|
||||
# install('bowtie2-inspect-s',prefix.bin)
|
||||
|
||||
|
@@ -24,12 +24,13 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Boxlib(Package):
|
||||
"""BoxLib, a software framework for massively parallel
|
||||
block-structured adaptive mesh refinement (AMR) codes."""
|
||||
|
||||
homepage = "https://ccse.lbl.gov/BoxLib/"
|
||||
url = "https://ccse.lbl.gov/pub/Downloads/BoxLib.git";
|
||||
url = "https://ccse.lbl.gov/pub/Downloads/BoxLib.git"
|
||||
|
||||
# TODO: figure out how best to version this. No tags in the repo!
|
||||
version('master', git='https://ccse.lbl.gov/pub/Downloads/BoxLib.git')
|
||||
@@ -47,4 +48,3 @@ def install(self, spec, prefix):
|
||||
cmake('.', *args)
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
41
var/spack/repos/builtin/packages/bpp-core/package.py
Normal file
41
var/spack/repos/builtin/packages/bpp-core/package.py
Normal file
@@ -0,0 +1,41 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://github.com/llnl/spack
|
||||
# Please also see the LICENSE file for our notice and the LGPL.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License (as
|
||||
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||
# conditions of the GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class BppCore(Package):
|
||||
"""Bio++ core library."""
|
||||
|
||||
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
|
||||
url = "http://biopp.univ-montp2.fr/repos/sources/bpp-core-2.2.0.tar.gz"
|
||||
|
||||
version('2.2.0', '5789ed2ae8687d13664140cd77203477')
|
||||
|
||||
depends_on('cmake')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake('-DBUILD_TESTING=FALSE', '.', *std_cmake_args)
|
||||
make()
|
||||
make('install')
|
43
var/spack/repos/builtin/packages/bpp-phyl/package.py
Normal file
43
var/spack/repos/builtin/packages/bpp-phyl/package.py
Normal file
@@ -0,0 +1,43 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://github.com/llnl/spack
|
||||
# Please also see the LICENSE file for our notice and the LGPL.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License (as
|
||||
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||
# conditions of the GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class BppPhyl(Package):
|
||||
"""Bio++ phylogeny library."""
|
||||
|
||||
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
|
||||
url = "http://biopp.univ-montp2.fr/repos/sources/bpp-phyl-2.2.0.tar.gz"
|
||||
|
||||
version('2.2.0', '5c40667ec0bf37e0ecaba321be932770')
|
||||
|
||||
depends_on('cmake')
|
||||
depends_on('bpp-core')
|
||||
depends_on('bpp-seq')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake('-DBUILD_TESTING=FALSE', '.', *std_cmake_args)
|
||||
make()
|
||||
make('install')
|
42
var/spack/repos/builtin/packages/bpp-seq/package.py
Normal file
42
var/spack/repos/builtin/packages/bpp-seq/package.py
Normal file
@@ -0,0 +1,42 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://github.com/llnl/spack
|
||||
# Please also see the LICENSE file for our notice and the LGPL.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License (as
|
||||
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||
# conditions of the GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class BppSeq(Package):
|
||||
"""Bio++ seq library."""
|
||||
|
||||
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
|
||||
url = "http://biopp.univ-montp2.fr/repos/sources/bpp-seq-2.2.0.tar.gz"
|
||||
|
||||
version('2.2.0', '44adef0ff4d5ca4e69ccf258c9270633')
|
||||
|
||||
depends_on('cmake')
|
||||
depends_on('bpp-core')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake('-DBUILD_TESTING=FALSE', '.', *std_cmake_args)
|
||||
make()
|
||||
make('install')
|
47
var/spack/repos/builtin/packages/bpp-suite/package.py
Normal file
47
var/spack/repos/builtin/packages/bpp-suite/package.py
Normal file
@@ -0,0 +1,47 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://github.com/llnl/spack
|
||||
# Please also see the LICENSE file for our notice and the LGPL.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License (as
|
||||
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||
# conditions of the GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class BppSuite(Package):
|
||||
"""BppSuite is a suite of ready-to-use programs for phylogenetic and
|
||||
sequence analysis."""
|
||||
|
||||
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/BppSuite"
|
||||
url = "http://biopp.univ-montp2.fr/repos/sources/bppsuite/bppsuite-2.2.0.tar.gz"
|
||||
|
||||
version('2.2.0', 'd8b29ad7ccf5bd3a7beb701350c9e2a4')
|
||||
|
||||
# FIXME: Add dependencies if required.
|
||||
depends_on('cmake')
|
||||
depends_on('texinfo')
|
||||
depends_on('bpp-core')
|
||||
depends_on('bpp-seq')
|
||||
depends_on('bpp-phyl')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake('.', *std_cmake_args)
|
||||
make()
|
||||
make('install')
|
52
var/spack/repos/builtin/packages/bwa/package.py
Normal file
52
var/spack/repos/builtin/packages/bwa/package.py
Normal file
@@ -0,0 +1,52 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://github.com/llnl/spack
|
||||
# Please also see the LICENSE file for our notice and the LGPL.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License (as
|
||||
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||
# conditions of the GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Bwa(Package):
|
||||
"""Burrow-Wheeler Aligner for pairwise alignment between DNA sequences."""
|
||||
|
||||
homepage = "http://github.com/lh3/bwa"
|
||||
url = "https://github.com/lh3/bwa/releases/download/v0.7.15/bwa-0.7.15.tar.bz2"
|
||||
|
||||
version('0.7.15', 'fcf470a46a1dbe2f96a1c5b87c530554')
|
||||
|
||||
depends_on('zlib')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
filter_file(r'^INCLUDES=',
|
||||
"INCLUDES=-I%s" % spec['zlib'].prefix.include, 'Makefile')
|
||||
filter_file(r'^LIBS=', "LIBS=-L%s " % spec['zlib'].prefix.lib,
|
||||
'Makefile')
|
||||
make()
|
||||
|
||||
mkdirp(prefix.bin)
|
||||
install('bwa', join_path(prefix.bin, 'bwa'))
|
||||
set_executable(join_path(prefix.bin, 'bwa'))
|
||||
mkdirp(prefix.doc)
|
||||
install('README.md', prefix.doc)
|
||||
install('NEWS.md', prefix.doc)
|
||||
mkdirp(prefix.man1)
|
||||
install('bwa.1', prefix.man1)
|
@@ -51,15 +51,23 @@ def patch(self):
|
||||
kwargs = {'ignore_absent': False, 'backup': False, 'string': True}
|
||||
|
||||
mf = FileFilter('Makefile-libbz2_so')
|
||||
mf.filter('$(CC) -shared -Wl,-soname -Wl,libbz2.so.{0} -o libbz2.so.{1} $(OBJS)'.format(v2, v3), # NOQA ignore=E501
|
||||
'$(CC) -dynamiclib -Wl,-install_name -Wl,@rpath/libbz2.{0}.dylib -current_version {1} -compatibility_version {2} -o libbz2.{3}.dylib $(OBJS)'.format(v1, v2, v3, v3), **kwargs) # NOQA ignore=E501
|
||||
mf.filter('$(CC) -shared -Wl,-soname -Wl,libbz2.so.{0} -o libbz2.so.{1} $(OBJS)' # noqa
|
||||
.format(v2, v3),
|
||||
'$(CC) -dynamiclib -Wl,-install_name -Wl,@rpath/libbz2.{0}.dylib -current_version {1} -compatibility_version {2} -o libbz2.{3}.dylib $(OBJS)' # noqa
|
||||
.format(v1, v2, v3, v3),
|
||||
**kwargs)
|
||||
|
||||
mf.filter('$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.{0}'.format(v3), # NOQA ignore=E501
|
||||
'$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.{0}.dylib'.format(v3), **kwargs) # NOQA ignore=E501
|
||||
mf.filter('rm -f libbz2.so.{0}'.format(v2),
|
||||
'rm -f libbz2.{0}.dylib'.format(v2), **kwargs)
|
||||
mf.filter('ln -s libbz2.so.{0} libbz2.so.{1}'.format(v3, v2),
|
||||
'ln -s libbz2.{0}.dylib libbz2.{1}.dylib'.format(v3, v2), **kwargs) # NOQA ignore=E501
|
||||
mf.filter(
|
||||
'$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.{0}'.format(v3), # noqa
|
||||
'$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.{0}.dylib'
|
||||
.format(v3), **kwargs)
|
||||
mf.filter(
|
||||
'rm -f libbz2.so.{0}'.format(v2),
|
||||
'rm -f libbz2.{0}.dylib'.format(v2), **kwargs)
|
||||
mf.filter(
|
||||
'ln -s libbz2.so.{0} libbz2.so.{1}'.format(v3, v2),
|
||||
'ln -s libbz2.{0}.dylib libbz2.{1}.dylib'.format(v3, v2),
|
||||
**kwargs)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Build the dynamic library first
|
||||
@@ -73,10 +81,12 @@ def install(self, spec, prefix):
|
||||
v1, v2, v3 = (self.spec.version.up_to(i) for i in (1, 2, 3))
|
||||
if 'darwin' in self.spec.architecture:
|
||||
lib = 'libbz2.dylib'
|
||||
lib1, lib2, lib3 = ('libbz2.{0}.dylib'.format(v) for v in (v1, v2, v3)) # NOQA ignore=E501
|
||||
lib1, lib2, lib3 = ('libbz2.{0}.dylib'.format(v)
|
||||
for v in (v1, v2, v3))
|
||||
else:
|
||||
lib = 'libbz2.so'
|
||||
lib1, lib2, lib3 = ('libbz2.so.{0}'.format(v) for v in (v1, v2, v3)) # NOQA ignore=E501
|
||||
lib1, lib2, lib3 = ('libbz2.so.{0}'.format(v)
|
||||
for v in (v1, v2, v3))
|
||||
|
||||
install(lib3, join_path(prefix.lib, lib3))
|
||||
with working_dir(prefix.lib):
|
||||
|
@@ -27,6 +27,7 @@
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class CBlosc(Package):
|
||||
"""Blosc, an extremely fast, multi-threaded, meta-compressor library"""
|
||||
homepage = "http://www.blosc.org"
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Caliper(Package):
|
||||
"""
|
||||
Caliper is a generic context annotation system. It gives programmers the
|
||||
@@ -44,7 +45,7 @@ class Caliper(Package):
|
||||
depends_on('cmake', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('build', create=True):
|
||||
cmake('..', *std_cmake_args)
|
||||
make()
|
||||
make("install")
|
||||
with working_dir('build', create=True):
|
||||
cmake('..', *std_cmake_args)
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Callpath(Package):
|
||||
"""Library for representing callpaths consistently in
|
||||
distributed-memory performance tools."""
|
||||
|
@@ -35,11 +35,16 @@ class Cantera(Package):
|
||||
|
||||
version('2.2.1', '9d1919bdef39ddec54485fc8a741a3aa')
|
||||
|
||||
variant('lapack', default=True, description='Build with external BLAS/LAPACK libraries')
|
||||
variant('threadsafe', default=True, description='Build threadsafe, requires Boost')
|
||||
variant('sundials', default=True, description='Build with external Sundials')
|
||||
variant('python', default=False, description='Build the Cantera Python module')
|
||||
variant('matlab', default=False, description='Build the Cantera Matlab toolbox')
|
||||
variant('lapack', default=True,
|
||||
description='Build with external BLAS/LAPACK libraries')
|
||||
variant('threadsafe', default=True,
|
||||
description='Build threadsafe, requires Boost')
|
||||
variant('sundials', default=True,
|
||||
description='Build with external Sundials')
|
||||
variant('python', default=False,
|
||||
description='Build the Cantera Python module')
|
||||
variant('matlab', default=False,
|
||||
description='Build the Cantera Matlab toolbox')
|
||||
|
||||
# Required dependencies
|
||||
depends_on('scons', type='build')
|
||||
|
53
var/spack/repos/builtin/packages/cask/package.py
Normal file
53
var/spack/repos/builtin/packages/cask/package.py
Normal file
@@ -0,0 +1,53 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://github.com/llnl/spack
|
||||
# Please also see the LICENSE file for our notice and the LGPL.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License (as
|
||||
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||
# conditions of the GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
#
|
||||
# Based on Homebrew's formula:
|
||||
# https://github.com/Homebrew/homebrew-core/blob/master/Formula/cask.rb
|
||||
#
|
||||
from spack import *
|
||||
from glob import glob
|
||||
|
||||
|
||||
class Cask(Package):
|
||||
"""Cask is a project management tool for Emacs Lisp to automate the package
|
||||
development cycle; development, dependencies, testing, building,
|
||||
packaging and more."""
|
||||
homepage = "http://cask.readthedocs.io/en/latest/"
|
||||
url = "https://github.com/cask/cask/archive/v0.7.4.tar.gz"
|
||||
|
||||
version('0.7.4', 'c973a7db43bc980dd83759a5864a1260')
|
||||
|
||||
depends_on('emacs', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
mkdirp(prefix.bin)
|
||||
install('bin/cask', prefix.bin)
|
||||
install_tree('templates', join_path(prefix, 'templates'))
|
||||
for el_file in glob("*.el"):
|
||||
install(el_file, prefix)
|
||||
for misc_file in ['COPYING', 'cask.png', 'README.md']:
|
||||
install(misc_file, prefix)
|
||||
# disable cask's automatic upgrading feature
|
||||
touch(join_path(prefix, ".no-upgrade"))
|
@@ -23,7 +23,7 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
|
||||
class Cblas(Package):
|
||||
"""The BLAS (Basic Linear Algebra Subprograms) are routines that
|
||||
@@ -42,11 +42,11 @@ class Cblas(Package):
|
||||
def patch(self):
|
||||
mf = FileFilter('Makefile.in')
|
||||
|
||||
mf.filter('^BLLIB =.*', 'BLLIB = %s/libblas.a' % self.spec['blas'].prefix.lib)
|
||||
mf.filter('^BLLIB =.*', 'BLLIB = %s/libblas.a' %
|
||||
self.spec['blas'].prefix.lib)
|
||||
mf.filter('^CC =.*', 'CC = cc')
|
||||
mf.filter('^FC =.*', 'FC = f90')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
make('all')
|
||||
mkdirp(prefix.lib)
|
||||
@@ -54,6 +54,5 @@ def install(self, spec, prefix):
|
||||
|
||||
# Rename the generated lib file to libcblas.a
|
||||
install('./lib/cblas_LINUX.a', '%s/libcblas.a' % prefix.lib)
|
||||
install('./include/cblas.h','%s' % prefix.include)
|
||||
install('./include/cblas_f77.h','%s' % prefix.include)
|
||||
|
||||
install('./include/cblas.h', '%s' % prefix.include)
|
||||
install('./include/cblas_f77.h', '%s' % prefix.include)
|
||||
|
@@ -22,7 +22,7 @@
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
################################################################################
|
||||
##########################################################################
|
||||
# Copyright (c) 2015-2016 Krell Institute. All Rights Reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
@@ -38,20 +38,24 @@
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
# Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
################################################################################
|
||||
##########################################################################
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class CbtfArgonavis(Package):
|
||||
"""CBTF Argo Navis project contains the CUDA collector and supporting
|
||||
libraries that was done as a result of a DOE SBIR grant."""
|
||||
"""CBTF Argo Navis project contains the CUDA collector and supporting
|
||||
libraries that was done as a result of a DOE SBIR grant.
|
||||
|
||||
"""
|
||||
homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
|
||||
|
||||
# Mirror access template example
|
||||
#url = "file:/home/jeg/OpenSpeedShop_ROOT/SOURCES/cbtf-argonavis-1.6.tar.gz"
|
||||
#version('1.6', '0fafa0008478405c2c2319450f174ed4')
|
||||
# url = "file:/home/jeg/OpenSpeedShop_ROOT/SOURCES/cbtf-argonavis-1.6.tar.gz"
|
||||
# version('1.6', '0fafa0008478405c2c2319450f174ed4')
|
||||
|
||||
version('1.6', branch='master', git='https://github.com/OpenSpeedShop/cbtf-argonavis.git')
|
||||
version('1.6', branch='master',
|
||||
git='https://github.com/OpenSpeedShop/cbtf-argonavis.git')
|
||||
|
||||
depends_on("cmake@3.0.2", type='build')
|
||||
depends_on("boost@1.50.0:")
|
||||
@@ -60,17 +64,19 @@ class CbtfArgonavis(Package):
|
||||
depends_on("cbtf")
|
||||
depends_on("cbtf-krell")
|
||||
depends_on("cuda@6.0.37")
|
||||
#depends_on("cuda")
|
||||
# depends_on("cuda")
|
||||
|
||||
parallel = False
|
||||
|
||||
def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
|
||||
# Sets build type parameters into cmakeOptions the options that will enable the cbtf-krell built type settings
|
||||
# Sets build type parameters into cmakeOptions the options that will
|
||||
# enable the cbtf-krell built type settings
|
||||
|
||||
compile_flags="-O2 -g"
|
||||
compile_flags = "-O2 -g"
|
||||
BuildTypeOptions = []
|
||||
|
||||
# Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the stdcmakeargs
|
||||
# Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the
|
||||
# stdcmakeargs
|
||||
for word in cmakeOptions[:]:
|
||||
if word.startswith('-DCMAKE_BUILD_TYPE'):
|
||||
cmakeOptions.remove(word)
|
||||
@@ -81,50 +87,54 @@ def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
|
||||
if word.startswith('-DCMAKE_VERBOSE_MAKEFILE'):
|
||||
cmakeOptions.remove(word)
|
||||
BuildTypeOptions.extend([
|
||||
'-DCMAKE_VERBOSE_MAKEFILE=ON',
|
||||
'-DCMAKE_BUILD_TYPE=None',
|
||||
'-DCMAKE_CXX_FLAGS=%s' % compile_flags,
|
||||
'-DCMAKE_C_FLAGS=%s' % compile_flags
|
||||
'-DCMAKE_VERBOSE_MAKEFILE=ON',
|
||||
'-DCMAKE_BUILD_TYPE=None',
|
||||
'-DCMAKE_CXX_FLAGS=%s' % compile_flags,
|
||||
'-DCMAKE_C_FLAGS=%s' % compile_flags
|
||||
])
|
||||
|
||||
cmakeOptions.extend(BuildTypeOptions)
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
# Look for package installation information in the cbtf and cbtf-krell prefixes
|
||||
cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix)
|
||||
# Look for package installation information in the cbtf and cbtf-krell
|
||||
# prefixes
|
||||
cmake_prefix_path = join_path(
|
||||
spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix)
|
||||
|
||||
with working_dir('CUDA'):
|
||||
with working_dir('build', create=True):
|
||||
with working_dir('CUDA'):
|
||||
with working_dir('build', create=True):
|
||||
|
||||
cmakeOptions = []
|
||||
cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
'-DCUDA_DIR=%s' % spec['cuda'].prefix,
|
||||
'-DCUDA_INSTALL_PATH=%s' % spec['cuda'].prefix,
|
||||
'-DCUDA_TOOLKIT_ROOT_DIR=%s' % spec['cuda'].prefix,
|
||||
'-DCUPTI_DIR=%s' % join_path(spec['cuda'].prefix + '/extras/CUPTI'),
|
||||
'-DCUPTI_ROOT=%s' % join_path(spec['cuda'].prefix + '/extras/CUPTI'),
|
||||
'-DPAPI_ROOT=%s' % spec['papi'].prefix,
|
||||
'-DCBTF_DIR=%s' % spec['cbtf'].prefix,
|
||||
'-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
|
||||
'-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||
'-DBoost_DIR=%s' % spec['boost'].prefix,
|
||||
'-DBOOST_LIBRARYDIR=%s' % spec['boost'].prefix.lib,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DBoost_NO_SYSTEM_PATHS=ON'
|
||||
])
|
||||
cmakeOptions = []
|
||||
cmakeOptions.extend(
|
||||
['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
'-DCUDA_DIR=%s' % spec['cuda'].prefix,
|
||||
'-DCUDA_INSTALL_PATH=%s' % spec['cuda'].prefix,
|
||||
'-DCUDA_TOOLKIT_ROOT_DIR=%s' % spec['cuda'].prefix,
|
||||
'-DCUPTI_DIR=%s' % join_path(
|
||||
spec['cuda'].prefix + '/extras/CUPTI'),
|
||||
'-DCUPTI_ROOT=%s' % join_path(
|
||||
spec['cuda'].prefix + '/extras/CUPTI'),
|
||||
'-DPAPI_ROOT=%s' % spec['papi'].prefix,
|
||||
'-DCBTF_DIR=%s' % spec['cbtf'].prefix,
|
||||
'-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
|
||||
'-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||
'-DBoost_DIR=%s' % spec['boost'].prefix,
|
||||
'-DBOOST_LIBRARYDIR=%s' % spec['boost'].prefix.lib,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DBoost_NO_SYSTEM_PATHS=ON'])
|
||||
|
||||
# Add in the standard cmake arguments
|
||||
cmakeOptions.extend(std_cmake_args)
|
||||
# Add in the standard cmake arguments
|
||||
cmakeOptions.extend(std_cmake_args)
|
||||
|
||||
# Adjust the standard cmake arguments to what we want the build type, etc to be
|
||||
self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
|
||||
|
||||
# Invoke cmake
|
||||
cmake('..', *cmakeOptions)
|
||||
# Adjust the standard cmake arguments to what we want the build
|
||||
# type, etc to be
|
||||
self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
|
||||
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
# Invoke cmake
|
||||
cmake('..', *cmakeOptions)
|
||||
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -22,7 +22,7 @@
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
################################################################################
|
||||
##########################################################################
|
||||
# Copyright (c) 2015-2016 Krell Institute. All Rights Reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
@@ -38,30 +38,40 @@
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
# Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
################################################################################
|
||||
##########################################################################
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class CbtfKrell(Package):
|
||||
"""CBTF Krell project contains the Krell Institute contributions to the CBTF project.
|
||||
These contributions include many performance data collectors and support
|
||||
libraries as well as some example tools that drive the data collection at
|
||||
HPC levels of scale."""
|
||||
"""CBTF Krell project contains the Krell Institute contributions to the
|
||||
CBTF project. These contributions include many performance data
|
||||
collectors and support libraries as well as some example tools
|
||||
that drive the data collection at HPC levels of scale.
|
||||
|
||||
"""
|
||||
homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
|
||||
|
||||
# optional mirror access template
|
||||
#url = "file:/home/jeg/cbtf-krell-1.6.tar.gz"
|
||||
#version('1.6', 'edeb61cd488f16e7b124f77db9ce762d')
|
||||
# url = "file:/home/jeg/cbtf-krell-1.6.tar.gz"
|
||||
# version('1.6', 'edeb61cd488f16e7b124f77db9ce762d')
|
||||
|
||||
version('1.6', branch='master', git='https://github.com/OpenSpeedShop/cbtf-krell.git')
|
||||
version('1.6', branch='master',
|
||||
git='https://github.com/OpenSpeedShop/cbtf-krell.git')
|
||||
|
||||
# MPI variants
|
||||
variant('openmpi', default=False, description="Build mpi experiment collector for openmpi MPI when this variant is enabled.")
|
||||
variant('mpt', default=False, description="Build mpi experiment collector for SGI MPT MPI when this variant is enabled.")
|
||||
variant('mvapich2', default=False, description="Build mpi experiment collector for mvapich2 MPI when this variant is enabled.")
|
||||
variant('mvapich', default=False, description="Build mpi experiment collector for mvapich MPI when this variant is enabled.")
|
||||
variant('mpich2', default=False, description="Build mpi experiment collector for mpich2 MPI when this variant is enabled.")
|
||||
variant('mpich', default=False, description="Build mpi experiment collector for mpich MPI when this variant is enabled.")
|
||||
variant('openmpi', default=False,
|
||||
description="Build mpi experiment collector for openmpi MPI..")
|
||||
variant('mpt', default=False,
|
||||
description="Build mpi experiment collector for SGI MPT MPI.")
|
||||
variant('mvapich2', default=False,
|
||||
description="Build mpi experiment collector for mvapich2 MPI.")
|
||||
variant('mvapich', default=False,
|
||||
description="Build mpi experiment collector for mvapich MPI.")
|
||||
variant('mpich2', default=False,
|
||||
description="Build mpi experiment collector for mpich2 MPI.")
|
||||
variant('mpich', default=False,
|
||||
description="Build mpi experiment collector for mpich MPI.")
|
||||
|
||||
# Dependencies for cbtf-krell
|
||||
depends_on("cmake@3.0.2", type='build')
|
||||
@@ -83,7 +93,8 @@ class CbtfKrell(Package):
|
||||
depends_on("papi")
|
||||
|
||||
# MPI Installations
|
||||
# These have not worked either for build or execution, commenting out for now
|
||||
# These have not worked either for build or execution, commenting out for
|
||||
# now
|
||||
depends_on("openmpi", when='+openmpi')
|
||||
depends_on("mpich", when='+mpich')
|
||||
depends_on("mpich2", when='+mpich2')
|
||||
@@ -94,11 +105,13 @@ class CbtfKrell(Package):
|
||||
parallel = False
|
||||
|
||||
def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
|
||||
# Sets build type parameters into cmakeOptions the options that will enable the cbtf-krell built type settings
|
||||
|
||||
compile_flags="-O2 -g"
|
||||
# Sets build type parameters into cmakeOptions the options that will
|
||||
# enable the cbtf-krell built type settings
|
||||
|
||||
compile_flags = "-O2 -g"
|
||||
BuildTypeOptions = []
|
||||
# Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the stdcmakeargs
|
||||
# Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the
|
||||
# stdcmakeargs
|
||||
for word in cmakeOptions[:]:
|
||||
if word.startswith('-DCMAKE_BUILD_TYPE'):
|
||||
cmakeOptions.remove(word)
|
||||
@@ -109,75 +122,76 @@ def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
|
||||
if word.startswith('-DCMAKE_VERBOSE_MAKEFILE'):
|
||||
cmakeOptions.remove(word)
|
||||
BuildTypeOptions.extend([
|
||||
'-DCMAKE_VERBOSE_MAKEFILE=ON',
|
||||
'-DCMAKE_BUILD_TYPE=None',
|
||||
'-DCMAKE_CXX_FLAGS=%s' % compile_flags,
|
||||
'-DCMAKE_C_FLAGS=%s' % compile_flags
|
||||
'-DCMAKE_VERBOSE_MAKEFILE=ON',
|
||||
'-DCMAKE_BUILD_TYPE=None',
|
||||
'-DCMAKE_CXX_FLAGS=%s' % compile_flags,
|
||||
'-DCMAKE_C_FLAGS=%s' % compile_flags
|
||||
])
|
||||
|
||||
cmakeOptions.extend(BuildTypeOptions)
|
||||
|
||||
|
||||
|
||||
def set_mpi_cmakeOptions(self, spec, cmakeOptions):
|
||||
# Appends to cmakeOptions the options that will enable the appropriate MPI implementations
|
||||
|
||||
# Appends to cmakeOptions the options that will enable the appropriate
|
||||
# MPI implementations
|
||||
|
||||
MPIOptions = []
|
||||
|
||||
# openmpi
|
||||
if '+openmpi' in spec:
|
||||
MPIOptions.extend([
|
||||
'-DOPENMPI_DIR=%s' % spec['openmpi'].prefix
|
||||
'-DOPENMPI_DIR=%s' % spec['openmpi'].prefix
|
||||
])
|
||||
# mpich
|
||||
if '+mpich' in spec:
|
||||
MPIOptions.extend([
|
||||
'-DMPICH_DIR=%s' % spec['mpich'].prefix
|
||||
'-DMPICH_DIR=%s' % spec['mpich'].prefix
|
||||
])
|
||||
# mpich2
|
||||
if '+mpich2' in spec:
|
||||
MPIOptions.extend([
|
||||
'-DMPICH2_DIR=%s' % spec['mpich2'].prefix
|
||||
'-DMPICH2_DIR=%s' % spec['mpich2'].prefix
|
||||
])
|
||||
# mvapich
|
||||
if '+mvapich' in spec:
|
||||
MPIOptions.extend([
|
||||
'-DMVAPICH_DIR=%s' % spec['mvapich'].prefix
|
||||
'-DMVAPICH_DIR=%s' % spec['mvapich'].prefix
|
||||
])
|
||||
# mvapich2
|
||||
if '+mvapich2' in spec:
|
||||
MPIOptions.extend([
|
||||
'-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix
|
||||
'-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix
|
||||
])
|
||||
# mpt
|
||||
if '+mpt' in spec:
|
||||
MPIOptions.extend([
|
||||
'-DMPT_DIR=%s' % spec['mpt'].prefix
|
||||
'-DMPT_DIR=%s' % spec['mpt'].prefix
|
||||
])
|
||||
|
||||
cmakeOptions.extend(MPIOptions)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
# Add in paths for finding package config files that tell us where to find these packages
|
||||
#cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['dyninst'].prefix)
|
||||
#'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path
|
||||
# Add in paths for finding package config files that tell us
|
||||
# where to find these packages
|
||||
# cmake_prefix_path = \
|
||||
# join_path(spec['cbtf'].prefix) + ':' + \
|
||||
# join_path(spec['dyninst'].prefix)
|
||||
# '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path
|
||||
|
||||
# Build cbtf-krell with cmake
|
||||
# Build cbtf-krell with cmake
|
||||
with working_dir('build_cbtf_krell', create=True):
|
||||
cmakeOptions = []
|
||||
cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DCBTF_DIR=%s' % spec['cbtf'].prefix,
|
||||
'-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
|
||||
'-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
|
||||
'-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
|
||||
'-DPAPI_DIR=%s' % spec['papi'].prefix,
|
||||
'-DBOOST_DIR=%s' % spec['boost'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
|
||||
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix
|
||||
])
|
||||
|
||||
cmakeOptions.extend(
|
||||
['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DCBTF_DIR=%s' % spec['cbtf'].prefix,
|
||||
'-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
|
||||
'-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
|
||||
'-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
|
||||
'-DPAPI_DIR=%s' % spec['papi'].prefix,
|
||||
'-DBOOST_DIR=%s' % spec['boost'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
|
||||
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix])
|
||||
|
||||
# Add any MPI implementations coming from variant settings
|
||||
self.set_mpi_cmakeOptions(spec, cmakeOptions)
|
||||
@@ -185,9 +199,10 @@ def install(self, spec, prefix):
|
||||
# Add in the standard cmake arguments
|
||||
cmakeOptions.extend(std_cmake_args)
|
||||
|
||||
# Adjust the standard cmake arguments to what we want the build type, etc to be
|
||||
# Adjust the standard cmake arguments to what we want the build
|
||||
# type, etc to be
|
||||
self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
|
||||
|
||||
|
||||
# Invoke cmake
|
||||
cmake('..', *cmakeOptions)
|
||||
|
||||
@@ -195,56 +210,54 @@ def install(self, spec, prefix):
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
||||
|
||||
#if '+cray' in spec:
|
||||
#if 'cray' in self.spec.architecture:
|
||||
# if '+cray' in spec:
|
||||
# if 'cray' in self.spec.architecture:
|
||||
# if '+runtime' in spec:
|
||||
# with working_dir('build_cbtf_cray_runtime', create=True):
|
||||
# python_vers='%d.%d' % spec['python'].version[:2]
|
||||
# cmake .. \
|
||||
# -DCMAKE_BUILD_TYPE=Debug \
|
||||
# -DTARGET_OS="cray" \
|
||||
# -DRUNTIME_ONLY="true" \
|
||||
# -DCMAKE_INSTALL_PREFIX=${CBTF_KRELL_PREFIX} \
|
||||
# -DCMAKE_PREFIX_PATH=${CBTF_ROOT} \
|
||||
# -DCBTF_DIR=${CBTF_ROOT} \
|
||||
# -DBOOST_ROOT=${BOOST_INSTALL_PREFIX} \
|
||||
# -DXERCESC_DIR=${XERCESC_INSTALL_PREFIX} \
|
||||
# -DBINUTILS_DIR=${KRELL_ROOT} \
|
||||
# -DLIBMONITOR_DIR=${KRELL_ROOT_COMPUTE} \
|
||||
# -DLIBUNWIND_DIR=${KRELL_ROOT_COMPUTE} \
|
||||
# -DPAPI_DIR=${PAPI_ROOT} \
|
||||
# -DDYNINST_DIR=${DYNINST_CN_ROOT} \
|
||||
# -DMRNET_DIR=${MRNET_INSTALL_PREFIX} \
|
||||
# -DMPICH2_DIR=/opt/cray/mpt/7.0.1/gni/mpich2-gnu/48
|
||||
# -DCMAKE_BUILD_TYPE=Debug \
|
||||
# -DTARGET_OS="cray" \
|
||||
# -DRUNTIME_ONLY="true" \
|
||||
# -DCMAKE_INSTALL_PREFIX=${CBTF_KRELL_PREFIX} \
|
||||
# -DCMAKE_PREFIX_PATH=${CBTF_ROOT} \
|
||||
# -DCBTF_DIR=${CBTF_ROOT} \
|
||||
# -DBOOST_ROOT=${BOOST_INSTALL_PREFIX} \
|
||||
# -DXERCESC_DIR=${XERCESC_INSTALL_PREFIX} \
|
||||
# -DBINUTILS_DIR=${KRELL_ROOT} \
|
||||
# -DLIBMONITOR_DIR=${KRELL_ROOT_COMPUTE} \
|
||||
# -DLIBUNWIND_DIR=${KRELL_ROOT_COMPUTE} \
|
||||
# -DPAPI_DIR=${PAPI_ROOT} \
|
||||
# -DDYNINST_DIR=${DYNINST_CN_ROOT} \
|
||||
# -DMRNET_DIR=${MRNET_INSTALL_PREFIX} \
|
||||
# -DMPICH2_DIR=/opt/cray/mpt/7.0.1/gni/mpich2-gnu/48
|
||||
# else:
|
||||
# with working_dir('build_cbtf_cray_frontend', create=True):
|
||||
# python_vers='%d.%d' % spec['python'].version[:2]
|
||||
# cmake .. \
|
||||
# -DCMAKE_BUILD_TYPE=Debug \
|
||||
# -DCMAKE_INSTALL_PREFIX=${CBTF_KRELL_PREFIX} \
|
||||
# -DCMAKE_PREFIX_PATH=${CBTF_ROOT} \
|
||||
# -DCBTF_DIR=${CBTF_ROOT} \
|
||||
# -DRUNTIME_TARGET_OS="cray" \
|
||||
# -DCBTF_KRELL_CN_RUNTIME_DIR=${CBTF_KRELL_CN_RUNTIME_ROOT} \
|
||||
# -DCBTF_CN_RUNTIME_DIR=${CBTF_CN_RUNTIME_ROOT} \
|
||||
# -DLIBMONITOR_CN_RUNTIME_DIR=${LIBMONITOR_CN_ROOT} \
|
||||
# -DLIBUNWIND_CN_RUNTIME_DIR=${LIBUNWIND_CN_ROOT} \
|
||||
# -DPAPI_CN_RUNTIME_DIR=${PAPI_CN_ROOT} \
|
||||
# -DXERCESC_CN_RUNTIME_DIR=/${XERCESC_CN_ROOT} \
|
||||
# -DMRNET_CN_RUNTIME_DIR=${MRNET_CN_ROOT} \
|
||||
# -DBOOST_CN_RUNTIME_DIR=${BOOST_CN_ROOT} \
|
||||
# -DDYNINST_CN_RUNTIME_DIR=${DYNINST_CN_ROOT} \
|
||||
# -DBOOST_ROOT=/${KRELL_ROOT} \
|
||||
# -DXERCESC_DIR=/${KRELL_ROOT} \
|
||||
# -DBINUTILS_DIR=/${KRELL_ROOT} \
|
||||
# -DLIBMONITOR_DIR=${KRELL_ROOT} \
|
||||
# -DLIBUNWIND_DIR=${KRELL_ROOT} \
|
||||
# -DPAPI_DIR=${PAPI_ROOT} \
|
||||
# -DDYNINST_DIR=${KRELL_ROOT} \
|
||||
# -DMRNET_DIR=${KRELL_ROOT} \
|
||||
# -DMPICH2_DIR=/opt/cray/mpt/7.0.1/gni/mpich2-gnu/48
|
||||
# -DCMAKE_BUILD_TYPE=Debug \
|
||||
# -DCMAKE_INSTALL_PREFIX=${CBTF_KRELL_PREFIX} \
|
||||
# -DCMAKE_PREFIX_PATH=${CBTF_ROOT} \
|
||||
# -DCBTF_DIR=${CBTF_ROOT} \
|
||||
# -DRUNTIME_TARGET_OS="cray" \
|
||||
# -DCBTF_KRELL_CN_RUNTIME_DIR=${CBTF_KRELL_CN_RUNTIME_ROOT} \
|
||||
# -DCBTF_CN_RUNTIME_DIR=${CBTF_CN_RUNTIME_ROOT} \
|
||||
# -DLIBMONITOR_CN_RUNTIME_DIR=${LIBMONITOR_CN_ROOT} \
|
||||
# -DLIBUNWIND_CN_RUNTIME_DIR=${LIBUNWIND_CN_ROOT} \
|
||||
# -DPAPI_CN_RUNTIME_DIR=${PAPI_CN_ROOT} \
|
||||
# -DXERCESC_CN_RUNTIME_DIR=/${XERCESC_CN_ROOT} \
|
||||
# -DMRNET_CN_RUNTIME_DIR=${MRNET_CN_ROOT} \
|
||||
# -DBOOST_CN_RUNTIME_DIR=${BOOST_CN_ROOT} \
|
||||
# -DDYNINST_CN_RUNTIME_DIR=${DYNINST_CN_ROOT} \
|
||||
# -DBOOST_ROOT=/${KRELL_ROOT} \
|
||||
# -DXERCESC_DIR=/${KRELL_ROOT} \
|
||||
# -DBINUTILS_DIR=/${KRELL_ROOT} \
|
||||
# -DLIBMONITOR_DIR=${KRELL_ROOT} \
|
||||
# -DLIBUNWIND_DIR=${KRELL_ROOT} \
|
||||
# -DPAPI_DIR=${PAPI_ROOT} \
|
||||
# -DDYNINST_DIR=${KRELL_ROOT} \
|
||||
# -DMRNET_DIR=${KRELL_ROOT} \
|
||||
# -DMPICH2_DIR=/opt/cray/mpt/7.0.1/gni/mpich2-gnu/48
|
||||
# fi
|
||||
#
|
||||
# make("clean")
|
||||
@@ -264,22 +277,22 @@ def install(self, spec, prefix):
|
||||
# fi
|
||||
#
|
||||
# else:
|
||||
# # Build cbtf-krell with cmake
|
||||
# # Build cbtf-krell with cmake
|
||||
# with working_dir('build_cbtf_krell', create=True):
|
||||
# cmake('..',
|
||||
# '-DCMAKE_BUILD_TYPE=Debug',
|
||||
# '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
# '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
|
||||
# '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
|
||||
# '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
|
||||
# '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
|
||||
# '-DPAPI_DIR=%s' % spec['papi'].prefix,
|
||||
# '-DBOOST_DIR=%s' % spec['boost'].prefix,
|
||||
# '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
# '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
|
||||
# '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
|
||||
# '-DOPENMPI_DIR=%s' % openmpi_prefix_path,
|
||||
# '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
# '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
# '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
|
||||
# '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
|
||||
# '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
|
||||
# '-DLIBUNWIND_DIR=%s'% spec['libunwind'].prefix,
|
||||
# '-DPAPI_DIR=%s' % spec['papi'].prefix,
|
||||
# '-DBOOST_DIR=%s' % spec['boost'].prefix,
|
||||
# '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
# '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
|
||||
# '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
|
||||
# '-DOPENMPI_DIR=%s' % openmpi_prefix_path,
|
||||
# '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
# *std_cmake_args)
|
||||
#
|
||||
# make("clean")
|
||||
|
@@ -22,7 +22,7 @@
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
################################################################################
|
||||
##########################################################################
|
||||
# Copyright (c) 2015-2016 Krell Institute. All Rights Reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
@@ -38,20 +38,22 @@
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
# Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
################################################################################
|
||||
##########################################################################
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class CbtfLanl(Package):
|
||||
"""CBTF LANL project contains a memory tool and data center type system command monitoring tool."""
|
||||
"""CBTF LANL project contains a memory tool and data center type system
|
||||
command monitoring tool."""
|
||||
homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
|
||||
|
||||
|
||||
# Mirror access template example
|
||||
#url = "file:/g/g24/jeg/cbtf-lanl-1.5.tar.gz"
|
||||
#version('1.5', 'c3f78f967b0a42c6734ce4be0e602426')
|
||||
# url = "file:/g/g24/jeg/cbtf-lanl-1.5.tar.gz"
|
||||
# version('1.5', 'c3f78f967b0a42c6734ce4be0e602426')
|
||||
|
||||
version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf-lanl/cbtf-lanl')
|
||||
version('1.6', branch='master',
|
||||
git='http://git.code.sf.net/p/cbtf-lanl/cbtf-lanl')
|
||||
|
||||
depends_on("cmake@3.0.2", type='build')
|
||||
# Dependencies for cbtf-krell
|
||||
@@ -63,11 +65,13 @@ class CbtfLanl(Package):
|
||||
parallel = False
|
||||
|
||||
def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
|
||||
# Sets build type parameters into cmakeOptions the options that will enable the cbtf-krell built type settings
|
||||
# Sets build type parameters into cmakeOptions the options that will
|
||||
# enable the cbtf-krell built type settings
|
||||
|
||||
compile_flags="-O2 -g"
|
||||
compile_flags = "-O2 -g"
|
||||
BuildTypeOptions = []
|
||||
# Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the stdcmakeargs
|
||||
# Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the
|
||||
# stdcmakeargs
|
||||
for word in cmakeOptions[:]:
|
||||
if word.startswith('-DCMAKE_BUILD_TYPE'):
|
||||
cmakeOptions.remove(word)
|
||||
@@ -78,40 +82,43 @@ def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
|
||||
if word.startswith('-DCMAKE_VERBOSE_MAKEFILE'):
|
||||
cmakeOptions.remove(word)
|
||||
BuildTypeOptions.extend([
|
||||
'-DCMAKE_VERBOSE_MAKEFILE=ON',
|
||||
'-DCMAKE_BUILD_TYPE=None',
|
||||
'-DCMAKE_CXX_FLAGS=%s' % compile_flags,
|
||||
'-DCMAKE_C_FLAGS=%s' % compile_flags
|
||||
'-DCMAKE_VERBOSE_MAKEFILE=ON',
|
||||
'-DCMAKE_BUILD_TYPE=None',
|
||||
'-DCMAKE_CXX_FLAGS=%s' % compile_flags,
|
||||
'-DCMAKE_C_FLAGS=%s' % compile_flags
|
||||
])
|
||||
|
||||
cmakeOptions.extend(BuildTypeOptions)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
# Add in paths for finding package config files that tell us where to find these packages
|
||||
cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix)
|
||||
# Add in paths for finding package config files that tell us where to
|
||||
# find these packages
|
||||
cmake_prefix_path = join_path(
|
||||
spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix)
|
||||
|
||||
with working_dir('build', create=True):
|
||||
cmakeOptions = []
|
||||
cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DCBTF_DIR=%s' % spec['cbtf'].prefix,
|
||||
'-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
|
||||
'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
'-DCMAKE_MODULE_PATH=%s' % join_path(prefix.share,'KrellInstitute','cmake')
|
||||
])
|
||||
with working_dir('build', create=True):
|
||||
cmakeOptions = []
|
||||
cmakeOptions.extend(
|
||||
['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DCBTF_DIR=%s' % spec['cbtf'].prefix,
|
||||
'-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
|
||||
'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
'-DCMAKE_MODULE_PATH=%s' % join_path(
|
||||
prefix.share, 'KrellInstitute', 'cmake')])
|
||||
|
||||
# Add in the standard cmake arguments
|
||||
cmakeOptions.extend(std_cmake_args)
|
||||
# Add in the standard cmake arguments
|
||||
cmakeOptions.extend(std_cmake_args)
|
||||
|
||||
# Adjust the standard cmake arguments to what we want the build type, etc to be
|
||||
self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
|
||||
|
||||
# Invoke cmake
|
||||
cmake('..', *cmakeOptions)
|
||||
# Adjust the standard cmake arguments to what we want the build
|
||||
# type, etc to be
|
||||
self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
|
||||
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
# Invoke cmake
|
||||
cmake('..', *cmakeOptions)
|
||||
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -22,7 +22,7 @@
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
################################################################################
|
||||
##########################################################################
|
||||
# Copyright (c) 2015-2016 Krell Institute. All Rights Reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
@@ -38,24 +38,30 @@
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
# Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
################################################################################
|
||||
##########################################################################
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class Cbtf(Package):
|
||||
"""CBTF project contains the base code for CBTF that supports creating components,
|
||||
component networks and the support to connect these components and component
|
||||
networks into sequential and distributed network tools."""
|
||||
"""CBTF project contains the base code for CBTF that supports creating
|
||||
components, component networks and the support to connect these
|
||||
components and component networks into sequential and distributed
|
||||
network tools.
|
||||
|
||||
"""
|
||||
homepage = "http://sourceforge.net/p/cbtf/wiki/Home"
|
||||
|
||||
# Mirror access template example
|
||||
#url = "file:/home/jeg/cbtf-1.6.tar.gz"
|
||||
#version('1.6', 'c1ef4e5aa4e470dffb042abdba0b9987')
|
||||
# url = "file:/home/jeg/cbtf-1.6.tar.gz"
|
||||
# version('1.6', 'c1ef4e5aa4e470dffb042abdba0b9987')
|
||||
|
||||
# Use when the git repository is available
|
||||
version('1.6', branch='master', git='https://github.com/OpenSpeedShop/cbtf.git')
|
||||
version('1.6', branch='master',
|
||||
git='https://github.com/OpenSpeedShop/cbtf.git')
|
||||
|
||||
variant('runtime', default=False, description="build only the runtime libraries and collectors.")
|
||||
variant('runtime', default=False,
|
||||
description="build only the runtime libraries and collectors.")
|
||||
|
||||
depends_on("cmake@3.0.2", type='build')
|
||||
depends_on("boost@1.50.0:")
|
||||
@@ -67,11 +73,13 @@ class Cbtf(Package):
|
||||
parallel = False
|
||||
|
||||
def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
|
||||
# Sets build type parameters into cmakeOptions the options that will enable the cbtf-krell built type settings
|
||||
|
||||
compile_flags="-O2 -g"
|
||||
# Sets build type parameters into cmakeOptions the options that will
|
||||
# enable the cbtf-krell built type settings
|
||||
|
||||
compile_flags = "-O2 -g"
|
||||
BuildTypeOptions = []
|
||||
# Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the stdcmakeargs
|
||||
# Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the
|
||||
# stdcmakeargs
|
||||
for word in cmakeOptions[:]:
|
||||
if word.startswith('-DCMAKE_BUILD_TYPE'):
|
||||
cmakeOptions.remove(word)
|
||||
@@ -80,61 +88,66 @@ def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
|
||||
if word.startswith('-DCMAKE_C_FLAGS'):
|
||||
cmakeOptions.remove(word)
|
||||
BuildTypeOptions.extend([
|
||||
'-DCMAKE_BUILD_TYPE=None',
|
||||
'-DCMAKE_CXX_FLAGS=%s' % compile_flags,
|
||||
'-DCMAKE_C_FLAGS=%s' % compile_flags
|
||||
'-DCMAKE_BUILD_TYPE=None',
|
||||
'-DCMAKE_CXX_FLAGS=%s' % compile_flags,
|
||||
'-DCMAKE_C_FLAGS=%s' % compile_flags
|
||||
])
|
||||
|
||||
cmakeOptions.extend(BuildTypeOptions)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('build', create=True):
|
||||
with working_dir('build', create=True):
|
||||
|
||||
# Boost_NO_SYSTEM_PATHS Set to TRUE to suppress searching
|
||||
# in system paths (or other locations outside of BOOST_ROOT
|
||||
# or BOOST_INCLUDEDIR). Useful when specifying BOOST_ROOT.
|
||||
# Defaults to OFF.
|
||||
# Boost_NO_SYSTEM_PATHS Set to TRUE to suppress searching
|
||||
# in system paths (or other locations outside of BOOST_ROOT
|
||||
# or BOOST_INCLUDEDIR). Useful when specifying BOOST_ROOT.
|
||||
# Defaults to OFF.
|
||||
|
||||
if '+runtime' in spec:
|
||||
# Install message tag include file for use in Intel MIC cbtf-krell build
|
||||
# FIXME
|
||||
cmakeOptions = []
|
||||
cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DBoost_NO_SYSTEM_PATHS=TRUE',
|
||||
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
|
||||
'-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DCMAKE_MODULE_PATH=%s' % join_path(prefix.share,'KrellInstitute','cmake')
|
||||
])
|
||||
if '+runtime' in spec:
|
||||
# Install message tag include file for use in Intel MIC
|
||||
# cbtf-krell build
|
||||
# FIXME
|
||||
cmakeOptions = []
|
||||
cmakeOptions.extend(
|
||||
['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DBoost_NO_SYSTEM_PATHS=TRUE',
|
||||
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
|
||||
'-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DCMAKE_MODULE_PATH=%s' % join_path(
|
||||
prefix.share, 'KrellInstitute', 'cmake')])
|
||||
|
||||
# Add in the standard cmake arguments
|
||||
cmakeOptions.extend(std_cmake_args)
|
||||
# Add in the standard cmake arguments
|
||||
cmakeOptions.extend(std_cmake_args)
|
||||
|
||||
# Adjust the standard cmake arguments to what we want the build type, etc to be
|
||||
self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
|
||||
|
||||
# Invoke cmake
|
||||
cmake('..', *cmakeOptions)
|
||||
# Adjust the standard cmake arguments to what we want the build
|
||||
# type, etc to be
|
||||
self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
|
||||
|
||||
else:
|
||||
cmakeOptions = []
|
||||
cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DBoost_NO_SYSTEM_PATHS=TRUE',
|
||||
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
|
||||
'-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DCMAKE_MODULE_PATH=%s' % join_path(prefix.share,'KrellInstitute','cmake')
|
||||
])
|
||||
# Invoke cmake
|
||||
cmake('..', *cmakeOptions)
|
||||
|
||||
# Add in the standard cmake arguments
|
||||
cmakeOptions.extend(std_cmake_args)
|
||||
else:
|
||||
cmakeOptions = []
|
||||
cmakeOptions.extend(
|
||||
['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DBoost_NO_SYSTEM_PATHS=TRUE',
|
||||
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
|
||||
'-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DCMAKE_MODULE_PATH=%s' % join_path(
|
||||
prefix.share, 'KrellInstitute', 'cmake')])
|
||||
|
||||
# Adjust the standard cmake arguments to what we want the build type, etc to be
|
||||
self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
|
||||
|
||||
# Invoke cmake
|
||||
cmake('..', *cmakeOptions)
|
||||
# Add in the standard cmake arguments
|
||||
cmakeOptions.extend(std_cmake_args)
|
||||
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
# Adjust the standard cmake arguments to what we want the build
|
||||
# type, etc to be
|
||||
self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
|
||||
|
||||
# Invoke cmake
|
||||
cmake('..', *cmakeOptions)
|
||||
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -26,8 +26,16 @@
|
||||
import os
|
||||
import shutil
|
||||
|
||||
|
||||
class Cereal(Package):
|
||||
"""cereal is a header-only C++11 serialization library. cereal takes arbitrary data types and reversibly turns them into different representations, such as compact binary encodings, XML, or JSON. cereal was designed to be fast, light-weight, and easy to extend - it has no external dependencies and can be easily bundled with other code or used standalone."""
|
||||
"""cereal is a header-only C++11 serialization library. cereal takes
|
||||
arbitrary data types and reversibly turns them into different
|
||||
representations, such as compact binary encodings, XML, or
|
||||
JSON. cereal was designed to be fast, light-weight, and easy to
|
||||
extend - it has no external dependencies and can be easily bundled
|
||||
with other code or used standalone.
|
||||
|
||||
"""
|
||||
homepage = "http://uscilab.github.io/cereal/"
|
||||
url = "https://github.com/USCiLab/cereal/archive/v1.1.2.tar.gz"
|
||||
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Cfitsio(Package):
|
||||
"""
|
||||
CFITSIO is a library of C and Fortran subroutines for reading and writing
|
||||
|
@@ -27,10 +27,12 @@
|
||||
|
||||
|
||||
class Cgal(Package):
|
||||
"""
|
||||
CGAL is a software project that provides easy access to efficient and reliable geometric algorithms in the form of
|
||||
a C++ library. CGAL is used in various areas needing geometric computation, such as geographic information systems,
|
||||
computer aided design, molecular biology, medical imaging, computer graphics, and robotics.
|
||||
"""CGAL is a software project that provides easy access to efficient and
|
||||
reliable geometric algorithms in the form of a C++ library. CGAL
|
||||
is used in various areas needing geometric computation, such as
|
||||
geographic information systems, computer aided design, molecular
|
||||
biology, medical imaging, computer graphics, and robotics.
|
||||
|
||||
"""
|
||||
homepage = 'http://www.cgal.org/'
|
||||
url = 'https://github.com/CGAL/cgal/archive/releases/CGAL-4.7.tar.gz'
|
||||
@@ -38,9 +40,12 @@ class Cgal(Package):
|
||||
version('4.7', '4826714810f3b4c65cac96b90fb03b67')
|
||||
version('4.6.3', 'e8ee2ecc8d2b09b94a121c09257b576d')
|
||||
|
||||
# Installation instructions : http://doc.cgal.org/latest/Manual/installation.html
|
||||
variant('shared', default=True, description='Enables the build of shared libraries')
|
||||
variant('debug', default=False, description='Builds a debug version of the libraries')
|
||||
# Installation instructions :
|
||||
# http://doc.cgal.org/latest/Manual/installation.html
|
||||
variant('shared', default=True,
|
||||
description='Enables the build of shared libraries')
|
||||
variant('debug', default=False,
|
||||
description='Builds a debug version of the libraries')
|
||||
|
||||
depends_on('boost')
|
||||
depends_on('mpfr')
|
||||
@@ -55,7 +60,8 @@ def install(self, spec, prefix):
|
||||
|
||||
options = []
|
||||
options.extend(std_cmake_args)
|
||||
# CGAL supports only Release and Debug build type. Any other build type will raise an error at configure time
|
||||
# CGAL supports only Release and Debug build type. Any other build type
|
||||
# will raise an error at configure time
|
||||
if '+debug' in spec:
|
||||
options.append('-DCMAKE_BUILD_TYPE:STRING=Debug')
|
||||
else:
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Cgm(Package):
|
||||
"""The Common Geometry Module, Argonne (CGMA) is a code library
|
||||
which provides geometry functionality used for mesh generation and
|
||||
@@ -33,7 +34,7 @@ class Cgm(Package):
|
||||
|
||||
version('13.1.1', '4e8dbc4ba8f65767b29f985f7a23b01f')
|
||||
version('13.1.0', 'a6c7b22660f164ce893fb974f9cb2028')
|
||||
version('13.1' , '95f724bda04919fc76818a5b7bc0b4ed')
|
||||
version('13.1', '95f724bda04919fc76818a5b7bc0b4ed')
|
||||
|
||||
depends_on("mpi")
|
||||
|
||||
@@ -42,7 +43,6 @@ def patch(self):
|
||||
'//\1',
|
||||
'geom/parallel/CGMReadParallel.cpp')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--with-mpi",
|
||||
"--prefix=%s" % prefix,
|
||||
|
@@ -25,16 +25,18 @@
|
||||
from spack import *
|
||||
from spack.util.environment import *
|
||||
|
||||
|
||||
class Cityhash(Package):
|
||||
homepage = "https://github.com/google/cityhash"
|
||||
url = "https://github.com/google/cityhash"
|
||||
|
||||
version('2013-07-31', git='https://github.com/google/cityhash.git', commit='8af9b8c2b889d80c22d6bc26ba0df1afb79a30db')
|
||||
version('master', branch='master', git='https://github.com/google/cityhash.git')
|
||||
version('2013-07-31', git='https://github.com/google/cityhash.git',
|
||||
commit='8af9b8c2b889d80c22d6bc26ba0df1afb79a30db')
|
||||
version('master', branch='master',
|
||||
git='https://github.com/google/cityhash.git')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--enable-sse4.2', '--prefix=%s' % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
@@ -24,18 +24,21 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Cleverleaf(Package):
|
||||
"""
|
||||
CleverLeaf is a hydrodynamics mini-app that extends CloverLeaf with Adaptive
|
||||
Mesh Refinement using the SAMRAI toolkit from Lawrence Livermore National
|
||||
Laboratory. The primary goal of CleverLeaf is to evaluate the application of
|
||||
AMR to the Lagrangian-Eulerian hydrodynamics scheme used by CloverLeaf.
|
||||
"""CleverLeaf is a hydrodynamics mini-app that extends CloverLeaf with
|
||||
Adaptive Mesh Refinement using the SAMRAI toolkit from Lawrence
|
||||
Livermore National Laboratory. The primary goal of CleverLeaf is
|
||||
to evaluate the application of AMR to the Lagrangian-Eulerian
|
||||
hydrodynamics scheme used by CloverLeaf.
|
||||
|
||||
"""
|
||||
|
||||
homepage = "http://uk-mac.github.io/CleverLeaf/"
|
||||
url = "https://github.com/UK-MAC/CleverLeaf/tarball/master"
|
||||
|
||||
version('develop', git='https://github.com/UK-MAC/CleverLeaf_ref.git', branch='develop')
|
||||
version('develop', git='https://github.com/UK-MAC/CleverLeaf_ref.git',
|
||||
branch='develop')
|
||||
|
||||
depends_on("SAMRAI@3.8.0:")
|
||||
depends_on("hdf5+mpi")
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Cloog(Package):
|
||||
"""CLooG is a free software and library to generate code for
|
||||
scanning Z-polyhedra. That is, it finds a code (e.g. in C,
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Cmake(Package):
|
||||
"""A cross-platform, open-source build system. CMake is a family of
|
||||
tools designed to build, test and package software."""
|
||||
@@ -40,10 +41,13 @@ class Cmake(Package):
|
||||
version('3.0.2', 'db4c687a31444a929d2fdc36c4dfb95f')
|
||||
version('2.8.10.2', '097278785da7182ec0aea8769d06860c')
|
||||
|
||||
variant('ncurses', default=True, description='Enables the build of the ncurses gui')
|
||||
variant('openssl', default=True, description="Enables CMake's OpenSSL features")
|
||||
variant('ncurses', default=True,
|
||||
description='Enables the build of the ncurses gui')
|
||||
variant('openssl', default=True,
|
||||
description="Enables CMake's OpenSSL features")
|
||||
variant('qt', default=False, description='Enables the build of cmake-gui')
|
||||
variant('doc', default=False, description='Enables the generation of html and man page documentation')
|
||||
variant('doc', default=False,
|
||||
description='Enables the generation of html and man page docs')
|
||||
|
||||
depends_on('ncurses', when='+ncurses')
|
||||
depends_on('openssl', when='+openssl')
|
||||
@@ -53,7 +57,8 @@ class Cmake(Package):
|
||||
|
||||
def url_for_version(self, version):
|
||||
"""Handle CMake's version-based custom URLs."""
|
||||
return 'https://cmake.org/files/v%s/cmake-%s.tar.gz' % (version.up_to(2), version)
|
||||
return 'https://cmake.org/files/v%s/cmake-%s.tar.gz' % (
|
||||
version.up_to(2), version)
|
||||
|
||||
def validate(self, spec):
|
||||
"""
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Cmocka(Package):
|
||||
"""Unit-testing framework in pure C"""
|
||||
homepage = "https://cmocka.org/"
|
||||
@@ -36,7 +37,7 @@ class Cmocka(Package):
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..', *std_cmake_args)
|
||||
cmake('..', *std_cmake_args)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Cnmem(Package):
|
||||
"""CNMem mempool for CUDA devices"""
|
||||
homepage = "https://github.com/NVIDIA/cnmem"
|
||||
@@ -31,6 +32,6 @@ class Cnmem(Package):
|
||||
version('git', git='https://github.com/NVIDIA/cnmem.git', branch="master")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake('.',*std_cmake_args)
|
||||
make()
|
||||
make('install')
|
||||
cmake('.', *std_cmake_args)
|
||||
make()
|
||||
make('install')
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Coreutils(Package):
|
||||
"""The GNU Core Utilities are the basic file, shell and text
|
||||
manipulation utilities of the GNU operating system. These are
|
||||
|
178
var/spack/repos/builtin/packages/cp2k/package.py
Normal file
178
var/spack/repos/builtin/packages/cp2k/package.py
Normal file
@@ -0,0 +1,178 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://github.com/llnl/spack
|
||||
# Please also see the LICENSE file for our notice and the LGPL.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License (as
|
||||
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||
# conditions of the GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
import os
|
||||
import shutil
|
||||
import copy
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class Cp2k(Package):
|
||||
"""CP2K is a quantum chemistry and solid state physics software package
|
||||
that can perform atomistic simulations of solid state, liquid, molecular,
|
||||
periodic, material, crystal, and biological systems
|
||||
"""
|
||||
homepage = 'https://www.cp2k.org'
|
||||
url = 'https://sourceforge.net/projects/cp2k/files/cp2k-3.0.tar.bz2'
|
||||
|
||||
version('3.0', 'c05bc47335f68597a310b1ed75601d35')
|
||||
|
||||
variant('mpi', default=True, description='Enable MPI support')
|
||||
variant('plumed', default=False, description='Enable PLUMED support')
|
||||
|
||||
depends_on('python') # Build dependency
|
||||
|
||||
depends_on('lapack')
|
||||
depends_on('blas')
|
||||
depends_on('fftw')
|
||||
|
||||
depends_on('mpi', when='+mpi')
|
||||
depends_on('scalapack', when='+mpi')
|
||||
depends_on('plumed+shared+mpi', when='+plumed+mpi')
|
||||
depends_on('plumed+shared~mpi', when='+plumed~mpi')
|
||||
|
||||
# TODO : add dependency on libint
|
||||
# TODO : add dependency on libsmm, libxsmm
|
||||
# TODO : add dependency on elpa
|
||||
# TODO : add dependency on CUDA
|
||||
# TODO : add dependency on PEXSI
|
||||
# TODO : add dependency on QUIP
|
||||
# TODO : add dependency on libwannier90
|
||||
|
||||
parallel = False
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Construct a proper filename for the architecture file
|
||||
cp2k_architecture = '{0.architecture}-{0.compiler.name}'.format(spec)
|
||||
cp2k_version = 'sopt' if '~mpi' in spec else 'popt'
|
||||
makefile_basename = '.'.join([cp2k_architecture, cp2k_version])
|
||||
makefile = join_path('arch', makefile_basename)
|
||||
|
||||
# Write the custom makefile
|
||||
with open(makefile, 'w') as mkf:
|
||||
# Optimization flags
|
||||
optflags = {
|
||||
'gcc': ['-O2',
|
||||
'-ffast-math',
|
||||
'-ffree-form',
|
||||
'-ffree-line-length-none',
|
||||
'-ftree-vectorize',
|
||||
'-funroll-loops',
|
||||
'-mtune=native'],
|
||||
'intel': ['-O2',
|
||||
'-pc64',
|
||||
'-unroll',
|
||||
'-heap-arrays 64']
|
||||
}
|
||||
cppflags = [
|
||||
'-D__FFTW3',
|
||||
'-I' + spec['fftw'].prefix.include
|
||||
]
|
||||
fcflags = copy.deepcopy(optflags[self.spec.compiler.name])
|
||||
fcflags.extend([
|
||||
'-I' + spec['fftw'].prefix.include
|
||||
])
|
||||
ldflags = ['-L' + spec['fftw'].prefix.lib]
|
||||
libs = []
|
||||
if '+plumed' in self.spec:
|
||||
# Include Plumed.inc in the Makefile
|
||||
mkf.write('include {0}\n'.format(
|
||||
join_path(self.spec['plumed'].prefix.lib,
|
||||
'plumed',
|
||||
'src',
|
||||
'lib',
|
||||
'Plumed.inc')
|
||||
))
|
||||
# Add required macro
|
||||
cppflags.extend(['-D__PLUMED2'])
|
||||
libs.extend([
|
||||
join_path(self.spec['plumed'].prefix.lib, 'libplumed.so')
|
||||
])
|
||||
|
||||
mkf.write('CC = {0.compiler.cc}\n'.format(self))
|
||||
if '%intel' in self.spec:
|
||||
# CPP is a commented command in Intel arch of CP2K
|
||||
# This is the hack through which cp2k developers avoid doing :
|
||||
#
|
||||
# ${CPP} <file>.F > <file>.f90
|
||||
#
|
||||
# and use `-fpp` instead
|
||||
mkf.write('CPP = # {0.compiler.cc} -P\n'.format(self))
|
||||
mkf.write('AR = xiar -r\n')
|
||||
else:
|
||||
mkf.write('CPP = {0.compiler.cc} -E\n'.format(self))
|
||||
mkf.write('AR = ar -r\n')
|
||||
fc = self.compiler.fc if '~mpi' in spec else self.spec['mpi'].mpifc
|
||||
mkf.write('FC = {0}\n'.format(fc))
|
||||
mkf.write('LD = {0}\n'.format(fc))
|
||||
# Intel
|
||||
if '%intel' in self.spec:
|
||||
cppflags.extend([
|
||||
'-D__INTEL_COMPILER',
|
||||
'-D__MKL'
|
||||
])
|
||||
fcflags.extend([
|
||||
'-diag-disable 8290,8291,10010,10212,11060',
|
||||
'-free',
|
||||
'-fpp'
|
||||
])
|
||||
# MPI
|
||||
if '+mpi' in self.spec:
|
||||
cppflags.extend([
|
||||
'-D__parallel',
|
||||
'-D__SCALAPACK'
|
||||
])
|
||||
ldflags.extend([
|
||||
'-L' + spec['scalapack'].prefix.lib
|
||||
])
|
||||
libs.extend(spec['scalapack'].scalapack_shared_libs)
|
||||
|
||||
# LAPACK / BLAS
|
||||
ldflags.extend([
|
||||
'-L' + spec['lapack'].prefix.lib,
|
||||
'-L' + spec['blas'].prefix.lib
|
||||
])
|
||||
libs.extend([
|
||||
join_path(spec['fftw'].prefix.lib, 'libfftw3.so'),
|
||||
spec['lapack'].lapack_shared_lib,
|
||||
spec['blas'].blas_shared_lib
|
||||
])
|
||||
|
||||
# Write compiler flags to file
|
||||
mkf.write('CPPFLAGS = {0}\n'.format(' '.join(cppflags)))
|
||||
mkf.write('FCFLAGS = {0}\n'.format(' '.join(fcflags)))
|
||||
mkf.write('LDFLAGS = {0}\n'.format(' '.join(ldflags)))
|
||||
mkf.write('LIBS = {0}\n'.format(' '.join(libs)))
|
||||
|
||||
with working_dir('makefiles'):
|
||||
# Apparently the Makefile bases its paths on PWD
|
||||
# so we need to set PWD = os.getcwd()
|
||||
pwd_backup = env['PWD']
|
||||
env['PWD'] = os.getcwd()
|
||||
make('ARCH={0}'.format(cp2k_architecture),
|
||||
'VERSION={0}'.format(cp2k_version))
|
||||
env['PWD'] = pwd_backup
|
||||
exe_dir = join_path('exe', cp2k_architecture)
|
||||
shutil.copytree(exe_dir, self.prefix.bin)
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Cppcheck(Package):
|
||||
"""A tool for static C/C++ code analysis."""
|
||||
homepage = "http://cppcheck.sourceforge.net/"
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Cram(Package):
|
||||
"""Cram runs many small MPI jobs inside one large MPI job."""
|
||||
homepage = "https://github.com/llnl/cram"
|
||||
|
@@ -25,12 +25,15 @@
|
||||
import glob
|
||||
from spack import *
|
||||
|
||||
|
||||
class Cryptopp(Package):
|
||||
"""Crypto++ is an open-source C++ library of cryptographic schemes. The
|
||||
library supports a number of different cryptography algorithms, including
|
||||
authenticated encryption schemes (GCM, CCM), hash functions (SHA-1, SHA2),
|
||||
public-key encryption (RSA, DSA), and a few obsolete/historical encryption
|
||||
algorithms (MD5, Panama)."""
|
||||
library supports a number of different cryptography algorithms,
|
||||
including authenticated encryption schemes (GCM, CCM), hash
|
||||
functions (SHA-1, SHA2), public-key encryption (RSA, DSA), and a
|
||||
few obsolete/historical encryption algorithms (MD5, Panama).
|
||||
|
||||
"""
|
||||
|
||||
homepage = "http://www.cryptopp.com"
|
||||
base_url = "http://www.cryptopp.com"
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Cscope(Package):
|
||||
"""Cscope is a developer's tool for browsing source code."""
|
||||
homepage = "http://http://cscope.sourceforge.net/"
|
||||
|
@@ -28,8 +28,8 @@
|
||||
|
||||
class Cube(Package):
|
||||
"""
|
||||
Cube the profile viewer for Score-P and Scalasca profiles. It displays a multi-dimensional performance space
|
||||
consisting of the dimensions:
|
||||
Cube the profile viewer for Score-P and Scalasca profiles. It displays a
|
||||
multi-dimensional performance space consisting of the dimensions:
|
||||
- performance metric
|
||||
- call path
|
||||
- system resource
|
||||
@@ -38,14 +38,17 @@ class Cube(Package):
|
||||
homepage = "http://www.scalasca.org/software/cube-4.x/download.html"
|
||||
url = "http://apps.fz-juelich.de/scalasca/releases/cube/4.2/dist/cube-4.2.3.tar.gz"
|
||||
|
||||
version('4.3.4', '50f73060f55311cb12c5b3cb354d59fa',
|
||||
url='http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-4.3.4.tar.gz')
|
||||
version('4.3.3', '07e109248ed8ffc7bdcce614264a2909',
|
||||
url='http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-4.3.3.tar.gz')
|
||||
|
||||
version('4.2.3', '8f95b9531f5a8f8134f279c2767c9b20',
|
||||
url="http://apps.fz-juelich.de/scalasca/releases/cube/4.2/dist/cube-4.2.3.tar.gz")
|
||||
|
||||
# TODO : add variant that builds GUI on top of Qt
|
||||
|
||||
depends_on('zlib')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure_args = ["--prefix=%s" % prefix,
|
||||
"--without-paraver",
|
||||
|
@@ -26,22 +26,27 @@
|
||||
from glob import glob
|
||||
import os
|
||||
|
||||
|
||||
class Cuda(Package):
|
||||
"""CUDA is a parallel computing platform and programming model invented by
|
||||
NVIDIA. It enables dramatic increases in computing performance by harnessing
|
||||
the power of the graphics processing unit (GPU).
|
||||
"""CUDA is a parallel computing platform and programming model invented
|
||||
by NVIDIA. It enables dramatic increases in computing performance by
|
||||
harnessing the power of the graphics processing unit (GPU).
|
||||
|
||||
Note: NVIDIA does not provide a download URL for CUDA so you will need to
|
||||
download it yourself. Go to https://developer.nvidia.com/cuda-downloads
|
||||
and select your Operating System, Architecture, Distribution, and Version.
|
||||
For the Installer Type, select runfile and click Download. Spack will search
|
||||
your current directory for this file. Alternatively, add this file to a
|
||||
mirror so that Spack can find it. For instructions on how to set up a mirror,
|
||||
see http://software.llnl.gov/spack/mirrors.html
|
||||
Note: NVIDIA does not provide a download URL for CUDA so you will
|
||||
need to download it yourself. Go to
|
||||
https://developer.nvidia.com/cuda-downloads and select your Operating
|
||||
System, Architecture, Distribution, and Version. For the Installer
|
||||
Type, select runfile and click Download. Spack will search your
|
||||
current directory for this file. Alternatively, add this file to a
|
||||
mirror so that Spack can find it. For instructions on how to set up a
|
||||
mirror, see http://software.llnl.gov/spack/mirrors.html
|
||||
|
||||
Note: This package does not currently install the drivers necessary to run
|
||||
CUDA. These will need to be installed manually. See:
|
||||
http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux for details."""
|
||||
Note: This package does not currently install the drivers necessary
|
||||
to run CUDA. These will need to be installed manually. See:
|
||||
http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux for
|
||||
details.
|
||||
|
||||
"""
|
||||
|
||||
homepage = "http://www.nvidia.com/object/cuda_home_new.html"
|
||||
|
||||
@@ -50,15 +55,15 @@ class Cuda(Package):
|
||||
version('6.5.14', '90b1b8f77313600cc294d9271741f4da', expand=False,
|
||||
url="file://%s/cuda_6.5.14_linux_64.run" % os.getcwd())
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
runfile = glob(os.path.join(self.stage.path, 'cuda*.run'))[0]
|
||||
chmod = which('chmod')
|
||||
chmod('+x', runfile)
|
||||
runfile = which(runfile)
|
||||
|
||||
# Note: NVIDIA does not officially support many newer versions of compilers.
|
||||
# For example, on CentOS 6, you must use GCC 4.4.7 or older. See:
|
||||
# Note: NVIDIA does not officially support many newer versions of
|
||||
# compilers. For example, on CentOS 6, you must use GCC 4.4.7 or
|
||||
# older. See:
|
||||
# http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#system-requirements
|
||||
# for details.
|
||||
|
||||
@@ -68,4 +73,3 @@ def install(self, spec, prefix):
|
||||
'--toolkit', # install CUDA Toolkit
|
||||
'--toolkitpath=%s' % prefix
|
||||
)
|
||||
|
||||
|
@@ -25,12 +25,14 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
|
||||
class Czmq(Package):
|
||||
""" A C interface to the ZMQ library """
|
||||
homepage = "http://czmq.zeromq.org"
|
||||
url = "https://github.com/zeromq/czmq/archive/v3.0.2.tar.gz"
|
||||
|
||||
version('3.0.2', '23e9885f7ee3ce88d99d0425f52e9be1', url='https://github.com/zeromq/czmq/archive/v3.0.2.tar.gz')
|
||||
version('3.0.2', '23e9885f7ee3ce88d99d0425f52e9be1',
|
||||
url='https://github.com/zeromq/czmq/archive/v3.0.2.tar.gz')
|
||||
|
||||
depends_on('libtool', type='build')
|
||||
depends_on('automake', type='build')
|
||||
@@ -39,19 +41,21 @@ class Czmq(Package):
|
||||
depends_on('zeromq')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
bash = which("bash")
|
||||
# Work around autogen.sh oddities
|
||||
# bash = which("bash")
|
||||
# bash("./autogen.sh")
|
||||
mkdirp("config")
|
||||
autoreconf = which("autoreconf")
|
||||
autoreconf("--install", "--verbose", "--force",
|
||||
"-I", "config",
|
||||
"-I", os.path.join(spec['pkg-config'].prefix, "share", "aclocal"),
|
||||
"-I", os.path.join(spec['automake'].prefix, "share", "aclocal"),
|
||||
"-I", os.path.join(spec['libtool'].prefix, "share", "aclocal"),
|
||||
)
|
||||
"-I", "config",
|
||||
"-I", os.path.join(spec['pkg-config'].prefix,
|
||||
"share", "aclocal"),
|
||||
"-I", os.path.join(spec['automake'].prefix,
|
||||
"share", "aclocal"),
|
||||
"-I", os.path.join(spec['libtool'].prefix,
|
||||
"share", "aclocal"),
|
||||
)
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
@@ -26,17 +26,22 @@
|
||||
|
||||
|
||||
class Dakota(Package):
|
||||
"""
|
||||
The Dakota toolkit provides a flexible, extensible interface between analysis codes and iterative systems
|
||||
analysis methods. Dakota contains algorithms for:
|
||||
"""The Dakota toolkit provides a flexible, extensible interface between
|
||||
analysis codes and iterative systems analysis methods. Dakota
|
||||
contains algorithms for:
|
||||
|
||||
- optimization with gradient and non gradient-based methods;
|
||||
- uncertainty quantification with sampling, reliability, stochastic expansion, and epistemic methods;
|
||||
- uncertainty quantification with sampling, reliability, stochastic
|
||||
- expansion, and epistemic methods;
|
||||
- parameter estimation with nonlinear least squares methods;
|
||||
- sensitivity/variance analysis with design of experiments and parameter study methods.
|
||||
- sensitivity/variance analysis with design of experiments and
|
||||
- parameter study methods.
|
||||
|
||||
These capabilities may be used on their own or as components within
|
||||
advanced strategies such as hybrid optimization, surrogate-based
|
||||
optimization, mixed integer nonlinear programming, or optimization
|
||||
under uncertainty.
|
||||
|
||||
These capabilities may be used on their own or as components within advanced strategies such as hybrid optimization,
|
||||
surrogate-based optimization, mixed integer nonlinear programming, or optimization under uncertainty.
|
||||
"""
|
||||
|
||||
homepage = 'https://dakota.sandia.gov/'
|
||||
@@ -45,8 +50,10 @@ class Dakota(Package):
|
||||
|
||||
version('6.3', '05a58d209fae604af234c894c3f73f6d')
|
||||
|
||||
variant('debug', default=False, description='Builds a debug version of the libraries')
|
||||
variant('shared', default=True, description='Enables the build of shared libraries')
|
||||
variant('debug', default=False,
|
||||
description='Builds a debug version of the libraries')
|
||||
variant('shared', default=True,
|
||||
description='Enables the build of shared libraries')
|
||||
variant('mpi', default=True, description='Activates MPI support')
|
||||
|
||||
depends_on('blas')
|
||||
@@ -64,12 +71,17 @@ def install(self, spec, prefix):
|
||||
options = []
|
||||
options.extend(std_cmake_args)
|
||||
|
||||
options.extend(['-DCMAKE_BUILD_TYPE:STRING=%s' % ('Debug' if '+debug' in spec else 'Release'),
|
||||
'-DBUILD_SHARED_LIBS:BOOL=%s' % ('ON' if '+shared' in spec else 'OFF')])
|
||||
options.extend([
|
||||
'-DCMAKE_BUILD_TYPE:STRING=%s' % (
|
||||
'Debug' if '+debug' in spec else 'Release'),
|
||||
'-DBUILD_SHARED_LIBS:BOOL=%s' % (
|
||||
'ON' if '+shared' in spec else 'OFF')])
|
||||
|
||||
if '+mpi' in spec:
|
||||
options.extend(['-DDAKOTA_HAVE_MPI:BOOL=ON',
|
||||
'-DMPI_CXX_COMPILER:STRING=%s' % join_path(spec['mpi'].prefix.bin, 'mpicxx')])
|
||||
options.extend([
|
||||
'-DDAKOTA_HAVE_MPI:BOOL=ON',
|
||||
'-DMPI_CXX_COMPILER:STRING=%s' % join_path(
|
||||
spec['mpi'].prefix.bin, 'mpicxx')])
|
||||
|
||||
build_directory = join_path(self.stage.path, 'spack-build')
|
||||
source_directory = self.stage.source_path
|
||||
|
@@ -24,17 +24,19 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Damselfly(Package):
|
||||
"""Damselfly is a model-based parallel network simulator."""
|
||||
homepage = "https://github.com/llnl/damselfly"
|
||||
url = "https://github.com/llnl/damselfly"
|
||||
|
||||
version('1.0', '05cf7e2d8ece4408c0f2abb7ab63fd74c0d62895', git='https://github.com/llnl/damselfly.git', tag='v1.0')
|
||||
version('1.0', '05cf7e2d8ece4408c0f2abb7ab63fd74c0d62895',
|
||||
git='https://github.com/llnl/damselfly.git', tag='v1.0')
|
||||
|
||||
depends_on('cmake', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('-DCMAKE_BUILD_TYPE=release', '..', *std_cmake_args)
|
||||
make()
|
||||
make('install')
|
||||
cmake('-DCMAKE_BUILD_TYPE=release', '..', *std_cmake_args)
|
||||
make()
|
||||
make('install')
|
||||
|
45
var/spack/repos/builtin/packages/datamash/package.py
Normal file
45
var/spack/repos/builtin/packages/datamash/package.py
Normal file
@@ -0,0 +1,45 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://github.com/llnl/spack
|
||||
# Please also see the LICENSE file for our notice and the LGPL.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License (as
|
||||
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||
# conditions of the GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Datamash(Package):
|
||||
"""
|
||||
GNU datamash is a command-line program which performs basic numeric,
|
||||
textual and statistical operations on input textual data files.
|
||||
"""
|
||||
|
||||
homepage = "https://www.gnu.org/software/datamash/"
|
||||
url = "http://ftp.gnu.org/gnu/datamash/datamash-1.0.5.tar.gz"
|
||||
|
||||
version('1.1.0', '79a6affca08107a095e97e4237fc8775')
|
||||
version('1.0.7', '9f317bab07454032ba9c068e7f17b04b')
|
||||
version('1.0.6', 'ff26fdef0f343cb695cf1853e14a1a5b')
|
||||
version('1.0.5', '9a29549dc7feca49fdc5fab696614e11')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
make()
|
||||
make("install")
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Dbus(Package):
|
||||
"""D-Bus is a message bus system, a simple way for applications to
|
||||
talk to one another. D-Bus supplies both a system daemon (for
|
||||
|
@@ -40,25 +40,48 @@ class Dealii(Package):
|
||||
version('develop', git='https://github.com/dealii/dealii.git')
|
||||
|
||||
variant('mpi', default=True, description='Compile with MPI')
|
||||
variant('arpack', default=True, description='Compile with Arpack and PArpack (only with MPI)')
|
||||
variant('doc', default=False, description='Compile with documentation')
|
||||
variant('arpack', default=True,
|
||||
description='Compile with Arpack and PArpack (only with MPI)')
|
||||
variant('doc', default=False,
|
||||
description='Compile with documentation')
|
||||
variant('gsl', default=True, description='Compile with GSL')
|
||||
variant('hdf5', default=True, description='Compile with HDF5 (only with MPI)')
|
||||
variant('hdf5', default=True,
|
||||
description='Compile with HDF5 (only with MPI)')
|
||||
variant('metis', default=True, description='Compile with Metis')
|
||||
variant('netcdf', default=True, description='Compile with Netcdf (only with MPI)')
|
||||
variant('netcdf', default=True,
|
||||
description='Compile with Netcdf (only with MPI)')
|
||||
variant('oce', default=True, description='Compile with OCE')
|
||||
variant('p4est', default=True, description='Compile with P4est (only with MPI)')
|
||||
variant('petsc', default=True, description='Compile with Petsc (only with MPI)')
|
||||
variant('slepc', default=True, description='Compile with Slepc (only with Petsc and MPI)')
|
||||
variant('trilinos', default=True, description='Compile with Trilinos (only with MPI)')
|
||||
variant('p4est', default=True,
|
||||
description='Compile with P4est (only with MPI)')
|
||||
variant('petsc', default=True,
|
||||
description='Compile with Petsc (only with MPI)')
|
||||
variant('slepc', default=True,
|
||||
description='Compile with Slepc (only with Petsc and MPI)')
|
||||
variant('trilinos', default=True,
|
||||
description='Compile with Trilinos (only with MPI)')
|
||||
variant('python', default=True,
|
||||
description='Compile with Python bindings')
|
||||
|
||||
# required dependencies, light version
|
||||
depends_on("blas")
|
||||
# Boost 1.58 is blacklisted, see
|
||||
# https://github.com/dealii/dealii/issues/1591
|
||||
# Require at least 1.59
|
||||
depends_on("boost@1.59.0:+thread+system+serialization+iostreams", when='~mpi') # NOQA: ignore=E501
|
||||
depends_on("boost@1.59.0:+mpi+thread+system+serialization+iostreams", when='+mpi') # NOQA: ignore=E501
|
||||
# +python won't affect @:8.4.1
|
||||
depends_on("boost@1.59.0:+thread+system+serialization+iostreams",
|
||||
when='@:8.4.1~mpi')
|
||||
depends_on("boost@1.59.0:+thread+system+serialization+iostreams+mpi",
|
||||
when='@:8.4.1+mpi')
|
||||
# since @8.5.0: (and @develop) python bindings are introduced:
|
||||
depends_on("boost@1.59.0:+thread+system+serialization+iostreams",
|
||||
when='@8.5.0:~mpi~python')
|
||||
depends_on("boost@1.59.0:+thread+system+serialization+iostreams+mpi",
|
||||
when='@8.5.0:+mpi~python')
|
||||
depends_on("boost@1.59.0:+thread+system+serialization+iostreams+python",
|
||||
when='@8.5.0:~mpi+python')
|
||||
depends_on(
|
||||
"boost@1.59.0:+thread+system+serialization+iostreams+mpi+python",
|
||||
when='@8.5.0:+mpi+python')
|
||||
depends_on("bzip2")
|
||||
depends_on("cmake", type='build')
|
||||
depends_on("lapack")
|
||||
@@ -120,6 +143,12 @@ def install(self, spec, prefix):
|
||||
'-DZLIB_DIR=%s' % spec['zlib'].prefix
|
||||
])
|
||||
|
||||
if spec.satisfies('@8.5.0:'):
|
||||
options.extend([
|
||||
'-DDEAL_II_COMPONENT_PYTHON_BINDINGS=%s' %
|
||||
('ON' if '+python' in spec else 'OFF')
|
||||
])
|
||||
|
||||
# Set directory structure:
|
||||
if spec.satisfies('@:8.2.1'):
|
||||
options.extend(['-DDEAL_II_COMPONENT_COMPAT_FILES=OFF'])
|
||||
@@ -145,7 +174,8 @@ def install(self, spec, prefix):
|
||||
|
||||
# Optional dependencies for which librariy names are the same as CMake
|
||||
# variables:
|
||||
for library in ('gsl', 'hdf5', 'p4est', 'petsc', 'slepc', 'trilinos', 'metis'): # NOQA: ignore=E501
|
||||
for library in (
|
||||
'gsl', 'hdf5', 'p4est', 'petsc', 'slepc', 'trilinos', 'metis'):
|
||||
if library in spec:
|
||||
options.extend([
|
||||
'-D%s_DIR=%s' % (library.upper(), spec[library].prefix),
|
||||
@@ -276,15 +306,20 @@ def install(self, spec, prefix):
|
||||
print('=== Step-40 Trilinos SuperluDist ====')
|
||||
print('=====================================')
|
||||
# change to direct solvers
|
||||
filter_file(r'(LA::SolverCG solver\(solver_control\);)', ('TrilinosWrappers::SolverDirect::AdditionalData data(false,"Amesos_Superludist"); TrilinosWrappers::SolverDirect solver(solver_control,data);'), 'step-40.cc') # NOQA: ignore=E501
|
||||
filter_file(r'(LA::MPI::PreconditionAMG preconditioner;)',
|
||||
(''), 'step-40.cc')
|
||||
filter_file(r'(LA::MPI::PreconditionAMG::AdditionalData data;)', # NOQA: ignore=E501
|
||||
(''), 'step-40.cc')
|
||||
filter_file(r'(preconditioner.initialize\(system_matrix, data\);)', # NOQA: ignore=E501
|
||||
(''), 'step-40.cc')
|
||||
filter_file(r'(solver\.solve \(system_matrix, completely_distributed_solution, system_rhs,)', ('solver.solve (system_matrix, completely_distributed_solution, system_rhs);'), 'step-40.cc') # NOQA: ignore=E501
|
||||
filter_file(r'(preconditioner\);)', (''), 'step-40.cc')
|
||||
filter_file(r'(LA::SolverCG solver\(solver_control\);)', ('TrilinosWrappers::SolverDirect::AdditionalData data(false,"Amesos_Superludist"); TrilinosWrappers::SolverDirect solver(solver_control,data);'), 'step-40.cc') # noqa
|
||||
filter_file(
|
||||
r'(LA::MPI::PreconditionAMG preconditioner;)',
|
||||
(''), 'step-40.cc')
|
||||
filter_file(
|
||||
r'(LA::MPI::PreconditionAMG::AdditionalData data;)',
|
||||
(''), 'step-40.cc')
|
||||
filter_file(
|
||||
r'(preconditioner.initialize\(system_matrix, data\);)',
|
||||
(''), 'step-40.cc')
|
||||
filter_file(
|
||||
r'(solver\.solve \(system_matrix, completely_distributed_solution, system_rhs,)', ('solver.solve (system_matrix, completely_distributed_solution, system_rhs);'), 'step-40.cc') # noqa
|
||||
filter_file(
|
||||
r'(preconditioner\);)', (''), 'step-40.cc')
|
||||
if '^trilinos+superlu-dist' in spec:
|
||||
make('release')
|
||||
make('run', paralle=False)
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Dia(Package):
|
||||
"""Dia is a program for drawing structured diagrams."""
|
||||
homepage = 'https://wiki.gnome.org/Apps/Dia'
|
||||
@@ -34,7 +35,7 @@ class Dia(Package):
|
||||
depends_on('intltool', type='build')
|
||||
depends_on('gtkplus@2.6.0:')
|
||||
depends_on('cairo')
|
||||
#depends_on('libart') # optional dependency, not yet supported by spack.
|
||||
# depends_on('libart') # optional dependency, not yet supported by spack.
|
||||
depends_on('libpng')
|
||||
depends_on('libxslt')
|
||||
depends_on('python')
|
||||
|
@@ -24,8 +24,6 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
import sys
|
||||
|
||||
|
||||
class Doxygen(Package):
|
||||
"""Doxygen is the de facto standard tool for generating documentation
|
||||
@@ -41,7 +39,8 @@ class Doxygen(Package):
|
||||
version('1.8.10', '79767ccd986f12a0f949015efb5f058f')
|
||||
|
||||
# graphviz appears to be a run-time optional dependency
|
||||
variant('graphviz', default=True, description='Build with dot command support from Graphviz.') # NOQA: ignore=E501
|
||||
variant('graphviz', default=True,
|
||||
description='Build with dot command support from Graphviz.')
|
||||
|
||||
depends_on("cmake@2.8.12:", type='build')
|
||||
depends_on("flex", type='build')
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Dri2proto(Package):
|
||||
"""DRI2 Protocol Headers."""
|
||||
homepage = "http://http://cgit.freedesktop.org/xorg/proto/dri2proto/"
|
||||
|
@@ -22,9 +22,9 @@
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
import os
|
||||
from spack import *
|
||||
|
||||
|
||||
class Dtcmp(Package):
|
||||
"""The Datatype Comparison Library provides comparison operations and
|
||||
parallel sort algorithms for MPI applications."""
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Dyninst(Package):
|
||||
"""API for dynamic binary instrumentation. Modify programs while they
|
||||
are executing without recompiling, re-linking, or re-executing."""
|
||||
@@ -55,16 +56,18 @@ def install(self, spec, prefix):
|
||||
'-DBoost_INCLUDE_DIR=%s' % spec['boost'].prefix.include,
|
||||
'-DBoost_LIBRARY_DIR=%s' % spec['boost'].prefix.lib,
|
||||
'-DBoost_NO_SYSTEM_PATHS=TRUE',
|
||||
'-DLIBELF_INCLUDE_DIR=%s' % join_path(libelf.include, 'libelf'),
|
||||
'-DLIBELF_LIBRARIES=%s' % join_path(libelf.lib, 'libelf.so'),
|
||||
'-DLIBELF_INCLUDE_DIR=%s' % join_path(
|
||||
libelf.include, 'libelf'),
|
||||
'-DLIBELF_LIBRARIES=%s' % join_path(
|
||||
libelf.lib, 'libelf.so'),
|
||||
'-DLIBDWARF_INCLUDE_DIR=%s' % libdwarf.include,
|
||||
'-DLIBDWARF_LIBRARIES=%s' % join_path(libdwarf.lib, 'libdwarf.so'),
|
||||
'-DLIBDWARF_LIBRARIES=%s' % join_path(
|
||||
libdwarf.lib, 'libdwarf.so'),
|
||||
*std_cmake_args)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
||||
@when('@:8.1')
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=" + prefix)
|
||||
|
@@ -22,7 +22,6 @@
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
@@ -36,15 +35,19 @@ class Eigen(Package):
|
||||
homepage = 'http://eigen.tuxfamily.org/'
|
||||
url = 'http://bitbucket.org/eigen/eigen/get/3.2.7.tar.bz2'
|
||||
|
||||
version('3.2.7', 'cc1bacbad97558b97da6b77c9644f184', url='http://bitbucket.org/eigen/eigen/get/3.2.7.tar.bz2')
|
||||
version('3.2.7', 'cc1bacbad97558b97da6b77c9644f184',
|
||||
url='http://bitbucket.org/eigen/eigen/get/3.2.7.tar.bz2')
|
||||
|
||||
variant('debug', default=False, description='Builds the library in debug mode')
|
||||
variant('debug', default=False,
|
||||
description='Builds the library in debug mode')
|
||||
|
||||
variant('metis', default=True, description='Enables metis backend')
|
||||
variant('scotch', default=True, description='Enables scotch backend')
|
||||
variant('fftw', default=True, description='Enables FFTW backend')
|
||||
variant('suitesparse', default=True, description='Enables SuiteSparse support')
|
||||
variant('mpfr', default=True, description='Enables support for multi-precisions floating points via mpfr')
|
||||
variant('suitesparse', default=True,
|
||||
description='Enables SuiteSparse support')
|
||||
variant('mpfr', default=True,
|
||||
description='Enables support for multi-precisions FP via mpfr')
|
||||
|
||||
# TODO : dependency on googlehash, superlu, adolc missing
|
||||
depends_on('cmake', type='build')
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Elfutils(Package):
|
||||
"""elfutils is a collection of various binary tools such as
|
||||
eu-objdump, eu-readelf, and other utilities that allow you to
|
||||
@@ -47,4 +48,3 @@ def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix, '--enable-maintainer-mode')
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
@@ -34,7 +34,8 @@ class Elpa(Package):
|
||||
homepage = 'http://elpa.mpcdf.mpg.de/'
|
||||
url = 'http://elpa.mpcdf.mpg.de/elpa-2015.11.001.tar.gz'
|
||||
|
||||
version('2015.11.001', 'de0f35b7ee7c971fd0dca35c900b87e6', url='http://elpa.mpcdf.mpg.de/elpa-2015.11.001.tar.gz')
|
||||
version('2015.11.001', 'de0f35b7ee7c971fd0dca35c900b87e6',
|
||||
url='http://elpa.mpcdf.mpg.de/elpa-2015.11.001.tar.gz')
|
||||
|
||||
variant('openmp', default=False, description='Activates OpenMP support')
|
||||
|
||||
|
@@ -35,7 +35,8 @@ class Emacs(Package):
|
||||
version('24.5', 'd74b597503a68105e61b5b9f6d065b44')
|
||||
|
||||
variant('X', default=True, description="Enable a X toolkit (GTK+)")
|
||||
variant('gtkplus', default=False, description="Enable a GTK+ as X toolkit (this variant is ignored if ~X)")
|
||||
variant('gtkplus', default=False,
|
||||
description="Enable a GTK+ as X toolkit (ignored if ~X)")
|
||||
|
||||
depends_on('ncurses')
|
||||
depends_on('libtiff', when='+X')
|
||||
|
@@ -46,17 +46,18 @@ def install(self, spec, prefix):
|
||||
"--without-tclx",
|
||||
"--with-tclx-ver=0.0",
|
||||
"--prefix=%s" % prefix,
|
||||
"--with-tcl=%s" % join_path(tcl_spec.prefix, 'lib'), # It looks for tclConfig.sh
|
||||
"--with-tcl-ver=%d.%d" % (tcl_spec.version.version[0], tcl_spec.version.version[1]),
|
||||
# It looks for tclConfig.sh
|
||||
"--with-tcl=%s" % join_path(tcl_spec.prefix, 'lib'),
|
||||
"--with-tcl-ver=%d.%d" % (tcl_spec.version.version[
|
||||
0], tcl_spec.version.version[1]),
|
||||
'--disable-debug',
|
||||
'--disable-dependency-tracking',
|
||||
'--disable-silent-rules',
|
||||
'--disable-versioning',
|
||||
'--disable-versioning',
|
||||
'--datarootdir=%s' % prefix.share,
|
||||
'CPPFLAGS=%s' % ' '.join(CPPFLAGS)
|
||||
]
|
||||
|
||||
|
||||
configure(*config_args)
|
||||
make()
|
||||
make('install')
|
||||
|
@@ -32,17 +32,22 @@
|
||||
# TODO: Create installation options for NetCDF that support larger page size
|
||||
# TODO: suggested by Exodus (see the repository "README" file).
|
||||
|
||||
|
||||
class Exodusii(Package):
|
||||
"""Exodus II is a C++/Fortran library developed to store and retrieve data for
|
||||
finite element analyses. It's used for preprocessing (problem definition),
|
||||
postprocessing (results visualization), and data transfer between codes.
|
||||
An Exodus II data file is a random access, machine independent, binary
|
||||
file that is written and read via C, C++, or Fortran API routines."""
|
||||
"""Exodus II is a C++/Fortran library developed to store and retrieve
|
||||
data for finite element analyses. It's used for preprocessing
|
||||
(problem definition), postprocessing (results visualization), and
|
||||
data transfer between codes. An Exodus II data file is a random
|
||||
access, machine independent, binary file that is written and read
|
||||
via C, C++, or Fortran API routines.
|
||||
|
||||
"""
|
||||
|
||||
homepage = "https://github.com/gsjaardema/seacas"
|
||||
url = "https://github.com/gsjaardema/seacas/archive/master.zip"
|
||||
|
||||
version('2016-02-08', git='https://github.com/gsjaardema/seacas.git', commit='dcf3529')
|
||||
version('2016-02-08',
|
||||
git='https://github.com/gsjaardema/seacas.git', commit='dcf3529')
|
||||
|
||||
depends_on('cmake@2.8.7:', type='build')
|
||||
depends_on('hdf5~shared~mpi')
|
||||
@@ -54,11 +59,14 @@ def patch(self):
|
||||
ff = FileFilter('cmake-exodus')
|
||||
|
||||
ff.filter('CMAKE_INSTALL_PREFIX:PATH=${ACCESS}',
|
||||
'CMAKE_INSTALL_PREFIX:PATH=%s' % self.spec.prefix, string=True)
|
||||
'CMAKE_INSTALL_PREFIX:PATH=%s' % self.spec.prefix,
|
||||
string=True)
|
||||
ff.filter('NetCDF_DIR:PATH=${TPL}',
|
||||
'NetCDF_DIR:PATH=%s' % self.spec['netcdf'].prefix, string=True)
|
||||
'NetCDF_DIR:PATH=%s' % self.spec['netcdf'].prefix,
|
||||
string=True)
|
||||
ff.filter('HDF5_ROOT:PATH=${TPL}',
|
||||
'HDF5_ROOT:PATH=%s' % self.spec['hdf5'].prefix, string=True)
|
||||
'HDF5_ROOT:PATH=%s' % self.spec['hdf5'].prefix,
|
||||
string=True)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
mkdirp('build')
|
||||
|
45
var/spack/repos/builtin/packages/exonerate/package.py
Normal file
45
var/spack/repos/builtin/packages/exonerate/package.py
Normal file
@@ -0,0 +1,45 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://github.com/llnl/spack
|
||||
# Please also see the LICENSE file for our notice and the LGPL.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License (as
|
||||
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||
# conditions of the GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Exonerate(Package):
|
||||
"""Pairwise sequence alignment of DNA and proteins"""
|
||||
|
||||
homepage = "http://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate"
|
||||
url = "http://ftp.ebi.ac.uk/pub/software/vertebrategenomics/exonerate/exonerate-2.2.0.tar.gz"
|
||||
|
||||
version('2.4.0', '126fbade003b80b663a1d530c56f1904')
|
||||
|
||||
depends_on('pkg-config', type="build")
|
||||
depends_on('glib')
|
||||
|
||||
parallel = False
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix={0}'.format(prefix), '--disable-debug',
|
||||
'--disable-dependency-tracking')
|
||||
make()
|
||||
make('install')
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Expat(Package):
|
||||
"""<eXpat/> is an XML parser library written in C"""
|
||||
homepage = "http://expat.sourceforge.net/"
|
||||
@@ -39,4 +40,3 @@ def install(self, spec, prefix):
|
||||
cmake('..', *std_cmake_args)
|
||||
make()
|
||||
make('install')
|
||||
|
||||
|
@@ -25,7 +25,23 @@
|
||||
from spack import *
|
||||
|
||||
# typical working line with extrae 3.0.1
|
||||
# ./configure --prefix=/usr/local --with-mpi=/usr/lib64/mpi/gcc/openmpi --with-unwind=/usr/local --with-papi=/usr --with-dwarf=/usr --with-elf=/usr --with-dyninst=/usr --with-binutils=/usr --with-xml-prefix=/usr --enable-openmp --enable-nanos --enable-pthread --disable-parallel-merge LDFLAGS=-pthread
|
||||
# ./configure
|
||||
# --prefix=/usr/local
|
||||
# --with-mpi=/usr/lib64/mpi/gcc/openmpi
|
||||
# --with-unwind=/usr/local
|
||||
# --with-papi=/usr
|
||||
# --with-dwarf=/usr
|
||||
# --with-elf=/usr
|
||||
# --with-dyninst=/usr
|
||||
# --with-binutils=/usr
|
||||
# --with-xml-prefix=/usr
|
||||
# --enable-openmp
|
||||
# --enable-nanos
|
||||
# --enable-pthread
|
||||
# --disable-parallel-merge
|
||||
#
|
||||
# LDFLAGS=-pthread
|
||||
|
||||
|
||||
class Extrae(Package):
|
||||
"""Extrae is the package devoted to generate tracefiles which can
|
||||
@@ -55,16 +71,16 @@ def install(self, spec, prefix):
|
||||
elif 'mvapich2' in spec:
|
||||
mpi = spec['mvapich2']
|
||||
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--with-mpi=%s" % mpi.prefix,
|
||||
"--with-unwind=%s" % spec['libunwind'].prefix,
|
||||
"--with-dyninst=%s" % spec['dyninst'].prefix,
|
||||
"--with-boost=%s" % spec['boost'].prefix,
|
||||
"--with-dwarf=%s" % spec['libdwarf'].prefix,
|
||||
"--with-papi=%s" % spec['papi'].prefix,
|
||||
"--with-dyninst-headers=%s" % spec['dyninst'].prefix.include,
|
||||
"--with-dyninst-libs=%s" % spec['dyninst'].prefix.lib)
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--with-mpi=%s" % mpi.prefix,
|
||||
"--with-unwind=%s" % spec['libunwind'].prefix,
|
||||
"--with-dyninst=%s" % spec['dyninst'].prefix,
|
||||
"--with-boost=%s" % spec['boost'].prefix,
|
||||
"--with-dwarf=%s" % spec['libdwarf'].prefix,
|
||||
"--with-papi=%s" % spec['papi'].prefix,
|
||||
"--with-dyninst-headers=%s" % spec[
|
||||
'dyninst'].prefix.include,
|
||||
"--with-dyninst-libs=%s" % spec['dyninst'].prefix.lib)
|
||||
|
||||
make()
|
||||
make("install", parallel=False)
|
||||
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class ExuberantCtags(Package):
|
||||
"""The canonical ctags generator"""
|
||||
homepage = "ctags.sourceforge.net"
|
||||
|
43
var/spack/repos/builtin/packages/fastx_toolkit/package.py
Normal file
43
var/spack/repos/builtin/packages/fastx_toolkit/package.py
Normal file
@@ -0,0 +1,43 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://github.com/llnl/spack
|
||||
# Please also see the LICENSE file for our notice and the LGPL.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License (as
|
||||
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||
# conditions of the GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class FastxToolkit(Package):
|
||||
"""The FASTX-Toolkit is a collection of command line tools for
|
||||
Short-Reads FASTA/FASTQ files preprocessing."""
|
||||
|
||||
homepage = "http://hannonlab.cshl.edu/fastx_toolkit/"
|
||||
url = "https://github.com/agordon/fastx_toolkit/releases/download/0.0.14/fastx_toolkit-0.0.14.tar.bz2"
|
||||
|
||||
version('0.0.14', 'bf1993c898626bb147de3d6695c20b40')
|
||||
|
||||
depends_on('libgtextutils')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix={0}'.format(prefix))
|
||||
|
||||
make()
|
||||
make('install')
|
@@ -36,7 +36,7 @@ class Fenics(Package):
|
||||
homepage = "http://fenicsproject.org/"
|
||||
url = "https://bitbucket.org/fenics-project/dolfin/downloads/dolfin-1.6.0.tar.gz"
|
||||
|
||||
base_url = "https://bitbucket.org/fenics-project/{pkg}/downloads/{pkg}-{version}.tar.gz" # NOQA: ignore E501
|
||||
base_url = "https://bitbucket.org/fenics-project/{pkg}/downloads/{pkg}-{version}.tar.gz"
|
||||
|
||||
variant('hdf5', default=True, description='Compile with HDF5')
|
||||
variant('parmetis', default=True, description='Compile with ParMETIS')
|
||||
@@ -44,13 +44,18 @@ class Fenics(Package):
|
||||
variant('petsc', default=True, description='Compile with PETSc')
|
||||
variant('slepc', default=True, description='Compile with SLEPc')
|
||||
variant('trilinos', default=True, description='Compile with Trilinos')
|
||||
variant('suite-sparse', default=True, description='Compile with SuiteSparse solvers')
|
||||
variant('suite-sparse', default=True,
|
||||
description='Compile with SuiteSparse solvers')
|
||||
variant('vtk', default=False, description='Compile with VTK')
|
||||
variant('qt', default=False, description='Compile with QT')
|
||||
variant('mpi', default=True, description='Enables the distributed memory support')
|
||||
variant('openmp', default=True, description='Enables the shared memory support')
|
||||
variant('shared', default=True, description='Enables the build of shared libraries')
|
||||
variant('debug', default=False, description='Builds a debug version of the libraries')
|
||||
variant('mpi', default=True,
|
||||
description='Enables the distributed memory support')
|
||||
variant('openmp', default=True,
|
||||
description='Enables the shared memory support')
|
||||
variant('shared', default=True,
|
||||
description='Enables the build of shared libraries')
|
||||
variant('debug', default=False,
|
||||
description='Builds a debug version of the libraries')
|
||||
|
||||
# not part of spack list for now
|
||||
# variant('petsc4py', default=True, description='Uses PETSc4py')
|
||||
@@ -109,7 +114,8 @@ class Fenics(Package):
|
||||
]
|
||||
|
||||
for release in releases:
|
||||
version(release['version'], release['md5'], url=base_url.format(pkg='dolfin', version=release['version']))
|
||||
version(release['version'], release['md5'], url=base_url.format(
|
||||
pkg='dolfin', version=release['version']))
|
||||
for name, md5 in release['resources'].items():
|
||||
resource(name=name,
|
||||
url=base_url.format(pkg=name, **release),
|
||||
|
@@ -28,26 +28,36 @@
|
||||
|
||||
|
||||
class Fftw(Package):
|
||||
"""
|
||||
FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of
|
||||
arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine
|
||||
transforms or DCT/DST). We believe that FFTW, which is free software, should become the FFT library of choice for
|
||||
most applications.
|
||||
"""FFTW is a C subroutine library for computing the discrete Fourier
|
||||
transform (DFT) in one or more dimensions, of arbitrary input
|
||||
size, and of both real and complex data (as well as of even/odd
|
||||
data, i.e. the discrete cosine/sine transforms or DCT/DST). We
|
||||
believe that FFTW, which is free software, should become the FFT
|
||||
library of choice for most applications.
|
||||
|
||||
"""
|
||||
homepage = "http://www.fftw.org"
|
||||
url = "http://www.fftw.org/fftw-3.3.4.tar.gz"
|
||||
|
||||
version('3.3.4', '2edab8c06b24feeb3b82bbb3ebf3e7b3')
|
||||
|
||||
variant('float', default=True, description='Produces a single precision version of the library')
|
||||
variant('long_double', default=True, description='Produces a long double precision version of the library')
|
||||
variant('quad', default=False, description='Produces a quad precision version of the library (works only with GCC and libquadmath)')
|
||||
variant(
|
||||
'float', default=True,
|
||||
description='Produces a single precision version of the library')
|
||||
variant(
|
||||
'long_double', default=True,
|
||||
description='Produces a long double precision version of the library')
|
||||
variant(
|
||||
'quad', default=False,
|
||||
description='Produces a quad precision version of the library '
|
||||
'(works only with GCC and libquadmath)')
|
||||
variant('openmp', default=False, description="Enable OpenMP support.")
|
||||
variant('mpi', default=False, description='Activate MPI support')
|
||||
|
||||
depends_on('mpi', when='+mpi')
|
||||
|
||||
# TODO : add support for architecture specific optimizations as soon as targets are supported
|
||||
# TODO : add support for architecture specific optimizations as soon as
|
||||
# targets are supported
|
||||
|
||||
def install(self, spec, prefix):
|
||||
options = ['--prefix=%s' % prefix,
|
||||
@@ -57,9 +67,9 @@ def install(self, spec, prefix):
|
||||
if '+openmp' in spec:
|
||||
# Note: Apple's Clang does not support OpenMP.
|
||||
if spec.satisfies('%clang'):
|
||||
ver = str(self.compiler.version)
|
||||
if ver.endswith('-apple'):
|
||||
raise InstallError("Apple's clang does not support OpenMP")
|
||||
ver = str(self.compiler.version)
|
||||
if ver.endswith('-apple'):
|
||||
raise InstallError("Apple's clang does not support OpenMP")
|
||||
options.append('--enable-openmp')
|
||||
if not self.compiler.f77 or not self.compiler.fc:
|
||||
options.append("--disable-fortran")
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Fish(Package):
|
||||
"""fish is a smart and user-friendly command line shell for OS X, Linux, and
|
||||
the rest of the family.
|
||||
|
@@ -26,13 +26,16 @@
|
||||
|
||||
|
||||
class Fltk(Package):
|
||||
"""
|
||||
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and
|
||||
MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its
|
||||
built-in GLUT emulation.
|
||||
"""FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for
|
||||
UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides
|
||||
modern GUI functionality without the bloat and supports 3D
|
||||
graphics via OpenGL and its built-in GLUT emulation.
|
||||
|
||||
FLTK is designed to be small and modular enough to be statically
|
||||
linked, but works fine as a shared library. FLTK also includes an
|
||||
excellent UI builder called FLUID that can be used to create
|
||||
applications in minutes.
|
||||
|
||||
FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK
|
||||
also includes an excellent UI builder called FLUID that can be used to create applications in minutes.
|
||||
"""
|
||||
homepage = 'http://www.fltk.org/'
|
||||
url = 'http://fltk.org/pub/fltk/1.3.3/fltk-1.3.3-source.tar.gz'
|
||||
@@ -41,7 +44,8 @@ class Fltk(Package):
|
||||
|
||||
patch('font.patch', when='@1.3.3')
|
||||
|
||||
variant('shared', default=True, description='Enables the build of shared libraries')
|
||||
variant('shared', default=True,
|
||||
description='Enables the build of shared libraries')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
options = ['--prefix=%s' % prefix,
|
||||
|
@@ -25,13 +25,15 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
|
||||
class Flux(Package):
|
||||
""" A next-generation resource manager (pre-alpha) """
|
||||
|
||||
homepage = "https://github.com/flux-framework/flux-core"
|
||||
url = "https://github.com/flux-framework/flux-core"
|
||||
|
||||
version('master', branch='master', git='https://github.com/flux-framework/flux-core')
|
||||
version('master', branch='master',
|
||||
git='https://github.com/flux-framework/flux-core')
|
||||
|
||||
# Also needs autotools, but should use the system version if available
|
||||
depends_on("zeromq@4.0.4:")
|
||||
@@ -52,12 +54,11 @@ def install(self, spec, prefix):
|
||||
# Bootstrap with autotools
|
||||
bash = which('bash')
|
||||
bash('./autogen.sh')
|
||||
bash('./autogen.sh') #yes, twice, intentionally
|
||||
bash('./autogen.sh') # yes, twice, intentionally
|
||||
|
||||
# Fix asciidoc dependency on xml style sheets and whatnot
|
||||
os.environ['XML_CATALOG_FILES'] = os.path.join(spec['docbook-xml'].prefix,
|
||||
'catalog.xml')
|
||||
os.environ['XML_CATALOG_FILES'] = os.path.join(
|
||||
spec['docbook-xml'].prefix, 'catalog.xml')
|
||||
# Configure, compile & install
|
||||
configure("--prefix=" + prefix)
|
||||
make("install", "V=1")
|
||||
|
||||
|
@@ -16,12 +16,24 @@ class FoamExtend(Package):
|
||||
version('3.0', git='http://git.code.sf.net/p/foam-extend/foam-extend-3.0')
|
||||
|
||||
variant('paraview', default=False, description='Enable ParaFOAM')
|
||||
variant('scotch', default=True, description='Activate Scotch as a possible decomposition library')
|
||||
variant('ptscotch', default=True, description='Activate PT-Scotch as a possible decomposition library')
|
||||
variant('metis', default=True, description='Activate Metis as a possible decomposition library')
|
||||
variant('parmetis', default=True, description='Activate Parmetis as a possible decomposition library')
|
||||
variant('parmgridgen', default=True, description='Activate Parmgridgen support')
|
||||
variant('source', default=True, description='Installs also the source folder')
|
||||
variant(
|
||||
'scotch', default=True,
|
||||
description='Activate Scotch as a possible decomposition library')
|
||||
variant(
|
||||
'ptscotch', default=True,
|
||||
description='Activate PT-Scotch as a possible decomposition library')
|
||||
variant(
|
||||
'metis', default=True,
|
||||
description='Activate Metis as a possible decomposition library')
|
||||
variant(
|
||||
'parmetis', default=True,
|
||||
description='Activate Parmetis as a possible decomposition library')
|
||||
variant(
|
||||
'parmgridgen', default=True,
|
||||
description='Activate Parmgridgen support')
|
||||
variant(
|
||||
'source', default=True,
|
||||
description='Installs also the source folder')
|
||||
|
||||
supported_compilers = {'clang': 'Clang', 'gcc': 'Gcc', 'intel': 'Icc'}
|
||||
|
||||
@@ -80,7 +92,7 @@ def patch(self):
|
||||
filter_file(
|
||||
r'-lMGridGen',
|
||||
r'-lmgrid',
|
||||
'src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options') # NOQA: ignore=501
|
||||
'src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options') # noqa
|
||||
|
||||
# Get the wmake arch and compiler
|
||||
(arch, foam_compiler) = self.set_arch()
|
||||
|
@@ -24,12 +24,13 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Fontconfig(Package):
|
||||
"""Fontconfig customizing font access"""
|
||||
homepage = "http://www.freedesktop.org/wiki/Software/fontconfig/"
|
||||
url = "http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.11.1.tar.gz"
|
||||
|
||||
version('2.11.1' , 'e75e303b4f7756c2b16203a57ac87eba')
|
||||
version('2.11.1', 'e75e303b4f7756c2b16203a57ac87eba')
|
||||
|
||||
depends_on('freetype')
|
||||
depends_on('libxml2')
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Gasnet(Package):
|
||||
"""GASNet is a language-independent, low-level networking layer
|
||||
that provides network-independent, high-performance communication
|
||||
@@ -36,24 +37,24 @@ class Gasnet(Package):
|
||||
|
||||
version('1.24.0', 'c8afdf48381e8b5a7340bdb32ca0f41a')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# TODO: don't use paths with @ in them.
|
||||
change_sed_delimiter('@', ';', 'configure')
|
||||
|
||||
configure("--prefix=%s" % prefix,
|
||||
# TODO: factor IB suport out into architecture description.
|
||||
"--enable-ibv",
|
||||
"--enable-udp",
|
||||
"--disable-mpi",
|
||||
"--enable-par",
|
||||
"--enable-mpi-compat",
|
||||
"--enable-segment-fast",
|
||||
"--disable-aligned-segments",
|
||||
# TODO: make an option so that Legion can request builds with/without this.
|
||||
# See the Legion webpage for details on when to/not to use.
|
||||
"--disable-pshm",
|
||||
"--with-segment-mmap-max=64MB")
|
||||
configure(
|
||||
"--prefix=%s" % prefix,
|
||||
# TODO: factor IB suport out into architecture description.
|
||||
"--enable-ibv",
|
||||
"--enable-udp",
|
||||
"--disable-mpi",
|
||||
"--enable-par",
|
||||
"--enable-mpi-compat",
|
||||
"--enable-segment-fast",
|
||||
"--disable-aligned-segments",
|
||||
# TODO: make option so Legion can request builds with/without this.
|
||||
# See the Legion webpage for details on when to/not to use.
|
||||
"--disable-pshm",
|
||||
"--with-segment-mmap-max=64MB")
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -15,6 +15,7 @@ class Gcc(Package):
|
||||
list_depth = 2
|
||||
|
||||
version('6.1.0', '8fb6cb98b8459f5863328380fbf06bd1')
|
||||
version('5.4.0', '4c626ac2a83ef30dfb9260e6f59c2b30')
|
||||
version('5.3.0', 'c9616fd448f980259c31de613e575719')
|
||||
version('5.2.0', 'a51bcfeb3da7dd4c623e27207ed43467')
|
||||
version('4.9.3', '6f831b4d251872736e8e9cc09746f327')
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Gdal(Package):
|
||||
"""
|
||||
GDAL is a translator library for raster and vector geospatial
|
||||
|
@@ -27,9 +27,10 @@
|
||||
|
||||
|
||||
class Gdb(Package):
|
||||
"""
|
||||
GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it executes
|
||||
-- or what another program was doing at the moment it crashed.
|
||||
"""GDB, the GNU Project debugger, allows you to see what is going on
|
||||
`inside' another program while it executes -- or what another
|
||||
program was doing at the moment it crashed.
|
||||
|
||||
"""
|
||||
homepage = "https://www.gnu.org/software/gdb"
|
||||
url = "http://ftp.gnu.org/gnu/gdb/gdb-7.10.tar.gz"
|
||||
|
@@ -24,6 +24,7 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class GdkPixbuf(Package):
|
||||
"""The Gdk Pixbuf is a toolkit for image loading and pixel buffer
|
||||
manipulation. It is used by GTK+ 2 and GTK+ 3 to load and
|
||||
|
@@ -23,7 +23,7 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
|
||||
class Geos(Package):
|
||||
"""GEOS (Geometry Engine - Open Source) is a C++ port of the Java
|
||||
|
@@ -24,31 +24,80 @@
|
||||
##############################################################################
|
||||
from spack import *
|
||||
|
||||
|
||||
class Gettext(Package):
|
||||
"""GNU internationalization (i18n) and localization (l10n) library."""
|
||||
homepage = "https://www.gnu.org/software/gettext/"
|
||||
url = "http://ftpmirror.gnu.org/gettext/gettext-0.19.7.tar.xz"
|
||||
|
||||
version('0.19.7', 'f81e50556da41b44c1d59ac93474dca5')
|
||||
version('0.19.8.1', 'df3f5690eaa30fd228537b00cb7b7590')
|
||||
version('0.19.7', 'f81e50556da41b44c1d59ac93474dca5')
|
||||
|
||||
# Recommended variants
|
||||
variant('curses', default=True, description='Use libncurses')
|
||||
variant('libxml2', default=True, description='Use libxml2')
|
||||
variant('git', default=True, description='Enable git support')
|
||||
variant('tar', default=True, description='Enable tar support')
|
||||
variant('bzip2', default=True, description='Enable bzip2 support')
|
||||
variant('xz', default=True, description='Enable xz support')
|
||||
|
||||
# Optional variants
|
||||
variant('libunistring', default=False, description='Use libunistring')
|
||||
|
||||
# Recommended dependencies
|
||||
depends_on('ncurses', when='+curses')
|
||||
depends_on('libxml2', when='+libxml2')
|
||||
# Java runtime and compiler (e.g. GNU gcj or kaffe)
|
||||
# C# runtime and compiler (e.g. pnet or mono)
|
||||
depends_on('tar', when='+tar')
|
||||
# depends_on('gzip', when='+gzip')
|
||||
depends_on('bzip2', when='+bzip2')
|
||||
depends_on('xz', when='+xz')
|
||||
|
||||
# Optional dependencies
|
||||
# depends_on('glib') # circular dependency?
|
||||
# depends_on('libcroco@0.6.1:')
|
||||
depends_on('libunistring', when='+libunistring')
|
||||
# depends_on('cvs')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
options = ['--disable-dependency-tracking',
|
||||
'--disable-silent-rules',
|
||||
'--disable-debug',
|
||||
'--prefix=%s' % prefix,
|
||||
'--with-included-gettext',
|
||||
'--with-included-glib',
|
||||
'--with-included-libcroco',
|
||||
'--with-included-libunistring',
|
||||
'--with-emacs',
|
||||
'--with-lispdir=%s/emacs/site-lisp/gettext' % prefix.share,
|
||||
'--disable-java',
|
||||
'--disable-csharp',
|
||||
'--without-git', # Don't use VCS systems to create these archives
|
||||
'--without-cvs',
|
||||
'--without-xz']
|
||||
config_args = [
|
||||
'--prefix={0}'.format(prefix),
|
||||
'--disable-java',
|
||||
'--disable-csharp',
|
||||
'--with-included-glib',
|
||||
'--with-included-gettext',
|
||||
'--with-included-libcroco',
|
||||
'--without-emacs',
|
||||
'--with-lispdir=%s/emacs/site-lisp/gettext' % prefix.share,
|
||||
'--without-cvs'
|
||||
]
|
||||
|
||||
configure(*options)
|
||||
if '+curses' in spec:
|
||||
config_args.append('--with-ncurses-prefix={0}'.format(
|
||||
spec['ncurses'].prefix))
|
||||
else:
|
||||
config_args.append('--disable-curses')
|
||||
|
||||
if '+libxml2' in spec:
|
||||
config_args.append('--with-libxml2-prefix={0}'.format(
|
||||
spec['libxml2'].prefix))
|
||||
else:
|
||||
config_args.append('--with-included-libxml')
|
||||
|
||||
if '+bzip2' not in spec:
|
||||
config_args.append('--without-bzip2')
|
||||
|
||||
if '+xz' not in spec:
|
||||
config_args.append('--without-xz')
|
||||
|
||||
if '+libunistring' in spec:
|
||||
config_args.append('--with-libunistring-prefix={0}'.format(
|
||||
spec['libunistring'].prefix))
|
||||
else:
|
||||
config_args.append('--with-included-libunistring')
|
||||
|
||||
configure(*config_args)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user