easyconfigs-it4i/l/libxc/libxc-6.1.0-intel-compilers-2022.2.1-nofhc.eb
Pavel Holba ff55967438 modified: c/CRYSTAL/CRYSTAL-17-intel-2020a-1.0.2.eb
new file:   l/libxc/libxc-6.1.0-intel-compilers-2022.2.1-nofhc.eb
	new file:   l/libxc/libxc-7.0.0-intel-compilers-2022.2.1-nofhc.eb
	new file:   s/s3cmd/s3cmd-2.4.0-GCCcore-14.2.0-Python-3.11.1.eb
	new file:   v/VASP/VASP-6.4.2-intel-2022b-libxc-6.1.0.eb
	new file:   v/VASP/VASP-6.4.2-intel-2022b-libxc-7.0.0.eb
	new file:   v/VASP/VASP-6.4.3-intel-2022b-libxc-6.1.0.eb
	new file:   v/VASP/VASP-6.4.3-intel-2022b-libxc-7.0.0.eb
2025-02-10 08:22:39 +01:00

63 lines
2.1 KiB
Plaintext

# IT4Innovations
# PH 2025
easyblock = 'CMakeMake'
name = 'libxc'
version = '6.1.0'
versionsuffix = '-nofhc'
homepage = 'https://libxc.gitlab.io'
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-compilers', 'version': '2022.2.1'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'opt': True, 'optarch': 'march=core-avx2'}
else:
toolchainopts = {'opt': True}
source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/']
sources = [SOURCE_TAR_GZ]
checksums = [('9baf23501dca21b05fa22d8e2ffeb56f294abe19ba12584cb3f9b421ae719c5f',
'a3aa16915942543031a5d9c4a92c439ce54249bdcda8c91c4e69e65329dc9a54')]
builddependencies = [
('CMake', '3.24.3'),
('Perl', '5.36.0'),
]
local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_XHOST=OFF "
# don't disable building of third and fourth derivates, since it's required by some software that depends on libxc
# (like ABINIT, which requires "3rd derivatives of energy")
# see also https://github.com/pyscf/pyscf/issues/1103
local_common_configopts += "-DDISABLE_KXC=OFF -DDISABLE_LXC=OFF"
# Disable fhc, this needs to support codes (like VASP) relying on the projector augmented wave (PAW) approach
local_common_configopts += ' -DDISABLE_FHC=ON'
# perform iterative build to get both static and shared libraries
configopts = [
local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF',
local_common_configopts + ' -DBUILD_SHARED_LIBS=ON',
]
# make sure that built libraries (libxc*.so*) in build directory are picked when running tests
# this is required when RPATH linking is used
pretestopts = "export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj:$LD_LIBRARY_PATH && "
runtest = 'test'
sanity_check_paths = {
'files': ['bin/xc-info'] +
['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]],
'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/Libxc'],
}
sanity_check_commands = ['xc-info 1']
moduleclass = 'chem'