# -*- 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           gitlab 1.0
PortGroup           meson 1.0

gitlab.instance     https://gitlab.gnome.org
gitlab.setup        GNOME rhythmbox 3.4.9
revision            1
categories          gnome audio
license             GPL-2+
maintainers         {@barracuda156 macos-powerpc.org:barracuda} openmaintainer

description         Audio-player for GNOME
long_description    {*}${description}
use_bzip2           yes
homepage            https://wiki.gnome.org/Apps/Rhythmbox
checksums           rmd160  96b5604510a56bda026e00ad955aa65605237ea9 \
                    sha256  b3ad81efbed7e48dd9e9b80a203c492ca58042401fcf1da5b1155549fb657251 \
                    size    4220061

meson.wrap_mode     nodownload

set py_ver          3.13
set py_ver_nodot    [string map {. {}} ${py_ver}]

configure.python    ${prefix}/bin/python${py_ver}

patchfiles-append   patch-meson.build.diff

post-patch {
    reinplace "s|@PYTHON@|${configure.python}|" ${worksrcpath}/meson.build
}

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

depends_lib-append  path:lib/pkgconfig/cairo.pc:cairo \
                    port:dbus-glib \
                    path:lib/pkgconfig/gdk-pixbuf-2.0.pc:gdk-pixbuf2 \
                    port:gettext-runtime \
                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
                    path:lib/pkgconfig/gobject-introspection-1.0.pc:gobject-introspection \
                    port:grilo \
                    port:gstreamer1 \
                    path:lib/pkgconfig/gtk+-3.0.pc:gtk3 \
                    port:json-glib \
                    port:libdmapsharing \
                    port:libgpod \
                    port:libimobiledevice \
                    port:libnotify \
                    port:libpeas1 \
                    port:libplist \
                    port:libsecret \
                    path:lib/pkgconfig/libsoup-3.0.pc:libsoup \
                    port:libxml2 \
                    port:lirc \
                    path:lib/pkgconfig/pango.pc:pango \
                    port:py${py_ver_nodot}-gobject3 \
                    port:python${py_ver_nodot} \
                    port:tdb \
                    port:totem-pl-parser \
                    port:xorg-libice \
                    port:xorg-libX11 \
                    port:xorg-xorgproto

depends_run-append  port:desktop-file-utils \
                    port:gsettings-desktop-schemas \
                    port:gstreamer1-gst-libav \
                    port:gstreamer1-gst-plugins-bad \
                    port:gstreamer1-gst-plugins-base \
                    port:gstreamer1-gst-plugins-good \
                    port:gstreamer1-gst-plugins-ugly

# https://trac.macports.org/ticket/68884
configure.pkg_config_path-prepend \
                    ${prefix}/Library/Frameworks/Python.framework/Versions/${py_ver}/lib/pkgconfig

# rhythmdb.h:181: error: redefinition of typedef ‘RhythmDBPropType’
compiler.c_standard 2011

# FIXME: brasero requires a compatible scsi driver (in order to build brasero itself).
# Related: https://github.com/asalamon74/pktriggercord/issues/38
# Enabling MTP works only on Linux, regardless of libmtp availability:
# ERROR: Problem encountered: MTP explicitly requested but GUdev is not available
# FM Radio is also Linux-only: Has header "linux/videodev2.h" : NO
# ERROR: Problem encountered: FM radio plugin explicitly requested, but cannot be built
configure.args-append \
                    -Dapidoc=false \
                    -Dbrasero=disabled \
                    -Ddaap=enabled \
                    -Dgrilo=enabled \
                    -Dhelp=true \
                    -Dipod=enabled \
                    -Dlibnotify=enabled \
                    -Dlibsecret=enabled \
                    -Dlirc=enabled \
                    -Dmtp=disabled \
                    -Dplugins_python=enabled \
                    -Dplugins_vala=enabled \
                    -Dsample-plugins=true \
                    -Dtests=disabled

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