snappy/1.1.9-cpeGNU-23.12 (snappy-1.1.9-cpeGNU-23.12.eb)
To access module help and find out for which stacks and partitions the module is
installed, use module spider snappy/1.1.9-cpeGNU-23.12
.
EasyConfig:
easyblock = 'CMakeMake'
local_LZO_version = '2.10' # http://www.oberhumer.com/opensource/lzo/#download
local_snappy_version = '1.1.9' # https://github.com/google/snappy/releases as there are compile problems with 1.1.8
local_zlib_version = '1.3.1' # https://zlib.net/
name = 'snappy'
version = local_snappy_version
homepage = 'https://github.com/google/snappy'
whatis = [
'Description: Snappy is a compression/decompression library aiming for very high speeds and reasonable compression'
]
description = """
Snappy is a compression/decompression library. It does not aim
for maximum compression, or compatibility with any other compression library;
instead, it aims for very high speeds and reasonable compression.
"""
software_license_urls = [
f'https://github.com/google/snappy/blob/{version}/COPYING',
]
toolchain = {'name': 'cpeGNU', 'version': '23.12'}
toolchainopts = {'pic': True} # Doesn't make sense here but needed to imitate the behaviour of the baselibs build.
sources = [{
'download_filename': '%(version)s.tar.gz',
'filename': SOURCE_TAR_GZ,
'source_urls': ['https://github.com/google/snappy/archive/']
}]
patches = ['%(name)s-%(version)s_inline-functions.patch']
checksums = [
'75c1fbb3d618dd3a0483bff0e26d0a92b495bbe5059c8b4f1c962b478b6e06e7', # snappy-1.1.9.tar.gz
'ad79190b274df5ddabf14eddd2bb0d9a091ee7d44e4afde89febf9a8f783fdce', # snappy-1.1.9_inline-functions.patch
]
builddependencies = [
('buildtools', '%(toolchain_version)s', '', True),
]
dependencies = [
('zlib', local_zlib_version),
('LZO', local_LZO_version),
]
# In the Bundle, as of EasyBuild 4.2, it is better to set this to False,
# though it does give a cleaner build procedure when this is set to True...
separate_build_dir = False
# 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_snappy_opts = ' -DSNAPPY_REQUIRE_AVX2=ON -DCMAKE_INSTALL_LIBDIR=lib -DSNAPPY_BUILD_TESTS=OFF -DSNAPPY_BUILD_BENCHMARKS=OFF'
configopts = [
'-DBUILD_SHARED_LIBS=OFF' + local_snappy_opts,
'-DBUILD_SHARED_LIBS=ON' + local_snappy_opts
]
buildopts = 'VERBOSE=1'
postinstallcmds = [
'mkdir -p %(installdir)s/share/licenses/%(name)s',
'cd ../%(namelower)s-%(version)s && cp AUTHORS COPYING NEWS README.md %(installdir)s/share/licenses/%(name)s',
]
sanity_check_paths = {
'files': ['lib/libsnappy.a', 'lib/libsnappy.%s' % SHLIB_EXT, 'include/snappy.h', f'share/licenses/{name}/COPYING'],
'dirs': ['lib/cmake/Snappy']
}
moduleclass = 'lib'