Skip to content

[GObject-Introspection] [package list]

GObject-Introspection/1.71.0-cpeCray-21.12-cray-python3.9 (GObject-Introspection-1.71.0-cpeCray-21.12-cray-python3.9.eb)

This software is archived in the LUMI-SoftwareStack GitHub repository as easybuild/easyconfigs/__archive__/g/GObject-Introspection/GObject-Introspection-1.71.0-cpeCray-21.12-cray-python3.9.eb. The corresponding module would be GObject-Introspection/1.71.0-cpeCray-21.12-cray-python3.9.

# Based on an EasyConfig developed by CSCS
# Adapted by Kurt Lust (kurt.lust@uantwerpen.be) for the LUMI consortium
easyblock = 'MesonNinja'

local_cairo_version =        '1.17.4'        # https://www.cairographics.org/
local_libffi_version =       '3.4.2'         # ftp://sourceware.org/pub/libffi/
local_GLib_version =         '2.69.1'        # https://ftp.gnome.org/pub/GNOME/sources/glib/
local_util_version =         '2.37.1'        # https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/

local_craypython_version =  '3.9.4.2'

local_GObject_version =      '1.71.0'        # https://github.com/GNOME/gobject-introspection/releases

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

name =          'GObject-Introspection'
version =       local_GObject_version
versionsuffix = '-cray-python%s' % local_craypython_maj_min

homepage = 'https://gi.readthedocs.io/en/latest/'

whatis = [
    'Description: GNOME middleware layer between C libraries and language bindings',
    'This module provides the command line utilities and static and shared libraries',
]

description = """
GObject introspection is a middleware layer between C libraries (using GObject)
and language bindings. The C library can be scanned at compile time and generate
a metadata file, in addition to the actual native C library. Then at runtime,
language bindings can read this metadata and automatically provide bindings to
call into the C library.

This module provides the command line tools and static and shared libraries.
It was compiled to use Python 2.7.
"""

docurls = [
    'Web-based documentation: https://developer.gnome.org/gi/',
]

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

source_urls = [FTPGNOME_SOURCE]
sources =     [SOURCELOWER_TAR_XZ]
checksums =   ['555dc3997c2892228543029f58610b83fc1da733e4e3d18e9363d7b5a81164dd']

builddependencies = [
    ('buildtools', '%(toolchain_version)s', '', True),  # For Meson/Ninja, flex, bison
    ('cairo',      local_cairo_version),
]

dependencies = [
    ('cray-python/%s' % local_craypython_version, EXTERNAL_MODULE),
    ('GLib',       local_GLib_version),
    ('libffi',     local_libffi_version),
    ('util-linux', local_util_version),
]

preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true "

sanity_check_paths = {
    'files': ['bin/g-ir-%s' % x for x in ['annotation-tool', 'compiler', 'generate', 'scanner']] +
             ['lib/libgirepository-1.0.' + SHLIB_EXT],
    'dirs':  ['include', 'share']
}

sanity_check_commands = [
    'g-ir-annotation-tool --help',
    'g-ir-compiler --help',
    'g-ir-generate --help',
    'g-ir-inspect --help',
    'g-ir-scanner --help',
    'pkg-config --libs gobject-introspection-1.0',
    'pkg-config --libs gobject-introspection-no-export-1.0',
]

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

moduleclass = 'devel'

[GObject-Introspection] [package list]