Skip to content

[fontconfig] [package list]

fontconfig/2.14.2-cpeCray-24.03 (fontconfig-2.14.2-cpeCray-24.03.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider fontconfig/2.14.2-cpeCray-24.03.

EasyConfig:

easyblock = 'ConfigureMake'

local_expat_version =        '2.6.2'         # https://github.com/libexpat/libexpat/releases
local_util_version =         '2.39.3'        # https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/
local_freetype_version =     '2.13.2'        # https://download.savannah.gnu.org/releases/freetype/
local_fontconfig_version =   '2.14.2'        # https://www.freedesktop.org/software/fontconfig/release/

name =    'fontconfig'
version = local_fontconfig_version

homepage = 'http://www.freedesktop.org/software/fontconfig'

whatis = [
    'Description: A library for system-wide font configuration',
    'The module contains a number of command line tools and a shared library',
]

description = """
Fontconfig is a library designed to provide system-wide font configuration,
customization and application access.

The module contains a number of command line tools and a shared library.
"""

software_license_urls = [
    f'https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/{version}/COPYING?ref_type=tags',    
]

toolchain = {'name': 'cpeCray', 'version': '24.03'}
toolchainopts = {'pic': True}

source_urls = ['http://www.freedesktop.org/software/fontconfig/release/']
sources =     [SOURCE_TAR_XZ]
checksums =   ['dba695b57bce15023d2ceedef82062c2b925e51f5d4cc4aef736cf13f60a468b']

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

dependencies = [
    ('expat',      local_expat_version),
    ('util-linux', local_util_version),
    ('freetype',   local_freetype_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
preinstallopts = preconfigopts

configopts = '--disable-docs '

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

sanity_check_paths = {
    'files': ['lib/libfontconfig.%s' % x for x in ['la', SHLIB_EXT]] +
             ['include/fontconfig/%s.h'% x for x in ['fcfreetype', 'fcprivate', 'fontconfig']] +
             ['bin/fc-%s' % x for x in ['cache', 'cat', 'conflist', 'list', 'match', 'pattern', 'query', 'scan', 'validate']] +
             ['lib/pkgconfig/fontconfig.pc', f'share/licenses/{name}/COPYING'],
    'dirs':  []
}

sanity_check_commands = [
    'pkg-config --libs fontconfig',
] + [
    'fc-%s -V' % x for x in ['cache', 'cat', 'conflist', 'list', 'match', 'pattern', 'query', 'scan', 'validate']
]

moduleclass = 'vis'

[fontconfig] [package list]