gdbm/1.20-cpeGNU-21.12 (gdbm-1.20-cpeGNU-21.12.eb)
This software is archived in the LUMI-SoftwareStack GitHub repository as easybuild/easyconfigs/__archive__/g/gdbm/gdbm-1.20-cpeGNU-21.12.eb. The corresponding module would be gdbm/1.20-cpeGNU-21.12.
easyblock = 'ConfigureMake'
local_buildset = '2021n'
local_gcc_version = '11.2.0'
local_binutils_version = '2.34'
local_ncurses_version = '6.2' # https://ftp.gnu.org/pub/gnu/ncurses/
local_libreadline_version = '8.1' # https://ftp.gnu.org/pub/gnu/readline/
local_libiconv_version = '1.16' # https://ftp.gnu.org/pub/gnu/libiconv/
local_gettext_version = '0.21' # https://ftp.gnu.org/pub/gnu/gettext/
local_gdbm_version = '1.20' # https://ftp.gnu.org/gnu/gdbm/
name = 'gdbm'
version = local_gdbm_version
homepage = 'http://puszcza.gnu.org.ua/software/gdbm/'
whatis = [
'Description: GNU dbm is a library of database functions that use extensible hashing and works similar to the standard UNIX dbm functions.',
]
description = """
GNU dbm (or GDBM, for short) is a library of database functions that use
extensible hashing and work similar to the standard UNIX dbm. These routines
are provided to a programmer needing to create and manipulate a hashed
database.
The basic use of GDBM is to store key/data pairs in a data file. Each key
must be unique and each key is paired with only one data item.
The library provides primitives for storing key/data pairs, searching and
retrieving the data by its key and deleting a key along with its data. It
also support sequential iteration over all key/data pairs in a database.
For compatibility with programs using old UNIX dbm function, the package
also provides traditional dbm and ndbm interfaces.
This module provides static and shared liberaries.
"""
docurls = [
'Web-based documentation: http://puszcza.gnu.org.ua/software/gdbm/manual/gdbm.html',
'Support for the info command (info gdbm)',
'man pages for gdbmtool. gdbm_dump and gdbm_load in section 1 and for the API as gdbm in section 3',
]
toolchain = {'name': 'cpeGNU', 'version': '21.12'}
toolchainopts = {'pic': True}
#toolchainopts = {'pic': True, 'precise': True}
# ftp://ftp.gnu.org/gnu/gdbm/gdbm-1.18.1.tar.gz
sources = [SOURCELOWER_TAR_GZ]
source_urls = [GNU_SOURCE]
checksums = ['3aeac05648b3482a10a2da986b9f3a380a29ad650be80b9817a435fb8114a292']
builddependencies = [
('buildtools', '%(toolchain_version)s', '', True),
('libiconv', local_libiconv_version),
('gettext', local_gettext_version), # Really a build dependency? It doesn't seem to link to it.
]
dependencies = [
('ncurses', local_ncurses_version),
('libreadline', local_libreadline_version),
]
# Note there is also libintl but that is part of the GNU C library so we son\'t use our own.
configopts = '--enable-libgdbm-compat --with-libiconv-prefix=$EBROOTLIBICONV'
sanity_check_paths = {
'files': ['lib/libgdbm%s.%s' % (x, y) for x in [ '', '_compat'] for y in ['a', 'la', SHLIB_EXT]] +
['include/%s.h' % x for x in ['dbm', 'gdbm', 'ndbm']] +
['bin/gdbmtool', 'bin/gdbm_dump', 'bin/gdbm_load'],
'dirs': ['share/info', 'share/man', 'share/locale'],
}
sanity_check_commands = [
'gdbmtool -V',
'gdbm_dump -V',
'gdbm_load -V',
]
modextrapaths = {
'INFOPATH' : 'share/info',
}
moduleclass = 'devel'