easyblock = 'MesonNinja'

name = 'gtkmm3'
version = '3.24.9'

homepage = 'https://www.gtkmm.org/'
description = """gtkmm3 is the official C++ interface for GTK3, providing C++ bindings
for GTK, GDK, Pango, ATK, and Glib."""

toolchain = {'name': 'foss', 'version': '2024a'}

source_urls = ['https://download.gnome.org/sources/gtkmm/3.24/']
sources = [f'gtkmm-{version}.tar.xz']

checksums = [
    '30d5bfe404571ce566a8e938c8bac17576420eb508f1e257837da63f14ad44ce',
]

builddependencies = [
    ('Meson', '1.4.0'),
    ('Ninja', '1.12.1'),
    ('Doxygen', '1.11.0'),
    ('M4', '1.4.19'),
    ('CMake', '3.29.3'),
    ('pkg-config', '0.29.2'),
    ('Python', '3.12.3'),
]

dependencies = [
    ('GTK3', '3.24.42'),
    ('GLib', '2.80.4'),
    ('GLibmm', '2.80.1'),
    ('libsigc++', '3.6.0'),
    ('mm-common', '1.0.6'),
    ('pangomm', '2.46.4'),
    ('atkmm', '2.28.4'),
    ('cairomm', '1.16.2'),
]

configopts = ['-Dbuildtype=release']

prebuildopts = "export XML_CATALOG_FILES='/etc/xml/catalog' && "

runtest = False

sanity_check_paths = {
    'files': [
        'include/gtkmm-3.0/gtkmm.h',
    ],
    'dirs': [
        'lib/pkgconfig',
        'lib',
    ],
}

moduleclass = 'tools'
