summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Herman <63422190+bryanherman@users.noreply.github.com>2022-02-11 02:03:11 +0000
committerGitHub <noreply@github.com>2022-02-10 18:03:11 -0800
commit37728900e63a747ac8b863e53848154badcb67e7 (patch)
tree6ab603775767847051f696feed9ddec445ed8d27
parentb547819c407b22572e827aa1c3c7c5dc11d2e8b3 (diff)
downloadspack-37728900e63a747ac8b863e53848154badcb67e7.tar.gz
spack-37728900e63a747ac8b863e53848154badcb67e7.tar.bz2
spack-37728900e63a747ac8b863e53848154badcb67e7.tar.xz
spack-37728900e63a747ac8b863e53848154badcb67e7.zip
PVM package: fix missing install files and runtime env (#28851)
-rw-r--r--var/spack/repos/builtin/packages/pvm/package.py18
1 files 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))