# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

LOMIRI_PACKAGING_COMMIT="1cfce0bd721fcc57ea196a947293b7b33faac775"
inherit vala lomiri

KEYWORDS="~amd64"
SRC_URI="https://releases.ayatana-indicators.org/source/${PN}/${P}.tar.gz
         ${LOMIRI_PACKAGING_URI}"

DESCRIPTION="Ayatana Indicator for managing system sound"
HOMEPAGE="https://github.com/AyatanaIndicators/${PN}"
LICENSE="GPL-3"
SLOT="0"
IUSE="+lomiri"
RESTRICT="test mirror"

DEPEND="
    dev-libs/glib:2
    dev-libs/libgee:0.8
    dev-libs/libxml2
    gui-libs/libayatana-common
    media-libs/libpulse[glib]
    sys-apps/accountsservice
    x11-libs/libnotify
    lomiri? (
        lomiri-base/lomiri-api
        lomiri-base/lomiri-schemas
    )
"
RDEPEND="
    ${DEPEND}
    || (
        media-video/pipewire[sound-server]
        media-sound/pulseaudio-daemon
    )
    lomiri? ( lomiri-extra/lomiri-sounds )
"

BDEPEND="
    dev-build/cmake
    dev-build/cmake-extras
    dev-build/samurai
    sys-devel/gettext
    $(vala_depend)
"

src_prepare() {
    vala_setup

    sed -i "s:find_program (VALA_COMPILER \"valac\"):find_program (VALA_COMPILER \"valac-$(vala_best_api_version)\"):" cmake/FindVala.cmake || die
    sed -i "s:find_program (VAPI_GEN \"vapigen\"):find_program (VAPI_GEN \"vapigen-$(vala_best_api_version)\"):" cmake/FindVala.cmake || die

    lomiri_src_prepare
}

src_configure() {
    local mycmakeargs=(
        -DENABLE_TESTS=OFF
        -DENABLE_COVERAGE=OFF
        -DENABLE_WERROR=OFF
        -DENABLE_LOMIRI_FEATURES=$(usex lomiri)
    )

    lomiri_src_configure
}

src_install() {
    lomiri_src_install

    dosym /usr/lib/systemd/user/ayatana-indicator-sound.service \
        /usr/lib/systemd/user/lomiri-indicators.target.wants/ayatana-indicator-sound.service
    dosym /usr/lib/systemd/user/ayatana-indicator-sound.service \
        /usr/lib/systemd/user/ayatana-indicators.target.wants/ayatana-indicator-sound.service
}

pkg_postinst() {
    lomiri_pkg_postinst

    if [[ -z ${REPLACING_VERSIONS} ]] && has_version media-video/pipewire; then
        elog "The sound indicator needs a running PulseAudio-compatible sound server."
        elog "PipeWire's user units are not enabled by default on Gentoo, enable them"
        elog "once for all users with:"
        elog "  systemctl --global enable pipewire.socket pipewire-pulse.socket wireplumber.service"
        elog "See https://wiki.gentoo.org/wiki/PipeWire for details."
    fi
}