Skip to content

[LittleCMS] [package list]

LittleCMS/2.19.1-cpeAMD-26.03 (LittleCMS-2.19.1-cpeAMD-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-cpeAMD-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': 'cpeAMD', '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 or BLAS, and module unload never fails so this is safe.
pre_configure_opts = 'module unload cray-libsci cray-mpich 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'

[LittleCMS] [package list]