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