shtools: add v4.8 (#22305)

This commit is contained in:
Erik Schnetter 2021-03-17 08:20:46 -04:00 committed by GitHub
parent bac3ac4fdb
commit 9a565e0ec7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -14,6 +14,7 @@ class Shtools(MakefilePackage):
maintainers = ['eschnett']
version('4.8', sha256='c36fc86810017e544abbfb12f8ddf6f101a1ac8b89856a76d7d9801ffc8dac44')
version('4.5', sha256='1975a2a2bcef8c527d321be08c13c2bc479e0d6b81c468a3203f95df59be4f89')
# Note: This package also provides Python wrappers. We do not
@ -30,18 +31,23 @@ class Shtools(MakefilePackage):
def makeopts(self, spec, prefix):
return [
"F95={0}".format(self.compiler.fc),
("F95FLAGS={0} -O3 -std=f2003 -ffast-math".
format(self.compiler.fc_pic_flag)),
"F95FLAGS={0} -O3 -std=gnu -ffast-math".
format(self.compiler.fc_pic_flag),
"OPENMPFLAGS={0}".format(self.compiler.openmp_flag),
"BLAS={0}".format(spec['blas'].libs),
"FFTW={0}".format(spec['fftw'].libs),
"LAPACK={0}".format(spec['lapack'].libs),
"PREFIX={0}".format(prefix),
"PWD={0}".format(self.build_directory),
]
def build(self, spec, prefix):
target = 'fortran-mp' if spec.satisfies('+openmp') else 'fortran'
make(target, *self.makeopts(self, spec, prefix))
with working_dir(self.build_directory):
# The 'fortran' and 'fortran-mp' targets must be built separately
make('fortran', *self.makeopts(spec, prefix))
if spec.satisfies('+openmp'):
make('fortran-mp', *self.makeopts(spec, prefix))
def install(self, spec, prefix):
make('install', *self.makeopts(self, spec, prefix))
with working_dir(self.build_directory):
make('install', *self.makeopts(spec, prefix))