From ba58a9f30d9b15c006e22a96d1153f0d3496285d Mon Sep 17 00:00:00 2001
From: Pramod Kumbhar <pramod.s.kumbhar@gmail.com>
Date: Tue, 8 Nov 2016 16:18:14 +0100
Subject: [PATCH] fix tau installation issue  (#2269)

* fix tau installation issue : setup_environment() is
called before install phase when 'Makefile.*' doesn't
exist (causing list index out of range error).

* Added detailed comment suggested by @alalazo
---
 var/spack/repos/builtin/packages/tau/package.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/var/spack/repos/builtin/packages/tau/package.py b/var/spack/repos/builtin/packages/tau/package.py
index d6b0a98d67..991841f137 100644
--- a/var/spack/repos/builtin/packages/tau/package.py
+++ b/var/spack/repos/builtin/packages/tau/package.py
@@ -150,4 +150,11 @@ def link_tau_arch_dirs(self):
     def setup_environment(self, spack_env, run_env):
         pattern = join_path(self.prefix.lib, 'Makefile.*')
         files = glob.glob(pattern)
-        run_env.set('TAU_MAKEFILE', files[0])
+
+        # This function is called both at install time to set up
+        # the build environment and after install to generate the associated
+        # module file. In the former case there is no `self.prefix.lib`
+        # directory to inspect. The conditional below will set `TAU_MAKEFILE`
+        # in the latter case.
+        if files:
+            run_env.set('TAU_MAKEFILE', files[0])
-- 
GitLab