gentoo/games-simulation/littlenavmap/littlenavmap-3.0.16.ebuild
2025-03-19 20:34:31 +01:00

112 lines
3.7 KiB
Bash

# 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"
}