libxml2/2.15.3-cpeAOCC-26.03 (libxml2-2.15.3-cpeAOCC-26.03.eb)
To access module help and find out for which stacks and partitions the module is
installed, use module spider libxml2/2.15.3-cpeAOCC-26.03.
EasyConfig:
# contributed by Luca Marsella (CSCS)
easyblock = 'ConfigureMake'
local_ICU_version = '78.3' # http://site.icu-project.org/home
local_zlib_version = '2.3.3' # https://github.com/zlib-ng/zlib-ng/releases
local_libxml2_version = '2.15.3' # http://xmlsoft.org/sources/
name = 'libxml2'
version = local_libxml2_version
homepage = 'http://xmlsoft.org/'
whatis = [
'The XML C parcer and toolkit of Gnome, but usable outside of the Gnome platform also',
'This module provides command line tools and static and shared libraries',
]
description = """
Libxml2 is the XML C parser and toolkit developed for the Gnome project (but
usable outside of the Gnome platform), it is free software available under the
MIT License. XML itself is a metalanguage to design markup languages, i.e. text
language where semantic and structure are added to the content using extra
"markup" information enclosed between angle brackets. HTML is the most
well-known markup language. Though the library is written in C a variety of
language bindings make it available in other environments.
This module provides command line tools and static and shared libraries.
"""
usage = """
The module provides a number of command line tools
+ xmlcatalog: Parse and manipulate XML or SGML catalog files
+ xmllint: Comand-line XML parser
+ xml-config: Provides information about the installed version of the library
xmlcatalog and xmllint also support --help
The library API is documented on the libxml website.
"""
doc_urls = [
'Web-based documentation: http://xmlsoft.org/html/index.html',
'Man pages for the command line tools and libxml',
]
software_license_urls = [
f'https://gitlab.gnome.org/GNOME/libxml2/-/blob/v{version}/Copyright?ref_type=tags',
]
toolchain = {'name': 'cpeAOCC', 'version': '26.03'}
toolchain_opts = {'pic': True}
# https://download.gnome.org/sources/libxml2/2.15/libxml2-2.15.3.tar.xz
source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major)s.%(version_minor)s/']
sources = [SOURCELOWER_TAR_XZ]
checksums = ['78262a6e7ac170d6528ebfe2efccdf220191a5af6a6cd61ea4a9a9a5042c7a07']
deps = [
('ICU', local_ICU_version),
('zlib', local_zlib_version),
]
# Doesn't need MPI, ROCm or BLAS, and module unload never fails so this is safe.
pre_configure_opts = 'module unload cray-libsci cray-mpich rocm xpmem && '
pre_build_opts = pre_configure_opts
configure_opts = 'CC="$CC" CXX="$CXX" --enable-static --enable-shared --with-pic --without-python --with-zlib --with-icu'
post_install_cmds = [
'mkdir -p %(installdir)s/share/licenses/%(name)s',
'cp Copyright NEWS README.md %(installdir)s/share/licenses/%(name)s',
]
sanity_check_paths = {
'files': [('lib/%(name)s.a', 'lib64/%(name)s.a'), ('lib/%(name)s.so', 'lib64/%(name)s.so'),
f'share/licenses/{name}/Copyright'],
'dirs': ['bin', 'include/%(name)s/libxml'],
}
sanity_check_cmds = [
'xmlcatalog -v',
'xmllint --version',
'xml2-config --help',
'pkg-config --libs libxml-2.0',
]
env_mod_category = 'lib'