# -*- 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
PortGroup           debug 1.0
PortGroup           app 1.0

name                gingerblue
version             6.2.0
revision            3

categories          gnome
license             GPL-3+
maintainers         {gnome.org:ole @oleaamot} openmaintainer

description         GNOME Gingerblue is Free Music Software for GTK+/GNOME.
long_description    {*}${description} \
                    It supports immediate audio recording in compressed \
                    Ogg encoded audio files stored in the ~/Music/ \
                    directory with XSPF 1.0 playlist from the line input \
                    on a computer or remote audio cards through \
                    USB connection through PipeWire with GStreamer.
homepage            https://www.gingerblue.org/

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

checksums           rmd160  ac9cd8908f4e71065bef9edaf0d682875dd84df5 \
                    sha256  6096f54c60d401cf450e32f85ce72414fd7f4445d35c337cfaae02dfe95ced96 \
                    size    323084

depends_build-append \
                    port:desktop-file-utils \
                    port:gettext \
                    port:gnome-common \
                    port:gtk-doc \
                    port:intltool \
                    port:pkgconfig \
                    port:yelp-tools

depends_lib-append \
                    port:atk \
                    path:lib/pkgconfig/cairo.pc:cairo \
                    port:clutter-gtk \
                    port:cogl \
                    port:desktop-file-utils \
                    port:fontconfig \
                    port:freetype \
                    path:lib/pkgconfig/gdk-pixbuf-2.0.pc:gdk-pixbuf2 \
                    port:geoclue2 \
                    port:geocode-glib \
                    port:gettext-runtime \
                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
                    port:gsettings-desktop-schemas \
                    port:gstreamer1 \
                    port:gstreamer1-gst-plugins-base \
                    port:gstreamer1-gst-plugins-bad \
                    port:gstreamer1-gst-plugins-good \
                    port:gstreamer1-gst-plugins-ugly \
                    path:lib/pkgconfig/harfbuzz.pc:harfbuzz \
                    port:json-glib \
                    path:lib/pkgconfig/gtk+-3.0.pc:gtk3 \
                    port:libchamplain \
                    port:libshout2 \
                    port:libxml2 \
                    path:lib/pkgconfig/pango.pc:pango \
                    port:zlib

depends_run-append \
                    port:adwaita-icon-theme

patchfiles-append \
                    no-intltool-perl.patch

app.icon            ${worksrcpath}/data/icons/1024x1024/apps/gingerblue.png
app.retina          yes

variant quartz conflicts x11 {
    require_active_variants gtk3 quartz x11
}
variant x11 conflicts quartz {
    require_active_variants gtk3 x11 quartz
}

if {![variant_isset quartz]} {
    default_variants +x11
}
if {![variant_isset x11]} {
    default_variants +quartz
}
if {![variant_isset quartz] && ![variant_isset x11]} {
    error "Either +x11 or +quartz is required"
}
