Skip to content

[libxc] [package list]

libxc/7.0.0-cpeGNU-26.03-FHC (libxc-7.0.0-cpeGNU-26.03-FHC.eb)

Install with the EasyBuild-user module:

eb libxc-7.0.0-cpeGNU-26.03-FHC.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider libxc/7.0.0-cpeGNU-26.03-FHC.

EasyConfig:

# contributed by Luca Marsella (CSCS)
# adapted for LUMI by Peter Larsson
#DOC This version works the way one would expect for version 7, with the control of the 
#DOC enforcement of the Fermi hole curvature done by the XC_FLAGS_ENFORCE_FHC flag at runtime.

local_Perl_version =         '5.42.0'        # https://www.perl.org/get.html

easyblock = 'CMakeMake'

local_libxc7_version =       '7.0.0'         # https://gitlab.com/libxc/libxc/-/releases

name =           'libxc'
version =        local_libxc7_version
version_suffix = '-FHC'

homepage = 'https://libxc.gitlab.io/'

whatis = [
    "Description: Libxc is a library of exchange-correlation and kinetic energy functionals " +
    "for density-functional theory."
]

description = """
Libxc is a library of exchange-correlation and kinetic energy functionals for
density-functional theory. The original aim was to provide a portable, well
tested and reliable set of LDA, GGA, and meta-GGA functionals.

Libxc is written in C, but it also comes with Fortran binding.

It is released under the MPL license (v. 2.0). In all publications resulting
from your use of Libxc, please cite:

[ref] Susi Lehtola, Conrad Steigemann, Micael J. T. Oliveira, and Miguel A. L. Marques,
      "Recent developments in Libxc - A comprehensive  library of functionals for
      density functional theory", Software X 7, 1 (2018)
"""

doc_urls = [
    'Manual: https://libxc.gitlab.io/manual/',
    'Available functionals: https://libxc.gitlab.io/functionals/'
]

toolchain = {'name': 'cpeGNU', 'version': '26.03'}
toolchain_opts = {'opt': True}

source_urls = ['https://gitlab.com/%(name)s/%(name)s/-/archive/%(version)s']
sources = [SOURCE_TAR_BZ2]
#checksums = ['f72ed08af7b9dff5f57482c5f97bff22c7dc49da9564bc93871997cbda6dacf3']
#checksums = ['e9ae69f8966d8de6b7585abd9fab588794ada1fab8f689337959a35abbf9527d']  # libxc-7.0.0.tar.bz2

build_deps = [
    ('buildtools',          '%(toolchain_version)s', '', SYSTEM), # For CMake
    ('craype-network-none', EXTERNAL_MODULE),
    ('craype-accel-none',   EXTERNAL_MODULE),
    ('Perl',                local_Perl_version),
]

local_common_configure_opts = ' '.join([
    '-DCMAKE_POLICY_VERSION_MINIMUM=3.5',
    '-DENABLE_FORTRAN=ON',
    '-DENABLE_PYTHON=OFF',
    '-DCMAKE_INSTALL_LIBDIR=lib',
    '-DDISABLE_FHC=OFF',
])

configure_opts = [
    local_common_configure_opts + ' -DBUILD_SHARED_LIBS=OFF',
    local_common_configure_opts + ' -DBUILD_SHARED_LIBS=ON',
]

pre_configure_opts = 'module unload rocm cray-libsci && '
pre_build_opts = pre_test_opts = pre_configure_opts

post_install_cmds = [
    'mkdir -p %(installdir)s/share/licenses/%(name)s',
    'cd ../%(name)s-%(version)s && cp AUTHORS CITATION COPYING NEWS README.md %(installdir)s/share/licenses/%(name)s',
]

sanity_check_paths = {
    'files': ['bin/xc-info'] +
             ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03'] for y in ['a', SHLIB_EXT]],
    'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/Libxc'],
}

env_mod_category = 'chem'

[libxc] [package list]