summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGregory Becker <becker33@llnl.gov>2016-01-05 11:12:14 -0800
committerGregory Becker <becker33@llnl.gov>2016-01-05 11:12:14 -0800
commitd2c2c46541d54e4dcde34e6199ba5dafa949bef1 (patch)
tree3b5effd30cb84567717da93ce96133706d36d8b9 /lib
parent751208cedf3506ebcd5119fd0d4d904bc28392e8 (diff)
downloadspack-d2c2c46541d54e4dcde34e6199ba5dafa949bef1.tar.gz
spack-d2c2c46541d54e4dcde34e6199ba5dafa949bef1.tar.bz2
spack-d2c2c46541d54e4dcde34e6199ba5dafa949bef1.tar.xz
spack-d2c2c46541d54e4dcde34e6199ba5dafa949bef1.zip
bug hunting
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/compilers/__init__.py4
-rw-r--r--lib/spack/spack/config.py2
-rw-r--r--lib/spack/spack/spec.py5
3 files changed, 6 insertions, 5 deletions
diff --git a/lib/spack/spack/compilers/__init__.py b/lib/spack/spack/compilers/__init__.py
index 6731318f43..87106282cf 100644
--- a/lib/spack/spack/compilers/__init__.py
+++ b/lib/spack/spack/compilers/__init__.py
@@ -216,9 +216,9 @@ def compiler_for_spec(compiler_spec, target):
assert(compiler_spec.concrete)
compilers = compilers_for_spec(compiler_spec)
if target.compiler_strategy == "PATH":
- filter(lambda c: c.modules is None, compilers)
+ compilers = [c for c in compilers if c.modules is None]
elif target.compiler_strategy == "MODULES":
- filter(lambda c: c.modules is not None, compilers)
+ compilers = [c for c in compilers if c.modules is not None]
assert(len(compilers) == 1)
return compilers[0]
diff --git a/lib/spack/spack/config.py b/lib/spack/spack/config.py
index d66ffb338e..6e11cfa475 100644
--- a/lib/spack/spack/config.py
+++ b/lib/spack/spack/config.py
@@ -277,7 +277,7 @@ def is_spec_nobuild(spec):
def spec_externals(spec):
- """Return a list of spec, directory pairs for each external location for spec"""
+ """Return a list of spec, directory, module triples for each external location for spec"""
allpkgs = get_packages_config()
name = spec.name
spec_locations = []
diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py
index f496011d62..126ffc4f95 100644
--- a/lib/spack/spack/spec.py
+++ b/lib/spack/spack/spec.py
@@ -771,8 +771,9 @@ class Spec(object):
"""Replace this virtual spec with a concrete spec."""
assert(self.virtual)
for name, dependent in self.dependents.items():
- del dependent.dependencies[self.name]
- dependent._add_dependency(concrete)
+ if not dependent.external:
+ del dependent.dependencies[self.name]
+ dependent._add_dependency(concrete)
def _expand_virtual_packages(self):