Skip to content

[HarfBuzz] [package list]

HarfBuzz/4.2.1-cpeCray-22.06 (HarfBuzz-4.2.1-cpeCray-22.06.eb)

This software is archived in the LUMI-SoftwareStack GitHub repository as easybuild/easyconfigs/__archive__/h/HarfBuzz/HarfBuzz-4.2.1-cpeCray-22.06.eb. The corresponding module would be HarfBuzz/4.2.1-cpeCray-22.06.

# Based on the easyduilders recipe.
# Adapted by Kurt Lust (kurt.lust@uantwerpen.be) for the LUMI consortium.
easyblock = 'ConfigureMake'

local_cairo_version =        '1.17.4'        # https://www.cairographics.org/
local_GLib_version =         '2.73.0'        # https://ftp.gnome.org/pub/GNOME/sources/glib/
local_ICU_version =          '71.1'          # http://site.icu-project.org/home
local_freetype_version =     '2.12.1'        # https://download.savannah.gnu.org/releases/freetype/
local_GObject_version =      '1.72.0'        # https://github.com/GNOME/gobject-introspection/releases

local_craypython_version =  '3.9.12.1'

local_HarfBuzz_version =     '4.2.1'          # https://www.freedesktop.org/software/harfbuzz/release/

local_craypython_maj_min = '.'.join( local_craypython_version.split('.')[:2] )

name =    'HarfBuzz'
version = local_HarfBuzz_version

homepage = 'http://www.freedesktop.org/wiki/Software/HarfBuzz'

whatis = [
    'Description: HarfBuzz is an OpenType text shaping engine',
    'This module provides the command line tools and static and shared libraries'
]

description = """
HarfBuzz is an OpenType text shaping engine.

The current HarfBuzz codebase, formerly known as harfbuzz-ng, is versioned 1.x.x
and is stable and under active maintenance. This is what is used in latest
versions of Firefox, GNOME, ChromeOS, Chrome, LibreOffice, XeTeX, Android, and
KDE, among other places.

This module provides the command line tools and static and shared libraries.
"""

docpaths = [
    'share/gtk-doc/html/harfbuzz',
]

toolchain = {'name': 'cpeCray', 'version': '22.06'}

# https://github.com/harfbuzz/harfbuzz/releases/download/4.2.1/harfbuzz-4.2.1.tar.xz
source_urls = ['https://github.com/harfbuzz/harfbuzz/releases/download/%(version)s']
sources =     [SOURCELOWER_TAR_XZ]
checksums =   ['bd17916513829aeff961359a5ccebba6de2f4bf37a91faee3ac29c120e3d7ee1']

dependencies = [
    ('GLib',     local_GLib_version),
    ('ICU',      local_ICU_version),
    ('cairo',    local_cairo_version),
    ('freetype', local_freetype_version),
]

builddependencies = [
    ('buildtools',            '%(toolchain_version)s', '', True),
    ('GObject-Introspection', local_GObject_version,   '-cray-python' + local_craypython_maj_min),
]

#preconfigopts = "./autogen.sh && "
configopts = "--enable-introspection=yes --with-gobject=yes --enable-static --enable-shared --with-cairo "

#parallel = 1

sanity_check_paths = {
    'files': ['lib/libharfbuzz.%s' % SHLIB_EXT, 'bin/hb-view'],
    'dirs':  []
}

sanity_check_commands = [
    'hb-ot-shape-closure --version',
    'hb-shape --version',
    'hb-subset --version',
    'hb-view --version',
    'pkg-config --libs harfbuzz-gobject',
    'pkg-config --libs harfbuzz-icu',
    'pkg-config --libs harfbuzz',
    'pkg-config --libs harfbuzz-subset',
]

modextrapaths = {
    'GI_TYPELIB_PATH': 'share',
    'XDG_DATA_DIRS':   'share',
}

moduleclass = 'vis'

[HarfBuzz] [package list]