Skip to content

[Xerces-C++] [package list]

Xerces-C++/3.2.5-cpeGNU-23.09 (Xerces-C++-3.2.5-cpeGNU-23.09.eb)

Install with the EasyBuild-user module:

eb Xerces-C++-3.2.5-cpeGNU-23.09.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider Xerces-C++/3.2.5-cpeGNU-23.09.

EasyConfig:

easyblock = 'CMakeMake'

local_cURL_version =         '8.0.1'         # https://curl.haxx.se/download/

local_Xerces_version =       '3.2.5'         # https://xerces.apache.org/xerces-c/releases.html

name =    'Xerces-C++'
version = local_Xerces_version

homepage = 'https://xerces.apache.org/xerces-c/'

whatis = [
    'Description: Xerces-C++ is a validating XML parser written in a portable subset of C++.'    
]

description = """
Xerces-C++ is a validating XML parser written in a portable
subset of C++. Xerces-C++ makes it easy to give your application the ability to
read and write XML data. A shared library is provided for parsing, generating,
manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs.
"""

toolchain = {'name': 'cpeGNU', 'version': '23.09'}

source_urls = ['https://archive.apache.org/dist/xerces/c/%(version_major)s/sources/']
sources =     ['xerces-c-%(version)s.tar.gz']
checksums =   ['545cfcce6c4e755207bd1f27e319241e50e37c0c27250f11cda116018f1ef0f5']

builddependencies = [
    ('buildtools', '%(toolchain_version)s', '', True), # For CMake
]

dependencies = [
    ('cURL', local_cURL_version),
]

configopts = '-DCMAKE_INSTALL_LIBDIR=lib '

runtest = 'test'

postinstallcmds = [
    'cd ../xerces-c-%(version)s && mkdir -p %(installdir)s/share/licenses/%(name)s && cp LICENSE NOTICE CREDITS README %(installdir)s/share/licenses/%(name)s',
]

sanity_check_paths = {
    'files': ['bin/XInclude',
              'include/xercesc/xinclude/XIncludeUtils.hpp',
              'lib/libxerces-c-3.2.%s' % SHLIB_EXT],
    'dirs':  ['bin', 'include', 'lib']
}

# Note that there are several commands in the bin subdirectory, but none of them
# has a good test option. --version is not known and -h returns help but also an
# error return code.

moduleclass = 'lib'

[Xerces-C++] [package list]