xref: /petsc/config/BuildSystem/config/packages/radau5.py (revision 7b5fd022a6ba26727040df7457b27566b4c6742d)
1import config.package
2
3class Configure(config.package.Package):
4  def __init__(self, framework):
5    config.package.Package.__init__(self, framework)
6    self.gitcommit         = 'dc161a92a1919ca4a7661ee47fc5c89e3860f258' #master dec-1-2018
7    self.download          = ['git://https://bitbucket.org/petsc/pkg-radau5.git','https://bitbucket.org/petsc/pkg-radau5/get/'+self.gitcommit+'.tar.gz']
8    self.liblist           = [['libradau5.a']]
9    self.libDirs           = ['']
10    self.precisions        = ['double']
11    self.requires32bitint  = 1;
12    self.complex           = 0;
13    self.buildLanguages    = ['FC'];
14    return
15
16  def setupDependencies(self, framework):
17    config.package.Package.setupDependencies(self, framework)
18    self.petscclone     = framework.require('PETSc.options.petscclone',self.setCompilers)
19    return
20
21  def Install(self):
22    import os
23    try:
24      self.pushLanguage('FC')
25      output,err,ret = config.package.Package.executeShellCommand('cd '+self.packageDir+' && make AR=ar FC=\''+self.getCompiler()+' '+self.getCompilerFlags()+'\'',timeout=2500,log = self.log)
26      self.popLanguage()
27    except RuntimeError as e:
28      raise RuntimeError('Error running make on radau5: '+str(e))
29    output,err,ret  = config.package.Package.executeShellCommand('cp -f '+os.path.join(self.packageDir,'libradau5.a')+' '+os.path.join(self.confDir,'lib'), timeout=60, log = self.log)
30    return os.path.join(self.confDir,'lib')
31