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

EAPI=8

inherit cmake qmake-utils

DESCRIPTION="The Lomiri (Unity8) Desktop"
HOMEPAGE="https://gitlab.com/ubports/development/core/${PN}"

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"
fi

LICENSE="GPL-3 LGPL-2.1"
SLOT="0"
RESTRICT="test"

DEPEND="
	dev-libs/glib
	dev-libs/deviceinfo
	dev-qt/qtconcurrent:5
	dev-qt/qtdeclarative: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[qt5]
"

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
	virtual/pkgconfig
"

PATCHES=(
	"${FILESDIR}"/0001-Disable-broken-tests-due-to-dropped-mocks-from-mir-2.patch
	"${FILESDIR}"/0002-Add-qt5-suffix-to-search-for-Qt-tools.patch
	"${FILESDIR}"/0005-Use-Mir-2.x.patch
	"${FILESDIR}"/0006-Build-with-C-20.patch
	"${FILESDIR}"/0007-DisplayConfigurationStorage-drop-use-of-descriptors.patch
)

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

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

    cmake_src_configure
}

src_install() {
	cmake_src_install

	# replace Ubuntu logo with Gentoo
	insinto /usr/share/lomiri/Launcher/graphics
	doins "${FILESDIR}"/home.svg

	# set lomiri as user session
	insinto /etc/lightdm/lightdm.conf.d
	doins "${FILESDIR}"/90-default-session-lomiri.conf
}