Merge branch 'develop' into features/boost-additive-libs
This commit is contained in:
37
var/spack/repos/builtin/packages/ImageMagick/package.py
Normal file
37
var/spack/repos/builtin/packages/ImageMagick/package.py
Normal file
@@ -0,0 +1,37 @@
|
||||
from spack import *
|
||||
|
||||
class Imagemagick(Package):
|
||||
"""ImageMagick is a image processing library"""
|
||||
homepage = "http://www.imagemagic.org"
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
# ImageMagick does not keep around anything but *-10 versions, so
|
||||
# this URL may change. If you want the bleeding edge, you can
|
||||
# uncomment it and see if it works but you may need to try to
|
||||
# fetch a newer version (-6, -7, -8, -9, etc.) or you can stick
|
||||
# wtih the older, stable, archived -10 versions below.
|
||||
#
|
||||
# TODO: would be nice if spack had a way to recommend avoiding a
|
||||
# TODO: bleeding edge version, but not comment it out.
|
||||
# -------------------------------------------------------------------------
|
||||
# version('6.9.0-6', 'c1bce7396c22995b8bdb56b7797b4a1b',
|
||||
# url="http://www.imagemagick.org/download/ImageMagick-6.9.0-6.tar.bz2")
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
# *-10 versions are archived, so these versions should fetch reliably.
|
||||
# -------------------------------------------------------------------------
|
||||
version('6.8.9-10', 'aa050bf9785e571c956c111377bbf57c',
|
||||
url="http://sourceforge.net/projects/imagemagick/files/old-sources/6.x/6.8/ImageMagick-6.8.9-10.tar.gz/download")
|
||||
|
||||
depends_on('libtool')
|
||||
depends_on('jpeg')
|
||||
depends_on('libpng')
|
||||
depends_on('freetype')
|
||||
depends_on('fontconfig')
|
||||
depends_on('libtiff')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
26
var/spack/repos/builtin/packages/Mitos/package.py
Normal file
26
var/spack/repos/builtin/packages/Mitos/package.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from spack import *
|
||||
|
||||
class Mitos(Package):
|
||||
"""Mitos is a library and a tool for collecting sampled memory
|
||||
performance data to view with MemAxes"""
|
||||
|
||||
homepage = "https://github.com/llnl/Mitos"
|
||||
url = "https://github.com/llnl/Mitos"
|
||||
|
||||
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):
|
||||
cmake('..', *std_cmake_args)
|
||||
make()
|
||||
make("install")
|
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')
|
20
var/spack/repos/builtin/packages/SAMRAI/no-tool-build.patch
Normal file
20
var/spack/repos/builtin/packages/SAMRAI/no-tool-build.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
--- SAMRAI/Makefile.in 2013-05-31 11:04:32.000000000 -0700
|
||||
+++ SAMRAI/Makefile.in.notools 2014-05-30 10:31:15.135979900 -0700
|
||||
@@ -8,7 +8,7 @@
|
||||
##
|
||||
#########################################################################
|
||||
|
||||
-default: library tools
|
||||
+default: library
|
||||
|
||||
SAMRAI = @top_srcdir@
|
||||
SUBDIR = .
|
||||
@@ -135,7 +135,7 @@
|
||||
done
|
||||
$(MAKE) archive_remove_obj_names
|
||||
|
||||
-install: library tools
|
||||
+install: library
|
||||
$(INSTALL) -d -m 755 $(INSTDIR)/config
|
||||
$(INSTALL) -d -m 755 $(INSTDIR)/lib
|
||||
$(INSTALL) -d -m 755 $(INSTDIR)/bin
|
51
var/spack/repos/builtin/packages/SAMRAI/package.py
Normal file
51
var/spack/repos/builtin/packages/SAMRAI/package.py
Normal file
@@ -0,0 +1,51 @@
|
||||
from spack import *
|
||||
|
||||
class Samrai(Package):
|
||||
"""SAMRAI (Structured Adaptive Mesh Refinement Application Infrastructure)
|
||||
is an object-oriented C++ software library enables exploration of numerical,
|
||||
algorithmic, parallel computing, and software issues associated with applying
|
||||
structured adaptive mesh refinement (SAMR) technology in large-scale parallel
|
||||
application development.
|
||||
"""
|
||||
homepage = "https://computation.llnl.gov/project/SAMRAI/"
|
||||
url = "https://computation.llnl.gov/project/SAMRAI/download/SAMRAI-v3.9.1.tar.gz"
|
||||
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')
|
||||
version('3.5.2-beta', 'd072d9d681eeb9ada15ce91bea784274')
|
||||
version('3.5.0-beta', '1ad18a319fc573e12e2b1fbb6f6b0a19')
|
||||
version('3.4.1-beta', '00814cbee2cb76bf8302aff56bbb385b')
|
||||
version('3.3.3-beta', '1db3241d3e1cab913dc310d736c34388')
|
||||
version('3.3.2-beta', 'e598a085dab979498fcb6c110c4dd26c')
|
||||
version('2.4.4', '04fb048ed0efe7c531ac10c81cc5f6ac')
|
||||
|
||||
depends_on("mpi")
|
||||
depends_on("zlib")
|
||||
depends_on("hdf5+mpi")
|
||||
depends_on("boost")
|
||||
|
||||
# don't build tools with gcc
|
||||
patch('no-tool-build.patch', when='%gcc')
|
||||
|
||||
# TODO: currently hard-coded to use openmpi - be careful!
|
||||
def install(self, spec, prefix):
|
||||
configure(
|
||||
"--prefix=%s" % prefix,
|
||||
"--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,
|
||||
"--without-blas",
|
||||
"--without-lapack",
|
||||
"--with-hypre=no",
|
||||
"--with-petsc=no",
|
||||
"--enable-opt",
|
||||
"--disable-debug")
|
||||
|
||||
make()
|
||||
make("install")
|
15
var/spack/repos/builtin/packages/activeharmony/package.py
Normal file
15
var/spack/repos/builtin/packages/activeharmony/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from spack import *
|
||||
|
||||
class Activeharmony(Package):
|
||||
"""Active Harmony: a framework for auto-tuning (the automated search for values to improve the performance of a target application)."""
|
||||
homepage = "http://www.dyninst.org/harmony"
|
||||
url = "http://www.dyninst.org/sites/default/files/downloads/harmony/ah-4.5.tar.gz"
|
||||
|
||||
version('4.5', 'caee5b864716d376e2c25d739251b2a9')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
make("CFLAGS=-O3")
|
||||
make("install", 'PREFIX=%s' % prefix)
|
||||
|
||||
from spack import *
|
||||
|
42
var/spack/repos/builtin/packages/adept-utils/package.py
Normal file
42
var/spack/repos/builtin/packages/adept-utils/package.py
Normal file
@@ -0,0 +1,42 @@
|
||||
##############################################################################
|
||||
# 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 AdeptUtils(Package):
|
||||
"""Utility libraries for LLNL performance tools."""
|
||||
|
||||
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')
|
||||
|
||||
depends_on("boost")
|
||||
depends_on("mpi")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake(*std_cmake_args)
|
||||
make()
|
||||
make("install")
|
31
var/spack/repos/builtin/packages/apex/package.py
Normal file
31
var/spack/repos/builtin/packages/apex/package.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from spack import *
|
||||
from spack.util.environment import *
|
||||
|
||||
class Apex(Package):
|
||||
homepage = "http://github.com/khuck/xpress-apex"
|
||||
url = "http://github.com/khuck/xpress-apex/archive/v0.1.tar.gz"
|
||||
|
||||
version('0.1', '8b95f0c0313da1575960d3ad69f18e75')
|
||||
|
||||
depends_on("binutils+libiberty")
|
||||
depends_on("boost@1.54:")
|
||||
depends_on("cmake@2.8.12:")
|
||||
depends_on("activeharmony@4.5:")
|
||||
depends_on("ompt-openmp")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
path=get_path("PATH")
|
||||
path.remove(spec["binutils"].prefix.bin)
|
||||
path_set("PATH", path)
|
||||
with working_dir("build", create=True):
|
||||
cmake('-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||
'-DUSE_BFD=TRUE',
|
||||
'-DBFD_ROOT=%s' % spec['binutils'].prefix,
|
||||
'-DUSE_ACTIVEHARMONY=TRUE',
|
||||
'-DACTIVEHARMONY_ROOT=%s' % spec['activeharmony'].prefix,
|
||||
'-DUSE_OMPT=TRUE',
|
||||
'-DOMPT_ROOT=%s' % spec['ompt-openmp'].prefix,
|
||||
'..', *std_cmake_args)
|
||||
make()
|
||||
make("install")
|
41
var/spack/repos/builtin/packages/arpack/package.py
Normal file
41
var/spack/repos/builtin/packages/arpack/package.py
Normal file
@@ -0,0 +1,41 @@
|
||||
from spack import *
|
||||
import os
|
||||
import shutil
|
||||
|
||||
class Arpack(Package):
|
||||
"""A collection of Fortran77 subroutines designed to solve large scale
|
||||
eigenvalue problems.
|
||||
"""
|
||||
homepage = "http://www.caam.rice.edu/software/ARPACK/"
|
||||
url = "http://www.caam.rice.edu/software/ARPACK/SRC/arpack96.tar.gz"
|
||||
|
||||
version('96', 'fffaa970198b285676f4156cebc8626e')
|
||||
|
||||
depends_on('blas')
|
||||
depends_on('lapack')
|
||||
|
||||
def patch(self):
|
||||
# Filter the cray makefile to make a spack one.
|
||||
shutil.move('ARMAKES/ARmake.CRAY', 'ARmake.inc')
|
||||
makefile = FileFilter('ARmake.inc')
|
||||
|
||||
# Be sure to use Spack F77 wrapper
|
||||
makefile.filter('^FC.*', 'FC = f77')
|
||||
makefile.filter('^FFLAGS.*', 'FFLAGS = -O2 -g')
|
||||
|
||||
# Set up some variables.
|
||||
makefile.filter('^PLAT.*', 'PLAT = ')
|
||||
makefile.filter('^home.*', 'home = %s' % os.getcwd())
|
||||
makefile.filter('^BLASdir.*', 'BLASdir = %s' % self.spec['blas'].prefix)
|
||||
makefile.filter('^LAPACKdir.*', 'LAPACKdir = %s' % self.spec['lapack'].prefix)
|
||||
|
||||
# build the library in our own prefix.
|
||||
makefile.filter('^ARPACKLIB.*', 'ARPACKLIB = %s/libarpack.a' % os.getcwd())
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('SRC'):
|
||||
make('all')
|
||||
|
||||
mkdirp(prefix.lib)
|
||||
install('libarpack.a', prefix.lib)
|
18
var/spack/repos/builtin/packages/asciidoc/package.py
Normal file
18
var/spack/repos/builtin/packages/asciidoc/package.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from spack import *
|
||||
|
||||
class Asciidoc(Package):
|
||||
""" A presentable text document format for writing articles, UNIX man
|
||||
pages and other small to medium sized documents."""
|
||||
homepage = "http://asciidoc.org"
|
||||
url = "http://downloads.sourceforge.net/project/asciidoc/asciidoc/8.6.9/asciidoc-8.6.9.tar.gz"
|
||||
|
||||
version('8.6.9', 'c59018f105be8d022714b826b0be130a')
|
||||
|
||||
depends_on('libxml2')
|
||||
depends_on('libxslt')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
18
var/spack/repos/builtin/packages/atk/package.py
Normal file
18
var/spack/repos/builtin/packages/atk/package.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from spack import *
|
||||
|
||||
class Atk(Package):
|
||||
"""ATK provides the set of accessibility interfaces that are
|
||||
implemented by other toolkits and applications. Using the ATK
|
||||
interfaces, accessibility tools have full access to view and
|
||||
control running applications."""
|
||||
homepage = "https://developer.gnome.org/atk/"
|
||||
url = "http://ftp.gnome.org/pub/gnome/sources/atk/2.14/atk-2.14.0.tar.xz"
|
||||
|
||||
version('2.14.0', 'ecb7ca8469a5650581b1227d78051b8b')
|
||||
|
||||
depends_on("glib")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install")
|
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
|
||||
|
||||
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")
|
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"))
|
14
var/spack/repos/builtin/packages/autoconf/package.py
Normal file
14
var/spack/repos/builtin/packages/autoconf/package.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from spack import *
|
||||
|
||||
class Autoconf(Package):
|
||||
"""Autoconf -- system configuration part of autotools"""
|
||||
homepage = "https://www.gnu.org/software/autoconf/"
|
||||
url = "http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz"
|
||||
|
||||
version('2.69', '82d05e03b93e45f5a39b828dc9c6c29b')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
51
var/spack/repos/builtin/packages/automaded/package.py
Normal file
51
var/spack/repos/builtin/packages/automaded/package.py
Normal file
@@ -0,0 +1,51 @@
|
||||
##############################################################################
|
||||
# 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 Automaded(Package):
|
||||
"""AutomaDeD (Automata-based Debugging for Dissimilar parallel
|
||||
tasks) is a tool for automatic diagnosis of performance and
|
||||
correctness problems in MPI applications. It creates
|
||||
control-flow models of each MPI process and, when a failure
|
||||
occurs, these models are leveraged to find the origin of
|
||||
problems automatically. MPI calls are intercepted (using
|
||||
wrappers) to create the models. When an MPI application hangs,
|
||||
AutomaDeD creates a progress-dependence graph that helps
|
||||
finding the process (or group of processes) that caused the hang.
|
||||
"""
|
||||
|
||||
homepage = "https://github.com/llnl/AutomaDeD"
|
||||
url = "https://github.com/llnl/AutomaDeD/archive/v1.0.tar.gz"
|
||||
|
||||
version('1.0', '16a3d4def2c4c77d0bc4b21de8b3ab03')
|
||||
|
||||
depends_on('mpi')
|
||||
depends_on('boost')
|
||||
depends_on('callpath')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake("-DSTATE_TRACKER_WITH_CALLPATH=ON", *std_cmake_args)
|
||||
make()
|
||||
make("install")
|
16
var/spack/repos/builtin/packages/automake/package.py
Normal file
16
var/spack/repos/builtin/packages/automake/package.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from spack import *
|
||||
|
||||
class Automake(Package):
|
||||
"""Automake -- make file builder part of autotools"""
|
||||
homepage = "http://www.gnu.org/software/automake/"
|
||||
url = "http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz"
|
||||
|
||||
version('1.14.1', 'd052a3e884631b9c7892f2efce542d75')
|
||||
|
||||
depends_on('autoconf')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
17
var/spack/repos/builtin/packages/bear/package.py
Normal file
17
var/spack/repos/builtin/packages/bear/package.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from spack import *
|
||||
|
||||
class Bear(Package):
|
||||
"""Bear is a tool that generates a compilation database for clang tooling from non-cmake build systems."""
|
||||
homepage = "https://github.com/rizsotto/Bear"
|
||||
url = "https://github.com/rizsotto/Bear/archive/2.0.4.tar.gz"
|
||||
|
||||
version('2.0.4', 'fd8afb5e8e18f8737ba06f90bd77d011')
|
||||
|
||||
depends_on("cmake")
|
||||
depends_on("python")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake('.', *std_cmake_args)
|
||||
|
||||
make("all")
|
||||
make("install")
|
27
var/spack/repos/builtin/packages/bib2xhtml/package.py
Normal file
27
var/spack/repos/builtin/packages/bib2xhtml/package.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from spack import *
|
||||
from glob import glob
|
||||
|
||||
class Bib2xhtml(Package):
|
||||
"""bib2xhtml is a program that converts BibTeX files into HTML."""
|
||||
homepage = "http://www.spinellis.gr/sw/textproc/bib2xhtml/"
|
||||
url='http://www.spinellis.gr/sw/textproc/bib2xhtml/bib2xhtml-v3.0-15-gf506.tar.gz'
|
||||
|
||||
version('3.0-15-gf506', 'a26ba02fe0053bbbf2277bdf0acf8645')
|
||||
|
||||
def url_for_version(self, v):
|
||||
return ('http://www.spinellis.gr/sw/textproc/bib2xhtml/bib2xhtml-v%s.tar.gz' % v)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Add the bst include files to the install directory
|
||||
bst_include = join_path(prefix.share, 'bib2xhtml')
|
||||
mkdirp(bst_include)
|
||||
for bstfile in glob('html-*bst'):
|
||||
install(bstfile, bst_include)
|
||||
|
||||
# Install the script and point it at the user's favorite perl
|
||||
# and the bst include directory.
|
||||
mkdirp(prefix.bin)
|
||||
install('bib2xhtml', prefix.bin)
|
||||
filter_file(r'#!/usr/bin/perl',
|
||||
'#!/usr/bin/env BSTINPUTS=%s perl' % bst_include,
|
||||
join_path(prefix.bin, 'bib2xhtml'))
|
@@ -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
|
26
var/spack/repos/builtin/packages/binutils/cr16.patch
Normal file
26
var/spack/repos/builtin/packages/binutils/cr16.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
--- old/opcodes/cr16-dis.c 2014-10-14 03:32:04.000000000 -0400
|
||||
+++ new/opcodes/cr16-dis.c 2016-01-14 21:54:26.000000000 -0500
|
||||
@@ -78,7 +78,7 @@
|
||||
REG_ARG_TYPE;
|
||||
|
||||
/* Current opcode table entry we're disassembling. */
|
||||
-const inst *instruction;
|
||||
+extern const inst *instruction;
|
||||
/* Current instruction we're disassembling. */
|
||||
ins cr16_currInsn;
|
||||
/* The current instruction is read into 3 consecutive words. */
|
||||
@@ -86,12 +86,12 @@
|
||||
/* Contains all words in appropriate order. */
|
||||
ULONGLONG cr16_allWords;
|
||||
/* Holds the current processed argument number. */
|
||||
-int processing_argument_number;
|
||||
+extern int processing_argument_number;
|
||||
/* Nonzero means a IMM4 instruction. */
|
||||
int imm4flag;
|
||||
/* Nonzero means the instruction's original size is
|
||||
incremented (escape sequence is used). */
|
||||
-int size_changed;
|
||||
+extern int size_changed;
|
||||
|
||||
|
||||
/* Print the constant expression length. */
|
40
var/spack/repos/builtin/packages/binutils/package.py
Normal file
40
var/spack/repos/builtin/packages/binutils/package.py
Normal file
@@ -0,0 +1,40 @@
|
||||
from spack import *
|
||||
|
||||
class Binutils(Package):
|
||||
"""GNU binutils, which contain the linker, assembler, objdump and others"""
|
||||
homepage = "http://www.gnu.org/software/binutils/"
|
||||
|
||||
version('2.25', 'd9f3303f802a5b6b0bb73a335ab89d66',url="ftp://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.bz2")
|
||||
version('2.24', 'e0f71a7b2ddab0f8612336ac81d9636b',url="ftp://ftp.gnu.org/gnu/binutils/binutils-2.24.tar.bz2")
|
||||
version('2.23.2', '4f8fa651e35ef262edc01d60fb45702e',url="ftp://ftp.gnu.org/gnu/binutils/binutils-2.23.2.tar.bz2")
|
||||
version('2.20.1', '2b9dc8f2b7dbd5ec5992c6e29de0b764',url="ftp://ftp.gnu.org/gnu/binutils/binutils-2.20.1.tar.bz2")
|
||||
|
||||
# Add a patch that creates binutils libiberty_pic.a which is preferred by OpenSpeedShop and cbtf-krell
|
||||
variant('krellpatch', default=False, description="build with openspeedshop based patch.")
|
||||
variant('gold', default=True, description="build the gold linker")
|
||||
patch('binutilskrell-2.24.patch', when='@2.24+krellpatch')
|
||||
|
||||
patch('cr16.patch')
|
||||
|
||||
variant('libiberty', default=False, description='Also install libiberty.')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure_args = [
|
||||
'--prefix=%s' % prefix,
|
||||
'--disable-dependency-tracking',
|
||||
'--enable-interwork',
|
||||
'--enable-multilib',
|
||||
'--enable-shared',
|
||||
'--enable-64-bit-bfd',
|
||||
'--enable-targets=all',
|
||||
'--with-sysroot=/']
|
||||
|
||||
if '+gold' in spec:
|
||||
configure_args.append('--enable-gold')
|
||||
|
||||
if '+libiberty' in spec:
|
||||
configure_args.append('--enable-install-libiberty')
|
||||
|
||||
configure(*configure_args)
|
||||
make()
|
||||
make("install")
|
17
var/spack/repos/builtin/packages/bison/package.py
Normal file
17
var/spack/repos/builtin/packages/bison/package.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from spack import *
|
||||
|
||||
class Bison(Package):
|
||||
"""Bison is a general-purpose parser generator that converts
|
||||
an annotated context-free grammar into a deterministic LR or
|
||||
generalized LR (GLR) parser employing LALR(1) parser tables."""
|
||||
|
||||
homepage = "http://www.gnu.org/software/bison/"
|
||||
url = "http://ftp.gnu.org/gnu/bison/bison-3.0.tar.gz"
|
||||
|
||||
version('3.0.4', 'a586e11cd4aff49c3ff6d3b6a4c9ccf8')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
192
var/spack/repos/builtin/packages/boost/package.py
Normal file
192
var/spack/repos/builtin/packages/boost/package.py
Normal file
@@ -0,0 +1,192 @@
|
||||
from spack import *
|
||||
import spack
|
||||
|
||||
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.60.0', '65a840e1a0b13a558ff19eeb2c4f0cbe')
|
||||
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')
|
||||
|
||||
libs = ['chrono',
|
||||
'date_time',
|
||||
'filesystem',
|
||||
'iostreams',
|
||||
'random',
|
||||
'regex',
|
||||
'serialization',
|
||||
'signals',
|
||||
'system',
|
||||
'thread',
|
||||
'wave',
|
||||
'mpi',
|
||||
'python']
|
||||
|
||||
for lib in libs:
|
||||
variant(lib, default=False, description="Compile with {0} library"
|
||||
.format(lib))
|
||||
|
||||
variant('debug', default=False, description='Switch to the debug version of Boost')
|
||||
variant('shared', default=True, description="Additionally build shared libraries")
|
||||
variant('multithreaded', default=True, description="Build multi-threaded versions of libraries")
|
||||
variant('singlethreaded', default=False, description="Build single-threaded versions of libraries")
|
||||
variant('regex_icu', default=False, description="Include regex ICU support (by default false even if regex library is compiled)")
|
||||
|
||||
depends_on('icu', when='+regex_icu')
|
||||
depends_on('python', when='+python')
|
||||
depends_on('mpi', when='+mpi')
|
||||
depends_on('bzip2', when='+iostreams')
|
||||
depends_on('zlib', when='+iostreams')
|
||||
|
||||
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 determine_toolset(self, spec):
|
||||
if spec.satisfies("=darwin-x86_64"):
|
||||
return 'darwin'
|
||||
|
||||
toolsets = {'g++': 'gcc',
|
||||
'icpc': 'intel',
|
||||
'clang++': 'clang'}
|
||||
|
||||
for cc, toolset in toolsets.iteritems():
|
||||
if cc in self.compiler.cxx_names:
|
||||
return toolset
|
||||
|
||||
# fallback to gcc if no toolset found
|
||||
return 'gcc'
|
||||
|
||||
def determine_bootstrap_options(self, spec, withLibs, options):
|
||||
boostToolsetId = self.determine_toolset(spec)
|
||||
options.append('--with-toolset=%s' % boostToolsetId)
|
||||
options.append("--with-libraries=%s" % ','.join(withLibs))
|
||||
|
||||
if '+python' in spec:
|
||||
options.append('--with-python=%s' %
|
||||
join_path(spec['python'].prefix.bin, 'python'))
|
||||
|
||||
with open('user-config.jam', 'w') as f:
|
||||
compiler_wrapper = join_path(spack.build_env_path, 'c++')
|
||||
f.write("using {0} : : {1} ;\n".format(boostToolsetId,
|
||||
compiler_wrapper))
|
||||
|
||||
if '+mpi' in spec:
|
||||
f.write('using mpi : %s ;\n' %
|
||||
join_path(spec['mpi'].prefix.bin, 'mpicxx'))
|
||||
if '+python' in spec:
|
||||
f.write('using python : %s : %s ;\n' %
|
||||
(spec['python'].version,
|
||||
join_path(spec['python'].prefix.bin, 'python')))
|
||||
|
||||
def determine_b2_options(self, spec, options):
|
||||
if '+debug' in spec:
|
||||
options.append('variant=debug')
|
||||
else:
|
||||
options.append('variant=release')
|
||||
|
||||
if '+iostreams' in spec:
|
||||
options.extend([
|
||||
'-s', 'BZIP2_INCLUDE=%s' % spec['bzip2'].prefix.include,
|
||||
'-s', 'BZIP2_LIBPATH=%s' % spec['bzip2'].prefix.lib,
|
||||
'-s', 'ZLIB_INCLUDE=%s' % spec['zlib'].prefix.include,
|
||||
'-s', 'ZLIB_LIBPATH=%s' % spec['zlib'].prefix.lib,
|
||||
])
|
||||
|
||||
linkTypes = ['static']
|
||||
if '+shared' in spec:
|
||||
linkTypes.append('shared')
|
||||
|
||||
threadingOpts = []
|
||||
if '+multithreaded' in spec:
|
||||
threadingOpts.append('multi')
|
||||
if '+singlethreaded' in spec:
|
||||
threadingOpts.append('single')
|
||||
if not threadingOpts:
|
||||
raise RuntimeError("At least one of {singlethreaded, multithreaded} must be enabled")
|
||||
|
||||
options.extend([
|
||||
'toolset=%s' % self.determine_toolset(spec),
|
||||
'link=%s' % ','.join(linkTypes),
|
||||
'--layout=tagged'])
|
||||
|
||||
return threadingOpts
|
||||
|
||||
def install(self, spec, prefix):
|
||||
withLibs = list()
|
||||
for lib in Boost.libs:
|
||||
if "+{0}".format(lib) in spec:
|
||||
withLibs.append(lib)
|
||||
if not withLibs:
|
||||
# if no libraries are specified for compilation, then you dont have
|
||||
# to configure/build anything, just copy over to the prefix directory.
|
||||
src = join_path(self.stage.source_path, 'boost')
|
||||
mkdirp(join_path(prefix, 'include'))
|
||||
dst = join_path(prefix, 'include', 'boost')
|
||||
install_tree(src, dst)
|
||||
return
|
||||
|
||||
# to make Boost find the user-config.jam
|
||||
env['BOOST_BUILD_PATH'] = './'
|
||||
|
||||
bootstrap = Executable('./bootstrap.sh')
|
||||
|
||||
bootstrap_options = ['--prefix=%s' % prefix]
|
||||
self.determine_bootstrap_options(spec, withLibs, bootstrap_options)
|
||||
|
||||
bootstrap(*bootstrap_options)
|
||||
|
||||
# b2 used to be called bjam, before 1.47 (sigh)
|
||||
b2name = './b2' if spec.satisfies('@1.47:') else './bjam'
|
||||
|
||||
b2 = Executable(b2name)
|
||||
b2_options = ['-j', '%s' % make_jobs]
|
||||
|
||||
threadingOpts = self.determine_b2_options(spec, b2_options)
|
||||
|
||||
# In theory it could be done on one call but it fails on
|
||||
# Boost.MPI if the threading options are not separated.
|
||||
for threadingOpt in threadingOpts:
|
||||
b2('install', 'threading=%s' % threadingOpt, *b2_options)
|
||||
|
16
var/spack/repos/builtin/packages/bowtie2/bowtie2-2.5.patch
Normal file
16
var/spack/repos/builtin/packages/bowtie2/bowtie2-2.5.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
--- Makefile 2015-02-26 10:50:00.000000000 -0800
|
||||
+++ Makefile.new 2015-07-29 18:03:59.891357399 -0700
|
||||
@@ -22,10 +22,10 @@
|
||||
#
|
||||
|
||||
INC =
|
||||
-GCC_PREFIX = $(shell dirname `which gcc`)
|
||||
+GCC_PREFIX =
|
||||
GCC_SUFFIX =
|
||||
-CC = $(GCC_PREFIX)/gcc$(GCC_SUFFIX)
|
||||
-CPP = $(GCC_PREFIX)/g++$(GCC_SUFFIX)
|
||||
+CC = cc
|
||||
+CPP = c++
|
||||
CXX = $(CPP)
|
||||
HEADERS = $(wildcard *.h)
|
||||
BOWTIE_MM = 1
|
24
var/spack/repos/builtin/packages/bowtie2/package.py
Normal file
24
var/spack/repos/builtin/packages/bowtie2/package.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from spack import *
|
||||
from glob import glob
|
||||
class Bowtie2(Package):
|
||||
"""Description"""
|
||||
homepage = "bowtie-bio.sourceforge.net/bowtie2/index.shtml"
|
||||
version('2.2.5','51fa97a862d248d7ee660efc1147c75f', url = "http://downloads.sourceforge.net/project/bowtie-bio/bowtie2/2.2.5/bowtie2-2.2.5-source.zip")
|
||||
|
||||
patch('bowtie2-2.5.patch',when='@2.2.5', level=0)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
make()
|
||||
mkdirp(prefix.bin)
|
||||
for bow in glob("bowtie2*"):
|
||||
install(bow, prefix.bin)
|
||||
# install('bowtie2',prefix.bin)
|
||||
# install('bowtie2-align-l',prefix.bin)
|
||||
# install('bowtie2-align-s',prefix.bin)
|
||||
# install('bowtie2-build',prefix.bin)
|
||||
# install('bowtie2-build-l',prefix.bin)
|
||||
# install('bowtie2-build-s',prefix.bin)
|
||||
# install('bowtie2-inspect',prefix.bin)
|
||||
# install('bowtie2-inspect-l',prefix.bin)
|
||||
# install('bowtie2-inspect-s',prefix.bin)
|
||||
|
25
var/spack/repos/builtin/packages/boxlib/package.py
Normal file
25
var/spack/repos/builtin/packages/boxlib/package.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from spack import *
|
||||
|
||||
class Boxlib(Package):
|
||||
"""BoxLib, a software framework for massively parallel
|
||||
block-structured adaptive mesh refinement (AMR) codes."""
|
||||
|
||||
homepage = "https://ccse.lbl.gov/BoxLib/"
|
||||
url = "https://ccse.lbl.gov/pub/Downloads/BoxLib.git";
|
||||
|
||||
# TODO: figure out how best to version this. No tags in the repo!
|
||||
version('master', git='https://ccse.lbl.gov/pub/Downloads/BoxLib.git')
|
||||
|
||||
depends_on('mpi')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
args = std_cmake_args
|
||||
args += ['-DCCSE_ENABLE_MPI=1',
|
||||
'-DCMAKE_C_COMPILER=%s' % which('mpicc'),
|
||||
'-DCMAKE_CXX_COMPILER=%s' % which('mpicxx'),
|
||||
'-DCMAKE_Fortran_COMPILER=%s' % which('mpif90')]
|
||||
|
||||
cmake('.', *args)
|
||||
make()
|
||||
make("install")
|
||||
|
60
var/spack/repos/builtin/packages/bzip2/package.py
Normal file
60
var/spack/repos/builtin/packages/bzip2/package.py
Normal file
@@ -0,0 +1,60 @@
|
||||
from spack import *
|
||||
|
||||
class Bzip2(Package):
|
||||
"""bzip2 is a freely available, patent free high-quality data
|
||||
compressor. It typically compresses files to within 10% to 15%
|
||||
of the best available techniques (the PPM family of statistical
|
||||
compressors), whilst being around twice as fast at compression
|
||||
and six times faster at decompression.
|
||||
|
||||
"""
|
||||
homepage = "http://www.bzip.org"
|
||||
url = "http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz"
|
||||
|
||||
version('1.0.6', '00b516f4704d4a7cb50a1d97e6e8e15b')
|
||||
|
||||
|
||||
def patch(self):
|
||||
mf = FileFilter('Makefile-libbz2_so')
|
||||
mf.filter(r'^CC=gcc', 'CC=cc')
|
||||
|
||||
# Below stuff patches the link line to use RPATHs on Mac OS X.
|
||||
if 'darwin' in self.spec.architecture:
|
||||
v = self.spec.version
|
||||
v1, v2, v3 = (v.up_to(i) for i in (1,2,3))
|
||||
|
||||
mf.filter('$(CC) -shared -Wl,-soname -Wl,libbz2.so.{0} -o libbz2.so.{1} $(OBJS)'.format(v2, v3),
|
||||
'$(CC) -dynamiclib -Wl,-install_name -Wl,@rpath/libbz2.{0}.dylib -current_version {1} -compatibility_version {2} -o libbz2.{3}.dylib $(OBJS)'.format(v1, v2, v3, v3), string=True)
|
||||
|
||||
mf.filter('$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.{0}'.format(v3),
|
||||
'$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.{0}.dylib'.format(v3), string=True)
|
||||
mf.filter('rm -f libbz2.so.{0}'.format(v2),
|
||||
'rm -f libbz2.{0}.dylib'.format(v2), string=True)
|
||||
mf.filter('ln -s libbz2.so.{0} libbz2.so.{1}'.format(v3, v2),
|
||||
'ln -s libbz2.{0}.dylib libbz2.{1}.dylib'.format(v3, v2), string=True)
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
make('-f', 'Makefile-libbz2_so')
|
||||
make('clean')
|
||||
make("install", "PREFIX=%s" % prefix)
|
||||
|
||||
install('bzip2-shared', join_path(prefix.bin, 'bzip2'))
|
||||
|
||||
v1, v2, v3 = (self.spec.version.up_to(i) for i in (1,2,3))
|
||||
if 'darwin' in self.spec.architecture:
|
||||
lib = 'libbz2.dylib'
|
||||
lib1, lib2, lib3 = ('libbz2.{0}.dylib'.format(v) for v in (v1, v2, v3))
|
||||
else:
|
||||
lib = 'libbz2.so'
|
||||
lib1, lib2, lib3 = ('libbz2.so.{0}'.format(v) for v in (v1, v2, v3))
|
||||
|
||||
install(lib3, join_path(prefix.lib, lib3))
|
||||
with working_dir(prefix.lib):
|
||||
for l in (lib, lib1, lib2):
|
||||
symlink(lib3, l)
|
||||
|
||||
with working_dir(prefix.bin):
|
||||
force_remove('bunzip2', 'bzcat')
|
||||
symlink('bzip2', 'bunzip2')
|
||||
symlink('bzip2', 'bzcat')
|
20
var/spack/repos/builtin/packages/cairo/package.py
Normal file
20
var/spack/repos/builtin/packages/cairo/package.py
Normal file
@@ -0,0 +1,20 @@
|
||||
from spack import *
|
||||
|
||||
class Cairo(Package):
|
||||
"""Cairo is a 2D graphics library with support for multiple output devices."""
|
||||
homepage = "http://cairographics.org"
|
||||
url = "http://cairographics.org/releases/cairo-1.14.0.tar.xz"
|
||||
|
||||
version('1.14.0', 'fc3a5edeba703f906f2241b394f0cced')
|
||||
|
||||
depends_on("libpng")
|
||||
depends_on("glib")
|
||||
depends_on("pixman")
|
||||
depends_on("fontconfig@2.10.91:") # Require newer version of fontconfig.
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--disable-trace", # can cause problems with libiberty
|
||||
"--enable-tee")
|
||||
make()
|
||||
make("install")
|
47
var/spack/repos/builtin/packages/callpath/package.py
Normal file
47
var/spack/repos/builtin/packages/callpath/package.py
Normal file
@@ -0,0 +1,47 @@
|
||||
##############################################################################
|
||||
# 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 Callpath(Package):
|
||||
"""Library for representing callpaths consistently in
|
||||
distributed-memory performance tools."""
|
||||
|
||||
homepage = "https://github.com/llnl/callpath"
|
||||
url = "https://github.com/llnl/callpath/archive/v1.0.1.tar.gz"
|
||||
|
||||
version('1.0.2', 'b1994d5ee7c7db9d27586fc2dcf8f373')
|
||||
version('1.0.1', '0047983d2a52c5c335f8ba7f5bab2325')
|
||||
|
||||
depends_on("libelf")
|
||||
depends_on("libdwarf")
|
||||
depends_on("dyninst")
|
||||
depends_on("adept-utils")
|
||||
depends_on("mpi")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# TODO: offer options for the walker used.
|
||||
cmake('.', "-DCALLPATH_WALKER=dyninst", *std_cmake_args)
|
||||
make()
|
||||
make("install")
|
35
var/spack/repos/builtin/packages/cblas/package.py
Normal file
35
var/spack/repos/builtin/packages/cblas/package.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class Cblas(Package):
|
||||
"""The BLAS (Basic Linear Algebra Subprograms) are routines that
|
||||
provide standard building blocks for performing basic vector and
|
||||
matrix operations."""
|
||||
|
||||
homepage = "http://www.netlib.org/blas/_cblas/"
|
||||
|
||||
# tarball has no version, but on the date below, this MD5 was correct.
|
||||
version('2015-06-06', '1e8830f622d2112239a4a8a83b84209a',
|
||||
url='http://www.netlib.org/blas/blast-forum/cblas.tgz')
|
||||
|
||||
depends_on('blas')
|
||||
parallel = False
|
||||
|
||||
def patch(self):
|
||||
mf = FileFilter('Makefile.in')
|
||||
|
||||
mf.filter('^BLLIB =.*', 'BLLIB = %s/libblas.a' % self.spec['blas'].prefix.lib)
|
||||
mf.filter('^CC =.*', 'CC = cc')
|
||||
mf.filter('^FC =.*', 'FC = f90')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
make('all')
|
||||
mkdirp(prefix.lib)
|
||||
mkdirp(prefix.include)
|
||||
|
||||
# Rename the generated lib file to libcblas.a
|
||||
install('./lib/cblas_LINUX.a', '%s/libcblas.a' % prefix.lib)
|
||||
install('./include/cblas.h','%s' % prefix.include)
|
||||
install('./include/cblas_f77.h','%s' % prefix.include)
|
||||
|
66
var/spack/repos/builtin/packages/cbtf-argonavis/package.py
Normal file
66
var/spack/repos/builtin/packages/cbtf-argonavis/package.py
Normal file
@@ -0,0 +1,66 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2015 Krell Institute. All Rights Reserved.
|
||||
#
|
||||
# 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; either version 2 of the License, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# 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 GNU General Public License for more
|
||||
# details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
# Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
################################################################################
|
||||
|
||||
from spack import *
|
||||
|
||||
class CbtfArgonavis(Package):
|
||||
"""CBTF Argo Navis project contains the CUDA collector and supporting
|
||||
libraries that was done as a result of a DOE SBIR grant."""
|
||||
homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
|
||||
|
||||
# Mirror access template example
|
||||
#url = "file:/g/g24/jeg/cbtf-argonavis-1.5.tar.gz"
|
||||
#version('1.5', '1f7f6512f55409ed2135cfceabe26b82')
|
||||
|
||||
version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf-argonavis/cbtf-argonavis')
|
||||
|
||||
depends_on("cmake@3.0.2:")
|
||||
depends_on("papi")
|
||||
depends_on("cbtf")
|
||||
depends_on("cbtf-krell")
|
||||
depends_on("cuda")
|
||||
|
||||
parallel = False
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
# Look for package installation information in the cbtf and cbtf-krell prefixes
|
||||
cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix)
|
||||
|
||||
# FIXME, hard coded for testing purposes, we will alter when the external package feature is available
|
||||
cuda_prefix_path = "/usr/local/cudatoolkit-6.0"
|
||||
cupti_prefix_path = "/usr/local/cudatoolkit-6.0/extras/CUPTI"
|
||||
|
||||
|
||||
with working_dir('CUDA'):
|
||||
with working_dir('build', create=True):
|
||||
cmake('..',
|
||||
'-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
|
||||
'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
'-DCUDA_INSTALL_PATH=%s' % cuda_prefix_path,
|
||||
'-DCUDA_ROOT=%s' % cuda_prefix_path,
|
||||
'-DCUPTI_ROOT=%s' % cupti_prefix_path,
|
||||
'-DCUDA_DIR=%s' % cuda_prefix_path,
|
||||
'-DPAPI_ROOT=%s' % spec['papi'].prefix,
|
||||
'-DCBTF_PREFIX=%s' % spec['cbtf'].prefix,
|
||||
*std_cmake_args)
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
116
var/spack/repos/builtin/packages/cbtf-krell/package.py
Normal file
116
var/spack/repos/builtin/packages/cbtf-krell/package.py
Normal file
@@ -0,0 +1,116 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2015 Krell Institute. All Rights Reserved.
|
||||
#
|
||||
# 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; either version 2 of the License, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# 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 GNU General Public License for more
|
||||
# details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
# Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
################################################################################
|
||||
|
||||
from spack import *
|
||||
|
||||
class CbtfKrell(Package):
|
||||
"""CBTF Krell project contains the Krell Institute contributions to the CBTF project.
|
||||
These contributions include many performance data collectors and support
|
||||
libraries as well as some example tools that drive the data collection at
|
||||
HPC levels of scale."""
|
||||
homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
|
||||
|
||||
# optional mirror access template
|
||||
#url = "file:/g/g24/jeg/cbtf-krell-1.5.tar.gz"
|
||||
#version('1.5', 'b13f6df6a93c44149d977773dd776d2f')
|
||||
|
||||
version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf-krell/cbtf-krell')
|
||||
|
||||
|
||||
# Dependencies for cbtf-krell
|
||||
|
||||
# For binutils service
|
||||
depends_on("binutils@2.24+krellpatch")
|
||||
|
||||
# collectionTool
|
||||
depends_on("boost@1.50.0")
|
||||
depends_on("dyninst@8.2.1")
|
||||
depends_on("mrnet@4.1.0:+lwthreads")
|
||||
depends_on("xerces-c@3.1.1:")
|
||||
depends_on("cbtf")
|
||||
|
||||
# for services and collectors
|
||||
depends_on("libmonitor+krellpatch")
|
||||
depends_on("libunwind")
|
||||
depends_on("papi")
|
||||
|
||||
# MPI Installations
|
||||
# These have not worked either for build or execution, commenting out for now
|
||||
#depends_on("openmpi")
|
||||
#depends_on("mvapich2@2.0")
|
||||
#depends_on("mpich")
|
||||
|
||||
parallel = False
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
# Add in paths for finding package config files that tell us where to find these packages
|
||||
cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['dyninst'].prefix)
|
||||
|
||||
# FIXME - hard code path until external package support is available
|
||||
# Need to change this path and/or add additional paths for MPI experiment support on different platforms
|
||||
#openmpi_prefix_path = "/opt/openmpi-1.8.2"
|
||||
#mvapich_prefix_path = "/usr/local/tools/mvapich-gnu"
|
||||
|
||||
# Other possibilities, they will need a -DMVAPICH_DIR=, etc clause in the cmake command to be recognized
|
||||
# mvapich_prefix_path = "<mvapich install path>"
|
||||
# mvapich2_prefix_path = "<mvapich2 install path>"
|
||||
# mpich2_prefix_path = "<mpich2 install path>"
|
||||
# mpich_prefix_path = "<mpich install path>"
|
||||
# mpt_prefix_path = "<mpt install path>"
|
||||
|
||||
# Add in paths for cuda if requested via the cuda variant
|
||||
# FIXME - hard code path until external package support is available
|
||||
#if '+cuda' in spec:
|
||||
# cuda_prefix_path = "/usr/local/cuda-6.0"
|
||||
# cupti_prefix_path = "/usr/local/cuda-6.0/extras/CUPTI"
|
||||
#else:
|
||||
# cuda_prefix_path = ""
|
||||
# cupti_prefix_path = ""
|
||||
|
||||
#'-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix,
|
||||
#'-DOPENMPI_DIR=%s' % spec['openmpi'].prefix,
|
||||
#'-DMPICH_DIR=%s' % spec['mpich'].prefix,
|
||||
#'-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
|
||||
#'-DOPENMPI_DIR=%s' % openmpi_prefix_path,
|
||||
#'-DMVAPICH_DIR=%s' % mvapich_prefix_path,
|
||||
#'-DLIB_SUFFIX=64',
|
||||
#'-DCUDA_DIR=%s' % cuda_prefix_path,
|
||||
#'-DCUPTI_DIR=%s' % cupti_prefix_path,
|
||||
|
||||
# Build cbtf-krell with cmake
|
||||
with working_dir('build_cbtf_krell', create=True):
|
||||
cmake('..',
|
||||
'-DCMAKE_BUILD_TYPE=Debug',
|
||||
'-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DCBTF_DIR=%s' % spec['cbtf'].prefix,
|
||||
'-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
|
||||
'-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
|
||||
'-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
|
||||
'-DPAPI_DIR=%s' % spec['papi'].prefix,
|
||||
'-DBOOST_DIR=%s' % spec['boost'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
|
||||
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
|
||||
'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
*std_cmake_args)
|
||||
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
60
var/spack/repos/builtin/packages/cbtf-lanl/package.py
Normal file
60
var/spack/repos/builtin/packages/cbtf-lanl/package.py
Normal file
@@ -0,0 +1,60 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2015 Krell Institute. All Rights Reserved.
|
||||
#
|
||||
# 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; either version 2 of the License, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# 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 GNU General Public License for more
|
||||
# details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
# Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
################################################################################
|
||||
|
||||
from spack import *
|
||||
|
||||
class CbtfLanl(Package):
|
||||
"""CBTF LANL project contains a memory tool and data center type system command monitoring tool."""
|
||||
homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
|
||||
|
||||
|
||||
# Mirror access template example
|
||||
#url = "file:/g/g24/jeg/cbtf-lanl-1.5.tar.gz"
|
||||
#version('1.5', 'c3f78f967b0a42c6734ce4be0e602426')
|
||||
|
||||
version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf-lanl/cbtf-lanl')
|
||||
|
||||
|
||||
# Dependencies for cbtf-krell
|
||||
depends_on("boost@1.50")
|
||||
depends_on("mrnet@4.1.0:+lwthreads")
|
||||
depends_on("xerces-c@3.1.1:")
|
||||
depends_on("cbtf")
|
||||
depends_on("cbtf-krell")
|
||||
|
||||
parallel = False
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
# Add in paths for finding package config files that tell us where to find these packages
|
||||
cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix)
|
||||
|
||||
with working_dir('build', create=True):
|
||||
cmake('..',
|
||||
'-DCBTF_DIR=%s' % spec['cbtf'].prefix,
|
||||
'-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
|
||||
'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
'-DCMAKE_MODULE_PATH=%s' % join_path(prefix.share,'KrellInstitute','cmake'),
|
||||
*std_cmake_args)
|
||||
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
62
var/spack/repos/builtin/packages/cbtf/package.py
Normal file
62
var/spack/repos/builtin/packages/cbtf/package.py
Normal file
@@ -0,0 +1,62 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2015 Krell Institute. All Rights Reserved.
|
||||
#
|
||||
# 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; either version 2 of the License, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# 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 GNU General Public License for more
|
||||
# details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
# Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
################################################################################
|
||||
|
||||
from spack import *
|
||||
|
||||
class Cbtf(Package):
|
||||
"""CBTF project contains the base code for CBTF that supports creating components,
|
||||
component networks and the support to connect these components and component
|
||||
networks into sequential and distributed network tools."""
|
||||
homepage = "http://sourceforge.net/p/cbtf/wiki/Home"
|
||||
|
||||
# Mirror access template example
|
||||
#url = "file:/g/g24/jeg/cbtf-1.5.tar.gz"
|
||||
#version('1.6', '1ca88a8834759c4c74452cb97fe7b70a')
|
||||
|
||||
# Use when the git repository is available
|
||||
version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf/cbtf')
|
||||
|
||||
depends_on("cmake")
|
||||
#depends_on("boost@1.42.0:")
|
||||
depends_on("boost@1.50.0")
|
||||
depends_on("mrnet@4.1.0+lwthreads")
|
||||
depends_on("xerces-c@3.1.1:")
|
||||
depends_on("libxml2")
|
||||
|
||||
parallel = False
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('build', create=True):
|
||||
|
||||
# Boost_NO_SYSTEM_PATHS Set to TRUE to suppress searching
|
||||
# in system paths (or other locations outside of BOOST_ROOT
|
||||
# or BOOST_INCLUDEDIR). Useful when specifying BOOST_ROOT.
|
||||
# Defaults to OFF.
|
||||
|
||||
cmake('..',
|
||||
'--debug-output',
|
||||
'-DBoost_NO_SYSTEM_PATHS=TRUE',
|
||||
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
|
||||
'-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DCMAKE_MODULE_PATH=%s' % join_path(prefix.share,'KrellInstitute','cmake'),
|
||||
*std_cmake_args)
|
||||
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
33
var/spack/repos/builtin/packages/cereal/Werror.patch
Normal file
33
var/spack/repos/builtin/packages/cereal/Werror.patch
Normal file
@@ -0,0 +1,33 @@
|
||||
--- old/sandbox/CMakeLists.txt
|
||||
+++ new/sandbox/CMakeLists.txt
|
||||
@@ -4,9 +4,11 @@
|
||||
add_executable(sandbox_json sandbox_json.cpp)
|
||||
add_executable(sandbox_rtti sandbox_rtti.cpp)
|
||||
|
||||
+if(Boost_FOUND)
|
||||
add_executable(sandbox_vs sandbox_vs.cpp)
|
||||
target_link_libraries(sandbox_vs sandbox_vs_dll)
|
||||
include_directories(sandbox_shared_lib)
|
||||
+endif(Boost_FOUND)
|
||||
|
||||
if(Boost_FOUND)
|
||||
add_executable(performance performance.cpp)
|
||||
--- old/include/cereal/types/common.hpp
|
||||
+++ new/include/cereal/types/common.hpp
|
||||
@@ -106,14 +106,16 @@
|
||||
t = reinterpret_cast<typename common_detail::is_enum<T>::type const &>( value );
|
||||
}
|
||||
|
||||
+#ifndef CEREAL_ENABLE_RAW_POINTER_SERIALIZATION
|
||||
//! Serialization for raw pointers
|
||||
/*! This exists only to throw a static_assert to let users know we don't support raw pointers. */
|
||||
template <class Archive, class T> inline
|
||||
void CEREAL_SERIALIZE_FUNCTION_NAME( Archive &, T * & )
|
||||
{
|
||||
static_assert(cereal::traits::detail::delay_static_assert<T>::value,
|
||||
"Cereal does not support serializing raw pointers - please use a smart pointer");
|
||||
}
|
||||
+#endif
|
||||
|
||||
//! Serialization for C style arrays
|
||||
template <class Archive, class T> inline
|
34
var/spack/repos/builtin/packages/cereal/package.py
Normal file
34
var/spack/repos/builtin/packages/cereal/package.py
Normal file
@@ -0,0 +1,34 @@
|
||||
from spack import *
|
||||
import shutil
|
||||
|
||||
class Cereal(Package):
|
||||
"""cereal is a header-only C++11 serialization library. cereal takes arbitrary data types and reversibly turns them into different representations, such as compact binary encodings, XML, or JSON. cereal was designed to be fast, light-weight, and easy to extend - it has no external dependencies and can be easily bundled with other code or used standalone."""
|
||||
homepage = "http://uscilab.github.io/cereal/"
|
||||
url = "https://github.com/USCiLab/cereal/archive/v1.1.2.tar.gz"
|
||||
|
||||
version('1.1.2', '34d4ad174acbff005c36d4d10e48cbb9')
|
||||
version('1.1.1', '0ceff308c38f37d5b5f6df3927451c27')
|
||||
version('1.1.0', '9f2d5f72e935c54f4c6d23e954ce699f')
|
||||
version('1.0.0', 'd1bacca70a95cec0ddbff68b0871296b')
|
||||
version('0.9.1', '8872d4444ff274ce6cd1ed364d0fc0ad')
|
||||
|
||||
patch("Werror.patch")
|
||||
|
||||
depends_on("cmake @2.6.2:")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Don't use -Werror
|
||||
filter_file(r'-Werror', '', 'CMakeLists.txt')
|
||||
|
||||
# configure
|
||||
# Boost is only used for self-tests, which we are not running (yet?)
|
||||
cmake('.', '-DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE', *std_cmake_args)
|
||||
|
||||
# Build
|
||||
make()
|
||||
|
||||
# Install
|
||||
shutil.rmtree(join_path(prefix, 'doc'), ignore_errors=True)
|
||||
shutil.rmtree(join_path(prefix, 'include'), ignore_errors=True)
|
||||
shutil.copytree('doc', join_path(prefix, 'doc'), symlinks=True)
|
||||
shutil.copytree('include', join_path(prefix, 'include'), symlinks=True)
|
18
var/spack/repos/builtin/packages/cfitsio/package.py
Normal file
18
var/spack/repos/builtin/packages/cfitsio/package.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from spack import *
|
||||
|
||||
class Cfitsio(Package):
|
||||
"""
|
||||
CFITSIO is a library of C and Fortran subroutines for reading and writing
|
||||
data files in FITS (Flexible Image Transport System) data format.
|
||||
"""
|
||||
homepage = 'http://heasarc.gsfc.nasa.gov/fitsio/'
|
||||
version('3.370', 'abebd2d02ba5b0503c633581e3bfa116')
|
||||
|
||||
def url_for_version(self, v):
|
||||
url = 'ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio{0}.tar.gz'
|
||||
return url.format(str(v).replace('.', ''))
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=' + prefix)
|
||||
make()
|
||||
make('install')
|
73
var/spack/repos/builtin/packages/cgal/package.py
Normal file
73
var/spack/repos/builtin/packages/cgal/package.py
Normal file
@@ -0,0 +1,73 @@
|
||||
##############################################################################
|
||||
# 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 Cgal(Package):
|
||||
"""
|
||||
CGAL is a software project that provides easy access to efficient and reliable geometric algorithms in the form of
|
||||
a C++ library. CGAL is used in various areas needing geometric computation, such as geographic information systems,
|
||||
computer aided design, molecular biology, medical imaging, computer graphics, and robotics.
|
||||
"""
|
||||
homepage = 'http://www.cgal.org/'
|
||||
url = 'https://github.com/CGAL/cgal/archive/releases/CGAL-4.7.tar.gz'
|
||||
|
||||
version('4.7', '4826714810f3b4c65cac96b90fb03b67')
|
||||
version('4.6.3', 'e8ee2ecc8d2b09b94a121c09257b576d')
|
||||
|
||||
# Installation instructions : http://doc.cgal.org/latest/Manual/installation.html
|
||||
variant('shared', default=True, description='Enables the build of shared libraries')
|
||||
variant('debug', default=False, description='Builds a debug version of the libraries')
|
||||
|
||||
depends_on('boost')
|
||||
depends_on('mpfr')
|
||||
depends_on('gmp')
|
||||
depends_on('zlib')
|
||||
|
||||
# FIXME : Qt5 dependency missing (needs Qt5 and OpenGL)
|
||||
# FIXME : Optional third party libraries missing
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
options = []
|
||||
options.extend(std_cmake_args)
|
||||
# CGAL supports only Release and Debug build type. Any other build type will raise an error at configure time
|
||||
if '+debug' in spec:
|
||||
options.append('-DCMAKE_BUILD_TYPE:STRING=Debug')
|
||||
else:
|
||||
options.append('-DCMAKE_BUILD_TYPE:STRING=Release')
|
||||
|
||||
if '+shared' in spec:
|
||||
options.append('-DBUILD_SHARED_LIBS:BOOL=ON')
|
||||
else:
|
||||
options.append('-DBUILD_SHARED_LIBS:BOOL=OFF')
|
||||
|
||||
build_directory = join_path(self.stage.path, 'spack-build')
|
||||
source_directory = self.stage.source_path
|
||||
with working_dir(build_directory, create=True):
|
||||
cmake(source_directory, *options)
|
||||
make()
|
||||
make("install")
|
30
var/spack/repos/builtin/packages/cgm/package.py
Normal file
30
var/spack/repos/builtin/packages/cgm/package.py
Normal file
@@ -0,0 +1,30 @@
|
||||
from spack import *
|
||||
|
||||
class Cgm(Package):
|
||||
"""The Common Geometry Module, Argonne (CGMA) is a code library
|
||||
which provides geometry functionality used for mesh generation and
|
||||
other applications."""
|
||||
homepage = "http://trac.mcs.anl.gov/projects/ITAPS/wiki/CGM"
|
||||
url = "http://ftp.mcs.anl.gov/pub/fathom/cgm13.1.1.tar.gz"
|
||||
|
||||
version('13.1.1', '4e8dbc4ba8f65767b29f985f7a23b01f')
|
||||
version('13.1.0', 'a6c7b22660f164ce893fb974f9cb2028')
|
||||
version('13.1' , '95f724bda04919fc76818a5b7bc0b4ed')
|
||||
|
||||
depends_on("mpi")
|
||||
|
||||
def patch(self):
|
||||
filter_file('^(#include "CGMParallelConventions.h")',
|
||||
'//\1',
|
||||
'geom/parallel/CGMReadParallel.cpp')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--with-mpi",
|
||||
"--prefix=%s" % prefix,
|
||||
"CFLAGS=-static",
|
||||
"CXXFLAGS=-static",
|
||||
"FCFLAGS=-static")
|
||||
|
||||
make()
|
||||
make("install")
|
16
var/spack/repos/builtin/packages/cityhash/package.py
Normal file
16
var/spack/repos/builtin/packages/cityhash/package.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from spack import *
|
||||
from spack.util.environment import *
|
||||
|
||||
class Cityhash(Package):
|
||||
homepage = "https://github.com/google/cityhash"
|
||||
url = "https://github.com/google/cityhash"
|
||||
|
||||
version('2013-07-31', git='https://github.com/google/cityhash.git', commit='8af9b8c2b889d80c22d6bc26ba0df1afb79a30db')
|
||||
version('master', branch='master', git='https://github.com/google/cityhash.git')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--enable-sse4.2', '--prefix=%s' % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
23
var/spack/repos/builtin/packages/cleverleaf/package.py
Normal file
23
var/spack/repos/builtin/packages/cleverleaf/package.py
Normal file
@@ -0,0 +1,23 @@
|
||||
from spack import *
|
||||
|
||||
class Cleverleaf(Package):
|
||||
"""
|
||||
CleverLeaf is a hydrodynamics mini-app that extends CloverLeaf with Adaptive
|
||||
Mesh Refinement using the SAMRAI toolkit from Lawrence Livermore National
|
||||
Laboratory. The primary goal of CleverLeaf is to evaluate the application of
|
||||
AMR to the Lagrangian-Eulerian hydrodynamics scheme used by CloverLeaf.
|
||||
"""
|
||||
|
||||
homepage = "http://uk-mac.github.io/CleverLeaf/"
|
||||
url = "https://github.com/UK-MAC/CleverLeaf/tarball/master"
|
||||
|
||||
version('develop', git='https://github.com/UK-MAC/CleverLeaf_ref.git', branch='develop')
|
||||
|
||||
depends_on("SAMRAI@3.8.0:")
|
||||
depends_on("hdf5+mpi")
|
||||
depends_on("boost")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake(*std_cmake_args)
|
||||
make()
|
||||
make("install")
|
26
var/spack/repos/builtin/packages/cloog/package.py
Normal file
26
var/spack/repos/builtin/packages/cloog/package.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from spack import *
|
||||
|
||||
class Cloog(Package):
|
||||
"""CLooG is a free software and library to generate code for
|
||||
scanning Z-polyhedra. That is, it finds a code (e.g. in C,
|
||||
FORTRAN...) that reaches each integral point of one or more
|
||||
parameterized polyhedra."""
|
||||
|
||||
homepage = "http://www.cloog.org"
|
||||
url = "http://www.bastoul.net/cloog/pages/download/count.php3?url=./cloog-0.18.1.tar.gz"
|
||||
list_url = "http://www.bastoul.net/cloog/pages/download"
|
||||
|
||||
version('0.18.1', 'e34fca0540d840e5d0f6427e98c92252')
|
||||
version('0.18.0', 'be78a47bd82523250eb3e91646db5b3d')
|
||||
version('0.17.0', '0aa3302c81f65ca62c114e5264f8a802')
|
||||
|
||||
depends_on("gmp")
|
||||
depends_on("isl")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--with-osl=no",
|
||||
"--with-isl=%s" % spec['isl'].prefix,
|
||||
"--with-gmp=%s" % spec['gmp'].prefix)
|
||||
make()
|
||||
make("install")
|
50
var/spack/repos/builtin/packages/cmake/package.py
Normal file
50
var/spack/repos/builtin/packages/cmake/package.py
Normal file
@@ -0,0 +1,50 @@
|
||||
##############################################################################
|
||||
# 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 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.4.0', 'cd3034e0a44256a0917e254167217fc8',
|
||||
url = 'http://cmake.org/files/v3.4/cmake-3.4.0.tar.gz')
|
||||
|
||||
variant('ncurses', default=True, description='Enables the build of the ncurses gui')
|
||||
|
||||
depends_on('ncurses', when='+ncurses')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=' + prefix,
|
||||
'--parallel=' + str(make_jobs),
|
||||
'--', '-DCMAKE_USE_OPENSSL=ON')
|
||||
make()
|
||||
make('install')
|
17
var/spack/repos/builtin/packages/coreutils/package.py
Normal file
17
var/spack/repos/builtin/packages/coreutils/package.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from spack import *
|
||||
|
||||
class Coreutils(Package):
|
||||
"""The GNU Core Utilities are the basic file, shell and text
|
||||
manipulation utilities of the GNU operating system. These are
|
||||
the core utilities which are expected to exist on every
|
||||
operating system.
|
||||
"""
|
||||
homepage = "http://www.gnu.org/software/coreutils/"
|
||||
url = "http://ftp.gnu.org/gnu/coreutils/coreutils-8.23.tar.xz"
|
||||
|
||||
version('8.23', 'abed135279f87ad6762ce57ff6d89c41')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install")
|
15
var/spack/repos/builtin/packages/cppcheck/package.py
Normal file
15
var/spack/repos/builtin/packages/cppcheck/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from spack import *
|
||||
|
||||
class Cppcheck(Package):
|
||||
"""A tool for static C/C++ code analysis."""
|
||||
homepage = "http://cppcheck.sourceforge.net/"
|
||||
url = "http://downloads.sourceforge.net/project/cppcheck/cppcheck/1.68/cppcheck-1.68.tar.bz2"
|
||||
|
||||
version('1.68', 'c015195f5d61a542f350269030150708')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# cppcheck does not have a configure script
|
||||
make()
|
||||
# manually install the final cppcheck binary
|
||||
mkdirp(prefix.bin)
|
||||
install('cppcheck', prefix.bin)
|
16
var/spack/repos/builtin/packages/cram/package.py
Normal file
16
var/spack/repos/builtin/packages/cram/package.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from spack import *
|
||||
|
||||
class Cram(Package):
|
||||
"""Cram runs many small MPI jobs inside one large MPI job."""
|
||||
homepage = "https://github.com/llnl/cram"
|
||||
url = "http://github.com/llnl/cram/archive/v1.0.1.tar.gz"
|
||||
|
||||
version('1.0.1', 'c73711e945cf5dc603e44395f6647f5e')
|
||||
|
||||
extends('python')
|
||||
depends_on("mpi")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake(".", *std_cmake_args)
|
||||
make()
|
||||
make("install")
|
17
var/spack/repos/builtin/packages/cscope/package.py
Normal file
17
var/spack/repos/builtin/packages/cscope/package.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from spack import *
|
||||
|
||||
class Cscope(Package):
|
||||
"""Cscope is a developer's tool for browsing source code."""
|
||||
homepage = "http://http://cscope.sourceforge.net/"
|
||||
url = "http://downloads.sourceforge.net/project/cscope/cscope/15.8b/cscope-15.8b.tar.gz"
|
||||
|
||||
version('15.8b', '8f9409a238ee313a96f9f87fe0f3b176')
|
||||
|
||||
# Can be configured to use flex (not necessary)
|
||||
# ./configure --with-flex
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
55
var/spack/repos/builtin/packages/cube/package.py
Normal file
55
var/spack/repos/builtin/packages/cube/package.py
Normal file
@@ -0,0 +1,55 @@
|
||||
##############################################################################
|
||||
# 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 Cube(Package):
|
||||
"""
|
||||
Cube the profile viewer for Score-P and Scalasca profiles. It displays a multi-dimensional performance space
|
||||
consisting of the dimensions:
|
||||
- performance metric
|
||||
- call path
|
||||
- system resource
|
||||
"""
|
||||
|
||||
homepage = "http://www.scalasca.org/software/cube-4.x/download.html"
|
||||
url = "http://apps.fz-juelich.de/scalasca/releases/cube/4.2/dist/cube-4.2.3.tar.gz"
|
||||
|
||||
version('4.3.3', '07e109248ed8ffc7bdcce614264a2909',
|
||||
url='http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-4.3.3.tar.gz')
|
||||
|
||||
version('4.2.3', '8f95b9531f5a8f8134f279c2767c9b20',
|
||||
url="http://apps.fz-juelich.de/scalasca/releases/cube/4.2/dist/cube-4.2.3.tar.gz")
|
||||
|
||||
# TODO : add variant that builds GUI on top of Qt
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure_args = ["--prefix=%s" % prefix,
|
||||
"--without-paraver",
|
||||
"--without-gui"]
|
||||
configure(*configure_args)
|
||||
make(parallel=False)
|
||||
make("install", parallel=False)
|
25
var/spack/repos/builtin/packages/curl/package.py
Normal file
25
var/spack/repos/builtin/packages/curl/package.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from spack import *
|
||||
|
||||
class Curl(Package):
|
||||
"""cURL is an open source command line tool and library for
|
||||
transferring data with URL syntax"""
|
||||
|
||||
homepage = "http://curl.haxx.se"
|
||||
url = "http://curl.haxx.se/download/curl-7.46.0.tar.bz2"
|
||||
|
||||
version('7.46.0', '9979f989a2a9930d10f1b3deeabc2148')
|
||||
version('7.45.0', '62c1a352b28558f25ba6209214beadc8')
|
||||
version('7.44.0', '6b952ca00e5473b16a11f05f06aa8dae')
|
||||
version('7.43.0', '11bddbb452a8b766b932f859aaeeed39')
|
||||
version('7.42.1', '296945012ce647b94083ed427c1877a8')
|
||||
|
||||
depends_on("openssl")
|
||||
depends_on("zlib")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix,
|
||||
'--with-zlib=%s' % spec['zlib'].prefix,
|
||||
'--with-ssl=%s' % spec['openssl'].prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
33
var/spack/repos/builtin/packages/czmq/package.py
Normal file
33
var/spack/repos/builtin/packages/czmq/package.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class Czmq(Package):
|
||||
""" A C interface to the ZMQ library """
|
||||
homepage = "http://czmq.zeromq.org"
|
||||
url = "https://github.com/zeromq/czmq/archive/v3.0.2.tar.gz"
|
||||
|
||||
version('3.0.2', '23e9885f7ee3ce88d99d0425f52e9be1', url='https://github.com/zeromq/czmq/archive/v3.0.2.tar.gz')
|
||||
|
||||
depends_on('libtool')
|
||||
depends_on('automake')
|
||||
depends_on('autoconf')
|
||||
depends_on('pkg-config')
|
||||
depends_on('zeromq')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
bash = which("bash")
|
||||
# Work around autogen.sh oddities
|
||||
# bash("./autogen.sh")
|
||||
mkdirp("config")
|
||||
autoreconf = which("autoreconf")
|
||||
autoreconf("--install", "--verbose", "--force",
|
||||
"-I", "config",
|
||||
"-I", os.path.join(spec['pkg-config'].prefix, "share", "aclocal"),
|
||||
"-I", os.path.join(spec['automake'].prefix, "share", "aclocal"),
|
||||
"-I", os.path.join(spec['libtool'].prefix, "share", "aclocal"),
|
||||
)
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
14
var/spack/repos/builtin/packages/damselfly/package.py
Normal file
14
var/spack/repos/builtin/packages/damselfly/package.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from spack import *
|
||||
|
||||
class Damselfly(Package):
|
||||
"""Damselfly is a model-based parallel network simulator."""
|
||||
homepage = "https://github.com/llnl/damselfly"
|
||||
url = "https://github.com/llnl/damselfly"
|
||||
|
||||
version('1.0', '05cf7e2d8ece4408c0f2abb7ab63fd74c0d62895', git='https://github.com/llnl/damselfly.git', tag='v1.0')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('-DCMAKE_BUILD_TYPE=release', '..', *std_cmake_args)
|
||||
make()
|
||||
make('install')
|
32
var/spack/repos/builtin/packages/dbus/package.py
Normal file
32
var/spack/repos/builtin/packages/dbus/package.py
Normal file
@@ -0,0 +1,32 @@
|
||||
from spack import *
|
||||
|
||||
class Dbus(Package):
|
||||
"""D-Bus is a message bus system, a simple way for applications to
|
||||
talk to one another. D-Bus supplies both a system daemon (for
|
||||
events such new hardware device printer queue ) and a
|
||||
per-user-login-session daemon (for general IPC needs among user
|
||||
applications). Also, the message bus is built on top of a
|
||||
general one-to-one message passing framework, which can be used
|
||||
by any two applications to communicate directly (without going
|
||||
through the message bus daemon)."""
|
||||
|
||||
homepage = "http://dbus.freedesktop.org/"
|
||||
url = "http://dbus.freedesktop.org/releases/dbus/dbus-1.8.8.tar.gz"
|
||||
|
||||
version('1.9.0', 'ec6895a4d5c0637b01f0d0e7689e2b36')
|
||||
version('1.8.8', 'b9f4a18ee3faa1e07c04aa1d83239c43')
|
||||
version('1.8.6', '6a08ba555d340e9dfe2d623b83c0eea8')
|
||||
version('1.8.4', '4717cb8ab5b80978fcadf2b4f2f72e1b')
|
||||
version('1.8.2', 'd6f709bbec0a022a1847c7caec9d6068')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure(
|
||||
"--prefix=%s" % prefix,
|
||||
"--disable-systemd",
|
||||
"--disable-launchd")
|
||||
make()
|
||||
make("install")
|
||||
|
||||
# dbus needs a machine id generated after install
|
||||
dbus_uuidgen = Executable(join_path(prefix.bin, 'dbus-uuidgen'))
|
||||
dbus_uuidgen('--ensure')
|
19
var/spack/repos/builtin/packages/docbook-xml/package.py
Normal file
19
var/spack/repos/builtin/packages/docbook-xml/package.py
Normal file
@@ -0,0 +1,19 @@
|
||||
import os
|
||||
import glob
|
||||
from spack import *
|
||||
|
||||
|
||||
class DocbookXml(Package):
|
||||
"""Docbook DTD XML files."""
|
||||
homepage = "http://www.oasis-open.org/docbook"
|
||||
url = "http://www.oasis-open.org/docbook/xml/4.5/docbook-xml-4.5.zip"
|
||||
|
||||
version('4.5', '03083e288e87a7e829e437358da7ef9e')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cp = which('cp')
|
||||
|
||||
install_args = ['-a', '-t', prefix]
|
||||
install_args.extend(glob.glob('*'))
|
||||
|
||||
cp(*install_args)
|
25
var/spack/repos/builtin/packages/doxygen/package.py
Normal file
25
var/spack/repos/builtin/packages/doxygen/package.py
Normal file
@@ -0,0 +1,25 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# Author: Justin Too <justin@doubleotoo.com>
|
||||
# Date: September 11, 2015
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
from spack import *
|
||||
|
||||
class Doxygen(Package):
|
||||
"""Doxygen is the de facto standard tool for generating documentation
|
||||
from annotated C++ sources, but it also supports other popular programming
|
||||
languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba,
|
||||
Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl, and to some extent D..
|
||||
"""
|
||||
homepage = "http://www.stack.nl/~dimitri/doxygen/"
|
||||
url = "http://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.10.src.tar.gz"
|
||||
|
||||
version('1.8.10', '79767ccd986f12a0f949015efb5f058f')
|
||||
|
||||
depends_on("cmake@2.8.12:")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake('.', *std_cmake_args)
|
||||
|
||||
make()
|
||||
make("install")
|
14
var/spack/repos/builtin/packages/dri2proto/package.py
Normal file
14
var/spack/repos/builtin/packages/dri2proto/package.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from spack import *
|
||||
|
||||
class Dri2proto(Package):
|
||||
"""DRI2 Protocol Headers."""
|
||||
homepage = "http://http://cgit.freedesktop.org/xorg/proto/dri2proto/"
|
||||
url = "http://xorg.freedesktop.org/releases/individual/proto/dri2proto-2.8.tar.gz"
|
||||
|
||||
version('2.8', '19ea18f63d8ae8053c9fa84b60365b77')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
20
var/spack/repos/builtin/packages/dtcmp/package.py
Normal file
20
var/spack/repos/builtin/packages/dtcmp/package.py
Normal file
@@ -0,0 +1,20 @@
|
||||
import os
|
||||
from spack import *
|
||||
|
||||
class Dtcmp(Package):
|
||||
"""The Datatype Comparison Library provides comparison operations and
|
||||
parallel sort algorithms for MPI applications."""
|
||||
|
||||
homepage = "https://github.com/hpc/dtcmp"
|
||||
url = "https://github.com/hpc/dtcmp/releases/download/v1.0.3/dtcmp-1.0.3.tar.gz"
|
||||
|
||||
version('1.0.3', 'cdd8ccf71e8ff67de2558594a7fcd317')
|
||||
|
||||
depends_on('mpi')
|
||||
depends_on('lwgrp')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=" + prefix,
|
||||
"--with-lwgrp=" + spec['lwgrp'].prefix)
|
||||
make()
|
||||
make("install")
|
69
var/spack/repos/builtin/packages/dyninst/package.py
Normal file
69
var/spack/repos/builtin/packages/dyninst/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 *
|
||||
|
||||
class Dyninst(Package):
|
||||
"""API for dynamic binary instrumentation. Modify programs while they
|
||||
are executing without recompiling, re-linking, or re-executing."""
|
||||
homepage = "https://paradyn.org"
|
||||
url = "http://www.dyninst.org/sites/default/files/downloads/dyninst/8.1.2/DyninstAPI-8.1.2.tgz"
|
||||
list_url = "http://www.dyninst.org/downloads/dyninst-8.x"
|
||||
|
||||
version('8.2.1', 'abf60b7faabe7a2e4b54395757be39c7',
|
||||
url="http://www.paradyn.org/release8.2/DyninstAPI-8.2.1.tgz")
|
||||
version('8.1.2', 'bf03b33375afa66fe0efa46ce3f4b17a',
|
||||
url="http://www.paradyn.org/release8.1.2/DyninstAPI-8.1.2.tgz")
|
||||
version('8.1.1', 'd1a04e995b7aa70960cd1d1fac8bd6ac',
|
||||
url="http://www.paradyn.org/release8.1/DyninstAPI-8.1.1.tgz")
|
||||
|
||||
depends_on("libelf")
|
||||
depends_on("libdwarf")
|
||||
depends_on("boost@1.42:")
|
||||
|
||||
# new version uses cmake
|
||||
def install(self, spec, prefix):
|
||||
libelf = spec['libelf'].prefix
|
||||
libdwarf = spec['libdwarf'].prefix
|
||||
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..',
|
||||
'-DBoost_INCLUDE_DIR=%s' % spec['boost'].prefix.include,
|
||||
'-DBoost_LIBRARY_DIR=%s' % spec['boost'].prefix.lib,
|
||||
'-DBoost_NO_SYSTEM_PATHS=TRUE',
|
||||
'-DLIBELF_INCLUDE_DIR=%s' % join_path(libelf.include, 'libelf'),
|
||||
'-DLIBELF_LIBRARIES=%s' % join_path(libelf.lib, 'libelf.so'),
|
||||
'-DLIBDWARF_INCLUDE_DIR=%s' % libdwarf.include,
|
||||
'-DLIBDWARF_LIBRARIES=%s' % join_path(libdwarf.lib, 'libdwarf.so'),
|
||||
*std_cmake_args)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
||||
@when('@:8.1')
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=" + prefix)
|
||||
make()
|
||||
make("install")
|
68
var/spack/repos/builtin/packages/eigen/package.py
Normal file
68
var/spack/repos/builtin/packages/eigen/package.py
Normal file
@@ -0,0 +1,68 @@
|
||||
##############################################################################
|
||||
# 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://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 Eigen(Package):
|
||||
"""
|
||||
Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms
|
||||
"""
|
||||
|
||||
homepage = 'http://eigen.tuxfamily.org/'
|
||||
url = 'http://bitbucket.org/eigen/eigen/get/3.2.7.tar.bz2'
|
||||
|
||||
version('3.2.7', 'cc1bacbad97558b97da6b77c9644f184', url='http://bitbucket.org/eigen/eigen/get/3.2.7.tar.bz2')
|
||||
|
||||
variant('debug', default=False, description='Builds the library in debug mode')
|
||||
|
||||
variant('metis', default=True, description='Enables metis backend')
|
||||
variant('scotch', default=True, description='Enables scotch backend')
|
||||
variant('fftw', default=True, description='Enables FFTW backend')
|
||||
|
||||
# TODO : dependency on SuiteSparse, googlehash, superlu, adolc missing
|
||||
|
||||
depends_on('metis', when='+metis')
|
||||
depends_on('scotch', when='+scotch')
|
||||
depends_on('fftw', when='+fftw')
|
||||
|
||||
depends_on('mpfr@2.3.0:') # Eigen 3.2.7 requires at least 2.3.0
|
||||
depends_on('gmp')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
options = []
|
||||
options.extend(std_cmake_args)
|
||||
|
||||
build_directory = join_path(self.stage.path, 'spack-build')
|
||||
source_directory = self.stage.source_path
|
||||
|
||||
if '+debug' in spec:
|
||||
options.append('-DCMAKE_BUILD_TYPE:STRING=Debug')
|
||||
|
||||
with working_dir(build_directory, create=True):
|
||||
cmake(source_directory, *options)
|
||||
make()
|
||||
make("install")
|
26
var/spack/repos/builtin/packages/elfutils/package.py
Normal file
26
var/spack/repos/builtin/packages/elfutils/package.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from spack import *
|
||||
|
||||
class Elfutils(Package):
|
||||
"""elfutils is a collection of various binary tools such as
|
||||
eu-objdump, eu-readelf, and other utilities that allow you to
|
||||
inspect and manipulate ELF files. Refer to Table 5.Tools Included
|
||||
in elfutils for Red Hat Developer for a complete list of binary
|
||||
tools that are distributed with the Red Hat Developer Toolset
|
||||
version of elfutils."""
|
||||
|
||||
homepage = "https://fedorahosted.org/elfutils/"
|
||||
|
||||
version('0.163',
|
||||
git='git://git.fedorahosted.org/git/elfutils.git',
|
||||
tag='elfutils-0.163')
|
||||
|
||||
provides('elf')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
autoreconf = which('autoreconf')
|
||||
autoreconf('-if')
|
||||
|
||||
configure('--prefix=%s' % prefix, '--enable-maintainer-mode')
|
||||
make()
|
||||
make("install")
|
||||
|
17
var/spack/repos/builtin/packages/expat/package.py
Normal file
17
var/spack/repos/builtin/packages/expat/package.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from spack import *
|
||||
|
||||
class Expat(Package):
|
||||
"""<eXpat/> is an XML parser library written in C"""
|
||||
homepage = "http://expat.sourceforge.net/"
|
||||
url = "http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz"
|
||||
|
||||
version('2.1.0', 'dd7dab7a5fea97d2a6a43f511449b7cd')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..', *std_cmake_args)
|
||||
make()
|
||||
make('install')
|
||||
|
46
var/spack/repos/builtin/packages/extrae/package.py
Normal file
46
var/spack/repos/builtin/packages/extrae/package.py
Normal file
@@ -0,0 +1,46 @@
|
||||
from spack import *
|
||||
|
||||
# typical working line with extrae 3.0.1
|
||||
# ./configure --prefix=/usr/local --with-mpi=/usr/lib64/mpi/gcc/openmpi --with-unwind=/usr/local --with-papi=/usr --with-dwarf=/usr --with-elf=/usr --with-dyninst=/usr --with-binutils=/usr --with-xml-prefix=/usr --enable-openmp --enable-nanos --enable-pthread --disable-parallel-merge LDFLAGS=-pthread
|
||||
|
||||
class Extrae(Package):
|
||||
"""Extrae is the package devoted to generate tracefiles which can
|
||||
be analyzed later by Paraver. Extrae is a tool that uses
|
||||
different interposition mechanisms to inject probes into the
|
||||
target application so as to gather information regarding the
|
||||
application performance. The Extrae instrumentation package can
|
||||
instrument the MPI programin model, and the following parallel
|
||||
programming models either alone or in conjunction with MPI :
|
||||
OpenMP, CUDA, OpenCL, pthread, OmpSs"""
|
||||
homepage = "http://www.bsc.es/computer-sciences/extrae"
|
||||
url = "http://www.bsc.es/ssl/apps/performanceTools/files/extrae-3.0.1.tar.bz2"
|
||||
version('3.0.1', 'a6a8ca96cd877723cd8cc5df6bdb922b')
|
||||
|
||||
depends_on("mpi")
|
||||
depends_on("dyninst")
|
||||
depends_on("libunwind")
|
||||
depends_on("boost")
|
||||
depends_on("libdwarf")
|
||||
depends_on("papi")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
if 'openmpi' in spec:
|
||||
mpi = spec['openmpi']
|
||||
elif 'mpich' in spec:
|
||||
mpi = spec['mpich']
|
||||
elif 'mvapich2' in spec:
|
||||
mpi = spec['mvapich2']
|
||||
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--with-mpi=%s" % mpi.prefix,
|
||||
"--with-unwind=%s" % spec['libunwind'].prefix,
|
||||
"--with-dyninst=%s" % spec['dyninst'].prefix,
|
||||
"--with-boost=%s" % spec['boost'].prefix,
|
||||
"--with-dwarf=%s" % spec['libdwarf'].prefix,
|
||||
"--with-papi=%s" % spec['papi'].prefix,
|
||||
"--with-dyninst-headers=%s" % spec['dyninst'].prefix.include,
|
||||
"--with-dyninst-libs=%s" % spec['dyninst'].prefix.lib)
|
||||
|
||||
make()
|
||||
make("install", parallel=False)
|
||||
|
14
var/spack/repos/builtin/packages/exuberant-ctags/package.py
Normal file
14
var/spack/repos/builtin/packages/exuberant-ctags/package.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from spack import *
|
||||
|
||||
class ExuberantCtags(Package):
|
||||
"""The canonical ctags generator"""
|
||||
homepage = "ctags.sourceforge.net"
|
||||
url = "http://downloads.sourceforge.net/project/ctags/ctags/5.8/ctags-5.8.tar.gz"
|
||||
|
||||
version('5.8', 'c00f82ecdcc357434731913e5b48630d')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
75
var/spack/repos/builtin/packages/fftw/package.py
Normal file
75
var/spack/repos/builtin/packages/fftw/package.py
Normal file
@@ -0,0 +1,75 @@
|
||||
##############################################################################
|
||||
# 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 Fftw(Package):
|
||||
"""
|
||||
FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of
|
||||
arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine
|
||||
transforms or DCT/DST). We believe that FFTW, which is free software, should become the FFT library of choice for
|
||||
most applications.
|
||||
"""
|
||||
homepage = "http://www.fftw.org"
|
||||
url = "http://www.fftw.org/fftw-3.3.4.tar.gz"
|
||||
|
||||
version('3.3.4', '2edab8c06b24feeb3b82bbb3ebf3e7b3')
|
||||
|
||||
variant('float', default=True, description='Produces a single precision version of the library')
|
||||
variant('long_double', default=True, description='Produces a long double precision version of the library')
|
||||
variant('quad', default=False, description='Produces a quad precision version of the library (works only with GCC and libquadmath)')
|
||||
|
||||
variant('mpi', default=False, description='Activate MPI support')
|
||||
|
||||
depends_on('mpi', when='+mpi')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
options = ['--prefix=%s' % prefix,
|
||||
'--enable-shared',
|
||||
'--enable-threads',
|
||||
'--enable-openmp']
|
||||
if not self.compiler.f77 or not self.compiler.fc:
|
||||
options.append("--disable-fortran")
|
||||
if '+mpi' in spec:
|
||||
options.append('--enable-mpi')
|
||||
|
||||
configure(*options)
|
||||
make()
|
||||
make("install")
|
||||
|
||||
if '+float' in spec:
|
||||
configure('--enable-float', *options)
|
||||
make()
|
||||
make("install")
|
||||
if '+long_double' in spec:
|
||||
configure('--enable-long-double', *options)
|
||||
make()
|
||||
make("install")
|
||||
if '+quad' in spec:
|
||||
configure('--enable-quad-precision', *options)
|
||||
make()
|
||||
make("install")
|
18
var/spack/repos/builtin/packages/fish/package.py
Normal file
18
var/spack/repos/builtin/packages/fish/package.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from spack import *
|
||||
|
||||
class Fish(Package):
|
||||
"""fish is a smart and user-friendly command line shell for OS X, Linux, and
|
||||
the rest of the family.
|
||||
"""
|
||||
|
||||
homepage = "http://fishshell.com/"
|
||||
url = "http://fishshell.com/files/2.2.0/fish-2.2.0.tar.gz"
|
||||
list_url = homepage
|
||||
|
||||
version('2.2.0', 'a76339fd14ce2ec229283c53e805faac48c3e99d9e3ede9d82c0554acfc7b77a')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
15
var/spack/repos/builtin/packages/flex/package.py
Normal file
15
var/spack/repos/builtin/packages/flex/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from spack import *
|
||||
|
||||
class Flex(Package):
|
||||
"""Flex is a tool for generating scanners."""
|
||||
|
||||
homepage = "http://flex.sourceforge.net/"
|
||||
url = "http://download.sourceforge.net/flex/flex-2.5.39.tar.gz"
|
||||
|
||||
version('2.5.39', 'e133e9ead8ec0a58d81166b461244fde')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
44
var/spack/repos/builtin/packages/fltk/font.patch
Normal file
44
var/spack/repos/builtin/packages/fltk/font.patch
Normal file
@@ -0,0 +1,44 @@
|
||||
Index: FL/x.H
|
||||
===================================================================
|
||||
--- a/FL/x.H (revision 10476)
|
||||
+++ b/FL/x.H (working copy)
|
||||
@@ -132,6 +132,7 @@
|
||||
XFontStruct *ptr;
|
||||
};
|
||||
extern FL_EXPORT Fl_XFont_On_Demand fl_xfont;
|
||||
+extern FL_EXPORT XFontStruct* fl_core_font();
|
||||
|
||||
// this object contains all X-specific stuff about a window:
|
||||
// Warning: this object is highly subject to change!
|
||||
Index: src/fl_font.cxx
|
||||
===================================================================
|
||||
--- a/src/fl_font.cxx (revision 10476)
|
||||
+++ b/src/fl_font.cxx (working copy)
|
||||
@@ -55,6 +55,14 @@
|
||||
# include "fl_font_x.cxx"
|
||||
#endif // WIN32
|
||||
|
||||
+#ifdef WIN32
|
||||
+#elif defined(__APPLE__)
|
||||
+#else
|
||||
+XFontStruct *fl_core_font()
|
||||
+{
|
||||
+ return fl_xfont.value();
|
||||
+}
|
||||
+#endif
|
||||
|
||||
double fl_width(const char* c) {
|
||||
if (c) return fl_width(c, (int) strlen(c));
|
||||
Index: src/gl_draw.cxx
|
||||
===================================================================
|
||||
--- a/src/gl_draw.cxx (revision 10476)
|
||||
+++ b/src/gl_draw.cxx (working copy)
|
||||
@@ -84,7 +84,7 @@
|
||||
* then sorting through them at draw time (for normal X rendering) to find which one can
|
||||
* render the current glyph... But for now, just use the first font in the list for GL...
|
||||
*/
|
||||
- XFontStruct *font = fl_xfont;
|
||||
+ XFontStruct *font = fl_core_font();
|
||||
int base = font->min_char_or_byte2;
|
||||
int count = font->max_char_or_byte2-base+1;
|
||||
fl_fontsize->listbase = glGenLists(256);
|
58
var/spack/repos/builtin/packages/fltk/package.py
Normal file
58
var/spack/repos/builtin/packages/fltk/package.py
Normal file
@@ -0,0 +1,58 @@
|
||||
##############################################################################
|
||||
# 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 Fltk(Package):
|
||||
"""
|
||||
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and
|
||||
MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its
|
||||
built-in GLUT emulation.
|
||||
|
||||
FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK
|
||||
also includes an excellent UI builder called FLUID that can be used to create applications in minutes.
|
||||
"""
|
||||
homepage = 'http://www.fltk.org/'
|
||||
url = 'http://fltk.org/pub/fltk/1.3.3/fltk-1.3.3-source.tar.gz'
|
||||
|
||||
version('1.3.3', '9ccdb0d19dc104b87179bd9fd10822e3')
|
||||
|
||||
patch('font.patch', when='@1.3.3')
|
||||
|
||||
variant('shared', default=True, description='Enables the build of shared libraries')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
options = ['--prefix=%s' % prefix,
|
||||
'--enable-localjpeg',
|
||||
'--enable-localpng',
|
||||
'--enable-localzlib']
|
||||
|
||||
if '+shared' in spec:
|
||||
options.append('--enable-shared')
|
||||
|
||||
# FLTK needs to be built in-source
|
||||
configure(*options)
|
||||
make()
|
||||
make('install')
|
39
var/spack/repos/builtin/packages/flux/package.py
Normal file
39
var/spack/repos/builtin/packages/flux/package.py
Normal file
@@ -0,0 +1,39 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class Flux(Package):
|
||||
""" A next-generation resource manager (pre-alpha) """
|
||||
|
||||
homepage = "https://github.com/flux-framework/flux-core"
|
||||
url = "https://github.com/flux-framework/flux-core"
|
||||
|
||||
version('master', branch='master', git='https://github.com/flux-framework/flux-core')
|
||||
|
||||
# Also needs autotools, but should use the system version if available
|
||||
depends_on("zeromq@4.0.4:")
|
||||
depends_on("czmq@2.2:")
|
||||
depends_on("hwloc")
|
||||
depends_on("lua@5.1:5.1.99")
|
||||
depends_on("munge")
|
||||
depends_on("libjson-c")
|
||||
depends_on("libxslt")
|
||||
depends_on("python")
|
||||
depends_on("py-cffi")
|
||||
|
||||
# TODO: This provides a catalog, hacked with environment below for now
|
||||
depends_on("docbook-xml")
|
||||
depends_on("asciidoc")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Bootstrap with autotools
|
||||
bash = which('bash')
|
||||
bash('./autogen.sh')
|
||||
bash('./autogen.sh') #yes, twice, intentionally
|
||||
|
||||
# Fix asciidoc dependency on xml style sheets and whatnot
|
||||
os.environ['XML_CATALOG_FILES'] = os.path.join(spec['docbook-xml'].prefix,
|
||||
'catalog.xml')
|
||||
# Configure, compile & install
|
||||
configure("--prefix=" + prefix)
|
||||
make("install", "V=1")
|
||||
|
17
var/spack/repos/builtin/packages/fontconfig/package.py
Normal file
17
var/spack/repos/builtin/packages/fontconfig/package.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from spack import *
|
||||
|
||||
class Fontconfig(Package):
|
||||
"""Fontconfig customizing font access"""
|
||||
homepage = "http://www.freedesktop.org/wiki/Software/fontconfig/"
|
||||
url = "http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.11.1.tar.gz"
|
||||
|
||||
version('2.11.1' , 'e75e303b4f7756c2b16203a57ac87eba')
|
||||
|
||||
depends_on('freetype')
|
||||
depends_on('libxml2')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix, "--enable-libxml2")
|
||||
|
||||
make()
|
||||
make("install")
|
16
var/spack/repos/builtin/packages/freetype/package.py
Normal file
16
var/spack/repos/builtin/packages/freetype/package.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from spack import *
|
||||
|
||||
class Freetype(Package):
|
||||
"""Font package"""
|
||||
homepage = "http://http://www.freetype.org"
|
||||
url = "http://download.savannah.gnu.org/releases/freetype/freetype-2.5.3.tar.gz"
|
||||
|
||||
version('2.5.3' , 'cafe9f210e45360279c730d27bf071e9')
|
||||
|
||||
depends_on('libpng')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
35
var/spack/repos/builtin/packages/gasnet/package.py
Normal file
35
var/spack/repos/builtin/packages/gasnet/package.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from spack import *
|
||||
|
||||
class Gasnet(Package):
|
||||
"""GASNet is a language-independent, low-level networking layer
|
||||
that provides network-independent, high-performance communication
|
||||
primitives tailored for implementing parallel global address space
|
||||
SPMD languages and libraries such as UPC, Co-Array Fortran, SHMEM,
|
||||
Cray Chapel, and Titanium.
|
||||
"""
|
||||
homepage = "http://gasnet.lbl.gov"
|
||||
url = "http://gasnet.lbl.gov/GASNet-1.24.0.tar.gz"
|
||||
|
||||
version('1.24.0', 'c8afdf48381e8b5a7340bdb32ca0f41a')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# TODO: don't use paths with @ in them.
|
||||
change_sed_delimiter('@', ';', 'configure')
|
||||
|
||||
configure("--prefix=%s" % prefix,
|
||||
# TODO: factor IB suport out into architecture description.
|
||||
"--enable-ibv",
|
||||
"--enable-udp",
|
||||
"--disable-mpi",
|
||||
"--enable-par",
|
||||
"--enable-mpi-compat",
|
||||
"--enable-segment-fast",
|
||||
"--disable-aligned-segments",
|
||||
# TODO: make an option so that Legion can request builds with/without this.
|
||||
# See the Legion webpage for details on when to/not to use.
|
||||
"--disable-pshm",
|
||||
"--with-segment-mmap-max=64MB")
|
||||
|
||||
make()
|
||||
make("install")
|
131
var/spack/repos/builtin/packages/gcc/package.py
Normal file
131
var/spack/repos/builtin/packages/gcc/package.py
Normal file
@@ -0,0 +1,131 @@
|
||||
##############################################################################
|
||||
# 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 *
|
||||
|
||||
from contextlib import closing
|
||||
from glob import glob
|
||||
|
||||
class Gcc(Package):
|
||||
"""The GNU Compiler Collection includes front ends for C, C++,
|
||||
Objective-C, Fortran, and Java."""
|
||||
homepage = "https://gcc.gnu.org"
|
||||
|
||||
url = "http://open-source-box.org/gcc/gcc-4.9.2/gcc-4.9.2.tar.bz2"
|
||||
list_url = 'http://open-source-box.org/gcc/'
|
||||
list_depth = 2
|
||||
|
||||
DEPENDS_ON_ISL_PREDICATE = '@5.0:'
|
||||
|
||||
version('5.3.0', 'c9616fd448f980259c31de613e575719')
|
||||
version('5.2.0', 'a51bcfeb3da7dd4c623e27207ed43467')
|
||||
version('4.9.3', '6f831b4d251872736e8e9cc09746f327')
|
||||
version('4.9.2', '4df8ee253b7f3863ad0b86359cd39c43')
|
||||
version('4.9.1', 'fddf71348546af523353bd43d34919c1')
|
||||
version('4.8.5', '80d2c2982a3392bb0b89673ff136e223')
|
||||
version('4.8.4', '5a84a30839b2aca22a2d723de2a626ec')
|
||||
version('4.7.4', '4c696da46297de6ae77a82797d2abe28')
|
||||
version('4.6.4', 'b407a3d1480c11667f293bfb1f17d1a4')
|
||||
version('4.5.4', '27e459c2566b8209ab064570e1b378f7')
|
||||
|
||||
variant('gold', default=True, description="Build the gold linker plugin for ld-based LTO")
|
||||
|
||||
depends_on("mpfr")
|
||||
depends_on("gmp")
|
||||
depends_on("mpc") # when @4.5:
|
||||
depends_on("binutils~libiberty", when='~gold')
|
||||
depends_on("binutils~libiberty+gold", when='+gold')
|
||||
|
||||
# Save these until we can do optional deps.
|
||||
depends_on("isl", when=DEPENDS_ON_ISL_PREDICATE)
|
||||
#depends_on("ppl")
|
||||
#depends_on("cloog")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# libjava/configure needs a minor fix to install into spack paths.
|
||||
filter_file(r"'@.*@'", "'@[[:alnum:]]*@'", 'libjava/configure', string=True)
|
||||
|
||||
enabled_languages = set(('c', 'c++', 'fortran', 'java', 'objc'))
|
||||
if spec.satisfies("@4.7.1:"):
|
||||
enabled_languages.add('go')
|
||||
|
||||
# Generic options to compile GCC
|
||||
options = ["--prefix=%s" % prefix,
|
||||
"--libdir=%s/lib64" % prefix,
|
||||
"--disable-multilib",
|
||||
"--enable-languages=" + ','.join(enabled_languages),
|
||||
"--with-mpc=%s" % spec['mpc'].prefix,
|
||||
"--with-mpfr=%s" % spec['mpfr'].prefix,
|
||||
"--with-gmp=%s" % spec['gmp'].prefix,
|
||||
"--enable-lto",
|
||||
"--with-gnu-ld",
|
||||
"--with-gnu-as",
|
||||
"--with-quad"]
|
||||
# Binutils
|
||||
static_bootstrap_flags = "-static-libstdc++ -static-libgcc"
|
||||
binutils_options = ["--with-sysroot=/",
|
||||
"--with-stage1-ldflags=%s %s" % (self.rpath_args, static_bootstrap_flags),
|
||||
"--with-boot-ldflags=%s %s" % (self.rpath_args, static_bootstrap_flags),
|
||||
"--with-ld=%s/bin/ld" % spec['binutils'].prefix,
|
||||
"--with-as=%s/bin/as" % spec['binutils'].prefix]
|
||||
options.extend(binutils_options)
|
||||
# Isl
|
||||
if spec.satisfies(Gcc.DEPENDS_ON_ISL_PREDICATE):
|
||||
isl_options = ["--with-isl=%s" % spec['isl'].prefix]
|
||||
options.extend(isl_options)
|
||||
|
||||
build_dir = join_path(self.stage.path, 'spack-build')
|
||||
configure = Executable( join_path(self.stage.source_path, 'configure') )
|
||||
with working_dir(build_dir, create=True):
|
||||
# Rest of install is straightforward.
|
||||
configure(*options)
|
||||
make()
|
||||
make("install")
|
||||
|
||||
self.write_rpath_specs()
|
||||
|
||||
|
||||
@property
|
||||
def spec_dir(self):
|
||||
# e.g. lib64/gcc/x86_64-unknown-linux-gnu/4.9.2
|
||||
spec_dir = glob("%s/lib64/gcc/*/*" % self.prefix)
|
||||
return spec_dir[0] if spec_dir else None
|
||||
|
||||
|
||||
def write_rpath_specs(self):
|
||||
"""Generate a spec file so the linker adds a rpath to the libs
|
||||
the compiler used to build the executable."""
|
||||
if not self.spec_dir:
|
||||
tty.warn("Could not install specs for %s." % self.spec.format('$_$@'))
|
||||
return
|
||||
|
||||
gcc = Executable(join_path(self.prefix.bin, 'gcc'))
|
||||
lines = gcc('-dumpspecs', return_output=True).strip().split("\n")
|
||||
specs_file = join_path(self.spec_dir, 'specs')
|
||||
with closing(open(specs_file, 'w')) as out:
|
||||
for line in lines:
|
||||
out.write(line + "\n")
|
||||
if line.startswith("*link:"):
|
||||
out.write("-rpath %s/lib:%s/lib64 \\\n"% (self.prefix, self.prefix))
|
||||
set_install_permissions(specs_file)
|
48
var/spack/repos/builtin/packages/gdb/package.py
Normal file
48
var/spack/repos/builtin/packages/gdb/package.py
Normal file
@@ -0,0 +1,48 @@
|
||||
##############################################################################
|
||||
# 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://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 Gdb(Package):
|
||||
"""
|
||||
GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it executes
|
||||
-- or what another program was doing at the moment it crashed.
|
||||
"""
|
||||
homepage = "https://www.gnu.org/software/gdb"
|
||||
url = "http://ftp.gnu.org/gnu/gdb/gdb-7.10.tar.gz"
|
||||
|
||||
version('7.10.1', 'b93a2721393e5fa226375b42d567d90b')
|
||||
version('7.10', 'fa6827ad0fd2be1daa418abb11a54d86')
|
||||
version('7.9.1', 'f3b97de919a9dba84490b2e076ec4cb0')
|
||||
version('7.9', '8f8ced422fe462a00e0135a643544f17')
|
||||
version('7.8.2', '8b0ea8b3559d3d90b3ff4952f0aeafbc')
|
||||
|
||||
depends_on('texinfo')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
make()
|
||||
make("install")
|
22
var/spack/repos/builtin/packages/gdk-pixbuf/package.py
Normal file
22
var/spack/repos/builtin/packages/gdk-pixbuf/package.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from spack import *
|
||||
|
||||
class GdkPixbuf(Package):
|
||||
"""The Gdk Pixbuf is a toolkit for image loading and pixel buffer
|
||||
manipulation. It is used by GTK+ 2 and GTK+ 3 to load and
|
||||
manipulate images. In the past it was distributed as part of
|
||||
GTK+ 2 but it was split off into a separate package in
|
||||
preparation for the change to GTK+ 3."""
|
||||
homepage = "https://developer.gnome.org/gdk-pixbuf/"
|
||||
url = "http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.31/gdk-pixbuf-2.31.1.tar.xz"
|
||||
|
||||
version('2.31.2', '6be6bbc4f356d4b79ab4226860ab8523')
|
||||
|
||||
depends_on("glib")
|
||||
depends_on("jpeg")
|
||||
depends_on("libpng")
|
||||
depends_on("libtiff")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install")
|
31
var/spack/repos/builtin/packages/geos/package.py
Normal file
31
var/spack/repos/builtin/packages/geos/package.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from spack import *
|
||||
|
||||
class Geos(Package):
|
||||
"""GEOS (Geometry Engine - Open Source) is a C++ port of the Java
|
||||
Topology Suite (JTS). As such, it aims to contain the complete
|
||||
functionality of JTS in C++. This includes all the OpenGIS
|
||||
Simple Features for SQL spatial predicate functions and spatial
|
||||
operators, as well as specific JTS enhanced topology functions."""
|
||||
|
||||
homepage = "http://trac.osgeo.org/geos/"
|
||||
url = "http://download.osgeo.org/geos/geos-3.4.2.tar.bz2"
|
||||
|
||||
version('3.4.2', 'fc5df2d926eb7e67f988a43a92683bae')
|
||||
version('3.4.1', '4c930dec44c45c49cd71f3e0931ded7e')
|
||||
version('3.4.0', 'e41318fc76b5dc764a69d43ac6b18488')
|
||||
version('3.3.9', '4794c20f07721d5011c93efc6ccb8e4e')
|
||||
version('3.3.8', '75be476d0831a2d14958fed76ca266de')
|
||||
version('3.3.7', '95ab996d22672b067d92c7dee2170460')
|
||||
version('3.3.6', '6fadfb941541875f4976f75fb0bbc800')
|
||||
version('3.3.5', '2ba61afb7fe2c5ddf642d82d7b16e75b')
|
||||
version('3.3.4', '1bb9f14d57ef06ffa41cb1d67acb55a1')
|
||||
version('3.3.3', '8454e653d7ecca475153cc88fd1daa26')
|
||||
|
||||
extends('python')
|
||||
depends_on('swig')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--enable-python")
|
||||
make()
|
||||
make("install")
|
21
var/spack/repos/builtin/packages/gflags/package.py
Normal file
21
var/spack/repos/builtin/packages/gflags/package.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import os
|
||||
from spack import *
|
||||
|
||||
class Gflags(Package):
|
||||
"""The gflags package contains a C++ library that implements
|
||||
commandline flags processing. It includes built-in support for
|
||||
standard types such as string and the ability to define flags
|
||||
in the source file in which they are used. Online documentation
|
||||
available at: https://gflags.github.io/gflags/"""
|
||||
|
||||
homepage = "https://gflags.github.io/gflags"
|
||||
url = "https://github.com/gflags/gflags/archive/v2.1.2.tar.gz"
|
||||
|
||||
version('2.1.2', 'ac432de923f9de1e9780b5254884599f')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake("-DCMAKE_INSTALL_PREFIX=" + prefix,
|
||||
"-DBUILD_SHARED_LIBS=ON")
|
||||
make()
|
||||
make("test")
|
||||
make("install")
|
17
var/spack/repos/builtin/packages/ghostscript/package.py
Normal file
17
var/spack/repos/builtin/packages/ghostscript/package.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from spack import *
|
||||
|
||||
class Ghostscript(Package):
|
||||
"""an interpreter for the PostScript language and for PDF. """
|
||||
homepage = "http://ghostscript.com/"
|
||||
url = "http://downloads.ghostscript.com/public/ghostscript-9.16.tar.gz"
|
||||
|
||||
version('9.16', '829319325bbdb83f5c81379a8f86f38f')
|
||||
|
||||
parallel = False
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" %prefix, "--enable-shared")
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
59
var/spack/repos/builtin/packages/git/package.py
Normal file
59
var/spack/repos/builtin/packages/git/package.py
Normal file
@@ -0,0 +1,59 @@
|
||||
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.gz"
|
||||
|
||||
version('2.6.3', 'b711be7628a4a2c25f38d859ee81b423')
|
||||
version('2.6.2', 'da293290da69f45a86a311ad3cd43dc8')
|
||||
version('2.6.1', '4c62ee9c5991fe93d99cf2a6b68397fd')
|
||||
version('2.6.0', 'eb76a07148d94802a1745d759716a57e')
|
||||
version('2.5.4', '3eca2390cf1fa698b48e2a233563a76b')
|
||||
version('2.2.1', 'ff41fdb094eed1ec430aed8ee9b9849c')
|
||||
|
||||
|
||||
# Git compiles with curl support by default on but if your system
|
||||
# does not have it you will not be able to clone https repos
|
||||
variant("curl", default=False, description="Add the internal support of curl for https clone")
|
||||
|
||||
# Git compiles with expat support by default on but if your system
|
||||
# does not have it you will not be able to push https repos
|
||||
variant("expat", default=False, description="Add the internal support of expat for https push")
|
||||
|
||||
depends_on("openssl")
|
||||
depends_on("curl", when="+curl")
|
||||
depends_on("expat", when="+expat")
|
||||
|
||||
# Use system perl for now.
|
||||
# depends_on("perl")
|
||||
# depends_on("pcre")
|
||||
|
||||
depends_on("zlib")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure_args = [
|
||||
"--prefix=%s" % prefix,
|
||||
"--without-pcre",
|
||||
"--with-openssl=%s" % spec['openssl'].prefix,
|
||||
"--with-zlib=%s" % spec['zlib'].prefix
|
||||
]
|
||||
|
||||
if '+curl' in spec:
|
||||
configure_args.append("--with-curl=%s" % spec['curl'].prefix)
|
||||
|
||||
if '+expat' in spec:
|
||||
configure_args.append("--with-expat=%s" % spec['expat'].prefix)
|
||||
|
||||
configure(*configure_args)
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
19
var/spack/repos/builtin/packages/glib/package.py
Normal file
19
var/spack/repos/builtin/packages/glib/package.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from spack import *
|
||||
|
||||
class Glib(Package):
|
||||
"""The GLib package contains a low-level libraries useful for
|
||||
providing data structure handling for C, portability wrappers
|
||||
and interfaces for such runtime functionality as an event loop,
|
||||
threads, dynamic loading and an object system."""
|
||||
homepage = "https://developer.gnome.org/glib/"
|
||||
url = "http://ftp.gnome.org/pub/gnome/sources/glib/2.42/glib-2.42.1.tar.xz"
|
||||
|
||||
version('2.42.1', '89c4119e50e767d3532158605ee9121a')
|
||||
|
||||
depends_on("libffi")
|
||||
depends_on("zlib")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install", parallel=False)
|
19
var/spack/repos/builtin/packages/glm/package.py
Normal file
19
var/spack/repos/builtin/packages/glm/package.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from spack import *
|
||||
|
||||
|
||||
class Glm(Package):
|
||||
"""
|
||||
OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on
|
||||
the OpenGL Shading Language (GLSL) specification.
|
||||
"""
|
||||
|
||||
homepage = "https://github.com/g-truc/glm"
|
||||
url = "https://github.com/g-truc/glm/archive/0.9.7.1.tar.gz"
|
||||
|
||||
version('0.9.7.1', '61af6639cdf652d1cdd7117190afced8')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..', *std_cmake_args)
|
||||
make()
|
||||
make("install")
|
24
var/spack/repos/builtin/packages/global/package.py
Normal file
24
var/spack/repos/builtin/packages/global/package.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
|
||||
class Global(Package):
|
||||
""" The Gnu Global tagging system """
|
||||
|
||||
homepage = "http://www.gnu.org/software/global"
|
||||
url = "http://tamacom.com/global/global-6.5.tar.gz"
|
||||
|
||||
version('6.5', 'dfec818b4f53d91721e247cf7b218078')
|
||||
|
||||
depends_on('exuberant-ctags')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
config_args = ['--prefix={0}'.format(prefix)]
|
||||
|
||||
config_args.append('--with-exuberant-ctags={0}'.format(
|
||||
os.path.join(spec['exuberant-ctags'].prefix.bin, 'ctags')))
|
||||
|
||||
configure(*config_args)
|
||||
|
||||
make()
|
||||
make("install")
|
15
var/spack/repos/builtin/packages/glog/package.py
Normal file
15
var/spack/repos/builtin/packages/glog/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
import os
|
||||
from spack import *
|
||||
|
||||
class Glog(Package):
|
||||
"""C++ implementation of the Google logging module."""
|
||||
|
||||
homepage = "https://github.com/google/glog"
|
||||
url = "https://github.com/google/glog/archive/v0.3.3.tar.gz"
|
||||
|
||||
version('0.3.3', 'c1f86af27bd9c73186730aa957607ed0')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=" + prefix)
|
||||
make()
|
||||
make("install")
|
53
var/spack/repos/builtin/packages/glpk/package.py
Normal file
53
var/spack/repos/builtin/packages/glpk/package.py
Normal file
@@ -0,0 +1,53 @@
|
||||
##############################################################################
|
||||
# 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 Glpk(Package):
|
||||
"""
|
||||
The GLPK (GNU Linear Programming Kit) package is intended for solving large-scale linear programming (LP), mixed
|
||||
integer programming (MIP), and other related problems. It is a set of routines written in ANSI C and organized in
|
||||
the form of a callable library
|
||||
"""
|
||||
homepage = "https://www.gnu.org/software/glpk"
|
||||
url = "http://ftp.gnu.org/gnu/glpk/glpk-4.57.tar.gz"
|
||||
|
||||
version('4.57', '237531a54f73155842f8defe51aedb0f')
|
||||
|
||||
variant('gmp', default=False, description='Activates support for GMP library')
|
||||
|
||||
depends_on('gmp', when='+gmp')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
options = ['--prefix=%s' % prefix]
|
||||
|
||||
if '+gmp' in spec:
|
||||
options.append('--with-gmp')
|
||||
|
||||
configure(*options)
|
||||
make()
|
||||
make("install")
|
41
var/spack/repos/builtin/packages/gmp/package.py
Normal file
41
var/spack/repos/builtin/packages/gmp/package.py
Normal file
@@ -0,0 +1,41 @@
|
||||
##############################################################################
|
||||
# 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 Gmp(Package):
|
||||
"""GMP is a free library for arbitrary precision arithmetic,
|
||||
operating on signed integers, rational numbers, and
|
||||
floating-point numbers."""
|
||||
homepage = "https://gmplib.org"
|
||||
url = "https://gmplib.org/download/gmp/gmp-6.0.0a.tar.bz2"
|
||||
|
||||
version('6.1.0' , '86ee6e54ebfc4a90b643a65e402c4048')
|
||||
version('6.0.0a', 'b7ff2d88cae7f8085bd5006096eed470')
|
||||
version('6.0.0' , '6ef5869ae735db9995619135bd856b84')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install")
|
84
var/spack/repos/builtin/packages/gmsh/package.py
Normal file
84
var/spack/repos/builtin/packages/gmsh/package.py
Normal file
@@ -0,0 +1,84 @@
|
||||
##############################################################################
|
||||
# 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 Gmsh(Package):
|
||||
"""
|
||||
Gmsh is a free 3D finite element grid generator with a built-in CAD engine and post-processor. Its design goal is
|
||||
to provide a fast, light and user-friendly meshing tool with parametric input and advanced visualization
|
||||
capabilities. Gmsh is built around four modules: geometry, mesh, solver and post-processing. The specification of
|
||||
any input to these modules is done either interactively using the graphical user interface or in ASCII text files
|
||||
using Gmsh's own scripting language.
|
||||
"""
|
||||
homepage = 'http://gmsh.info'
|
||||
url = 'http://gmsh.info/src/gmsh-2.11.0-source.tgz'
|
||||
|
||||
version('2.11.0', 'f15b6e7ac9ca649c9a74440e1259d0db')
|
||||
|
||||
# FIXME : Misses dependencies on gmm, PetsC, TetGen
|
||||
|
||||
variant('shared', default=True, description='Enables the build of shared libraries')
|
||||
variant('debug', default=False, description='Builds the library in debug mode')
|
||||
variant('mpi', default=False, description='Builds MPI support for parser and solver')
|
||||
variant('fltk', default=False, description='Enables the build of the FLTK GUI')
|
||||
variant('hdf5', default=False, description='Enables HDF5 support')
|
||||
variant('compression', default=True, description='Enables IO compression through zlib')
|
||||
|
||||
depends_on('blas')
|
||||
depends_on('lapack')
|
||||
depends_on('gmp')
|
||||
depends_on('mpi', when='+mpi')
|
||||
depends_on('fltk', when='+fltk') # Assumes OpenGL with GLU is already provided by the system
|
||||
depends_on('hdf5', when='+hdf5')
|
||||
depends_on('zlib', when='+compression')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
options = []
|
||||
options.extend(std_cmake_args)
|
||||
|
||||
build_directory = join_path(self.stage.path, 'spack-build')
|
||||
source_directory = self.stage.source_path
|
||||
|
||||
if '+shared' in spec:
|
||||
options.extend(['-DENABLE_BUILD_SHARED:BOOL=ON',
|
||||
'-DENABLE_BUILD_DYNAMIC:BOOL=ON']) # Builds dynamic executable and installs shared library
|
||||
else:
|
||||
options.append('-DENABLE_BUILD_LIB:BOOL=ON') # Builds and installs static library
|
||||
|
||||
if '+debug' in spec:
|
||||
options.append('-DCMAKE_BUILD_TYPE:STRING=Debug')
|
||||
|
||||
if '+mpi' in spec:
|
||||
options.append('-DENABLE_MPI:BOOL=ON')
|
||||
|
||||
if '+compression' in spec:
|
||||
options.append('-DENABLE_COMPRESSED_IO:BOOL=ON')
|
||||
|
||||
with working_dir(build_directory, create=True):
|
||||
cmake(source_directory, *options)
|
||||
make()
|
||||
make('install')
|
61
var/spack/repos/builtin/packages/gnuplot/package.py
Normal file
61
var/spack/repos/builtin/packages/gnuplot/package.py
Normal file
@@ -0,0 +1,61 @@
|
||||
##############################################################################
|
||||
# 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
|
||||
|
||||
class Gnuplot(Package):
|
||||
"""
|
||||
Gnuplot is a portable command-line driven graphing utility for Linux, OS/2, MS Windows, OSX, VMS, and many other
|
||||
platforms. The source code is copyrighted but freely distributed (i.e., you don't have to pay for it). It was
|
||||
originally created to allow scientists and students to visualize mathematical functions and data interactively,
|
||||
but has grown to support many non-interactive uses such as web scripting. It is also used as a plotting engine by
|
||||
third-party applications like Octave. Gnuplot has been supported and under active development since 1986
|
||||
"""
|
||||
homepage = "http://www.gnuplot.info"
|
||||
url = "http://downloads.sourceforge.net/project/gnuplot/gnuplot/5.0.1/gnuplot-5.0.1.tar.gz"
|
||||
|
||||
version('5.0.1', '79b4f9e203728f76b60b28bcd402d3c7')
|
||||
|
||||
depends_on('readline')
|
||||
depends_on('libcerf')
|
||||
depends_on('libgd')
|
||||
depends_on('cairo')
|
||||
depends_on('pango')
|
||||
depends_on('wx', when='+wx')
|
||||
|
||||
variant('wx', default=False, description='Activates wxWidgets terminal')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# It seems there's an open bug for wxWidgets support
|
||||
# See : http://sourceforge.net/p/gnuplot/bugs/1694/
|
||||
os.environ['TERMLIBS'] = '-lX11'
|
||||
|
||||
options = ['--prefix=%s' % prefix]
|
||||
|
||||
configure(*options)
|
||||
make()
|
||||
make("install")
|
22
var/spack/repos/builtin/packages/gnutls/package.py
Normal file
22
var/spack/repos/builtin/packages/gnutls/package.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from spack import *
|
||||
|
||||
class Gnutls(Package):
|
||||
"""GnuTLS is a secure communications library implementing the SSL,
|
||||
TLS and DTLS protocols and technologies around them. It
|
||||
provides a simple C language application programming interface
|
||||
(API) to access the secure communications protocols as well as
|
||||
APIs to parse and write X.509, PKCS #12, OpenPGP and other
|
||||
required structures. It is aimed to be portable and efficient
|
||||
with focus on security and interoperability."""
|
||||
|
||||
homepage = "http://www.gnutls.org"
|
||||
url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.3/gnutls-3.3.9.tar.xz"
|
||||
|
||||
version('3.3.9', 'ff61b77e39d09f1140ab5a9cf52c58b6')
|
||||
|
||||
depends_on("nettle")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install")
|
19
var/spack/repos/builtin/packages/gperf/package.py
Normal file
19
var/spack/repos/builtin/packages/gperf/package.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from spack import *
|
||||
|
||||
class Gperf(Package):
|
||||
"""GNU gperf is a perfect hash function generator. For a given
|
||||
list of strings, it produces a hash function and hash table, in
|
||||
form of C or C++ code, for looking up a value depending on the
|
||||
input string. The hash function is perfect, which means that the
|
||||
hash table has no collisions, and the hash table lookup needs a
|
||||
single string comparison only."""
|
||||
|
||||
homepage = "https://www.gnu.org/software/gperf/"
|
||||
url = "http://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.4.tar.gz"
|
||||
|
||||
version('3.0.4', 'c1f1db32fb6598d6a93e6e88796a8632')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install")
|
41
var/spack/repos/builtin/packages/gperftools/package.py
Normal file
41
var/spack/repos/builtin/packages/gperftools/package.py
Normal file
@@ -0,0 +1,41 @@
|
||||
##############################################################################
|
||||
# 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 Gperftools(Package):
|
||||
"""Google's fast malloc/free implementation, especially for multi-threaded applications.
|
||||
Contains tcmalloc, heap-checker, heap-profiler, and cpu-profiler."""
|
||||
homepage = "https://code.google.com/p/gperftools"
|
||||
url = "https://googledrive.com/host/0B6NtGsLhIcf7MWxMMF9JdTN3UVk/gperftools-2.3.tar.gz"
|
||||
|
||||
version('2.4', '2171cea3bbe053036fb5d5d25176a160', url="https://github.com/gperftools/gperftools/releases/download/gperftools-2.4/gperftools-2.4.tar.gz")
|
||||
version('2.3', 'f54dd119f0e46ac1f13264f8d97adf90', url="https://googledrive.com/host/0B6NtGsLhIcf7MWxMMF9JdTN3UVk/gperftools-2.3.tar.gz")
|
||||
|
||||
depends_on("libunwind")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=" + prefix)
|
||||
make()
|
||||
make("install")
|
14
var/spack/repos/builtin/packages/graphlib/package.py
Normal file
14
var/spack/repos/builtin/packages/graphlib/package.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from spack import *
|
||||
|
||||
class Graphlib(Package):
|
||||
"""Library to create, manipulate, and export graphs Graphlib."""
|
||||
homepage = "http://https://github.com/lee218llnl/graphlib"
|
||||
url = "https://github.com/lee218llnl/graphlib/archive/v2.0.0.tar.gz"
|
||||
|
||||
version('2.0.0', '43c6df84f1d38ba5a5dce0ae19371a70')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake(".", *std_cmake_args)
|
||||
|
||||
make()
|
||||
make("install")
|
21
var/spack/repos/builtin/packages/graphviz/package.py
Normal file
21
var/spack/repos/builtin/packages/graphviz/package.py
Normal file
@@ -0,0 +1,21 @@
|
||||
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")
|
||||
|
46
var/spack/repos/builtin/packages/gsl/package.py
Normal file
46
var/spack/repos/builtin/packages/gsl/package.py
Normal file
@@ -0,0 +1,46 @@
|
||||
##############################################################################
|
||||
# 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 Gsl(Package):
|
||||
"""
|
||||
The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the
|
||||
GNU General Public License. The library provides a wide range of mathematical routines such as random number
|
||||
generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive
|
||||
test suite.
|
||||
"""
|
||||
homepage = "http://www.gnu.org/software/gsl"
|
||||
url = "http://mirror.switch.ch/ftp/mirror/gnu/gsl/gsl-2.1.tar.gz"
|
||||
|
||||
version('2.1' , 'd8f70abafd3e9f0bae03c52d1f4e8de5')
|
||||
version('2.0' , 'ae44cdfed78ece40e73411b63a78c375')
|
||||
version('1.16', 'e49a664db13d81c968415cd53f62bc8b')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
make()
|
||||
make("install")
|
22
var/spack/repos/builtin/packages/gtkplus/package.py
Normal file
22
var/spack/repos/builtin/packages/gtkplus/package.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from spack import *
|
||||
|
||||
class Gtkplus(Package):
|
||||
"""The GTK+ 2 package contains libraries used for creating graphical user interfaces for applications."""
|
||||
homepage = "http://www.gtk.org"
|
||||
|
||||
version('2.24.25', '612350704dd3aacb95355a4981930c6f',
|
||||
url="http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-2.24.25.tar.xz")
|
||||
|
||||
depends_on("atk")
|
||||
depends_on("gdk-pixbuf")
|
||||
depends_on("pango")
|
||||
|
||||
def patch(self):
|
||||
# remove disable deprecated flag.
|
||||
filter_file(r'CFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CFLAGS"',
|
||||
'', 'configure', string=True)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install")
|
20
var/spack/repos/builtin/packages/harfbuzz/package.py
Normal file
20
var/spack/repos/builtin/packages/harfbuzz/package.py
Normal file
@@ -0,0 +1,20 @@
|
||||
from spack import *
|
||||
|
||||
class Harfbuzz(Package):
|
||||
"""The Harfbuzz package contains an OpenType text shaping engine."""
|
||||
homepage = "http://www.freedesktop.org/wiki/Software/HarfBuzz/"
|
||||
url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.37.tar.bz2"
|
||||
|
||||
version('0.9.37', 'bfe733250e34629a188d82e3b971bc1e')
|
||||
|
||||
depends_on("glib")
|
||||
depends_on("icu")
|
||||
depends_on("freetype")
|
||||
|
||||
def patch(self):
|
||||
change_sed_delimiter('@', ';', 'src/Makefile.in')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install")
|
78
var/spack/repos/builtin/packages/hdf5/package.py
Normal file
78
var/spack/repos/builtin/packages/hdf5/package.py
Normal file
@@ -0,0 +1,78 @@
|
||||
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.16', 'b8ed9a36ae142317f88b0c7ef4b9c618')
|
||||
version('1.8.15', '03cccb5b33dbe975fdcd8ae9dc021f24')
|
||||
version('1.8.13', 'c03426e9e77d7766944654280b467289')
|
||||
|
||||
variant('cxx', default=True, description='Enable C++ support')
|
||||
variant('fortran', default=True, description='Enable Fortran support')
|
||||
variant('mpi', default=False, description='Enable MPI support')
|
||||
variant('threadsafe', default=False, description='Enable multithreading')
|
||||
|
||||
depends_on("mpi", when='+mpi')
|
||||
depends_on("zlib")
|
||||
|
||||
# TODO: currently hard-coded to use OpenMPI
|
||||
def install(self, spec, prefix):
|
||||
extra_args = []
|
||||
if '+cxx' in spec:
|
||||
extra_args.extend([
|
||||
'--enable-cxx'
|
||||
])
|
||||
if '+fortran' in spec:
|
||||
extra_args.extend([
|
||||
'--enable-fortran',
|
||||
'--enable-fortran2003'
|
||||
])
|
||||
if '+mpi' in spec:
|
||||
# The HDF5 configure script warns if cxx and mpi are enabled
|
||||
# together. There doesn't seem to be a real reason for this, except
|
||||
# that parts of the MPI interface are not accessible via the C++
|
||||
# interface. Since they are still accessible via the C interface,
|
||||
# this is not actually a problem.
|
||||
extra_args.extend([
|
||||
"--enable-parallel",
|
||||
"--enable-unsupported",
|
||||
"CC=%s" % spec['mpi'].prefix.bin + "/mpicc",
|
||||
"CXX=%s" % spec['mpi'].prefix.bin + "/mpic++",
|
||||
"FC=%s" % spec['mpi'].prefix.bin + "/mpifort",
|
||||
])
|
||||
if '+threads' in spec:
|
||||
if '+cxx' in spec or '+fortran' in spec:
|
||||
die("Cannot use variant +threads with either +cxx or +fortran")
|
||||
extra_args.extend([
|
||||
'--enable-threadsafe',
|
||||
'--disable-hl',
|
||||
'CPPFLAGS=-DHDatexit=""',
|
||||
'CFLAGS=-DHDatexit=""'
|
||||
])
|
||||
|
||||
configure(
|
||||
"--prefix=%s" % prefix,
|
||||
"--with-zlib=%s" % spec['zlib'].prefix,
|
||||
"--enable-shared",
|
||||
*extra_args)
|
||||
|
||||
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"
|
30
var/spack/repos/builtin/packages/hwloc/package.py
Normal file
30
var/spack/repos/builtin/packages/hwloc/package.py
Normal file
@@ -0,0 +1,30 @@
|
||||
from spack import *
|
||||
|
||||
class Hwloc(Package):
|
||||
"""The Portable Hardware Locality (hwloc) software package
|
||||
provides a portable abstraction (across OS, versions,
|
||||
architectures, ...) of the hierarchical topology of modern
|
||||
architectures, including NUMA memory nodes, sockets, shared
|
||||
caches, cores and simultaneous multithreading. It also gathers
|
||||
various system attributes such as cache and memory information
|
||||
as well as the locality of I/O devices such as network
|
||||
interfaces, InfiniBand HCAs or GPUs. It primarily aims at
|
||||
helping applications with gathering information about modern
|
||||
computing hardware so as to exploit it accordingly and
|
||||
efficiently."""
|
||||
homepage = "http://www.open-mpi.org/projects/hwloc/"
|
||||
url = "http://www.open-mpi.org/software/hwloc/v1.9/downloads/hwloc-1.9.tar.gz"
|
||||
|
||||
version('1.11.2', '486169cbe111cdea57be12638828ebbf',
|
||||
url='http://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-1.11.2.tar.bz2')
|
||||
version('1.11.1', '002742efd3a8431f98d6315365a2b543',
|
||||
url='http://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-1.11.1.tar.bz2')
|
||||
version('1.9', '1f9f9155682fe8946a97c08896109508')
|
||||
|
||||
depends_on('libpciaccess')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
32
var/spack/repos/builtin/packages/hypre/package.py
Normal file
32
var/spack/repos/builtin/packages/hypre/package.py
Normal file
@@ -0,0 +1,32 @@
|
||||
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 = "http://computation.llnl.gov/project/linear_solvers/software.php"
|
||||
url = "http://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")
|
25
var/spack/repos/builtin/packages/icu/package.py
Normal file
25
var/spack/repos/builtin/packages/icu/package.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from spack import *
|
||||
|
||||
class Icu(Package):
|
||||
"""The International Components for Unicode (ICU) package is a
|
||||
mature, widely used set of C/C++ libraries providing Unicode and
|
||||
Globalization support for software applications. ICU is widely
|
||||
portable and gives applications the same results on all
|
||||
platforms."""
|
||||
# FIXME: add a proper url for your package's homepage here.
|
||||
homepage = "http://www.example.com"
|
||||
url = "http://download.icu-project.org/files/icu4c/54.1/icu4c-54_1-src.tgz"
|
||||
|
||||
version('54.1', 'e844caed8f2ca24c088505b0d6271bc0')
|
||||
|
||||
|
||||
def url_for_version(self, version):
|
||||
return "http://download.icu-project.org/files/icu4c/%s/icu4c-%s-src.tgz" % (
|
||||
version, str(version).replace('.', '_'))
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir("source"):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install")
|
17
var/spack/repos/builtin/packages/icu4c/package.py
Normal file
17
var/spack/repos/builtin/packages/icu4c/package.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from spack import *
|
||||
|
||||
class Icu4c(Package):
|
||||
"""ICU is a mature, widely used set of C/C++ and Java libraries
|
||||
providing Unicode and Globalization support for software applications."""
|
||||
|
||||
homepage = "http://site.icu-project.org/"
|
||||
url = "http://downloads.sourceforge.net/project/icu/ICU4C/54.1/icu4c-54_1-src.tgz"
|
||||
|
||||
version('54_1', 'e844caed8f2ca24c088505b0d6271bc0')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cd("source")
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
17
var/spack/repos/builtin/packages/isl/package.py
Normal file
17
var/spack/repos/builtin/packages/isl/package.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from spack import *
|
||||
|
||||
class Isl(Package):
|
||||
"""isl is a thread-safe C library for manipulating sets and
|
||||
relations of integer points bounded by affine constraints."""
|
||||
homepage = "http://isl.gforge.inria.fr"
|
||||
url = "http://isl.gforge.inria.fr/isl-0.14.tar.bz2"
|
||||
|
||||
version('0.14', 'acd347243fca5609e3df37dba47fd0bb')
|
||||
|
||||
depends_on("gmp")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--with-gmp-prefix=%s" % spec['gmp'].prefix)
|
||||
make()
|
||||
make("install")
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user