# IT4Innovations 2017

easyblock = 'ConfigureMake'

name = 'libxc'
version = '4.1.0'

homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc'
description = """Libxc is a library of exchange-correlation functionals for density-functional theory.
 The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals."""

toolchain = {'name': 'intel', 'version': '2017a'}
toolchainopts = {'lowopt': True, 'pic': True, 'opt': True}

source_urls = [
    'http://www.tddft.org/programs/octopus/down.php?file=libxc/%(version)s/']
sources = [SOURCE_TAR_GZ]

builddependencies = [
    ('Autoconf', '2.69', '', True),
    ('libtool', '2.4.6'),
]

configopts = 'CXXFLAGS="-O2 -fPIC" CFLAGS="-O2 -fPIC" FC=mpiifort --enable-fortran --enable-shared'

# From the libxc mailing list
# To summarize: expect less tests to fail in libxc 2.0.2, but don't expect
# a fully working testsuite soon (unless someone wants to volunteer to do
# it, of course  ) In the meantime, unless the majority of the tests
# fail, your build should be fine.
runtest = 'check'

sanity_check_paths = {
    'files': [
        'lib/libxc%s.%s' %
        (x, y) for x in [
            '', 'f90'] for y in [
                'a', SHLIB_EXT]], 'dirs': ['include'], }

postinstallcmds = [
    'cp src/util.h %(installdir)s/include',
    'cp testsuite/ %(installdir)s/testsuite -R',
]

parallel = 1

moduleclass = 'chem'
