easyblock = 'ConfigureMake'

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

homepage = 'https://wiki.gnome.org/GObjectIntrospection/'
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': 'intel', 'version': '2018'}

source_urls = [FTPGNOME_SOURCE]
sources = [SOURCELOWER_TAR_XZ]
checksums = ['9fc6d1ebce5ad98942cb21e2fe8dd67b722dcc01981840632a1b233f7d0e2c1e']

dependencies = [
    ('Python', '2.7.13'),
    ('GLib', '2.52.0'),
    ('libffi', '3.2.1'),
]

builddependencies = [
    ('Autotools', '20170619'),
    ('flex', '2.6.4'),
    ('Bison', '2.7'),
    ('cairo', '1.14.8'),
    ('pkg-config', '0.29.2'),
]

preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true "

# avoid using hard-coded path to 'python' in shebang of scripts
buildopts = "PYTHON=python"

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

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

moduleclass = 'devel'