# Copyright 2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit cmake qmake-utils desktop ATOOLS_VERSION="4.0.16" NAVCONNECT_VERSION="3.0.16" RESTRICT="mirror" DESCRIPTION="flight planner, navigation tool, moving map, \ airport search and airport information system" HOMEPAGE="https://albar965.github.io/littlenavmap.html" SRC_URI="https://github.com/albar965/littlenavmap/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" SRC_URI+=" https://github.com/albar965/marble/archive/refs/heads/lnm/1.1.zip -> marble-lnm-1.1.zip" SRC_URI+=" https://github.com/albar965/atools/archive/refs/tags/v${ATOOLS_VERSION}.zip -> atools-${ATOOLS_VERSION}.zip" SRC_URI+=" https://github.com/albar965/littlenavconnect/archive/refs/tags/v${NAVCONNECT_VERSION}.zip -> littlenavconnect-${NAVCONNECT_VERSION}.zip" LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64" DEPEND="dev-qt/qtsql:5 dev-qt/qtcore:5 dev-cpp/cpptrace dev-qt/qtimageformats:5" DEPEND+=" dev-qt/qtgui:5[eglfs,linuxfb] dev-qt/qtsvg:5 dev-qt/qtdeclarative:5" DEPEND+=" dev-qt/qttranslations:5 dev-qt/qtx11extras:5 dev-libs/icu" RDEPEND="${DEPEND}" BDEPEND="" S_MARBLE="${WORKDIR}/marble-lnm-1.1" S_MARBLE_BUILD="${S_MARBLE}_build" S_ATOOLS="${WORKDIR}/atools-${ATOOLS_VERSION}" S_ATOOLS_BUILD="${S_ATOOLS}_build" S_NAVMAP="${WORKDIR}/${P}" S_NAVMAP_BUILD="${S_NAVMAP}_build" S_NAVCONNECT="${WORKDIR}/littlenavconnect-${NAVCONNECT_VERSION}" S_NAVCONNECT_BUILD="${S_NAVCONNECT}_build" S="${WORKDIR}" CMAKE_USE_DIR="${S_MARBLE}" CMAKE_BUILD_TYPE="Release" src_configure() { eqmake5 -o "${S_ATOOLS_BUILD}/Makefile" "${S_ATOOLS}/atools.pro" -spec linux-g++ CONFIG+=release local mycmakeargs=( -DSTATIC_BUILD=TRUE -DQTONLY=TRUE -DBUILD_MARBLE_EXAMPLES=NO -DBUILD_INHIBIT_SCREENSAVER_PLUGIN=NO -DBUILD_MARBLE_APPS=NO -DBUILD_MARBLE_EXAMPLES=NO -DBUILD_MARBLE_TESTS=NO -DBUILD_MARBLE_TOOLS=NO -DBUILD_TESTING=NO -DBUILD_WITH_DBUS=NO -DMARBLE_EMPTY_MAPTHEME=YES -DMOBILE=NO -DWITH_DESIGNER_PLUGIN=NO -DWITH_Phonon=NO -DWITH_Qt5Location=NO -DWITH_Qt5Positioning=NO -DWITH_Qt5SerialPort=NO -DWITH_ZLIB=NO -DWITH_libgps=NO -DWITH_libshp=NO -DWITH_libwlocate=NO -DCMAKE_INSTALL_PREFIX=/marble ) cmake_src_configure ATOOLS_INC_PATH="${S_ATOOLS}/src" \ ATOOLS_LIB_PATH="${S_ATOOLS_BUILD}" \ MARBLE_INC_PATH="${S_MARBLE_BUILD}/include" \ MARBLE_LIB_PATH="${S_MARBLE_BUILD}/lib64" \ DEPLOY_BASE="${D}/opt" \ eqmake5 -o "${S_NAVMAP_BUILD}/Makefile" "${S_NAVMAP}/littlenavmap.pro" -spec linux-g++ CONFIG+=release ATOOLS_INC_PATH="${S_ATOOLS}/src" \ ATOOLS_LIB_PATH="${S_ATOOLS_BUILD}" \ DEPLOY_BASE="${D}/opt/Little Navmap" \ eqmake5 -o "${S_NAVCONNECT_BUILD}/Makefile" "${S_NAVCONNECT}/littlenavconnect.pro" -spec linux-g++ CONFIG+=release } src_compile() { cmake_src_compile cmake_src_install # Workaround! Cannot make cmake_src_configure to use $WORKDIR # And I don't know where the existing $S_MARBLE_BUILD directory is comming from rm -rf "${S_MARBLE_BUILD}" mv "${D}/marble" "${S_MARBLE_BUILD}" emake -C "${S_ATOOLS_BUILD}" emake -C "${S_NAVMAP_BUILD}" emake -C "${S_NAVCONNECT_BUILD}" } src_install() { emake -C "${S_NAVMAP_BUILD}" copydata emake -C "${S_NAVMAP_BUILD}" deploy sed -ie "s;YOUR_PATH_TO_LITTLENAVMAP;/opt/Little Navmap;g" "${D}/opt/Little Navmap/Little Navmap.desktop" domenu "${D}/opt/Little Navmap/Little Navmap.desktop" emake -C "${S_NAVCONNECT_BUILD}" copydata emake -C "${S_NAVCONNECT_BUILD}" deploy sed -ie "s;YOUR_PATH;/opt;g" "${D}/opt/Little Navmap/Little Navconnect/Little Navconnect.desktop" sed -ie "s;\\\\s; ;g" "${D}/opt/Little Navmap/Little Navconnect/Little Navconnect.desktop" domenu "${D}/opt/Little Navmap/Little Navconnect/Little Navconnect.desktop" }