112 lines
3.7 KiB
Bash
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"
|
|
}
|