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

EAPI=8

LOMIRI_PPA_COMMIT="0.5.0-8"
inherit lomiri qmake-utils

if [[ ${PV} == 9999 ]]; then
    KEYWORDS=""
    EGIT_REPO_URI="https://gitlab.com/ubports/development/core/${PN}.git"
    inherit git-r3
else
    KEYWORDS="~amd64"
    SRC_URI="https://gitlab.com/ubports/development/core/${PN}/-/archive/${PV}/${P}.tar.gz
	${LOMIRI_PPA_URI}"
fi

DESCRIPTION="The Lomiri (Unity8) Desktop"
HOMEPAGE="https://gitlab.com/ubports/development/core/${PN}"
LICENSE="GPL-3 LGPL-2.1"
SLOT="0"
RESTRICT="mirror test"

DEPEND="
	dev-libs/glib
	dev-libs/deviceinfo
	dev-qt/qtconcurrent:5
	dev-qt/qtmir
	dev-qt/qtsvg:5
	dev-qt/qtsql:5
	dev-qt/qtxml:5
	gnome-base/gnome-desktop:3
	gui-libs/qmenumodel
	>=lomiri-base/lomiri-schemas-0.1.8
	>=lomiri-base/lomiri-system-settings-1.3.2
	>=lomiri-base/lomiri-app-launch-0.1.5
	>=lomiri-base/lomiri-ui-toolkit-1.3.5110
	>=net-libs/geonames-0.3.1
	x11-base/xwayland
	x11-misc/lightdm[non-root]
"

RDEPEND="
	${DEPEND}
	gui-libs/biometryd
	gui-libs/hfd-service
	ayatana-indicators/ayatana-indicator-keyboard
	ayatana-indicators/ayatana-indicator-session
	lomiri-extra/lomiri-notifications
    lomiri-extra/lomiri-telephony-service
    lomiri-extra/lomiri-thumbnailer
	lomiri-themes/lomiri-wallpapers
	lomiri-themes/suru-icon-theme
"

BDEPEND="
	dev-build/cmake-extras
    dev-util/intltool
	dev-qt/qtdeclarative:5
	virtual/pkgconfig
"

src_prepare() {
	# remove coverage report
	sed -i "/include(EnableCoverageReport)/,/endif()/d" CMakeLists.txt

	# disable docs
	cmake_comment_add_subdirectory doc

    lomiri_src_prepare
}

src_configure() {
	# add 'qmlplugindump' to PATH
    export PATH="$(qt5_get_bindir):${PATH}"

    local mycmakeargs=(
        -DWITH_MIR2=ON
		-DNO_TESTS=ON
    )

    lomiri_src_configure
}

src_install() {
	lomiri_src_install

	# brand launcher with Gentoo log
	insinto /usr/share/pixmaps/
	doins "${FILESDIR}"/branding/gentoo-launcher_bfb.svg
	insinto /usr/share/glib-2.0/schemas
	doins "${FILESDIR}"/branding/000-gentoo-lomiri.gschema.override

	# install lomiri greeter
	exeinto /usr/bin
	doexe data/lomiri-greeter-wrapper

	insinto /usr/share/lightdm/lightdm.conf.d
	doins "${FILESDIR}"/lightdm.conf.d/90-default-session-lomiri.conf
	doins "${FILESDIR}"/lightdm.conf.d/91-lomiri-enable-user-list.conf 				# not sure, if needed

	insinto /usr/share/polkit-1/rules.d
	doins data/lomiri-greeter.rules
}