Fix PVM dependencies (#20951)

* added m4 dep to PVM recipe

* added libtirpc dep to PVM recipe

* decode str or bytestr string to unicode

* Resolved comments from @adamjstewart on setup_build_environment
This commit is contained in:
bryanherman 2021-01-20 21:52:22 +00:00 committed by GitHub
parent 966f6bc2d2
commit a6ea16ded5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -17,19 +17,30 @@ class Pvm(MakefilePackage):
version('3.4.6', sha256='482665e9bc975d826bcdacf1df1d42e43deda9585a2c430fd3b7b7ed08eada44') version('3.4.6', sha256='482665e9bc975d826bcdacf1df1d42e43deda9585a2c430fd3b7b7ed08eada44')
depends_on('m4', type='build')
depends_on('libtirpc', type='link')
parallel = False parallel = False
@property @property
def pvm_arch(self): def pvm_arch(self):
"""Returns the appropriate PVM_ARCH.""" """Returns the appropriate PVM_ARCH."""
process = subprocess.Popen(['lib/pvmgetarch'], stdout=subprocess.PIPE) process = subprocess.Popen(['lib/pvmgetarch'], stdout=subprocess.PIPE)
return process.communicate()[0].strip() return process.communicate()[0].strip().decode()
def edit(self, spec, prefix): def edit(self, spec, prefix):
# Before building PVM, you must set the environment # Before building PVM, you must set the environment
# variable "PVM_ROOT" to the path where PVM resides # variable "PVM_ROOT" to the path where PVM resides
env['PVM_ROOT'] = self.stage.source_path env['PVM_ROOT'] = self.stage.source_path
def setup_build_environment(self, env):
tirpc = self.spec['libtirpc'].prefix
env.prepend_path(
'SPACK_INCLUDE_DIRS',
tirpc.include.tirpc,
)
env.set('SPACK_LDLIBS', '-ltirpc')
def install(self, spec, prefix): def install(self, spec, prefix):
pvm_arch = self.pvm_arch pvm_arch = self.pvm_arch