summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/mock_packages/callpath/package.py6
-rw-r--r--var/spack/mock_packages/direct_mpich/package.py2
-rw-r--r--var/spack/mock_packages/dyninst/package.py5
-rw-r--r--var/spack/mock_packages/fake/package.py3
-rw-r--r--var/spack/mock_packages/indirect_mpich/package.py2
-rw-r--r--var/spack/mock_packages/libdwarf/package.py8
-rw-r--r--var/spack/mock_packages/libelf/package.py6
-rw-r--r--var/spack/mock_packages/mpich/package.py10
-rw-r--r--var/spack/mock_packages/mpich2/package.py12
-rw-r--r--var/spack/mock_packages/mpileaks/package.py8
-rw-r--r--var/spack/mock_packages/trivial_install_test_package/package.py2
-rw-r--r--var/spack/mock_packages/zmpi/package.py2
-rw-r--r--var/spack/packages/SAMRAI/package.py20
-rw-r--r--var/spack/packages/adept-utils/package.py41
-rw-r--r--var/spack/packages/boost/package.py51
-rw-r--r--var/spack/packages/callpath/package.py13
-rw-r--r--var/spack/packages/clang/package.py47
-rw-r--r--var/spack/packages/cmake/package.py3
-rw-r--r--var/spack/packages/cube/package.py55
-rw-r--r--var/spack/packages/dtcmp/package.py20
-rw-r--r--var/spack/packages/dyninst/package.py4
-rw-r--r--var/spack/packages/extrae/package.py38
-rw-r--r--var/spack/packages/graphlib/package.py2
-rw-r--r--var/spack/packages/hdf5/package.py4
-rw-r--r--var/spack/packages/hwloc/package.py25
-rw-r--r--var/spack/packages/launchmon/package.py2
-rw-r--r--var/spack/packages/libarchive/package.py16
-rw-r--r--var/spack/packages/libcircle/package.py18
-rw-r--r--var/spack/packages/libdwarf/package.py6
-rw-r--r--var/spack/packages/libelf/package.py4
-rw-r--r--var/spack/packages/libevent/package.py23
-rw-r--r--var/spack/packages/libmonitor/package.py37
-rw-r--r--var/spack/packages/libunwind/package.py2
-rw-r--r--var/spack/packages/llvm-lld/package.py46
-rw-r--r--var/spack/packages/llvm/package.py50
-rw-r--r--var/spack/packages/lwgrp/package.py18
-rw-r--r--var/spack/packages/mpich/package.py2
-rw-r--r--var/spack/packages/mpileaks/package.py13
-rw-r--r--var/spack/packages/mrnet/package.py5
-rw-r--r--var/spack/packages/mvapich2/package.py93
-rw-r--r--var/spack/packages/ncurses/package.py6
-rw-r--r--var/spack/packages/ompss/package.py49
-rw-r--r--var/spack/packages/opari2/package.py65
-rw-r--r--var/spack/packages/openmpi/package.py2
-rw-r--r--var/spack/packages/openssl/package.py26
-rw-r--r--var/spack/packages/otf2/package.py74
-rw-r--r--var/spack/packages/papi/package.py35
-rw-r--r--var/spack/packages/paraver/package.py41
-rw-r--r--var/spack/packages/parmetis/package.py2
-rw-r--r--var/spack/packages/pmgr_collective/package.py2
-rw-r--r--var/spack/packages/postgresql/package.py20
-rw-r--r--var/spack/packages/scalasca/package.py43
-rw-r--r--var/spack/packages/scorep/package.py75
-rw-r--r--var/spack/packages/scr/package.py2
-rw-r--r--var/spack/packages/spindle/package.py2
-rw-r--r--var/spack/packages/sqlite/package.py40
-rw-r--r--var/spack/packages/stat/package.py5
-rw-r--r--var/spack/packages/tau/package.py2
-rw-r--r--var/spack/packages/tmux/package.py2
-rw-r--r--var/spack/packages/vim/package.py24
-rw-r--r--var/spack/packages/wx/package.py24
-rw-r--r--var/spack/packages/wxpropgrid/package.py20
-rw-r--r--var/spack/packages/zlib/package.py2
63 files changed, 1148 insertions, 139 deletions
diff --git a/var/spack/mock_packages/callpath/package.py b/var/spack/mock_packages/callpath/package.py
index b4fd0f4482..5b6b70ba2a 100644
--- a/var/spack/mock_packages/callpath/package.py
+++ b/var/spack/mock_packages/callpath/package.py
@@ -28,9 +28,9 @@ class Callpath(Package):
homepage = "https://github.com/tgamblin/callpath"
url = "http://github.com/tgamblin/callpath-1.0.tar.gz"
- versions = { 0.8 : 'foobarbaz',
- 0.9 : 'foobarbaz',
- 1.0 : 'foobarbaz' }
+ version(0.8, 'foobarbaz')
+ version(0.9, 'foobarbaz')
+ version(1.0, 'foobarbaz')
depends_on("dyninst")
depends_on("mpi")
diff --git a/var/spack/mock_packages/direct_mpich/package.py b/var/spack/mock_packages/direct_mpich/package.py
index d702e4481b..2ced82521b 100644
--- a/var/spack/mock_packages/direct_mpich/package.py
+++ b/var/spack/mock_packages/direct_mpich/package.py
@@ -28,7 +28,7 @@ class DirectMpich(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/direct_mpich-1.0.tar.gz"
- versions = { 1.0 : 'foobarbaz' }
+ version('1.0', 'foobarbaz')
depends_on('mpich')
diff --git a/var/spack/mock_packages/dyninst/package.py b/var/spack/mock_packages/dyninst/package.py
index d32c4b5504..7657e2c33f 100644
--- a/var/spack/mock_packages/dyninst/package.py
+++ b/var/spack/mock_packages/dyninst/package.py
@@ -29,9 +29,8 @@ class Dyninst(Package):
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"
- versions = {
- '8.1.2' : 'bf03b33375afa66fe0efa46ce3f4b17a',
- '8.1.1' : '1f8743e3a5662b25ce64a7edf647e77d' }
+ version('8.1.2', 'bf03b33375afa66fe0efa46ce3f4b17a')
+ version('8.1.1', '1f8743e3a5662b25ce64a7edf647e77d')
depends_on("libelf")
depends_on("libdwarf")
diff --git a/var/spack/mock_packages/fake/package.py b/var/spack/mock_packages/fake/package.py
index 88bc6d8669..fb3c2bdd2e 100644
--- a/var/spack/mock_packages/fake/package.py
+++ b/var/spack/mock_packages/fake/package.py
@@ -27,7 +27,8 @@ from spack import *
class Fake(Package):
homepage = "http://www.fake-spack-example.org"
url = "http://www.fake-spack-example.org/downloads/fake-1.0.tar.gz"
- versions = { '1.0' : 'foobarbaz' }
+
+ version('1.0', 'foobarbaz')
def install(self, spec, prefix):
pass
diff --git a/var/spack/mock_packages/indirect_mpich/package.py b/var/spack/mock_packages/indirect_mpich/package.py
index a53cb9330c..daf8b4b166 100644
--- a/var/spack/mock_packages/indirect_mpich/package.py
+++ b/var/spack/mock_packages/indirect_mpich/package.py
@@ -32,7 +32,7 @@ class IndirectMpich(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/indirect_mpich-1.0.tar.gz"
- versions = { 1.0 : 'foobarbaz' }
+ version(1.0, 'foobarbaz')
depends_on('mpi')
depends_on('direct_mpich')
diff --git a/var/spack/mock_packages/libdwarf/package.py b/var/spack/mock_packages/libdwarf/package.py
index 0f4d55fd88..0b8df04cfb 100644
--- a/var/spack/mock_packages/libdwarf/package.py
+++ b/var/spack/mock_packages/libdwarf/package.py
@@ -33,10 +33,10 @@ class Libdwarf(Package):
url = "http://www.prevanders.net/libdwarf-20130729.tar.gz"
list_url = homepage
- versions = { 20130729 : "64b42692e947d5180e162e46c689dfbf",
- 20130207 : 'foobarbaz',
- 20111030 : 'foobarbaz',
- 20070703 : 'foobarbaz' }
+ version(20130729, "64b42692e947d5180e162e46c689dfbf")
+ version(20130207, 'foobarbaz')
+ version(20111030, 'foobarbaz')
+ version(20070703, 'foobarbaz')
depends_on("libelf")
diff --git a/var/spack/mock_packages/libelf/package.py b/var/spack/mock_packages/libelf/package.py
index 5ac07de4e3..94c8f942cd 100644
--- a/var/spack/mock_packages/libelf/package.py
+++ b/var/spack/mock_packages/libelf/package.py
@@ -28,9 +28,9 @@ class Libelf(Package):
homepage = "http://www.mr511.de/software/english.html"
url = "http://www.mr511.de/software/libelf-0.8.13.tar.gz"
- versions = {'0.8.13' : '4136d7b4c04df68b686570afa26988ac',
- '0.8.12' : 'e21f8273d9f5f6d43a59878dc274fec7',
- '0.8.10' : '9db4d36c283d9790d8fa7df1f4d7b4d9' }
+ version('0.8.13', '4136d7b4c04df68b686570afa26988ac')
+ version('0.8.12', 'e21f8273d9f5f6d43a59878dc274fec7')
+ version('0.8.10', '9db4d36c283d9790d8fa7df1f4d7b4d9')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix,
diff --git a/var/spack/mock_packages/mpich/package.py b/var/spack/mock_packages/mpich/package.py
index 2a8e1cebe3..e86c1a68ac 100644
--- a/var/spack/mock_packages/mpich/package.py
+++ b/var/spack/mock_packages/mpich/package.py
@@ -30,11 +30,11 @@ class Mpich(Package):
list_url = "http://www.mpich.org/static/downloads/"
list_depth = 2
- versions = { '3.0.4' : '9c5d5d4fe1e17dd12153f40bc5b6dbc0',
- '3.0.3' : 'foobarbaz',
- '3.0.2' : 'foobarbaz',
- '3.0.1' : 'foobarbaz',
- '3.0' : 'foobarbaz' }
+ version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0')
+ version('3.0.3', 'foobarbaz')
+ version('3.0.2', 'foobarbaz')
+ version('3.0.1', 'foobarbaz')
+ version('3.0', 'foobarbaz')
provides('mpi@:3', when='@3:')
provides('mpi@:1', when='@1:')
diff --git a/var/spack/mock_packages/mpich2/package.py b/var/spack/mock_packages/mpich2/package.py
index 84dce4cccb..827b94c8a4 100644
--- a/var/spack/mock_packages/mpich2/package.py
+++ b/var/spack/mock_packages/mpich2/package.py
@@ -30,12 +30,12 @@ class Mpich2(Package):
list_url = "http://www.mpich.org/static/downloads/"
list_depth = 2
- versions = { '1.5' : '9c5d5d4fe1e17dd12153f40bc5b6dbc0',
- '1.4' : 'foobarbaz',
- '1.3' : 'foobarbaz',
- '1.2' : 'foobarbaz',
- '1.1' : 'foobarbaz',
- '1.0' : 'foobarbaz' }
+ version('1.5', '9c5d5d4fe1e17dd12153f40bc5b6dbc0')
+ version('1.4', 'foobarbaz')
+ version('1.3', 'foobarbaz')
+ version('1.2', 'foobarbaz')
+ version('1.1', 'foobarbaz')
+ version('1.0', 'foobarbaz')
provides('mpi@:2.0')
provides('mpi@:2.1', when='@1.1:')
diff --git a/var/spack/mock_packages/mpileaks/package.py b/var/spack/mock_packages/mpileaks/package.py
index c34d5991e6..c6be37bc13 100644
--- a/var/spack/mock_packages/mpileaks/package.py
+++ b/var/spack/mock_packages/mpileaks/package.py
@@ -28,10 +28,10 @@ class Mpileaks(Package):
homepage = "http://www.llnl.gov"
url = "http://www.llnl.gov/mpileaks-1.0.tar.gz"
- versions = { 1.0 : 'foobarbaz',
- 2.1 : 'foobarbaz',
- 2.2 : 'foobarbaz',
- 2.3 : 'foobarbaz' }
+ version(1.0, 'foobarbaz')
+ version(2.1, 'foobarbaz')
+ version(2.2, 'foobarbaz')
+ version(2.3, 'foobarbaz')
depends_on("mpi")
depends_on("callpath")
diff --git a/var/spack/mock_packages/trivial_install_test_package/package.py b/var/spack/mock_packages/trivial_install_test_package/package.py
index b665825b32..c4db9f5f07 100644
--- a/var/spack/mock_packages/trivial_install_test_package/package.py
+++ b/var/spack/mock_packages/trivial_install_test_package/package.py
@@ -30,7 +30,7 @@ class TrivialInstallTestPackage(Package):
homepage = "http://www.example.com/trivial_install"
url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
- versions = { '1.0' : 'foobarbaz' }
+ version('1.0', 'foobarbaz')
def install(self, spec, prefix):
configure('--prefix=%s' % prefix)
diff --git a/var/spack/mock_packages/zmpi/package.py b/var/spack/mock_packages/zmpi/package.py
index a86bd706bb..8c6ceda6d3 100644
--- a/var/spack/mock_packages/zmpi/package.py
+++ b/var/spack/mock_packages/zmpi/package.py
@@ -30,7 +30,7 @@ class Zmpi(Package):
homepage = "http://www.spack-fake-zmpi.org"
url = "http://www.spack-fake-zmpi.org/downloads/zmpi-1.0.tar.gz"
- versions = { '1.0' : 'foobarbaz' }
+ version('1.0', 'foobarbaz')
provides('mpi@:10.0')
depends_on('fake')
diff --git a/var/spack/packages/SAMRAI/package.py b/var/spack/packages/SAMRAI/package.py
index bb88ec3292..3dfb00b391 100644
--- a/var/spack/packages/SAMRAI/package.py
+++ b/var/spack/packages/SAMRAI/package.py
@@ -11,17 +11,15 @@ class Samrai(Package):
url = "https://computation-rnd.llnl.gov/SAMRAI/download/SAMRAI-v3.7.3.tar.gz"
list_url = homepage
- versions = {
- '3.7.3' : '12d574eacadf8c9a70f1bb4cd1a69df6',
- '3.7.2' : 'f6a716f171c9fdbf3cb12f71fa6e2737',
- '3.6.3-beta' : 'ef0510bf2893042daedaca434e5ec6ce',
- '3.5.2-beta' : 'd072d9d681eeb9ada15ce91bea784274',
- '3.5.0-beta' : '1ad18a319fc573e12e2b1fbb6f6b0a19',
- '3.4.1-beta' : '00814cbee2cb76bf8302aff56bbb385b',
- '3.3.3-beta' : '1db3241d3e1cab913dc310d736c34388',
- '3.3.2-beta' : 'e598a085dab979498fcb6c110c4dd26c',
- '2.4.4' : '04fb048ed0efe7c531ac10c81cc5f6ac',
- }
+ 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")
diff --git a/var/spack/packages/adept-utils/package.py b/var/spack/packages/adept-utils/package.py
new file mode 100644
index 0000000000..2515322ec2
--- /dev/null
+++ b/var/spack/packages/adept-utils/package.py
@@ -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://scalability-llnl.github.io/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License (as published by
+# the Free Software Foundation) version 2.1 dated February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+class AdeptUtils(Package):
+ """Utility libraries for LLNL performance tools."""
+
+ homepage = "https://github.com/scalability-llnl/adept-utils"
+ url = "https://github.com/scalability-llnl/adept-utils/archive/v1.0.tar.gz"
+
+ version('1.0', '5c6cd9badce56c945ac8551e34804397')
+
+ depends_on("boost")
+ depends_on("mpi")
+
+ def install(self, spec, prefix):
+ cmake(*std_cmake_args)
+ make()
+ make("install")
diff --git a/var/spack/packages/boost/package.py b/var/spack/packages/boost/package.py
index 71c3058d79..d3231c3baa 100644
--- a/var/spack/packages/boost/package.py
+++ b/var/spack/packages/boost/package.py
@@ -14,32 +14,31 @@ class Boost(Package):
list_url = "http://sourceforge.net/projects/boost/files/boost/"
list_depth = 2
- versions = {
- '1.55.0' : 'd6eef4b4cacb2183f2bf265a5a03a354',
- '1.54.0' : '15cb8c0803064faef0c4ddf5bc5ca279',
- '1.53.0' : 'a00d22605d5dbcfb4c9936a9b35bc4c2',
- '1.52.0' : '3a855e0f919107e0ca4de4d84ad3f750',
- '1.51.0' : '4b6bd483b692fd138aef84ed2c8eb679',
- '1.50.0' : '52dd00be775e689f55a987baebccc462',
- '1.49.0' : '0d202cb811f934282dea64856a175698',
- '1.48.0' : 'd1e9a7a7f532bb031a3c175d86688d95',
- '1.47.0' : 'a2dc343f7bc7f83f8941e47ed4a18200',
- '1.46.1' : '7375679575f4c8db605d426fc721d506',
- '1.46.0' : '37b12f1702319b73876b0097982087e0',
- '1.45.0' : 'd405c606354789d0426bc07bea617e58',
- '1.44.0' : 'f02578f5218f217a9f20e9c30e119c6a',
- '1.43.0' : 'dd49767bfb726b0c774f7db0cef91ed1',
- '1.42.0' : '7bf3b4eb841b62ffb0ade2b82218ebe6',
- '1.41.0' : '8bb65e133907db727a2a825c5400d0a6',
- '1.40.0' : 'ec3875caeac8c52c7c129802a8483bd7',
- '1.39.0' : 'a17281fd88c48e0d866e1a12deecbcc0',
- '1.38.0' : '5eca2116d39d61382b8f8235915cb267',
- '1.37.0' : '8d9f990bfb7e83769fa5f1d6f065bc92',
- '1.36.0' : '328bfec66c312150e4c2a78dcecb504b',
- '1.35.0' : 'dce952a7214e72d6597516bcac84048b',
- '1.34.1' : '2d938467e8a448a2c9763e0a9f8ca7e5',
- '1.34.0' : 'ed5b9291ffad776f8757a916e1726ad0'
- }
+ version('1.55.0', 'd6eef4b4cacb2183f2bf265a5a03a354')
+ version('1.54.0', '15cb8c0803064faef0c4ddf5bc5ca279')
+ version('1.53.0', 'a00d22605d5dbcfb4c9936a9b35bc4c2')
+ version('1.52.0', '3a855e0f919107e0ca4de4d84ad3f750')
+ version('1.51.0', '4b6bd483b692fd138aef84ed2c8eb679')
+ version('1.50.0', '52dd00be775e689f55a987baebccc462')
+ version('1.49.0', '0d202cb811f934282dea64856a175698')
+ version('1.48.0', 'd1e9a7a7f532bb031a3c175d86688d95')
+ version('1.47.0', 'a2dc343f7bc7f83f8941e47ed4a18200')
+ version('1.46.1', '7375679575f4c8db605d426fc721d506')
+ version('1.46.0', '37b12f1702319b73876b0097982087e0')
+ version('1.45.0', 'd405c606354789d0426bc07bea617e58')
+ version('1.44.0', 'f02578f5218f217a9f20e9c30e119c6a')
+ version('1.43.0', 'dd49767bfb726b0c774f7db0cef91ed1')
+ version('1.42.0', '7bf3b4eb841b62ffb0ade2b82218ebe6')
+ version('1.41.0', '8bb65e133907db727a2a825c5400d0a6')
+ version('1.40.0', 'ec3875caeac8c52c7c129802a8483bd7')
+ version('1.39.0', 'a17281fd88c48e0d866e1a12deecbcc0')
+ version('1.38.0', '5eca2116d39d61382b8f8235915cb267')
+ version('1.37.0', '8d9f990bfb7e83769fa5f1d6f065bc92')
+ version('1.36.0', '328bfec66c312150e4c2a78dcecb504b')
+ version('1.35.0', 'dce952a7214e72d6597516bcac84048b')
+ version('1.34.1', '2d938467e8a448a2c9763e0a9f8ca7e5')
+ version('1.34.0', 'ed5b9291ffad776f8757a916e1726ad0')
+
def url_for_version(self, version):
"""Handle Boost's weird URLs, which write the version two different ways."""
diff --git a/var/spack/packages/callpath/package.py b/var/spack/packages/callpath/package.py
index 5d92d77302..84170d9c9e 100644
--- a/var/spack/packages/callpath/package.py
+++ b/var/spack/packages/callpath/package.py
@@ -25,13 +25,20 @@
from spack import *
class Callpath(Package):
- homepage = "https://github.com/tgamblin/callpath"
- url = "http://github.com/tgamblin/callpath-0.2.tar.gz"
+ """Library for representing callpaths consistently in
+ distributed-memory performance tools."""
+
+ homepage = "https://github.com/scalability-llnl/callpath"
+ url = "https://github.com/scalability-llnl/callpath/archive/v1.0.1.tar.gz"
+
+ version('1.0.1', '0047983d2a52c5c335f8ba7f5bab2325')
depends_on("dyninst")
+ depends_on("adept-utils")
depends_on("mpi")
def install(self, spec, prefix):
- configure("--prefix=" + prefix)
+ # TODO: offer options for the walker used.
+ cmake('.', "-DCALLPATH_WALKER=dyninst", *std_cmake_args)
make()
make("install")
diff --git a/var/spack/packages/clang/package.py b/var/spack/packages/clang/package.py
new file mode 100644
index 0000000000..b0097bd126
--- /dev/null
+++ b/var/spack/packages/clang/package.py
@@ -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://scalability-llnl.github.io/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License (as published by
+# the Free Software Foundation) version 2.1 dated February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+class Clang(Package):
+ """The goal of the Clang project is to create a new C, C++,
+ Objective C and Objective C++ front-end for the LLVM compiler.
+ """
+ homepage = "http://clang.llvm.org"
+ url = "http://llvm.org/releases/3.4.2/cfe-3.4.2.src.tar.gz"
+
+ depends_on("llvm")
+
+ version('3.4.2', '87945973b7c73038871c5f849a818588')
+
+ def install(self, spec, prefix):
+ env['CXXFLAGS'] = self.compiler.cxx11_flag
+
+ with working_dir('spack-build', create=True):
+ cmake('..',
+ '-DCLANG_PATH_TO_LLVM_BUILD=%s' % spec['llvm'].prefix,
+ '-DLLVM_MAIN_SRC_DIR=%s' % spec['llvm'].prefix,
+ *std_cmake_args)
+ make()
+ make("install")
diff --git a/var/spack/packages/cmake/package.py b/var/spack/packages/cmake/package.py
index 70406610b6..ca6553df84 100644
--- a/var/spack/packages/cmake/package.py
+++ b/var/spack/packages/cmake/package.py
@@ -27,7 +27,8 @@ from spack import *
class Cmake(Package):
homepage = 'https://www.cmake.org'
url = 'http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz'
- versions = { '2.8.10.2' : '097278785da7182ec0aea8769d06860c' }
+
+ version('2.8.10.2', '097278785da7182ec0aea8769d06860c')
def install(self, spec, prefix):
configure('--prefix=' + prefix,
diff --git a/var/spack/packages/cube/package.py b/var/spack/packages/cube/package.py
new file mode 100644
index 0000000000..d97cd25636
--- /dev/null
+++ b/var/spack/packages/cube/package.py
@@ -0,0 +1,55 @@
+# FIXME: Add copyright statement
+#
+from spack import *
+from contextlib import closing
+
+class Cube(Package):
+ """Cube the profile viewer for Score-P and Scalasca profiles. It
+ displays a multi-dimensional performance space consisting
+ of the dimensions (i) performance metric, (ii) call path,
+ and (iii) system resource."""
+
+ homepage = "http://www.scalasca.org/software/cube-4.x/download.html"
+ url = "http://apps.fz-juelich.de/scalasca/releases/cube/4.2/dist/cube-4.2.3.tar.gz"
+
+ version('4.2.3', '8f95b9531f5a8f8134f279c2767c9b20')
+
+ version('4.3TP1', 'a2090fbc7b2ba394bd5c09ba971e237f',
+ url = 'http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-4.3-TP1.tar.gz')
+
+ # Using CC as C++ compiler provides quirky workaround for a Score-P build system attempt
+ # to guess a matching C compiler when configuring scorep-score
+ backend_user_provided = """\
+CC=cc
+CXX=CC
+F77=f77
+FC=f90
+#CFLAGS=-fPIC
+#CXXFLAGS=-fPIC
+"""
+ frontend_user_provided = """\
+CC_FOR_BUILD=cc
+CXX_FOR_BUILD=CC
+F77_FOR_BUILD=f70
+FC_FOR_BUILD=f90
+"""
+
+ def install(self, spec, prefix):
+ # Use a custom compiler configuration, otherwise the score-p
+ # build system messes with spack's compiler settings.
+ # Create these three files in the build directory
+
+ with closing(open("vendor/common/build-config/platforms/platform-backend-user-provided", "w")) as backend_file:
+ backend_file.write(self.backend_user_provided)
+ with closing(open("vendor/common/build-config/platforms/platform-frontend-user-provided", "w")) as frontend_file:
+ frontend_file.write(self.frontend_user_provided)
+
+ configure_args = ["--prefix=%s" % prefix,
+ "--with-custom-compilers",
+ "--without-paraver",
+ "--without-gui"]
+
+ configure(*configure_args)
+
+ make(parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/packages/dtcmp/package.py b/var/spack/packages/dtcmp/package.py
new file mode 100644
index 0000000000..9d940583c1
--- /dev/null
+++ b/var/spack/packages/dtcmp/package.py
@@ -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")
diff --git a/var/spack/packages/dyninst/package.py b/var/spack/packages/dyninst/package.py
index 3f8696b6d8..069237f7ff 100644
--- a/var/spack/packages/dyninst/package.py
+++ b/var/spack/packages/dyninst/package.py
@@ -29,8 +29,8 @@ class Dyninst(Package):
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"
- versions = {'8.1.2' : 'bf03b33375afa66fe0efa46ce3f4b17a',
- '8.1.1' : '1f8743e3a5662b25ce64a7edf647e77d' }
+ version('8.1.2', 'bf03b33375afa66fe0efa46ce3f4b17a')
+ version('8.1.1', '1f8743e3a5662b25ce64a7edf647e77d')
depends_on("libelf")
depends_on("libdwarf")
diff --git a/var/spack/packages/extrae/package.py b/var/spack/packages/extrae/package.py
new file mode 100644
index 0000000000..3b842bc1ec
--- /dev/null
+++ b/var/spack/packages/extrae/package.py
@@ -0,0 +1,38 @@
+from spack import *
+
+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-2.5.1.tar.bz2"
+ version('2.5.1', '422376b9c68243bd36a8a73fa62de106')
+
+ #depends_on("mpi")
+ depends_on("openmpi@:1.6")
+ 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']
+ #if spec.satisfies('@2.5.1') and spec.satisfies('^openmpi@1.6.5'):
+ # tty.error("Some headers conflict when using OpenMPI 1.6.5. Please use 1.6 instead.")
+ 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)
+
diff --git a/var/spack/packages/graphlib/package.py b/var/spack/packages/graphlib/package.py
index c959135147..ddac0b2b66 100644
--- a/var/spack/packages/graphlib/package.py
+++ b/var/spack/packages/graphlib/package.py
@@ -5,7 +5,7 @@ class Graphlib(Package):
homepage = "http://https://github.com/lee218llnl/graphlib"
url = "https://github.com/lee218llnl/graphlib/archive/v2.0.0.tar.gz"
- versions = { '2.0.0' : '43c6df84f1d38ba5a5dce0ae19371a70', }
+ version('2.0.0', '43c6df84f1d38ba5a5dce0ae19371a70')
def install(self, spec, prefix):
cmake(".", *std_cmake_args)
diff --git a/var/spack/packages/hdf5/package.py b/var/spack/packages/hdf5/package.py
index 7705676dba..615c2a7fe4 100644
--- a/var/spack/packages/hdf5/package.py
+++ b/var/spack/packages/hdf5/package.py
@@ -11,10 +11,10 @@ class Hdf5(Package):
list_url = "http://www.hdfgroup.org/ftp/HDF5/releases"
list_depth = 3
- versions = { '1.8.13' : 'c03426e9e77d7766944654280b467289', }
+ version('1.8.13', 'c03426e9e77d7766944654280b467289')
depends_on("mpi")
- depends_on("zlib")
+ depends_on("zlib")
# TODO: currently hard-coded to use OpenMPI
def install(self, spec, prefix):
diff --git a/var/spack/packages/hwloc/package.py b/var/spack/packages/hwloc/package.py
new file mode 100644
index 0000000000..31a31f376a
--- /dev/null
+++ b/var/spack/packages/hwloc/package.py
@@ -0,0 +1,25 @@
+from spack import *
+
+class Hwloc(Package):
+ """The Portable Hardware Locality (hwloc) software package
+ provides a portable abstraction (across OS, versions,
+ architectures, ...) of the hierarchical topology of modern
+ architectures, including NUMA memory nodes, sockets, shared
+ caches, cores and simultaneous multithreading. It also gathers
+ various system attributes such as cache and memory information
+ as well as the locality of I/O devices such as network
+ interfaces, InfiniBand HCAs or GPUs. It primarily aims at
+ helping applications with gathering information about modern
+ computing hardware so as to exploit it accordingly and
+ efficiently."""
+ homepage = "http://www.open-mpi.org/projects/hwloc/"
+ url = "http://www.open-mpi.org/software/hwloc/v1.9/downloads/hwloc-1.9.tar.gz"
+
+ version('1.9', '1f9f9155682fe8946a97c08896109508')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+
+ make()
+ make("install")
+
diff --git a/var/spack/packages/launchmon/package.py b/var/spack/packages/launchmon/package.py
index 7f12f41308..b6773a85bc 100644
--- a/var/spack/packages/launchmon/package.py
+++ b/var/spack/packages/launchmon/package.py
@@ -28,7 +28,7 @@ class Launchmon(Package):
homepage = "http://sourceforge.net/projects/launchmon"
url = "http://downloads.sourceforge.net/project/launchmon/launchmon/1.0.1%20release/launchmon-1.0.1.tar.gz"
- versions = { '1.0.1' : '2f12465803409fd07f91174a4389eb2b' }
+ version('1.0.1', '2f12465803409fd07f91174a4389eb2b')
def install(self, spec, prefix):
configure(
diff --git a/var/spack/packages/libarchive/package.py b/var/spack/packages/libarchive/package.py
new file mode 100644
index 0000000000..cbd4b89cd0
--- /dev/null
+++ b/var/spack/packages/libarchive/package.py
@@ -0,0 +1,16 @@
+from spack import *
+
+class Libarchive(Package):
+ """libarchive: C library and command-line tools for reading and
+ writing tar, cpio, zip, ISO, and other archive formats."""
+ homepage = "http://www.libarchive.org"
+ url = "http://www.libarchive.org/downloads/libarchive-3.1.2.tar.gz"
+
+ version('3.1.2', 'efad5a503f66329bb9d2f4308b5de98a')
+ version('3.1.1', '1f3d883daf7161a0065e42a15bbf168f')
+ version('3.1.0', '095a287bb1fd687ab50c85955692bf3a')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+ make()
+ make("install")
diff --git a/var/spack/packages/libcircle/package.py b/var/spack/packages/libcircle/package.py
new file mode 100644
index 0000000000..3f7c996fb0
--- /dev/null
+++ b/var/spack/packages/libcircle/package.py
@@ -0,0 +1,18 @@
+import os
+from spack import *
+
+class Libcircle(Package):
+ """libcircle provides an efficient distributed queue on a cluster,
+ using self-stabilizing work stealing."""
+
+ homepage = "https://github.com/hpc/libcircle"
+
+ version('0.2.1-rc.1', '2b1369a5736457239f908abf88143ec2',
+ url='https://github.com/hpc/libcircle/releases/download/0.2.1-rc.1/libcircle-0.2.1-rc.1.tar.gz')
+
+ depends_on('mpi')
+
+ def install(self, spec, prefix):
+ configure("--prefix=" + prefix)
+ make()
+ make("install")
diff --git a/var/spack/packages/libdwarf/package.py b/var/spack/packages/libdwarf/package.py
index abd6d1f4a1..c4d71ebc01 100644
--- a/var/spack/packages/libdwarf/package.py
+++ b/var/spack/packages/libdwarf/package.py
@@ -44,9 +44,9 @@ class Libdwarf(Package):
url = "http://www.prevanders.net/libdwarf-20130729.tar.gz"
list_url = homepage
- versions = { '20130729' : '4cc5e48693f7b93b7aa0261e63c0e21d',
- '20130207' : '64b42692e947d5180e162e46c689dfbf',
- '20130126' : 'ded74a5e90edb5a12aac3c29d260c5db' }
+ version('20130729', '4cc5e48693f7b93b7aa0261e63c0e21d')
+ version('20130207', '64b42692e947d5180e162e46c689dfbf')
+ version('20130126', 'ded74a5e90edb5a12aac3c29d260c5db')
depends_on("libelf")
diff --git a/var/spack/packages/libelf/package.py b/var/spack/packages/libelf/package.py
index f663ba750d..bf2fefabd5 100644
--- a/var/spack/packages/libelf/package.py
+++ b/var/spack/packages/libelf/package.py
@@ -33,8 +33,8 @@ class Libelf(Package):
homepage = "http://www.mr511.de/software/english.html"
url = "http://www.mr511.de/software/libelf-0.8.13.tar.gz"
- versions = { '0.8.13' : '4136d7b4c04df68b686570afa26988ac',
- '0.8.12' : 'e21f8273d9f5f6d43a59878dc274fec7', }
+ version('0.8.13', '4136d7b4c04df68b686570afa26988ac')
+ version('0.8.12', 'e21f8273d9f5f6d43a59878dc274fec7')
def install(self, spec, prefix):
configure("--prefix=" + prefix,
diff --git a/var/spack/packages/libevent/package.py b/var/spack/packages/libevent/package.py
index 9b45b532d7..11b1083d67 100644
--- a/var/spack/packages/libevent/package.py
+++ b/var/spack/packages/libevent/package.py
@@ -11,18 +11,17 @@ class Libevent(Package):
url = "https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz"
list_url = "http://libevent.org/old-releases.html"
- versions = {
- '2.0.21' : 'b2405cc9ebf264aa47ff615d9de527a2',
- '2.0.20' : '94270cdee32c0cd0aa9f4ee6ede27e8e',
- '2.0.19' : '91111579769f46055b0a438f5cc59572',
- '2.0.18' : 'aa1ce9bc0dee7b8084f6855765f2c86a',
- '2.0.17' : 'dad64aaaaff16b5fbec25160c06fee9a',
- '2.0.16' : '899efcffccdb3d5111419df76e7dc8df',
- '2.0.15' : '2643abe7ba242df15c08b2cc14ec8759',
- '2.0.14' : 'cac0f379da35d3b98f83ac16fcfe1df4',
- '2.0.13' : 'af786b4b3f790c9d3279792edf7867fc',
- '2.0.12' : '42986228baf95e325778ed328a93e070',
- }
+ version('2.0.21', 'b2405cc9ebf264aa47ff615d9de527a2')
+ version('2.0.20', '94270cdee32c0cd0aa9f4ee6ede27e8e')
+ version('2.0.19', '91111579769f46055b0a438f5cc59572')
+ version('2.0.18', 'aa1ce9bc0dee7b8084f6855765f2c86a')
+ version('2.0.17', 'dad64aaaaff16b5fbec25160c06fee9a')
+ version('2.0.16', '899efcffccdb3d5111419df76e7dc8df')
+ version('2.0.15', '2643abe7ba242df15c08b2cc14ec8759')
+ version('2.0.14', 'cac0f379da35d3b98f83ac16fcfe1df4')
+ version('2.0.13', 'af786b4b3f790c9d3279792edf7867fc')
+ version('2.0.12', '42986228baf95e325778ed328a93e070')
+
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/packages/libmonitor/package.py b/var/spack/packages/libmonitor/package.py
new file mode 100644
index 0000000000..210712436a
--- /dev/null
+++ b/var/spack/packages/libmonitor/package.py
@@ -0,0 +1,37 @@
+##############################################################################
+# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://scalability-llnl.github.io/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License (as published by
+# the Free Software Foundation) version 2.1 dated February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+class Libmonitor(Package):
+ """Libmonitor is a library for process and thread control."""
+ homepage = "http://hpctoolkit.org"
+ url = "file:///g/g0/legendre/tools/oss/openspeedshop-release-2.1/SOURCES/libmonitor-20130218.tar.gz"
+
+ version('20130218', 'aa85c2c580e2dafb823cc47b09374279')
+
+ def install(self, spec, prefix):
+ configure("--prefix=" + prefix)
+ make()
+ make("install")
diff --git a/var/spack/packages/libunwind/package.py b/var/spack/packages/libunwind/package.py
index c93b5b2c98..aeadc85eb3 100644
--- a/var/spack/packages/libunwind/package.py
+++ b/var/spack/packages/libunwind/package.py
@@ -28,7 +28,7 @@ class Libunwind(Package):
homepage = "http://www.nongnu.org/libunwind/"
url = "http://download.savannah.gnu.org/releases/libunwind/libunwind-1.1.tar.gz"
- versions = { '1.1' : 'fb4ea2f6fbbe45bf032cd36e586883ce' }
+ version('1.1', 'fb4ea2f6fbbe45bf032cd36e586883ce')
def install(self, spec, prefix):
configure("--prefix=" + prefix)
diff --git a/var/spack/packages/llvm-lld/package.py b/var/spack/packages/llvm-lld/package.py
new file mode 100644
index 0000000000..f229211396
--- /dev/null
+++ b/var/spack/packages/llvm-lld/package.py
@@ -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://scalability-llnl.github.io/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License (as published by
+# the Free Software Foundation) version 2.1 dated February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+class LlvmLld(Package):
+ """lld - The LLVM Linker
+ lld is a new set of modular code for creating linker tools."""
+ homepage = "http://lld.llvm.org"
+ url = "http://llvm.org/releases/3.4/lld-3.4.src.tar.gz"
+
+ depends_on('llvm')
+
+ version('3.4', '3b6a17e58c8416c869c14dd37682f78e')
+
+ def install(self, spec, prefix):
+ env['CXXFLAGS'] = self.compier.cxx11_flag
+
+ with working_dir('spack-build', create=True):
+ cmake('..',
+ '-DLLD_PATH_TO_LLVM_BUILD=%s' % spec['llvm'].prefix,
+ '-DLLVM_MAIN_SRC_DIR=%s' % spec['llvm'].prefix,
+ *std_cmake_args)
+ make()
+ make("install")
diff --git a/var/spack/packages/llvm/package.py b/var/spack/packages/llvm/package.py
new file mode 100644
index 0000000000..c7a10df55a
--- /dev/null
+++ b/var/spack/packages/llvm/package.py
@@ -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 David Beckingsale, david@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://scalability-llnl.github.io/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License (as published by
+# the Free Software Foundation) version 2.1 dated February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+class Llvm(Package):
+ """The LLVM Project is a collection of modular and reusable compiler and
+ toolchain technologies. Despite its name, LLVM has little to do with
+ traditional virtual machines, though it does provide helpful libraries
+ that can be used to build them. The name "LLVM" itself is not an acronym;
+ it is the full name of the project.
+ """
+ homepage = "http://llvm.org/"
+ url = "http://llvm.org/releases/3.4.2/llvm-3.4.2.src.tar.gz"
+
+ version('3.4.2', 'a20669f75967440de949ac3b1bad439c')
+
+ def install(self, spec, prefix):
+ env['CXXFLAGS'] = self.compiler.cxx11_flag
+
+ with working_dir('spack-build', create=True):
+ cmake('..',
+ '-DLLVM_REQUIRES_RTTI=1',
+ '-DPYTHON_EXECUTABLE=/usr/bin/python',
+ '-DPYTHON_INCLUDE_DIR=/usr/include/python2.6',
+ '-DPYTHON_LIBRARY=/usr/lib64/libpython2.6.so',
+ *std_cmake_args)
+ make()
+ make("install")
diff --git a/var/spack/packages/lwgrp/package.py b/var/spack/packages/lwgrp/package.py
new file mode 100644
index 0000000000..5963382b92
--- /dev/null
+++ b/var/spack/packages/lwgrp/package.py
@@ -0,0 +1,18 @@
+import os
+from spack import *
+
+class Lwgrp(Package):
+ """Thie light-weight group library provides process group
+ representations using O(log N) space and time."""
+
+ homepage = "https://github.com/hpc/lwgrp"
+ url = "https://github.com/hpc/lwgrp/releases/download/v1.0.2/lwgrp-1.0.2.tar.gz"
+
+ version('1.0.2', 'ab7ba3bdd8534a651da5076f47f27d8a')
+
+ depends_on('mpi')
+
+ def install(self, spec, prefix):
+ configure("--prefix=" + prefix)
+ make()
+ make("install")
diff --git a/var/spack/packages/mpich/package.py b/var/spack/packages/mpich/package.py
index 703614a587..19a1efe9c3 100644
--- a/var/spack/packages/mpich/package.py
+++ b/var/spack/packages/mpich/package.py
@@ -32,7 +32,7 @@ class Mpich(Package):
list_url = "http://www.mpich.org/static/downloads/"
list_depth = 2
- versions = { '3.0.4' : '9c5d5d4fe1e17dd12153f40bc5b6dbc0' }
+ version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0')
provides('mpi@:3', when='@3:')
provides('mpi@:1', when='@1:')
diff --git a/var/spack/packages/mpileaks/package.py b/var/spack/packages/mpileaks/package.py
index 3307b9fdee..4ef866588c 100644
--- a/var/spack/packages/mpileaks/package.py
+++ b/var/spack/packages/mpileaks/package.py
@@ -25,13 +25,20 @@
from spack import *
class Mpileaks(Package):
- homepage = "http://www.llnl.gov"
- url = "http://www.llnl.gov/mpileaks-1.0.tar.gz"
+ """Tool to detect and report leaked MPI objects like MPI_Requests and MPI_Datatypes."""
+
+ homepage = "https://github.com/hpc/mpileaks"
+ url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
+
+ version('1.0', '8838c574b39202a57d7c2d68692718aa')
depends_on("mpi")
+ depends_on("adept-utils")
depends_on("callpath")
def install(self, spec, prefix):
- configure("--prefix=" + prefix)
+ configure("--prefix=" + prefix,
+ "--with-adept-utils=" + spec['adept-utils'].prefix,
+ "--with-callpath=" + spec['callpath'].prefix)
make()
make("install")
diff --git a/var/spack/packages/mrnet/package.py b/var/spack/packages/mrnet/package.py
index 89eeaf1e71..6e9766f275 100644
--- a/var/spack/packages/mrnet/package.py
+++ b/var/spack/packages/mrnet/package.py
@@ -5,8 +5,9 @@ class Mrnet(Package):
homepage = "http://paradyn.org/mrnet"
url = "ftp://ftp.cs.wisc.edu/paradyn/mrnet/mrnet_4.0.0.tar.gz"
- versions = { '4.0.0' : 'd00301c078cba57ef68613be32ceea2f', }
- versions = { '4.1.0' : '5a248298b395b329e2371bf25366115c', }
+ version('4.0.0', 'd00301c078cba57ef68613be32ceea2f')
+ version('4.1.0', '5a248298b395b329e2371bf25366115c')
+
parallel = False
depends_on("boost")
diff --git a/var/spack/packages/mvapich2/package.py b/var/spack/packages/mvapich2/package.py
index f372679f49..ca0b1287c1 100644
--- a/var/spack/packages/mvapich2/package.py
+++ b/var/spack/packages/mvapich2/package.py
@@ -1,27 +1,104 @@
+import os
from spack import *
class Mvapich2(Package):
"""mvapich2 is an MPI implmenetation for infiniband networks."""
-
homepage = "http://mvapich.cse.ohio-state.edu/"
- url = "http://mvapich.cse.ohio-state.edu/download/mvapich2/mv2/mvapich2-1.9.tgz"
- versions = { '1.9' : '5dc58ed08fd3142c260b70fe297e127c', }
+ version('1.9', '5dc58ed08fd3142c260b70fe297e127c',
+ url="http://mvapich.cse.ohio-state.edu/download/mvapich2/mv2/mvapich2-1.9.tgz")
+ patch('ad_lustre_rwcontig_open_source.patch', when='@1.9')
+
+ version('2.0', '9fbb68a4111a8b6338e476dc657388b4',
+ url='http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.0.tar.gz')
- provides('mpi@:1', when='@1.9:')
+ provides('mpi@:2.2', when='@1.9') # MVAPICH2-1.9 supports MPI 2.2
+ provides('mpi@:3.0', when='@2.0') # MVAPICH2-2.0 supports MPI 3.0
- patch('ad_lustre_rwcontig_open_source.patch', when='@1.9:')
def install(self, spec, prefix):
+ # we'll set different configure flags depending on our environment
+ configure_args = []
+
+ # TODO: The MPICH*_FLAGS have a different name for 1.9
+
+ if '+debug' in spec:
+ # set configure flags for debug build
+ configure_args.append("--disable-fast")
+ configure_args.append("--enable-g=dbg")
+ configure_args.append("--enable-error-checking=runtime")
+ configure_args.append("--enable-error-messages=all")
+ configure_args.append("--enable-nmpi-as-mpi")
+
+ if "%gnu" in spec:
+ # set variables for GNU compilers
+ os.environ['MPICHLIB_CFLAGS'] = "-g -O0"
+ os.environ['MPICHLIB_CXXFLAGS'] = "-g -O0"
+ os.environ['MPICHLIB_FFLAGS'] = "-g -O0 -fno-second-underscore"
+ os.environ['MPICHLIB_F90FLAGS'] = "-g -O0 -fno-second-underscore"
+ elif "%intel" in spec:
+ # set variables for Inel compilers
+ os.environ['MPICHLIB_CFLAGS'] = "-g -O0"
+ os.environ['MPICHLIB_CXXFLAGS'] = "-g -O0"
+ os.environ['MPICHLIB_FFLAGS'] = "-g -O0"
+ os.environ['MPICHLIB_F90FLAGS'] = "-g -O0"
+ elif "%pgi" in spec:
+ # set variables for PGI compilers
+ os.environ['MPICHLIB_CFLAGS'] = "-g -O0 -fPIC"
+ os.environ['MPICHLIB_CXXFLAGS'] = "-g -O0 -fPIC"
+ os.environ['MPICHLIB_FFLAGS'] = "-g -O0 -fPIC"
+ os.environ['MPICHLIB_F90FLAGS'] = "-g -O0 -fPIC"
+
+ else:
+ # set configure flags for normal optimizations
+ configure_args.append("--enable-fast=all")
+ configure_args.append("--enable-g=dbg")
+ configure_args.append("--enable-nmpi-as-mpi")
+
+ if "%gnu" in spec:
+ # set variables for what compilers
+ os.environ['MPICHLIB_CFLAGS'] = "-g -O2"
+ os.environ['MPICHLIB_CXXFLAGS'] = "-g -O2"
+ os.environ['MPICHLIB_FFLAGS'] = "-g -O2 -fno-second-underscore"
+ os.environ['MPICHLIB_F90FLAGS'] = "-g -O2 -fno-second-underscore"
+ elif "%intel" in spec:
+ # set variables for Inel compilers
+ os.environ['MPICHLIB_CFLAGS'] = "-g -O2"
+ os.environ['MPICHLIB_CXXFLAGS'] = "-g -O2"
+ os.environ['MPICHLIB_FFLAGS'] = "-g -O2"
+ os.environ['MPICHLIB_F90FLAGS'] = "-g -O2"
+ elif "%pgi" in spec:
+ # set variables for PGI compilers
+ os.environ['MPICHLIB_CFLAGS'] = "-g -O2 -fPIC"
+ os.environ['MPICHLIB_CXXFLAGS'] = "-g -O2 -fPIC"
+ os.environ['MPICHLIB_FFLAGS'] = "-g -O2 -fPIC"
+ os.environ['MPICHLIB_F90FLAGS'] = "-g -O2 -fPIC"
+
+ # determine network type by variant
+ if "+psm" in spec:
+ # throw this flag on QLogic systems to use PSM
+ configure_args.append("--with-device=ch3:psm")
+ else:
+ # throw this flag on IB systems
+ configure_args.append("--with-device=ch3:mrail", "--with-rdma=gen2")
+
+ # TODO: shared-memory build
+
+ # TODO: CUDA
+
+ # TODO: other file systems like panasis
+
configure(
"--prefix=" + prefix,
"--enable-f77", "--enable-fc", "--enable-cxx",
- "--enable-fast=all", "--enable-g=dbg", "--enable-nmpi-as-mpi",
"--enable-shared", "--enable-sharedlibs=gcc",
"--enable-debuginfo",
"--with-pm=no", "--with-pmi=slurm",
- "--with-device=ch3:psm",
"--enable-romio", "--with-file-system=lustre+nfs+ufs",
- "--disable-mpe", "--without-mpe")
+ "--disable-mpe", "--without-mpe",
+ "--disable-silent-rules",
+ *configure_args)
+
make()
+
make("install")
diff --git a/var/spack/packages/ncurses/package.py b/var/spack/packages/ncurses/package.py
index 221860374b..4885caa628 100644
--- a/var/spack/packages/ncurses/package.py
+++ b/var/spack/packages/ncurses/package.py
@@ -8,14 +8,12 @@ class Ncurses(Package):
"""
homepage = "http://invisible-island.net/ncurses/ncurses.html"
- url = "http://invisible-island.net/datafiles/release/ncurses.tar.gz"
- versions = { 'stable' : '8cb9c412e5f2d96bc6f459aa8c6282a1' }
+ version('5.9', '8cb9c412e5f2d96bc6f459aa8c6282a1',
+ url='http://invisible-island.net/datafiles/release/ncurses.tar.gz')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
make()
make("install")
- def url_for_version(self, version):
- return "http://invisible-island.net/datafiles/release/ncurses.tar.gz"
diff --git a/var/spack/packages/ompss/package.py b/var/spack/packages/ompss/package.py
new file mode 100644
index 0000000000..544671de38
--- /dev/null
+++ b/var/spack/packages/ompss/package.py
@@ -0,0 +1,49 @@
+from spack import *
+import os
+import glob
+
+# working config lines for ompss 14.06 :
+#./nanox-0.7/config.log: $ ./configure --prefix=/usr/gapps/exmatex/ompss --with-mcc=/usr/gapps/exmatex/ompss/ --with-hwloc=/usr
+#./mcxx-1.99.2/config.log: $ ./configure --prefix=/usr/gapps/exmatex/ompss --with-nanox=/usr/gapps/exmatex/ompss --enable-ompss --with-mpi=/opt/mvapich2-intel-shmem-1.7 --enable-tl-openmp-profile --enable-tl-openmp-intel
+
+class Ompss(Package):
+ """OmpSs is an effort to integrate features from the StarSs
+ programming model developed by BSC into a single programming
+ model. In particular, our objective is to extend OpenMP with
+ new directives to support asynchronous parallelism and
+ heterogeneity (devices like GPUs). However, it can also be
+ understood as new directives extending other accelerator based
+ APIs like CUDA or OpenCL. Our OmpSs environment is built on top
+ of our Mercurium compiler and Nanos++ runtime system."""
+ homepage = "http://pm.bsc.es/"
+ url = "http://pm.bsc.es/sites/default/files/ftp/ompss/releases/ompss-14.06.tar.gz"
+ version('14.06', '99be5dce74c0d7eea42636d26af47b4181ae2e11')
+
+ # all dependencies are optional, really
+ depends_on("mpi")
+ #depends_on("openmp")
+ depends_on("hwloc")
+ depends_on("extrae")
+
+ def install(self, spec, prefix):
+ if 'openmpi' in spec:
+ mpi = spec['openmpi']
+ elif 'mpich' in spec:
+ mpi = spec['mpich']
+ elif 'mvapich' in spec:
+ mpi = spec['mvapich']
+
+ openmp_options = ["--enable-tl-openmp-profile"]
+ if spec.satisfies('%intel'):
+ openmp_options.append( "--enable-tl-openmp-intel" )
+
+ os.chdir(glob.glob('./nanox-*').pop())
+ configure("--prefix=%s" % prefix, "--with-mcc=%s" % prefix, "--with-extrae=%s" % spec['extrae'].prefix, "--with-hwloc=%s" % spec['hwloc'].prefix)
+ make()
+ make("install")
+
+ os.chdir(glob.glob('../mcxx-*').pop())
+ configure("--prefix=%s" % prefix, "--with-nanox=%s" % prefix, "--enable-ompss", "--with-mpi=%s" % mpi.prefix, *openmp_options)
+ make()
+ make("install")
+
diff --git a/var/spack/packages/opari2/package.py b/var/spack/packages/opari2/package.py
new file mode 100644
index 0000000000..daaee61e3a
--- /dev/null
+++ b/var/spack/packages/opari2/package.py
@@ -0,0 +1,65 @@
+# FIXME: Add copyright statement here
+
+from spack import *
+from contextlib import closing
+
+class Opari2(Package):
+ """OPARI2 is a source-to-source instrumentation tool for OpenMP and
+ hybrid codes. It surrounds OpenMP directives and runtime library
+ calls with calls to the POMP2 measurement interface.
+ OPARI2 will provide you with a new initialization method that allows
+ for multi-directory and parallel builds as well as the usage of
+ pre-instrumented libraries. Furthermore, an efficient way of
+ tracking parent-child relationships was added. Additionally, we
+ extended OPARI2 to support instrumentation of OpenMP 3.0
+ tied tasks. """
+
+ homepage = "http://www.vi-hps.org/projects/score-p"
+ url = "http://www.vi-hps.org/upload/packages/opari2/opari2-1.1.2.tar.gz"
+
+ version('1.1.2', '9a262c7ca05ff0ab5f7775ae96f3539e')
+
+ backend_user_provided = """\
+CC=cc
+CXX=c++
+F77=f77
+FC=f90
+CFLAGS=-fPIC
+CXXFLAGS=-fPIC
+"""
+ frontend_user_provided = """\
+CC_FOR_BUILD=cc
+CXX_FOR_BUILD=c++
+F77_FOR_BUILD=f70
+FC_FOR_BUILD=f90
+CFLAGS_FOR_BUILD=-fPIC
+CXXFLAGS_FOR_BUILD=-fPIC
+"""
+ mpi_user_provided = """\
+MPICC=mpicc
+MPICXX=mpicxx
+MPIF77=mpif77
+MPIFC=mpif90
+MPI_CFLAGS=-fPIC
+MPI_CXXFLAGS=-fPIC
+"""
+
+ def install(self, spec, prefix):
+ # Use a custom compiler configuration, otherwise the score-p
+ # build system messes with spack's compiler settings.
+ # Create these three files in the build directory
+ with closing(open("platform-backend-user-provided", "w")) as backend_file:
+ backend_file.write(self.backend_user_provided)
+ with closing(open("platform-frontend-user-provided", "w")) as frontend_file:
+ frontend_file.write(self.frontend_user_provided)
+ with closing(open("platform-mpi-user-provided", "w")) as mpi_file:
+ mpi_file.write(self.mpi_user_provided)
+
+ # FIXME: Modify the configure line to suit your build system here.
+ configure("--prefix=%s" % prefix,
+ "--with-custom-compilers",
+ "--enable-shared")
+
+ # FIXME: Add logic to build and install here
+ make()
+ make("install")
diff --git a/var/spack/packages/openmpi/package.py b/var/spack/packages/openmpi/package.py
index 5ac231a33f..0ce09bdd8d 100644
--- a/var/spack/packages/openmpi/package.py
+++ b/var/spack/packages/openmpi/package.py
@@ -12,7 +12,7 @@ class Openmpi(Package):
homepage = "http://www.open-mpi.org"
url = "http://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.5.tar.bz2"
- versions = { '1.6.5' : '03aed2a4aa4d0b27196962a2a65fc475', }
+ version('1.6.5', '03aed2a4aa4d0b27196962a2a65fc475')
provides('mpi@:2')
diff --git a/var/spack/packages/openssl/package.py b/var/spack/packages/openssl/package.py
new file mode 100644
index 0000000000..c5a8aeb9dc
--- /dev/null
+++ b/var/spack/packages/openssl/package.py
@@ -0,0 +1,26 @@
+from spack import *
+
+class Openssl(Package):
+ """The OpenSSL Project is a collaborative effort to develop a
+ robust, commercial-grade, full-featured, and Open Source
+ toolkit implementing the Secure Sockets Layer (SSL v2/v3) and
+ Transport Layer Security (TLS v1) protocols as well as a
+ full-strength general purpose cryptography library."""
+ homepage = "http://www.openssl.org"
+ url = "http://www.openssl.org/source/openssl-1.0.1h.tar.gz"
+
+ version('1.0.1h', '8d6d684a9430d5cc98a62a5d8fbda8cf')
+
+ depends_on("zlib")
+ parallel = False
+
+ def install(self, spec, prefix):
+ config = Executable("./config")
+ config("--prefix=%s" % prefix,
+ "--openssldir=%s/etc/openssl" % prefix,
+ "zlib",
+ "no-krb5",
+ "shared")
+
+ make()
+ make("install")
diff --git a/var/spack/packages/otf2/package.py b/var/spack/packages/otf2/package.py
new file mode 100644
index 0000000000..fa0a5898b6
--- /dev/null
+++ b/var/spack/packages/otf2/package.py
@@ -0,0 +1,74 @@
+# FIXME: Add copyright
+
+from spack import *
+from contextlib import closing
+import os
+
+class Otf2(Package):
+ """The Open Trace Format 2 is a highly scalable, memory efficient event
+ trace data format plus support library."""
+
+ homepage = "http://www.vi-hps.org/score-p"
+ url = "http://www.vi-hps.org/upload/packages/otf2/otf2-1.4.tar.gz"
+
+ version('1.4', 'a23c42e936eb9209c4e08b61c3cf5092',
+ url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.4.tar.gz")
+ version('1.3.1', 'd0ffc4e858455ace4f596f910e68c9f2',
+ url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.3.1.tar.gz")
+ version('1.2.1', '8fb3e11fb7489896596ae2c7c83d7fc8',
+ url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.2.1.tar.gz")
+
+ backend_user_provided = """\
+CC=cc
+CXX=c++
+F77=f77
+FC=f90
+CFLAGS=-fPIC
+CXXFLAGS=-fPIC
+"""
+ frontend_user_provided = """\
+CC_FOR_BUILD=cc
+CXX_FOR_BUILD=c++
+F77_FOR_BUILD=f70
+FC_FOR_BUILD=f90
+CFLAGS_FOR_BUILD=-fPIC
+CXXFLAGS_FOR_BUILD=-fPIC
+"""
+ mpi_user_provided = """\
+MPICC=cc
+MPICXX=c++
+MPIF77=f77
+MPIFC=f90
+MPI_CFLAGS=-fPIC
+MPI_CXXFLAGS=-fPIC
+"""
+
+ @when('@:1.2.1')
+ def version_specific_args(self):
+ return ["--with-platform=disabled", "CC=cc", "CXX=c++", "F77=f77", "F90=f90", "CFLAGS=-fPIC", "CXXFLAGS=-fPIC"]
+
+ @when('@1.3:')
+ def version_specific_args(self):
+ # TODO: figure out what scorep's build does as of otf2 1.3
+ return ["--with-custom-compilers"]
+
+ def install(self, spec, prefix):
+ # Use a custom compiler configuration, otherwise the score-p
+ # build system messes with spack's compiler settings.
+ # Create these three files in the build directory
+ with closing(open("platform-backend-user-provided", "w")) as backend_file:
+ backend_file.write(self.backend_user_provided)
+ with closing(open("platform-frontend-user-provided", "w")) as frontend_file:
+ frontend_file.write(self.frontend_user_provided)
+ with closing(open("platform-mpi-user-provided", "w")) as mpi_file:
+ mpi_file.write(self.mpi_user_provided)
+
+ configure_args=["--prefix=%s" % prefix,
+ "--enable-shared"]
+
+ configure_args.extend(self.version_specific_args())
+
+ configure(*configure_args)
+
+ make()
+ make("install")
diff --git a/var/spack/packages/papi/package.py b/var/spack/packages/papi/package.py
new file mode 100644
index 0000000000..596f7114d6
--- /dev/null
+++ b/var/spack/packages/papi/package.py
@@ -0,0 +1,35 @@
+from spack import *
+import os
+
+class Papi(Package):
+ """PAPI provides the tool designer and application engineer with a
+ consistent interface and methodology for use of the performance
+ counter hardware found in most major microprocessors. PAPI
+ enables software engineers to see, in near real time, the
+ relation between software performance and processor events. In
+ addition Component PAPI provides access to a collection of
+ components that expose performance measurement opportunites
+ across the hardware and software stack."""
+ homepage = "http://icl.cs.utk.edu/papi/index.html"
+ url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.3.0.tar.gz"
+
+ version('5.3.0', '367961dd0ab426e5ae367c2713924ffb')
+
+ def install(self, spec, prefix):
+ os.chdir("src/")
+
+ configure_args=["--prefix=%s" % prefix]
+
+ # need to force consistency in the use of compilers
+ if spec.satisfies('%gcc'):
+ configure_args.append('CC=gcc')
+ configure_args.append('MPICH_CC=gcc')
+ if spec.satisfies('%intel'):
+ configure_args.append('CC=icc')
+ configure_args.append('MPICH_CC=icc')
+
+ configure(*configure_args)
+
+ make()
+ make("install")
+
diff --git a/var/spack/packages/paraver/package.py b/var/spack/packages/paraver/package.py
new file mode 100644
index 0000000000..45bac95b28
--- /dev/null
+++ b/var/spack/packages/paraver/package.py
@@ -0,0 +1,41 @@
+from spack import *
+import os
+
+class Paraver(Package):
+ """"A very powerful performance visualization and analysis tool
+ based on traces that can be used to analyse any information that
+ is expressed on its input trace format. Traces for parallel MPI,
+ OpenMP and other programs can be genereated with Extrae."""
+ homepage = "http://www.bsc.es/computer-sciences/performance-tools/paraver"
+ url = "http://www.bsc.es/ssl/apps/performanceTools/files/paraver-sources-4.5.2.tar.gz"
+
+ version('4.5.2', 'ea463dd494519395c99ebae294edee17')
+
+ depends_on("boost")
+ #depends_on("extrae")
+ depends_on("wx")
+ depends_on("wxpropgrid")
+
+ def install(self, spec, prefix):
+ os.chdir("ptools_common_files")
+ configure("--prefix=%s" % prefix)
+ make()
+ make("install")
+
+ os.chdir("../paraver-kernel")
+ #"--with-extrae=%s" % spec['extrae'].prefix,
+ configure("--prefix=%s" % prefix, "--with-ptools-common-files=%s" % prefix, "--with-boost=%s" % spec['boost'].prefix, "--with-boost-serialization=boost_serialization")
+ make()
+ make("install")
+
+ os.chdir("../paraver-toolset")
+ configure("--prefix=%s" % prefix)
+ make()
+ make("install")
+
+ os.chdir("../wxparaver")
+ #"--with-extrae=%s" % spec['extrae'].prefix,
+ configure("--prefix=%s" % prefix, "--with-paraver=%s" % prefix, "--with-boost=%s" % spec['boost'].prefix, "--with-boost-serialization=boost_serialization", "--with-wxdir=%s" % spec['wx'].prefix.bin)
+ make()
+ make("install")
+
diff --git a/var/spack/packages/parmetis/package.py b/var/spack/packages/parmetis/package.py
index 10a48503b2..d8cd337304 100644
--- a/var/spack/packages/parmetis/package.py
+++ b/var/spack/packages/parmetis/package.py
@@ -8,7 +8,7 @@ class Parmetis(Package):
homepage = "http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview"
url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz"
- versions = { '4.0.3' : 'f69c479586bf6bb7aff6a9bc0c739628', }
+ version('4.0.3', 'f69c479586bf6bb7aff6a9bc0c739628')
depends_on('mpi')
diff --git a/var/spack/packages/pmgr_collective/package.py b/var/spack/packages/pmgr_collective/package.py
index 0874e2d17b..5d9b02acc3 100644
--- a/var/spack/packages/pmgr_collective/package.py
+++ b/var/spack/packages/pmgr_collective/package.py
@@ -30,7 +30,7 @@ class PmgrCollective(Package):
homepage = "http://www.sourceforge.net/projects/pmgrcollective"
url = "http://downloads.sourceforge.net/project/pmgrcollective/pmgrcollective/PMGR_COLLECTIVE-1.0/pmgr_collective-1.0.tgz"
- versions = { '1.0' : '0384d008774274cc3fc7b4d810dfd07e' }
+ version('1.0', '0384d008774274cc3fc7b4d810dfd07e')
def install(self, spec, prefix):
make('PREFIX="' + prefix + '"')
diff --git a/var/spack/packages/postgresql/package.py b/var/spack/packages/postgresql/package.py
new file mode 100644
index 0000000000..46922b7b71
--- /dev/null
+++ b/var/spack/packages/postgresql/package.py
@@ -0,0 +1,20 @@
+from spack import *
+
+class Postgresql(Package):
+ """PostgreSQL is a powerful, open source object-relational
+ database system. It has more than 15 years of active
+ development and a proven architecture that has earned it a
+ strong reputation for reliability, data integrity, and
+ correctness."""
+ homepage = "http://www.postgresql.org/"
+ url = "http://ftp.postgresql.org/pub/source/v9.3.4/postgresql-9.3.4.tar.bz2"
+
+ version('9.3.4', 'd0a41f54c377b2d2fab4a003b0dac762')
+
+ depends_on("openssl")
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix,
+ "--with-openssl")
+ make()
+ make("install")
diff --git a/var/spack/packages/scalasca/package.py b/var/spack/packages/scalasca/package.py
new file mode 100644
index 0000000000..b76d0a7df5
--- /dev/null
+++ b/var/spack/packages/scalasca/package.py
@@ -0,0 +1,43 @@
+# FIXME: Add copyright
+
+from spack import *
+
+class Scalasca(Package):
+ """Scalasca is a software tool that supports the performance optimization
+ of parallel programs by measuring and analyzing their runtime behavior.
+ The analysis identifies potential performance bottlenecks - in
+ particular those concerning communication and synchronization - and
+ offers guidance in exploring their causes."""
+
+ # FIXME: add a proper url for your package's homepage here.
+ homepage = "http://www.scalasca.org"
+ url = "http://apps.fz-juelich.de/scalasca/releases/scalasca/2.1/dist/scalasca-2.1-rc2.tar.gz"
+
+ version('2.1-rc2', '1a95a39e5430539753e956a7524a756b')
+
+ depends_on("mpi")
+ depends_on("otf2@1.4")
+ depends_on("cube")
+
+ def install(self, spec, prefix):
+ configure_args = ["--prefix=%s" % prefix,
+ "--with-otf2=%s" % spec['otf2'].prefix.bin,
+ "--with-cube=%s" % spec['cube'].prefix.bin,
+ "--enable-shared"]
+
+ if spec.satisfies('%gcc'):
+ configure_args.append('--with-nocross-compiler-suite=gcc')
+ if spec.satisfies('%intel'):
+ configure_args.append('--with-nocross-compiler-suite=intel')
+
+ configure(*configure_args)
+
+ make()
+ make("install")
+
+ # FIXME: Modify the configure line to suit your build system here.
+ configure("--prefix=%s" % prefix)
+
+ # FIXME: Add logic to build and install here
+ make()
+ make("install")
diff --git a/var/spack/packages/scorep/package.py b/var/spack/packages/scorep/package.py
new file mode 100644
index 0000000000..32a772e3db
--- /dev/null
+++ b/var/spack/packages/scorep/package.py
@@ -0,0 +1,75 @@
+# FIXME: Add copyright statement
+
+from spack import *
+from contextlib import closing
+
+class Scorep(Package):
+ """The Score-P measurement infrastructure is a highly scalable and
+ easy-to-use tool suite for profiling, event tracing, and online
+ analysis of HPC applications."""
+
+ # FIXME: add a proper url for your package's homepage here.
+ homepage = "http://www.vi-hps.org/projects/score-p"
+ url = "http://www.vi-hps.org/upload/packages/scorep/scorep-1.2.3.tar.gz"
+
+ version('1.3', '9db6f957b7f51fa01377a9537867a55c',
+ url = 'http://www.vi-hps.org/upload/packages/scorep/scorep-1.3.tar.gz')
+
+ version('1.2.3', '4978084e7cbd05b94517aa8beaea0817')
+
+ depends_on("mpi")
+ depends_on("papi")
+ # depends_on("otf2@1.2:1.2.1") # only Score-P 1.2.x
+ depends_on("otf2")
+ depends_on("opari2")
+ depends_on("cube@4.2:4.2.3")
+
+ backend_user_provided = """\
+CC=cc
+CXX=c++
+F77=f77
+FC=f90
+CFLAGS=-fPIC
+CXXFLAGS=-fPIC
+"""
+ frontend_user_provided = """\
+CC_FOR_BUILD=cc
+CXX_FOR_BUILD=c++
+F77_FOR_BUILD=f70
+FC_FOR_BUILD=f90
+CFLAGS_FOR_BUILD=-fPIC
+CXXFLAGS_FOR_BUILD=-fPIC
+"""
+ mpi_user_provided = """\
+MPICC=mpicc
+MPICXX=mpicxx
+MPIF77=mpif77
+MPIFC=mpif90
+MPI_CFLAGS=-fPIC
+MPI_CXXFLAGS=-fPIC
+"""
+
+ def install(self, spec, prefix):
+ # Use a custom compiler configuration, otherwise the score-p
+ # build system messes with spack's compiler settings.
+ # Create these three files in the build directory
+ with closing(open("platform-backend-user-provided", "w")) as backend_file:
+ backend_file.write(self.backend_user_provided)
+ with closing(open("platform-frontend-user-provided", "w")) as frontend_file:
+ frontend_file.write(self.frontend_user_provided)
+ with closing(open("platform-mpi-user-provided", "w")) as mpi_file:
+ mpi_file.write(self.mpi_user_provided)
+
+ configure_args = ["--prefix=%s" % prefix,
+ "--with-custom-compilers",
+ "--with-otf2=%s" % spec['otf2'].prefix.bin,
+ "--with-opari2=%s" % spec['opari2'].prefix.bin,
+ "--with-cube=%s" % spec['cube'].prefix.bin,
+ "--with-papi-header=%s" % spec['papi'].prefix.include,
+ "--with-papi-lib=%s" % spec['papi'].prefix.lib,
+ "--enable-shared"]
+
+ configure(*configure_args)
+
+ make()
+ make("install")
diff --git a/var/spack/packages/scr/package.py b/var/spack/packages/scr/package.py
index cb908e830e..d480dba62f 100644
--- a/var/spack/packages/scr/package.py
+++ b/var/spack/packages/scr/package.py
@@ -30,7 +30,7 @@ class Scr(Package):
depends_on("mpi")
- versions = { '1.1-7' : 'a5930e9ab27d1b7049447c2fd7734ebd' }
+ version('1.1-7', 'a5930e9ab27d1b7049447c2fd7734ebd')
def install(self, spec, prefix):
configure("--prefix=" + prefix,
diff --git a/var/spack/packages/spindle/package.py b/var/spack/packages/spindle/package.py
index 0d106221d8..bb0b74ab6f 100644
--- a/var/spack/packages/spindle/package.py
+++ b/var/spack/packages/spindle/package.py
@@ -29,7 +29,7 @@ class Spindle(Package):
url = "https://github.com/hpc/Spindle/archive/v0.8.1.tar.gz"
list_url = "https://github.com/hpc/Spindle/releases"
- versions = {'0.8.1' : 'f11793a6b9d8df2cd231fccb2857d912' }
+ version('0.8.1', 'f11793a6b9d8df2cd231fccb2857d912')
depends_on("launchmon")
diff --git a/var/spack/packages/sqlite/package.py b/var/spack/packages/sqlite/package.py
new file mode 100644
index 0000000000..734b0b6cb6
--- /dev/null
+++ b/var/spack/packages/sqlite/package.py
@@ -0,0 +1,40 @@
+##############################################################################
+# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://scalability-llnl.github.io/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License (as published by
+# the Free Software Foundation) version 2.1 dated February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+class Sqlite(Package):
+ """SQLite3 is an SQL database engine in a C library. Programs that
+ link the SQLite3 library can have SQL database access without
+ running a separate RDBMS process.
+ """
+ homepage = "www.sqlite.org"
+
+ version('3.8.5', '0544ef6d7afd8ca797935ccc2685a9ed',
+ url='http://www.sqlite.org/2014/sqlite-autoconf-3080500.tar.gz')
+
+ def install(self, spec, prefix):
+ configure("--prefix=" + prefix)
+ make()
+ make("install")
diff --git a/var/spack/packages/stat/package.py b/var/spack/packages/stat/package.py
index 9f156d53e7..956b0dcc8c 100644
--- a/var/spack/packages/stat/package.py
+++ b/var/spack/packages/stat/package.py
@@ -5,8 +5,8 @@ class Stat(Package):
homepage = "http://paradyn.org/STAT/STAT.html"
url = "https://github.com/lee218llnl/stat/archive/v2.0.0.tar.gz"
- versions = { '2.0.0' : 'c7494210b0ba26b577171b92838e1a9b', }
- versions = { '2.1.0' : 'ece26beaf057aa9134d62adcdda1ba91', }
+ version('2.0.0', 'c7494210b0ba26b577171b92838e1a9b')
+ version('2.1.0', 'ece26beaf057aa9134d62adcdda1ba91')
depends_on('libdwarf')
depends_on('dyninst')
@@ -20,6 +20,7 @@ class Stat(Package):
configure(
"--enable-gui",
"--prefix=%s" % prefix,
+ "--disable-examples", # Examples require MPI: avoid this dependency.
"--with-launchmon=%s" % spec['launchmon'].prefix,
"--with-mrnet=%s" % spec['mrnet'].prefix,
"--with-graphlib=%s" % spec['graphlib'].prefix,
diff --git a/var/spack/packages/tau/package.py b/var/spack/packages/tau/package.py
index 62c467b572..048fac80aa 100644
--- a/var/spack/packages/tau/package.py
+++ b/var/spack/packages/tau/package.py
@@ -10,7 +10,7 @@ class Tau(Package):
homepage = "http://www.cs.uoregon.edu/research/tau"
url = "http://www.cs.uoregon.edu/research/paracomp/tau/tauprofile/dist/tau-2.23.1.tar.gz"
- versions = { '2.23.1' : '6593b47ae1e7a838e632652f0426fe72', }
+ version('2.23.1', '6593b47ae1e7a838e632652f0426fe72')
def install(self, spec, prefix):
# TAU isn't happy with directories that have '@' in the path. Sigh.
diff --git a/var/spack/packages/tmux/package.py b/var/spack/packages/tmux/package.py
index d4e3d9f829..23d36db427 100644
--- a/var/spack/packages/tmux/package.py
+++ b/var/spack/packages/tmux/package.py
@@ -10,7 +10,7 @@ class Tmux(Package):
homepage = "http://tmux.sourceforge.net"
url = "http://downloads.sourceforge.net/project/tmux/tmux/tmux-1.9/tmux-1.9a.tar.gz"
- versions = { '1.9a' : 'b07601711f96f1d260b390513b509a2d', }
+ version('1.9a', 'b07601711f96f1d260b390513b509a2d')
depends_on('libevent')
depends_on('ncurses')
diff --git a/var/spack/packages/vim/package.py b/var/spack/packages/vim/package.py
index 9398134b50..5c6d7cb56b 100644
--- a/var/spack/packages/vim/package.py
+++ b/var/spack/packages/vim/package.py
@@ -13,19 +13,17 @@ class Vim(Package):
url = "ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2"
list_url = "http://ftp.vim.org/pub/vim/unix/"
- versions = {
- '7.4' : '607e135c559be642f210094ad023dc65',
- '7.3' : '5b9510a17074e2b37d8bb38ae09edbf2',
- '7.2' : 'f0901284b338e448bfd79ccca0041254',
- '7.1' : '44c6b4914f38d6f9aa959640b89da329',
- '7.0' : '4ca69757678272f718b1041c810d82d8',
- '6.4' : '774c14d93ce58674b3b2c880edd12d77',
- '6.3' : '821fda8f14d674346b87e3ef9cb96389',
- '6.2' : 'c49d360bbd069d00e2a57804f2a123d9',
- '6.1.405' : 'd220ff58f2c72ed606e6d0297c2f2a7c',
- '6.1' : '7fd0f915adc7c0dab89772884268b030',
- '6.0' : '9d9ca84d489af6b3f54639dd97af3774',
- }
+ version('7.4', '607e135c559be642f210094ad023dc65')
+ version('7.3', '5b9510a17074e2b37d8bb38ae09edbf2')
+ version('7.2', 'f0901284b338e448bfd79ccca0041254')
+ version('7.1', '44c6b4914f38d6f9aa959640b89da329')
+ version('7.0', '4ca69757678272f718b1041c810d82d8')
+ version('6.4', '774c14d93ce58674b3b2c880edd12d77')
+ version('6.3', '821fda8f14d674346b87e3ef9cb96389')
+ version('6.2', 'c49d360bbd069d00e2a57804f2a123d9')
+ version('6.1.405', 'd220ff58f2c72ed606e6d0297c2f2a7c')
+ version('6.1', '7fd0f915adc7c0dab89772884268b030')
+ version('6.0', '9d9ca84d489af6b3f54639dd97af3774')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/packages/wx/package.py b/var/spack/packages/wx/package.py
new file mode 100644
index 0000000000..1813a8c8a5
--- /dev/null
+++ b/var/spack/packages/wx/package.py
@@ -0,0 +1,24 @@
+from spack import *
+
+class Wx(Package):
+ """wxWidgets is a C++ library that lets developers create
+ applications for Windows, Mac OS X, Linux and other platforms
+ with a single code base. It has popular language bindings for
+ Python, Perl, Ruby and many other languages, and unlike other
+ cross-platform toolkits, wxWidgets gives applications a truly
+ native look and feel because it uses the platform's native API
+ rather than emulating the GUI. It's also extensive, free,
+ open-source and mature."""
+ homepage = "http://www.wxwidgets.org/"
+
+ version('2.8.12', '2fa39da14bc06ea86fe902579fedc5b1',
+ url="https://sourceforge.net/projects/wxwindows/files/2.8.12/wxWidgets-2.8.12.tar.gz")
+ version('3.0.1', 'dad1f1cd9d4c370cbc22700dc492da31',
+ url="https://sourceforge.net/projects/wxwindows/files/3.0.1/wxWidgets-3.0.1.tar.bz2")
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix, "--enable-unicode", "--disable-precomp-headers")
+
+ make(parallel=False)
+ make("install")
+
diff --git a/var/spack/packages/wxpropgrid/package.py b/var/spack/packages/wxpropgrid/package.py
new file mode 100644
index 0000000000..790cead517
--- /dev/null
+++ b/var/spack/packages/wxpropgrid/package.py
@@ -0,0 +1,20 @@
+from spack import *
+
+class Wxpropgrid(Package):
+ """wxPropertyGrid is a property sheet control for wxWidgets. In
+ other words, it is a specialized two-column grid for editing
+ properties such as strings, numbers, flagsets, string arrays,
+ and colours."""
+ homepage = "http://wxpropgrid.sourceforge.net/"
+ url = "http://prdownloads.sourceforge.net/wxpropgrid/wxpropgrid-1.4.15-src.tar.gz"
+
+ version('1.4.15', 'f44b5cd6fd60718bacfabbf7994f1e93')
+
+ depends_on("wx")
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix, "--with-wxdir=%s" % spec['wx'].prefix.bin, "--enable-unicode")
+
+ make()
+ make("install")
+
diff --git a/var/spack/packages/zlib/package.py b/var/spack/packages/zlib/package.py
index 608b27ddd3..2770f781ac 100644
--- a/var/spack/packages/zlib/package.py
+++ b/var/spack/packages/zlib/package.py
@@ -9,7 +9,7 @@ class Zlib(Package):
homepage = "http://zlib.net"
url = "http://zlib.net/zlib-1.2.8.tar.gz"
- versions = { '1.2.8' : '44d667c142d7cda120332623eab69f40', }
+ version('1.2.8', '44d667c142d7cda120332623eab69f40')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)