Skip to content

[libaec] [package list]

libaec/1.0.6-cpeAOCC-22.06 (libaec-1.0.6-cpeAOCC-22.06.eb)

This software is archived in the LUMI-SoftwareStack GitHub repository as easybuild/easyconfigs/__archive__/l/libaec/libaec-1.0.6-cpeAOCC-22.06.eb. The corresponding module would be libaec/1.0.6-cpeAOCC-22.06.

# Contributed by Matthias Kraushaar and Luca Marsella (CSCS)
# Modified for use on LUMI by Kurt Lust (kurt.lust@uantwerpen.be)
# for the LUMI consortium.
easyblock = 'CMakeMake'

local_libaec_version =       '1.0.6'         # https://gitlab.dkrz.de/k202009/libaec/-/tags

name =    'libaec'
version = local_libaec_version

homepage = 'https://gitlab.dkrz.de/k202009/libaec'

whatis = [
    'Description: libaec - Adaptive Entropy Coding Library (lossless compression)'
]

description = """
Libaec, the Adaptive Entropy Coding library,  provides fast lossless compression
of 1 up to 32 bit wide signed or unsigned integers (samples). The library
achieves best results for low entropy data as often encountered in space imaging
instrument data or numerical model output from weather or climate simulations. While
floating point representations are not directly supported, they can also be
efficiently coded by grouping exponents and mantissa.


*****************  SZIP compatibility ***********************
Libaec includes a free drop-in replacement for the SZIP library (http://www.hdfgroup.org/doc_resource/SZIP).
Just replace SZIP's shared library libsz.so* with libaec.so* and libsz.so* from libaec.
Code which is dynamically linked with SZIP such as HDF5 should continue to work with libaec.
No re-compilation required. HDF5 files which contain SZIP encoded data can be decoded by HDF5
using libaec and vice versa.
"""

docurls = [
    'man page for aec in section 1',
]

toolchain = {'name': 'cpeAOCC', 'version': '22.06'}
toolchainopts = {'pic': 'True'}

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

# https://gitlab.dkrz.de/k202009/libaec/-/archive/v1.0.6/libaec-v1.0.6.tar.bz2
sources =     [SOURCELOWER_TAR_BZ2]
source_urls = ['https://gitlab.dkrz.de/k202009/libaec/-/archive/v%(version)s/']
checksums =   ['9b89db38ced9d7c9ddb172236f87ba8e8dbb9840a88f43ee9e1def410f1413ac']

configopts = '-DAEC_FUZZING=OFF ' # OFF is the default, this is just to stress we use the default configuration.

sanity_check_paths = {
    'files': ['bin/aec'] +
             ['lib/lib%s.%s' % (x, y) for x in ['aec', 'sz'] for y in ['a', SHLIB_EXT]] +
             ['share/man/man1/aec.1'],
    'dirs':  ['lib', 'include'],
}

sanity_check_commands = [
    'aec -h',
]

moduleclass = 'data'

[libaec] [package list]