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

EAPI=8

inherit cmake

git_commit="1d187821f3e7e237ce6d20ad35e7301d752680f7" #main 20251106

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"
    SRC_URI="https://gitlab.com/ubports/development/core/${PN}/-/archive/${git_commit}/${PN}-${git_commit}.tar.gz"
fi

DESCRIPTION="API for creating, reading, updating and deleting trust requests answered by users"
HOMEPAGE="https://gitlab.com/ubports/development/core/${PN}"

LICENSE="GPL-3"
SLOT="0"

S="${WORKDIR}/${PN}-${git_commit}"

DEPEND="
    dev-libs/boost
    dev-libs/dbus-cpp
    dev-libs/glib
    dev-libs/process-cpp
    dev-libs/properties-cpp
    gui-libs/mir
    sys-libs/libapparmor
"
RDEPEND="${DEPEND}"

BDEPEND="
    dev-build/cmake
    dev-build/cmake-extras
    dev-build/samurai
    dev-cpp/glog:0/2
    dev-qt/qtdeclarative:5
"

# TODO:
# patch '007-fix-missing-main.patch ' is just a work around.
# seams some modules are build with hidden symobols when build as ebuild.

PATCHES=(
    "${FILESDIR}"/001-cmake_fix_quality.patch
    "${FILESDIR}"/002-boost_1.88_asio.patch
    "${FILESDIR}"/005-disable_testing_xdg_submodule.patch
    "${FILESDIR}"/006-compile_xdg_static.patch
    "${FILESDIR}"/007-fix-missing-main.patch
)

src_prepare() {
    eapply_user

    # remove ctest from the build
    sed -i '/include(CTest)/d' CMakeLists.txt || die
    sed -i '/add_subdirectory(tests)/d' CMakeLists.txt || die

    # remove doc
    sed -i '/add_subdirectory(doc)/d' CMakeLists.txt || die

    # remove coverage report
    sed -i '/find_package(CoverageReport)/d' CMakeLists.txt || die
    sed -i '/enable_coverage_report(trust_store_test)/d' CMakeLists.txt || die

    cmake_src_prepare
}

src_configure() {
    local mycmakeargs=(
        -DTRUST_STORE_MIR_AGENT_ENABLED=OFF
        -DENABLE_WERROR=OFF
    )

    cmake_src_configure
}