Merged in current develop to cflags 042716
This commit is contained in:
@@ -1,12 +0,0 @@
|
||||
compilers:
|
||||
all:
|
||||
clang@3.3:
|
||||
cc: /path/to/clang
|
||||
cxx: /path/to/clang++
|
||||
f77: None
|
||||
fc: None
|
||||
gcc@4.5.0:
|
||||
cc: /path/to/gcc
|
||||
cxx: /path/to/g++
|
||||
f77: /path/to/gfortran
|
||||
fc: /path/to/gfortran
|
@@ -1,33 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class R(Package):
|
||||
"""R is 'GNU S', a freely available language and environment for
|
||||
statistical computing and graphics which provides a wide va
|
||||
riety of statistical and graphical techniques: linear and
|
||||
nonlinear modelling, statistical tests, time series analysis,
|
||||
classification, clustering, etc. Please consult the R project
|
||||
homepage for further information."""
|
||||
homepage = "http://www.example.com"
|
||||
url = "http://cran.cnr.berkeley.edu/src/base/R-3/R-3.1.2.tar.gz"
|
||||
|
||||
version('3.1.2', '3af29ec06704cbd08d4ba8d69250ae74')
|
||||
|
||||
depends_on("readline")
|
||||
depends_on("ncurses")
|
||||
depends_on("icu")
|
||||
depends_on("glib")
|
||||
depends_on("zlib")
|
||||
depends_on("libtiff")
|
||||
depends_on("jpeg")
|
||||
depends_on("cairo")
|
||||
depends_on("pango")
|
||||
depends_on("freetype")
|
||||
depends_on("tcl")
|
||||
depends_on("tk")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--enable-R-shlib",
|
||||
"--enable-BLAS-shlib")
|
||||
make()
|
||||
make("install")
|
@@ -1,60 +0,0 @@
|
||||
from spack import *
|
||||
from spack.util.executable import Executable
|
||||
import os
|
||||
|
||||
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.
|
||||
"""
|
||||
homepage = "http://math-atlas.sourceforge.net/"
|
||||
|
||||
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')
|
||||
version('3.10.2', 'a4e21f343dec8f22e7415e339f09f6da',
|
||||
url='http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.2/atlas3.10.2.tar.bz2')
|
||||
|
||||
# TODO: make this provide BLAS once it works better. Create a way
|
||||
# TODO: to mark "beta" packages and require explicit invocation.
|
||||
|
||||
# provides('blas')
|
||||
|
||||
|
||||
def patch(self):
|
||||
# Disable thraed check. LLNL's environment does not allow
|
||||
# disabling of CPU throttling in a way that ATLAS actually
|
||||
# understands.
|
||||
filter_file(r'^\s+if \(thrchk\) exit\(1\);', 'if (0) exit(1);',
|
||||
'CONFIG/src/config.c')
|
||||
# TODO: investigate a better way to add the check back in
|
||||
# TODO: using, say, MSRs. Or move this to a variant.
|
||||
|
||||
@when('@:3.10')
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('ATLAS-Build', create=True):
|
||||
configure = Executable('../configure')
|
||||
configure('--prefix=%s' % prefix, '-C', 'ic', 'cc', '-C', 'if', 'f77', "--dylibs")
|
||||
make()
|
||||
make('check')
|
||||
make('ptcheck')
|
||||
make('time')
|
||||
make("install")
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('ATLAS-Build', create=True):
|
||||
configure = Executable('../configure')
|
||||
configure('--incdir=%s' % prefix.include,
|
||||
'--libdir=%s' % prefix.lib,
|
||||
'--cc=cc',
|
||||
"--shared")
|
||||
|
||||
make()
|
||||
make('check')
|
||||
make('ptcheck')
|
||||
make('time')
|
||||
make("install")
|
@@ -1,66 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Boost(Package):
|
||||
"""Boost provides free peer-reviewed portable C++ source
|
||||
libraries, emphasizing libraries that work well with the C++
|
||||
Standard Library.
|
||||
|
||||
Boost libraries are intended to be widely useful, and usable
|
||||
across a broad spectrum of applications. The Boost license
|
||||
encourages both commercial and non-commercial use.
|
||||
"""
|
||||
homepage = "http://www.boost.org"
|
||||
url = "http://downloads.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.bz2"
|
||||
list_url = "http://sourceforge.net/projects/boost/files/boost/"
|
||||
list_depth = 2
|
||||
|
||||
version('1.59.0', '6aa9a5c6a4ca1016edd0ed1178e3cb87')
|
||||
version('1.58.0', 'b8839650e61e9c1c0a89f371dd475546')
|
||||
version('1.57.0', '1be49befbdd9a5ce9def2983ba3e7b76')
|
||||
version('1.56.0', 'a744cf167b05d72335f27c88115f211d')
|
||||
version('1.55.0', 'd6eef4b4cacb2183f2bf265a5a03a354')
|
||||
version('1.54.0', '15cb8c0803064faef0c4ddf5bc5ca279')
|
||||
version('1.53.0', 'a00d22605d5dbcfb4c9936a9b35bc4c2')
|
||||
version('1.52.0', '3a855e0f919107e0ca4de4d84ad3f750')
|
||||
version('1.51.0', '4b6bd483b692fd138aef84ed2c8eb679')
|
||||
version('1.50.0', '52dd00be775e689f55a987baebccc462')
|
||||
version('1.49.0', '0d202cb811f934282dea64856a175698')
|
||||
version('1.48.0', 'd1e9a7a7f532bb031a3c175d86688d95')
|
||||
version('1.47.0', 'a2dc343f7bc7f83f8941e47ed4a18200')
|
||||
version('1.46.1', '7375679575f4c8db605d426fc721d506')
|
||||
version('1.46.0', '37b12f1702319b73876b0097982087e0')
|
||||
version('1.45.0', 'd405c606354789d0426bc07bea617e58')
|
||||
version('1.44.0', 'f02578f5218f217a9f20e9c30e119c6a')
|
||||
version('1.43.0', 'dd49767bfb726b0c774f7db0cef91ed1')
|
||||
version('1.42.0', '7bf3b4eb841b62ffb0ade2b82218ebe6')
|
||||
version('1.41.0', '8bb65e133907db727a2a825c5400d0a6')
|
||||
version('1.40.0', 'ec3875caeac8c52c7c129802a8483bd7')
|
||||
version('1.39.0', 'a17281fd88c48e0d866e1a12deecbcc0')
|
||||
version('1.38.0', '5eca2116d39d61382b8f8235915cb267')
|
||||
version('1.37.0', '8d9f990bfb7e83769fa5f1d6f065bc92')
|
||||
version('1.36.0', '328bfec66c312150e4c2a78dcecb504b')
|
||||
version('1.35.0', 'dce952a7214e72d6597516bcac84048b')
|
||||
version('1.34.1', '2d938467e8a448a2c9763e0a9f8ca7e5')
|
||||
version('1.34.0', 'ed5b9291ffad776f8757a916e1726ad0')
|
||||
|
||||
|
||||
def url_for_version(self, version):
|
||||
"""Handle Boost's weird URLs, which write the version two different ways."""
|
||||
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)
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
bootstrap = Executable('./bootstrap.sh')
|
||||
bootstrap()
|
||||
|
||||
# b2 used to be called bjam, before 1.47 (sigh)
|
||||
b2name = './b2' if spec.satisfies('@1.47:') else './bjam'
|
||||
|
||||
b2 = Executable(b2name)
|
||||
b2('install',
|
||||
'-j %s' % make_jobs,
|
||||
'--prefix=%s' % prefix)
|
@@ -1,45 +0,0 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Cmake(Package):
|
||||
"""A cross-platform, open-source build system. CMake is a family of
|
||||
tools designed to build, test and package software."""
|
||||
homepage = 'https://www.cmake.org'
|
||||
|
||||
version('2.8.10.2', '097278785da7182ec0aea8769d06860c',
|
||||
url = 'http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz')
|
||||
|
||||
version('3.0.2', 'db4c687a31444a929d2fdc36c4dfb95f',
|
||||
url = 'http://www.cmake.org/files/v3.0/cmake-3.0.2.tar.gz')
|
||||
|
||||
# version('3.0.1', 'e2e05d84cb44a42f1371d9995631dcf5')
|
||||
# version('3.0.0', '21a1c85e1a3b803c4b48e7ff915a863e')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=' + prefix,
|
||||
'--parallel=' + str(make_jobs))
|
||||
make()
|
||||
make('install')
|
@@ -1,55 +0,0 @@
|
||||
# FIXME: Add copyright statement
|
||||
#
|
||||
from spack import *
|
||||
from contextlib import closing
|
||||
|
||||
class Cube(Package):
|
||||
"""Cube the profile viewer for Score-P and Scalasca profiles. It
|
||||
displays a multi-dimensional performance space consisting
|
||||
of the dimensions (i) performance metric, (ii) call path,
|
||||
and (iii) system resource."""
|
||||
|
||||
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.2.3', '8f95b9531f5a8f8134f279c2767c9b20')
|
||||
|
||||
version('4.3TP1', 'a2090fbc7b2ba394bd5c09ba971e237f',
|
||||
url = 'http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-4.3-TP1.tar.gz')
|
||||
|
||||
# Using CC as C++ compiler provides quirky workaround for a Score-P build system attempt
|
||||
# to guess a matching C compiler when configuring scorep-score
|
||||
backend_user_provided = """\
|
||||
CC=cc
|
||||
CXX=CC
|
||||
F77=f77
|
||||
FC=f90
|
||||
#CFLAGS=-fPIC
|
||||
#CXXFLAGS=-fPIC
|
||||
"""
|
||||
frontend_user_provided = """\
|
||||
CC_FOR_BUILD=cc
|
||||
CXX_FOR_BUILD=CC
|
||||
F77_FOR_BUILD=f70
|
||||
FC_FOR_BUILD=f90
|
||||
"""
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Use a custom compiler configuration, otherwise the score-p
|
||||
# build system messes with spack's compiler settings.
|
||||
# Create these three files in the build directory
|
||||
|
||||
with closing(open("vendor/common/build-config/platforms/platform-backend-user-provided", "w")) as backend_file:
|
||||
backend_file.write(self.backend_user_provided)
|
||||
with closing(open("vendor/common/build-config/platforms/platform-frontend-user-provided", "w")) as frontend_file:
|
||||
frontend_file.write(self.frontend_user_provided)
|
||||
|
||||
configure_args = ["--prefix=%s" % prefix,
|
||||
"--with-custom-compilers",
|
||||
"--without-paraver",
|
||||
"--without-gui"]
|
||||
|
||||
configure(*configure_args)
|
||||
|
||||
make(parallel=False)
|
||||
make("install", parallel=False)
|
@@ -1,19 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
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')
|
||||
|
||||
depends_on('zeromq')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
bash = which("bash")
|
||||
bash("./autogen.sh")
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -1,27 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Git(Package):
|
||||
"""Git is a free and open source distributed version control
|
||||
system designed to handle everything from small to very large
|
||||
projects with speed and efficiency."""
|
||||
homepage = "http://git-scm.com"
|
||||
url = "https://www.kernel.org/pub/software/scm/git/git-2.2.1.tar.xz"
|
||||
|
||||
version('2.2.1', '43e01f9d96ba8c11611e0eef0d9f9f28')
|
||||
|
||||
# Use system openssl.
|
||||
# depends_on("openssl")
|
||||
|
||||
# Use system perl for now.
|
||||
# depends_on("perl")
|
||||
# depends_on("pcre")
|
||||
|
||||
depends_on("zlib")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--without-pcre",
|
||||
"--without-python")
|
||||
|
||||
make()
|
||||
make("install")
|
@@ -1,21 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Graphviz(Package):
|
||||
"""Graph Visualization Software"""
|
||||
homepage = "http://www.graphviz.org"
|
||||
url = "http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.38.0.tar.gz"
|
||||
|
||||
version('2.38.0', '5b6a829b2ac94efcd5fa3c223ed6d3ae')
|
||||
|
||||
parallel = False
|
||||
|
||||
depends_on("swig")
|
||||
depends_on("python")
|
||||
depends_on("ghostscript")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" %prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -1,42 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Hdf5(Package):
|
||||
"""HDF5 is a data model, library, and file format for storing and managing
|
||||
data. It supports an unlimited variety of datatypes, and is designed for
|
||||
flexible and efficient I/O and for high volume and complex data.
|
||||
"""
|
||||
|
||||
homepage = "http://www.hdfgroup.org/HDF5/"
|
||||
url = "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.13/src/hdf5-1.8.13.tar.gz"
|
||||
list_url = "http://www.hdfgroup.org/ftp/HDF5/releases"
|
||||
list_depth = 3
|
||||
|
||||
version('1.8.15', '03cccb5b33dbe975fdcd8ae9dc021f24')
|
||||
version('1.8.13', 'c03426e9e77d7766944654280b467289')
|
||||
|
||||
depends_on("mpi")
|
||||
depends_on("zlib")
|
||||
|
||||
# TODO: currently hard-coded to use OpenMPI
|
||||
def install(self, spec, prefix):
|
||||
|
||||
configure(
|
||||
"--prefix=%s" % prefix,
|
||||
"--with-zlib=%s" % spec['zlib'].prefix,
|
||||
"--enable-parallel",
|
||||
"--enable-shared",
|
||||
"CC=%s" % spec['mpich'].prefix.bin + "/mpicc",
|
||||
"CXX=%s" % spec['mpich'].prefix.bin + "/mpic++")
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
||||
def url_for_version(self, version):
|
||||
v = str(version)
|
||||
|
||||
if version == Version("1.2.2"):
|
||||
return "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-" + v + ".tar.gz"
|
||||
elif version < Version("1.7"):
|
||||
return "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-" + version.up_to(2) + "/hdf5-" + v + ".tar.gz"
|
||||
else:
|
||||
return "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-" + v + "/src/hdf5-" + v + ".tar.gz"
|
@@ -1,32 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Hypre(Package):
|
||||
"""Hypre is a library of high performance preconditioners that
|
||||
features parallel multigrid methods for both structured and
|
||||
unstructured grid problems."""
|
||||
|
||||
homepage = "https://computation.llnl.gov/project/linear_solvers/software.php"
|
||||
url = "https://computation.llnl.gov/project/linear_solvers/download/hypre-2.10.0b.tar.gz"
|
||||
|
||||
version('2.10.0b', '768be38793a35bb5d055905b271f5b8e')
|
||||
|
||||
depends_on("mpi")
|
||||
depends_on("blas")
|
||||
depends_on("lapack")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
blas_dir = spec['blas'].prefix
|
||||
lapack_dir = spec['lapack'].prefix
|
||||
|
||||
# Hypre's source is staged under ./src so we'll have to manually
|
||||
# cd into it.
|
||||
with working_dir("src"):
|
||||
configure(
|
||||
"--prefix=%s" % prefix,
|
||||
"--with-blas-libs=blas",
|
||||
"--with-blas-lib-dirs=%s/lib" % blas_dir,
|
||||
"--with-lapack-libs=\"lapack blas\"",
|
||||
"--with-lapack-lib-dirs=%s/lib" % lapack_dir,
|
||||
"--with-MPI")
|
||||
make()
|
||||
make("install")
|
@@ -1,21 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Libpciaccess(Package):
|
||||
"""Generic PCI access library."""
|
||||
|
||||
homepage = "http://cgit.freedesktop.org/xorg/lib/libpciaccess/"
|
||||
url = "http://cgit.freedesktop.org/xorg/lib/libpciaccess/"
|
||||
|
||||
version('0.13.4', git='http://anongit.freedesktop.org/git/xorg/lib/libpciaccess.git',
|
||||
tag='libpciaccess-0.13.4')
|
||||
|
||||
depends_on('autoconf')
|
||||
depends_on('libtool')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
from subprocess import call
|
||||
call(["./autogen.sh"])
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
@@ -1,21 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Libxml2(Package):
|
||||
"""Libxml2 is the XML C parser and toolkit developed for the Gnome
|
||||
project (but usable outside of the Gnome platform), it is free
|
||||
software available under the MIT License."""
|
||||
homepage = "http://xmlsoft.org"
|
||||
url = "http://xmlsoft.org/sources/libxml2-2.9.2.tar.gz"
|
||||
|
||||
version('2.9.2', '9e6a9aca9d155737868b3dc5fd82f788')
|
||||
|
||||
extends('python')
|
||||
depends_on('zlib')
|
||||
depends_on('xz')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--with-python=%s" % spec['python'].prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
@@ -1,53 +0,0 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written by David Beckingsale, david@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Llvm(Package):
|
||||
"""The LLVM Project is a collection of modular and reusable compiler and
|
||||
toolchain technologies. Despite its name, LLVM has little to do with
|
||||
traditional virtual machines, though it does provide helpful libraries
|
||||
that can be used to build them. The name "LLVM" itself is not an acronym;
|
||||
it is the full name of the project.
|
||||
"""
|
||||
homepage = 'http://llvm.org/'
|
||||
url = 'http://llvm.org/releases/3.7.0/llvm-3.7.0.src.tar.xz'
|
||||
|
||||
version('3.7.0', 'b98b9495e5655a672d6cb83e1a180f8e', url='http://llvm.org/releases/3.7.0/llvm-3.7.0.src.tar.xz')
|
||||
version('3.6.2', '0c1ee3597d75280dee603bae9cbf5cc2', url='http://llvm.org/releases/3.6.2/llvm-3.6.2.src.tar.xz')
|
||||
version('3.5.1', '2d3d8004f38852aa679e5945b8ce0b14', url='http://llvm.org/releases/3.5.1/llvm-3.5.1.src.tar.xz')
|
||||
|
||||
depends_on('python@2.7:')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
env['CXXFLAGS'] = self.compiler.cxx11_flag
|
||||
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..',
|
||||
'-DLLVM_REQUIRES_RTTI=1',
|
||||
'-DPYTHON_EXECUTABLE=%s/bin/python' % spec['python'].prefix,
|
||||
*std_cmake_args)
|
||||
make()
|
||||
make("install")
|
@@ -1,27 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Metis(Package):
|
||||
"""METIS is a set of serial programs for partitioning graphs,
|
||||
partitioning finite element meshes, and producing fill reducing
|
||||
orderings for sparse matrices. The algorithms implemented in
|
||||
METIS are based on the multilevel recursive-bisection,
|
||||
multilevel k-way, and multi-constraint partitioning schemes."""
|
||||
|
||||
homepage = "http://glaros.dtc.umn.edu/gkhome/metis/metis/overview"
|
||||
url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz"
|
||||
|
||||
version('5.1.0', '5465e67079419a69e0116de24fce58fe')
|
||||
|
||||
depends_on('mpi')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake(".",
|
||||
'-DGKLIB_PATH=%s/GKlib' % pwd(),
|
||||
'-DSHARED=1',
|
||||
'-DCMAKE_C_COMPILER=mpicc',
|
||||
'-DCMAKE_CXX_COMPILER=mpicxx',
|
||||
'-DSHARED=1',
|
||||
*std_cmake_args)
|
||||
|
||||
make()
|
||||
make("install")
|
@@ -1,20 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Mrnet(Package):
|
||||
"""The MRNet Multi-Cast Reduction Network."""
|
||||
homepage = "http://paradyn.org/mrnet"
|
||||
url = "ftp://ftp.cs.wisc.edu/paradyn/mrnet/mrnet_4.0.0.tar.gz"
|
||||
|
||||
version('4.0.0', 'd00301c078cba57ef68613be32ceea2f')
|
||||
version('4.1.0', '5a248298b395b329e2371bf25366115c')
|
||||
|
||||
parallel = False
|
||||
|
||||
depends_on("boost")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" %prefix, "--enable-shared")
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -1,104 +0,0 @@
|
||||
import os
|
||||
from spack import *
|
||||
|
||||
class Mvapich2(Package):
|
||||
"""mvapich2 is an MPI implmenetation for infiniband networks."""
|
||||
homepage = "http://mvapich.cse.ohio-state.edu/"
|
||||
|
||||
version('1.9', '5dc58ed08fd3142c260b70fe297e127c',
|
||||
url="http://mvapich.cse.ohio-state.edu/download/mvapich2/mv2/mvapich2-1.9.tgz")
|
||||
patch('ad_lustre_rwcontig_open_source.patch', when='@1.9')
|
||||
|
||||
version('2.0', '9fbb68a4111a8b6338e476dc657388b4',
|
||||
url='http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.0.tar.gz')
|
||||
|
||||
provides('mpi@:2.2', when='@1.9') # MVAPICH2-1.9 supports MPI 2.2
|
||||
provides('mpi@:3.0', when='@2.0') # MVAPICH2-2.0 supports MPI 3.0
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# we'll set different configure flags depending on our environment
|
||||
configure_args = []
|
||||
|
||||
# TODO: The MPICH*_FLAGS have a different name for 1.9
|
||||
|
||||
if '+debug' in spec:
|
||||
# set configure flags for debug build
|
||||
configure_args.append("--disable-fast")
|
||||
configure_args.append("--enable-g=dbg")
|
||||
configure_args.append("--enable-error-checking=runtime")
|
||||
configure_args.append("--enable-error-messages=all")
|
||||
configure_args.append("--enable-nmpi-as-mpi")
|
||||
|
||||
if "%gnu" in spec:
|
||||
# set variables for GNU compilers
|
||||
os.environ['MPICHLIB_CFLAGS'] = "-g -O0"
|
||||
os.environ['MPICHLIB_CXXFLAGS'] = "-g -O0"
|
||||
os.environ['MPICHLIB_FFLAGS'] = "-g -O0 -fno-second-underscore"
|
||||
os.environ['MPICHLIB_F90FLAGS'] = "-g -O0 -fno-second-underscore"
|
||||
elif "%intel" in spec:
|
||||
# set variables for Inel compilers
|
||||
os.environ['MPICHLIB_CFLAGS'] = "-g -O0"
|
||||
os.environ['MPICHLIB_CXXFLAGS'] = "-g -O0"
|
||||
os.environ['MPICHLIB_FFLAGS'] = "-g -O0"
|
||||
os.environ['MPICHLIB_F90FLAGS'] = "-g -O0"
|
||||
elif "%pgi" in spec:
|
||||
# set variables for PGI compilers
|
||||
os.environ['MPICHLIB_CFLAGS'] = "-g -O0 -fPIC"
|
||||
os.environ['MPICHLIB_CXXFLAGS'] = "-g -O0 -fPIC"
|
||||
os.environ['MPICHLIB_FFLAGS'] = "-g -O0 -fPIC"
|
||||
os.environ['MPICHLIB_F90FLAGS'] = "-g -O0 -fPIC"
|
||||
|
||||
else:
|
||||
# set configure flags for normal optimizations
|
||||
configure_args.append("--enable-fast=all")
|
||||
configure_args.append("--enable-g=dbg")
|
||||
configure_args.append("--enable-nmpi-as-mpi")
|
||||
|
||||
if "%gnu" in spec:
|
||||
# set variables for what compilers
|
||||
os.environ['MPICHLIB_CFLAGS'] = "-g -O2"
|
||||
os.environ['MPICHLIB_CXXFLAGS'] = "-g -O2"
|
||||
os.environ['MPICHLIB_FFLAGS'] = "-g -O2 -fno-second-underscore"
|
||||
os.environ['MPICHLIB_F90FLAGS'] = "-g -O2 -fno-second-underscore"
|
||||
elif "%intel" in spec:
|
||||
# set variables for Inel compilers
|
||||
os.environ['MPICHLIB_CFLAGS'] = "-g -O2"
|
||||
os.environ['MPICHLIB_CXXFLAGS'] = "-g -O2"
|
||||
os.environ['MPICHLIB_FFLAGS'] = "-g -O2"
|
||||
os.environ['MPICHLIB_F90FLAGS'] = "-g -O2"
|
||||
elif "%pgi" in spec:
|
||||
# set variables for PGI compilers
|
||||
os.environ['MPICHLIB_CFLAGS'] = "-g -O2 -fPIC"
|
||||
os.environ['MPICHLIB_CXXFLAGS'] = "-g -O2 -fPIC"
|
||||
os.environ['MPICHLIB_FFLAGS'] = "-g -O2 -fPIC"
|
||||
os.environ['MPICHLIB_F90FLAGS'] = "-g -O2 -fPIC"
|
||||
|
||||
# determine network type by variant
|
||||
if "+psm" in spec:
|
||||
# throw this flag on QLogic systems to use PSM
|
||||
configure_args.append("--with-device=ch3:psm")
|
||||
else:
|
||||
# throw this flag on IB systems
|
||||
configure_args.append("--with-device=ch3:mrail", "--with-rdma=gen2")
|
||||
|
||||
# TODO: shared-memory build
|
||||
|
||||
# TODO: CUDA
|
||||
|
||||
# TODO: other file systems like panasis
|
||||
|
||||
configure(
|
||||
"--prefix=" + prefix,
|
||||
"--enable-f77", "--enable-fc", "--enable-cxx",
|
||||
"--enable-shared", "--enable-sharedlibs=gcc",
|
||||
"--enable-debuginfo",
|
||||
"--with-pm=no", "--with-pmi=slurm",
|
||||
"--enable-romio", "--with-file-system=lustre+nfs+ufs",
|
||||
"--disable-mpe", "--without-mpe",
|
||||
"--disable-silent-rules",
|
||||
*configure_args)
|
||||
|
||||
make()
|
||||
|
||||
make("install")
|
@@ -1,33 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Ncurses(Package):
|
||||
"""The ncurses (new curses) library is a free software emulation of curses
|
||||
in System V Release 4.0, and more. It uses terminfo format, supports pads and
|
||||
color and multiple highlights and forms characters and function-key mapping,
|
||||
and has all the other SYSV-curses enhancements over BSD curses.
|
||||
"""
|
||||
|
||||
homepage = "http://invisible-island.net/ncurses/ncurses.html"
|
||||
|
||||
version('5.9', '8cb9c412e5f2d96bc6f459aa8c6282a1',
|
||||
url='http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz')
|
||||
version('6.0', 'ee13d052e1ead260d7c28071f46eefb1',
|
||||
url='http://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.0.tar.gz')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--with-shared",
|
||||
"--enable-widec",
|
||||
"--disable-pc-files",
|
||||
"--without-ada")
|
||||
make()
|
||||
make("install")
|
||||
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--with-shared",
|
||||
"--disable-widec",
|
||||
"--disable-pc-files",
|
||||
"--without-ada")
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -1,25 +0,0 @@
|
||||
diff -Nur netcdf-4.3.3/CMakeLists.txt netcdf-4.3.3.mpi/CMakeLists.txt
|
||||
--- netcdf-4.3.3/CMakeLists.txt 2015-02-12 16:44:35.000000000 -0500
|
||||
+++ netcdf-4.3.3.mpi/CMakeLists.txt 2015-10-14 16:44:41.176300658 -0400
|
||||
@@ -753,6 +753,7 @@
|
||||
SET(USE_PARALLEL OFF CACHE BOOL "")
|
||||
MESSAGE(STATUS "Cannot find HDF5 library built with parallel support. Disabling parallel build.")
|
||||
ELSE()
|
||||
+ FIND_PACKAGE(MPI REQUIRED)
|
||||
SET(USE_PARALLEL ON CACHE BOOL "")
|
||||
SET(STATUS_PARALLEL "ON")
|
||||
ENDIF()
|
||||
diff -Nur netcdf-4.3.3/liblib/CMakeLists.txt netcdf-4.3.3.mpi/liblib/CMakeLists.txt
|
||||
--- netcdf-4.3.3/liblib/CMakeLists.txt 2015-02-12 16:44:35.000000000 -0500
|
||||
+++ netcdf-4.3.3.mpi/liblib/CMakeLists.txt 2015-10-14 16:44:57.757793634 -0400
|
||||
@@ -71,6 +71,10 @@
|
||||
SET(TLL_LIBS ${TLL_LIBS} ${CURL_LIBRARY})
|
||||
ENDIF()
|
||||
|
||||
+IF(USE_PARALLEL)
|
||||
+ SET(TLL_LIBS ${TLL_LIBS} ${MPI_C_LIBRARIES})
|
||||
+ENDIF()
|
||||
+
|
||||
IF(USE_HDF4)
|
||||
SET(TLL_LIBS ${TLL_LIBS} ${HDF4_LIBRARIES})
|
||||
ENDIF()
|
@@ -1,27 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Netcdf(Package):
|
||||
"""NetCDF is a set of software libraries and self-describing, machine-independent
|
||||
data formats that support the creation, access, and sharing of array-oriented
|
||||
scientific data."""
|
||||
|
||||
homepage = "http://www.unidata.ucar.edu/software/netcdf/"
|
||||
url = "ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.3.3.tar.gz"
|
||||
|
||||
version('4.3.3', '5fbd0e108a54bd82cb5702a73f56d2ae')
|
||||
|
||||
patch('netcdf-4.3.3-mpi.patch')
|
||||
|
||||
# Dependencies:
|
||||
# >HDF5
|
||||
depends_on("hdf5")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..',
|
||||
"-DCMAKE_INSTALL_PREFIX:PATH=%s" % prefix,
|
||||
"-DENABLE_DAP:BOOL=OFF", # Disable DAP.
|
||||
"-DBUILD_SHARED_LIBS:BOOL=OFF") # Don't build shared libraries (use static libs).
|
||||
|
||||
make()
|
||||
make("install")
|
@@ -1,46 +0,0 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
|
||||
class NetlibBlas(Package):
|
||||
"""Netlib reference BLAS"""
|
||||
homepage = "http://www.netlib.org/lapack/"
|
||||
url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
|
||||
|
||||
version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf')
|
||||
|
||||
variant('fpic', default=False, description="Build with -fpic compiler option")
|
||||
|
||||
# virtual dependency
|
||||
provides('blas')
|
||||
|
||||
# Doesn't always build correctly in parallel
|
||||
parallel = False
|
||||
|
||||
def patch(self):
|
||||
os.symlink('make.inc.example', 'make.inc')
|
||||
|
||||
mf = FileFilter('make.inc')
|
||||
mf.filter('^FORTRAN.*', 'FORTRAN = f90')
|
||||
mf.filter('^LOADER.*', 'LOADER = f90')
|
||||
mf.filter('^CC =.*', 'CC = cc')
|
||||
|
||||
if '+fpic' in self.spec:
|
||||
mf.filter('^OPTS.*=.*', 'OPTS = -O2 -frecursive -fpic')
|
||||
mf.filter('^CFLAGS =.*', 'CFLAGS = -O3 -fpic')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
make('blaslib')
|
||||
|
||||
# Tests that blas builds correctly
|
||||
make('blas_testing')
|
||||
|
||||
# No install provided
|
||||
mkdirp(prefix.lib)
|
||||
install('librefblas.a', prefix.lib)
|
||||
|
||||
# Blas virtual package should provide blas.a and libblas.a
|
||||
with working_dir(prefix.lib):
|
||||
symlink('librefblas.a', 'blas.a')
|
||||
symlink('librefblas.a', 'libblas.a')
|
@@ -1,59 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class NetlibLapack(Package):
|
||||
"""
|
||||
LAPACK version 3.X is a comprehensive FORTRAN library that does
|
||||
linear algebra operations including matrix inversions, least
|
||||
squared solutions to linear sets of equations, eigenvector
|
||||
analysis, singular value decomposition, etc. It is a very
|
||||
comprehensive and reputable package that has found extensive
|
||||
use in the scientific community.
|
||||
"""
|
||||
homepage = "http://www.netlib.org/lapack/"
|
||||
url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
|
||||
|
||||
version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf')
|
||||
version('3.4.2', '61bf1a8a4469d4bdb7604f5897179478')
|
||||
version('3.4.1', '44c3869c38c8335c2b9c2a8bb276eb55')
|
||||
version('3.4.0', '02d5706ec03ba885fc246e5fa10d8c70')
|
||||
version('3.3.1', 'd0d533ec9a5b74933c2a1e84eedc58b4')
|
||||
|
||||
variant('shared', default=False, description="Build shared library version")
|
||||
|
||||
# virtual dependency
|
||||
provides('lapack')
|
||||
|
||||
# blas is a virtual dependency.
|
||||
depends_on('blas')
|
||||
|
||||
depends_on('cmake')
|
||||
|
||||
# Doesn't always build correctly in parallel
|
||||
parallel = False
|
||||
|
||||
@when('^netlib-blas')
|
||||
def get_blas_libs(self):
|
||||
blas = self.spec['netlib-blas']
|
||||
return [join_path(blas.prefix.lib, 'blas.a')]
|
||||
|
||||
|
||||
@when('^atlas')
|
||||
def get_blas_libs(self):
|
||||
blas = self.spec['atlas']
|
||||
return [join_path(blas.prefix.lib, l)
|
||||
for l in ('libf77blas.a', 'libatlas.a')]
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
blas_libs = ";".join(self.get_blas_libs())
|
||||
cmake_args = [".", '-DBLAS_LIBRARIES=' + blas_libs]
|
||||
|
||||
if '+shared' in spec:
|
||||
cmake_args.append('-DBUILD_SHARED_LIBS=ON')
|
||||
|
||||
cmake_args += std_cmake_args
|
||||
|
||||
cmake(*cmake_args)
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -1,65 +0,0 @@
|
||||
# FIXME: Add copyright statement here
|
||||
|
||||
from spack import *
|
||||
from contextlib import closing
|
||||
|
||||
class Opari2(Package):
|
||||
"""OPARI2 is a source-to-source instrumentation tool for OpenMP and
|
||||
hybrid codes. It surrounds OpenMP directives and runtime library
|
||||
calls with calls to the POMP2 measurement interface.
|
||||
OPARI2 will provide you with a new initialization method that allows
|
||||
for multi-directory and parallel builds as well as the usage of
|
||||
pre-instrumented libraries. Furthermore, an efficient way of
|
||||
tracking parent-child relationships was added. Additionally, we
|
||||
extended OPARI2 to support instrumentation of OpenMP 3.0
|
||||
tied tasks. """
|
||||
|
||||
homepage = "http://www.vi-hps.org/projects/score-p"
|
||||
url = "http://www.vi-hps.org/upload/packages/opari2/opari2-1.1.2.tar.gz"
|
||||
|
||||
version('1.1.2', '9a262c7ca05ff0ab5f7775ae96f3539e')
|
||||
|
||||
backend_user_provided = """\
|
||||
CC=cc
|
||||
CXX=c++
|
||||
F77=f77
|
||||
FC=f90
|
||||
CFLAGS=-fPIC
|
||||
CXXFLAGS=-fPIC
|
||||
"""
|
||||
frontend_user_provided = """\
|
||||
CC_FOR_BUILD=cc
|
||||
CXX_FOR_BUILD=c++
|
||||
F77_FOR_BUILD=f70
|
||||
FC_FOR_BUILD=f90
|
||||
CFLAGS_FOR_BUILD=-fPIC
|
||||
CXXFLAGS_FOR_BUILD=-fPIC
|
||||
"""
|
||||
mpi_user_provided = """\
|
||||
MPICC=mpicc
|
||||
MPICXX=mpicxx
|
||||
MPIF77=mpif77
|
||||
MPIFC=mpif90
|
||||
MPI_CFLAGS=-fPIC
|
||||
MPI_CXXFLAGS=-fPIC
|
||||
"""
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Use a custom compiler configuration, otherwise the score-p
|
||||
# build system messes with spack's compiler settings.
|
||||
# Create these three files in the build directory
|
||||
with closing(open("platform-backend-user-provided", "w")) as backend_file:
|
||||
backend_file.write(self.backend_user_provided)
|
||||
with closing(open("platform-frontend-user-provided", "w")) as frontend_file:
|
||||
frontend_file.write(self.frontend_user_provided)
|
||||
with closing(open("platform-mpi-user-provided", "w")) as mpi_file:
|
||||
mpi_file.write(self.mpi_user_provided)
|
||||
|
||||
# FIXME: Modify the configure line to suit your build system here.
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--with-custom-compilers",
|
||||
"--enable-shared")
|
||||
|
||||
# FIXME: Add logic to build and install here
|
||||
make()
|
||||
make("install")
|
@@ -1,26 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Openssl(Package):
|
||||
"""The OpenSSL Project is a collaborative effort to develop a
|
||||
robust, commercial-grade, full-featured, and Open Source
|
||||
toolkit implementing the Secure Sockets Layer (SSL v2/v3) and
|
||||
Transport Layer Security (TLS v1) protocols as well as a
|
||||
full-strength general purpose cryptography library."""
|
||||
homepage = "http://www.openssl.org"
|
||||
url = "http://www.openssl.org/source/openssl-1.0.1h.tar.gz"
|
||||
|
||||
version('1.0.1h', '8d6d684a9430d5cc98a62a5d8fbda8cf')
|
||||
|
||||
depends_on("zlib")
|
||||
parallel = False
|
||||
|
||||
def install(self, spec, prefix):
|
||||
config = Executable("./config")
|
||||
config("--prefix=%s" % prefix,
|
||||
"--openssldir=%s/etc/openssl" % prefix,
|
||||
"zlib",
|
||||
"no-krb5",
|
||||
"shared")
|
||||
|
||||
make()
|
||||
make("install")
|
@@ -1,74 +0,0 @@
|
||||
# FIXME: Add copyright
|
||||
|
||||
from spack import *
|
||||
from contextlib import closing
|
||||
import os
|
||||
|
||||
class Otf2(Package):
|
||||
"""The Open Trace Format 2 is a highly scalable, memory efficient event
|
||||
trace data format plus support library."""
|
||||
|
||||
homepage = "http://www.vi-hps.org/score-p"
|
||||
url = "http://www.vi-hps.org/upload/packages/otf2/otf2-1.4.tar.gz"
|
||||
|
||||
version('1.4', 'a23c42e936eb9209c4e08b61c3cf5092',
|
||||
url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.4.tar.gz")
|
||||
version('1.3.1', 'd0ffc4e858455ace4f596f910e68c9f2',
|
||||
url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.3.1.tar.gz")
|
||||
version('1.2.1', '8fb3e11fb7489896596ae2c7c83d7fc8',
|
||||
url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.2.1.tar.gz")
|
||||
|
||||
backend_user_provided = """\
|
||||
CC=cc
|
||||
CXX=c++
|
||||
F77=f77
|
||||
FC=f90
|
||||
CFLAGS=-fPIC
|
||||
CXXFLAGS=-fPIC
|
||||
"""
|
||||
frontend_user_provided = """\
|
||||
CC_FOR_BUILD=cc
|
||||
CXX_FOR_BUILD=c++
|
||||
F77_FOR_BUILD=f70
|
||||
FC_FOR_BUILD=f90
|
||||
CFLAGS_FOR_BUILD=-fPIC
|
||||
CXXFLAGS_FOR_BUILD=-fPIC
|
||||
"""
|
||||
mpi_user_provided = """\
|
||||
MPICC=cc
|
||||
MPICXX=c++
|
||||
MPIF77=f77
|
||||
MPIFC=f90
|
||||
MPI_CFLAGS=-fPIC
|
||||
MPI_CXXFLAGS=-fPIC
|
||||
"""
|
||||
|
||||
@when('@:1.2.1')
|
||||
def version_specific_args(self):
|
||||
return ["--with-platform=disabled", "CC=cc", "CXX=c++", "F77=f77", "F90=f90", "CFLAGS=-fPIC", "CXXFLAGS=-fPIC"]
|
||||
|
||||
@when('@1.3:')
|
||||
def version_specific_args(self):
|
||||
# TODO: figure out what scorep's build does as of otf2 1.3
|
||||
return ["--with-custom-compilers"]
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Use a custom compiler configuration, otherwise the score-p
|
||||
# build system messes with spack's compiler settings.
|
||||
# Create these three files in the build directory
|
||||
with closing(open("platform-backend-user-provided", "w")) as backend_file:
|
||||
backend_file.write(self.backend_user_provided)
|
||||
with closing(open("platform-frontend-user-provided", "w")) as frontend_file:
|
||||
frontend_file.write(self.frontend_user_provided)
|
||||
with closing(open("platform-mpi-user-provided", "w")) as mpi_file:
|
||||
mpi_file.write(self.mpi_user_provided)
|
||||
|
||||
configure_args=["--prefix=%s" % prefix,
|
||||
"--enable-shared"]
|
||||
|
||||
configure_args.extend(self.version_specific_args())
|
||||
|
||||
configure(*configure_args)
|
||||
|
||||
make()
|
||||
make("install")
|
@@ -1,35 +0,0 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class Papi(Package):
|
||||
"""PAPI provides the tool designer and application engineer with a
|
||||
consistent interface and methodology for use of the performance
|
||||
counter hardware found in most major microprocessors. PAPI
|
||||
enables software engineers to see, in near real time, the
|
||||
relation between software performance and processor events. In
|
||||
addition Component PAPI provides access to a collection of
|
||||
components that expose performance measurement opportunites
|
||||
across the hardware and software stack."""
|
||||
homepage = "http://icl.cs.utk.edu/papi/index.html"
|
||||
url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.3.0.tar.gz"
|
||||
|
||||
version('5.3.0', '367961dd0ab426e5ae367c2713924ffb')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
os.chdir("src/")
|
||||
|
||||
configure_args=["--prefix=%s" % prefix]
|
||||
|
||||
# need to force consistency in the use of compilers
|
||||
if spec.satisfies('%gcc'):
|
||||
configure_args.append('CC=gcc')
|
||||
configure_args.append('MPICH_CC=gcc')
|
||||
if spec.satisfies('%intel'):
|
||||
configure_args.append('CC=icc')
|
||||
configure_args.append('MPICH_CC=icc')
|
||||
|
||||
configure(*configure_args)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -1,26 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Parmetis(Package):
|
||||
"""ParMETIS is an MPI-based parallel library that implements a
|
||||
variety of algorithms for partitioning unstructured graphs,
|
||||
meshes, and for computing fill-reducing orderings of sparse
|
||||
matrices."""
|
||||
homepage = "http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview"
|
||||
url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz"
|
||||
|
||||
version('4.0.3', 'f69c479586bf6bb7aff6a9bc0c739628')
|
||||
|
||||
depends_on('mpi')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake(".",
|
||||
'-DGKLIB_PATH=%s/metis/GKlib' % pwd(),
|
||||
'-DMETIS_PATH=%s/metis' % pwd(),
|
||||
'-DSHARED=1',
|
||||
'-DCMAKE_C_COMPILER=mpicc',
|
||||
'-DCMAKE_CXX_COMPILER=mpicxx',
|
||||
'-DSHARED=1',
|
||||
*std_cmake_args)
|
||||
|
||||
make()
|
||||
make("install")
|
@@ -1,40 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Petsc(Package):
|
||||
"""PETSc is a suite of data structures and routines for the
|
||||
scalable (parallel) solution of scientific applications modeled by
|
||||
partial differential equations."""
|
||||
|
||||
homepage = "http://www.mcs.anl.gov/petsc/index.html"
|
||||
url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.5.3.tar.gz"
|
||||
|
||||
version('3.5.3', 'd4fd2734661e89f18ac6014b5dd1ef2f')
|
||||
version('3.5.2', 'ad170802b3b058b5deb9cd1f968e7e13')
|
||||
version('3.5.1', 'a557e029711ebf425544e117ffa44d8f')
|
||||
|
||||
depends_on("boost")
|
||||
depends_on("blas")
|
||||
depends_on("lapack")
|
||||
depends_on("hypre")
|
||||
depends_on("parmetis")
|
||||
depends_on("metis")
|
||||
depends_on("hdf5")
|
||||
depends_on("mpi")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"CC=cc",
|
||||
"CXX=c++",
|
||||
"FC=f90",
|
||||
"--with-blas-lib=%s/libblas.a" % spec['blas'].prefix.lib,
|
||||
"--with-lapack-lib=%s/liblapack.a" % spec['lapack'].prefix.lib,
|
||||
"--with-boost-dir=%s" % spec['boost'].prefix,
|
||||
"--with-hypre-dir=%s" % spec['hypre'].prefix,
|
||||
"--with-parmetis-dir=%s" % spec['parmetis'].prefix,
|
||||
"--with-metis-dir=%s" % spec['metis'].prefix,
|
||||
"--with-hdf5-dir=%s" % spec['hdf5'].prefix,
|
||||
"--with-shared-libraries=0")
|
||||
|
||||
# PETSc has its own way of doing parallel make.
|
||||
make('MAKE_NP=%s' % make_jobs, parallel=False)
|
||||
make("install")
|
@@ -1,15 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class PyLibxml2(Package):
|
||||
"""A Python wrapper around libxml2."""
|
||||
homepage = "https://xmlsoft.org/python.html"
|
||||
url = "ftp://xmlsoft.org/libxml2/python/libxml2-python-2.6.21.tar.gz"
|
||||
|
||||
version('2.6.21', '229dd2b3d110a77defeeaa73af83f7f3')
|
||||
|
||||
extends('python')
|
||||
depends_on('libxml2')
|
||||
depends_on('libxslt')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
@@ -1,28 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class PyNumpy(Package):
|
||||
"""array processing for numbers, strings, records, and objects."""
|
||||
homepage = "https://pypi.python.org/pypi/numpy"
|
||||
url = "https://pypi.python.org/packages/source/n/numpy/numpy-1.9.1.tar.gz"
|
||||
|
||||
version('1.9.1', '78842b73560ec378142665e712ae4ad9')
|
||||
version('1.9.2', 'a1ed53432dbcd256398898d35bc8e645')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-nose')
|
||||
depends_on('netlib-blas+fpic')
|
||||
depends_on('netlib-lapack+shared')
|
||||
|
||||
def patch(self):
|
||||
filter_file(
|
||||
"possible_executables = \['(gfortran|g77|ifort|efl)",
|
||||
"possible_executables = ['fc",
|
||||
"numpy/distutils/fcompiler/gnu.py",
|
||||
"numpy/distutils/fcompiler/intel.py")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with open('site.cfg', 'w') as f:
|
||||
f.write('[DEFAULT]\n')
|
||||
f.write('libraries=lapack,blas\n')
|
||||
f.write('library_dirs=%s/lib:%s/lib\n' % (spec['blas'].prefix, spec['lapack'].prefix))
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
@@ -1,18 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class PyScipy(Package):
|
||||
"""Scientific Library for Python."""
|
||||
homepage = "https://pypi.python.org/pypi/scipy"
|
||||
url = "https://pypi.python.org/packages/source/s/scipy/scipy-0.15.0.tar.gz"
|
||||
|
||||
version('0.15.0', '639112f077f0aeb6d80718dc5019dc7a')
|
||||
version('0.15.1', 'be56cd8e60591d6332aac792a5880110')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-nose')
|
||||
depends_on('py-numpy')
|
||||
depends_on('blas')
|
||||
depends_on('lapack')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
@@ -1,109 +0,0 @@
|
||||
import os
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class Qt(Package):
|
||||
"""Qt is a comprehensive cross-platform C++ application framework."""
|
||||
homepage = "http://qt.io"
|
||||
list_url = 'http://download.qt-project.org/official_releases/qt/'
|
||||
list_depth = 2
|
||||
|
||||
version('5.4.0', 'e8654e4b37dd98039ba20da7a53877e6',
|
||||
url='http://download.qt-project.org/official_releases/qt/5.4/5.4.0/single/qt-everywhere-opensource-src-5.4.0.tar.gz')
|
||||
version('5.3.2', 'febb001129927a70174467ecb508a682',
|
||||
url='http://download.qt.io/archive/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.gz')
|
||||
|
||||
version('5.2.1', 'a78408c887c04c34ce615da690e0b4c8',
|
||||
url='http://download.qt.io/archive/qt/5.2/5.2.1/single/qt-everywhere-opensource-src-5.2.1.tar.gz')
|
||||
version('4.8.6', '2edbe4d6c2eff33ef91732602f3518eb',
|
||||
url="http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz")
|
||||
|
||||
# Use system openssl for security.
|
||||
#depends_on("openssl")
|
||||
|
||||
depends_on("glib")
|
||||
depends_on("gtkplus")
|
||||
depends_on("libxml2")
|
||||
depends_on("zlib")
|
||||
depends_on("dbus")
|
||||
depends_on("libtiff")
|
||||
depends_on("libpng")
|
||||
depends_on("libmng")
|
||||
depends_on("jpeg")
|
||||
|
||||
# Webkit
|
||||
# depends_on("gperf")
|
||||
# depends_on("flex")
|
||||
# depends_on("bison")
|
||||
# depends_on("ruby")
|
||||
# depends_on("icu4c")
|
||||
|
||||
# OpenGL hardware acceleration
|
||||
depends_on("mesa")
|
||||
depends_on("libxcb")
|
||||
|
||||
|
||||
def setup_dependent_environment(self, module, spec, dep_spec):
|
||||
"""Dependencies of Qt find it using the QTDIR environment variable."""
|
||||
os.environ['QTDIR'] = self.prefix
|
||||
|
||||
|
||||
def patch(self):
|
||||
if self.spec.satisfies('@4'):
|
||||
qmake_conf = 'mkspecs/common/g++-base.conf'
|
||||
qmake_unix_conf = 'mkspecs/common/g++-unix.conf'
|
||||
elif self.spec.satisfies('@5'):
|
||||
qmake_conf = 'qtbase/mkspecs/common/g++-base.conf'
|
||||
qmake_unix_conf = 'qtbase/mkspecs/common/g++-unix.conf'
|
||||
else:
|
||||
return
|
||||
|
||||
# Fix qmake compilers in the default mkspec
|
||||
filter_file(r'^QMAKE_COMPILER *=.*$', 'QMAKE_COMPILER = cc', qmake_conf)
|
||||
filter_file(r'^QMAKE_CC *=.*$', 'QMAKE_CC = cc', qmake_conf)
|
||||
filter_file(r'^QMAKE_CXX *=.*$', 'QMAKE_CXX = c++', qmake_conf)
|
||||
filter_file(r'^QMAKE_LFLAGS_NOUNDEF *\+?=.*$', 'QMAKE_LFLAGS_NOUNDEF =', qmake_unix_conf)
|
||||
|
||||
|
||||
@property
|
||||
def common_config_args(self):
|
||||
return [
|
||||
'-prefix', self.prefix,
|
||||
'-v',
|
||||
'-opensource',
|
||||
'-opengl',
|
||||
"-release",
|
||||
'-shared',
|
||||
'-confirm-license',
|
||||
'-openssl-linked',
|
||||
'-dbus-linked',
|
||||
'-optimized-qmake',
|
||||
'-no-openvg',
|
||||
'-no-pch',
|
||||
# NIS is deprecated in more recent glibc
|
||||
"-no-nis"]
|
||||
# Don't disable all the database drivers, but should
|
||||
# really get them into spack at some point.
|
||||
|
||||
|
||||
@when('@4')
|
||||
def configure(self):
|
||||
configure('-fast',
|
||||
'-no-webkit',
|
||||
*self.common_config_args)
|
||||
|
||||
|
||||
@when('@5')
|
||||
def configure(self):
|
||||
configure('-no-eglfs',
|
||||
'-no-directfb',
|
||||
'-qt-xcb',
|
||||
# If someone wants to get a webkit build working, be my guest!
|
||||
'-skip', 'qtwebkit',
|
||||
*self.common_config_args)
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
self.configure()
|
||||
make()
|
||||
make("install")
|
@@ -1,65 +0,0 @@
|
||||
# FIXME: Add copyright
|
||||
|
||||
from spack import *
|
||||
|
||||
class Scalasca(Package):
|
||||
"""Scalasca is a software tool that supports the performance optimization
|
||||
of parallel programs by measuring and analyzing their runtime behavior.
|
||||
The analysis identifies potential performance bottlenecks - in
|
||||
particular those concerning communication and synchronization - and
|
||||
offers guidance in exploring their causes."""
|
||||
|
||||
# FIXME: add a proper url for your package's homepage here.
|
||||
homepage = "http://www.scalasca.org"
|
||||
url = "http://apps.fz-juelich.de/scalasca/releases/scalasca/2.1/dist/scalasca-2.1.tar.gz"
|
||||
|
||||
version('2.1', 'bab9c2b021e51e2ba187feec442b96e6',
|
||||
url = 'http://apps.fz-juelich.de/scalasca/releases/scalasca/2.1/dist/scalasca-2.1.tar.gz' )
|
||||
|
||||
depends_on("mpi")
|
||||
depends_on("otf2@1.4")
|
||||
depends_on("cube@4.2.3")
|
||||
|
||||
backend_user_provided = """\
|
||||
CC=cc
|
||||
CXX=c++
|
||||
F77=f77
|
||||
FC=f90
|
||||
CFLAGS=-fPIC
|
||||
CXXFLAGS=-fPIC
|
||||
"""
|
||||
frontend_user_provided = """\
|
||||
CC_FOR_BUILD=cc
|
||||
CXX_FOR_BUILD=c++
|
||||
F77_FOR_BUILD=f70
|
||||
FC_FOR_BUILD=f90
|
||||
CFLAGS_FOR_BUILD=-fPIC
|
||||
CXXFLAGS_FOR_BUILD=-fPIC
|
||||
"""
|
||||
mpi_user_provided = """\
|
||||
MPICC=mpicc
|
||||
MPICXX=mpicxx
|
||||
MPIF77=mpif77
|
||||
MPIFC=mpif90
|
||||
MPI_CFLAGS=-fPIC
|
||||
MPI_CXXFLAGS=-fPIC
|
||||
"""
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure_args = ["--prefix=%s" % prefix,
|
||||
"--with-custom-compilers",
|
||||
"--with-otf2=%s" % spec['otf2'].prefix.bin,
|
||||
"--with-cube=%s" % spec['cube'].prefix.bin,
|
||||
"--enable-shared"]
|
||||
|
||||
configure(*configure_args)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
||||
# FIXME: Modify the configure line to suit your build system here.
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
# FIXME: Add logic to build and install here
|
||||
make()
|
||||
make("install")
|
@@ -1,74 +0,0 @@
|
||||
# FIXME: Add copyright statement
|
||||
|
||||
from spack import *
|
||||
|
||||
class Scorep(Package):
|
||||
"""The Score-P measurement infrastructure is a highly scalable and
|
||||
easy-to-use tool suite for profiling, event tracing, and online
|
||||
analysis of HPC applications."""
|
||||
|
||||
# FIXME: add a proper url for your package's homepage here.
|
||||
homepage = "http://www.vi-hps.org/projects/score-p"
|
||||
url = "http://www.vi-hps.org/upload/packages/scorep/scorep-1.2.3.tar.gz"
|
||||
|
||||
version('1.3', '9db6f957b7f51fa01377a9537867a55c',
|
||||
url = 'http://www.vi-hps.org/upload/packages/scorep/scorep-1.3.tar.gz')
|
||||
|
||||
version('1.2.3', '4978084e7cbd05b94517aa8beaea0817')
|
||||
|
||||
depends_on("mpi")
|
||||
depends_on("papi")
|
||||
# depends_on("otf2@1.2:1.2.1") # only Score-P 1.2.x
|
||||
depends_on("otf2")
|
||||
depends_on("opari2")
|
||||
depends_on("cube@4.2:4.2.3")
|
||||
|
||||
backend_user_provided = """\
|
||||
CC=cc
|
||||
CXX=c++
|
||||
F77=f77
|
||||
FC=f90
|
||||
CFLAGS=-fPIC
|
||||
CXXFLAGS=-fPIC
|
||||
"""
|
||||
frontend_user_provided = """\
|
||||
CC_FOR_BUILD=cc
|
||||
CXX_FOR_BUILD=c++
|
||||
F77_FOR_BUILD=f70
|
||||
FC_FOR_BUILD=f90
|
||||
CFLAGS_FOR_BUILD=-fPIC
|
||||
CXXFLAGS_FOR_BUILD=-fPIC
|
||||
"""
|
||||
mpi_user_provided = """\
|
||||
MPICC=mpicc
|
||||
MPICXX=mpicxx
|
||||
MPIF77=mpif77
|
||||
MPIFC=mpif90
|
||||
MPI_CFLAGS=-fPIC
|
||||
MPI_CXXFLAGS=-fPIC
|
||||
"""
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Use a custom compiler configuration, otherwise the score-p
|
||||
# build system messes with spack's compiler settings.
|
||||
# Create these three files in the build directory
|
||||
with open("platform-backend-user-provided", "w") as backend_file:
|
||||
backend_file.write(self.backend_user_provided)
|
||||
with open("platform-frontend-user-provided", "w") as frontend_file:
|
||||
frontend_file.write(self.frontend_user_provided)
|
||||
with open("platform-mpi-user-provided", "w") as mpi_file:
|
||||
mpi_file.write(self.mpi_user_provided)
|
||||
|
||||
configure_args = ["--prefix=%s" % prefix,
|
||||
"--with-custom-compilers",
|
||||
"--with-otf2=%s" % spec['otf2'].prefix.bin,
|
||||
"--with-opari2=%s" % spec['opari2'].prefix.bin,
|
||||
"--with-cube=%s" % spec['cube'].prefix.bin,
|
||||
"--with-papi-header=%s" % spec['papi'].prefix.include,
|
||||
"--with-papi-lib=%s" % spec['papi'].prefix.lib,
|
||||
"--enable-shared"]
|
||||
|
||||
configure(*configure_args)
|
||||
|
||||
make()
|
||||
make("install")
|
@@ -1,40 +0,0 @@
|
||||
from spack import *
|
||||
import glob
|
||||
import os
|
||||
|
||||
class Scotch(Package):
|
||||
"""Scotch is a software package for graph and mesh/hypergraph
|
||||
partitioning, graph clustering, and sparse matrix ordering."""
|
||||
homepage = "http://www.labri.fr/perso/pelegrin/scotch/"
|
||||
url = "http://gforge.inria.fr/frs/download.php/file/34099/scotch_6.0.3.tar.gz"
|
||||
list_url = "http://gforge.inria.fr/frs/?group_id=248"
|
||||
|
||||
version('6.0.3', '10b0cc0f184de2de99859eafaca83cfc')
|
||||
|
||||
depends_on('mpi')
|
||||
|
||||
|
||||
def patch(self):
|
||||
with working_dir('src/Make.inc'):
|
||||
makefiles = glob.glob('Makefile.inc.x86-64_pc_linux2*')
|
||||
filter_file(r'^CCS\s*=.*$', 'CCS = cc', *makefiles)
|
||||
filter_file(r'^CCD\s*=.*$', 'CCD = cc', *makefiles)
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Currently support gcc and icc on x86_64 (maybe others with
|
||||
# vanilla makefile)
|
||||
makefile = 'Make.inc/Makefile.inc.x86-64_pc_linux2'
|
||||
if spec.satisfies('%icc'):
|
||||
makefile += '.icc'
|
||||
|
||||
with working_dir('src'):
|
||||
force_symlink(makefile, 'Makefile.inc')
|
||||
for app in ('scotch', 'ptscotch'):
|
||||
make(app)
|
||||
|
||||
install_tree('bin', prefix.bin)
|
||||
install_tree('lib', prefix.lib)
|
||||
install_tree('include', prefix.include)
|
||||
install_tree('man/man1', prefix.share_man1)
|
||||
|
@@ -1,19 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Silo(Package):
|
||||
"""Silo is a library for reading and writing a wide variety of scientific data to binary, disk files."""
|
||||
|
||||
homepage = "http://wci.llnl.gov/simulation/computer-codes/silo"
|
||||
url = "https://wci.llnl.gov/content/assets/docs/simulation/computer-codes/silo/silo-4.8/silo-4.8.tar.gz"
|
||||
|
||||
#version('4.9', 'a83eda4f06761a86726e918fc55e782a')
|
||||
version('4.8', 'b1cbc0e7ec435eb656dc4b53a23663c9')
|
||||
|
||||
depends_on("hdf5@:1.8.12")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--with-hdf5=%s" %spec['hdf5'].prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
@@ -1,36 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
import os
|
||||
from llnl.util.filesystem import join_path
|
||||
|
||||
class Tau(Package):
|
||||
"""A portable profiling and tracing toolkit for performance
|
||||
analysis of parallel programs written in Fortran, C, C++, UPC,
|
||||
Java, Python."""
|
||||
homepage = "http://www.cs.uoregon.edu/research/tau"
|
||||
url = "http://www.cs.uoregon.edu/research/paracomp/tau/tauprofile/dist/tau-2.23.1.tar.gz"
|
||||
|
||||
version('2.23.1', '6593b47ae1e7a838e632652f0426fe72')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# TAU isn't happy with directories that have '@' in the path. Sigh.
|
||||
change_sed_delimiter('@', ';', 'configure')
|
||||
change_sed_delimiter('@', ';', 'utils/FixMakefile')
|
||||
change_sed_delimiter('@', ';', 'utils/FixMakefile.sed.default')
|
||||
|
||||
# After that, it's relatively standard.
|
||||
configure("-prefix=%s" % prefix)
|
||||
make("install")
|
||||
|
||||
# Link arch-specific directories into prefix since there is
|
||||
# only one arch per prefix the way spack installs.
|
||||
self.link_tau_arch_dirs()
|
||||
|
||||
|
||||
def link_tau_arch_dirs(self):
|
||||
for subdir in os.listdir(self.prefix):
|
||||
for d in ('bin', 'lib'):
|
||||
src = join_path(self.prefix, subdir, d)
|
||||
dest = join_path(self.prefix, d)
|
||||
if os.path.isdir(src) and not os.path.exists(dest):
|
||||
os.symlink(join_path(subdir, d), dest)
|
@@ -1,44 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
class Thrift(Package):
|
||||
"""The Apache Thrift software framework, for scalable cross-language services
|
||||
development, combines a software stack with a code generation engine to build
|
||||
services that work efficiently and seamlessly between C++, Java, Python, PHP,
|
||||
Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml
|
||||
and Delphi and other languages."""
|
||||
|
||||
homepage = "http://thrift.apache.org"
|
||||
url = "http://apache.mirrors.ionfish.org/thrift/0.9.2/thrift-0.9.2.tar.gz"
|
||||
|
||||
version('0.9.2', '89f63cc4d0100912f4a1f8a9dee63678')
|
||||
|
||||
extends("python")
|
||||
|
||||
depends_on("autoconf")
|
||||
depends_on("automake")
|
||||
depends_on("bison")
|
||||
depends_on("boost")
|
||||
depends_on("flex")
|
||||
depends_on("jdk")
|
||||
depends_on("libtool")
|
||||
depends_on("openssl")
|
||||
depends_on("python")
|
||||
|
||||
# Compilation fails for most languages, fortunately cpp installs fine
|
||||
# All other languages (yes, including C) are omitted until someone needs them
|
||||
def install(self, spec, prefix):
|
||||
env["PY_PREFIX"] = prefix
|
||||
env["JAVA_PREFIX"] = prefix
|
||||
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--with-boost=%s" % spec['boost'].prefix,
|
||||
"--with-c=no",
|
||||
"--with-go=no",
|
||||
"--with-python=yes",
|
||||
"--with-lua=no",
|
||||
"--with-php=no",
|
||||
"--with-qt4=no",
|
||||
"--enable-tests=no")
|
||||
|
||||
make()
|
||||
make("install")
|
@@ -1,50 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
|
||||
class Trilinos(Package):
|
||||
"""
|
||||
The Trilinos Project is an effort to develop algorithms and enabling technologies within an object-oriented
|
||||
software framework for the solution of large-scale, complex multi-physics engineering and scientific problems.
|
||||
A unique design feature of Trilinos is its focus on packages.
|
||||
"""
|
||||
homepage = "https://trilinos.org/"
|
||||
url = "http://trilinos.csbsju.edu/download/files/trilinos-12.2.1-Source.tar.gz"
|
||||
|
||||
version('12.2.1', '6161926ea247863c690e927687f83be9')
|
||||
version('12.0.1', 'bd99741d047471e127b8296b2ec08017')
|
||||
version('11.14.3', '2f4f83f8333e4233c57d0f01c4b57426')
|
||||
version('11.14.2', 'a43590cf896c677890d75bfe75bc6254')
|
||||
version('11.14.1', '40febc57f76668be8b6a77b7607bb67f')
|
||||
|
||||
variant('mpi', default=True, description='Add a dependency on MPI and enables MPI dependent packages')
|
||||
|
||||
# Everything should be compiled with -fpic
|
||||
depends_on('blas')
|
||||
depends_on('lapack')
|
||||
depends_on('boost')
|
||||
depends_on('netcdf')
|
||||
depends_on('matio')
|
||||
depends_on('glm')
|
||||
depends_on('swig')
|
||||
depends_on('mpi', when='+mpi')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
options = [
|
||||
'-DTrilinos_ENABLE_ALL_PACKAGES:BOOL=ON',
|
||||
'-DTrilinos_ENABLE_TESTS:BOOL=OFF',
|
||||
'-DTrilinos_ENABLE_EXAMPLES:BOOL=OFF',
|
||||
'-DBUILD_SHARED_LIBS:BOOL=ON',
|
||||
'-DBLAS_LIBRARY_DIRS:PATH=%s' % spec['blas'].prefix,
|
||||
'-DLAPACK_LIBRARY_DIRS:PATH=%s' % spec['lapack'].prefix
|
||||
]
|
||||
if '+mpi' in spec:
|
||||
mpi_options = ['-DTPL_ENABLE_MPI:BOOL=ON']
|
||||
options.extend(mpi_options)
|
||||
|
||||
# -DCMAKE_INSTALL_PREFIX and all the likes...
|
||||
options.extend(std_cmake_args)
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..', *options)
|
||||
make()
|
||||
make('install')
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
@@ -0,0 +1,89 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
def check(condition, msg):
|
||||
"""Raise an install error if condition is False."""
|
||||
if not condition:
|
||||
raise InstallError(msg)
|
||||
|
||||
|
||||
class CmakeClient(Package):
|
||||
"""A dumy package that uses cmake."""
|
||||
homepage = 'https://www.example.com'
|
||||
url = 'https://www.example.com/cmake-client-1.0.tar.gz'
|
||||
|
||||
version('1.0', '4cb3ff35b2472aae70f542116d616e63')
|
||||
|
||||
depends_on('cmake')
|
||||
|
||||
|
||||
def setup_environment(self, spack_env, run_env):
|
||||
spack_cc # Ensure spack module-scope variable is avaiabl
|
||||
check(from_cmake == "from_cmake",
|
||||
"setup_environment couldn't read global set by cmake.")
|
||||
|
||||
check(self.spec['cmake'].link_arg == "test link arg",
|
||||
"link arg on dependency spec not readable from setup_environment.")
|
||||
|
||||
|
||||
def setup_dependent_environment(self, spack_env, run_env, dspec):
|
||||
spack_cc # Ensure spack module-scope variable is avaiable
|
||||
check(from_cmake == "from_cmake",
|
||||
"setup_dependent_environment couldn't read global set by cmake.")
|
||||
|
||||
check(self.spec['cmake'].link_arg == "test link arg",
|
||||
"link arg on dependency spec not readable from setup_dependent_environment.")
|
||||
|
||||
|
||||
def setup_dependent_package(self, module, dspec):
|
||||
spack_cc # Ensure spack module-scope variable is avaiable
|
||||
check(from_cmake == "from_cmake",
|
||||
"setup_dependent_package couldn't read global set by cmake.")
|
||||
|
||||
check(self.spec['cmake'].link_arg == "test link arg",
|
||||
"link arg on dependency spec not readable from setup_dependent_package.")
|
||||
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# check that cmake is in the global scope.
|
||||
global cmake
|
||||
check(cmake is not None, "No cmake was in environment!")
|
||||
|
||||
# check that which('cmake') returns the right one.
|
||||
cmake = which('cmake')
|
||||
check(cmake.exe[0].startswith(spec['cmake'].prefix.bin),
|
||||
"Wrong cmake was in environment: %s" % cmake)
|
||||
|
||||
check(from_cmake == "from_cmake",
|
||||
"Couldn't read global set by cmake.")
|
||||
|
||||
check(os.environ['from_cmake'] == 'from_cmake',
|
||||
"Couldn't read env var set in envieonmnt by dependency")
|
||||
|
||||
mkdirp(prefix.bin)
|
||||
touch(join_path(prefix.bin, 'dummy'))
|
69
var/spack/repos/builtin.mock/packages/cmake/package.py
Normal file
69
var/spack/repos/builtin.mock/packages/cmake/package.py
Normal file
@@ -0,0 +1,69 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
def check(condition, msg):
|
||||
"""Raise an install error if condition is False."""
|
||||
if not condition:
|
||||
raise InstallError(msg)
|
||||
|
||||
|
||||
class Cmake(Package):
|
||||
"""A dumy package for the cmake build system."""
|
||||
homepage = 'https://www.cmake.org'
|
||||
url = 'https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz'
|
||||
|
||||
version('3.4.3', '4cb3ff35b2472aae70f542116d616e63',
|
||||
url='https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz')
|
||||
|
||||
|
||||
def setup_environment(self, spack_env, run_env):
|
||||
spack_cc # Ensure spack module-scope variable is avaiable
|
||||
spack_env.set('for_install', 'for_install')
|
||||
|
||||
def setup_dependent_environment(self, spack_env, run_env, dspec):
|
||||
spack_cc # Ensure spack module-scope variable is avaiable
|
||||
spack_env.set('from_cmake', 'from_cmake')
|
||||
|
||||
|
||||
def setup_dependent_package(self, module, dspec):
|
||||
spack_cc # Ensure spack module-scope variable is avaiable
|
||||
|
||||
self.spec.from_cmake = "from_cmake"
|
||||
module.from_cmake = "from_cmake"
|
||||
|
||||
self.spec.link_arg = "test link arg"
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
mkdirp(prefix.bin)
|
||||
|
||||
check(os.environ['for_install'] == 'for_install',
|
||||
"Couldn't read env var set in compile envieonmnt")
|
||||
|
||||
cmake_exe = join_path(prefix.bin, 'cmake')
|
||||
touch(cmake_exe)
|
||||
set_executable(cmake_exe)
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
@@ -0,0 +1,34 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Externalprereq(Package):
|
||||
homepage = "http://somewhere.com"
|
||||
url = "http://somewhere.com/prereq-1.0.tar.gz"
|
||||
|
||||
version('1.4', 'f1234567890abcdef1234567890abcde')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
pass
|
@@ -0,0 +1,37 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Externaltest(Package):
|
||||
homepage = "http://somewhere.com"
|
||||
url = "http://somewhere.com/test-1.0.tar.gz"
|
||||
|
||||
version('1.0', '1234567890abcdef1234567890abcdef')
|
||||
|
||||
depends_on('stuff')
|
||||
depends_on('externaltool')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
pass
|
@@ -0,0 +1,36 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Externaltool(Package):
|
||||
homepage = "http://somewhere.com"
|
||||
url = "http://somewhere.com/tool-1.0.tar.gz"
|
||||
|
||||
version('1.0', '1234567890abcdef1234567890abcdef')
|
||||
|
||||
depends_on('externalprereq')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
pass
|
@@ -0,0 +1,37 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Externalvirtual(Package):
|
||||
homepage = "http://somewhere.com"
|
||||
url = "http://somewhere.com/stuff-1.0.tar.gz"
|
||||
|
||||
version('1.0', '1234567890abcdef1234567890abcdef')
|
||||
version('2.0', '234567890abcdef1234567890abcdef1')
|
||||
|
||||
provides('stuff')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
pass
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
39
var/spack/repos/builtin.mock/packages/hypre/package.py
Normal file
39
var/spack/repos/builtin.mock/packages/hypre/package.py
Normal file
@@ -0,0 +1,39 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2015, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Hypre(Package):
|
||||
"""Hypre is included here as an example of a package that depends on
|
||||
both LAPACK and BLAS."""
|
||||
homepage = "http://www.openblas.net"
|
||||
url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
|
||||
|
||||
version('0.2.15', 'b1190f3d3471685f17cfd1ec1d252ac9')
|
||||
|
||||
depends_on('lapack')
|
||||
depends_on('blas')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
pass
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -38,6 +38,7 @@ class Mpich(Package):
|
||||
version('3.0.2', 'foobarbaz')
|
||||
version('3.0.1', 'foobarbaz')
|
||||
version('3.0', 'foobarbaz')
|
||||
version('1.0', 'foobarbas')
|
||||
|
||||
provides('mpi@:3', when='@3:')
|
||||
provides('mpi@:1', when='@:1')
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
36
var/spack/repos/builtin.mock/packages/netlib-blas/package.py
Normal file
36
var/spack/repos/builtin.mock/packages/netlib-blas/package.py
Normal file
@@ -0,0 +1,36 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2015, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 NetlibBlas(Package):
|
||||
homepage = "http://www.netlib.org/lapack/"
|
||||
url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
|
||||
|
||||
version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf')
|
||||
|
||||
provides('blas')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
pass
|
@@ -0,0 +1,37 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2015, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 NetlibLapack(Package):
|
||||
homepage = "http://www.netlib.org/lapack/"
|
||||
url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
|
||||
|
||||
version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf')
|
||||
|
||||
provides('lapack')
|
||||
depends_on('blas')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
pass
|
@@ -0,0 +1,38 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2015, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 OpenblasWithLapack(Package):
|
||||
"""Dummy version of OpenBLAS that also provides LAPACK, for testing."""
|
||||
homepage = "http://www.openblas.net"
|
||||
url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
|
||||
|
||||
version('0.2.15', 'b1190f3d3471685f17cfd1ec1d252ac9')
|
||||
|
||||
provides('lapack')
|
||||
provides('blas')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
pass
|
37
var/spack/repos/builtin.mock/packages/openblas/package.py
Normal file
37
var/spack/repos/builtin.mock/packages/openblas/package.py
Normal file
@@ -0,0 +1,37 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2015, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Openblas(Package):
|
||||
"""OpenBLAS: An optimized BLAS library"""
|
||||
homepage = "http://www.openblas.net"
|
||||
url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
|
||||
|
||||
version('0.2.15', 'b1190f3d3471685f17cfd1ec1d252ac9')
|
||||
|
||||
provides('blas')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
pass
|
43
var/spack/repos/builtin.mock/packages/python/package.py
Normal file
43
var/spack/repos/builtin.mock/packages/python/package.py
Normal file
@@ -0,0 +1,43 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2015, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Python(Package):
|
||||
"""Dummy Python package to demonstrate preferred versions."""
|
||||
homepage = "http://www.python.org"
|
||||
url = "http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz"
|
||||
|
||||
extendable = True
|
||||
|
||||
version('3.5.1', 'be78e48cdfc1a7ad90efff146dce6cfe')
|
||||
version('3.5.0', 'a56c0c0b45d75a0ec9c6dee933c41c36')
|
||||
version('2.7.11', '6b6076ec9e93f05dd63e47eb9c15728b', preferred=True)
|
||||
version('2.7.10', 'd7547558fd673bd9d38e2108c6b42521')
|
||||
version('2.7.9', '5eebcaa0030dc4061156d3429657fb83')
|
||||
version('2.7.8', 'd4bca0159acb0b44a781292b5231936f')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
pass
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
2
var/spack/repos/builtin.mock/repo.yaml
Normal file
2
var/spack/repos/builtin.mock/repo.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
repo:
|
||||
namespace: builtin.mock
|
@@ -4,13 +4,20 @@ class Mitos(Package):
|
||||
"""Mitos is a library and a tool for collecting sampled memory
|
||||
performance data to view with MemAxes"""
|
||||
|
||||
homepage = "https://github.com/scalability-llnl/Mitos"
|
||||
url = "https://github.com/scalability-llnl/Mitos"
|
||||
homepage = "https://github.com/llnl/Mitos"
|
||||
url = "https://github.com/llnl/Mitos"
|
||||
|
||||
version('0.9.1', 'c6cb57f3cae54f5157affd97ef7ef79e', git='https://github.com/scalability-llnl/Mitos.git', tag='v0.9.1')
|
||||
version('0.9.2',
|
||||
git='https://github.com/llnl/Mitos.git',
|
||||
commit='8cb143a2e8c00353ff531a781a9ca0992b0aaa3d')
|
||||
|
||||
version('0.9.1',
|
||||
git='https://github.com/llnl/Mitos.git',
|
||||
tag='v0.9.1')
|
||||
|
||||
depends_on('dyninst@8.2.1:')
|
||||
depends_on('hwloc')
|
||||
depends_on('mpi')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('spack-build', create=True):
|
49
var/spack/repos/builtin/packages/R/package.py
Normal file
49
var/spack/repos/builtin/packages/R/package.py
Normal file
@@ -0,0 +1,49 @@
|
||||
from spack import *
|
||||
|
||||
|
||||
class R(Package):
|
||||
"""
|
||||
R is 'GNU S', a freely available language and environment for statistical computing and graphics which provides a
|
||||
wide variety of statistical and graphical techniques: linear and nonlinear modelling, statistical tests, time series
|
||||
analysis, classification, clustering, etc. Please consult the R project homepage for further information.
|
||||
"""
|
||||
homepage = "https://www.r-project.org"
|
||||
url = "http://cran.cnr.berkeley.edu/src/base/R-3/R-3.1.2.tar.gz"
|
||||
|
||||
version('3.2.3', '1ba3dac113efab69e706902810cc2970')
|
||||
version('3.2.2', '57cef5c2e210a5454da1979562a10e5b')
|
||||
version('3.2.1', 'c2aac8b40f84e08e7f8c9068de9239a3')
|
||||
version('3.2.0', '66fa17ad457d7e618191aa0f52fc402e')
|
||||
version('3.1.3', '53a85b884925aa6b5811dfc361d73fc4')
|
||||
version('3.1.2', '3af29ec06704cbd08d4ba8d69250ae74')
|
||||
|
||||
variant('external-lapack', default=False, description='Links to externally installed BLAS/LAPACK')
|
||||
|
||||
# Virtual dependencies
|
||||
depends_on('blas', when='+external-lapack')
|
||||
depends_on('lapack', when='+external-lapack')
|
||||
|
||||
# Concrete dependencies
|
||||
depends_on('readline')
|
||||
depends_on('ncurses')
|
||||
depends_on('icu')
|
||||
depends_on('glib')
|
||||
depends_on('zlib')
|
||||
depends_on('libtiff')
|
||||
depends_on('jpeg')
|
||||
depends_on('cairo')
|
||||
depends_on('pango')
|
||||
depends_on('freetype')
|
||||
depends_on('tcl')
|
||||
depends_on('tk')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
options = ['--prefix=%s' % prefix,
|
||||
'--enable-R-shlib',
|
||||
'--enable-BLAS-shlib']
|
||||
if '+external-lapack' in spec:
|
||||
options.extend(['--with-blas', '--with-lapack'])
|
||||
|
||||
configure(*options)
|
||||
make()
|
||||
make('install')
|
@@ -12,6 +12,7 @@ class Samrai(Package):
|
||||
list_url = homepage
|
||||
|
||||
version('3.9.1', '232d04d0c995f5abf20d94350befd0b2')
|
||||
version('3.8.0', 'c18fcffa706346bfa5828b36787ce5fe')
|
||||
version('3.7.3', '12d574eacadf8c9a70f1bb4cd1a69df6')
|
||||
version('3.7.2', 'f6a716f171c9fdbf3cb12f71fa6e2737')
|
||||
version('3.6.3-beta', 'ef0510bf2893042daedaca434e5ec6ce')
|
||||
@@ -24,7 +25,7 @@ class Samrai(Package):
|
||||
|
||||
depends_on("mpi")
|
||||
depends_on("zlib")
|
||||
depends_on("hdf5")
|
||||
depends_on("hdf5+mpi")
|
||||
depends_on("boost")
|
||||
|
||||
# don't build tools with gcc
|
||||
@@ -32,13 +33,10 @@ class Samrai(Package):
|
||||
|
||||
# TODO: currently hard-coded to use openmpi - be careful!
|
||||
def install(self, spec, prefix):
|
||||
mpi = next(m for m in ('openmpi', 'mpich', 'mvapich')
|
||||
if m in spec)
|
||||
|
||||
configure(
|
||||
"--prefix=%s" % prefix,
|
||||
"--with-CXX=%s" % spec[mpi].prefix.bin + "/mpic++",
|
||||
"--with-CC=%s" % spec[mpi].prefix.bin + "/mpicc",
|
||||
"--with-CXX=%s" % spec['mpi'].prefix.bin + "/mpic++",
|
||||
"--with-CC=%s" % spec['mpi'].prefix.bin + "/mpicc",
|
||||
"--with-hdf5=%s" % spec['hdf5'].prefix,
|
||||
"--with-boost=%s" % spec['boost'].prefix,
|
||||
"--with-zlib=%s" % spec['zlib'].prefix,
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -27,8 +27,8 @@
|
||||
class AdeptUtils(Package):
|
||||
"""Utility libraries for LLNL performance tools."""
|
||||
|
||||
homepage = "https://github.com/scalability-llnl/adept-utils"
|
||||
url = "https://github.com/scalability-llnl/adept-utils/archive/v1.0.tar.gz"
|
||||
homepage = "https://github.com/llnl/adept-utils"
|
||||
url = "https://github.com/llnl/adept-utils/archive/v1.0.tar.gz"
|
||||
|
||||
version('1.0.1', '731a310717adcb004d9d195130efee7d')
|
||||
version('1.0', '5c6cd9badce56c945ac8551e34804397')
|
@@ -3,12 +3,9 @@
|
||||
|
||||
class Apex(Package):
|
||||
homepage = "http://github.com/khuck/xpress-apex"
|
||||
#url = "http://github.com/khuck/xpress-apex/archive/v0.1-release-candidate.tar.gz"
|
||||
url = "http://github.com/khuck/xpress-apex"
|
||||
url = "http://github.com/khuck/xpress-apex/archive/v0.1.tar.gz"
|
||||
|
||||
#version('0.1', '6e039c224387348296739f6bf360d081')
|
||||
#version('master', branch='master', git='https://github.com/khuck/xpress-apex.git')
|
||||
version('2015-10-21', git='https://github.com/khuck/xpress-apex.git', commit='d2e66ddde689120472fc57fc546d8cd80aab745c')
|
||||
version('0.1', '8b95f0c0313da1575960d3ad69f18e75')
|
||||
|
||||
depends_on("binutils+libiberty")
|
||||
depends_on("boost@1.54:")
|
44
var/spack/repos/builtin/packages/apr-util/package.py
Normal file
44
var/spack/repos/builtin/packages/apr-util/package.py
Normal file
@@ -0,0 +1,44 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 AprUtil(Package):
|
||||
"""Apache Portable Runtime Utility"""
|
||||
homepage = 'https://apr.apache.org/'
|
||||
url = 'http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz'
|
||||
|
||||
version('1.5.4', '866825c04da827c6e5f53daff5569f42')
|
||||
|
||||
depends_on('apr')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
# configure, build, install:
|
||||
options = ['--prefix=%s' % prefix]
|
||||
options.append('--with-apr=%s' % spec['apr'].prefix)
|
||||
|
||||
configure(*options)
|
||||
make()
|
||||
make('install')
|
38
var/spack/repos/builtin/packages/apr/package.py
Normal file
38
var/spack/repos/builtin/packages/apr/package.py
Normal file
@@ -0,0 +1,38 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Apr(Package):
|
||||
"""Apache portable runtime."""
|
||||
homepage = 'https://apr.apache.org/'
|
||||
url = 'http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz'
|
||||
|
||||
version('1.5.2', '98492e965963f852ab29f9e61b2ad700')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
options = ['--prefix=%s' % prefix]
|
||||
configure(*options)
|
||||
make()
|
||||
make('install')
|
71
var/spack/repos/builtin/packages/arpack-ng/package.py
Normal file
71
var/spack/repos/builtin/packages/arpack-ng/package.py
Normal file
@@ -0,0 +1,71 @@
|
||||
from spack import *
|
||||
|
||||
|
||||
class ArpackNg(Package):
|
||||
"""
|
||||
ARPACK-NG is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.
|
||||
|
||||
Important Features:
|
||||
|
||||
* Reverse Communication Interface.
|
||||
* Single and Double Precision Real Arithmetic Versions for Symmetric,
|
||||
Non-symmetric, Standard or Generalized Problems.
|
||||
* Single and Double Precision Complex Arithmetic Versions for Standard or
|
||||
Generalized Problems.
|
||||
* Routines for Banded Matrices - Standard or Generalized Problems.
|
||||
* Routines for The Singular Value Decomposition.
|
||||
* Example driver routines that may be used as templates to implement numerous
|
||||
Shift-Invert strategies for all problem types, data types and precision.
|
||||
|
||||
This project is a joint project between Debian, Octave and Scilab in order to
|
||||
provide a common and maintained version of arpack.
|
||||
|
||||
Indeed, no single release has been published by Rice university for the last
|
||||
few years and since many software (Octave, Scilab, R, Matlab...) forked it and
|
||||
implemented their own modifications, arpack-ng aims to tackle this by providing
|
||||
a common repository and maintained versions.
|
||||
|
||||
arpack-ng is replacing arpack almost everywhere.
|
||||
"""
|
||||
homepage = 'https://github.com/opencollab/arpack-ng'
|
||||
url = 'https://github.com/opencollab/arpack-ng/archive/3.3.0.tar.gz'
|
||||
|
||||
version('3.3.0', 'ed3648a23f0a868a43ef44c97a21bad5')
|
||||
|
||||
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. This is fixed upstream
|
||||
# see https://github.com/opencollab/arpack-ng/issues/34
|
||||
patch('pdlamch10.patch', when='@3.3:')
|
||||
|
||||
depends_on('blas')
|
||||
depends_on('lapack')
|
||||
depends_on('automake')
|
||||
depends_on('autoconf')
|
||||
depends_on('libtool@2.4.2:')
|
||||
|
||||
depends_on('mpi', when='+mpi')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Apparently autotools are not bootstrapped
|
||||
# TODO: switch to use the CMake build in the next version
|
||||
# rather than bootstrapping.
|
||||
which('libtoolize')()
|
||||
bootstrap = Executable('./bootstrap')
|
||||
|
||||
options = ['--prefix=%s' % prefix]
|
||||
|
||||
if '+mpi' in spec:
|
||||
options.extend([
|
||||
'--enable-mpi',
|
||||
'F77=mpif77' #FIXME: avoid hardcoding MPI wrapper names
|
||||
])
|
||||
|
||||
if '~shared' in spec:
|
||||
options.append('--enable-shared=no')
|
||||
|
||||
bootstrap()
|
||||
configure(*options)
|
||||
make()
|
||||
make('install')
|
15
var/spack/repos/builtin/packages/arpack-ng/pdlamch10.patch
Normal file
15
var/spack/repos/builtin/packages/arpack-ng/pdlamch10.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
diff --git a/PARPACK/SRC/MPI/pdlamch10.f b/PARPACK/SRC/MPI/pdlamch10.f
|
||||
index 6571da9..2882c2e 100644
|
||||
--- a/PARPACK/SRC/MPI/pdlamch10.f
|
||||
+++ b/PARPACK/SRC/MPI/pdlamch10.f
|
||||
@@ -86,8 +86,8 @@
|
||||
TEMP = TEMP1
|
||||
END IF
|
||||
*
|
||||
- PDLAMCH = TEMP
|
||||
+ PDLAMCH10 = TEMP
|
||||
*
|
||||
-* End of PDLAMCH
|
||||
+* End of PDLAMCH10
|
||||
*
|
||||
END
|
17
var/spack/repos/builtin/packages/astyle/package.py
Normal file
17
var/spack/repos/builtin/packages/astyle/package.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class Astyle(Package):
|
||||
"""A Free, Fast, and Small Automatic Formatter for C, C++, C++/CLI, Objective-C, C#, and Java Source Code."""
|
||||
homepage = "http://astyle.sourceforge.net/"
|
||||
url = "http://downloads.sourceforge.net/project/astyle/astyle/astyle%202.04/astyle_2.04_linux.tar.gz"
|
||||
|
||||
version('2.04', '30b1193a758b0909d06e7ee8dd9627f6')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
with working_dir('src'):
|
||||
make('-f',
|
||||
join_path(self.stage.source_path,'build','clang','Makefile'),
|
||||
parallel=False)
|
||||
install(join_path(self.stage.source_path, 'src','bin','astyle'), self.prefix.bin)
|
60
var/spack/repos/builtin/packages/atlas/package.py
Normal file
60
var/spack/repos/builtin/packages/atlas/package.py
Normal file
@@ -0,0 +1,60 @@
|
||||
from spack 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.
|
||||
"""
|
||||
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)
|
||||
resource(name='lapack',
|
||||
url='http://www.netlib.org/lapack/lapack-3.5.0.tgz',
|
||||
md5='b1d3e3e425b2e44a06760ff173104bdf',
|
||||
destination='spack-resource-lapack',
|
||||
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')
|
||||
|
||||
variant('shared', default=True, description='Builds shared library')
|
||||
|
||||
provides('blas')
|
||||
provides('lapack')
|
||||
|
||||
parallel = False
|
||||
|
||||
def patch(self):
|
||||
# Disable thread check. LLNL's environment does not allow
|
||||
# disabling of CPU throttling in a way that ATLAS actually
|
||||
# understands.
|
||||
filter_file(r'^\s+if \(thrchk\) exit\(1\);', 'if (0) exit(1);',
|
||||
'CONFIG/src/config.c')
|
||||
# TODO: investigate a better way to add the check back in
|
||||
# TODO: using, say, MSRs. Or move this to a variant.
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
options = []
|
||||
if '+shared' in spec:
|
||||
options.append('--shared')
|
||||
|
||||
# Lapack resource
|
||||
lapack_stage = self.stage[1]
|
||||
lapack_tarfile = os.path.basename(lapack_stage.fetcher.url)
|
||||
lapack_tarfile_path = join_path(lapack_stage.path, lapack_tarfile)
|
||||
options.append('--with-netlib-lapack-tarfile=%s' % lapack_tarfile_path)
|
||||
|
||||
with working_dir('spack-build', create=True):
|
||||
configure = Executable('../configure')
|
||||
configure('--prefix=%s' % prefix, *options)
|
||||
make()
|
||||
make('check')
|
||||
make('ptcheck')
|
||||
make('time')
|
||||
make("install")
|
16
var/spack/repos/builtin/packages/atop/package.py
Normal file
16
var/spack/repos/builtin/packages/atop/package.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from spack import *
|
||||
|
||||
class Atop(Package):
|
||||
"""Atop is an ASCII full-screen performance monitor for Linux"""
|
||||
homepage = "http://www.atoptool.nl/index.php"
|
||||
url = "http://www.atoptool.nl/download/atop-2.2-3.tar.gz"
|
||||
|
||||
version('2.2-3', '034dc1544f2ec4e4d2c739d320dc326d')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
make()
|
||||
mkdirp(prefix.bin)
|
||||
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"))
|
@@ -6,6 +6,7 @@ class Autoconf(Package):
|
||||
url = "http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz"
|
||||
|
||||
version('2.69', '82d05e03b93e45f5a39b828dc9c6c29b')
|
||||
version('2.62', '6c1f3b3734999035d77da5024aab4fbd')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -36,8 +36,8 @@ class Automaded(Package):
|
||||
finding the process (or group of processes) that caused the hang.
|
||||
"""
|
||||
|
||||
homepage = "https://github.com/scalability-llnl/AutomaDeD"
|
||||
url = "https://github.com/scalability-llnl/AutomaDeD/archive/v1.0.tar.gz"
|
||||
homepage = "https://github.com/llnl/AutomaDeD"
|
||||
url = "https://github.com/llnl/AutomaDeD/archive/v1.0.tar.gz"
|
||||
|
||||
version('1.0', '16a3d4def2c4c77d0bc4b21de8b3ab03')
|
||||
|
@@ -5,7 +5,9 @@ class Automake(Package):
|
||||
homepage = "http://www.gnu.org/software/automake/"
|
||||
url = "http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz"
|
||||
|
||||
version('1.15', '716946a105ca228ab545fc37a70df3a3')
|
||||
version('1.14.1', 'd052a3e884631b9c7892f2efce542d75')
|
||||
version('1.11.6', '0286dc30295b62985ca51919202ecfcc')
|
||||
|
||||
depends_on('autoconf')
|
||||
|
20
var/spack/repos/builtin/packages/bash/package.py
Normal file
20
var/spack/repos/builtin/packages/bash/package.py
Normal file
@@ -0,0 +1,20 @@
|
||||
from spack import *
|
||||
|
||||
class Bash(Package):
|
||||
"""The GNU Project's Bourne Again SHell."""
|
||||
|
||||
homepage = "https://www.gnu.org/software/bash/"
|
||||
url = "ftp://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz"
|
||||
|
||||
version('4.3', '81348932d5da294953e15d4814c74dd1')
|
||||
|
||||
depends_on('readline')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix,
|
||||
'--with-curses',
|
||||
'--with-installed-readline=%s' % spec['readline'].prefix)
|
||||
|
||||
make()
|
||||
make("tests")
|
||||
make("install")
|
@@ -0,0 +1,52 @@
|
||||
--- binutils-2.24/libiberty/Makefile.in 2013-11-04 10:33:40.000000000 -0500
|
||||
+++ binutils-2.24-fixes/libiberty/Makefile.in 2014-10-17 16:22:31.413655000 -0400
|
||||
@@ -66,6 +66,7 @@
|
||||
MAKEOVERRIDES =
|
||||
|
||||
TARGETLIB = ./libiberty.a
|
||||
+TARGETLIBPIC = ./libiberty_pic.a
|
||||
TESTLIB = ./testlib.a
|
||||
|
||||
LIBOBJS = @LIBOBJS@
|
||||
@@ -355,27 +356,27 @@
|
||||
# since it will be passed the multilib flags.
|
||||
MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
|
||||
install_to_libdir: all
|
||||
- if test -n "${target_header_dir}"; then \
|
||||
- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
|
||||
- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \
|
||||
- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \
|
||||
- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \
|
||||
- case "${target_header_dir}" in \
|
||||
- /*) thd=${target_header_dir};; \
|
||||
- *) thd=${includedir}/${target_header_dir};; \
|
||||
- esac; \
|
||||
- ${mkinstalldirs} $(DESTDIR)$${thd}; \
|
||||
- for h in ${INSTALLED_HEADERS}; do \
|
||||
- ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
|
||||
- done; \
|
||||
- fi
|
||||
+ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
|
||||
+ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \
|
||||
+ $(INSTALL_DATA) pic/$(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIBPIC)n; \
|
||||
+ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \
|
||||
+ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIBPIC)n ;$(RANLIB) $(TARGETLIBPIC)n ); \
|
||||
+ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \
|
||||
+ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIBPIC)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIBPIC); \
|
||||
+ ${mkinstalldirs} $(DESTDIR)$${includedir}; \
|
||||
+ for h in ${INSTALLED_HEADERS}; do \
|
||||
+ ${INSTALL_DATA} $$h $(DESTDIR)$${includedir}; \
|
||||
+ done;
|
||||
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
|
||||
|
||||
install_to_tooldir: all
|
||||
${mkinstalldirs} $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)
|
||||
$(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n
|
||||
+ $(INSTALL_DATA) pic/$(TARGETLIB) $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIBPIC)n
|
||||
( cd $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n; $(RANLIB) $(TARGETLIB)n )
|
||||
+ ( cd $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR) ; chmod 644 $(TARGETLIBPIC)n; $(RANLIB) $(TARGETLIBPIC)n )
|
||||
mv -f $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)
|
||||
+ mv -f $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIBPIC)n $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIBPIC)
|
||||
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
|
||||
|
||||
# required-list was used when building a shared bfd/opcodes/libiberty
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user