libcerf/2.3-cpeAOCC-24.03 (libcerf-2.3-cpeAOCC-24.03.eb)
To access module help and find out for which stacks and partitions the module is
installed, use module spider libcerf/2.3-cpeAOCC-24.03
.
EasyConfig:
easyblock = 'CMakeMake'
local_libcerf_version = '2.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).
"""
docurls = [
'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': 'cpeAOCC', 'version': '24.03'}
toolchainopts = {'pic': True}
# https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v1.13/libcerf-v1.13.tar.bz2
sources = [ '%(name)s-v%(version)s.tar.bz2' ]
source_urls = [ 'https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v%(version)s' ]
checksums = ['5fce0a90dc30d0ac7ac90d6df752080d2d346cd49154706e4397e2a9a3b826f7']
builddependencies = [ # 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, ROCm or BLAS, and module unload never fails so this is safe.
preconfigopts = 'module unload cray-libsci cray-mpich rocm xpmem && '
prebuildopts = preconfigopts
configopts = '-DLIB_MAN=OFF' # Otherwise pod2html is needed.
postinstallcmds = [
'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_commands = [
'pkg-config --libs libcerf',
]
moduleclass = 'math'