summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--etc/spack/defaults/modules.yaml (renamed from etc/spack/modules.yaml)15
-rw-r--r--etc/spack/defaults/packages.yaml21
-rw-r--r--etc/spack/defaults/repos.yaml14
-rw-r--r--etc/spack/repos.yaml8
-rwxr-xr-xlib/spack/env/cc4
l---------lib/spack/env/craype/CC1
l---------lib/spack/env/craype/cc1
l---------lib/spack/env/craype/ftn1
-rw-r--r--lib/spack/spack/config.py9
-rw-r--r--lib/spack/spack/package.py7
-rw-r--r--lib/spack/spack/platforms/cray_xc.py15
-rw-r--r--var/spack/repos/builtin/packages/netcdf/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-h5py/package.py1
-rw-r--r--var/spack/repos/builtin/packages/the_silver_searcher/package.py4
15 files changed, 86 insertions, 25 deletions
diff --git a/.gitignore b/.gitignore
index bfc6172a4e..960b5b0035 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,7 +5,8 @@
*~
.DS_Store
.idea
-/etc/spack/*
+/etc/spack/licenses
+/etc/spack/*.yaml
/etc/spackconfig
/share/spack/dotkit
/share/spack/modules
diff --git a/etc/spack/modules.yaml b/etc/spack/defaults/modules.yaml
index 9ae54a2d09..8864a76547 100644
--- a/etc/spack/modules.yaml
+++ b/etc/spack/defaults/modules.yaml
@@ -1,8 +1,17 @@
# -------------------------------------------------------------------------
-# This is the default spack module files generation configuration.
+# This is the default configuration for Spack's module file generation.
#
-# Changes to this file will affect all users of this spack install,
-# although users can override these settings in their ~/.spack/modules.yaml.
+# Settings here are versioned with Spack and are intended to provide
+# sensible defaults out of the box. Spack maintainers should edit this
+# file to keep it current.
+#
+# Users can override these settings by editing the following files.
+#
+# Per-spack-instance settings (overrides defaults):
+# $SPACK_ROOT/etc/spack/modules.yaml
+#
+# Per-user settings (overrides default and site settings):
+# ~/.spack/modules.yaml
# -------------------------------------------------------------------------
modules:
enable:
diff --git a/etc/spack/defaults/packages.yaml b/etc/spack/defaults/packages.yaml
new file mode 100644
index 0000000000..83f9eb7ece
--- /dev/null
+++ b/etc/spack/defaults/packages.yaml
@@ -0,0 +1,21 @@
+# -------------------------------------------------------------------------
+# This file controls default concretization preferences for Spack.
+#
+# Settings here are versioned with Spack and are intended to provide
+# sensible defaults out of the box. Spack maintainers should edit this
+# file to keep it current.
+#
+# Users can override these settings by editing the following files.
+#
+# Per-spack-instance settings (overrides defaults):
+# $SPACK_ROOT/etc/spack/packages.yaml
+#
+# Per-user settings (overrides default and site settings):
+# ~/.spack/packages.yaml
+# -------------------------------------------------------------------------
+packages:
+ all:
+ providers:
+ mpi: [openmpi, mpich]
+ blas: [openblas]
+ lapack: [openblas]
diff --git a/etc/spack/defaults/repos.yaml b/etc/spack/defaults/repos.yaml
new file mode 100644
index 0000000000..f3e00653eb
--- /dev/null
+++ b/etc/spack/defaults/repos.yaml
@@ -0,0 +1,14 @@
+# -------------------------------------------------------------------------
+# This is the default spack repository configuration. It includes the
+# builtin spack package repository.
+#
+# Users can override these settings by editing the following files.
+#
+# Per-spack-instance settings (overrides defaults):
+# $SPACK_ROOT/etc/spack/repos.yaml
+#
+# Per-user settings (overrides default and site settings):
+# ~/.spack/repos.yaml
+# -------------------------------------------------------------------------
+repos:
+ - $spack/var/spack/repos/builtin
diff --git a/etc/spack/repos.yaml b/etc/spack/repos.yaml
deleted file mode 100644
index 2d4ff54ce6..0000000000
--- a/etc/spack/repos.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-# -------------------------------------------------------------------------
-# This is the default spack repository configuration.
-#
-# Changes to this file will affect all users of this spack install,
-# although users can override these settings in their ~/.spack/repos.yaml.
-# -------------------------------------------------------------------------
-repos:
- - $spack/var/spack/repos/builtin
diff --git a/lib/spack/env/cc b/lib/spack/env/cc
index bf98b4c354..c6bb50d261 100755
--- a/lib/spack/env/cc
+++ b/lib/spack/env/cc
@@ -110,13 +110,13 @@ case "$command" in
comp="CXX"
lang_flags=CXX
;;
- f90|fc|f95|gfortran|ifort|pgfortran|xlf90|nagfor)
+ ftn|f90|fc|f95|gfortran|ifort|pgfortran|xlf90|nagfor)
command="$SPACK_FC"
language="Fortran 90"
comp="FC"
lang_flags=F
;;
- f77|gfortran|ifort|pgfortran|xlf|nagfor)
+ f77|gfortran|ifort|pgfortran|xlf|nagfor|ftn)
command="$SPACK_F77"
language="Fortran 77"
comp="F77"
diff --git a/lib/spack/env/craype/CC b/lib/spack/env/craype/CC
new file mode 120000
index 0000000000..82c2b8e90a
--- /dev/null
+++ b/lib/spack/env/craype/CC
@@ -0,0 +1 @@
+../cc \ No newline at end of file
diff --git a/lib/spack/env/craype/cc b/lib/spack/env/craype/cc
new file mode 120000
index 0000000000..82c2b8e90a
--- /dev/null
+++ b/lib/spack/env/craype/cc
@@ -0,0 +1 @@
+../cc \ No newline at end of file
diff --git a/lib/spack/env/craype/ftn b/lib/spack/env/craype/ftn
new file mode 120000
index 0000000000..82c2b8e90a
--- /dev/null
+++ b/lib/spack/env/craype/ftn
@@ -0,0 +1 @@
+../cc \ No newline at end of file
diff --git a/lib/spack/spack/config.py b/lib/spack/spack/config.py
index 3a66e9f2a6..8b5e96f97d 100644
--- a/lib/spack/spack/config.py
+++ b/lib/spack/spack/config.py
@@ -497,8 +497,15 @@ class ConfigScope(object):
"""Empty cached config information."""
self.sections = {}
+"""Default configuration scope is the lowest-level scope. These are
+ versioned with Spack and can be overridden by sites or users."""
+ConfigScope('defaults', os.path.join(spack.etc_path, 'spack', 'defaults'))
-ConfigScope('site', os.path.join(spack.etc_path, 'spack')),
+"""Site configuration is per spack instance, for sites or projects.
+ No site-level configs should be checked into spack by default."""
+ConfigScope('site', os.path.join(spack.etc_path, 'spack'))
+
+"""User configuration can override both spack defaults and site config."""
ConfigScope('user', os.path.expanduser('~/.spack'))
diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py
index 6a92c548fb..c916bfaaa2 100644
--- a/lib/spack/spack/package.py
+++ b/lib/spack/spack/package.py
@@ -1439,6 +1439,13 @@ def install_dependency_symlinks(pkg, spec, prefix):
flatten_dependencies(spec, prefix)
+def use_cray_compiler_names():
+ """Compiler names for builds that rely on cray compiler names."""
+ os.environ['CC'] = 'cc'
+ os.environ['CXX'] = 'CC'
+ os.environ['FC'] = 'ftn'
+ os.environ['F77'] = 'ftn'
+
def flatten_dependencies(spec, flat_dir):
"""Make each dependency of spec present in dir via symlink."""
for dep in spec.traverse(root=False):
diff --git a/lib/spack/spack/platforms/cray_xc.py b/lib/spack/spack/platforms/cray_xc.py
index 8dc575bb71..0f6599ab30 100644
--- a/lib/spack/spack/platforms/cray_xc.py
+++ b/lib/spack/spack/platforms/cray_xc.py
@@ -10,9 +10,8 @@ class CrayXc(Platform):
back_end = 'ivybridge'
default = 'ivybridge'
- front_os = "SuSE11"
back_os = "CNL10"
- default_os = "CNL10"
+ default_os = "CNL10"
def __init__(self):
''' Since cori doesn't have ivybridge as a front end it's better
@@ -33,12 +32,15 @@ class CrayXc(Platform):
# Could switch to use modules and fe targets for front end
# Currently using compilers by path for front end.
self.add_target('sandybridge', Target('sandybridge'))
- self.add_target('ivybridge',
+ self.add_target('ivybridge',
Target('ivybridge', 'craype-ivybridge'))
- self.add_target('haswell',
- Target('haswell','craype-haswell'))
+ self.add_target('haswell',
+ Target('haswell','craype-haswell'))
- self.add_operating_system('SuSE11', LinuxDistro())
+ # Front end of the cray platform is a linux distro.
+ linux_dist = LinuxDistro()
+ self.front_os = str(linux_dist)
+ self.add_operating_system(str(linux_dist), linux_dist)
self.add_operating_system('CNL10', Cnl())
@classmethod
@@ -50,4 +52,3 @@ class CrayXc(Platform):
if '-D__CRAYXC' in text:
return True
return False
-
diff --git a/var/spack/repos/builtin/packages/netcdf/package.py b/var/spack/repos/builtin/packages/netcdf/package.py
index 063d38e4f9..ad4ee59640 100644
--- a/var/spack/repos/builtin/packages/netcdf/package.py
+++ b/var/spack/repos/builtin/packages/netcdf/package.py
@@ -33,6 +33,7 @@ class Netcdf(Package):
homepage = "http://www.unidata.ucar.edu/software/netcdf"
url = "ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.3.3.tar.gz"
+ version('4.4.1', '7843e35b661c99e1d49e60791d5072d8')
version('4.4.0', 'cffda0cbd97fdb3a06e9274f7aef438e')
version('4.3.3', '5fbd0e108a54bd82cb5702a73f56d2ae')
@@ -47,8 +48,10 @@ class Netcdf(Package):
# Required for NetCDF-4 support
depends_on("zlib")
- depends_on("hdf5+mpi", when='+mpi')
- depends_on("hdf5~mpi", when='~mpi')
+ depends_on('hdf5@:1.8+mpi', when='@:4.4.0+mpi')
+ depends_on('hdf5+mpi', when='@4.4.1:+mpi')
+ depends_on('hdf5@:1.8~mpi', when='@:4.4.0~mpi')
+ depends_on('hdf5~mpi', when='@4.4.1:~mpi')
def install(self, spec, prefix):
# Environment variables
diff --git a/var/spack/repos/builtin/packages/py-h5py/package.py b/var/spack/repos/builtin/packages/py-h5py/package.py
index c1950a91ac..f96cb9b4cd 100644
--- a/var/spack/repos/builtin/packages/py-h5py/package.py
+++ b/var/spack/repos/builtin/packages/py-h5py/package.py
@@ -46,6 +46,7 @@ class PyH5py(Package):
depends_on('hdf5@1.8.4:')
depends_on('hdf5+mpi', when='+mpi')
depends_on('mpi', when='+mpi')
+ depends_on('py-mpi4py', when='+mpi')
# Build and runtime dependencies
depends_on('py-numpy@1.6.1:', type=nolink)
diff --git a/var/spack/repos/builtin/packages/the_silver_searcher/package.py b/var/spack/repos/builtin/packages/the_silver_searcher/package.py
index 988619df30..c98e964efa 100644
--- a/var/spack/repos/builtin/packages/the_silver_searcher/package.py
+++ b/var/spack/repos/builtin/packages/the_silver_searcher/package.py
@@ -24,11 +24,13 @@
##############################################################################
from spack import *
+
class TheSilverSearcher(Package):
"""Fast recursive grep alternative"""
homepage = "http://geoff.greer.fm/ag/"
- url = "http://geoff.greer.fm/ag/releases/the_silver_searcher-0.30.0.tar.gz"
+ url = "http://geoff.greer.fm/ag/releases/the_silver_searcher-0.32.0.tar.gz"
+ version('0.32.0', '3fdfd5836924246073d5344257a06823')
version('0.30.0', '95e2e7859fab1156c835aff7413481db')
depends_on('pcre')