easyblock = 'ConfigureMake'

name = 'GDAL'
version = '3.3.0'

homepage = 'https://www.gdal.org'
description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style
 Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model
 to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for
 data translation and processing."""

toolchain = {'name': 'intel', 'version': '2021.03'}
toolchainopts = {'usempi': True}

source_urls = ['https://download.osgeo.org/gdal/%(version)s/']
sources = [SOURCELOWER_TAR_XZ]
patches = ['GDAL-3.0.0_fix-python-CC-CXX.patch']
checksums = [
    '190c8f4b56afc767f43836b2a5cd53cc52ee7fdc25eb78c6079c5a244e28efa7',  # gdal-3.3.0.tar.xz
    '223a0ed1afb245527d546bb19e4f80c00f768516ab106d82e53cf36b5a1a2381',  # GDAL-3.0.0_fix-python-CC-CXX.patch
]

builddependencies = [
    ('pkg-config', '0.29.2'),
]

dependencies = [
    ('Python', '3.9.6'),
    ('netCDF', '4.8.0'),
    ('expat', '2.4.1'),
    ('GEOS', '3.9.1'),
    ('SQLite', '3.36'),
    ('libxml2', '2.9.10'),
    ('libpng', '1.6.37'),
    ('libjpeg-turbo', '2.0.6'),
    ('JasPer', '2.0.33'),
    ('LibTIFF', '4.3.0'),
    ('zlib', '1.2.11'),
    ('cURL', '7.78.0'),
    ('PCRE2', '10.37'),
    ('PROJ', '8.1.0'),
    ('libgeotiff', '1.7.0'),
    ('SciPy-bundle', '2021.09'),
    ('HDF5', '1.10.7'),
    ('HDF', '4.2.15'),
]

preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && "
configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ'
configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF'
configopts += ' --with-xml2=yes --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO'
configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER'
configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE2 --with-python=$EBROOTPYTHON/bin/python'
configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF'

modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}

sanity_check_paths = {
    'files': ['lib/libgdal.a', 'lib/libgdal.%s' % SHLIB_EXT],
    'dirs': ['bin', 'include', 'lib/python%(pyshortver)s/site-packages']
}

sanity_check_commands = ["python -c 'import osgeo.gdal'"]

moduleclass = 'data'
