# 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.13" NAVCONNECT_VERSION="3.0.7" XPCONNECT_VERSION="1.2.1" RESTRICT="strip" 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://developer.x-plane.com/wp-content/plugins/code-sample-generation/sdk_zip_files/XPSDK411.zip" SRC_URI+=" navconnect? ( https://github.com/albar965/littlenavconnect/archive/refs/tags/v3.0.7.zip -> littlenavconnect-${NAVCONNECT_VERSION}.zip )" SRC_URI+=" xpconnect? ( https://github.com/albar965/littlexpconnect/archive/refs/tags/v1.2.1.zip -> littlexpconnect-${XPCONNECT_VERSION}.zip )" LICENSE="" SLOT="0" KEYWORDS="~amd64" IUSE="+navconnect +xpconnect" DEPEND="" RDEPEND="${DEPEND}" BDEPEND="dev-qt/qtsql:5 dev-qt/qtcore:5 dev-cpp/cpptrace dev-qt/qtimageformats:5" BDEPEND+=" dev-qt/qtgui:5[eglfs,linuxfb] dev-qt/qtsvg:5 dev-qt/qtdeclarative:5" BDEPEND+=" dev-qt/qttranslations:5 dev-qt/qtx11extras:5" S_MARBLE="${WORKDIR}/marble-lnm-1.1" S_MARBLE_BUILD="${S_MARBLE}_build" S_ATOOLS="${WORKDIR}/atools-${ATOOLS_VERSION}" S_NAVMAP="${WORKDIR}/${P}" S_NAVMAP_BUILD="${S_NAVMAP}_build" S_NAVCONNECT="${WORKDIR}/littlenavconnect-${NAVCONNECT_VERSION}" S_NAVCONNECT_BUILD="${S_NAVCONNECT}_build" S_XPCONNECT="${WORKDIR}/littlexpconnect-${XPCONNECT_VERSION}" S_XPCONNECT_BUILD="${S_XPCONNECT}_build" S_XPSDK="${WORKDIR}/SDK" S="${WORKDIR}" CMAKE_USE_DIR="${S_MARBLE}" CMAKE_BUILD_TYPE="Release" src_configure() { mkdir "${S_NAVMAP_BUILD}" eqmake5 -o "${S_ATOOLS}/Makefile" "${S_ATOOLS}/atools.pro" -spec linux-g++ CONFIG+=release ATOOLS_INC_PATH="${S_ATOOLS}/src" \ ATOOLS_LIB_PATH="${S_ATOOLS}" \ MARBLE_INC_PATH="${S_MARBLE_BUILD}/include" \ MARBLE_LIB_PATH="${S_MARBLE_BUILD}/lib64" \ XPSDK_BASE="${S_XPSDK}" \ DEPLOY_BASE="${D}/opt" \ eqmake5 -o "${S_NAVMAP_BUILD}/Makefile" "${S_NAVMAP}/littlenavmap.pro" -spec linux-g++ CONFIG+=release use navconnect && \ ATOOLS_INC_PATH="${S_ATOOLS}/src" \ ATOOLS_LIB_PATH="${S_ATOOLS}" \ XPSDK_BASE="${S_XPSDK}" \ DEPLOY_BASE="${D}/opt/Little Navmap" \ eqmake5 -o "${S_NAVCONNECT_BUILD}/Makefile" "${S_NAVCONNECT}/littlenavconnect.pro" -spec linux-g++ CONFIG+=release use xpconnect && \ ATOOLS_INC_PATH="${S_ATOOLS}/src" \ ATOOLS_LIB_PATH="${S_ATOOLS}" \ XPSDK_BASE="${S_XPSDK}" \ DEPLOY_BASE="${D}/opt/Little Navmap" \ eqmake5 -o "${S_XPCONNECT_BUILD}/Makefile" "${S_XPCONNECT}/littlexpconnect.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 } 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}" emake -C "${S_NAVMAP_BUILD}" use navconnect && emake -C "${S_NAVCONNECT_BUILD}" use xpconnect && emake -C "${S_XPCONNECT_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" if use navconnect; then 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" fi use xpconnect && emake -C "${S_XPCONNECT_BUILD}" deploy }