Skip to content

[gc] [package list]

gc/8.0.4-cpeGNU-21.06 (gc-8.0.4-cpeGNU-21.06.eb)

This software is archived in the LUMI-SoftwareStack GitHub repository as easybuild/easyconfigs/__archive__/g/gc/gc-8.0.4-cpeGNU-21.06.eb. The corresponding module would be gc/8.0.4-cpeGNU-21.06.

easyblock = 'ConfigureMake'

local_gc_version =           '8.0.4'         # http://hboehm.info/gc/gc_source/
local_libatomic_version =    '7.6.10'        # https://github.com/ivmai/libatomic_ops/releases

name =    'gc'
version = local_gc_version

homepage = 'http://hboehm.info/gc/'
whatis = [
    "Description: gc is the Boehm-Demers-Weiser conservative garbage collector, a garbage collecting replacement for C malloc or C++ new",
    "This module provides static and shared libraries and header files"
]

description = """
The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage
collecting replacement for C malloc or C++ new.
"""

docpaths = [
    'share/doc/gc'
]

toolchain =     {'name': 'cpeGNU', 'version': '21.06'}
toolchainopts = {'pic': True}

source_urls = [
    'https://github.com/ivmai/bdwgc/releases/download/v%(version)s/',  # preferred for gc-%(version)s.tar.gz
    'https://hboehm.info/gc/gc_source/',  # alternate for gc-%(version)s.tar.gz
    'https://github.com/ivmai/libatomic_ops/releases/download/v%s/' % local_libatomic_version,
]
sources = [
    SOURCE_TAR_GZ,
    'libatomic_ops-%s.tar.gz' % local_libatomic_version,
]
checksums = [
    '436a0ddc67b1ac0b0405b61a9675bca9e075c8156f4debd1d06f3a56c7cd289d',  # gc-8.0.4.tar.gz
    '587edf60817f56daf1e1ab38a4b3c729b8e846ff67b4f62a6157183708f099af',  # libatomic_ops-7.6.10.tar.gz
]

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

preconfigopts = "ln -s %(builddir)s/libatomic_ops*/ libatomic_ops && "

configopts = '--enable-static --enable-threads=posix'

sanity_check_paths = {
    'files': ['lib/lib%s.%s' % (x, y) for x in [ 'gc', 'cord']  for y in [ 'a', 'la', SHLIB_EXT]] +
             ['include/gc.h', 'lib/pkgconfig/bdw-gc.pc'],
    'dirs':  ['include/gc', 'share'],
}

sanity_check_commands = [
    'pkg-config --libs bdw-gc'
]

moduleclass = 'lib'

[gc] [package list]