LittleCMS/2.19.1-cpeCray-26.03 (LittleCMS-2.19.1-cpeCray-26.03.eb)
To access module help and find out for which stacks and partitions the module is
installed, use module spider LittleCMS/2.19.1-cpeCray-26.03.
EasyConfig:
easyblock = 'ConfigureMake'
local_libjpegturbo_version = '3.2.0' # https://github.com/libjpeg-turbo/libjpeg-turbo/releases
local_libtiff_version = '4.7.2' # https://download.osgeo.org/libtiff/
local_zlib_version = '2.3.3' # https://github.com/zlib-ng/zlib-ng/releases
local_LittleCMS_version = '2.19.1' # https://sourceforge.net/projects/lcms/files/lcms/
name = 'LittleCMS'
version = local_LittleCMS_version
homepage = 'https://www.littlecms.com/'
whatis = [
'Description: LittleCMS or lcms2 is a small-footprint color management engine'
]
description = """
Little CMS intends to be an OPEN SOURCE small-footprint color management engine,
with special focus on accuracy and performance.
"""
toolchain = {'name': 'cpeCray', 'version': '26.03'}
# https://sourceforge.net/projects/lcms/files/lcms/2.19.1/lcms2-2.19.1.tar.gz/download
source_urls = ['https://sourceforge.net/projects/lcms/files/lcms/%(version)s/']
sources = ['lcms2-%(version)s.tar.gz']
checksums = ['bfc54f7bab59fbc921012014a8032e4cba4abd46db47d46b76416a8c0b2815c8']
build_deps = [
('buildtools', '%(toolchain_version)s', '', SYSTEM),
]
deps = [ # Based on docs, not EasyBuilders EasyConfig.
('zlib', local_zlib_version),
('libjpeg-turbo', local_libjpegturbo_version),
('LibTIFF', local_libtiff_version),
]
# Doesn't need MPI, ROCm or BLAS, and module unload never fails so this is safe.
pre_configure_opts = 'module unload cray-libsci cray-mpich rocm xpmem && '
pre_install_opts = pre_test_opts = pre_build_opts = pre_configure_opts
post_install_cmds = [
'mkdir -p %(installdir)s/share/licenses/%(name)s',
'cp AUTHORS ChangeLog LICENSE README.md SECURITY.md %(installdir)s/share/licenses/%(name)s',
]
sanity_check_paths = {
'files': ['bin/jpgicc', 'bin/linkicc', 'bin/psicc', 'bin/transicc', 'include/lcms2.h', 'include/lcms2_plugin.h',
'lib/liblcms2.a', 'lib/liblcms2.%s' % SHLIB_EXT, 'lib/pkgconfig/lcms2.pc',
'share/licenses/%(name)s/LICENSE'],
'dirs': ['share/man'],
}
local_reported_version = '.'.join( local_LittleCMS_version.split('.')[:2] )
sanity_check_cmds = [ # No easy test on the executables themselves though...
f'pkg-config --modversion lcms2 | grep -q {local_reported_version}',
'pkg-config --libs lcms2 | grep -q llcms2',
f'jpgicc 2>&1 | grep -q "LittleCMS {local_reported_version}"',
f'linkicc 2>&1 | grep -q "LittleCMS {local_reported_version}"',
f'psicc 2>&1 | grep -q "LittleCMS {local_reported_version}"',
f'tificc 2>&1 | grep -q "LittleCMS {local_reported_version}"',
f'transicc 2>&1 | grep -q "LittleCMS {local_reported_version}"',
]
env_mod_category = 'vis'