Skip to content

[libiconv] [package list]

libiconv/1.17-cpeAMD-23.12 (libiconv-1.17-cpeAMD-23.12.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider libiconv/1.17-cpeAMD-23.12.

EasyConfig:

easyblock = 'ConfigureMake'

local_libiconv_version =     '1.17'          # https://ftp.gnu.org/pub/gnu/libiconv/
local_gettext_version =      '0.21.1'        # https://ftp.gnu.org/pub/gnu/gettext/

name =    'libiconv'
version = local_libiconv_version

homepage = 'https://www.gnu.org/software/libiconv'

whatis = [
    'Description: Libiconv converts from one character encoding to another through Unicode conversion'
]

description = """
International text is mostly encoded in Unicode. For historical reasons, however,
it is sometimes still encoded using a language or country dependent character
encoding. With the advent of the internet and the frequent exchange of text across
countries - even the viewing of a web page from a foreign country is a "text
exchange" in this context -, conversions between these encodings have become a
necessity.

In particular, computers with the Windows operating system still operate in locale
with a traditional (limited) character encoding. Some programs, like mailers and
web browsers, must be able to convert between a given text encoding and the user's
encoding. Other programs internally store strings in Unicode, to facilitate internal
processing, and need to convert between internal string representation (Unicode)
and external string representation (a traditional encoding) when they are doing I/O.
GNU libiconv is a conversion library for both kinds of applications.
"""

software_license_urls = [ # No easy way to get files for a specific version on savannah.
    'https://git.savannah.gnu.org/gitweb/?p=libiconv.git;a=blob_plain;f=COPYING.LIB;hb=HEAD',
    'https://git.savannah.gnu.org/gitweb/?p=libiconv.git;a=blob_plain;f=COPYING;hb=HEAD',
]

toolchain = {'name': 'cpeAMD', 'version': '23.12'}
toolchainopts = {'pic': True}

source_urls = [GNU_SOURCE]
sources =     [SOURCE_TAR_GZ]
checksums =   ['8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313']

builddependencies = [
    ('buildtools', '%(toolchain_version)s', '', True),
    ('gettext',    local_gettext_version,  '-minimal'),
]

# 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
preinstallopts = preconfigopts

postinstallcmds = [
    'mkdir -p %(installdir)s/share/licenses/%(name)s',
    'cp AUTHORS ChangeLog COPYING* NOTES README THANKS %(installdir)s/share/licenses/%(name)s',   
]

sanity_check_paths = {
    'files': ['bin/iconv', 'include/iconv.h', 'include/libcharset.h', 'include/localcharset.h',
              'lib/libcharset.a', 'lib/libcharset.%s' % SHLIB_EXT, 'lib/libiconv.%s' % SHLIB_EXT,
              f'share/licenses/{name}/COPYING', f'share/licenses/{name}/COPYING.LIB'],
    'dirs':  ['share'],
}

moduleclass = 'lib'

[libiconv] [package list]