1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
from spack import *
class Suntans(MakefilePackage): """The Stanford unstructured-grid, nonhydrostatic, parallel coastal ocean model. """
homepage = "https://github.com/ofringer/suntans" url = "https://github.com/ofringer/suntans/archive/master.zip"
maintainers = ['ofringer', 'zyaj', 'mrayson', 'jadelson', 'lhxone']
version('0.0.1', '9b5d0dee5502a5650e37bf72f64b1124be86c084e7408aa517c214ddb25e36de')
depends_on('[email protected]', type = ('build', 'run')) depends_on('openmpi', type = ('build'))
def edit(self, spec, prefix): env['MPIHOME'] = spec['openmpi'].prefix with working_dir('main'): makefile = FileFilter('Makefile') makefile.filter('XINC=.*', 'XINC= -I{0}'.format(spec['libx11'].prefix.include)) makefile.filter('XLIBDIR = .*', 'XLIBDIR = {0}'.format(spec['libx11'].prefix.lib)) makefile.filter('INCLUDES = .*', 'INCLUDES = $(PARMETISINCLUDE) $(TRIANGLEINCLUDE) $(NETCDFINCLUDE) $(XINC)')
def build(self, spec, prefix): build_targets = ['CC = mpicc'] with working_dir('examples/cylinder'): make('test') with working_dir('main'): make('sunplot')
def install(self, spec, prefix): mkdir(prefix.bin) mkdir(prefix.include) with working_dir('main'): install('sunplot', prefix.bin) install('*.h', prefix.include)
|