summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin.mock/packages/callpath/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/direct_mpich/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/dyninst/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/fake/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/indirect_mpich/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/libdwarf/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/libelf/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/mpich/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/mpich2/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/mpileaks/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/multimethod/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/netlib-blas/package.py36
-rw-r--r--var/spack/repos/builtin.mock/packages/netlib-lapack/package.py37
-rw-r--r--var/spack/repos/builtin.mock/packages/openblas/package.py37
-rw-r--r--var/spack/repos/builtin.mock/packages/trivial_install_test_package/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/zmpi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/Mitos/package.py13
-rw-r--r--var/spack/repos/builtin/packages/SAMRAI/package.py10
-rw-r--r--var/spack/repos/builtin/packages/adept-utils/package.py6
-rw-r--r--var/spack/repos/builtin/packages/apex/package.py7
-rw-r--r--var/spack/repos/builtin/packages/automaded/package.py6
-rw-r--r--var/spack/repos/builtin/packages/binutils/binutilskrell-2.24.patch52
-rw-r--r--var/spack/repos/builtin/packages/binutils/package.py16
-rw-r--r--var/spack/repos/builtin/packages/boost/package.py80
-rw-r--r--var/spack/repos/builtin/packages/bzip2/package.py58
-rw-r--r--var/spack/repos/builtin/packages/callpath/package.py6
-rw-r--r--var/spack/repos/builtin/packages/cbtf-argonavis/package.py66
-rw-r--r--var/spack/repos/builtin/packages/cbtf-krell/package.py116
-rw-r--r--var/spack/repos/builtin/packages/cbtf-lanl/package.py60
-rw-r--r--var/spack/repos/builtin/packages/cbtf/package.py62
-rw-r--r--var/spack/repos/builtin/packages/cfitsio/package.py18
-rw-r--r--var/spack/repos/builtin/packages/cityhash/package.py16
-rw-r--r--var/spack/repos/builtin/packages/clang/package.py52
-rw-r--r--var/spack/repos/builtin/packages/cleverleaf/package.py23
-rw-r--r--var/spack/repos/builtin/packages/cmake/package.py8
-rw-r--r--var/spack/repos/builtin/packages/cram/package.py5
-rw-r--r--var/spack/repos/builtin/packages/cube/package.py3
-rw-r--r--var/spack/repos/builtin/packages/curl/package.py25
-rw-r--r--var/spack/repos/builtin/packages/czmq/package.py16
-rw-r--r--var/spack/repos/builtin/packages/damselfly/package.py14
-rw-r--r--var/spack/repos/builtin/packages/dbus/package.py3
-rw-r--r--var/spack/repos/builtin/packages/dyninst/package.py7
-rw-r--r--var/spack/repos/builtin/packages/expat/package.py17
-rw-r--r--var/spack/repos/builtin/packages/fftw/package.py96
-rw-r--r--var/spack/repos/builtin/packages/flux/package.py7
-rw-r--r--var/spack/repos/builtin/packages/fontconfig/package.py3
-rw-r--r--var/spack/repos/builtin/packages/gcc/package.py22
-rw-r--r--var/spack/repos/builtin/packages/gdb/package.py48
-rw-r--r--var/spack/repos/builtin/packages/git/package.py42
-rw-r--r--var/spack/repos/builtin/packages/glib/package.py1
-rw-r--r--var/spack/repos/builtin/packages/global/package.py6
-rw-r--r--var/spack/repos/builtin/packages/gmp/package.py3
-rw-r--r--var/spack/repos/builtin/packages/gnuplot/package.py61
-rw-r--r--var/spack/repos/builtin/packages/gperftools/package.py2
-rw-r--r--var/spack/repos/builtin/packages/gsl/package.py46
-rw-r--r--var/spack/repos/builtin/packages/hdf5/package.py16
-rw-r--r--var/spack/repos/builtin/packages/hwloc/package.py7
-rw-r--r--var/spack/repos/builtin/packages/hypre/package.py4
-rw-r--r--var/spack/repos/builtin/packages/jdk/package.py4
-rw-r--r--var/spack/repos/builtin/packages/jemalloc/package.py24
-rw-r--r--var/spack/repos/builtin/packages/judy/package.py15
-rw-r--r--var/spack/repos/builtin/packages/launchmon/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libNBC/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libcerf/package.py42
-rw-r--r--var/spack/repos/builtin/packages/libdwarf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libelf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libgd/package.py53
-rw-r--r--var/spack/repos/builtin/packages/libmonitor/libmonitorkrell-0000.patch18
-rw-r--r--var/spack/repos/builtin/packages/libmonitor/libmonitorkrell-0001.patch395
-rw-r--r--var/spack/repos/builtin/packages/libmonitor/libmonitorkrell-0002.patch106
-rw-r--r--var/spack/repos/builtin/packages/libmonitor/package.py9
-rw-r--r--var/spack/repos/builtin/packages/libpciaccess/package.py7
-rw-r--r--var/spack/repos/builtin/packages/libunwind/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libxml2/package.py14
-rw-r--r--var/spack/repos/builtin/packages/llvm-lld/package.py2
-rw-r--r--var/spack/repos/builtin/packages/llvm/package.py25
-rw-r--r--var/spack/repos/builtin/packages/lmod/package.py26
-rw-r--r--var/spack/repos/builtin/packages/lua/package.py6
-rw-r--r--var/spack/repos/builtin/packages/memaxes/package.py5
-rw-r--r--var/spack/repos/builtin/packages/mesa/package.py2
-rw-r--r--var/spack/repos/builtin/packages/mpc/package.py3
-rw-r--r--var/spack/repos/builtin/packages/mpfr/package.py2
-rw-r--r--var/spack/repos/builtin/packages/mpich/package.py15
-rw-r--r--var/spack/repos/builtin/packages/mpileaks/package.py2
-rw-r--r--var/spack/repos/builtin/packages/mrnet/package.py8
-rw-r--r--var/spack/repos/builtin/packages/muster/package.py4
-rw-r--r--var/spack/repos/builtin/packages/mvapich2/package.py252
-rw-r--r--var/spack/repos/builtin/packages/ncurses/package.py2
-rw-r--r--var/spack/repos/builtin/packages/ncurses/patch_gcc_5.txt12
-rw-r--r--var/spack/repos/builtin/packages/netgauge/package.py2
-rw-r--r--var/spack/repos/builtin/packages/ompt-openmp/package.py4
-rw-r--r--var/spack/repos/builtin/packages/opari2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/openblas/package.py21
-rw-r--r--var/spack/repos/builtin/packages/openmpi/configure.patch31
-rw-r--r--var/spack/repos/builtin/packages/openmpi/package.py9
-rw-r--r--var/spack/repos/builtin/packages/openspeedshop/package.py216
-rw-r--r--var/spack/repos/builtin/packages/openssl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/otf2/package.py4
-rw-r--r--var/spack/repos/builtin/packages/papi/package.py14
-rw-r--r--var/spack/repos/builtin/packages/paraview/package.py19
-rw-r--r--var/spack/repos/builtin/packages/pcre/package.py1
-rw-r--r--var/spack/repos/builtin/packages/pdt/package.py45
-rw-r--r--var/spack/repos/builtin/packages/petsc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/pmgr_collective/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-basemap/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-cffi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-matplotlib/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-numpy/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-pillow/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pyside/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-twisted/package.py16
-rw-r--r--var/spack/repos/builtin/packages/python/package.py33
-rw-r--r--var/spack/repos/builtin/packages/qt/package.py22
-rw-r--r--var/spack/repos/builtin/packages/qt/qt3krell.patch68
-rw-r--r--var/spack/repos/builtin/packages/ravel/package.py4
-rw-r--r--var/spack/repos/builtin/packages/rsync/package.py15
-rw-r--r--var/spack/repos/builtin/packages/scorep/package.py118
-rw-r--r--var/spack/repos/builtin/packages/scotch/package.py114
-rw-r--r--var/spack/repos/builtin/packages/scr/package.py2
-rw-r--r--var/spack/repos/builtin/packages/sparsehash/package.py14
-rw-r--r--var/spack/repos/builtin/packages/spindle/package.py2
-rw-r--r--var/spack/repos/builtin/packages/spot/package.py18
-rw-r--r--var/spack/repos/builtin/packages/sqlite/package.py2
-rw-r--r--var/spack/repos/builtin/packages/sundials/package.py2
-rw-r--r--var/spack/repos/builtin/packages/swig/package.py2
-rw-r--r--var/spack/repos/builtin/packages/tau/package.py117
-rw-r--r--var/spack/repos/builtin/packages/texinfo/package.py46
-rw-r--r--var/spack/repos/builtin/packages/tmuxinator/package.py5
-rw-r--r--var/spack/repos/builtin/packages/valgrind/package.py55
-rw-r--r--var/spack/repos/builtin/packages/wx/package.py2
-rw-r--r--var/spack/repos/builtin/packages/xerces-c/package.py36
-rw-r--r--var/spack/repos/builtin/packages/zsh/package.py10
132 files changed, 3093 insertions, 356 deletions
diff --git a/var/spack/repos/builtin.mock/packages/callpath/package.py b/var/spack/repos/builtin.mock/packages/callpath/package.py
index 5b6b70ba2a..abc576f78f 100644
--- a/var/spack/repos/builtin.mock/packages/callpath/package.py
+++ b/var/spack/repos/builtin.mock/packages/callpath/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin.mock/packages/direct_mpich/package.py b/var/spack/repos/builtin.mock/packages/direct_mpich/package.py
index 2ced82521b..efe7fc2afc 100644
--- a/var/spack/repos/builtin.mock/packages/direct_mpich/package.py
+++ b/var/spack/repos/builtin.mock/packages/direct_mpich/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin.mock/packages/dyninst/package.py b/var/spack/repos/builtin.mock/packages/dyninst/package.py
index 7998578da1..ea57950865 100644
--- a/var/spack/repos/builtin.mock/packages/dyninst/package.py
+++ b/var/spack/repos/builtin.mock/packages/dyninst/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin.mock/packages/fake/package.py b/var/spack/repos/builtin.mock/packages/fake/package.py
index fb3c2bdd2e..5f81ef20fc 100644
--- a/var/spack/repos/builtin.mock/packages/fake/package.py
+++ b/var/spack/repos/builtin.mock/packages/fake/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin.mock/packages/indirect_mpich/package.py b/var/spack/repos/builtin.mock/packages/indirect_mpich/package.py
index daf8b4b166..0b1773a27b 100644
--- a/var/spack/repos/builtin.mock/packages/indirect_mpich/package.py
+++ b/var/spack/repos/builtin.mock/packages/indirect_mpich/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin.mock/packages/libdwarf/package.py b/var/spack/repos/builtin.mock/packages/libdwarf/package.py
index 0b8df04cfb..e486a5de03 100644
--- a/var/spack/repos/builtin.mock/packages/libdwarf/package.py
+++ b/var/spack/repos/builtin.mock/packages/libdwarf/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin.mock/packages/libelf/package.py b/var/spack/repos/builtin.mock/packages/libelf/package.py
index 94c8f942cd..5e5b0b7143 100644
--- a/var/spack/repos/builtin.mock/packages/libelf/package.py
+++ b/var/spack/repos/builtin.mock/packages/libelf/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin.mock/packages/mpich/package.py b/var/spack/repos/builtin.mock/packages/mpich/package.py
index f77d3efc5d..55bf97f2cf 100644
--- a/var/spack/repos/builtin.mock/packages/mpich/package.py
+++ b/var/spack/repos/builtin.mock/packages/mpich/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin.mock/packages/mpich2/package.py b/var/spack/repos/builtin.mock/packages/mpich2/package.py
index 827b94c8a4..90f969b898 100644
--- a/var/spack/repos/builtin.mock/packages/mpich2/package.py
+++ b/var/spack/repos/builtin.mock/packages/mpich2/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin.mock/packages/mpileaks/package.py b/var/spack/repos/builtin.mock/packages/mpileaks/package.py
index 3989f1b452..9a18c5e1f2 100644
--- a/var/spack/repos/builtin.mock/packages/mpileaks/package.py
+++ b/var/spack/repos/builtin.mock/packages/mpileaks/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin.mock/packages/multimethod/package.py b/var/spack/repos/builtin.mock/packages/multimethod/package.py
index 75b1606ffc..ea103fe175 100644
--- a/var/spack/repos/builtin.mock/packages/multimethod/package.py
+++ b/var/spack/repos/builtin.mock/packages/multimethod/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin.mock/packages/netlib-blas/package.py b/var/spack/repos/builtin.mock/packages/netlib-blas/package.py
new file mode 100644
index 0000000000..39f2c92ae5
--- /dev/null
+++ b/var/spack/repos/builtin.mock/packages/netlib-blas/package.py
@@ -0,0 +1,36 @@
+##############################################################################
+# Copyright (c) 2013-2015, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License (as published by
+# the Free Software Foundation) version 2.1 dated February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+class NetlibBlas(Package):
+ homepage = "http://www.netlib.org/lapack/"
+ url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
+
+ version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf')
+
+ provides('blas')
+
+ def install(self, spec, prefix):
+ pass
diff --git a/var/spack/repos/builtin.mock/packages/netlib-lapack/package.py b/var/spack/repos/builtin.mock/packages/netlib-lapack/package.py
new file mode 100644
index 0000000000..331844e544
--- /dev/null
+++ b/var/spack/repos/builtin.mock/packages/netlib-lapack/package.py
@@ -0,0 +1,37 @@
+##############################################################################
+# Copyright (c) 2013-2015, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License (as published by
+# the Free Software Foundation) version 2.1 dated February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+class NetlibLapack(Package):
+ homepage = "http://www.netlib.org/lapack/"
+ url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
+
+ version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf')
+
+ provides('lapack')
+ depends_on('blas')
+
+ def install(self, spec, prefix):
+ pass
diff --git a/var/spack/repos/builtin.mock/packages/openblas/package.py b/var/spack/repos/builtin.mock/packages/openblas/package.py
new file mode 100644
index 0000000000..c7771b92a3
--- /dev/null
+++ b/var/spack/repos/builtin.mock/packages/openblas/package.py
@@ -0,0 +1,37 @@
+##############################################################################
+# Copyright (c) 2013-2015, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License (as published by
+# the Free Software Foundation) version 2.1 dated February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+class Openblas(Package):
+ """OpenBLAS: An optimized BLAS library"""
+ homepage = "http://www.openblas.net"
+ url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
+
+ version('0.2.15', 'b1190f3d3471685f17cfd1ec1d252ac9')
+
+ provides('blas')
+
+ def install(self, spec, prefix):
+ pass
diff --git a/var/spack/repos/builtin.mock/packages/trivial_install_test_package/package.py b/var/spack/repos/builtin.mock/packages/trivial_install_test_package/package.py
index c4db9f5f07..fec5849e67 100644
--- a/var/spack/repos/builtin.mock/packages/trivial_install_test_package/package.py
+++ b/var/spack/repos/builtin.mock/packages/trivial_install_test_package/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin.mock/packages/zmpi/package.py b/var/spack/repos/builtin.mock/packages/zmpi/package.py
index 8c6ceda6d3..201fac2fbf 100644
--- a/var/spack/repos/builtin.mock/packages/zmpi/package.py
+++ b/var/spack/repos/builtin.mock/packages/zmpi/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/Mitos/package.py b/var/spack/repos/builtin/packages/Mitos/package.py
index e312da3ffc..ea131872dd 100644
--- a/var/spack/repos/builtin/packages/Mitos/package.py
+++ b/var/spack/repos/builtin/packages/Mitos/package.py
@@ -4,13 +4,20 @@ class Mitos(Package):
"""Mitos is a library and a tool for collecting sampled memory
performance data to view with MemAxes"""
- homepage = "https://github.com/scalability-llnl/Mitos"
- url = "https://github.com/scalability-llnl/Mitos"
+ homepage = "https://github.com/llnl/Mitos"
+ url = "https://github.com/llnl/Mitos"
- version('0.9.1', 'c6cb57f3cae54f5157affd97ef7ef79e', git='https://github.com/scalability-llnl/Mitos.git', tag='v0.9.1')
+ version('0.9.2',
+ git='https://github.com/llnl/Mitos.git',
+ commit='8cb143a2e8c00353ff531a781a9ca0992b0aaa3d')
+
+ version('0.9.1',
+ git='https://github.com/llnl/Mitos.git',
+ tag='v0.9.1')
depends_on('dyninst@8.2.1:')
depends_on('hwloc')
+ depends_on('mpi')
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
diff --git a/var/spack/repos/builtin/packages/SAMRAI/package.py b/var/spack/repos/builtin/packages/SAMRAI/package.py
index eef041f0d5..2c3b9180af 100644
--- a/var/spack/repos/builtin/packages/SAMRAI/package.py
+++ b/var/spack/repos/builtin/packages/SAMRAI/package.py
@@ -12,6 +12,7 @@ class Samrai(Package):
list_url = homepage
version('3.9.1', '232d04d0c995f5abf20d94350befd0b2')
+ version('3.8.0', 'c18fcffa706346bfa5828b36787ce5fe')
version('3.7.3', '12d574eacadf8c9a70f1bb4cd1a69df6')
version('3.7.2', 'f6a716f171c9fdbf3cb12f71fa6e2737')
version('3.6.3-beta', 'ef0510bf2893042daedaca434e5ec6ce')
@@ -24,7 +25,7 @@ class Samrai(Package):
depends_on("mpi")
depends_on("zlib")
- depends_on("hdf5")
+ depends_on("hdf5+mpi")
depends_on("boost")
# don't build tools with gcc
@@ -32,13 +33,10 @@ class Samrai(Package):
# TODO: currently hard-coded to use openmpi - be careful!
def install(self, spec, prefix):
- mpi = next(m for m in ('openmpi', 'mpich', 'mvapich')
- if m in spec)
-
configure(
"--prefix=%s" % prefix,
- "--with-CXX=%s" % spec[mpi].prefix.bin + "/mpic++",
- "--with-CC=%s" % spec[mpi].prefix.bin + "/mpicc",
+ "--with-CXX=%s" % spec['mpi'].prefix.bin + "/mpic++",
+ "--with-CC=%s" % spec['mpi'].prefix.bin + "/mpicc",
"--with-hdf5=%s" % spec['hdf5'].prefix,
"--with-boost=%s" % spec['boost'].prefix,
"--with-zlib=%s" % spec['zlib'].prefix,
diff --git a/var/spack/repos/builtin/packages/adept-utils/package.py b/var/spack/repos/builtin/packages/adept-utils/package.py
index e4a2e1523f..fb59576c21 100644
--- a/var/spack/repos/builtin/packages/adept-utils/package.py
+++ b/var/spack/repos/builtin/packages/adept-utils/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -27,8 +27,8 @@ 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"
+ 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')
diff --git a/var/spack/repos/builtin/packages/apex/package.py b/var/spack/repos/builtin/packages/apex/package.py
index 6404d5208a..8769d97056 100644
--- a/var/spack/repos/builtin/packages/apex/package.py
+++ b/var/spack/repos/builtin/packages/apex/package.py
@@ -3,12 +3,9 @@ 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-release-candidate.tar.gz"
- url = "http://github.com/khuck/xpress-apex"
+ url = "http://github.com/khuck/xpress-apex/archive/v0.1.tar.gz"
- #version('0.1', '6e039c224387348296739f6bf360d081')
- #version('master', branch='master', git='https://github.com/khuck/xpress-apex.git')
- version('2015-10-21', git='https://github.com/khuck/xpress-apex.git', commit='d2e66ddde689120472fc57fc546d8cd80aab745c')
+ version('0.1', '8b95f0c0313da1575960d3ad69f18e75')
depends_on("binutils+libiberty")
depends_on("boost@1.54:")
diff --git a/var/spack/repos/builtin/packages/automaded/package.py b/var/spack/repos/builtin/packages/automaded/package.py
index 9fbd93e3b3..e0bc7efb8b 100644
--- a/var/spack/repos/builtin/packages/automaded/package.py
+++ b/var/spack/repos/builtin/packages/automaded/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -36,8 +36,8 @@ class Automaded(Package):
finding the process (or group of processes) that caused the hang.
"""
- homepage = "https://github.com/scalability-llnl/AutomaDeD"
- url = "https://github.com/scalability-llnl/AutomaDeD/archive/v1.0.tar.gz"
+ homepage = "https://github.com/llnl/AutomaDeD"
+ url = "https://github.com/llnl/AutomaDeD/archive/v1.0.tar.gz"
version('1.0', '16a3d4def2c4c77d0bc4b21de8b3ab03')
diff --git a/var/spack/repos/builtin/packages/binutils/binutilskrell-2.24.patch b/var/spack/repos/builtin/packages/binutils/binutilskrell-2.24.patch
new file mode 100644
index 0000000000..f48291a6c9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/binutils/binutilskrell-2.24.patch
@@ -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
diff --git a/var/spack/repos/builtin/packages/binutils/package.py b/var/spack/repos/builtin/packages/binutils/package.py
index cac0a0407f..123f4598f6 100644
--- a/var/spack/repos/builtin/packages/binutils/package.py
+++ b/var/spack/repos/builtin/packages/binutils/package.py
@@ -3,12 +3,15 @@ from spack import *
class Binutils(Package):
"""GNU binutils, which contain the linker, assembler, objdump and others"""
homepage = "http://www.gnu.org/software/binutils/"
- url = "ftp://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.bz2"
- version('2.25', 'd9f3303f802a5b6b0bb73a335ab89d66')
- version('2.24', 'e0f71a7b2ddab0f8612336ac81d9636b')
- version('2.23.2', '4f8fa651e35ef262edc01d60fb45702e')
- version('2.20.1', '2b9dc8f2b7dbd5ec5992c6e29de0b764')
+ 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.")
+ patch('binutilskrell-2.24.patch', when='@2.24+krellpatch')
variant('libiberty', default=False, description='Also install libiberty.')
@@ -20,7 +23,8 @@ class Binutils(Package):
'--enable-multilib',
'--enable-shared',
'--enable-64-bit-bfd',
- '--enable-targets=all']
+ '--enable-targets=all',
+ '--with-sysroot=/']
if '+libiberty' in spec:
configure_args.append('--enable-install-libiberty')
diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py
index 35824d53a2..81dadbbf61 100644
--- a/var/spack/repos/builtin/packages/boost/package.py
+++ b/var/spack/repos/builtin/packages/boost/package.py
@@ -43,7 +43,16 @@ class Boost(Package):
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('mpi', when='+mpi')
+ depends_on('python', when='+python')
+ depends_on('zlib', when='+compression')
+ depends_on('bzip2', 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)]
@@ -52,15 +61,78 @@ class Boost(Package):
return "http://downloads.sourceforge.net/project/boost/boost/%s/boost_%s.tar.bz2" % (
dots, underscores)
+ def determine_toolset(self):
+ toolsets = {'gcc': '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())
+
+ without_libs = []
+ if '~mpi' in spec:
+ without_libs.append('mpi')
+ if '~python' in spec:
+ without_libs.append('python')
+ else:
+ options.append('--with-python=%s' % (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' % (spec['mpi'].prefix.bin + '/mpicxx'))
+ if '+python' in spec:
+ f.write('using python : %s : %s ;\n' % (spec['python'].version,
+ (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(),
+ 'link=static,shared',
+ '--layout=tagged'])
def install(self, spec, prefix):
+ # to make him find the user-config.jam
+ env['BOOST_BUILD_PATH'] = './'
+
bootstrap = Executable('./bootstrap.sh')
- bootstrap()
+
+ 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('install',
- '-j %s' % make_jobs,
- '--prefix=%s' % prefix)
+ b2_options = ['-j %s' % make_jobs]
+
+ self.determine_b2_options(spec, b2_options)
+
+ b2('install', 'threading=single', *b2_options)
+ b2('install', 'threading=multi', *b2_options)
diff --git a/var/spack/repos/builtin/packages/bzip2/package.py b/var/spack/repos/builtin/packages/bzip2/package.py
index d88336664d..638ba1fa4d 100644
--- a/var/spack/repos/builtin/packages/bzip2/package.py
+++ b/var/spack/repos/builtin/packages/bzip2/package.py
@@ -1,36 +1,60 @@
from spack import *
-from glob import glob
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."""
+ 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 install(self, spec, prefix):
- # No configure system -- have to filter the makefile for this package.
- filter_file(r'CC=gcc', 'CC=cc', 'Makefile', string=True)
+ 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)
- bzip2_exe = join_path(prefix.bin, 'bzip2')
- install('bzip2-shared', bzip2_exe)
- for i, libfile in enumerate(glob('libbz2.so*')):
- install(libfile, prefix.lib)
- if i == 0:
- symlink(join_path(prefix.lib, libfile), join_path(prefix.lib, 'libbz2.so'))
+ 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))
- bunzip2 = join_path(prefix.bin, 'bunzip2')
- remove(bunzip2)
- symlink(bzip2_exe, bunzip2)
+ install(lib3, join_path(prefix.lib, lib3))
+ with working_dir(prefix.lib):
+ for l in (lib, lib1, lib2):
+ symlink(lib3, l)
- bzcat = join_path(prefix.bin, 'bzcat')
- remove(bzcat)
- symlink(bzip2_exe, bzcat)
+ with working_dir(prefix.bin):
+ force_remove('bunzip2', 'bzcat')
+ symlink('bzip2', 'bunzip2')
+ symlink('bzip2', 'bzcat')
diff --git a/var/spack/repos/builtin/packages/callpath/package.py b/var/spack/repos/builtin/packages/callpath/package.py
index f8a1eab9f7..3d2d96249e 100644
--- a/var/spack/repos/builtin/packages/callpath/package.py
+++ b/var/spack/repos/builtin/packages/callpath/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -28,8 +28,8 @@ class Callpath(Package):
"""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"
+ 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')
diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
new file mode 100644
index 0000000000..7b07933911
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
@@ -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")
+
diff --git a/var/spack/repos/builtin/packages/cbtf-krell/package.py b/var/spack/repos/builtin/packages/cbtf-krell/package.py
new file mode 100644
index 0000000000..9458ac113c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cbtf-krell/package.py
@@ -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")
+
diff --git a/var/spack/repos/builtin/packages/cbtf-lanl/package.py b/var/spack/repos/builtin/packages/cbtf-lanl/package.py
new file mode 100644
index 0000000000..2da9e8a1f7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cbtf-lanl/package.py
@@ -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")
+
diff --git a/var/spack/repos/builtin/packages/cbtf/package.py b/var/spack/repos/builtin/packages/cbtf/package.py
new file mode 100644
index 0000000000..52e6a07020
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cbtf/package.py
@@ -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")
diff --git a/var/spack/repos/builtin/packages/cfitsio/package.py b/var/spack/repos/builtin/packages/cfitsio/package.py
new file mode 100644
index 0000000000..ff450cb5f3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cfitsio/package.py
@@ -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')
diff --git a/var/spack/repos/builtin/packages/cityhash/package.py b/var/spack/repos/builtin/packages/cityhash/package.py
new file mode 100644
index 0000000000..1643cc3b42
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cityhash/package.py
@@ -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")
+
diff --git a/var/spack/repos/builtin/packages/clang/package.py b/var/spack/repos/builtin/packages/clang/package.py
index 4f977bf9a4..e46e08d5f1 100644
--- a/var/spack/repos/builtin/packages/clang/package.py
+++ b/var/spack/repos/builtin/packages/clang/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -22,8 +22,13 @@
# 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
+import os.path
+
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.
@@ -39,13 +44,52 @@ class Clang(Package):
version('3.6.2', 'ff862793682f714bb7862325b9c06e20', url='http://llvm.org/releases/3.6.2/cfe-3.6.2.src.tar.xz')
version('3.5.1', '93f9532f8f7e6f1d8e5c1116907051cb', url='http://llvm.org/releases/3.5.1/cfe-3.5.1.src.tar.xz')
+ ##########
+ # @3.7.0
+ resource(name='clang-tools-extra',
+ url='http://llvm.org/releases/3.7.0/clang-tools-extra-3.7.0.src.tar.xz',
+ md5='d5a87dacb65d981a427a536f6964642e', destination='tools', when='@3.7.0')
+ ##########
+
def install(self, spec, prefix):
env['CXXFLAGS'] = self.compiler.cxx11_flag
with working_dir('spack-build', create=True):
+
+ options = []
+ if '@3.7.0:' in spec:
+ options.append('-DCLANG_DEFAULT_OPENMP_RUNTIME:STRING=libomp')
+ options.extend(std_cmake_args)
+
cmake('..',
- '-DCLANG_PATH_TO_LLVM_BUILD=%s' % spec['llvm'].prefix,
- '-DLLVM_MAIN_SRC_DIR=%s' % spec['llvm'].prefix,
- *std_cmake_args)
+ '-DCLANG_PATH_TO_LLVM_BUILD:PATH=%s' % spec['llvm'].prefix,
+ '-DLLVM_MAIN_SRC_DIR:PATH=%s' % spec['llvm'].prefix,
+ *options)
make()
make("install")
+ # CLang doesn't look in llvm folders for system headers...
+ self.link_llvm_directories(spec)
+
+ def link_llvm_directories(self, spec):
+
+ def clang_include_dir_at(root):
+ return join_path(root, 'include')
+
+ def clang_lib_dir_at(root):
+ return join_path(root, 'lib/clang/', str(self.version), 'include')
+
+ def do_link(source_dir, destination_dir):
+ if os.path.exists(source_dir):
+ for name in os.listdir(source_dir):
+ source = join_path(source_dir, name)
+ link = join_path(destination_dir, name)
+ os.symlink(source, link)
+
+ # Link folder and files in include
+ llvm_dir = clang_include_dir_at(spec['llvm'].prefix)
+ clang_dir = clang_include_dir_at(self.prefix)
+ do_link(llvm_dir, clang_dir)
+ # Link folder and files in lib
+ llvm_dir = clang_lib_dir_at(spec['llvm'].prefix)
+ clang_dir = clang_lib_dir_at(self.prefix)
+ do_link(llvm_dir, clang_dir) \ No newline at end of file
diff --git a/var/spack/repos/builtin/packages/cleverleaf/package.py b/var/spack/repos/builtin/packages/cleverleaf/package.py
new file mode 100644
index 0000000000..fb400b25c3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cleverleaf/package.py
@@ -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")
diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py
index 9efa370c8b..cb54c92d69 100644
--- a/var/spack/repos/builtin/packages/cmake/package.py
+++ b/var/spack/repos/builtin/packages/cmake/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -34,12 +34,16 @@ class Cmake(Package):
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 = 'https://cmake.org/files/v3.4/cmake-3.4.0.tar.gz')
# version('3.0.1', 'e2e05d84cb44a42f1371d9995631dcf5')
# version('3.0.0', '21a1c85e1a3b803c4b48e7ff915a863e')
def install(self, spec, prefix):
configure('--prefix=' + prefix,
- '--parallel=' + str(make_jobs))
+ '--parallel=' + str(make_jobs),
+ '--', '-DCMAKE_USE_OPENSSL=ON')
make()
make('install')
diff --git a/var/spack/repos/builtin/packages/cram/package.py b/var/spack/repos/builtin/packages/cram/package.py
index 4b8ec56f25..b19422b8a8 100644
--- a/var/spack/repos/builtin/packages/cram/package.py
+++ b/var/spack/repos/builtin/packages/cram/package.py
@@ -2,11 +2,12 @@ from spack import *
class Cram(Package):
"""Cram runs many small MPI jobs inside one large MPI job."""
- homepage = "https://github.com/scalability-llnl/cram"
- url = "http://github.com/scalability-llnl/cram/archive/v1.0.1.tar.gz"
+ 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):
diff --git a/var/spack/repos/builtin/packages/cube/package.py b/var/spack/repos/builtin/packages/cube/package.py
index d97cd25636..cc1c684594 100644
--- a/var/spack/repos/builtin/packages/cube/package.py
+++ b/var/spack/repos/builtin/packages/cube/package.py
@@ -12,6 +12,9 @@ class Cube(Package):
homepage = "http://www.scalasca.org/software/cube-4.x/download.html"
url = "http://apps.fz-juelich.de/scalasca/releases/cube/4.2/dist/cube-4.2.3.tar.gz"
+ version('4.3.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')
version('4.3TP1', 'a2090fbc7b2ba394bd5c09ba971e237f',
diff --git a/var/spack/repos/builtin/packages/curl/package.py b/var/spack/repos/builtin/packages/curl/package.py
new file mode 100644
index 0000000000..9e684445c7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/curl/package.py
@@ -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")
diff --git a/var/spack/repos/builtin/packages/czmq/package.py b/var/spack/repos/builtin/packages/czmq/package.py
index a2f1947554..0665332179 100644
--- a/var/spack/repos/builtin/packages/czmq/package.py
+++ b/var/spack/repos/builtin/packages/czmq/package.py
@@ -1,4 +1,5 @@
from spack import *
+import os
class Czmq(Package):
""" A C interface to the ZMQ library """
@@ -7,11 +8,24 @@ class Czmq(Package):
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")
- bash("./autogen.sh")
+ # 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()
diff --git a/var/spack/repos/builtin/packages/damselfly/package.py b/var/spack/repos/builtin/packages/damselfly/package.py
new file mode 100644
index 0000000000..96666d1abe
--- /dev/null
+++ b/var/spack/repos/builtin/packages/damselfly/package.py
@@ -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')
diff --git a/var/spack/repos/builtin/packages/dbus/package.py b/var/spack/repos/builtin/packages/dbus/package.py
index f7c302d611..294b0de54e 100644
--- a/var/spack/repos/builtin/packages/dbus/package.py
+++ b/var/spack/repos/builtin/packages/dbus/package.py
@@ -22,7 +22,8 @@ class Dbus(Package):
def install(self, spec, prefix):
configure(
"--prefix=%s" % prefix,
- "--disable-systemd")
+ "--disable-systemd",
+ "--disable-launchd")
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/dyninst/package.py b/var/spack/repos/builtin/packages/dyninst/package.py
index 41ec57dd2f..0111dcbe08 100644
--- a/var/spack/repos/builtin/packages/dyninst/package.py
+++ b/var/spack/repos/builtin/packages/dyninst/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -49,14 +49,15 @@ class Dyninst(Package):
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_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")
diff --git a/var/spack/repos/builtin/packages/expat/package.py b/var/spack/repos/builtin/packages/expat/package.py
new file mode 100644
index 0000000000..082da5bf0b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/expat/package.py
@@ -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')
+
diff --git a/var/spack/repos/builtin/packages/fftw/package.py b/var/spack/repos/builtin/packages/fftw/package.py
new file mode 100644
index 0000000000..5f71762c4f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/fftw/package.py
@@ -0,0 +1,96 @@
+##############################################################################
+# 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')
+
+ ##########
+ # Floating point precision
+ FLOAT = 'float'
+ LONG_DOUBLE = 'long_double'
+ QUAD_PRECISION = 'quad'
+ PRECISION_OPTIONS = {
+ FLOAT: '--enable-float',
+ LONG_DOUBLE: '--enable--long-double',
+ QUAD_PRECISION: '--enable-quad-precision'
+ }
+ variant(FLOAT, default=False, description='Produces a single precision version of the library')
+ variant(LONG_DOUBLE, default=False, description='Produces a long double precision version of the library')
+ variant(QUAD_PRECISION, 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')
+
+ @staticmethod
+ def enabled(x):
+ """
+ Given a variant name returns the string that means the variant is enabled
+
+ :param x: variant name
+ """
+ # FIXME : duplicated from MVAPICH2
+ return '+' + x
+
+ def check_fortran_availability(self, options):
+ if not self.compiler.f77 or not self.compiler.fc:
+ options.append("--disable-fortran")
+
+ def set_floating_point_precision(self, spec, options):
+ l = [option for variant, option in Fftw.PRECISION_OPTIONS.iteritems() if self.enabled(variant) in spec]
+ if len(l) > 1:
+ raise RuntimeError('At most one floating point precision variant may activated per build.')
+ options.extend(l)
+
+ def install(self, spec, prefix):
+
+ options = ['--prefix=%s' % prefix,
+ '--enable-shared',
+ '--enable-threads',
+ '--enable-openmp']
+ self.check_fortran_availability(options)
+ self.set_floating_point_precision(spec, options)
+
+ if '+mpi' in spec:
+ options.append('--enable-mpi')
+
+ configure(*options)
+ make()
+ make("install")
+
diff --git a/var/spack/repos/builtin/packages/flux/package.py b/var/spack/repos/builtin/packages/flux/package.py
index c128f46be8..dc4e0594c5 100644
--- a/var/spack/repos/builtin/packages/flux/package.py
+++ b/var/spack/repos/builtin/packages/flux/package.py
@@ -12,20 +12,23 @@ class Flux(Package):
# 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")
- depends_on("python")
- depends_on("py-cffi")
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,
diff --git a/var/spack/repos/builtin/packages/fontconfig/package.py b/var/spack/repos/builtin/packages/fontconfig/package.py
index 89b13604e8..517c9d1813 100644
--- a/var/spack/repos/builtin/packages/fontconfig/package.py
+++ b/var/spack/repos/builtin/packages/fontconfig/package.py
@@ -8,9 +8,10 @@ class Fontconfig(Package):
version('2.11.1' , 'e75e303b4f7756c2b16203a57ac87eba')
depends_on('freetype')
+ depends_on('libxml2')
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix)
+ configure("--prefix=%s" % prefix, "--enable-libxml2")
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py
index a49a1348aa..7ec160d595 100644
--- a/var/spack/repos/builtin/packages/gcc/package.py
+++ b/var/spack/repos/builtin/packages/gcc/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -38,6 +38,7 @@ class Gcc(Package):
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')
@@ -79,8 +80,10 @@ class Gcc(Package):
"--with-gnu-as",
"--with-quad"]
# Binutils
- binutils_options = ["--with-stage1-ldflags=%s" % self.rpath_args,
- "--with-boot-ldflags=%s" % self.rpath_args,
+ 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)
@@ -89,11 +92,14 @@ class Gcc(Package):
isl_options = ["--with-isl=%s" % spec['isl'].prefix]
options.extend(isl_options)
- # Rest of install is straightforward.
- configure(*options)
- make()
- make("install")
-
+ 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()
diff --git a/var/spack/repos/builtin/packages/gdb/package.py b/var/spack/repos/builtin/packages/gdb/package.py
new file mode 100644
index 0000000000..e5378cfa29
--- /dev/null
+++ b/var/spack/repos/builtin/packages/gdb/package.py
@@ -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.xz"
+
+ version('7.10.1', '39e654460c9cdd80200a29ac020cfe11')
+ version('7.10', '2a35bac41fa8e10bf04f3a0dd7f7f363')
+ version('7.9.1', '35374c77a70884eb430c97061053a36e')
+ version('7.9', 'e6279f26559d839f0b4218a482bcb43e')
+ version('7.8.2', 'a80cf252ed2e775d4e4533341bbf2459')
+
+ depends_on('texinfo')
+
+ def install(self, spec, prefix):
+ configure('--prefix=%s' % prefix)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/git/package.py b/var/spack/repos/builtin/packages/git/package.py
index 0f1a3ba05b..28c7aa8161 100644
--- a/var/spack/repos/builtin/packages/git/package.py
+++ b/var/spack/repos/builtin/packages/git/package.py
@@ -7,10 +7,25 @@ class Git(Package):
homepage = "http://git-scm.com"
url = "https://www.kernel.org/pub/software/scm/git/git-2.2.1.tar.xz"
+ version('2.6.3', '5a6375349c3f13c8dbbabfc327bae429')
+ version('2.6.2', '32ae5ad29763fc927bfcaeab55385fd9')
+ version('2.6.1', 'dd4a3a7fe96598c553edd39d40c9c290')
+ version('2.6.0', '6b7d43d615fb3f0dfecf4d131e23f438')
+ version('2.5.4', 'ec118fcd1cf984edc17eb6588b78e81b')
version('2.2.1', '43e01f9d96ba8c11611e0eef0d9f9f28')
- # Use system openssl.
- # depends_on("openssl")
+
+ # 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")
@@ -19,9 +34,26 @@ class Git(Package):
depends_on("zlib")
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix,
- "--without-pcre",
- "--without-python")
+ 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")
+
+
+
+
+
+
+
diff --git a/var/spack/repos/builtin/packages/glib/package.py b/var/spack/repos/builtin/packages/glib/package.py
index 178f0b9df5..baca1a5a45 100644
--- a/var/spack/repos/builtin/packages/glib/package.py
+++ b/var/spack/repos/builtin/packages/glib/package.py
@@ -11,6 +11,7 @@ class Glib(Package):
version('2.42.1', '89c4119e50e767d3532158605ee9121a')
depends_on("libffi")
+ depends_on("zlib")
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/global/package.py b/var/spack/repos/builtin/packages/global/package.py
index a77b1bdc09..e8f06516d9 100644
--- a/var/spack/repos/builtin/packages/global/package.py
+++ b/var/spack/repos/builtin/packages/global/package.py
@@ -4,7 +4,7 @@ import os
class Global(Package):
""" The Gnu Global tagging system """
- # FIXME: add a proper url for your package's homepage here.
+
homepage = "http://www.gnu.org/software/global"
url = "http://tamacom.com/global/global-6.5.tar.gz"
@@ -13,9 +13,9 @@ class Global(Package):
depends_on('exuberant-ctags')
def install(self, spec, prefix):
- config_args = ['--prefix={}'.format(prefix)]
+ config_args = ['--prefix={0}'.format(prefix)]
- config_args.append('--with-exuberant-ctags={}'.format(
+ config_args.append('--with-exuberant-ctags={0}'.format(
os.path.join(spec['exuberant-ctags'].prefix.bin, 'ctags')))
configure(*config_args)
diff --git a/var/spack/repos/builtin/packages/gmp/package.py b/var/spack/repos/builtin/packages/gmp/package.py
index d6af821b34..fe13de3b95 100644
--- a/var/spack/repos/builtin/packages/gmp/package.py
+++ b/var/spack/repos/builtin/packages/gmp/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -31,6 +31,7 @@ class Gmp(Package):
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')
diff --git a/var/spack/repos/builtin/packages/gnuplot/package.py b/var/spack/repos/builtin/packages/gnuplot/package.py
new file mode 100644
index 0000000000..71c09bd43d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/gnuplot/package.py
@@ -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")
diff --git a/var/spack/repos/builtin/packages/gperftools/package.py b/var/spack/repos/builtin/packages/gperftools/package.py
index 8900462324..0ba44c9329 100644
--- a/var/spack/repos/builtin/packages/gperftools/package.py
+++ b/var/spack/repos/builtin/packages/gperftools/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/gsl/package.py b/var/spack/repos/builtin/packages/gsl/package.py
new file mode 100644
index 0000000000..789eb49d85
--- /dev/null
+++ b/var/spack/repos/builtin/packages/gsl/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://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")
diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py
index 15e0ef9338..adac79d9bb 100644
--- a/var/spack/repos/builtin/packages/hdf5/package.py
+++ b/var/spack/repos/builtin/packages/hdf5/package.py
@@ -11,22 +11,30 @@ class Hdf5(Package):
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')
- depends_on("mpi")
+ variant('mpi', default=False, description='Enable MPI support')
+
+ depends_on("mpi", when='+mpi')
depends_on("zlib")
# TODO: currently hard-coded to use OpenMPI
def install(self, spec, prefix):
+ extra_args = []
+ if '+mpi' in spec:
+ extra_args.extend([
+ "--enable-parallel",
+ "CC=%s" % spec['mpi'].prefix.bin + "/mpicc",
+ "CXX=%s" % spec['mpi'].prefix.bin + "/mpic++",
+ ])
configure(
"--prefix=%s" % prefix,
"--with-zlib=%s" % spec['zlib'].prefix,
- "--enable-parallel",
"--enable-shared",
- "CC=%s" % spec['mpich'].prefix.bin + "/mpicc",
- "CXX=%s" % spec['mpich'].prefix.bin + "/mpic++")
+ *extra_args)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/hwloc/package.py b/var/spack/repos/builtin/packages/hwloc/package.py
index 31a31f376a..7ebede76a3 100644
--- a/var/spack/repos/builtin/packages/hwloc/package.py
+++ b/var/spack/repos/builtin/packages/hwloc/package.py
@@ -15,11 +15,16 @@ class Hwloc(Package):
homepage = "http://www.open-mpi.org/projects/hwloc/"
url = "http://www.open-mpi.org/software/hwloc/v1.9/downloads/hwloc-1.9.tar.gz"
+ version('1.11.2', '486169cbe111cdea57be12638828ebbf',
+ url='http://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-1.11.2.tar.bz2')
+ version('1.11.1', '002742efd3a8431f98d6315365a2b543',
+ url='http://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-1.11.1.tar.bz2')
version('1.9', '1f9f9155682fe8946a97c08896109508')
+ depends_on('libpciaccess')
+
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/hypre/package.py b/var/spack/repos/builtin/packages/hypre/package.py
index 198b3f00dc..0f7f14dd89 100644
--- a/var/spack/repos/builtin/packages/hypre/package.py
+++ b/var/spack/repos/builtin/packages/hypre/package.py
@@ -5,8 +5,8 @@ class Hypre(Package):
features parallel multigrid methods for both structured and
unstructured grid problems."""
- homepage = "https://computation.llnl.gov/project/linear_solvers/software.php"
- url = "https://computation.llnl.gov/project/linear_solvers/download/hypre-2.10.0b.tar.gz"
+ 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')
diff --git a/var/spack/repos/builtin/packages/jdk/package.py b/var/spack/repos/builtin/packages/jdk/package.py
index 8f8076dd14..f8f5fc21bd 100644
--- a/var/spack/repos/builtin/packages/jdk/package.py
+++ b/var/spack/repos/builtin/packages/jdk/package.py
@@ -14,8 +14,8 @@ class Jdk(Package):
in the form of a binary product aimed at Java developers."""
homepage = "http://www.oracle.com/technetwork/java/javase/downloads/index.html"
- version('8u25-linux-x64', 'e145c03a7edc845215092786bcfba77e',
- url="http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jdk-8u25-linux-x64.tar.gz")
+ 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
diff --git a/var/spack/repos/builtin/packages/jemalloc/package.py b/var/spack/repos/builtin/packages/jemalloc/package.py
new file mode 100644
index 0000000000..8cec9ea75b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/jemalloc/package.py
@@ -0,0 +1,24 @@
+from spack import *
+
+class Jemalloc(Package):
+ """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support."""
+ homepage = "http://www.canonware.com/jemalloc/"
+ url = "https://github.com/jemalloc/jemalloc/releases/download/4.0.4/jemalloc-4.0.4.tar.bz2"
+
+ version('4.0.4', '687c5cc53b9a7ab711ccd680351ff988')
+
+ variant('stats', default=False, description='Enable heap statistics')
+ variant('prof', default=False, description='Enable heap profiling')
+
+ def install(self, spec, prefix):
+ configure_args = ['--prefix=%s' % prefix,]
+
+ if '+stats' in spec:
+ configure_args.append('--enable-stats')
+ if '+prof' in spec:
+ configure_args.append('--enable-prof')
+
+ configure(*configure_args)
+
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/judy/package.py b/var/spack/repos/builtin/packages/judy/package.py
new file mode 100644
index 0000000000..b8d8701383
--- /dev/null
+++ b/var/spack/repos/builtin/packages/judy/package.py
@@ -0,0 +1,15 @@
+from spack import *
+
+class Judy(Package):
+ """A general-purpose dynamic array, associative array and hash-trie - Judy"""
+ homepage = "http://judy.sourceforge.net/"
+ url = "http://downloads.sourceforge.net/project/judy/judy/Judy-1.0.5/Judy-1.0.5.tar.gz"
+
+ version('1.0.5', '115a0d26302676e962ae2f70ec484a54')
+ parallel = False
+
+ def install(self, spec, prefix):
+ configure('--prefix=%s' % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/launchmon/package.py b/var/spack/repos/builtin/packages/launchmon/package.py
index 6fbe6a68d0..f97384a249 100644
--- a/var/spack/repos/builtin/packages/launchmon/package.py
+++ b/var/spack/repos/builtin/packages/launchmon/package.py
@@ -6,7 +6,7 @@
# Written by Matthew LeGendre, legendre1@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -31,7 +31,7 @@ class Launchmon(Package):
url = "http://downloads.sourceforge.net/project/launchmon/launchmon/1.0.1%20release/launchmon-1.0.1.tar.gz"
version('1.0.1', '2f12465803409fd07f91174a4389eb2b')
- version('1.0.1-2', git='https://github.com/scalability-llnl/launchmon.git', commit='ff7e22424b8f375318951eb1c9282fcbbfa8aadf')
+ version('1.0.1-2', git='https://github.com/llnl/launchmon.git', commit='ff7e22424b8f375318951eb1c9282fcbbfa8aadf')
depends_on('autoconf')
depends_on('automake')
diff --git a/var/spack/repos/builtin/packages/libNBC/package.py b/var/spack/repos/builtin/packages/libNBC/package.py
index 6d08f3219c..550568e97d 100644
--- a/var/spack/repos/builtin/packages/libNBC/package.py
+++ b/var/spack/repos/builtin/packages/libNBC/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/libcerf/package.py b/var/spack/repos/builtin/packages/libcerf/package.py
new file mode 100644
index 0000000000..15e87ce4fe
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libcerf/package.py
@@ -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 Libcerf(Package):
+ """
+ A self-contained C library providing complex error functions, based on Faddeeva's plasma dispersion function
+ w(z). Also provides Dawson's integral and Voigt's convolution of a Gaussian and a Lorentzian
+ """
+ homepage = "http://sourceforge.net/projects/libcerf"
+ url = "http://downloads.sourceforge.net/project/libcerf/libcerf-1.3.tgz"
+
+ version('1.3', 'b3504c467204df71e62aeccf73a25612')
+
+ def install(self, spec, prefix):
+ configure('--prefix=%s' % prefix)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/libdwarf/package.py b/var/spack/repos/builtin/packages/libdwarf/package.py
index 099a974e93..addb557519 100644
--- a/var/spack/repos/builtin/packages/libdwarf/package.py
+++ b/var/spack/repos/builtin/packages/libdwarf/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/libelf/package.py b/var/spack/repos/builtin/packages/libelf/package.py
index 9338b8f393..29bc21b65c 100644
--- a/var/spack/repos/builtin/packages/libelf/package.py
+++ b/var/spack/repos/builtin/packages/libelf/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/libgd/package.py b/var/spack/repos/builtin/packages/libgd/package.py
new file mode 100644
index 0000000000..d920957ef1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libgd/package.py
@@ -0,0 +1,53 @@
+##############################################################################
+# 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 Libgd(Package):
+ """
+ GD is an open source code library for the dynamic creation of images by programmers. GD is written in C, and
+ "wrappers" are available for Perl, PHP and other languages. GD creates PNG, JPEG, GIF, WebP, XPM, BMP images,
+ among other formats. GD is commonly used to generate charts, graphics, thumbnails, and most anything else, on the
+ fly. While not restricted to use on the web, the most common applications of GD involve website development.
+ """
+
+ homepage = "https://github.com/libgd/libgd"
+ url = "https://github.com/libgd/libgd/archive/gd-2.1.1.tar.gz"
+
+ version('2.1.1', 'e91a1a99903e460e7ba00a794e72cc1e')
+
+ depends_on('libpng')
+
+ def install(self, spec, prefix):
+
+ with working_dir('spack-build', create=True):
+ cmake('..',
+ '-DENABLE_JPEG:BOOL=ON',
+ '-DENABLE_PNG:BOOL=ON',
+ '-DENABLE_TIFF:BOOL=ON',
+ *std_cmake_args)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/libmonitor/libmonitorkrell-0000.patch b/var/spack/repos/builtin/packages/libmonitor/libmonitorkrell-0000.patch
new file mode 100644
index 0000000000..3a90106850
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libmonitor/libmonitorkrell-0000.patch
@@ -0,0 +1,18 @@
+--- libmonitor-20130218/configure 2013-02-17 23:08:32.000000000 -0800
++++ libmonitor-20130218-fixes/configure 2013-02-18 10:34:05.237918411 -0800
+@@ -3600,13 +3600,13 @@
+ CFLAGS=$ac_save_CFLAGS
+ elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+- CFLAGS="-g -O2"
++ CFLAGS="-g -O0"
+ else
+ CFLAGS="-g"
+ fi
+ else
+ if test "$GCC" = yes; then
+- CFLAGS="-O2"
++ CFLAGS="-O0"
+ else
+ CFLAGS=
+ fi
diff --git a/var/spack/repos/builtin/packages/libmonitor/libmonitorkrell-0001.patch b/var/spack/repos/builtin/packages/libmonitor/libmonitorkrell-0001.patch
new file mode 100644
index 0000000000..85d69595c0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libmonitor/libmonitorkrell-0001.patch
@@ -0,0 +1,395 @@
+--- libmonitor-20130218/src/callback.c 2013-02-17 23:08:32.000000000 -0800
++++ libmonitor-20130218-fixes/src/callback.c 2013-02-18 10:34:17.839842826 -0800
+@@ -173,3 +173,18 @@
+ MONITOR_DEBUG1("(default callback)\n");
+ return 0;
+ }
++
++
++void __attribute__ ((weak))
++monitor_mpi_post_comm_rank(void)
++{
++ MONITOR_DEBUG1("(default callback)\n");
++}
++
++void __attribute__ ((weak))
++monitor_mpi_pcontrol(int level)
++{
++ MONITOR_DEBUG("(default callback) level = %d\n", level);
++}
++
++
+--- libmonitor-20130218/src/main.c 2013-02-17 23:08:32.000000000 -0800
++++ libmonitor-20130218-fixes/src/main.c 2013-02-18 10:34:17.839842826 -0800
+@@ -230,6 +230,44 @@
+ monitor_fini_library_called = 1;
+ }
+
++/*
++ * Internal monitor functions.
++ */
++
++struct monitor_thread_node * __attribute__ ((weak))
++monitor_get_tn(void)
++{
++ return &monitor_main_tn;
++}
++
++int __attribute__ ((weak))
++monitor_get_thread_num(void)
++{
++ return (0);
++}
++
++void __attribute__ ((weak))
++monitor_reset_thread_list(struct monitor_thread_node *main_tn)
++{
++ MONITOR_DEBUG1("(weak)\n");
++ return;
++}
++
++void __attribute__ ((weak))
++monitor_thread_release(void)
++{
++ MONITOR_DEBUG1("(weak)\n");
++ return;
++}
++
++void __attribute__ ((weak))
++monitor_thread_shootdown(void)
++{
++ MONITOR_DEBUG1("(weak)\n");
++ return;
++}
++
++
+ void
+ monitor_begin_process_fcn(void *user_data, int is_fork)
+ {
+@@ -625,12 +663,6 @@
+ return (monitor_main_tn.tn_user_data);
+ }
+
+-int __attribute__ ((weak))
+-monitor_get_thread_num(void)
+-{
+- return (0);
+-}
+-
+ void * __attribute__ ((weak))
+ monitor_get_addr_thread_start(void)
+ {
+@@ -691,33 +723,3 @@
+ MONITOR_DEBUG1("(weak)\n");
+ return (FALSE);
+ }
+-
+-/*
+- * Internal monitor functions.
+- */
+-struct monitor_thread_node * __attribute__ ((weak))
+-monitor_get_tn(void)
+-{
+- return &monitor_main_tn;
+-}
+-
+-void __attribute__ ((weak))
+-monitor_reset_thread_list(struct monitor_thread_node *main_tn)
+-{
+- MONITOR_DEBUG1("(weak)\n");
+- return;
+-}
+-
+-void __attribute__ ((weak))
+-monitor_thread_release(void)
+-{
+- MONITOR_DEBUG1("(weak)\n");
+- return;
+-}
+-
+-void __attribute__ ((weak))
+-monitor_thread_shootdown(void)
+-{
+- MONITOR_DEBUG1("(weak)\n");
+- return;
+-}
+--- libmonitor-20130218/src/monitor.h 2013-02-17 23:08:32.000000000 -0800
++++ libmonitor-20130218-fixes/src/monitor.h 2013-02-18 10:34:17.840842821 -0800
+@@ -73,6 +73,11 @@
+ extern void monitor_fini_mpi(void);
+ extern void monitor_mpi_post_fini(void);
+
++extern void monitor_mpi_post_comm_rank(void);
++extern void monitor_mpi_pcontrol(int level);
++
++
++
+ /*
+ * Monitor support functions.
+ */
+--- libmonitor-20130218/src/mpi_comm_c.c 2013-02-17 23:08:32.000000000 -0800
++++ libmonitor-20130218-fixes/src/mpi_comm_c.c 2013-02-18 10:34:17.878842622 -0800
+@@ -36,5 +36,8 @@
+ ret = (*real_mpi_comm_rank)(comm, rank);
+ monitor_set_mpi_size_rank(size, *rank);
+
++ monitor_mpi_post_comm_rank();
++
++
+ return (ret);
+ }
+--- libmonitor-20130218/src/mpi_comm_f0.c 2013-02-17 23:08:32.000000000 -0800
++++ libmonitor-20130218-fixes/src/mpi_comm_f0.c 2013-02-18 10:34:17.879842617 -0800
+@@ -34,4 +34,5 @@
+ (*real_mpi_comm_size)(comm, &size, ierror);
+ (*real_mpi_comm_rank)(comm, rank, ierror);
+ monitor_set_mpi_size_rank(size, *rank);
++ monitor_mpi_post_comm_rank();
+ }
+--- libmonitor-20130218/src/mpi_comm_f1.c 2013-02-17 23:08:32.000000000 -0800
++++ libmonitor-20130218-fixes/src/mpi_comm_f1.c 2013-02-18 10:34:17.880842612 -0800
+@@ -34,4 +34,5 @@
+ (*real_mpi_comm_size)(comm, &size, ierror);
+ (*real_mpi_comm_rank)(comm, rank, ierror);
+ monitor_set_mpi_size_rank(size, *rank);
++ monitor_mpi_post_comm_rank();
+ }
+--- libmonitor-20130218/src/mpi_comm_f2.c 2013-02-17 23:08:32.000000000 -0800
++++ libmonitor-20130218-fixes/src/mpi_comm_f2.c 2013-02-18 10:34:17.880842612 -0800
+@@ -34,4 +34,5 @@
+ (*real_mpi_comm_size)(comm, &size, ierror);
+ (*real_mpi_comm_rank)(comm, rank, ierror);
+ monitor_set_mpi_size_rank(size, *rank);
++ monitor_mpi_post_comm_rank();
+ }
+--- libmonitor-20130218/src/pmpi.c 2013-02-17 23:08:32.000000000 -0800
++++ libmonitor-20130218-fixes/src/pmpi.c 2013-02-18 10:34:17.881842607 -0800
+@@ -52,11 +52,15 @@
+ typedef int mpi_init_thread_fcn_t(int *, char ***, int, int *);
+ typedef int mpi_finalize_fcn_t(void);
+ typedef int mpi_comm_fcn_t(void *, int *);
++typedef int mpi_pcontrol_fcn_t(int );
++
+
+ typedef void f_mpi_init_fcn_t(int *);
+ typedef void f_mpi_init_thread_fcn_t(int *, int *, int *);
+ typedef void f_mpi_finalize_fcn_t(int *);
+ typedef void f_mpi_comm_fcn_t(int *, int *, int *);
++typedef int f_mpi_pcontrol_fcn_t(int );
++
+
+ static mpi_init_fcn_t *real_pmpi_init = NULL;
+ static f_mpi_init_fcn_t *real_pmpi_init_f0 = NULL;
+@@ -83,6 +87,12 @@
+ static f_mpi_comm_fcn_t *real_pmpi_comm_rank_f1 = NULL;
+ static f_mpi_comm_fcn_t *real_pmpi_comm_rank_f2 = NULL;
+
++static mpi_pcontrol_fcn_t *real_pmpi_pcontrol = NULL;
++static f_mpi_pcontrol_fcn_t *real_pmpi_pcontrol_f0 = NULL;
++static f_mpi_pcontrol_fcn_t *real_pmpi_pcontrol_f1 = NULL;
++static f_mpi_pcontrol_fcn_t *real_pmpi_pcontrol_f2 = NULL;
++
++
+ /*
+ *----------------------------------------------------------------------
+ * PMPI_INIT OVERRIDE FUNCTIONS
+@@ -297,6 +307,7 @@
+ ret = (*real_pmpi_comm_size)(comm, &size);
+ ret = (*real_pmpi_comm_rank)(comm, rank);
+ monitor_set_mpi_size_rank(size, *rank);
++ monitor_mpi_post_comm_rank();
+
+ return (ret);
+ }
+@@ -308,7 +319,9 @@
+ MONITOR_GET_REAL_NAME_WRAP(rank_var, rank_fcn); \
+ (*size_var)(comm, &size, ierror); \
+ (*rank_var)(comm, rank, ierror); \
+- monitor_set_mpi_size_rank(size, *rank);
++ monitor_set_mpi_size_rank(size, *rank); \
++ monitor_mpi_post_comm_rank();
++
+
+ /*
+ * In Fortran, MPI_Comm is always int.
+@@ -333,3 +346,48 @@
+ FORTRAN_COMM_RANK_BODY(real_pmpi_comm_size_f2, pmpi_comm_size__,
+ real_pmpi_comm_rank_f2, pmpi_comm_rank__);
+ }
++
++
++/*
++ *----------------------------------------------------------------------
++ * PMPI_PCONTROL OVERRIDE FUNCTIONS
++ *----------------------------------------------------------------------
++ */
++
++int
++MONITOR_WRAP_NAME(PMPI_Pcontrol)(int level)
++{
++ int ret;
++
++ MONITOR_DEBUG("level = %d\n", level); \
++ MONITOR_GET_REAL_NAME_WRAP(real_pmpi_pcontrol, PMPI_Pcontrol);
++ ret = (*real_pmpi_pcontrol) (level) ;
++ monitor_mpi_pcontrol(level);
++
++ return (ret);
++}
++
++#define FORTRAN_PCONTROL_BODY(var_name, fcn_name)\
++ int ret; \
++ MONITOR_DEBUG("level = %d\n", level); \
++ MONITOR_GET_REAL_NAME_WRAP(var_name, fcn_name); \
++ ret = (*var_name) (level) ; \
++ monitor_mpi_pcontrol(level);
++
++int
++MONITOR_WRAP_NAME(pmpi_pcontrol)(int level)
++{
++ FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f0, pmpi_pcontrol);
++}
++
++int
++MONITOR_WRAP_NAME(pmpi_pcontrol_)(int level)
++{
++ FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f1, pmpi_pcontrol_);
++}
++
++int
++MONITOR_WRAP_NAME(pmpi_pcontrol__)(int level)
++{
++ FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f2, pmpi_pcontrol__);
++}
+--- libmonitor-20130218/src/mpi_pcontrol_c.c 1969-12-31 16:00:00.000000000 -0800
++++ libmonitor-20130218-fixes/src/mpi_pcontrol_c.c 2013-02-18 10:34:17.882842602 -0800
+@@ -0,0 +1,30 @@
++/*
++ * Override MPI_Pcontrol in C/C++.
++ *
++ *
++ */
++
++#include "config.h"
++#include "common.h"
++#include "monitor.h"
++
++typedef int mpi_pcontrol_fcn_t(int level);
++#ifdef MONITOR_STATIC
++extern mpi_pcontrol_fcn_t __real_MPI_Pcontrol;
++#endif
++static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
++
++int
++MONITOR_WRAP_NAME(MPI_Pcontrol)(int level)
++{
++ int ret, count;
++
++ MONITOR_DEBUG("level = %d\n", level); \
++
++ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, MPI_Pcontrol);
++ ret = (*real_mpi_pcontrol)(level);
++ monitor_mpi_pcontrol(level);
++
++
++ return (ret);
++}
+--- libmonitor-20130218/src/mpi_pcontrol_f0.c 1969-12-31 16:00:00.000000000 -0800
++++ libmonitor-20130218-fixes/src/mpi_pcontrol_f0.c 2013-02-18 10:34:17.882842602 -0800
+@@ -0,0 +1,24 @@
++/*
++ * Override mpi_pcontrol in Fortran.
++ *
++ */
++
++#include "config.h"
++#include "common.h"
++#include "monitor.h"
++
++typedef void mpi_pcontrol_fcn_t(int level);
++#ifdef MONITOR_STATIC
++extern mpi_pcontrol_fcn_t __real_mpi_pcontrol;
++#endif
++static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
++
++int
++MONITOR_WRAP_NAME(mpi_pcontrol)(int level)
++{
++ int count;
++
++ MONITOR_DEBUG1("\n");
++ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol);
++ (*real_mpi_pcontrol)(level);
++}
+--- libmonitor-20130218/src/mpi_pcontrol_f1.c 1969-12-31 16:00:00.000000000 -0800
++++ libmonitor-20130218-fixes/src/mpi_pcontrol_f1.c 2013-02-18 10:34:17.883842597 -0800
+@@ -0,0 +1,24 @@
++/*
++ * Override mpi_pcontrol_ in Fortran.
++ *
++ */
++
++#include "config.h"
++#include "common.h"
++#include "monitor.h"
++
++typedef void mpi_pcontrol_fcn_t(int level);
++#ifdef MONITOR_STATIC
++extern mpi_pcontrol_fcn_t __real_mpi_pcontrol_;
++#endif
++static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
++
++int
++MONITOR_WRAP_NAME(mpi_pcontrol_)(int level)
++{
++ int count;
++
++ MONITOR_DEBUG1("\n");
++ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol_);
++ (*real_mpi_pcontrol)(level);
++}
+--- libmonitor-20130218/src/mpi_pcontrol_f2.c 1969-12-31 16:00:00.000000000 -0800
++++ libmonitor-20130218-fixes/src/mpi_pcontrol_f2.c 2013-02-18 10:34:17.883842597 -0800
+@@ -0,0 +1,24 @@
++/*
++ * Override mpi_pcontrol__ in Fortran.
++ *
++ */
++
++#include "config.h"
++#include "common.h"
++#include "monitor.h"
++
++typedef void mpi_pcontrol_fcn_t(int level);
++#ifdef MONITOR_STATIC
++extern mpi_pcontrol_fcn_t __real_mpi_pcontrol__;
++#endif
++static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
++
++int
++MONITOR_WRAP_NAME(mpi_pcontrol__)(int level)
++{
++ int count;
++
++ MONITOR_DEBUG1("\n");
++ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol__);
++ (*real_mpi_pcontrol)(level);
++}
+--- libmonitor-20130218/src/Makefile.am 2013-02-17 23:08:32.000000000 -0800
++++ libmonitor-20130218-fixes/src/Makefile.am 2013-02-18 10:34:17.931842343 -0800
+@@ -38,10 +38,11 @@
+ MONITOR_THREAD_FILES = pthread.c
+ MONITOR_SCRIPT_FILES = monitor-link monitor-run
+ MONITOR_MPI_FILES = \
+- mpi_init_c.c mpi_init_thread_c.c mpi_final_c.c mpi_comm_c.c \
+- mpi_init_f0.c mpi_init_thread_f0.c mpi_final_f0.c mpi_comm_f0.c \
+- mpi_init_f1.c mpi_init_thread_f1.c mpi_final_f1.c mpi_comm_f1.c \
+- mpi_init_f2.c mpi_init_thread_f2.c mpi_final_f2.c mpi_comm_f2.c
++ mpi_init_c.c mpi_init_thread_c.c mpi_final_c.c mpi_comm_c.c mpi_pcontrol_c.c \
++ mpi_init_f0.c mpi_init_thread_f0.c mpi_final_f0.c mpi_comm_f0.c mpi_pcontrol_f0.c \
++ mpi_init_f1.c mpi_init_thread_f1.c mpi_final_f1.c mpi_comm_f1.c mpi_pcontrol_f1.c \
++ mpi_init_f2.c mpi_init_thread_f2.c mpi_final_f2.c mpi_comm_f2.c mpi_pcontrol_f2.c
++
+
+ include_HEADERS = monitor.h
+ bin_SCRIPTS =
diff --git a/var/spack/repos/builtin/packages/libmonitor/libmonitorkrell-0002.patch b/var/spack/repos/builtin/packages/libmonitor/libmonitorkrell-0002.patch
new file mode 100644
index 0000000000..514dfdf13e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libmonitor/libmonitorkrell-0002.patch
@@ -0,0 +1,106 @@
+--- libmonitor-20130218/src/pmpi.c 2013-02-18 11:34:17.000000000 -0700
++++ libmonitor-20130218-fixed/src/pmpi.c 2013-04-11 10:03:59.300550393 -0600
+@@ -355,7 +355,7 @@
+ */
+
+ int
+-MONITOR_WRAP_NAME(PMPI_Pcontrol)(int level)
++MONITOR_WRAP_NAME(PMPI_Pcontrol)(int level, int *ierror )
+ {
+ int ret;
+
+@@ -375,19 +375,19 @@
+ monitor_mpi_pcontrol(level);
+
+ int
+-MONITOR_WRAP_NAME(pmpi_pcontrol)(int level)
++MONITOR_WRAP_NAME(pmpi_pcontrol)(int level, int *ierror )
+ {
+ FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f0, pmpi_pcontrol);
+ }
+
+ int
+-MONITOR_WRAP_NAME(pmpi_pcontrol_)(int level)
++MONITOR_WRAP_NAME(pmpi_pcontrol_)(int level, int *ierror )
+ {
+ FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f1, pmpi_pcontrol_);
+ }
+
+ int
+-MONITOR_WRAP_NAME(pmpi_pcontrol__)(int level)
++MONITOR_WRAP_NAME(pmpi_pcontrol__)(int level, int *ierror )
+ {
+ FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f2, pmpi_pcontrol__);
+ }
+--- libmonitor-20130218/src/mpi_pcontrol_f0.c 2013-02-18 11:34:17.000000000 -0700
++++ libmonitor-20130218-fixed/src/mpi_pcontrol_f0.c 2013-04-11 10:13:47.783002000 -0600
+@@ -7,18 +7,18 @@
+ #include "common.h"
+ #include "monitor.h"
+
+-typedef void mpi_pcontrol_fcn_t(int level);
++typedef void mpi_pcontrol_fcn_t(int level, int *ierror);
+ #ifdef MONITOR_STATIC
+ extern mpi_pcontrol_fcn_t __real_mpi_pcontrol;
+ #endif
+ static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
+
+ int
+-MONITOR_WRAP_NAME(mpi_pcontrol)(int level)
++MONITOR_WRAP_NAME(mpi_pcontrol)(int level, int *ierror)
+ {
+ int count;
+
+ MONITOR_DEBUG1("\n");
+ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol);
+- (*real_mpi_pcontrol)(level);
++ (*real_mpi_pcontrol)(level, ierror);
+ }
+--- libmonitor-20130218/src/mpi_pcontrol_f1.c 2013-02-18 11:34:17.000000000 -0700
++++ libmonitor-20130218-fixed/src/mpi_pcontrol_f1.c 2013-04-11 10:14:08.039214000 -0600
+@@ -7,18 +7,18 @@
+ #include "common.h"
+ #include "monitor.h"
+
+-typedef void mpi_pcontrol_fcn_t(int level);
++typedef void mpi_pcontrol_fcn_t(int level, int *ierror);
+ #ifdef MONITOR_STATIC
+ extern mpi_pcontrol_fcn_t __real_mpi_pcontrol_;
+ #endif
+ static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
+
+ int
+-MONITOR_WRAP_NAME(mpi_pcontrol_)(int level)
++MONITOR_WRAP_NAME(mpi_pcontrol_)(int level, int *ierror)
+ {
+ int count;
+
+ MONITOR_DEBUG1("\n");
+ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol_);
+- (*real_mpi_pcontrol)(level);
++ (*real_mpi_pcontrol)(level, ierror);
+ }
+--- libmonitor-20130218/src/mpi_pcontrol_f2.c 2013-02-18 11:34:17.000000000 -0700
++++ libmonitor-20130218-fixed/src/mpi_pcontrol_f2.c 2013-04-11 10:14:19.000960000 -0600
+@@ -7,18 +7,18 @@
+ #include "common.h"
+ #include "monitor.h"
+
+-typedef void mpi_pcontrol_fcn_t(int level);
++typedef void mpi_pcontrol_fcn_t(int level, int *ierror);
+ #ifdef MONITOR_STATIC
+ extern mpi_pcontrol_fcn_t __real_mpi_pcontrol__;
+ #endif
+ static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
+
+ int
+-MONITOR_WRAP_NAME(mpi_pcontrol__)(int level)
++MONITOR_WRAP_NAME(mpi_pcontrol__)(int level, int *ierror)
+ {
+ int count;
+
+ MONITOR_DEBUG1("\n");
+ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol__);
+- (*real_mpi_pcontrol)(level);
++ (*real_mpi_pcontrol)(level, ierror);
+ }
diff --git a/var/spack/repos/builtin/packages/libmonitor/package.py b/var/spack/repos/builtin/packages/libmonitor/package.py
index 3b95b86ddf..eecf1963e3 100644
--- a/var/spack/repos/builtin/packages/libmonitor/package.py
+++ b/var/spack/repos/builtin/packages/libmonitor/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -29,6 +29,13 @@ class Libmonitor(Package):
homepage = "http://hpctoolkit.org"
version('20130218', svn='http://libmonitor.googlecode.com/svn/trunk/', revision=146)
+ variant('krellpatch', default=False, description="build with openspeedshop based patch.")
+
+
+ patch('libmonitorkrell-0000.patch', when='@20130218+krellpatch')
+ patch('libmonitorkrell-0001.patch', when='@20130218+krellpatch')
+ patch('libmonitorkrell-0002.patch', when='@20130218+krellpatch')
+
def install(self, spec, prefix):
configure("--prefix=" + prefix)
diff --git a/var/spack/repos/builtin/packages/libpciaccess/package.py b/var/spack/repos/builtin/packages/libpciaccess/package.py
index 6022fc34a3..403bafbbd2 100644
--- a/var/spack/repos/builtin/packages/libpciaccess/package.py
+++ b/var/spack/repos/builtin/packages/libpciaccess/package.py
@@ -1,4 +1,5 @@
from spack import *
+import os.path
class Libpciaccess(Package):
"""Generic PCI access library."""
@@ -13,6 +14,12 @@ class Libpciaccess(Package):
depends_on('libtool')
def install(self, spec, prefix):
+ # libpciaccess does not support OS X
+ if spec.satisfies('=darwin-x86_64'):
+ # create a dummy directory
+ mkdir(prefix.lib)
+ return
+
from subprocess import call
call(["./autogen.sh"])
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/libunwind/package.py b/var/spack/repos/builtin/packages/libunwind/package.py
index 239fcbcfd5..6f162f7b08 100644
--- a/var/spack/repos/builtin/packages/libunwind/package.py
+++ b/var/spack/repos/builtin/packages/libunwind/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/libxml2/package.py b/var/spack/repos/builtin/packages/libxml2/package.py
index 3a0af6b368..134e596963 100644
--- a/var/spack/repos/builtin/packages/libxml2/package.py
+++ b/var/spack/repos/builtin/packages/libxml2/package.py
@@ -1,4 +1,5 @@
from spack import *
+import os
class Libxml2(Package):
"""Libxml2 is the XML C parser and toolkit developed for the Gnome
@@ -9,12 +10,21 @@ class Libxml2(Package):
version('2.9.2', '9e6a9aca9d155737868b3dc5fd82f788')
- extends('python')
+ variant('python', default=False, description='Enable Python support')
+
+ extends('python', when='+python', ignore=r'(bin.*$)|(include.*$)|(share.*$)|(lib/libxml2.*$)|(lib/xml2.*$)|(lib/cmake.*$)')
depends_on('zlib')
depends_on('xz')
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix)
+ if '+python' in spec:
+ site_packages_dir = os.path.join(prefix, 'lib/python%s.%s/site-packages' %(spec['python'].version[:2]))
+ python_args = ["--with-python=%s" % spec['python'].prefix, "--with-python-install-dir=%s" % site_packages_dir]
+ else:
+ python_args = ["--without-python"]
+
+ configure("--prefix=%s" % prefix,
+ *python_args)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/llvm-lld/package.py b/var/spack/repos/builtin/packages/llvm-lld/package.py
index f229211396..cb91aa22a5 100644
--- a/var/spack/repos/builtin/packages/llvm-lld/package.py
+++ b/var/spack/repos/builtin/packages/llvm-lld/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py
index a6759c3033..a3307584e0 100644
--- a/var/spack/repos/builtin/packages/llvm/package.py
+++ b/var/spack/repos/builtin/packages/llvm/package.py
@@ -6,7 +6,7 @@
# Written by David Beckingsale, david@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -38,16 +38,35 @@ class Llvm(Package):
version('3.7.0', 'b98b9495e5655a672d6cb83e1a180f8e', url='http://llvm.org/releases/3.7.0/llvm-3.7.0.src.tar.xz')
version('3.6.2', '0c1ee3597d75280dee603bae9cbf5cc2', url='http://llvm.org/releases/3.6.2/llvm-3.6.2.src.tar.xz')
version('3.5.1', '2d3d8004f38852aa679e5945b8ce0b14', url='http://llvm.org/releases/3.5.1/llvm-3.5.1.src.tar.xz')
+ version('3.0', 'a8e5f5f1c1adebae7b4a654c376a6005', url='http://llvm.org/releases/3.0/llvm-3.0.tar.gz') # currently required by mesa package
depends_on('python@2.7:')
+ variant('libcxx', default=False, description="Builds the LLVM Standard C++ library targeting C++11")
+
+ ##########
+ # @3.7.0
+ resource(name='compiler-rt',
+ url='http://llvm.org/releases/3.7.0/compiler-rt-3.7.0.src.tar.xz', md5='383c10affd513026f08936b5525523f5',
+ destination='projects', when='@3.7.0')
+ resource(name='openmp',
+ url='http://llvm.org/releases/3.7.0/openmp-3.7.0.src.tar.xz', md5='f482c86fdead50ba246a1a2b0bbf206f',
+ destination='projects', when='@3.7.0')
+ resource(name='libcxx',
+ url='http://llvm.org/releases/3.7.0/libcxx-3.7.0.src.tar.xz', md5='46aa5175cbe1ad42d6e9c995968e56dd',
+ destination='projects', placement='libcxx', when='+libcxx@3.7.0')
+ resource(name='libcxxabi',
+ url='http://llvm.org/releases/3.7.0/libcxxabi-3.7.0.src.tar.xz', md5='5aa769e2fca79fa5335cfae8f6258772',
+ destination='projects', placement='libcxxabi', when='+libcxx@3.7.0')
+ ##########
+
def install(self, spec, prefix):
env['CXXFLAGS'] = self.compiler.cxx11_flag
with working_dir('spack-build', create=True):
cmake('..',
- '-DLLVM_REQUIRES_RTTI=1',
- '-DPYTHON_EXECUTABLE=%s/bin/python' % spec['python'].prefix,
+ '-DLLVM_REQUIRES_RTTI:BOOL=ON',
+ '-DPYTHON_EXECUTABLE:PATH=%s/bin/python' % spec['python'].prefix,
*std_cmake_args)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/lmod/package.py b/var/spack/repos/builtin/packages/lmod/package.py
new file mode 100644
index 0000000000..d642594f92
--- /dev/null
+++ b/var/spack/repos/builtin/packages/lmod/package.py
@@ -0,0 +1,26 @@
+from spack import *
+import os
+
+class Lmod(Package):
+ """
+ Lmod is a Lua based module system that easily handles the MODULEPATH
+ Hierarchical problem. Environment Modules provide a convenient way to
+ dynamically change the users' environment through modulefiles. This
+ includes easily adding or removing directories to the PATH environment
+ variable. Modulefiles for Library packages provide environment variables
+ that specify where the library and header files can be found.
+ """
+ homepage = "https://www.tacc.utexas.edu/research-development/tacc-projects/lmod"
+ url = "http://sourceforge.net/projects/lmod/files/Lmod-6.0.1.tar.bz2/download"
+
+ version('6.0.1', '91abf52fe5033bd419ffe2842ebe7af9')
+
+ depends_on("lua@5.2:")
+
+ def install(self, spec, prefix):
+ # Add our lua to PATH
+ os.environ['PATH'] = spec['lua'].prefix.bin + ';' + os.environ['PATH']
+
+ configure('--prefix=%s' % prefix)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/lua/package.py b/var/spack/repos/builtin/packages/lua/package.py
index 57c443cc2d..6d8f7806d9 100644
--- a/var/spack/repos/builtin/packages/lua/package.py
+++ b/var/spack/repos/builtin/packages/lua/package.py
@@ -21,6 +21,8 @@ class Lua(Package):
def install(self, spec, prefix):
make('INSTALL_TOP=%s' % prefix,
- 'MYLDFLAGS=-L%s/lib' % spec['ncurses'].prefix,
- 'linux',
+ 'MYLDFLAGS="-L%s/lib -Wl,-rpath,%s"' % (spec['ncurses'].prefix,spec['ncurses'].prefix),
+ 'linux')
+ make('INSTALL_TOP=%s' % prefix,
+ 'MYLDFLAGS="-L%s/lib -Wl,-rpath,%s"' % (spec['ncurses'].prefix,spec['ncurses'].prefix),
'install')
diff --git a/var/spack/repos/builtin/packages/memaxes/package.py b/var/spack/repos/builtin/packages/memaxes/package.py
index 76d5d3f831..4b1da558a2 100644
--- a/var/spack/repos/builtin/packages/memaxes/package.py
+++ b/var/spack/repos/builtin/packages/memaxes/package.py
@@ -3,10 +3,10 @@ from spack import *
class Memaxes(Package):
"""MemAxes is a visualizer for sampled memory trace data."""
- homepage = "https://github.com/scalability-llnl/MemAxes"
+ homepage = "https://github.com/llnl/MemAxes"
version('0.5', '5874f3fda9fd2d313c0ff9684f915ab5',
- url='https://github.com/scalability-llnl/MemAxes/archive/v0.5.tar.gz')
+ url='https://github.com/llnl/MemAxes/archive/v0.5.tar.gz')
depends_on("cmake@2.8.9:")
depends_on("qt@5:")
@@ -16,4 +16,3 @@ class Memaxes(Package):
cmake('..', *std_cmake_args)
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/mesa/package.py b/var/spack/repos/builtin/packages/mesa/package.py
index 2a04a8fd51..62da8c993b 100644
--- a/var/spack/repos/builtin/packages/mesa/package.py
+++ b/var/spack/repos/builtin/packages/mesa/package.py
@@ -14,7 +14,7 @@ class Mesa(Package):
# mesa 7.x, 8.x, 9.x
depends_on("libdrm@2.4.33")
depends_on("llvm@3.0")
- depends_on("libxml2")
+ depends_on("libxml2+python")
# patch("llvm-fixes.patch") # using newer llvm
diff --git a/var/spack/repos/builtin/packages/mpc/package.py b/var/spack/repos/builtin/packages/mpc/package.py
index 6fbfca3007..50477a0ccb 100644
--- a/var/spack/repos/builtin/packages/mpc/package.py
+++ b/var/spack/repos/builtin/packages/mpc/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -31,6 +31,7 @@ class Mpc(Package):
homepage = "http://www.multiprecision.org"
url = "ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.2.tar.gz"
+ version('1.0.3', 'd6a1d5f8ddea3abd2cc3e98f58352d26')
version('1.0.2', '68fadff3358fb3e7976c7a398a0af4c3')
depends_on("gmp")
diff --git a/var/spack/repos/builtin/packages/mpfr/package.py b/var/spack/repos/builtin/packages/mpfr/package.py
index 9c744a22df..0f2baac004 100644
--- a/var/spack/repos/builtin/packages/mpfr/package.py
+++ b/var/spack/repos/builtin/packages/mpfr/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py
index d48bf878f6..7cfa0a3b61 100644
--- a/var/spack/repos/builtin/packages/mpich/package.py
+++ b/var/spack/repos/builtin/packages/mpich/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -85,8 +85,13 @@ class Mpich(Package):
mpif77 = os.path.join(bin, 'mpif77')
mpif90 = os.path.join(bin, 'mpif90')
+ spack_cc = os.environ['CC']
+ spack_cxx = os.environ['CXX']
+ spack_f77 = os.environ['F77']
+ spack_fc = os.environ['FC']
+
kwargs = { 'ignore_absent' : True, 'backup' : False, 'string' : True }
- filter_file('CC="cc"', 'CC="%s"' % self.compiler.cc, mpicc, **kwargs)
- filter_file('CXX="c++"', 'CXX="%s"' % self.compiler.cxx, mpicxx, **kwargs)
- filter_file('F77="f77"', 'F77="%s"' % self.compiler.f77, mpif77, **kwargs)
- filter_file('FC="f90"', 'FC="%s"' % self.compiler.fc, mpif90, **kwargs)
+ filter_file('CC="%s"' % spack_cc , 'CC="%s"' % self.compiler.cc, mpicc, **kwargs)
+ filter_file('CXX="%s"'% spack_cxx, 'CXX="%s"' % self.compiler.cxx, mpicxx, **kwargs)
+ filter_file('F77="%s"'% spack_f77, 'F77="%s"' % self.compiler.f77, mpif77, **kwargs)
+ filter_file('FC="%s"' % spack_fc , 'FC="%s"' % self.compiler.fc, mpif90, **kwargs)
diff --git a/var/spack/repos/builtin/packages/mpileaks/package.py b/var/spack/repos/builtin/packages/mpileaks/package.py
index 4ef866588c..661d9d66bf 100644
--- a/var/spack/repos/builtin/packages/mpileaks/package.py
+++ b/var/spack/repos/builtin/packages/mpileaks/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/mrnet/package.py b/var/spack/repos/builtin/packages/mrnet/package.py
index 6e9766f275..fed944e45f 100644
--- a/var/spack/repos/builtin/packages/mrnet/package.py
+++ b/var/spack/repos/builtin/packages/mrnet/package.py
@@ -7,13 +7,19 @@ class Mrnet(Package):
version('4.0.0', 'd00301c078cba57ef68613be32ceea2f')
version('4.1.0', '5a248298b395b329e2371bf25366115c')
+ version('5.0.1', '17f65738cf1b9f9b95647ff85f69ecdd')
+ variant('lwthreads', default=False, description="Also build the MRNet LW threadsafe libraries")
parallel = False
depends_on("boost")
def install(self, spec, prefix):
- configure("--prefix=%s" %prefix, "--enable-shared")
+ # Build the MRNet LW thread safe libraries when the krelloptions variant is present
+ if '+lwthreads' in spec:
+ configure("--prefix=%s" %prefix, "--enable-shared", "--enable-ltwt-threadsafe")
+ else:
+ configure("--prefix=%s" %prefix, "--enable-shared")
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/muster/package.py b/var/spack/repos/builtin/packages/muster/package.py
index 722daf3d7f..0dc2e5e086 100644
--- a/var/spack/repos/builtin/packages/muster/package.py
+++ b/var/spack/repos/builtin/packages/muster/package.py
@@ -7,8 +7,8 @@ class Muster(Package):
for performance data analysis on systems with very large
numbers of processes.
"""
- homepage = "https://github.com/scalability-llnl/muster"
- url = "https://github.com/scalability-llnl/muster/archive/v1.0.tar.gz"
+ homepage = "https://github.com/llnl/muster"
+ url = "https://github.com/llnl/muster/archive/v1.0.tar.gz"
version('1.0.1', 'd709787db7e080447afb6571ac17723c')
version('1.0', '2eec6979a4a36d3a65a792d12969be16')
diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py
index ca0b1287c1..23a11b3171 100644
--- a/var/spack/repos/builtin/packages/mvapich2/package.py
+++ b/var/spack/repos/builtin/packages/mvapich2/package.py
@@ -1,104 +1,184 @@
-import os
from spack import *
+import os
class Mvapich2(Package):
- """mvapich2 is an MPI implmenetation for infiniband networks."""
+ """MVAPICH2 is an MPI implementation for Infiniband networks."""
homepage = "http://mvapich.cse.ohio-state.edu/"
- version('1.9', '5dc58ed08fd3142c260b70fe297e127c',
- url="http://mvapich.cse.ohio-state.edu/download/mvapich2/mv2/mvapich2-1.9.tgz")
- patch('ad_lustre_rwcontig_open_source.patch', when='@1.9')
+ version('2.2a', 'b8ceb4fc5f5a97add9b3ff1b9cbe39d2',
+ url='http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.2a.tar.gz')
version('2.0', '9fbb68a4111a8b6338e476dc657388b4',
url='http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.0.tar.gz')
- provides('mpi@:2.2', when='@1.9') # MVAPICH2-1.9 supports MPI 2.2
- provides('mpi@:3.0', when='@2.0') # MVAPICH2-2.0 supports MPI 3.0
-
-
- def install(self, spec, prefix):
- # we'll set different configure flags depending on our environment
- configure_args = []
-
- # TODO: The MPICH*_FLAGS have a different name for 1.9
+ 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')
+ 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
+
+ variant('debug', default=False, description='Enables debug information and error messages at run-time')
+
+ ##########
+ # TODO : Process managers should be grouped into the same variant, as soon as variant capabilities will be extended
+ # See https://groups.google.com/forum/#!topic/spack/F8-f8B4_0so
+ SLURM = 'slurm'
+ HYDRA = 'hydra'
+ GFORKER = 'gforker'
+ REMSHELL = 'remshell'
+ SLURM_INCOMPATIBLE_PMS = (HYDRA, GFORKER, REMSHELL)
+ variant(SLURM, default=False, description='Sets slurm as the only process manager')
+ variant(HYDRA, default=False, description='Sets hydra as one of the process managers')
+ variant(GFORKER, default=False, description='Sets gforker as one of the process managers')
+ variant(REMSHELL, default=False, description='Sets remshell as one of the process managers')
+ ##########
+
+ ##########
+ # TODO : Network types should be grouped into the same variant, as soon as variant capabilities will be extended
+ PSM = 'psm'
+ SOCK = 'sock'
+ NEMESISIBTCP = 'nemesisibtcp'
+ NEMESISIB = 'nemesisib'
+ NEMESIS = 'nemesis'
+ SUPPORTED_NETWORKS = (PSM, SOCK, NEMESIS, NEMESISIB, NEMESISIBTCP)
+ variant(PSM, default=False, description='Configures a build for QLogic PSM-CH3')
+ variant(SOCK, default=False, description='Configures a build for TCP/IP-CH3')
+ variant(NEMESISIBTCP, default=False, description='Configures a build for both OFA-IB-Nemesis and TCP/IP-Nemesis')
+ variant(NEMESISIB, default=False, description='Configures a build for OFA-IB-Nemesis')
+ variant(NEMESIS, default=False, description='Configures a build for TCP/IP-Nemesis')
+ ##########
+
+ # FIXME : CUDA support is missing
+
+ @staticmethod
+ def enabled(x):
+ """
+ Given a variant name returns the string that means the variant is enabled
+
+ :param x: variant name
+ :return:
+ """
+ return '+' + x
+
+ def set_build_type(self, spec, configure_args):
+ """
+ Appends to configure_args the flags that depends only on the build type (i.e. release or debug)
+
+ :param spec: spec
+ :param configure_args: list of current configure arguments
+ """
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"
-
+ build_type_options = [
+ "--disable-fast",
+ "--enable-error-checking=runtime",
+ "--enable-error-messages=all",
+ "--enable-g=dbg", "--enable-debuginfo" # Permits debugging with TotalView
+ ]
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")
+ build_type_options = ["--enable-fast=all"]
+
+ configure_args.extend(build_type_options)
+
+ def set_process_manager(self, spec, configure_args):
+ """
+ Appends to configure_args the flags that will enable the appropriate process managers
+
+ :param spec: spec
+ :param configure_args: list of current configure arguments
+ """
+ # Check that slurm variant is not activated together with other pm variants
+ has_slurm_incompatible_variants = any(self.enabled(x) in spec for x in Mvapich2.SLURM_INCOMPATIBLE_PMS)
+ if self.enabled(Mvapich2.SLURM) in spec and has_slurm_incompatible_variants:
+ raise RuntimeError(" %s : 'slurm' cannot be activated together with other process managers" % self.name)
+
+ process_manager_options = []
+ if self.enabled(Mvapich2.SLURM) in spec:
+ process_manager_options = [
+ "--with-pm=slurm"
+ ]
+ elif has_slurm_incompatible_variants:
+ pms = []
+ # The variant name is equal to the process manager name in the configuration options
+ for x in Mvapich2.SLURM_INCOMPATIBLE_PMS:
+ if self.enabled(x) in spec:
+ pms.append(x)
+ process_manager_options = [
+ "--with-pm=%s" % ':'.join(pms)
+ ]
+ configure_args.extend(process_manager_options)
+
+ def set_network_type(self, spec, configure_args):
+ # Check that at most one variant has been activated
+ count = 0
+ for x in Mvapich2.SUPPORTED_NETWORKS:
+ if self.enabled(x) in spec:
+ count += 1
+ if count > 1:
+ raise RuntimeError('network variants are mutually exclusive (only one can be selected at a time)')
+
+ # From here on I can suppose that ony one variant has been selected
+ if self.enabled(Mvapich2.PSM) in spec:
+ network_options = ["--with-device=ch3:psm"]
+ elif self.enabled(Mvapich2.SOCK) in spec:
+ network_options = ["--with-device=ch3:sock"]
+ elif self.enabled(Mvapich2.NEMESISIBTCP) in spec:
+ network_options = ["--with-device=ch3:nemesis:ib,tcp"]
+ elif self.enabled(Mvapich2.NEMESISIB) in spec:
+ network_options = ["--with-device=ch3:nemesis:ib"]
+ elif self.enabled(Mvapich2.NEMESIS) in spec:
+ network_options = ["--with-device=ch3:nemesis"]
else:
- # throw this flag on IB systems
- configure_args.append("--with-device=ch3:mrail", "--with-rdma=gen2")
-
- # TODO: shared-memory build
-
- # TODO: CUDA
+ network_options = ["--with-device=ch3:mrail", "--with-rdma=gen2"]
- # TODO: other file systems like panasis
+ configure_args.extend(network_options)
- configure(
- "--prefix=" + prefix,
- "--enable-f77", "--enable-fc", "--enable-cxx",
- "--enable-shared", "--enable-sharedlibs=gcc",
- "--enable-debuginfo",
- "--with-pm=no", "--with-pmi=slurm",
- "--enable-romio", "--with-file-system=lustre+nfs+ufs",
- "--disable-mpe", "--without-mpe",
+ def install(self, spec, prefix):
+ # we'll set different configure flags depending on our environment
+ configure_args = [
+ "--prefix=%s" % prefix,
+ "--enable-shared",
+ "--enable-romio",
"--disable-silent-rules",
- *configure_args)
-
+ ]
+ if not self.compiler.f77 and not self.compiler.fc:
+ configure_args.append("--enable-fortran=none")
+
+ # Set the type of the build (debug, release)
+ self.set_build_type(spec, configure_args)
+ # Set the process manager
+ self.set_process_manager(spec, configure_args)
+ # Determine network type by variant
+ self.set_network_type(spec, configure_args)
+
+ configure(*configure_args)
make()
-
make("install")
+
+ self.filter_compilers()
+
+
+ def filter_compilers(self):
+ """Run after install to make the MPI compilers use the
+ compilers that Spack built the package with.
+
+ If this isn't done, they'll have CC, CXX, F77, and FC set
+ to Spack's generic cc, c++, f77, and f90. We want them to
+ be bound to whatever compiler they were built with.
+ """
+ bin = self.prefix.bin
+ mpicc = os.path.join(bin, 'mpicc')
+ mpicxx = os.path.join(bin, 'mpicxx')
+ mpif77 = os.path.join(bin, 'mpif77')
+ mpif90 = os.path.join(bin, 'mpif90')
+
+ spack_cc = os.environ['CC']
+ spack_cxx = os.environ['CXX']
+ spack_f77 = os.environ['F77']
+ spack_fc = os.environ['FC']
+
+ kwargs = { 'ignore_absent' : True, 'backup' : False, 'string' : True }
+ filter_file('CC="%s"' % spack_cc , 'CC="%s"' % self.compiler.cc, mpicc, **kwargs)
+ filter_file('CXX="%s"'% spack_cxx, 'CXX="%s"' % self.compiler.cxx, mpicxx, **kwargs)
+ filter_file('F77="%s"'% spack_f77, 'F77="%s"' % self.compiler.f77, mpif77, **kwargs)
+ filter_file('FC="%s"' % spack_fc , 'FC="%s"' % self.compiler.fc, mpif90, **kwargs)
diff --git a/var/spack/repos/builtin/packages/ncurses/package.py b/var/spack/repos/builtin/packages/ncurses/package.py
index cc180bbae1..31f53b6c43 100644
--- a/var/spack/repos/builtin/packages/ncurses/package.py
+++ b/var/spack/repos/builtin/packages/ncurses/package.py
@@ -14,6 +14,8 @@ class Ncurses(Package):
version('6.0', 'ee13d052e1ead260d7c28071f46eefb1',
url='http://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.0.tar.gz')
+ patch('patch_gcc_5.txt', when='%gcc@5.0:')
+
def install(self, spec, prefix):
configure("--prefix=%s" % prefix,
"--with-shared",
diff --git a/var/spack/repos/builtin/packages/ncurses/patch_gcc_5.txt b/var/spack/repos/builtin/packages/ncurses/patch_gcc_5.txt
new file mode 100644
index 0000000000..f85e07cb8d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ncurses/patch_gcc_5.txt
@@ -0,0 +1,12 @@
+diff -Naur ncurses-6.0/ncurses/Makefile.in ncurses-6.0-patched/ncurses/Makefile.in
+--- ncurses-6.0/ncurses/Makefile.in 2015-08-06 01:15:41.000000000 +0200
++++ ncurses-6.0-patched/ncurses/Makefile.in 2015-12-15 14:58:52.710199407 +0100
+@@ -219,7 +219,7 @@
+ $(SHELL) -e $(tinfo)/MKfallback.sh $(TERMINFO) $(TERMINFO_SRC) $(TIC_PATH) $(FALLBACK_LIST) >$@
+
+ ./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h
+- $(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@
++ $(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS) -P" "$(AWK)" generated <../include/curses.h >$@
+
+ init_keytry.h: make_keys$(BUILD_EXEEXT) keys.list
+ ./make_keys$(BUILD_EXEEXT) keys.list > $@
diff --git a/var/spack/repos/builtin/packages/netgauge/package.py b/var/spack/repos/builtin/packages/netgauge/package.py
index c2378b0718..0ea42175c6 100644
--- a/var/spack/repos/builtin/packages/netgauge/package.py
+++ b/var/spack/repos/builtin/packages/netgauge/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/ompt-openmp/package.py b/var/spack/repos/builtin/packages/ompt-openmp/package.py
index 5d380ebd77..e5bcfb51f0 100644
--- a/var/spack/repos/builtin/packages/ompt-openmp/package.py
+++ b/var/spack/repos/builtin/packages/ompt-openmp/package.py
@@ -3,9 +3,9 @@ from spack import *
class OmptOpenmp(Package):
"""LLVM/Clang OpenMP runtime with OMPT support. This is a fork of the OpenMPToolsInterface/LLVM-openmp fork of the official LLVM OpenMP mirror. This library provides a drop-in replacement of the OpenMP runtimes for GCC, Intel and LLVM/Clang."""
homepage = "https://github.com/OpenMPToolsInterface/LLVM-openmp"
- url = "http://github.com/khuck/LLVM-openmp/archive/v0.1-spack.tar.gz"
+ url = "http://github.com/khuck/LLVM-openmp/archive/v0.1.tar.gz"
- version('spack', '35227b2726e377faa433fc841226e036')
+ version('0.1', '2334e6a84b52da41b27afd9831ed5370')
# depends_on("foo")
diff --git a/var/spack/repos/builtin/packages/opari2/package.py b/var/spack/repos/builtin/packages/opari2/package.py
index daaee61e3a..3f8c65377d 100644
--- a/var/spack/repos/builtin/packages/opari2/package.py
+++ b/var/spack/repos/builtin/packages/opari2/package.py
@@ -17,6 +17,8 @@ class Opari2(Package):
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.4', '245d3d11147a06de77909b0805f530c0',
+ url='http://www.vi-hps.org/upload/packages/opari2/opari2-1.1.4.tar.gz')
version('1.1.2', '9a262c7ca05ff0ab5f7775ae96f3539e')
backend_user_provided = """\
diff --git a/var/spack/repos/builtin/packages/openblas/package.py b/var/spack/repos/builtin/packages/openblas/package.py
new file mode 100644
index 0000000000..e01467c05a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/openblas/package.py
@@ -0,0 +1,21 @@
+from spack import *
+
+class Openblas(Package):
+ """OpenBLAS: An optimized BLAS library"""
+ homepage = "http://www.openblas.net"
+ url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
+
+ version('0.2.15', 'b1190f3d3471685f17cfd1ec1d252ac9')
+
+ # virtual dependency
+ provides('blas')
+ provides('lapack')
+
+ def install(self, spec, prefix):
+ make('libs', 'netlib', 'shared', 'CC=cc', 'FC=f77')
+ make('install', "PREFIX='%s'" % prefix)
+
+ # Blas virtual package should provide blas.a and libblas.a
+ with working_dir(prefix.lib):
+ symlink('libopenblas.a', 'blas.a')
+ symlink('libopenblas.a', 'libblas.a')
diff --git a/var/spack/repos/builtin/packages/openmpi/configure.patch b/var/spack/repos/builtin/packages/openmpi/configure.patch
new file mode 100644
index 0000000000..18fb42c1d1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/openmpi/configure.patch
@@ -0,0 +1,31 @@
+This patch addresses <https://github.com/open-mpi/ompi/issues/576>.
+--- a/configure
++++ b/configure
+@@ -301130,10 +301130,11 @@
+ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+- # Some compilers place space between "-{L,R}" and the path.
++ # Some compilers place space between "-{L,R,l}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+- test $p = "-R"; then
++ test $p = "-R" ||
++ test $p = "-l"; then
+ prev=$p
+ continue
+ fi
+@@ -303036,10 +303037,11 @@
+ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+- # Some compilers place space between "-{L,R}" and the path.
++ # Some compilers place space between "-{L,R,l}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+- test $p = "-R"; then
++ test $p = "-R" ||
++ test $p = "-l"; then
+ prev=$p
+ continue
+ fi
diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py
index 5e429dedf5..be2202fbbd 100644
--- a/var/spack/repos/builtin/packages/openmpi/package.py
+++ b/var/spack/repos/builtin/packages/openmpi/package.py
@@ -14,6 +14,8 @@ class Openmpi(Package):
homepage = "http://www.open-mpi.org"
+ version('1.10.1', 'f0fcd77ed345b7eafb431968124ba16e',
+ url = "http://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.1.tar.bz2")
version('1.10.0', '280cf952de68369cebaca886c5ce0304',
url = "http://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.0.tar.bz2")
version('1.8.8', '0dab8e602372da1425e9242ae37faf8c',
@@ -23,10 +25,15 @@ class Openmpi(Package):
patch('ad_lustre_rwcontig_open_source.patch', when="@1.6.5")
patch('llnl-platforms.patch', when="@1.6.5")
+ patch('configure.patch', when="@1.10.0:")
provides('mpi@:2.2', when='@1.6.5') # Open MPI 1.6.5 supports MPI-2.2
provides('mpi@:3.0', when='@1.8.8') # Open MPI 1.8.8 supports MPI-3.0
provides('mpi@:3.0', when='@1.10.0') # Open MPI 1.10.0 supports MPI-3.0
+ provides('mpi@:3.0', when='@1.10.1') # Open MPI 1.10.1 supports MPI-3.0
+
+
+ depends_on('hwloc')
def setup_dependent_environment(self, module, spec, dep_spec):
@@ -40,6 +47,8 @@ class Openmpi(Package):
def install(self, spec, prefix):
config_args = ["--prefix=%s" % prefix]
+ config_args.append("--with-hwloc=%s" % spec['hwloc'].prefix)
+
# TODO: use variants for this, e.g. +lanl, +llnl, etc.
# use this for LANL builds, but for LLNL builds, we need:
# "--with-platform=contrib/platform/llnl/optimized"
diff --git a/var/spack/repos/builtin/packages/openspeedshop/package.py b/var/spack/repos/builtin/packages/openspeedshop/package.py
new file mode 100644
index 0000000000..8c71bcb7c3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/openspeedshop/package.py
@@ -0,0 +1,216 @@
+################################################################################
+# 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 Openspeedshop(Package):
+ """OpenSpeedShop is a community effort by The Krell Institute with current direct funding from DOEs NNSA.
+ It builds on top of a broad list of community infrastructures, most notably Dyninst and MRNet from UW,
+ libmonitor from Rice, and PAPI from UTK. OpenSpeedShop is an open source multi platform Linux performance
+ tool which is targeted to support performance analysis of applications running on both single node and
+ large scale IA64, IA32, EM64T, AMD64, PPC, ARM, Blue Gene and Cray platforms. OpenSpeedShop development
+ is hosted by the Krell Institute. The infrastructure and base components of OpenSpeedShop are released
+ as open source code primarily under LGPL.
+ """
+
+
+ homepage = "http://www.openspeedshop.org"
+ url = "http://sourceforge.net/projects/openss/files/openss/openspeedshop-2.2/openspeedshop-2.2.tar.gz/download"
+ version('2.2', '16cb051179c2038de4e8a845edf1d573')
+
+ #homepage = "http://www.openspeedshop.org"
+ #url = "http://sourceforge.net/projects/openss/files/openss/openspeedshop-2.1/openspeedshop-2.1.tar.gz/download"
+ #version('2.1', 'bdaa57c1a0db9d0c3e0303fd8496c507')
+
+ # optional mirror template
+ #url = "file:/g/g24/jeg/openspeedshop-2.1.tar.gz"
+ #version('2.1', '64ee17166519838c7b94a1adc138e94f')
+
+
+
+ parallel = False
+
+ variant('offline', default=True, description="build with offline instrumentor enabled.")
+ variant('cbtf', default=False, description="build with cbtf instrumentor enabled.")
+ variant('runtime', default=False, description="build only the runtime libraries and collectors.")
+ variant('frontend', default=False, description="build only the front-end tool using the runtime_dir to point to the target build.")
+ variant('cuda', default=False, description="build with cuda packages included.")
+ variant('ptgf', default=False, description="build with the PTGF based gui package enabled.")
+ variant('intelmic', default=False, description="build for the Intel MIC platform.")
+ variant('cray', default=False, description="build for Cray platforms.")
+ variant('bluegene', default=False, description="build for Cray platforms.")
+ variant('rtfe', default=False, description="build for generic cluster platforms that have different processors on the fe and be nodes.")
+
+ # Dependencies for openspeedshop that are common to all the variants of the OpenSpeedShop build
+ depends_on("bison")
+ depends_on("flex")
+ depends_on("binutils@2.24+krellpatch")
+ depends_on("libelf")
+ depends_on("libdwarf")
+ depends_on("sqlite")
+ depends_on("boost@1.50.0")
+ depends_on("dyninst@8.2.1")
+ depends_on("python")
+ depends_on("qt@3.3.8b+krellpatch")
+
+ # Dependencies only for the openspeedshop offline package.
+ depends_on("libunwind", when='+offline')
+ depends_on("papi", when='+offline')
+ depends_on("libmonitor+krellpatch", when='+offline')
+ #depends_on("openmpi+krelloptions", when='+offline')
+ #depends_on("openmpi", when='+offline')
+ #depends_on("mpich", when='+offline')
+
+ # Dependencies only for the openspeedshop cbtf package.
+ depends_on("cbtf", when='+cbtf')
+ depends_on("cbtf-krell", when='+cbtf')
+ depends_on("cbtf-argonavis", when='+cbtf')
+ depends_on("mrnet@4.1.0:+lwthreads", when='+cbtf')
+
+ def install(self, spec, prefix):
+
+ #openmpi_prefix_path = "/opt/openmpi-1.8.2"
+ #mvapich_prefix_path = "/usr/local/tools/mvapich-gnu"
+ #'-DOPENMPI_DIR=%s' % spec['openmpi'].prefix,
+ #'-DOPENMPI_DIR=%s' % openmpi_prefix_path,
+ #'-DMVAPICH_DIR=%s' % mvapich_prefix_path,
+
+ # FIXME: How do we make this dynamic in spack? That is, can we specify the paths to cuda dynamically?
+ # WAITING for external package support.
+ #if '+cuda' in spec:
+ # cuda_prefix_path = "/usr/local/cuda-6.0"
+ # cupti_prefix_path = "/usr/local/cuda-6.0/extras/CUPTI"
+
+ if '+offline' in spec:
+ instrumentor_setting = "offline"
+ if '+runtime' in spec:
+ with working_dir('build_runtime', create=True):
+ cmake('..',
+ '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
+ '-DINSTRUMENTOR=%s' % instrumentor_setting,
+ '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
+ '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
+ '-DPAPI_DIR=%s' % spec['papi'].prefix,
+ *std_cmake_args)
+ make("clean")
+ make()
+ make("install")
+ else:
+ cmake_prefix_path = join_path(spec['dyninst'].prefix)
+ with working_dir('build', create=True):
+ #python_vers=join_path(spec['python'].version[:2])
+ #'-DOPENMPI_DIR=%s' % openmpi_prefix_path,
+ #'-DMVAPICH_DIR=%s' % mvapich_prefix_path,
+ python_vers='%d.%d' % spec['python'].version[:2]
+ cmake('..',
+ '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
+ '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
+ '-DINSTRUMENTOR=%s' % instrumentor_setting,
+ '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
+ '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
+ '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
+ '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
+ '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
+ '-DPAPI_DIR=%s' % spec['papi'].prefix,
+ '-DSQLITE3_DIR=%s' % spec['sqlite'].prefix,
+ '-DQTLIB_DIR=%s' % spec['qt'].prefix,
+ '-DPYTHON_EXECUTABLE=%s' % join_path(spec['python'].prefix + '/bin/python'),
+ '-DPYTHON_INCLUDE_DIR=%s' % join_path(spec['python'].prefix.include) + '/python' + python_vers,
+ '-DPYTHON_LIBRARY=%s' % join_path(spec['python'].prefix.lib) + '/libpython' + python_vers + '.so',
+ '-DBoost_NO_SYSTEM_PATHS=TRUE',
+ '-DBOOST_ROOT=%s' % spec['boost'].prefix,
+ '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
+ *std_cmake_args)
+ make("clean")
+ make()
+ make("install")
+
+ elif '+cbtf' in spec:
+ instrumentor_setting = "cbtf"
+ cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix) + ':' + join_path(spec['dyninst'].prefix)
+ if '+runtime' in spec:
+ with working_dir('build_cbtf_runtime', create=True):
+ python_vers='%d.%d' % spec['python'].version[:2]
+ cmake('..',
+ '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
+ '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
+ '-DINSTRUMENTOR=%s' % instrumentor_setting,
+ '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
+ '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
+ '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
+ '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
+ '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
+ '-DPYTHON_EXECUTABLE=%s' % join_path(spec['python'].prefix + '/bin/python'),
+ '-DPYTHON_INCLUDE_DIR=%s' % join_path(spec['python'].prefix.include) + '/python' + python_vers,
+ '-DPYTHON_LIBRARY=%s' % join_path(spec['python'].prefix.lib) + '/libpython' + python_vers + '.so',
+ '-DBoost_NO_SYSTEM_PATHS=TRUE',
+ '-DBOOST_ROOT=%s' % spec['boost'].prefix,
+ '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
+ '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
+ *std_cmake_args)
+ make("clean")
+ make()
+ make("install")
+
+ else:
+ with working_dir('build_cbtf', create=True):
+ python_vers='%d.%d' % spec['python'].version[:2]
+ #python_vers=join_path(spec['python'].version[:2])
+ cmake('..',
+ '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
+ '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
+ '-DINSTRUMENTOR=%s' % instrumentor_setting,
+ '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
+ '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
+ '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
+ '-DSQLITE3_DIR=%s' % spec['sqlite'].prefix,
+ '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
+ '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
+ '-DQTLIB_DIR=%s' % spec['qt'].prefix,
+ '-DPYTHON_EXECUTABLE=%s' % join_path(spec['python'].prefix + '/bin/python'),
+ '-DPYTHON_INCLUDE_DIR=%s' % join_path(spec['python'].prefix.include) + '/python' + python_vers,
+ '-DPYTHON_LIBRARY=%s' % join_path(spec['python'].prefix.lib) + '/libpython' + python_vers + '.so',
+ '-DBoost_NO_SYSTEM_PATHS=TRUE',
+ '-DBOOST_ROOT=%s' % spec['boost'].prefix,
+ '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
+ '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
+ *std_cmake_args)
+ make("clean")
+ make()
+ make("install")
+
+ #if '+frontend' in spec:
+ # with working_dir('build_frontend', create=True):
+ # tbd
+
+
+ #if '+intelmic' in spec:
+ # with working_dir('build_intelmic_compute', create=True):
+ # tbd
+ # with working_dir('build_intelmic_frontend', create=True):
+ # tbd
+
+ #if '+cray' in spec:
+ # with working_dir('build_cray_compute', create=True):
+ # tbd
+ # with working_dir('build_cray_frontend', create=True):
+ # tbd
diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py
index c5a8aeb9dc..40648fca49 100644
--- a/var/spack/repos/builtin/packages/openssl/package.py
+++ b/var/spack/repos/builtin/packages/openssl/package.py
@@ -10,6 +10,8 @@ class Openssl(Package):
url = "http://www.openssl.org/source/openssl-1.0.1h.tar.gz"
version('1.0.1h', '8d6d684a9430d5cc98a62a5d8fbda8cf')
+ version('1.0.2d', '38dd619b2e77cbac69b99f52a053d25a')
+ version('1.0.2e', '5262bfa25b60ed9de9f28d5d52d77fc5')
depends_on("zlib")
parallel = False
diff --git a/var/spack/repos/builtin/packages/otf2/package.py b/var/spack/repos/builtin/packages/otf2/package.py
index fa0a5898b6..b3d3a5b663 100644
--- a/var/spack/repos/builtin/packages/otf2/package.py
+++ b/var/spack/repos/builtin/packages/otf2/package.py
@@ -11,6 +11,10 @@ class Otf2(Package):
homepage = "http://www.vi-hps.org/score-p"
url = "http://www.vi-hps.org/upload/packages/otf2/otf2-1.4.tar.gz"
+ version('2.0', '5b546188b25bc1c4e285e06dddf75dfc',
+ url="http://www.vi-hps.org/upload/packages/otf2/otf2-2.0.tar.gz")
+ version('1.5.1', '16a9df46e0da78e374f5d12c8cdc1109',
+ url='http://www.vi-hps.org/upload/packages/otf2/otf2-1.5.1.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',
diff --git a/var/spack/repos/builtin/packages/papi/package.py b/var/spack/repos/builtin/packages/papi/package.py
index 596f7114d6..910e0aa9f9 100644
--- a/var/spack/repos/builtin/packages/papi/package.py
+++ b/var/spack/repos/builtin/packages/papi/package.py
@@ -11,8 +11,9 @@ class Papi(Package):
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"
+ url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.4.1.tar.gz"
+ version('5.4.1', '9134a99219c79767a11463a76b0b01a2')
version('5.3.0', '367961dd0ab426e5ae367c2713924ffb')
def install(self, spec, prefix):
@@ -20,13 +21,10 @@ class Papi(Package):
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')
+ # PAPI uses MPI if MPI is present; since we don't require an
+ # MPI package, we ensure that all attempts to use MPI fail, so
+ # that PAPI does not get confused
+ configure_args.append('MPICC=:')
configure(*configure_args)
diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py
index a0ff812ca2..1d99b34899 100644
--- a/var/spack/repos/builtin/packages/paraview/package.py
+++ b/var/spack/repos/builtin/packages/paraview/package.py
@@ -7,8 +7,6 @@ class Paraview(Package):
version('4.4.0', 'fa1569857dd680ebb4d7ff89c2227378', url='http://www.paraview.org/files/v4.4/ParaView-v4.4.0-source.tar.gz')
variant('python', default=False, description='Enable Python support')
- variant('matplotlib', default=False, description='Enable Matplotlib support')
- variant('numpy', default=False, description='Enable NumPy support')
variant('tcl', default=False, description='Enable TCL support')
@@ -18,19 +16,20 @@ class Paraview(Package):
variant('qt', default=False, description='Enable Qt support')
depends_on('python', when='+python')
- depends_on('py-numpy', when='+python+numpy')
- depends_on('py-matplotlib', when='+python+matplotlib')
+ depends_on('py-numpy', when='+python')
+ depends_on('py-matplotlib', when='+python')
depends_on('tcl', when='+tcl')
depends_on('mpi', when='+mpi')
- depends_on('qt', when='+qt')
+ depends_on('qt@:4', when='+qt')
depends_on('bzip2')
depends_on('freetype')
- depends_on('hdf5') # drags in mpi
+ depends_on('hdf5')
+ depends_on('hdf5+mpi', when='+mpi')
depends_on('jpeg')
depends_on('libpng')
depends_on('libtiff')
- #depends_on('libxml2') # drags in python
+ depends_on('libxml2')
depends_on('netcdf')
#depends_on('protobuf') # version mismatches?
#depends_on('sqlite') # external version not supported
@@ -49,7 +48,11 @@ class Paraview(Package):
feature_args = std_cmake_args[:]
feature_args.append('-DPARAVIEW_BUILD_QT_GUI:BOOL=%s' % feature_to_bool('+qt'))
feature_args.append('-DPARAVIEW_ENABLE_PYTHON:BOOL=%s' % feature_to_bool('+python'))
+ if '+python' in spec:
+ feature_args.append('-DPYTHON_EXECUTABLE:FILEPATH=%s/bin/python' % spec['python'].prefix)
feature_args.append('-DPARAVIEW_USE_MPI:BOOL=%s' % feature_to_bool('+mpi'))
+ if '+mpi' in spec:
+ feature_args.append('-DMPIEXEC:FILEPATH=%s/bin/mpiexec' % spec['mpi'].prefix)
feature_args.append('-DVTK_ENABLE_TCL_WRAPPING:BOOL=%s' % feature_to_bool('+tcl'))
feature_args.append('-DVTK_OPENGL_HAS_OSMESA:BOOL=%s' % feature_to_bool('+osmesa'))
feature_args.append('-DVTK_USE_X:BOOL=%s' % nfeature_to_bool('+osmesa'))
@@ -63,7 +66,7 @@ class Paraview(Package):
'-DVTK_USER_SYSTEM_FREETYPE:BOOL=ON',
'-DVTK_USER_SYSTEM_HDF5:BOOL=ON',
'-DVTK_USER_SYSTEM_JPEG:BOOL=ON',
- #'-DVTK_USER_SYSTEM_LIBXML2:BOOL=ON',
+ '-DVTK_USER_SYSTEM_LIBXML2:BOOL=ON',
'-DVTK_USER_SYSTEM_NETCDF:BOOL=ON',
'-DVTK_USER_SYSTEM_TIFF:BOOL=ON',
'-DVTK_USER_SYSTEM_ZLIB:BOOL=ON',
diff --git a/var/spack/repos/builtin/packages/pcre/package.py b/var/spack/repos/builtin/packages/pcre/package.py
index 3424048a6c..e38d337e3d 100644
--- a/var/spack/repos/builtin/packages/pcre/package.py
+++ b/var/spack/repos/builtin/packages/pcre/package.py
@@ -8,6 +8,7 @@ class Pcre(Package):
url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.bz2"
version('8.36', 'b767bc9af0c20bc9c1fe403b0d41ad97')
+ version('8.38', '00aabbfe56d5a48b270f999b508c5ad2')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/pdt/package.py b/var/spack/repos/builtin/packages/pdt/package.py
new file mode 100644
index 0000000000..ce3b793e30
--- /dev/null
+++ b/var/spack/repos/builtin/packages/pdt/package.py
@@ -0,0 +1,45 @@
+##############################################################################
+# 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 Pdt(Package):
+ """
+ Program Database Toolkit (PDT) is a framework for analyzing source code written in several programming languages
+ and for making rich program knowledge accessible to developers of static and dynamic analysis tools. PDT implements
+ a standard program representation, the program database (PDB), that can be accessed in a uniform way through a
+ class library supporting common PDB operations.
+ """
+ homepage = "https://www.cs.uoregon.edu/research/pdt/home.php"
+ url = "https://www.cs.uoregon.edu/research/tau/pdt_releases/pdt-3.21.tar.gz"
+
+ version('3.21', '8df94298b71703decf680709a4ddf68f')
+ version('3.19', 'ba5591994998771fdab216699e362228')
+
+ def install(self, spec, prefix):
+ configure('-prefix=%s' % prefix)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py
index 4864e39bf1..f3ed3d72ec 100644
--- a/var/spack/repos/builtin/packages/petsc/package.py
+++ b/var/spack/repos/builtin/packages/petsc/package.py
@@ -18,7 +18,7 @@ class Petsc(Package):
depends_on("hypre")
depends_on("parmetis")
depends_on("metis")
- depends_on("hdf5")
+ depends_on("hdf5+mpi")
depends_on("mpi")
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/pmgr_collective/package.py b/var/spack/repos/builtin/packages/pmgr_collective/package.py
index 5d9b02acc3..1fc47c658f 100644
--- a/var/spack/repos/builtin/packages/pmgr_collective/package.py
+++ b/var/spack/repos/builtin/packages/pmgr_collective/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/py-basemap/package.py b/var/spack/repos/builtin/packages/py-basemap/package.py
index 45f1085ba1..8dfc99b28d 100644
--- a/var/spack/repos/builtin/packages/py-basemap/package.py
+++ b/var/spack/repos/builtin/packages/py-basemap/package.py
@@ -11,8 +11,8 @@ class PyBasemap(Package):
extends('python')
depends_on('py-setuptools')
depends_on('py-numpy')
- depends_on('py-matplotlib')
- depends_on('py-pil')
+ depends_on('py-matplotlib+gui')
+ depends_on('py-pillow')
depends_on("geos")
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/py-cffi/package.py b/var/spack/repos/builtin/packages/py-cffi/package.py
index a4d37483fe..909049a67c 100644
--- a/var/spack/repos/builtin/packages/py-cffi/package.py
+++ b/var/spack/repos/builtin/packages/py-cffi/package.py
@@ -4,7 +4,7 @@ class PyCffi(Package):
"""Foreign Function Interface for Python calling C code"""
homepage = "http://cffi.readthedocs.org/en/latest/"
# base https://pypi.python.org/pypi/cffi
- url = "https://pypi.python.org/packages/source/c/cffi/cffi-1.1.2.tar.gz#md5="
+ url = "https://pypi.python.org/packages/source/c/cffi/cffi-1.1.2.tar.gz"
version('1.1.2', 'ca6e6c45b45caa87aee9adc7c796eaea')
diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py
index e7ce3dfd24..a5fee39d42 100644
--- a/var/spack/repos/builtin/packages/py-matplotlib/package.py
+++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py
@@ -9,10 +9,13 @@ class PyMatplotlib(Package):
version('1.4.2', '7d22efb6cce475025733c50487bd8898')
version('1.4.3', '86af2e3e3c61849ac7576a6f5ca44267')
+ variant('gui', default=False, description='Enable GUI')
+ variant('ipython', default=False, description='Enable ipython support')
+
extends('python', ignore=r'bin/nosetests.*$')
- depends_on('py-pyside')
- depends_on('py-ipython')
+ depends_on('py-pyside', when='+gui')
+ depends_on('py-ipython', when='+ipython')
depends_on('py-pyparsing')
depends_on('py-six')
depends_on('py-dateutil')
@@ -20,10 +23,10 @@ class PyMatplotlib(Package):
depends_on('py-nose')
depends_on('py-numpy')
- depends_on('qt')
+ depends_on('qt', when='+gui')
depends_on('bzip2')
- depends_on('tcl')
- depends_on('tk')
+ depends_on('tcl', when='+gui')
+ depends_on('tk', when='+gui')
depends_on('qhull')
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/py-numpy/package.py b/var/spack/repos/builtin/packages/py-numpy/package.py
index efa109a3e9..4c085fba6e 100644
--- a/var/spack/repos/builtin/packages/py-numpy/package.py
+++ b/var/spack/repos/builtin/packages/py-numpy/package.py
@@ -13,13 +13,6 @@ class PyNumpy(Package):
depends_on('netlib-blas+fpic')
depends_on('netlib-lapack+shared')
- def patch(self):
- filter_file(
- "possible_executables = \['(gfortran|g77|ifort|efl)",
- "possible_executables = ['fc",
- "numpy/distutils/fcompiler/gnu.py",
- "numpy/distutils/fcompiler/intel.py")
-
def install(self, spec, prefix):
with open('site.cfg', 'w') as f:
f.write('[DEFAULT]\n')
diff --git a/var/spack/repos/builtin/packages/py-pillow/package.py b/var/spack/repos/builtin/packages/py-pillow/package.py
new file mode 100644
index 0000000000..adc8507bd5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pillow/package.py
@@ -0,0 +1,14 @@
+from spack import *
+
+class PyPillow(Package):
+ """Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and Contributors. The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. This library supports many file formats, and provides powerful image processing and graphics capabilities."""
+
+ homepage = "https://python-pillow.github.io/"
+ url = "https://pypi.python.org/packages/source/P/Pillow/Pillow-3.0.0.tar.gz"
+
+ version('3.0.0', 'fc8ac44e93da09678eac7e30c9b7377d')
+ extends('python')
+ depends_on('py-setuptools')
+
+ def install(self, spec, prefix):
+ python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/py-pyside/package.py b/var/spack/repos/builtin/packages/py-pyside/package.py
index bb5da44d02..ffa433e18e 100644
--- a/var/spack/repos/builtin/packages/py-pyside/package.py
+++ b/var/spack/repos/builtin/packages/py-pyside/package.py
@@ -2,7 +2,7 @@ from spack import *
import os
class PyPyside(Package):
- """array processing for numbers, strings, records, and objects."""
+ """Python bindings for Qt."""
homepage = "https://pypi.python.org/pypi/pyside"
url = "https://pypi.python.org/packages/source/P/PySide/PySide-1.2.2.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-twisted/package.py b/var/spack/repos/builtin/packages/py-twisted/package.py
new file mode 100644
index 0000000000..2fdebb6cb9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-twisted/package.py
@@ -0,0 +1,16 @@
+from spack import *
+
+class PyTwisted(Package):
+ """An asynchronous networking framework written in Python"""
+ homepage = "https://twistedmatrix.com/"
+ url = "https://pypi.python.org/packages/source/T/Twisted/Twisted-15.3.0.tar.bz2"
+
+ version('15.4.0', '5337ffb6aeeff3790981a2cd56db9655')
+ version('15.3.0', 'b58e83da2f00b3352afad74d0c5c4599')
+
+ depends_on('py-setuptools')
+
+ extends('python')
+
+ def install(self, spec, prefix):
+ python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py
index 000881a846..eae2566b57 100644
--- a/var/spack/repos/builtin/packages/python/package.py
+++ b/var/spack/repos/builtin/packages/python/package.py
@@ -2,6 +2,7 @@ import os
import re
from contextlib import closing
from llnl.util.lang import match_predicate
+from spack.util.environment import *
from spack import *
import spack
@@ -16,21 +17,40 @@ class Python(Package):
version('2.7.8', 'd235bdfa75b8396942e360a70487ee00')
version('2.7.10', 'c685ef0b8e9f27b5e3db5db12b268ac6')
+ version('2.7.11', '1dbcc848b4cd8399a8199d000f9f823c', preferred=True)
+ version('3.5.0', 'd149d2812f10cbe04c042232e7964171')
+ version('3.5.1', 'e9ea6f2623fffcdd871b7b19113fde80')
depends_on("openssl")
depends_on("bzip2")
depends_on("readline")
depends_on("ncurses")
depends_on("sqlite")
+ depends_on("zlib")
def install(self, spec, prefix):
# Need this to allow python build to find the Python installation.
env['PYTHONHOME'] = prefix
+ env['MACOSX_DEPLOYMENT_TARGET'] = '10.6'
- # Rest of install is pretty standard.
- configure("--prefix=%s" % prefix,
+ # Rest of install is pretty standard except setup.py needs to be able to read the CPPFLAGS
+ # and LDFLAGS as it scans for the library and headers to build
+ configure_args= [
+ "--prefix=%s" % prefix,
"--with-threads",
- "--enable-shared")
+ "--enable-shared",
+ "CPPFLAGS=-I%s/include -I%s/include -I%s/include -I%s/include -I%s/include -I%s/include" % (
+ spec['openssl'].prefix, spec['bzip2'].prefix,
+ spec['readline'].prefix, spec['ncurses'].prefix,
+ spec['sqlite'].prefix, spec['zlib'].prefix),
+ "LDFLAGS=-L%s/lib -L%s/lib -L%s/lib -L%s/lib -L%s/lib -L%s/lib" % (
+ spec['openssl'].prefix, spec['bzip2'].prefix,
+ spec['readline'].prefix, spec['ncurses'].prefix,
+ spec['sqlite'].prefix, spec['zlib'].prefix)
+ ]
+ if spec.satisfies('@3:'):
+ configure_args.append('--without-ensurepip')
+ configure(*configure_args)
make()
make("install")
@@ -62,7 +82,10 @@ class Python(Package):
python('setup.py', 'install', '--prefix=%s' % prefix)
"""
# Python extension builds can have a global python executable function
- module.python = Executable(join_path(spec.prefix.bin, 'python'))
+ if self.version >= Version("3.0.0") and self.version < Version("4.0.0"):
+ module.python = Executable(join_path(spec.prefix.bin, 'python3'))
+ else:
+ module.python = Executable(join_path(spec.prefix.bin, 'python'))
# Add variables for lib/pythonX.Y and lib/pythonX.Y/site-packages dirs.
module.python_lib_dir = os.path.join(ext_spec.prefix, self.python_lib_dir)
@@ -94,7 +117,7 @@ class Python(Package):
# Ignore pieces of setuptools installed by other packages.
if ext_pkg.name != 'py-setuptools':
- patterns.append(r'/site\.pyc?$')
+ patterns.append(r'/site[^/]*\.pyc?$')
patterns.append(r'setuptools\.pth')
patterns.append(r'bin/easy_install[^/]*$')
patterns.append(r'setuptools.*egg$')
diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py
index 0e4abe3b1d..e8d843519d 100644
--- a/var/spack/repos/builtin/packages/qt/package.py
+++ b/var/spack/repos/builtin/packages/qt/package.py
@@ -10,14 +10,23 @@ class Qt(Package):
version('5.4.0', 'e8654e4b37dd98039ba20da7a53877e6',
url='http://download.qt-project.org/official_releases/qt/5.4/5.4.0/single/qt-everywhere-opensource-src-5.4.0.tar.gz')
+
version('5.3.2', 'febb001129927a70174467ecb508a682',
url='http://download.qt.io/archive/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.gz')
version('5.2.1', 'a78408c887c04c34ce615da690e0b4c8',
url='http://download.qt.io/archive/qt/5.2/5.2.1/single/qt-everywhere-opensource-src-5.2.1.tar.gz')
+
version('4.8.6', '2edbe4d6c2eff33ef91732602f3518eb',
url="http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz")
+ version('3.3.8b', '9f05b4125cfe477cc52c9742c3c09009',
+ url="http://download.qt.io/archive/qt/3/qt-x11-free-3.3.8b.tar.gz")
+
+ # Add patch for compile issues with qt3 found with use in the OpenSpeedShop project
+ variant('krellpatch', default=False, description="build with openspeedshop based patch.")
+ patch('qt3krell.patch', when='@3.3.8b+krellpatch')
+
# Use system openssl for security.
#depends_on("openssl")
@@ -25,7 +34,7 @@ class Qt(Package):
depends_on("gtkplus")
depends_on("libxml2")
depends_on("zlib")
- depends_on("dbus")
+ depends_on("dbus", when='@4:')
depends_on("libtiff")
depends_on("libpng")
depends_on("libmng")
@@ -39,7 +48,7 @@ class Qt(Package):
# depends_on("icu4c")
# OpenGL hardware acceleration
- depends_on("mesa")
+ depends_on("mesa", when='@4:')
depends_on("libxcb")
@@ -85,6 +94,15 @@ class Qt(Package):
# Don't disable all the database drivers, but should
# really get them into spack at some point.
+ @when('@3')
+ def configure(self):
+ configure('-prefix', self.prefix,
+ '-v',
+ '-thread',
+ '-shared',
+ '-release',
+ '-fast'
+ )
@when('@4')
def configure(self):
diff --git a/var/spack/repos/builtin/packages/qt/qt3krell.patch b/var/spack/repos/builtin/packages/qt/qt3krell.patch
new file mode 100644
index 0000000000..3333eeacd4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/qt/qt3krell.patch
@@ -0,0 +1,68 @@
+--- qt-x11-free-3.3.8b/src/tools/qmap.h 2008-01-15 13:09:13.000000000 -0600
++++ qt-x11-free-3.3.8b-fixes/src/tools/qmap.h 2015-07-08 15:47:34.757565247 -0500
+@@ -52,6 +52,7 @@
+ #ifndef QT_NO_STL
+ #include <iterator>
+ #include <map>
++#include <cstddef>
+ #endif
+
+ //#define QT_CHECK_MAP_RANGE
+--- qt-x11-free-3.3.8b/src/tools/qvaluelist.h 2008-01-15 13:09:13.000000000 -0600
++++ qt-x11-free-3.3.8b-fixes/src/tools/qvaluelist.h 2015-07-08 15:47:34.758565247 -0500
+@@ -50,6 +50,7 @@
+ #ifndef QT_NO_STL
+ #include <iterator>
+ #include <list>
++#include <cstddef>
+ #endif
+
+ //#define QT_CHECK_VALUELIST_RANGE
+--- qt-x11-free-3.3.8b/src/tools/qvaluevector.h 2008-01-15 13:09:13.000000000 -0600
++++ qt-x11-free-3.3.8b-fixes/src/tools/qvaluevector.h 2015-07-08 15:47:34.758565247 -0500
+@@ -47,6 +47,7 @@
+
+ #ifndef QT_NO_STL
+ #include <vector>
++#include <cstddef>
+ #endif
+
+ template <class T>
+--- qt-x11-free-3.3.8b/configure 2008-01-15 13:09:15.000000000 -0600
++++ qt-x11-free-3.3.8b-fixes/configure 2015-07-08 15:49:03.379560633 -0500
+@@ -2339,7 +2339,7 @@
+ else
+ echo "Do you accept the terms of the $TheLicense? \c"
+ fi
+- read acceptance
++ acceptance=yes
+ echo
+ if [ "$acceptance" = yes ]; then
+ break
+@@ -2397,7 +2397,7 @@
+ else
+ echo "Do you accept the terms of $affix license? \c"
+ fi
+- read acceptance
++ acceptance=yes
+ echo
+ if [ "$acceptance" = "yes" ]; then
+ break
+@@ -2443,7 +2443,7 @@
+ else
+ echo "Do you accept the terms of the license? \c"
+ fi
+- read acceptance
++ acceptance=yes
+ echo
+ if [ "$acceptance" = "yes" ]; then
+ break
+@@ -2524,7 +2524,7 @@
+ else
+ echo "Do you accept the terms of the $Platform License? \c"
+ fi
+- read acceptance
++ acceptance=yes
+ echo
+ if [ "$acceptance" = "yes" ]; then
+ break
diff --git a/var/spack/repos/builtin/packages/ravel/package.py b/var/spack/repos/builtin/packages/ravel/package.py
index 01fa941cfe..d774a0ab86 100644
--- a/var/spack/repos/builtin/packages/ravel/package.py
+++ b/var/spack/repos/builtin/packages/ravel/package.py
@@ -4,8 +4,8 @@ class Ravel(Package):
"""Ravel is a parallel communication trace visualization tool that
orders events according to logical time."""
- homepage = "https://github.com/scalability-llnl/ravel"
- url = 'https://github.com/scalability-llnl/ravel/archive/v1.0.0.tar.gz'
+ homepage = "https://github.com/llnl/ravel"
+ url = 'https://github.com/llnl/ravel/archive/v1.0.0.tar.gz'
version('1.0.0', 'b25fece58331c2adfcce76c5036485c2')
diff --git a/var/spack/repos/builtin/packages/rsync/package.py b/var/spack/repos/builtin/packages/rsync/package.py
new file mode 100644
index 0000000000..76aec3096d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rsync/package.py
@@ -0,0 +1,15 @@
+from spack import *
+
+class Rsync(Package):
+ """rsync is an open source utility that provides fast incremental file transfer."""
+ homepage = "https://rsync.samba.org"
+ url = "https://download.samba.org/pub/rsync/rsync-3.1.1.tar.gz"
+
+ version('3.1.2', '0f758d7e000c0f7f7d3792610fad70cb')
+ version('3.1.1', '43bd6676f0b404326eee2d63be3cdcfe')
+
+ def install(self, spec, prefix):
+ configure('--prefix=%s' % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/scorep/package.py b/var/spack/repos/builtin/packages/scorep/package.py
index f013bd1cbb..0820f2d8ac 100644
--- a/var/spack/repos/builtin/packages/scorep/package.py
+++ b/var/spack/repos/builtin/packages/scorep/package.py
@@ -1,74 +1,80 @@
-# FIXME: Add copyright statement
+##############################################################################
+# 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 Scorep(Package):
- """The Score-P measurement infrastructure is a highly scalable and
+ """
+ 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.4.2', '3b9a042b13bdd5836452354e6567f71e',
+ url='http://www.vi-hps.org/upload/packages/scorep/scorep-1.4.2.tar.gz')
version('1.3', '9db6f957b7f51fa01377a9537867a55c',
- url = 'http://www.vi-hps.org/upload/packages/scorep/scorep-1.3.tar.gz')
+ url='http://www.vi-hps.org/upload/packages/scorep/scorep-1.3.tar.gz')
- version('1.2.3', '4978084e7cbd05b94517aa8beaea0817')
+ ##########
+ # Dependencies for SCORE-P are quite tight. See the homepage for more information.
+ # SCOREP 1.4.2
+ depends_on('otf2@1.5:1.6', when='@1.4.2')
+ depends_on('opari2@1.1.4', when='@1.4.2')
+ depends_on('cube@4.3:4.4', when='@1.4.2')
+ # SCOREP 1.3
+ depends_on("otf2@1.4", when='@1.3')
+ depends_on("opari2@1.1.4", when='@1.3')
+ depends_on("cube@4.2.3", when='@1.3')
+ ##########
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 get_compiler_config_line(self):
+ backend_user_provided = ['CC=%s' % self.compiler.cc_names[0],
+ 'CXX=%s' % self.compiler.cxx_names[0],
+ 'F77=%s' % self.compiler.f77_names[0] if len(self.compiler.f77_names) else "",
+ 'FC=%s' % self.compiler.fc_names[0] if len(self.compiler.fc_names) else "",
+ 'CFLAGS=-fPIC %s' % self.rpath_args,
+ 'CXXFLAGS=-fPIC %s'% self.rpath_args]
+ return backend_user_provided
def install(self, spec, prefix):
- # Use a custom compiler configuration, otherwise the score-p
- # build system messes with spack's compiler settings.
- # Create these three files in the build directory
- with open("platform-backend-user-provided", "w") as backend_file:
- backend_file.write(self.backend_user_provided)
- with open("platform-frontend-user-provided", "w") as frontend_file:
- frontend_file.write(self.frontend_user_provided)
- with open("platform-mpi-user-provided", "w") as mpi_file:
- mpi_file.write(self.mpi_user_provided)
-
- configure_args = ["--prefix=%s" % prefix,
- "--with-custom-compilers",
- "--with-otf2=%s" % spec['otf2'].prefix.bin,
- "--with-opari2=%s" % spec['opari2'].prefix.bin,
- "--with-cube=%s" % spec['cube'].prefix.bin,
- "--with-papi-header=%s" % spec['papi'].prefix.include,
- "--with-papi-lib=%s" % spec['papi'].prefix.lib,
- "--enable-shared"]
-
- configure(*configure_args)
-
- make()
- make("install")
+ configure = Executable( join_path(self.stage.source_path, 'configure') )
+ with working_dir('spack-build', create=True):
+ configure_args = ["--prefix=%s" % prefix,
+ "--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_args.extend(self.get_compiler_config_line())
+ configure(*configure_args)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/scotch/package.py b/var/spack/repos/builtin/packages/scotch/package.py
index 79289ff2ad..8229ed8686 100644
--- a/var/spack/repos/builtin/packages/scotch/package.py
+++ b/var/spack/repos/builtin/packages/scotch/package.py
@@ -1,5 +1,4 @@
from spack import *
-import glob
import os
class Scotch(Package):
@@ -11,28 +10,115 @@ class Scotch(Package):
version('6.0.3', '10b0cc0f184de2de99859eafaca83cfc')
- depends_on('mpi')
+ variant('mpi', default=False, description='Activate the compilation of PT-Scotch')
+ variant('compression', default=True, description='Activate the posibility to use compressed files')
+ variant('esmumps', default=False, description='Activate the compilation of the lib esmumps needed by mumps')
+ variant('shared', default=True, description='Build shared libraries')
+ depends_on('mpi', when='+mpi')
+ depends_on('zlib', when='+compression')
+ depends_on('flex')
+ depends_on('bison')
+
+ def compiler_specifics(self, makefile_inc, defines):
+ if self.compiler.name == 'gcc':
+ defines.append('-Drestrict=__restrict')
+ elif self.compiler.name == 'intel':
+ defines.append('-restrict')
+
+ makefile_inc.append('CCS = $(CC)')
+
+ if '+mpi' in self.spec:
+ makefile_inc.extend([
+ 'CCP = %s' % os.path.join(self.spec['mpi'].prefix.bin, 'mpicc'),
+ 'CCD = $(CCP)'
+ ])
+ else:
+ makefile_inc.extend([
+ 'CCP = mpicc', # It is set but not used
+ 'CCD = $(CCS)'
+ ])
+
+
+
+ def library_build_type(self, makefile_inc, defines):
+ makefile_inc.extend([
+ 'LIB = .a',
+ 'CLIBFLAGS = ',
+ 'RANLIB = ranlib',
+ 'AR = ar',
+ 'ARFLAGS = -ruv '
+ ])
+
+ @when('+shared')
+ def library_build_type(self, makefile_inc, defines):
+ makefile_inc.extend([
+ 'LIB = .so',
+ 'CLIBFLAGS = -shared -fPIC',
+ 'RANLIB = echo',
+ 'AR = $(CC)',
+ 'ARFLAGS = -shared $(LDFLAGS) -o'
+ ])
+
+ def extra_features(self, makefile_inc, defines):
+ ldflags = []
+
+ if '+compression' in self.spec:
+ defines.append('-DCOMMON_FILE_COMPRESS_GZ')
+ ldflags.append('-L%s -lz' % (self.spec['zlib'].prefix.lib))
+
+ defines.append('-DCOMMON_PTHREAD')
+ ldflags.append('-lm -lrt -pthread')
+
+ makefile_inc.append('LDFLAGS = %s' % ' '.join(ldflags))
def patch(self):
- with working_dir('src/Make.inc'):
- makefiles = glob.glob('Makefile.inc.x86-64_pc_linux2*')
- filter_file(r'^CCS\s*=.*$', 'CCS = cc', *makefiles)
- filter_file(r'^CCD\s*=.*$', 'CCD = cc', *makefiles)
+ makefile_inc = []
+ defines = [
+ '-DCOMMON_RANDOM_FIXED_SEED',
+ '-DSCOTCH_DETERMINISTIC',
+ '-DSCOTCH_RENAME',
+ '-DIDXSIZE64' ]
+ self.library_build_type(makefile_inc, defines)
+ self.compiler_specifics(makefile_inc, defines)
+ self.extra_features(makefile_inc, defines)
+ makefile_inc.extend([
+ 'EXE =',
+ 'OBJ = .o',
+ 'MAKE = make',
+ 'CAT = cat',
+ 'LN = ln',
+ 'MKDIR = mkdir',
+ 'MV = mv',
+ 'CP = cp',
+ 'CFLAGS = -O3 %s' % (' '.join(defines)),
+ 'LEX = %s -Pscotchyy -olex.yy.c' % os.path.join(self.spec['flex'].prefix.bin , 'flex'),
+ 'YACC = %s -pscotchyy -y -b y' % os.path.join(self.spec['bison'].prefix.bin, 'bison'),
+ 'prefix = %s' % self.prefix,
+ ''
+ ])
+
+ with working_dir('src'):
+ with open('Makefile.inc', 'w') as fh:
+ fh.write('\n'.join(makefile_inc))
+
def install(self, spec, prefix):
- # Currently support gcc and icc on x86_64 (maybe others with
- # vanilla makefile)
- makefile = 'Make.inc/Makefile.inc.x86-64_pc_linux2'
- if spec.satisfies('%icc'):
- makefile += '.icc'
+ targets = ['scotch']
+ if '+mpi' in self.spec:
+ targets.append('ptscotch')
+
+ if '+esmumps' in self.spec:
+ targets.append('esmumps')
+ if '+mpi' in self.spec:
+ targets.append('ptesmumps')
with working_dir('src'):
- force_symlink(makefile, 'Makefile.inc')
- for app in ('scotch', 'ptscotch'):
- make(app)
+ for app in targets:
+ make(app, parallel=(not app=='ptesmumps'))
+
install_tree('bin', prefix.bin)
install_tree('lib', prefix.lib)
install_tree('include', prefix.include)
diff --git a/var/spack/repos/builtin/packages/scr/package.py b/var/spack/repos/builtin/packages/scr/package.py
index 9fb758f072..1408dce678 100644
--- a/var/spack/repos/builtin/packages/scr/package.py
+++ b/var/spack/repos/builtin/packages/scr/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/sparsehash/package.py b/var/spack/repos/builtin/packages/sparsehash/package.py
new file mode 100644
index 0000000000..7decaeb89b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/sparsehash/package.py
@@ -0,0 +1,14 @@
+from spack import *
+
+class Sparsehash(Package):
+ """Sparse and dense hash-tables for C++ by Google"""
+ homepage = "https://github.com/sparsehash/sparsehash"
+ url = "https://github.com/sparsehash/sparsehash/archive/sparsehash-2.0.3.tar.gz"
+
+ version('2.0.3', 'd8d5e2538c1c25577b3f066d7a55e99e')
+
+ def install(self, spec, prefix):
+ configure('--prefix=%s' % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/spindle/package.py b/var/spack/repos/builtin/packages/spindle/package.py
index 06a1e14284..a20753458a 100644
--- a/var/spack/repos/builtin/packages/spindle/package.py
+++ b/var/spack/repos/builtin/packages/spindle/package.py
@@ -6,7 +6,7 @@
# Written by Matthew LeGendre, legendre1@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/spot/package.py b/var/spack/repos/builtin/packages/spot/package.py
new file mode 100644
index 0000000000..9e539277ae
--- /dev/null
+++ b/var/spack/repos/builtin/packages/spot/package.py
@@ -0,0 +1,18 @@
+from spack import *
+import os
+
+class Spot(Package):
+ """Spot is a C++11 library for omega-automata manipulation and model checking."""
+ homepage = "https://spot.lrde.epita.fr/index.html"
+ url = "http://www.lrde.epita.fr/dload/spot/spot-1.99.3.tar.gz"
+
+ version('1.99.3', 'd53adcb2d0fe7c69f45d4e595a58254e')
+
+ #depends_on("gcc@4.8:")
+ depends_on("python@3.2:")
+
+ def install(self, spec, prefix):
+ configure('--prefix=%s' % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/sqlite/package.py b/var/spack/repos/builtin/packages/sqlite/package.py
index 734b0b6cb6..1cf2d30239 100644
--- a/var/spack/repos/builtin/packages/sqlite/package.py
+++ b/var/spack/repos/builtin/packages/sqlite/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/sundials/package.py b/var/spack/repos/builtin/packages/sundials/package.py
index 8b784c8c3c..7e025a8244 100644
--- a/var/spack/repos/builtin/packages/sundials/package.py
+++ b/var/spack/repos/builtin/packages/sundials/package.py
@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/swig/package.py b/var/spack/repos/builtin/packages/swig/package.py
index ee536d7063..8d46c4fe46 100644
--- a/var/spack/repos/builtin/packages/swig/package.py
+++ b/var/spack/repos/builtin/packages/swig/package.py
@@ -6,7 +6,7 @@
# Written by Matthew LeGendre, legendre1@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
-# For details, see https://scalability-llnl.github.io/spack
+# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/var/spack/repos/builtin/packages/tau/package.py b/var/spack/repos/builtin/packages/tau/package.py
index 048fac80aa..31492397d8 100644
--- a/var/spack/repos/builtin/packages/tau/package.py
+++ b/var/spack/repos/builtin/packages/tau/package.py
@@ -1,32 +1,135 @@
+##############################################################################
+# 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
+import os.path
+
from llnl.util.filesystem import join_path
class Tau(Package):
- """A portable profiling and tracing toolkit for performance
- analysis of parallel programs written in Fortran, C, C++, UPC,
- Java, Python."""
+ """
+ A portable profiling and tracing toolkit for performance
+ analysis of parallel programs written in Fortran, C, C++, UPC,
+ Java, Python.
+ """
homepage = "http://www.cs.uoregon.edu/research/tau"
- url = "http://www.cs.uoregon.edu/research/paracomp/tau/tauprofile/dist/tau-2.23.1.tar.gz"
+ url = "https://www.cs.uoregon.edu/research/tau/tau_releases/tau-2.25.tar.gz"
+ version('2.25', '46cd48fa3f3c4ce0197017b3158a2b43')
+ version('2.24.1', '6635ece6d1f08215b02f5d0b3c1e971b')
+ version('2.24', '57ce33539c187f2e5ec68f0367c76db4')
version('2.23.1', '6593b47ae1e7a838e632652f0426fe72')
+ # TODO : shmem variant missing
+ variant('download', default=False, description='Downloads and builds various dependencies')
+ variant('scorep', default=False, description='Activates SCOREP support')
+ variant('openmp', default=True, description='Use OpenMP threads')
+ variant('mpi', default=True, description='Specify use of TAU MPI wrapper library')
+ variant('phase', default=True, description='Generate phase based profiles')
+ variant('comm', default=True, description=' Generate profiles with MPI communicator info')
+
+ # TODO : Try to build direct OTF2 support? Some parts of the OTF support library in TAU are non-conformant,
+ # TODO : and fail at compile-time. Further, SCOREP is compiled with OTF2 support.
+ depends_on('pdt') # Required for TAU instrumentation
+ depends_on('scorep', when='+scorep')
+ depends_on('binutils', when='~download')
+ depends_on('mpi', when='+mpi')
+
+ def set_compiler_options(self):
+
+ useropt = ["-O2", self.rpath_args]
+
+ ##########
+ # Selecting a compiler with TAU configure is quite tricky:
+ # 1 - compilers are mapped to a given set of strings (and spack cc, cxx, etc. wrappers are not among them)
+ # 2 - absolute paths are not allowed
+ # 3 - the usual environment variables seems not to be checked ('CC', 'CXX' and 'FC')
+ # 4 - if no -cc=<compiler> -cxx=<compiler> is passed tau is built with system compiler silently
+ # (regardless of what %<compiler> is used in the spec)
+ #
+ # In the following we give TAU what he expects and put compilers into PATH
+ compiler_path = os.path.dirname(self.compiler.cc)
+ os.environ['PATH'] = ':'.join([compiler_path, os.environ['PATH']])
+ compiler_options = ['-c++=%s' % self.compiler.cxx_names[0],
+ '-cc=%s' % self.compiler.cc_names[0]]
+ if self.compiler.fc:
+ compiler_options.append('-fortran=%s' % self.compiler.fc_names[0])
+ ##########
+
+ # Construct the string of custom compiler flags and append it to compiler related options
+ useropt = ' '.join(useropt)
+ useropt = "-useropt=%s" % useropt
+ compiler_options.append(useropt)
+ return compiler_options
+
def install(self, spec, prefix):
# TAU isn't happy with directories that have '@' in the path. Sigh.
change_sed_delimiter('@', ';', 'configure')
change_sed_delimiter('@', ';', 'utils/FixMakefile')
change_sed_delimiter('@', ';', 'utils/FixMakefile.sed.default')
- # After that, it's relatively standard.
- configure("-prefix=%s" % prefix)
+ # TAU configure, despite the name , seems to be a manually written script (nothing related to autotools).
+ # As such it has a few #peculiarities# that make this build quite hackish.
+ options = ["-prefix=%s" % prefix,
+ "-iowrapper",
+ "-pdt=%s" % spec['pdt'].prefix]
+ # If download is active, download and build suggested dependencies
+ if '+download' in spec:
+ options.extend(['-bfd=download',
+ '-unwind=download',
+ '-asmdex=download'])
+ else:
+ options.extend(["-bfd=%s" % spec['binutils'].prefix])
+ # TODO : unwind and asmdex are still missing
+
+ if '+scorep' in spec:
+ options.append("-scorep=%s" % spec['scorep'].prefix)
+
+ if '+openmp' in spec:
+ options.append('-openmp')
+
+ if '+mpi' in spec:
+ options.append('-mpi')
+
+ if '+phase' in spec:
+ options.append('-PROFILEPHASE')
+
+ if '+comm' in spec:
+ options.append('-PROFILECOMMUNICATORS')
+
+ compiler_specific_options = self.set_compiler_options()
+ options.extend(compiler_specific_options)
+ configure(*options)
make("install")
# Link arch-specific directories into prefix since there is
# only one arch per prefix the way spack installs.
self.link_tau_arch_dirs()
-
def link_tau_arch_dirs(self):
for subdir in os.listdir(self.prefix):
for d in ('bin', 'lib'):
diff --git a/var/spack/repos/builtin/packages/texinfo/package.py b/var/spack/repos/builtin/packages/texinfo/package.py
new file mode 100644
index 0000000000..4b6210130b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/texinfo/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://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 Texinfo(Package):
+ """
+ Texinfo is the official documentation format of the GNU project. It was invented by Richard Stallman and Bob
+ Chassell many years ago, loosely based on Brian Reid's Scribe and other formatting languages of the time. It is
+ used by many non-GNU projects as well.FIXME: put a proper description of your package here.
+ """
+ homepage = "https://www.gnu.org/software/texinfo/"
+ url = "http://ftp.gnu.org/gnu/texinfo/texinfo-6.0.tar.xz"
+
+ version('6.0', '02818e62a5b8ae0213a7ff572991bb50')
+ version('5.2', 'cb489df8a7ee9d10a236197aefdb32c5')
+ version('5.1', '52ee905a3b705020d2a1b6ec36d53ca6')
+ version('5.0', 'ef2fad34c71ddc95b20c7d6a08c0d7a6')
+
+ def install(self, spec, prefix):
+ configure('--prefix=%s' % prefix)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/tmuxinator/package.py b/var/spack/repos/builtin/packages/tmuxinator/package.py
index 26c061cbd6..77ae063e5d 100644
--- a/var/spack/repos/builtin/packages/tmuxinator/package.py
+++ b/var/spack/repos/builtin/packages/tmuxinator/package.py
@@ -5,7 +5,7 @@ class Tmuxinator(Package):
homepage = "https://github.com/tmuxinator/tmuxinator"
url = "https://github.com/tmuxinator/tmuxinator"
- version('0.6.11',
+ version('0.6.11',
git='https://github.com/tmuxinator/tmuxinator',
tag='v0.6.11')
@@ -13,5 +13,4 @@ class Tmuxinator(Package):
def install(self, spec, prefix):
gem('build', 'tmuxinator.gemspec')
- gem('install', 'tmuxinator-{}.gem'.format(self.version))
-
+ gem('install', 'tmuxinator-{0}.gem'.format(self.version))
diff --git a/var/spack/repos/builtin/packages/valgrind/package.py b/var/spack/repos/builtin/packages/valgrind/package.py
new file mode 100644
index 0000000000..0b030d73e9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/valgrind/package.py
@@ -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 Valgrind(Package):
+ """
+ Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can
+ automatically detect many memory management and threading bugs, and profile your programs in detail. You can also
+ use Valgrind to build new tools.
+
+ Valgrind is Open Source / Free Software, and is freely available under the GNU General Public License, version 2.
+ """
+ homepage = "http://valgrind.org/"
+ url = "http://valgrind.org/downloads/valgrind-3.11.0.tar.bz2"
+
+ version('3.11.0', '4ea62074da73ae82e0162d6550d3f129')
+ version('3.10.1', '60ddae962bc79e7c95cfc4667245707f')
+ version('3.10.0', '7c311a72a20388aceced1aa5573ce970')
+
+ variant('mpi', default=True, description='Activates MPI support for valgrind')
+ variant('boost', default=True, description='Activates boost support for valgrind')
+
+ depends_on('mpi', when='+mpi')
+ depends_on('boost', when='+boost')
+
+ def install(self, spec, prefix):
+ options = ['--prefix=%s' % prefix,
+ '--enable-ubsan']
+ configure(*options)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/wx/package.py b/var/spack/repos/builtin/packages/wx/package.py
index 1813a8c8a5..206fde7775 100644
--- a/var/spack/repos/builtin/packages/wx/package.py
+++ b/var/spack/repos/builtin/packages/wx/package.py
@@ -16,6 +16,8 @@ class Wx(Package):
version('3.0.1', 'dad1f1cd9d4c370cbc22700dc492da31',
url="https://sourceforge.net/projects/wxwindows/files/3.0.1/wxWidgets-3.0.1.tar.bz2")
+ depends_on('gtkplus')
+
def install(self, spec, prefix):
configure("--prefix=%s" % prefix, "--enable-unicode", "--disable-precomp-headers")
diff --git a/var/spack/repos/builtin/packages/xerces-c/package.py b/var/spack/repos/builtin/packages/xerces-c/package.py
new file mode 100644
index 0000000000..b59ab178ae
--- /dev/null
+++ b/var/spack/repos/builtin/packages/xerces-c/package.py
@@ -0,0 +1,36 @@
+# FIXME:
+# This is a template package file for Spack. We've conveniently
+# put "FIXME" labels next to all the things you'll want to change.
+#
+# Once you've edited all the FIXME's, delete this whole message,
+# save this file, and test out your package like this:
+#
+# spack install xerces-c
+#
+# You can always get back here to change things with:
+#
+# spack edit xerces-c
+#
+# See the spack documentation for more information on building
+# packages.
+#
+from spack import *
+
+class XercesC(Package):
+ """ Xerces-C++ is a validating XML parser written in a portable subset of C++.
+ Xerces-C++ makes it easy to give your application the ability to read and
+ write XML data. A shared library is provided for parsing, generating,
+ manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs.
+ """
+
+ homepage = "https://xerces.apache.org/xerces-c"
+ url = "https://www.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.2.tar.gz"
+ version('3.1.2', '9eb1048939e88d6a7232c67569b23985')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix,
+ "--disable-network")
+ make("clean")
+ make()
+ make("install")
+
diff --git a/var/spack/repos/builtin/packages/zsh/package.py b/var/spack/repos/builtin/packages/zsh/package.py
index 99ef9de2e5..06665f0c83 100644
--- a/var/spack/repos/builtin/packages/zsh/package.py
+++ b/var/spack/repos/builtin/packages/zsh/package.py
@@ -1,11 +1,15 @@
from spack import *
class Zsh(Package):
- """ The ZSH shell """
+ """
+ Zsh is a shell designed for interactive use, although it is also a powerful
+ scripting language. Many of the useful features of bash, ksh, and tcsh were
+ incorporated into zsh; many original features were added.
+ """
homepage = "http://www.zsh.org"
- url = "http://www.zsh.org/pub/zsh-5.0.8.tar.bz2"
+ url = "http://downloads.sourceforge.net/project/zsh/zsh/5.1.1/zsh-5.1.1.tar.gz"
- version('5.0.8', 'e6759e8dd7b714d624feffd0a73ba0fe')
+ version('5.1.1', checksum='8ba28a9ef82e40c3a271602f18343b2f')
depends_on("pcre")