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

PortSystem          1.0

name                vala
conflicts           vala-devel
set my_name         vala
version             0.56.17
revision            1

categories          lang
license             LGPL-2.1+
maintainers         {mascguy @mascguy} openmaintainer

description         Compiler for the GObject type system
long_description    Vala is a new programming language that aims to bring modern programming \
                    language features to GNOME developers without imposing any additional \
                    runtime requirements and without using a different ABI compared to \
                    applications and libraries written in C.
homepage            https://wiki.gnome.org/Projects/Vala

set branch          [join [lrange [split ${version} .] 0 1] .]
master_sites        gnome:sources/${my_name}/${branch}/
dist_subdir         ${my_name}
distname            ${my_name}-${version}
use_xz              yes

checksums           rmd160  577e43908f8f73da39854c65cbd3e8900b0e4c63 \
                    sha256  26100c4e4ef0049c619275f140d97cf565883d00c7543c82bcce5a426934ed6a \
                    size    4016576

if { [string match *clang* ${configure.compiler}] } {
    # Quiet warnings
    configure.cflags-append \
                    -Wno-deprecated-declarations \
                    -Wno-incompatible-pointer-types-discards-qualifiers \
                    -Wno-error=unknown-warning-option \
                    -Wno-unknown-warning-option
}

depends_build-append \
                    port:bison \
                    port:docbook-xml \
                    port:docbook-xsl-nons \
                    port:flex \
                    port:gettext \
                    port:help2man \
                    port:libxslt \
                    port:pkgconfig

depends_lib-append \
                    port:gettext-runtime \
                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
                    path:lib/pkgconfig/gobject-introspection-1.0.pc:gobject-introspection

configure.args-append \
                    --disable-silent-rules \
                    --disable-valadoc

variant valadoc description {Install valadoc and documentation} {
    depends_build-append \
                    path:bin/dot:graphviz

    configure.args-delete \
                    --disable-valadoc
}

default_variants-append \
                    +valadoc

test.run            yes

livecheck.type      gnome
livecheck.name      ${my_name}
