libcerf/3.3-cpeAMD-25.09 (libcerf-3.3-cpeAMD-25.09.eb)
To access module help and find out for which stacks and partitions the module is
installed, use module spider libcerf/3.3-cpeAMD-25.09.
EasyConfig:
easyblock = 'CMakeMake'
local_libcerf_version = '3.3' # https://jugit.fz-juelich.de/mlz/libcerf/-/releases
name = 'libcerf'
version = local_libcerf_version
homepage = 'https://jugit.fz-juelich.de/mlz/libcerf'
whatis = [
'Description: Implements the complex error functions, along with the Dawson, Faddeeva and Voigt functions',
'This module provides shared libraries'
]
description = """
libcerf is a self-contained numeric library that provides an efficient and
accurate implementation of complex error functions, along with Dawson, Faddeeva,
and Voigt functions.
This module provides shared libraries.
"""
usage = """
See the manual pages for cdawson, cerf, cerfc, cerfcx, cerfi, dawson, erfcx,
erfi, im_w_of_x, voigt and w_of_z (all in section 3).
"""
doc_urls = [
'Web-based documentation on http://apps.jcns.fz-juelich.de/doku/sc/libcerf#user_documentation',
'Man pages in section 3'
]
software_license_urls = [
f'https://jugit.fz-juelich.de/mlz/libcerf/-/blob/v{version}/LICENSE?ref_type=tags'
]
toolchain = {'name': 'cpeAMD', 'version': '25.09'}
toolchain_opts = {'pic': True}
# https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v3.3/libcerf-v3.3.tar.bz2
sources = [ '%(name)s-v%(version)s.tar.bz2' ]
source_urls = [ 'https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v%(version)s' ]
checksums = [ '6177829f3ebbe52970aa784de2de68d0e2a450e6d20eb78f4d14f6f2b6119572' ]
build_deps = [ # Create a reproducible build environment.
('buildtools', '%(toolchain_version)s', '', True), # For CMake but perl is actually needed to and for now taken from the system
]
separate_build_dir = True
# Doesn't need MPI or BLAS, and module unload never fails so this is safe.
pre_configure_opts = 'module unload cray-libsci cray-mpich xpmem && '
pre_build_opts = pre_configure_opts
configure_opts = '-DLIB_MAN=OFF' # Otherwise pod2html is needed.
post_install_cmds = [
'mkdir -p %(installdir)s/share/licenses/%(name)s',
'cd ../%(namelower)s-v%(version)s && cp CHANGELOG LICENSE README.md %(installdir)s/share/licenses/%(name)s',
]
sanity_check_paths = {
'files': ['lib/libcerf.%s' % SHLIB_EXT, 'lib/pkgconfig/libcerf.pc',
f'share/licenses/{name}/LICENSE'],
'dirs': []
}
sanity_check_cmds = [
#'pkg-config --libs libcerf', # pkg-config on LUMI doesn't like that there are two name fields and corresponding entries.
]
env_mod_category = 'math'