# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4

PortSystem          1.0
PortGroup           active_variants 1.1
PortGroup           gitlab 1.0
PortGroup           meson  1.0

gitlab.instance     https://gitlab.gnome.org

gitlab.setup        GNOME dia ad68cc378b7a187706bc2648c48b44d16fb80819
version             0.98.0-2026-04-25

revision            0

checksums           rmd160  a4bc6c4a516436711e7730e0a98fd29f7dd70f0a \
                    sha256  3ffb212a37a6fa86a469e744af4e1feef92cd9b8f62d999558a44b7bcacfb336 \
                    size    9466018

maintainers         nomaintainer
license             GPL-2+
categories          gnome graphics
description         A diagram creation program.

long_description    Dia is a GTK+ based diagram creation program and is \
                    roughly inspired by the commercial Windows program \
                    'Visio,' though more geared towards informal diagrams \
                    for casual use. It can be used to draw many different \
                    kinds of diagrams and currently has special objects to \
                    help draw entity relationship diagrams, UML diagrams, \
                    flowcharts, network diagrams, and many other diagrams. \
                    It is also possible to add support for new shapes by \
                    writing simple XML files, using a subset of SVG to draw \
                    the shape.

depends_build-append \
                    path:bin/cmake:cmake \
                    path:bin/pkg-config:pkgconfig \
                    port:gettext

depends_lib         port:desktop-file-utils \
                    port:appstream \
                    port:dblatex \
                    port:graphene \
                    port:shared-mime-info \
                    port:libxml2 \
                    port:libxslt \
                    port:gettext-runtime \
                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
                    path:lib/pkgconfig/gdk-pixbuf-2.0.pc:gdk-pixbuf2 \
                    path:lib/pkgconfig/gtk+-3.0.pc:gtk3 \
                    path:lib/pkgconfig/poppler.pc:poppler \
                    path:lib/pkgconfig/pango.pc:pango \
                    path:lib/pkgconfig/cairo.pc:cairo

patchfiles          meson.build.patch

if {${os.platform} eq "darwin" && ${os.major} < 20} {
    set py_vers         3.14
    configure.python    ${prefix}/bin/python${py_vers}
    depends_run-append  port:python[string map {. {}} ${py_vers}]
} else {
    configure.python    /usr/bin/python3
}

post-patch {
    reinplace s/isspecial/char_isspecial/ \
        ${worksrcpath}/objects/GRAFCET/boolequation.c
    reinplace "s|python3|${configure.python}|g" \
        ${worksrcpath}/plug-ins/python/meson.build
}

compiler.cxx_standard     2020

post-destroot {
    delete ${destroot}${prefix}/bin/xml2-config
    delete ${destroot}${prefix}/bin/xmlcatalog
    delete ${destroot}${prefix}/bin/xmllint
    delete ${destroot}${prefix}/include/libxml2
    delete ${destroot}${prefix}/lib/cmake
    delete ${destroot}${prefix}/lib/libxml2.dylib
    delete ${destroot}${prefix}/lib/pkgconfig/libxml-2.0.pc
}

post-activate {
    system "${prefix}/bin/update-mime-database ${prefix}/share/mime"
    system "${prefix}/bin/gtk-update-icon-cache -f -t ${prefix}/share/icons/hicolor"
    system "${prefix}/bin/update-desktop-database ${prefix}/share/applications"
}

variant x11 conflicts quartz {
    require_active_variants gtk3 x11
}

variant quartz conflicts x11 {
    require_active_variants gtk3 quartz
}

if {![variant_isset quartz]} {
    default_variants-append +x11
}

# Gnome bot blocker prevents livecheck.  Use github mirror instead.
livecheck.url       https://github.com/GNOME/dia
livecheck.type      regex
livecheck.regex     currentOid.:.\(\[a-f0-9\]*)
