libreadline/8.2-cpeAOCC-23.12 (libreadline-8.2-cpeAOCC-23.12.eb)
To access module help and find out for which stacks and partitions the module is
installed, use module spider libreadline/8.2-cpeAOCC-23.12
.
EasyConfig:
# contributed by Luca Marsella (CSCS)
easyblock = 'ConfigureMake'
local_libreadline_version = '8.2' # https://ftp.gnu.org/pub/gnu/readline/
local_ncurses_version = '6.4' # https://ftp.gnu.org/pub/gnu/ncurses/
name = 'libreadline'
version = local_libreadline_version
homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html'
whatis = [
'Description: GNU readline library for command line editing',
'This module provides static and shared libraries'
]
description = """
The GNU Readline library provides a set of functions for use by applications
that allow users to edit command lines as they are typed in. Both Emacs and vi
editing modes are available. The Readline library includes additional functions
to maintain a list of previously-entered command lines, to recall and perhaps
reedit those lines, and perform csh-like history expansion on previous commands.
"""
usage = """
Documentation is available through man pages after loading the module:
man 3 readline
man 3 history
The info tool is also supported.
"""
docurls = [
'Web-based readline user interface documentation: https://tiswww.cwru.edu/php/chet/readline/rluserman.html',
'Web-based libreadline documentation: https://tiswww.cwru.edu/php/chet/readline/readline.html',
'Web-based libhistory documentation: https://tiswww.cwru.edu/php/chet/readline/history.html',
'Man pages in section 3 for readline and history, and texinfo support',
]
software_license_urls = [
'https://www.gnu.org/licenses/gpl-3.0.html',
]
toolchain = {'name': 'cpeAOCC', 'version': '23.12'}
toolchainopts = {'pic': True}
source_urls = ['http://ftp.gnu.org/gnu/readline']
sources = ['readline-%(version)s.tar.gz']
checksums = ['3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35']
builddependencies = [ # Create a reproducible build environment.
('buildtools', '%(toolchain_version)s', '', True),
]
dependencies = [
('ncurses', local_ncurses_version),
]
# 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
# for the termcap symbols, use EB ncurses
buildopts = "SHLIB_LIBS='-lncurses'"
postinstallcmds = [
'mkdir -p %(installdir)s/share/licenses/%(name)s',
'cp CHANGELOG CHANGES COPYING NEWS README USAGE %(installdir)s/share/licenses/%(name)s',
]
sanity_check_paths = {
'files': ['lib/libreadline.a', 'lib/libhistory.a'] +
['include/readline/%s' % x
for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h',
'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']] +
[f'share/licenses/{name}/COPYING'],
'dirs': [],
}
moduleclass = 'lib'