summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/adios/package.py (renamed from var/spack/packages/adios/package.py)23
-rw-r--r--var/spack/repos/builtin/packages/glib/g_date_strftime.patch34
-rw-r--r--var/spack/repos/builtin/packages/glib/package.py8
-rw-r--r--var/spack/repos/builtin/packages/julia/package.py33
-rw-r--r--var/spack/repos/builtin/packages/mpich/package.py5
-rw-r--r--var/spack/repos/builtin/packages/mvapich2/package.py5
-rw-r--r--var/spack/repos/builtin/packages/mxml/package.py (renamed from var/spack/packages/mxml/package.py)15
-rw-r--r--var/spack/repos/builtin/packages/openmpi/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-protobuf/package.py50
9 files changed, 143 insertions, 35 deletions
diff --git a/var/spack/packages/adios/package.py b/var/spack/repos/builtin/packages/adios/package.py
index 260dcbe851..9e0452ba6f 100644
--- a/var/spack/packages/adios/package.py
+++ b/var/spack/repos/builtin/packages/adios/package.py
@@ -1,15 +1,18 @@
import os
from spack import *
+
+
class Adios(Package):
- """The Adaptable IO System (ADIOS) provides a simple,
- flexible way for scientists to describe the
- data in their code that may need to be written,
- read, or processed outside of the running simulation
"""
-
+ The Adaptable IO System (ADIOS) provides a simple,
+ flexible way for scientists to describe the
+ data in their code that may need to be written,
+ read, or processed outside of the running simulation
+ """
+
homepage = "http://www.olcf.ornl.gov/center-projects/adios/"
- url = "http://users.nccs.gov/~pnorbert/adios-1.9.0.tar.gz"
+ url = "http://users.nccs.gov/~pnorbert/adios-1.9.0.tar.gz"
version('1.9.0', 'dbf5cb10e32add2f04c9b4052b7ffa76')
@@ -22,13 +25,13 @@ class Adios(Package):
depends_on('mxml')
def install(self, spec, prefix):
- configure_args = ["--prefix=%s" % prefix,
- "--with-mxml=%s" % spec['mxml'].prefix,
+ configure_args = ["--prefix=%s" % prefix,
+ "--with-mxml=%s" % spec['mxml'].prefix,
"--with-hdf5=%s" % spec['hdf5'].prefix,
"--with-netcdf=%s" % os.environ["NETCDF_DIR"],
"--with-infiniband=no",
- "MPICC=cc","MPICXX=CC","MPIFC=ftn",
- "CPPFLAGS=-DMPICH_IGNORE_CXX_SEEK"]
+ "MPICC=cc", "MPICXX=CC", "MPIFC=ftn",
+ "CPPFLAGS=-DMPICH_IGNORE_CXX_SEEK"]
if spec.satisfies('%gcc'):
configure_args.extend(["CC=gcc", "CXX=g++", "FC=gfortran"])
diff --git a/var/spack/repos/builtin/packages/glib/g_date_strftime.patch b/var/spack/repos/builtin/packages/glib/g_date_strftime.patch
new file mode 100644
index 0000000000..532c743277
--- /dev/null
+++ b/var/spack/repos/builtin/packages/glib/g_date_strftime.patch
@@ -0,0 +1,34 @@
+From 00148329967adb196138372771052a3f606a6ea3 Mon Sep 17 00:00:00 2001
+From: coypu <coypu@sdf.org>
+Date: Wed, 2 Mar 2016 19:43:10 +0200
+Subject: [PATCH 2/2] gdate: Suppress string format literal warning
+
+Newer versions of GCC emit an error here, but we know it's safe.
+https://bugzilla.gnome.org/761550
+---
+ glib/gdate.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/glib/gdate.c b/glib/gdate.c
+index 4aece02..92c34d2 100644
+--- a/glib/gdate.c
++++ b/glib/gdate.c
+@@ -2439,6 +2439,9 @@ win32_strftime_helper (const GDate *d,
+ *
+ * Returns: number of characters written to the buffer, or 0 the buffer was too small
+ */
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-nonliteral"
++
+ gsize
+ g_date_strftime (gchar *s,
+ gsize slen,
+@@ -2549,3 +2552,5 @@ g_date_strftime (gchar *s,
+ return retval;
+ #endif
+ }
++
++#pragma GCC diagnostic pop
+--
+2.7.1
+
diff --git a/var/spack/repos/builtin/packages/glib/package.py b/var/spack/repos/builtin/packages/glib/package.py
index b146ea63d8..342a61a6a1 100644
--- a/var/spack/repos/builtin/packages/glib/package.py
+++ b/var/spack/repos/builtin/packages/glib/package.py
@@ -25,20 +25,24 @@
from spack import *
import sys
+
class Glib(Package):
"""The GLib package contains a low-level libraries useful for
providing data structure handling for C, portability wrappers
and interfaces for such runtime functionality as an event loop,
threads, dynamic loading and an object system."""
homepage = "https://developer.gnome.org/glib/"
- url = "http://ftp.gnome.org/pub/gnome/sources/glib/2.42/glib-2.42.1.tar.xz"
+ url = "http://ftp.gnome.org/pub/gnome/sources/glib/2.42/glib-2.42.1.tar.xz"
version('2.42.1', '89c4119e50e767d3532158605ee9121a')
depends_on("libffi")
depends_on("zlib")
depends_on("pkg-config")
- depends_on('gettext', sys.platform=='darwin')
+ depends_on('gettext', sys.platform == 'darwin')
+
+ # The following patch is needed for gcc-6.1
+ patch('g_date_strftime.patch')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/julia/package.py b/var/spack/repos/builtin/packages/julia/package.py
index 69b52130e9..99d138dcff 100644
--- a/var/spack/repos/builtin/packages/julia/package.py
+++ b/var/spack/repos/builtin/packages/julia/package.py
@@ -22,8 +22,9 @@
# 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 Julia(Package):
"""The Julia Language: A fresh approach to technical computing"""
@@ -32,10 +33,14 @@ class Julia(Package):
version('master',
git='https://github.com/JuliaLang/julia.git', branch='master')
+ version('release-0.4',
+ git='https://github.com/JuliaLang/julia.git', branch='release-0.4')
+ version('0.4.6', 'd88db18c579049c23ab8ef427ccedf5d', preferred=True)
version('0.4.5', '69141ff5aa6cee7c0ec8c85a34aa49a6')
version('0.4.3', '8a4a59fd335b05090dd1ebefbbe5aaac')
- patch('gc.patch')
+ patch('gc.patch', when='@0.4:0.4.5')
+ patch('gc.patch', when='@release-0.4')
patch('openblas.patch', when='@0.4:0.4.5')
# Build-time dependencies:
@@ -92,25 +97,21 @@ class Julia(Package):
depends_on("mpi")
def install(self, spec, prefix):
- if '@master' in spec:
- # Julia needs to know the offset from a specific commit
- git = which('git')
- git('fetch', '--unshallow')
-
# Explicitly setting CC, CXX, or FC breaks building libuv, one
# of Julia's dependencies. This might be a Darwin-specific
# problem. Given how Spack sets up compilers, Julia should
# still use Spack's compilers, even if we don't specify them
# explicitly.
- options = [#"CC=cc",
- #"CXX=c++",
- #"FC=fc",
- #"USE_SYSTEM_ARPACK=1",
- #"USE_SYSTEM_FFTW=1",
- #"USE_SYSTEM_GMP=1",
- #"USE_SYSTEM_MPFR=1",
- #TODO "USE_SYSTEM_PCRE=1",
- "prefix=%s" % prefix]
+ options = [
+ # "CC=cc",
+ # "CXX=c++",
+ # "FC=fc",
+ # "USE_SYSTEM_ARPACK=1",
+ # "USE_SYSTEM_FFTW=1",
+ # "USE_SYSTEM_GMP=1",
+ # "USE_SYSTEM_MPFR=1",
+ # "USE_SYSTEM_PCRE=1",
+ "prefix=%s" % prefix]
with open('Make.user', 'w') as f:
f.write('\n'.join(options) + '\n')
make()
diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py
index ea1844aea0..90670ee517 100644
--- a/var/spack/repos/builtin/packages/mpich/package.py
+++ b/var/spack/repos/builtin/packages/mpich/package.py
@@ -50,6 +50,11 @@ class Mpich(Package):
provides('mpi@:1.3', when='@1:')
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
+ spack_env.set('MPICC', join_path(self.prefix.bin, 'mpicc'))
+ spack_env.set('MPICXX', join_path(self.prefix.bin, 'mpic++'))
+ spack_env.set('MPIF77', join_path(self.prefix.bin, 'mpif77'))
+ spack_env.set('MPIF90', join_path(self.prefix.bin, 'mpif90'))
+
spack_env.set('MPICH_CC', spack_cc)
spack_env.set('MPICH_CXX', spack_cxx)
spack_env.set('MPICH_F77', spack_f77)
diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py
index 34bace10d6..da386445bb 100644
--- a/var/spack/repos/builtin/packages/mvapich2/package.py
+++ b/var/spack/repos/builtin/packages/mvapich2/package.py
@@ -191,6 +191,11 @@ class Mvapich2(Package):
run_env.set('SLURM_MPI_TYPE', 'pmi2')
def setup_dependent_environment(self, spack_env, run_env, extension_spec):
+ spack_env.set('MPICC', join_path(self.prefix.bin, 'mpicc'))
+ spack_env.set('MPICXX', join_path(self.prefix.bin, 'mpicxx'))
+ spack_env.set('MPIF77', join_path(self.prefix.bin, 'mpif77'))
+ spack_env.set('MPIF90', join_path(self.prefix.bin, 'mpif90'))
+
spack_env.set('MPICH_CC', spack_cc)
spack_env.set('MPICH_CXX', spack_cxx)
spack_env.set('MPICH_F77', spack_f77)
diff --git a/var/spack/packages/mxml/package.py b/var/spack/repos/builtin/packages/mxml/package.py
index f79251d312..254a5f1595 100644
--- a/var/spack/packages/mxml/package.py
+++ b/var/spack/repos/builtin/packages/mxml/package.py
@@ -1,14 +1,15 @@
-import os
from spack import *
+
class Mxml(Package):
- """Mini-XML is a small XML library that you can use to read and write XML
- and XML-like data files in your application without requiring large
- non-standard libraries
+ """
+ Mini-XML is a small XML library that you can use to read and write XML
+ and XML-like data files in your application without requiring large
+ non-standard libraries
"""
homepage = "http://www.msweet.org"
- url = "http://www.msweet.org/files/project3/mxml-2.9.tar.gz"
+ url = "http://www.msweet.org/files/project3/mxml-2.9.tar.gz"
version('2.9', 'e21cad0f7aacd18f942aa0568a8dee19')
version('2.8', 'd85ee6d30de053581242c4a86e79a5d2')
@@ -16,11 +17,11 @@ class Mxml(Package):
version('2.6', '68977789ae64985dddbd1a1a1652642e')
version('2.5', 'f706377fba630b39fa02fd63642b17e5')
- # module swap PrgEnv-intel PrgEnv-$COMP (Can use whatever compiler you want to use)
+ # module swap PrgEnv-intel PrgEnv-$COMP
+ # (Can use whatever compiler you want to use)
# Case statement to change CC and CXX flags
def install(self, spec, prefix):
configure('--prefix=%s' % prefix, "--disable-shared", 'CFLAGS=-static')
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py
index 588d862d96..15c8eefe96 100644
--- a/var/spack/repos/builtin/packages/openmpi/package.py
+++ b/var/spack/repos/builtin/packages/openmpi/package.py
@@ -109,6 +109,11 @@ class Openmpi(Package):
return "http://www.open-mpi.org/software/ompi/v%s/downloads/openmpi-%s.tar.bz2" % (version.up_to(2), version) # NOQA: ignore=E501
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
+ spack_env.set('MPICC', join_path(self.prefix.bin, 'mpicc'))
+ spack_env.set('MPICXX', join_path(self.prefix.bin, 'mpic++'))
+ spack_env.set('MPIF77', join_path(self.prefix.bin, 'mpif77'))
+ spack_env.set('MPIF90', join_path(self.prefix.bin, 'mpif90'))
+
spack_env.set('OMPI_CC', spack_cc)
spack_env.set('OMPI_CXX', spack_cxx)
spack_env.set('OMPI_FC', spack_fc)
diff --git a/var/spack/repos/builtin/packages/py-protobuf/package.py b/var/spack/repos/builtin/packages/py-protobuf/package.py
new file mode 100644
index 0000000000..da3a65c22e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-protobuf/package.py
@@ -0,0 +1,50 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created 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 Lesser General Public License (as
+# published by the Free Software Foundation) version 2.1, 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 Lesser 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 PyProtobuf(Package):
+ """Protocol buffers are Google's language-neutral, platform-neutral,
+ extensible mechanism for serializing structured data - think XML, but
+ smaller, faster, and simpler. You define how you want your data to be
+ structured once, then you can use special generated source code to easily
+ write and read your structured data to and from a variety of data streams
+ and using a variety of languages."""
+
+ homepage = 'https://developers.google.com/protocol-buffers/'
+ url = 'https://pypi.python.org/packages/source/p/protobuf/protobuf-3.0.0b2.tar.gz'
+
+ version('3.0.0b2', 'f0d3bd2394345a9af4a277cd0302ae83')
+ version('2.6.1', '6bf843912193f70073db7f22e2ea55e2')
+ version('2.5.0', '338813f3629d59e9579fed9035ecd457')
+ version('2.4.1', '72f5141d20ab1bcae6b1e00acfb1068a')
+ version('2.3.0', 'bb020c962f252fe81bfda8fb433bafdd')
+
+ extends('python')
+
+ depends_on('py-setuptools')
+
+ def install(self, spec, prefix):
+ python('setup.py', 'install', '--prefix={0}'.format(prefix))