easyblock = 'ConfigureMake'

name = 'ABINIT'
version = '8.2.2'

homepage = 'http://www.abinit.org/'
description = """ABINIT is a package whose main program allows one to find the total energy, charge density and
 electronic structure of systems made of electrons and nuclei (molecules and periodic solids) within Density Functional
 Theory (DFT), using pseudopotentials and a planewave or wavelet basis."""

toolchain = {'name': 'intel', 'version': '2017a'}

source_urls = ['http://ftp.abinit.org/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['5f25250e06fdc0815c224ffd29858860']

configopts = "--with-mpi-prefix=$EBROOTIMPI/intel64 --with-trio-flavor='etsf_io+netcdf' --with-dft=flavor='libxc' "
configopts += '--with-netcdf-incs="-I$EBROOTNETCDF/include -I$EBROOTNETCDFMINFORTRAN/include" '
configopts += '--with-netcdf-libs="-L$EBROOTNETCDF/lib -lnetcdf -L$EBROOTNETCDFMINFORTRAN/lib -lnetcdff" '
configopts += '--with-libxc-incs="-I$EBROOTLIBXC/include" --with-libxc-libs="-L$EBROOTLIBXC/lib -lxc" '

dependencies = [
    ('libxc', '3.0.0', '', True),
    ('netCDF', '4.4.1'),
    ('netCDF-Fortran', '4.4.4'),
]

sanity_check_paths = {
    'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']],
    'dirs': ['lib/pkgconfig'],
}

moduleclass = 'chem'
