easyblock = 'ConfigureMake'

name = 'GObject-Introspection'
version = '1.54.1'
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': 'foss', 'version': '2018b'}

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

builddependencies = [
    ('Autotools', '20180311'),
    ('flex', '2.6.4'),
    ('Bison', '3.0.5'),
    ('cairo', '1.14.12'),
    ('pkg-config', '0.29.2'),
]

dependencies = [
    ('Python', '3.6.6'),
    ('util-linux', '2.32'),
    ('GLib', '2.54.3'),
    ('libffi', '3.2.1'),
]

preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true PYTHON=python3"

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

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'
