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

EAPI=8

inherit go-module systemd xdg

DESCRIPTION="Lomiri external storage devices manager"
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 LGPL-3 MIT BSD-2"
SLOT="0"
KEYWORDS="~amd64"
RESTRICT="test mirror"

DEPEND="
    dev-qt/qtcore:5
    dev-qt/qtdeclarative:5
    dev-qt/qtgui:5
    dev-qt/qtwidgets:5
"
RDEPEND="
    ${DEPEND}
    lomiri-base/lomiri-ui-toolkit:5
    lomiri-extra/lomiri-push-service
    sys-fs/dosfstools
    sys-fs/udisks:2
"
BDEPEND="
    sys-devel/gettext
    virtual/pkgconfig
"

PATCHES=(
    "${FILESDIR}"/${PN}-drop-unused-qtopengl.patch
    "${FILESDIR}"/${PN}-unmount-filesystems-only.patch
)

src_compile() {
    ego generate ./qml.v1
    ego build -o ciborium ./cmd/ciborium
    ego build -ldflags "-X main.defaultQmlPath=/usr/share/${PN}/qml" -o ciborium-ui ./cmd/ciborium-ui

    local po lang
    for po in po/*.po; do
        lang=$(basename "${po}" .po)
        [[ -v LINGUAS ]] && ! has "${lang}" ${LINGUAS} && continue
        msgfmt -o "${po%.po}.mo" "${po}" || die
    done
}

src_install() {
    exeinto /usr/lib/${PN}
    doexe ciborium
    exeinto /usr/bin
    doexe ciborium-ui

    exeinto /usr/lib/lomiri-push-service/legacy-helpers
    doexe lib/lomiri-push-service/legacy-helpers/ciborium

    insinto /usr/share
    doins -r share/applications share/${PN}

    systemd_douserunit ${PN}.service
    dosym ../${PN}.service /usr/lib/systemd/user/graphical-session.target.wants/${PN}.service

    local mo lang
    for mo in po/*.mo; do
        [[ -e ${mo} ]] || continue
        lang=$(basename "${mo}" .mo)
        insinto /usr/share/locale/${lang}/LC_MESSAGES
        newins "${mo}" ${PN}.mo
    done

    einstalldocs
}