JasPer/4.2.8-cpeAMD-25.09 (JasPer-4.2.8-cpeAMD-25.09.eb)
To access module help and find out for which stacks and partitions the module is
installed, use module spider JasPer/4.2.8-cpeAMD-25.09.
EasyConfig:
# NOTE: Be careful when building this on a node that has OpenGL support.
# CMake configure process detects this so it may use those libraries in
# in that case.
easyblock = 'CMakeMake'
local_libjpegturbo_version = '3.1.3' # https://github.com/libjpeg-turbo/libjpeg-turbo/releases
local_JasPer_version = '4.2.8' # https://github.com/jasper-software/jasper/releases
name = 'JasPer'
version = local_JasPer_version
homepage = 'http://www.ece.uvic.ca/~frodo/jasper/'
whatis = [
'Description: Open-source software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard (i.e., ISO/IEC 15444-1)',
'The module contains both command line tools and shared libraries.',
]
description = """
The JasPer Project is an open-source initiative to provide a free software-based
reference implementation of the codec specified in the JPEG-2000 Part-1 standard
(i.e., ISO/IEC 15444-1).
The JasPer software is written in the C programming language.
The JasPer software has been included in the JPEG-2000 Part-5 standard (i.e.,
ISO/IEC 15444-5), as an official reference implementation of the JPEG-2000
Part-1 codec. This software has also been incorporated into numerous other
software projects (some commercial and some non-commercial).
"""
usage = """
The following command line utilities support the --help option:
+ imgcmp: Image comparison utility
+ imginfo: Displays information about an image
+ jasper: File format converter specialized in JPEG-2000 encoding
More information on the library is available in the Software Reference Manual.
"""
doc_urls = [
'JasPer Software Reference Manual: http://www.ece.uvic.ca/~frodo/jasper/jasper.pdf',
'Man pages and --help option for the command line tools imgcmp, imginfo and jasper',
]
software_license_urls = [
f'https://github.com/jasper-software/jasper/blob/version-{version}/LICENSE.txt',
]
toolchain = {'name': 'cpeAMD', 'version': '25.09'}
toolchain_opts = {'pic': True}
# https://github.com/jasper-software/jasper/archive/refs/tags/version-4.2.8.tar.gz
github_account = 'jasper-software'
sources = {
'download_filename': 'version-%(version)s.tar.gz',
'filename': SOURCELOWER_TAR_GZ,
'source_urls': [GITHUB_SOURCE]
}
checksums = ['987e8c8b4afcff87553833b6f0fa255b5556a0ecc617b45ee1882e10c1b5ec14']
build_deps = [ # Create a reproducible build environment.
('buildtools', '%(toolchain_version)s', '', True),
]
deps = [
('libjpeg-turbo', local_libjpegturbo_version),
]
separate_build_dir = True
# 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_build_opts = pre_configure_opts
local_configure_opts = '-DJAS_ENABLE_DOC=0 ' # No PDFLaTeX on our systems.
local_configure_opts += '-DJAS_ENABLE_OPENGL=0 '
local_configure_opts += '-DJAS_ENABLE_LIBJPEG=1 '
# Checked the other options, they were mostly for debugging.
configure_opts = [
f'-DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_LIBDIR=lib {local_configure_opts}',
f'-DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_LIBDIR=lib {local_configure_opts}',
]
post_install_cmds = [
'mkdir -p %(installdir)s/share/licenses/%(name)s',
'cd ../%(namelower)s-version-%(version)s && cp COPYRIGHT.txt LICENSE.txt NEWS.txt README.md %(installdir)s/share/licenses/%(name)s',
]
sanity_check_paths = {
'files': ['lib/libjasper.%s' % x for x in ['a', SHLIB_EXT]] +
['bin/jasper', 'bin/imgcmp', 'bin/imginfo', 'include/jasper/jasper.h',
f'share/licenses/{name}/LICENSE.txt'],
'dirs' : ["share/man/man1"],
}
sanity_check_cmds = [
'jasper --version',
'imgcmp --version',
'imginfo --version',
'pkg-config --libs jasper',
]
env_mod_category = 'vis'