diff options
Diffstat (limited to 'lib/spack/spack/spec.py')
-rw-r--r-- | lib/spack/spack/spec.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py index 1ff2fb4677..9706ab215d 100644 --- a/lib/spack/spack/spec.py +++ b/lib/spack/spack/spec.py @@ -3025,6 +3025,8 @@ class Spec(object): ${SHA1} Dependencies 8-char sha1 prefix ${HASH:len} DAG hash with optional length specifier + ${DEP:name:OPTION} Evaluates as OPTION would for self['name'] + ${SPACK_ROOT} The spack root directory ${SPACK_INSTALL} The default spack install directory, ${SPACK_PREFIX}/opt @@ -3218,6 +3220,10 @@ class Spec(object): out.write(fmt % (self.dag_hash(hashlen))) elif named_str == 'NAMESPACE': out.write(fmt % transform(self.namespace)) + elif named_str.startswith('DEP:'): + _, dep_name, dep_option = named_str.lower().split(':', 2) + dep_spec = self[dep_name] + out.write(fmt % (dep_spec.format('${%s}' % dep_option))) named = False |