Skip to content
Snippets Groups Projects
Unverified Commit 87481609 authored by Adam J. Stewart's avatar Adam J. Stewart Committed by GitHub
Browse files

GMT: add 6.0.0 (#15785)

parent 25a65638
No related branches found
No related tags found
No related merge requests found
......@@ -14,34 +14,49 @@ class Gmt(Package):
contour maps to artificially illuminated surfaces and 3D perspective views.
"""
homepage = "http://gmt.soest.hawaii.edu/"
url = "https://github.com/GenericMappingTools/gmt/archive/5.4.4.tar.gz"
homepage = "https://www.generic-mapping-tools.org/"
url = "https://github.com/GenericMappingTools/gmt/archive/6.0.0.tar.gz"
git = "https://github.com/GenericMappingTools/gmt.git"
maintainers = ['adamjstewart']
version('master', branch='master')
version('6.0.0', sha256='7a733e670f01d99f8fc0da51a4337320d764c06a68746621f83ccf2e3453bcb7')
version('5.4.4', sha256='b593dfb101e6507c467619f3d2190a9f78b09d49fe2c27799750b8c4c0cd2da0')
version('4.5.9', sha256='9b13be96ccf4bbd38c14359c05dfa7eeeb4b5f06d6f4be9c33d6c3ea276afc86',
url='ftp://ftp.soest.hawaii.edu/gmt/legacy/gmt-4.5.9.tar.bz2')
variant('pcre', default=False, description='Enable the PCRE interface')
variant('gdal', default=False, description='Enable the GDAL interface')
variant('fftw', default=True, description='Fast FFTs')
variant('lapack', default=True, description='Fast matrix inversion')
variant('blas', default=True, description='Fast matrix multiplications')
variant('ghostscript', default=False, description='Ability to convert PostScript plots to PDF and rasters')
variant('gdal', default=False, description='Ability to read and write numerous grid and image formats')
variant('pcre', default=False, description='Regular expression support')
variant('fftw', default=False, description='Fast FFTs')
variant('glib', default=False, description='GTHREAD support')
variant('lapack', default=False, description='Fast matrix inversion')
variant('blas', default=False, description='Fast matrix multiplications')
variant('graphicsmagick', default=False, description='Convert images to animated GIFs')
variant('ffmpeg', default=False, description='Convert images to videos')
variant('docs', default=False, description='Build manpage and HTML documentation')
# http://gmt.soest.hawaii.edu/projects/gmt/wiki/BuildingGMT
# https://github.com/GenericMappingTools/gmt/blob/master/BUILDING.md
# https://github.com/GenericMappingTools/gmt/blob/master/MAINTENANCE.md
# Required dependencies
depends_on('ghostscript')
depends_on('subversion')
depends_on('cmake@2.8.5:', type='build', when='@5:')
depends_on('cmake@2.8.7:', type='build', when='@5:')
depends_on('netcdf-c@4:')
depends_on('curl', when='@5.4:')
# Optional dependencies
depends_on('pcre', when='+pcre')
depends_on('ghostscript', when='+ghostscript')
depends_on('gdal', when='+gdal')
depends_on('pcre', when='+pcre')
depends_on('fftw', when='+fftw')
depends_on('glib', when='+glib')
depends_on('lapack', when='+lapack')
depends_on('blas', when='+blas')
depends_on('graphicsmagick', when='+graphicsmagick')
depends_on('ffmpeg', when='+ffmpeg')
depends_on('py-sphinx@1.4:', when='+docs', type='build')
depends_on('graphicsmagick', type='test')
patch('type.patch', when='@4.5.9')
......@@ -49,9 +64,56 @@ class Gmt(Package):
@when('@5:')
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
cmake('..', *std_cmake_args)
args = std_cmake_args
args.extend([
'-DNETCDF_CONFIG={0}'.format(
spec['netcdf-c'].prefix.bin.join('nc-config')),
'-DNETCDF_INCLUDE_DIR={0}'.format(
spec['netcdf-c'].headers.directories[0]),
'-DNETCDF_LIBRARY={0}'.format(
spec['netcdf-c'].libs[0])
])
# If these options aren't explicitly disabled,
# CMake will search OS for dependencies
if '+ghostscript' in spec:
args.append('-DGS={0}'.format(
spec['ghostscript'].prefix.bin.gs))
else:
args.append('-DGS=')
if '+gdal' in spec:
args.extend([
'-DGDAL_TRANSLATE={0}'.format(
spec['gdal'].prefix.bin.gdal_translate),
'-DOGR2OGR={0}'.format(
spec['gdal'].prefix.bin.ogr2ogr),
])
else:
args.extend(['-DGDAL_TRANSLATE=', '-DOGR2OGR='])
if 'graphicsmagick' in spec:
args.extend([
'-DGM={0}'.format(
spec['graphicsmagick'].prefix.bin.gm),
'-DGRAPHICSMAGICK={0}'.format(
spec['graphicsmagick'].prefix.bin.gm),
])
else:
args.extend(['-DGM=', '-DGRAPHICSMAGICK='])
if '+ffmpeg' in spec:
args.append('-DFFMPEG={0}'.format(
spec['ffmpeg'].prefix.bin.ffmpeg))
else:
args.append('-DFFMPEG=')
cmake('..', *args)
make()
if self.run_tests:
make('check')
make('install')
@when('@:4')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment