zstd/1.5.5-cpeAOCC-24.03 (zstd-1.5.5-cpeAOCC-24.03.eb)
To access module help and find out for which stacks and partitions the module is
installed, use module spider zstd/1.5.5-cpeAOCC-24.03
.
EasyConfig:
# Contributed by Kurt Lust, LUMI project & UAntwerpen
easyblock = 'ConfigureMake'
local_XZ_version = '5.4.4' # https://tukaani.org/xz/
local_zlib_version = '1.3.1' # https://zlib.net/
local_lz4_version = '1.9.4' # https://github.com/lz4/lz4/releases
local_gzip_version = '1.13' # https://ftp.gnu.org/gnu/gzip/
local_zstd_version = '1.5.5' # https://github.com/facebook/zstd/releases
name = 'zstd'
version = local_zstd_version
homepage = 'https://facebook.github.io/zstd'
whatis = [
"Descriptions: zstd provides Zstandard, a real-time compression algorithm providing high compression ratios.",
]
description = """
Zstandard is a real-time compression algorithm, providing high compression
ratios. It offers a very wide range of compression/speed trade-off, while
being backed by a very fast decoder. It also offers a special mode for
small data, called dictionary compression, and can create dictionaries
from any sample set.
"""
software_license_urls = [ # Dual license scheme
f'https://github.com/facebook/zstd/blob/v{version}/LICENSE',
f'https://github.com/facebook/zstd/blob/v{version}/COPYING',
]
toolchain = {'name': 'cpeAOCC', 'version': '24.03'}
toolchainopts = {'pic': True}
sources = [ {
# https://github.com/facebook/zstd/releases/download/v1.5.0/zstd-1.5.0.tar.gz
# https://github.com/facebook/zstd/archive/refs/tags/v1.5.0.tar.gz
'download_filename': 'v%(version)s.tar.gz',
'filename': SOURCELOWER_TAR_GZ,
'source_urls': ['https://github.com/facebook/zstd/archive/']
} ]
checksums = ['98e9c3d949d1b924e28e01eccb7deed865eefebf25c2f21c702e5cd5b63b85e1']
builddependencies = [ # Create a reproducible build environment.
('buildtools', '%(toolchain_version)s', '', True),
]
dependencies = [
('zlib', local_zlib_version),
('gzip', local_gzip_version),
('XZ', local_XZ_version),
('lz4', local_lz4_version),
]
skipsteps = ['configure']
# Doesn't need MPI, ROCm or BLAS, and module unload never fails so this is safe.
prebuildopts = 'module unload cray-libsci cray-mpich rocm xpmem && '
pretestopts = prebuildopts
preinstallopts = prebuildopts
runtest = 'check'
installopts = "PREFIX=%(installdir)s"
postinstallcmds = [
'mkdir -p %(installdir)s/share/licenses/%(name)s',
'cp CHANGELOG COPYING LICENSE README.md %(installdir)s/share/licenses/%(name)s',
]
sanity_check_paths = {
'files': ['bin/zstd', 'lib/libzstd.%s' % SHLIB_EXT, 'include/zstd.h',
f'share/licenses/{name}/LICENSE', f'share/licenses/{name}/COPYING'],
'dirs': ['lib/pkgconfig']
}
sanity_check_commands = [
'zstd --version',
'pkg-config --libs libzstd',
]
moduleclass = 'lib'