# IT4Innovations
# LK 2024

easyblock = "PythonPackage"

name = 'GPAW'
version = '24.6.0'
_aseversion = '3.23.0'
versionsuffix = '-ASE-' + _aseversion

homepage = 'https://wiki.fysik.dtu.dk/gpaw/'
description = """GPAW is a density-functional theory (DFT) Python code based on the projector-augmented wave (PAW)
 method and the atomic simulation environment (ASE). It uses real-space uniform grids and multigrid methods or
 atom-centered basis-functions."""

toolchain = {'name': 'intel', 'version': '2023a'}
toolchainopts = {'usempi': True, 'openmp': True}

source_urls = [PYPI_LOWER_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
patches = [
    ('GPAW-20.1.0-Add-Easybuild-configuration-files.patch', 1),
]
checksums = [
    {'gpaw-24.6.0.tar.gz': 'fb48ef0db48c0e321ce5967126a47900bba20c7efb420d6e7b5459983bd8f6f6'},
    {'GPAW-20.1.0-Add-Easybuild-configuration-files.patch':
     '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15'},
]

dependencies = [
    ('Python', '3.11.3'),
    ('Python-bundle-PyPI', '2023.06'),
    ('SciPy-bundle', '2023.07'),
    ('ASE', _aseversion),
    ('libxc', '6.2.2'),
    ('ELPA', '2023.05.001'),
    ('PyYAML', '6.0'),
    ('GPAW-setups', '24.1.0', '', SYSTEM),
]

prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_intel.py'
preinstallopts = prebuildopts

download_dep_fail = True
use_pip = True
sanity_pip_check = True

sanity_check_paths = {
    'files': ['bin/gpaw%s' % x for x in ['', '-analyse-basis', '-basis', '-plot-parallel-timings',
                                         '-runscript', '-setup', '-upfplot']],
    'dirs': ['lib/python%(pyshortver)s/site-packages']
}

moduleclass = 'chem'
