# IT4Innovations
# PH 2025

easyblock = 'CMakeMakeCp'

name = 'PySCF'
version = '2.8.0'

homepage = 'http://www.pyscf.org'
description = "PySCF is an open-source collection of electronic structure modules powered by Python."

toolchain = {'name': 'foss', 'version': '2023b'}

source_urls = ['https://github.com/pyscf/pyscf/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['f53ea72b25f64cc7a3345b6f1b6e3a30c1cbf550252324731a2192dafe891149']

builddependencies = [('CMake', '3.27.6')]

dependencies = [
    ('Python', '3.11.5'),
    ('SciPy-bundle', '2023.11'),  # for numpy, scipy
    ('h5py', '3.11.0'),
    ('libcint', '5.5.0'),
    ('libxc', '6.2.2'),
    ('XCFun', '2.1.1'),
]

start_dir = 'pyscf/lib'

separate_build_dir = True

configopts = "-DBUILD_LIBCINT=OFF -DBUILD_LIBXC=OFF -DBUILD_XCFUN=OFF"

prebuildopts = "export PYSCF_INC_DIR=$EBROOTQCINT/include:$EBROOTLIBXC/lib && "

files_to_copy = ['pyscf']

sanity_check_paths = {
    'files': ['pyscf/__init__.py'],
    'dirs': ['pyscf/data', 'pyscf/lib'],
}

sanity_check_commands = ["python -c 'import pyscf'"]

modextrapaths = {'PYTHONPATH': ''}

moduleclass = 'chem'