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

EAPI=8

PYTHON_COMPAT=( python3_{12..14} )
inherit go-module python-single-r1 systemd toolchain-funcs

DESCRIPTION="Lomiri Push Notifications client-side daemon"
HOMEPAGE="https://gitlab.com/ubports/development/core/${PN}"
SRC_URI="https://gitlab.com/ubports/development/core/${PN}/-/archive/${PV}/${P}.tar.gz
         https://gitlab.com/api/v4/projects/70731376/packages/generic/${PN}/${PV}/${P}-vendor.tar.xz"

LICENSE="GPL-3 Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
KEYWORDS="~amd64"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="test mirror"

DEPEND="
    ayatana-indicators/ayatana-indicator-messages
    dev-db/sqlite:3
    dev-libs/glib:2
    dev-libs/json-glib
    dev-util/click
    lomiri-base/lomiri-app-launch
    lomiri-base/lomiri-url-dispatcher
"
RDEPEND="
    ${DEPEND}
    ${PYTHON_DEPS}
    $(python_gen_cond_dep '
        dev-python/pygobject:3[${PYTHON_USEDEP}]
        dev-python/pyxdg[${PYTHON_USEDEP}]
    ')
    lomiri-extra/lomiri-notifications
    lomiri-extra/lomiri-sounds
"
BDEPEND="virtual/pkgconfig"

src_compile() {
    ego build -tags libsqlite3 -o ${PN} ./cmd/${PN}
    emake -C exec-tool CC="$(tc-getCC)" exec-tool
}

src_install() {
    exeinto /usr/lib/${PN}
    doexe ${PN} scripts/click-hook-{build-helper-db,populate-settings,wrapper}
    python_fix_shebang "${ED}"/usr/lib/${PN}

    exeinto /usr/libexec/lomiri-app-launch/push-helper
    doexe exec-tool/exec-tool

    insinto /etc/xdg/${PN}
    doins debian/config.json

    insinto /usr/share/click/hooks
    doins debian/push-helper.hook

    insinto /usr/share/dbus-1/services
    doins com.lomiri.{Postal,PushNotifications}.service

    systemd_douserunit ${PN}.service
    local unit
    for unit in dbus-com.lomiri.{Postal,PushNotifications}.service; do
        dosym ${PN}.service /usr/lib/systemd/user/${unit}
    done
    dosym ../${PN}.service /usr/lib/systemd/user/graphical-session.target.wants/${PN}.service

    einstalldocs
}