Skip to content

[libxc] [package list]

libxc/7.1.2-cpeGNU-26.03-NoFHC (libxc-7.1.2-cpeGNU-26.03-NoFHC.eb)

Install with the EasyBuild-user module:

eb libxc-7.1.2-cpeGNU-26.03-NoFHC.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.1.2-cpeGNU-26.03-NoFHC.

EasyConfig:

# contributed by Luca Marsella (CSCS)
# adapted for LUMI by Peter Larsson
#DOC! This version has the control of the enforcement of the Fermi hole curvature done by 
#DOC! the XC_FLAGS_ENFORCE_FHC flag at runtime disabled so that it works like previous versions
#DOC! of the library.

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

easyblock = 'CMakeMake'

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

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

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}

# https://gitlab.com/libxc/libxc/-/archive/7.1.2/libxc-7.1.2.tar.bz2
source_urls = ['https://gitlab.com/%(name)s/%(name)s/-/archive/%(version)s']
sources =     [SOURCE_TAR_BZ2]
checksums =   ['3915fac94416e4c415534223ea492ad2663f928acf27e98662c861b094a6c306'] # libxc-7.1.2.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([
    '-DENABLE_FORTRAN=ON',
    '-DENABLE_PYTHON=OFF',
    '-DCMAKE_INSTALL_LIBDIR=lib',
    '-DDISABLE_FHC=ON'
])

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]