Merge branch 'develop' into features/hwloc
* develop: (85 commits) Make libxcb compile with gcc 4.9. disable parallel install for glib (found races) disable cairo-trace, which is incompatible with older libiberty.h. Fix LaunchMon on newer gcc versions. Simplify output redirection in spack.util.executable Allow completely empty config files. Update cmake package to use http in all URLs. Fix create, diy, edit, and repo commands to use multiple repos. Add namespace option to find command. Temporary fix: Clang is the default compiler on Mac OS X. Netcdf requires cmake >=2.8.12 Mbedtls depends on cmake Update libtool to 2.4.6 Update Julia to 0.4.3 Make binutils build on OS X Add verbs and psm variants py-matplotlib: depend on freetype py-numpy: make blas/lapack optional dependencies qhull: apply patch to work with libc++'s standard library New package GNU tar ...
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")
|
148
var/spack/repos/builtin/packages/boost/package.py
Normal file
148
var/spack/repos/builtin/packages/boost/package.py
Normal file
@@ -0,0 +1,148 @@
|
||||
from spack import *
|
||||
|
||||
class Boost(Package):
|
||||
"""Boost provides free peer-reviewed portable C++ source
|
||||
libraries, emphasizing libraries that work well with the C++
|
||||
Standard Library.
|
||||
|
||||
Boost libraries are intended to be widely useful, and usable
|
||||
across a broad spectrum of applications. The Boost license
|
||||
encourages both commercial and non-commercial use.
|
||||
"""
|
||||
homepage = "http://www.boost.org"
|
||||
url = "http://downloads.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.bz2"
|
||||
list_url = "http://sourceforge.net/projects/boost/files/boost/"
|
||||
list_depth = 2
|
||||
|
||||
version('1.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')
|
||||
|
||||
variant('debug', default=False, description='Switch to the debug version of Boost')
|
||||
variant('python', default=False, description='Activate the component Boost.Python')
|
||||
variant('mpi', default=False, description='Activate the component Boost.MPI')
|
||||
variant('compression', default=True, description='Activate the compression Boost.iostreams')
|
||||
|
||||
depends_on('python', when='+python')
|
||||
depends_on('mpi', when='+mpi')
|
||||
depends_on('bzip2', when='+compression')
|
||||
depends_on('zlib', when='+compression')
|
||||
|
||||
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, options):
|
||||
options.append('--with-toolset=%s' % self.determine_toolset(spec))
|
||||
|
||||
without_libs = []
|
||||
if '~mpi' in spec:
|
||||
without_libs.append('mpi')
|
||||
if '~python' in spec:
|
||||
without_libs.append('python')
|
||||
else:
|
||||
options.append('--with-python=%s' %
|
||||
join_path(spec['python'].prefix.bin, 'python'))
|
||||
|
||||
if without_libs:
|
||||
options.append('--without-libraries=%s' % ','.join(without_libs))
|
||||
|
||||
with open('user-config.jam', 'w') as f:
|
||||
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 '~compression' in spec:
|
||||
options.extend([
|
||||
'-s', 'NO_BZIP2=1',
|
||||
'-s', 'NO_ZLIB=1'])
|
||||
|
||||
if '+compression' 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,
|
||||
])
|
||||
|
||||
options.extend([
|
||||
'toolset=%s' % self.determine_toolset(spec),
|
||||
'link=static,shared',
|
||||
'threading=single,multi',
|
||||
'--layout=tagged'])
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# 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, 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]
|
||||
|
||||
self.determine_b2_options(spec, b2_options)
|
||||
|
||||
b2('install', *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")
|
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"
|
33
var/spack/repos/builtin/packages/hwloc/package.py
Normal file
33
var/spack/repos/builtin/packages/hwloc/package.py
Normal file
@@ -0,0 +1,33 @@
|
||||
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"
|
||||
list_url = "http://www.open-mpi.org/software/hwloc/"
|
||||
list_depth = 3
|
||||
|
||||
version('1.11.2', '486169cbe111cdea57be12638828ebbf')
|
||||
version('1.11.1', '002742efd3a8431f98d6315365a2b543')
|
||||
version('1.9', '1f9f9155682fe8946a97c08896109508')
|
||||
|
||||
depends_on('libpciaccess')
|
||||
|
||||
def url_for_version(self, version):
|
||||
return "http://www.open-mpi.org/software/hwloc/v%s/downloads/hwloc-%s.tar.gz" % (version.up_to(2), version)
|
||||
|
||||
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")
|
46
var/spack/repos/builtin/packages/jdk/package.py
Normal file
46
var/spack/repos/builtin/packages/jdk/package.py
Normal file
@@ -0,0 +1,46 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# Author: Justin Too <too1@llnl.gov>
|
||||
#------------------------------------------------------------------------------
|
||||
import distutils
|
||||
from distutils import dir_util
|
||||
from subprocess import call
|
||||
|
||||
import spack
|
||||
from spack import *
|
||||
import llnl.util.tty as tty
|
||||
|
||||
class Jdk(Package):
|
||||
"""The Java Development Kit (JDK) released by Oracle Corporation
|
||||
in the form of a binary product aimed at Java developers."""
|
||||
homepage = "http://www.oracle.com/technetwork/java/javase/downloads/index.html"
|
||||
|
||||
version('8u66-linux-x64', '88f31f3d642c3287134297b8c10e61bf',
|
||||
url="http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jdk-8u66-linux-x64.tar.gz")
|
||||
|
||||
# Oracle requires that you accept their License Agreement in order
|
||||
# to access the Java packages in download.oracle.com. In order to
|
||||
# automate this process, we need to utilize these additional curl
|
||||
# commandline options.
|
||||
#
|
||||
# See http://stackoverflow.com/questions/10268583/how-to-automate-download-and-installation-of-java-jdk-on-linux
|
||||
curl_options=[
|
||||
'-j', # junk cookies
|
||||
'-H', # specify required License Agreement cookie
|
||||
'Cookie: oraclelicense=accept-securebackup-cookie']
|
||||
|
||||
def do_fetch(self):
|
||||
# Add our custom curl commandline options
|
||||
tty.msg(
|
||||
"[Jdk] Adding required commandline options to curl " +
|
||||
"before performing fetch: %s" %
|
||||
(self.curl_options))
|
||||
|
||||
for option in self.curl_options:
|
||||
spack.curl.add_default_arg(option)
|
||||
|
||||
# Now perform the actual fetch
|
||||
super(Jdk, self).do_fetch()
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
distutils.dir_util.copy_tree(".", prefix)
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user