Skip to content

[JasPer] [package list]

JasPer/4.0.0-cpeCray-23.12 (JasPer-4.0.0-cpeCray-23.12.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider JasPer/4.0.0-cpeCray-23.12.

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 = '2.1.5.1'       # https://github.com/libjpeg-turbo/libjpeg-turbo/releases
local_JasPer_version =       '4.0.0'         # 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.
"""

docurls = [
    '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': 'cpeCray', 'version': '23.12'}
toolchainopts = {'pic': True}

github_account = 'jasper-software'
sources = {
    'download_filename': 'version-%(version)s.tar.gz',
    'filename':          SOURCELOWER_TAR_GZ,
    'source_urls':       [GITHUB_SOURCE]
}
checksums = ['977c4c2e4210f4e37313cd2232d99e73d57ab561917b3c060bcdd5e83a0a13f1']

builddependencies = [ # Create a reproducible build environment.
    ('buildtools', '%(toolchain_version)s', '', True),
]

dependencies = [
    ('libjpeg-turbo', local_libjpegturbo_version),
]

separate_build_dir = True

# 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

local_configopts  = '-DJAS_ENABLE_DOC=0 '  # No PDFLaTeX on our systems.
local_configopts += '-DJAS_ENABLE_OPENGL=0 '
local_configopts += '-DJAS_ENABLE_LIBJPEG=1 '
# Checked the other options, they were mostly for debugging.

configopts = [
    f'-DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_LIBDIR=lib {local_configopts}',    
    f'-DBUILD_SHARED_LIBS=ON  -DCMAKE_INSTALL_LIBDIR=lib {local_configopts}',   
]

postinstallcmds = [
    '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_commands = [
    'jasper --version',
    'imgcmp --version',
    'imginfo --version',
    'pkg-config --libs jasper',
]

moduleclass = 'vis'

[JasPer] [package list]