Install this version:
emerge -a =games-simulation/flightgear-2024.1.7
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =games-simulation/flightgear-2024.1.7
Or alternatively:
emerge --autounmask-write -a =games-simulation/flightgear-2024.1.7
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake flag-o-matic xdg
DESCRIPTION="Open Source Flight Simulator"
HOMEPAGE="https://www.flightgear.org/"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://gitlab.com/flightgear/${PN}.git"
EGIT_BRANCH="next"
else
SRC_URI="https://gitlab.com/flightgear/flightgear/-/archive/${PV}/${P}.tar.bz2"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="cpu_flags_x86_sse2 dbus gdal qt6 +udev +utils"
# Needs --fg-root with path to flightgear-data passed to test runner passed,
# not really worth patching
RESTRICT="test"
# zlib is some strange auto-dep from simgear
# TODO add osgXR
COMMON_DEPEND="
dev-db/sqlite:3
>=dev-games/openscenegraph-3.6.0[jpeg,png]
~dev-games/simgear-${PV}[gdal=]
media-libs/libglvnd[X]
media-libs/openal
>=media-libs/plib-1.8.5
virtual/zlib:=
virtual/glu
x11-libs/libX11
dbus? ( >=sys-apps/dbus-1.6.18-r1 )
gdal? ( >=sci-libs/gdal-2.0.0:= )
qt6? (
dev-qt/qtbase:6[gui,network,widgets]
dev-qt/qtdeclarative:6
)
udev? ( virtual/udev )
utils? (
media-libs/freeglut
media-libs/freetype:2
media-libs/glew:0
media-libs/libpng:0=
>=media-libs/speex-1.2.0:0
media-libs/speexdsp:0
media-sound/gsm
)
"
# libXi and libXmu are build-only-deps according to FindGLUT.cmake
DEPEND="${COMMON_DEPEND}
dev-libs/boost
x11-base/xorg-proto
utils? (
x11-libs/libXi
x11-libs/libXmu
)
"
RDEPEND="${COMMON_DEPEND}
~games-simulation/${PN}-data-${PV}
qt6? ( dev-qt/qtsvg:6 )
"
BDEPEND="qt6? ( dev-qt/qttools:6[linguist] )"
DOCS=(AUTHORS ChangeLog NEWS README Thanks)
PATCHES=(
"${FILESDIR}/${PN}-2024.1.1-cmake.patch"
"${FILESDIR}/0003-make-fglauncher-a-static-library.patch"
"${FILESDIR}/0005-make-fgqmlui-a-static-library.patch"
"${FILESDIR}/0006-fgviewer-fix-crash-on-exit.patch"
# https://gitlab.com/flightgear/flightgear/-/work_items/3527
"${FILESDIR}/${PN}-2024.1.7-fix_gdal.patch"
)
src_configure() {
# -Werror=lto-type-mismatch, -Werror=odr
# https://bugs.gentoo.org/859217
# https://sourceforge.net/p/flightgear/codetickets/2908/
filter-lto
# avoid -O3 -g
CMAKE_BUILD_TYPE="Release"
append-cppflags -DNDEBUG
local mycmakeargs=(
-DBUILD_SHARED_LIBS=OFF
-DCHECK_FOR_QT5=OFF
-DCHECK_FOR_QT6=ON
-DENABLE_AUTOTESTING=OFF
-DENABLE_FGCOM=$(usex utils)
-DENABLE_FGELEV=$(usex utils)
-DENABLE_FGJS=$(usex utils)
-DENABLE_FGVIEWER=$(usex utils)
-DENABLE_GDAL=$(usex gdal)
-DENABLE_GPSSMOOTH=$(usex utils)
-DENABLE_HID_INPUT=$(usex udev)
-DENABLE_IAX=$(usex utils)
-DENABLE_JS_DEMO=$(usex utils)
-DENABLE_JSBSIM=ON
-DENABLE_LARCSIM=ON
-DENABLE_METAR=$(usex utils)
-DENABLE_PLIB_JOYSTICK=ON # NOTE look for defaults changes in CMake
-DENABLE_QT=$(usex qt6)
-DENABLE_RTI=OFF
-DENABLE_SENTRY=OFF # sentry-native masked
-DENABLE_HUD=ON
-DENABLE_PUI=ON
-DENABLE_SIMD=$(usex cpu_flags_x86_sse2)
-DENABLE_STGMERGE=ON
-DENABLE_SWIFT=OFF # swift pilot client not packaged yet
-DENABLE_TRAFFIC=$(usex utils)
-DENABLE_UIUC_MODEL=ON
-DENABLE_VR=OFF
-DENABLE_YASIM=ON
-DEVENT_INPUT=$(usex udev)
-DFG_DATA_DIR="${EPREFIX}/usr/share/${PN}"
-DJSBSIM_TERRAIN=ON
-DOSG_FSTREAM_EXPORT_FIXED=OFF # TODO also see simgear
-DSP_FDMS=ON
-DSYSTEM_CPPUNIT=OFF # NOTE we do not build tests anyway
-DSYSTEM_FLITE=OFF
-DSYSTEM_HTS_ENGINE=OFF
-DSYSTEM_SPEEX=ON
-DSYSTEM_GSM=ON
-DSYSTEM_SQLITE=ON
-DSYSTEM_OSGXR=ON
-DUSE_AEONWAVE=OFF
-DUSE_DBUS=$(usex dbus)
-DWITH_FGPANEL=$(usex utils)
-DENABLE_FGQCANVAS=OFF # still Qt5-only, bug 968375
)
if [[ PV == *9999 ]]; then
mycmakeargs+=( -DFG_BUILD_TYPE=Nightly )
else
mycmakeargs+=( -DFG_BUILD_TYPE=Release )
fi
if use gdal && use utils; then
mycmakeargs+=( -DENABLE_DEMCONVERT=ON )
else
mycmakeargs+=( -DENABLE_DEMCONVERT=OFF )
fi
cmake_src_configure
}
src_install() {
cmake_src_install
# Install bash completion (TODO zsh)
# Uncomment below when scripts stops writing files...
#sed -e "s|/usr/local/share/FlightGear|${GAMES_DATADIR}/${PN}|" \
# -i scripts/completion/fg-completion.bash || die 'unable to replace FG_ROOT'
#newbashcomp scripts/completion/fg-completion.bash ${PN}
# Install examples and other misc files
docompress -x /usr/share/doc/"${PF}"/{examples,tools}
docinto examples
dodoc -r scripts/java scripts/perl scripts/python
docinto examples/c++
dodoc -r scripts/example/*
docinto tools
dodoc -r scripts/atis scripts/tools/*
# Install nasal script syntax
insinto /usr/share/vim/vimfiles/syntax
doins scripts/syntax/{ac3d,nasal}.vim
insinto /usr/share/vim/vimfiles/ftdetect/
doins "${FILESDIR}"/{ac3d,nasal}.vim
# delete duplicate files for AppDir
rm -r "${ED}"/usr/appdir || die
}
pkg_postinst() {
xdg_pkg_postinst
if use qt6; then
einfo "To use launcher, run fgfs with '--launcher' parameter"
fi
}
Manage flags for this package:
euse -i <flag> -p games-simulation/flightgear |
euse -E <flag> -p games-simulation/flightgear |
euse -D <flag> -p games-simulation/flightgear
dev-db/sqlite:3 >=dev-games/openscenegraph-3.6.0[jpeg,png] ~dev-games/simgear-2024.1.7[gdal=] media-libs/libglvnd[X] media-libs/openal >=media-libs/plib-1.8.5 virtual/zlib:= virtual/glu x11-libs/libX11 dbus? ( >=sys-apps/dbus-1.6.18-r1 ) gdal? ( >=sci-libs/gdal-2.0.0:= ) qt6? ( dev-qt/qtbase:6[gui,network,widgets] dev-qt/qtdeclarative:6 ) udev? ( virtual/udev ) utils? ( media-libs/freeglut media-libs/freetype:2 media-libs/glew:0 media-libs/libpng:0= >=media-libs/speex-1.2.0:0 media-libs/speexdsp:0 media-sound/gsm ) dev-libs/boost x11-base/xorg-proto utils? ( x11-libs/libXi x11-libs/libXmu )
dev-db/sqlite:3 >=dev-games/openscenegraph-3.6.0[jpeg,png] ~dev-games/simgear-2024.1.7[gdal=] media-libs/libglvnd[X] media-libs/openal >=media-libs/plib-1.8.5 virtual/zlib:= virtual/glu x11-libs/libX11 dbus? ( >=sys-apps/dbus-1.6.18-r1 ) gdal? ( >=sci-libs/gdal-2.0.0:= ) qt6? ( dev-qt/qtbase:6[gui,network,widgets] dev-qt/qtdeclarative:6 ) udev? ( virtual/udev ) utils? ( media-libs/freeglut media-libs/freetype:2 media-libs/glew:0 media-libs/libpng:0= >=media-libs/speex-1.2.0:0 media-libs/speexdsp:0 media-sound/gsm ) ~games-simulation/flightgear-data-2024.1.7 qt6? ( dev-qt/qtsvg:6 )
qt6? ( dev-qt/qttools:6[linguist] )
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | flightgear-2024.1.7.tar.bz2 | 9779057 bytes | https://gitlab.com/flightgear/flightgear/-/archive/2024.1.7/flightgear-2024.1.7.tar.bz2 |