From a1bfa8eca04a5c111f6fa9fac4041fec91ca421a Mon Sep 17 00:00:00 2001
From: Jon Rood <jon.rood@nrel.gov>
Date: Tue, 10 Jul 2018 18:32:50 -0600
Subject: [PATCH] Adding psm as a dependency of mvapich2. (#8674)

---
 var/spack/repos/builtin/packages/mvapich2/package.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py
index ffa2f6ea02..030e03b7f1 100644
--- a/var/spack/repos/builtin/packages/mvapich2/package.py
+++ b/var/spack/repos/builtin/packages/mvapich2/package.py
@@ -119,6 +119,7 @@ class Mvapich2(AutotoolsPackage):
     depends_on('bison', type='build')
     depends_on('libpciaccess', when=(sys.platform != 'darwin'))
     depends_on('cuda', when='+cuda')
+    depends_on('psm', when='fabrics=psm')
 
     filter_compiler_wrappers(
         'mpicc', 'mpicxx', 'mpif77', 'mpif90', 'mpifort', relative_root='bin'
@@ -163,7 +164,10 @@ def network_options(self):
         opts = []
         # From here on I can suppose that only one variant has been selected
         if 'fabrics=psm' in self.spec:
-            opts = ["--with-device=ch3:psm"]
+            opts = [
+                "--with-device=ch3:psm",
+                "--with-psm={0}".format(self.spec['psm'].prefix)
+            ]
         elif 'fabrics=sock' in self.spec:
             opts = ["--with-device=ch3:sock"]
         elif 'fabrics=nemesistcpib' in self.spec:
-- 
GitLab