Skip to content

[snappy] [package list]

snappy/1.1.9-cpeAOCC-21.12 (snappy-1.1.9-cpeAOCC-21.12.eb)

This software is archived in the LUMI-SoftwareStack GitHub repository as easybuild/easyconfigs/__archive__/s/snappy/snappy-1.1.9-cpeAOCC-21.12.eb. The corresponding module would be snappy/1.1.9-cpeAOCC-21.12.

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, problems with 1.1.9
local_zlib_version =             '1.2.11'        # 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.
"""

toolchain = {'name': 'cpeAOCC', 'version': '21.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

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'

sanity_check_paths = {
    'files': ['lib/libsnappy.a', 'lib/libsnappy.%s' % SHLIB_EXT, 'include/snappy.h'],
    'dirs':  ['lib/cmake/Snappy']
}

moduleclass = 'lib'

[snappy] [package list]