From 1c169ead8b78b11dbafabaa96a1f76b6f7768aa5 Mon Sep 17 00:00:00 2001 From: becker33 Date: Fri, 23 Mar 2018 14:41:43 -0700 Subject: [PATCH] Grab crayos version from PrgEnv module versions (#7583) --- lib/spack/spack/operating_systems/cnl.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/spack/spack/operating_systems/cnl.py b/lib/spack/spack/operating_systems/cnl.py index d64e4d06dc..167b31f6e3 100644 --- a/lib/spack/spack/operating_systems/cnl.py +++ b/lib/spack/spack/operating_systems/cnl.py @@ -42,12 +42,20 @@ class Cnl(OperatingSystem): """ def __init__(self): - name = 'CNL' - version = '10' + name = 'cnl' + version = self._detect_crayos_version() super(Cnl, self).__init__(name, version) def __str__(self): - return self.name + return self.name + str(self.version) + + def _detect_crayos_version(self): + modulecmd = get_module_cmd() + output = modulecmd("avail", "PrgEnv-", output=str, error=str) + matches = re.findall(r'PrgEnv-\w+/(\d+).\d+.\d+', output) + major_versions = set(matches) + latest_version = max(major_versions) + return latest_version def find_compilers(self, *paths): types = spack.compilers.all_compiler_types()