ICU/73.2-cpeGNU-23.12 (ICU-73.2-cpeGNU-23.12.eb)
To access module help and find out for which stacks and partitions the module is
installed, use module spider ICU/73.2-cpeGNU-23.12
.
EasyConfig:
easyblock = 'ConfigureMake'
local_ICU_version = '73.2' # http://site.icu-project.org/home
name = 'ICU'
version = local_ICU_version
homepage = 'https://icu.unicode.org/'
whatis = [
"Description: ICU is a set of C/C++ and Java libraries providing Unicode and globalization support",
]
description = """
ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode
and Globalization support for software applications.
"""
software_license_urls = [
'https://raw.githubusercontent.com/unicode-org/icu/release-%s/icu4c/LICENSE' % '-'.join(version.split('.'))
]
toolchain = {'name': 'cpeGNU', 'version': '23.12'}
toolchainopts = {'pic': True}
# https://github.com/unicode-org/icu/releases/download/release-64-2/icu4c-64_2-src.tgz
source_urls = ['https://github.com/unicode-org/icu/releases/download/release-%(version_major)s-%(version_minor)s']
sources = ['icu4c-%(version_major)s_%(version_minor)s-src.tgz']
checksums = ['818a80712ed3caacd9b652305e01afc7fa167e6f2e94996da44b90c2ab604ce1']
builddependencies = [ # Create a reproducible build environment.
('buildtools', '%(toolchain_version)s', '', True),
]
start_dir = 'source'
# 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
postinstallcmds = [
'mkdir -p %(installdir)s/share/licenses/%(name)s',
'cp ../LICENSE %(installdir)s/share/licenses/%(name)s',
]
sanity_check_paths = {
'files': ['lib/libicu%s.%s' % (x, SHLIB_EXT) for x in ['data', 'i18n', 'io', 'test', 'tu', 'uc']] +
[f'share/licenses/{name}/LICENSE'],
'dirs': ['bin', 'include/unicode', 'share/icu', 'share/man'],
}
# Unfortunately the command line arguments are inconsistent and broken. Some packages mention
# -V or --version in the help but it turns out that that option does not work, some produce
# exit code 0 when using -h, but two command produceded exit code 1.
sanity_check_commands = [
'icuinfo',
'icu-config --version',
'icuexportdata --version',
'makeconv --version',
'derb --version',
'uconv --version',
'genbrk -h',
'gencfu -h',
'gencnval -h',
'gendict -h',
]
moduleclass = 'lib'