Skip to content

[zstd] [package list]

zstd/1.5.5-cpeGNU-24.03 (zstd-1.5.5-cpeGNU-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-cpeGNU-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': 'cpeGNU', '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'

[zstd] [package list]