Skip to content

[libunistring] [package list]

libunistring/1.1-cpeGNU-23.12 (libunistring-1.1-cpeGNU-23.12.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider libunistring/1.1-cpeGNU-23.12.

EasyConfig:

# Contributed by Kurt Lust, LUMI project & UAntwerpen
easyblock = 'ConfigureMake'

local_libiconv_version =     '1.17'          # https://ftp.gnu.org/pub/gnu/libiconv/
local_libunistring_version = '1.1'           # https://ftp.gnu.org/gnu/libunistring/

name =          'libunistring'
version =       local_libunistring_version

homepage = 'http://www.gnu.org/software/libunistring/'

whatis = [
    'Description: This library provides functions for manipulating Unicode strings and for manipulating C strings according to the Unicode standard.',
    'This module provides static and shared libraries.',
]

description = """
Text files are nowadays usually encoded in Unicode, and may consist of very
different scripts – from Latin letters to Chinese Hanzi –, with many kinds of
special characters – accents, right-to-left writing marks, hyphens, Roman
numbers, and much more. But the POSIX platform APIs for text do not contain
adequate functions for dealing with particular properties of many Unicode
characters. In fact, the POSIX APIs for text have several assumptions at their
base which don't hold for Unicode text.

This library provides functions for manipulating Unicode strings and for
manipulating C strings according to the Unicode standard.
"""

docurls = [
    'Web-based manual: https://www.gnu.org/software/libunistring/manual/libunistring.html',
    'The package supports the info command, start with info libunistring',
]

software_license_urls = [ # From savannah so no easy way to get one for a specific version.
    'https://git.savannah.gnu.org/gitweb/?p=libunistring.git;a=blob_plain;f=README;hb=HEAD',
    'https://git.savannah.gnu.org/gitweb/?p=libunistring.git;a=blob_plain;f=COPYING;hb=HEAD',
    'https://git.savannah.gnu.org/gitweb/?p=libunistring.git;a=blob_plain;f=COPYING.LIB;hb=HEAD',    
]

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

sources =     [SOURCELOWER_TAR_XZ]
source_urls = [GNU_SOURCE]
checksums =   ['827c1eb9cb6e7c738b171745dac0888aa58c5924df2e59239318383de0729b98']

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

dependencies = [
    ('libiconv', local_libiconv_version),
]

parallel = 1

# 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 BUGS ChangeLog COPYING* NEWS README THANKS %(installdir)s/share/licenses/%(name)s',   
]

sanity_check_paths = {
    'files': ['lib/libunistring.a', 'lib/libunistring.%s' % SHLIB_EXT] +
             ['include/uni%s.h' % x for x in ['case', 'conv', 'ctype', 'lbrk', 'name', 'norm',
                                              'stdio', 'str', 'types', 'wbrk', 'width']] +
             [f'share/licenses/{name}/README',f'share/licenses/{name}/COPYING',f'share/licenses/{name}/COPYING.LIB'],
    'dirs':  ['include/unistring'],
}

modextrapaths = {
    'INFOPATH' : 'share/info',
}

moduleclass = 'lib'

[libunistring] [package list]