From 37728900e63a747ac8b863e53848154badcb67e7 Mon Sep 17 00:00:00 2001
From: Bryan Herman <63422190+bryanherman@users.noreply.github.com>
Date: Fri, 11 Feb 2022 02:03:11 +0000
Subject: PVM package: fix missing install files and runtime env (#28851)

---
 var/spack/repos/builtin/packages/pvm/package.py | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/var/spack/repos/builtin/packages/pvm/package.py b/var/spack/repos/builtin/packages/pvm/package.py
index 3e052f563f..887969e868 100644
--- a/var/spack/repos/builtin/packages/pvm/package.py
+++ b/var/spack/repos/builtin/packages/pvm/package.py
@@ -26,10 +26,11 @@ class Pvm(MakefilePackage):
 
     parallel = False
 
-    @property
-    def pvm_arch(self):
+    @staticmethod
+    def pvm_arch(root):
         """Returns the appropriate PVM_ARCH."""
-        process = subprocess.Popen(['lib/pvmgetarch'], stdout=subprocess.PIPE)
+        process = subprocess.Popen([
+            join_path(root, 'lib', 'pvmgetarch')], stdout=subprocess.PIPE)
         return process.communicate()[0].strip().decode()
 
     def edit(self, spec, prefix):
@@ -39,7 +40,7 @@ class Pvm(MakefilePackage):
 
     def patch(self):
 
-        pvm_arch = self.pvm_arch
+        pvm_arch = self.pvm_arch(self.stage.source_path)
 
         if '+fpic' in self.spec:
             filter_file(
@@ -57,14 +58,17 @@ class Pvm(MakefilePackage):
         env.set('SPACK_LDLIBS', '-ltirpc')
 
     def install(self, spec, prefix):
-        pvm_arch = self.pvm_arch
 
-        install_tree(join_path('bin', pvm_arch), prefix.bin)
+        install_tree('bin', prefix.bin)
         install_tree('include', prefix.include)
-        install_tree(join_path('lib', pvm_arch), prefix.lib)
+        install_tree('lib', prefix.lib)
         install_tree('man', prefix.man)
 
     def setup_run_environment(self, env):
         # Before running PVM, you must set the environment
         # variable "PVM_ROOT" to the path where PVM resides
+        pvm_arch = self.pvm_arch(self.prefix)
         env.set('PVM_ROOT', self.prefix)
+        env.set('PVM_ARCH', pvm_arch)
+        env.prepend_path('PATH', join_path(self.prefix, 'lib'))
+        env.prepend_path('PATH', join_path(self.prefix, 'lib', pvm_arch))
-- 
cgit v1.2.3-70-g09d2