Skip to content

[ICU] [package list]

ICU/74.1-cpeGNU-24.03 (ICU-74.1-cpeGNU-24.03.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider ICU/74.1-cpeGNU-24.03.

EasyConfig:

easyblock = 'ConfigureMake'

local_ICU_version =          '74.1'          # 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': '24.03'}
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 =   ['86ce8e60681972e60e4dcb2490c697463fcec60dd400a5f9bffba26d0b52b8d0']

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'

[ICU] [package list]