# -*- 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
PortGroup           active_variants 1.1

name                libcanberra
version             0.30
revision            10

categories          audio devel
license             LGPL-2.1+
maintainers         nomaintainer
description         XDG sound theme and naming implementation
long_description    libcanberra is an implementation of the XDG Sound Theme \
                    and Name Specifications, for generating event sounds on \
                    free desktops, such as GNOME.
homepage            https://0pointer.de/lennart/projects/libcanberra

master_sites        ${homepage}
use_xz              yes

checksums           rmd160  f5a800f50ae185d9ec12c284298c20fd60f70a8c \
                    sha256  c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72 \
                    size    318960

depends_build-append \
                    path:bin/pkg-config:pkgconfig

depends_lib-append \
                    port:libvorbis \
                    port:pulseaudio

depends_run-append \
                    port:sound-theme-freedesktop

patchfiles          patch-configure.diff \
                    patch-path.diff \
                    patch-gtkquartz.diff \
                    LC_CTYPE.patch \
                    dynamic_lookup-11.patch

configure.args-append \
                    --disable-alsa \
                    --disable-gstreamer \
                    --disable-gtk \
                    --disable-gtk3 \
                    --disable-gtk-doc \
                    --disable-lynx \
                    --disable-null \
                    --disable-oss \
                    --disable-silent-rules \
                    --disable-tdb \
                    --disable-udev

variant gtk2 description {Enable GTK2 support} {
    configure.args-replace \
                    --disable-gtk \
                    --enable-gtk
    depends_lib-append \
                    path:lib/pkgconfig/gtk+-2.0.pc:gtk2
    if {[variant_isset quartz]} {
        require_active_variants path:lib/pkgconfig/gtk+-2.0.pc:gtk2 quartz
    } else {
        require_active_variants path:lib/pkgconfig/gtk+-2.0.pc:gtk2 x11
    }
}

variant gtk3 description {Enable GTK3 support} {
    configure.args-replace \
                    --disable-gtk3 \
                    --enable-gtk3
    depends_lib-append \
                    path:lib/pkgconfig/gtk+-3.0.pc:gtk3
    if {[variant_isset quartz]} {
        require_active_variants path:lib/pkgconfig/gtk+-3.0.pc:gtk3 quartz
    } else {
        require_active_variants path:lib/pkgconfig/gtk+-3.0.pc:gtk3 x11
    }
}

variant quartz conflicts x11 {
}

variant x11 conflicts quartz {
    depends_lib-append \
                    port:xorg-libX11
}

default_variants    +gtk2 +gtk3

if {[variant_isset gtk2] || [variant_isset gtk3]} {
    if {![variant_isset quartz]} {
        default_variants +x11
    }
    if {![variant_isset x11]} {
        default_variants +quartz
    }
    if {![variant_isset quartz] && ![variant_isset x11]} {
        pre-configure {
            return -code error "Either +x11 or +quartz is required"
        }
    }
}

livecheck.type      regex
livecheck.regex     libcanberra-(\[0-9.\]+)${extract.suffix}
