ioapi: adapt to upstream's build system changes (#28247) (#31149)

Co-authored-by: Pariksheet Nanda <pnanda@necrosis.micro.med.umich.edu>
This commit is contained in:
Pariksheet Nanda 2022-06-27 14:28:46 -04:00 committed by GitHub
parent 1ba4ea5f20
commit 0471c1ad5d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -13,6 +13,12 @@ class Ioapi(MakefilePackage):
homepage = "https://www.cmascenter.org/ioapi/"
url = "https://www.cmascenter.org/ioapi/download/ioapi-3.2.tar.gz"
maintainers = ['omsai']
# This checksum is somewhat meaningless because upstream updates the tarball
# without incrementing the version despite requests no to do this.
# Therefore the checksum fails everytime upstream silently updates the
# source tarball (#28247). This also means that one must test for breaking
# changes when updating the checksum and avoid #22633.
version('3.2', sha256='0a3cbf236ffbd9fb5f6509e35308c3353f1f53096efe0c51b84883d2da86924b')
depends_on('netcdf-c@4:')
depends_on('netcdf-fortran@4:')
@ -24,10 +30,21 @@ def edit(self, spec, prefix):
# The makefile uses stubborn assignments of = instead of ?= so
# edit the makefile instead of using environmental variables.
makefile = FileFilter('Makefile')
makefile.filter('^BASEDIR.*', 'BASEDIR = ' + self.build_directory)
makefile.filter('^INSTALL.*', 'INSTALL = ' + prefix)
makefile.filter('^BININST.*', 'BININST = ' + prefix.bin)
makefile.filter('^LIBINST.*', 'LIBINST = ' + prefix.lib)
makefile.filter('(^VERSION.*)', '''
CPLMODE = nocpl
\\1
'''.strip())
makefile.filter('^BASEDIR.*', ('''
BASEDIR = ''' + self.build_directory + '''
INSTALL = ''' + prefix + '''
BININST = ''' + prefix.bin + '''
LIBINST = ''' + prefix.lib + '''
BIN = Linux2_x86_64
''').strip())
# Fix circular dependency bug for generating subdirectory Makefiles.
makefile.filter('^configure:.*', 'configure:')
# Generate the subdirectory Makefiles.
make('configure')
def install(self, spec, prefix):
make('install')