# IT4Innovations
# BS 2024

easyblock = 'MesonNinja'

name = 'GObject-Introspection'
version = '1.74.0'
versionsuffix = '-Python-%(pyver)s'

homepage = 'https://gi.readthedocs.io/en/latest/'
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."""

toolchain = {'name': 'GCCcore', 'version': '12.2.0'}

source_urls = [FTPGNOME_SOURCE]
sources = [SOURCELOWER_TAR_XZ]
checksums = ['eac05a63091c81adfdc8ef34820bcc7e7778c5b9e34734d344fc9e69ddf4fc82']

builddependencies = [
    ('binutils', '2.39'),
    ('pkg-config', '0.29.2'),
    ('Meson', '0.64.1', '-Python-3.10.8'),
    ('Ninja', '1.11.1'),
    ('flex', '2.6.4'),
    ('Bison', '3.8.2'),
    ('cairo', '1.17.4'),
]

dependencies = [
    ('Python', '3.10.8'),
    ('GLib', '2.75.0'),
    ('libffi', '3.4.4'),
    ('util-linux', '2.38.1'),
]

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']
}

moduleclass = 'devel'
