# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{12..14} ) inherit git-r3 python-any-r1 xdg cmake desktop EGIT_REPO_URI="https://github.com/${PN}/${PN}.git" EGIT_WORLD_FEED_REPO_URI="https://github.com/${PN}/world_feed_integration_tests_data.git" # organicmaps gets more and more system libraries, we use as many # as currently possible, use submodules for the rest EGIT_SUBMODULES=( 3party/fast_obj 3party/glaze 3party/glfw 3party/harfbuzz/harfbuzz 3party/imgui/imgui 3party/just_gtfs 3party/protobuf/protobuf # wait for https://github.com/organicmaps/organicmaps/pull/6310 ) DESCRIPTION="Offline maps and navigation using OpenStreetMap data" HOMEPAGE="https://organicmaps.app" LICENSE="Apache-2.0 BSD MIT ZLIB Old-MIT ISC icu" SLOT="0" IUSE="test" RESTRICT="!test? ( test )" BDEPEND=" dev-util/vulkan-headers ${PYTHON_DEPS} test? ( dev-cpp/gtest ) " DEPEND=" ${RDEPEND} dev-cpp/fast_float media-libs/glm " # depend on sys-libs/zlib[minizip] when it is not pulled in as subproject anymore RDEPEND=" dev-cpp/gflags:= dev-db/sqlite:= dev-libs/boost:= dev-libs/icu:= dev-libs/jansson:= dev-libs/pugixml dev-libs/utfcpp dev-qt/qtbase:=[gui,network,opengl,widgets] dev-qt/qtpositioning:= dev-qt/qtsvg:= media-libs/freetype:= virtual/zlib:= " PATCHES=( "${FILESDIR}"/fix-system-boost-target.patch "${FILESDIR}"/fix-jansson.patch "${FILESDIR}"/protobuf.patch "${FILESDIR}"/respect-ldflags.patch "${FILESDIR}"/drape.patch "${FILESDIR}"/gtest.patch "${FILESDIR}"/timezone-put-time.patch ) WORLD_FEED_TESTS_S="${WORKDIR}/world_feed_integration_tests_data-${PV}" src_unpack () { git-r3_fetch git-r3_checkout if use test; then git-r3_fetch "${EGIT_WORLD_FEED_REPO_URI}" git-r3_checkout "${EGIT_WORLD_FEED_REPO_URI}" "${WORLD_FEED_TESTS_S}" fi } src_configure() { local mycmakeargs=( -DWITH_SYSTEM_PROVIDED_3PARTY=yes -DBUILD_SHARED_LIBS=off -DUSE_CCACHE=off -DTEST_DATA_REPO_URL="$(usex test "${WORLD_FEED_TESTS_S}" "")" -DSKIP_TESTS="$(usex !test)" ) cmake_src_configure } src_compile() { if use test; then cmake_src_compile else cmake_src_compile desktop fi } src_test() { cmake_src_test } src_install() { dobin "${BUILD_DIR}"/OMaps insinto /usr/share/organicmaps doins -r data insinto /usr/share/metainfo doins packaging/app.organicmaps.desktop.metainfo.xml domenu qt/res/linux/app.organicmaps.desktop.desktop newicon -s 512 qt/res/logo.png organicmaps.png rm -rf "${ED}"/usr/share/${PN}/data/world_feed_integration_tests_data || die } pkg_postinst() { xdg_pkg_postinst einfo "For dark mode type in search ?dark" einfo "For light mode type in search ?light" }