summaryrefslogtreecommitdiff
path: root/games-simulation/flightgear/flightgear-2020.3.18.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'games-simulation/flightgear/flightgear-2020.3.18.ebuild')
-rw-r--r--games-simulation/flightgear/flightgear-2020.3.18.ebuild170
1 files changed, 170 insertions, 0 deletions
diff --git a/games-simulation/flightgear/flightgear-2020.3.18.ebuild b/games-simulation/flightgear/flightgear-2020.3.18.ebuild
new file mode 100644
index 000000000000..eed1f6471442
--- /dev/null
+++ b/games-simulation/flightgear/flightgear-2020.3.18.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Open Source Flight Simulator"
+HOMEPAGE="https://www.flightgear.org/"
+SRC_URI="mirror://sourceforge/flightgear/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="cpu_flags_x86_sse2 dbus debug examples gdal openmp qt5 +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
+COMMON_DEPEND="
+ dev-db/sqlite:3
+ dev-games/openscenegraph[jpeg,png]
+ ~dev-games/simgear-${PV}[gdal=]
+ media-libs/openal
+ >=media-libs/plib-1.8.5
+ >=media-libs/speex-1.2.0:0
+ media-libs/speexdsp:0
+ media-sound/gsm
+ sys-libs/zlib
+ virtual/glu
+ x11-libs/libX11
+ dbus? ( >=sys-apps/dbus-1.6.18-r1 )
+ gdal? ( >=sci-libs/gdal-2.0.0:= )
+ qt5? (
+ >=dev-qt/qtcore-5.7.1:5
+ >=dev-qt/qtdeclarative-5.7.1:5
+ >=dev-qt/qtgui-5.7.1:5
+ >=dev-qt/qtnetwork-5.7.1:5
+ >=dev-qt/qtwidgets-5.7.1:5
+ )
+ udev? ( virtual/udev )
+ utils? (
+ media-libs/freeglut
+ media-libs/freetype:2
+ media-libs/glew:0
+ media-libs/libpng:0
+ virtual/opengl
+ qt5? ( >=dev-qt/qtwebsockets-5.7.1:5 )
+ )
+"
+# libXi and libXmu are build-only-deps according to FindGLUT.cmake
+DEPEND="${COMMON_DEPEND}
+ dev-libs/boost
+ utils? (
+ x11-libs/libXi
+ x11-libs/libXmu
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ ~games-simulation/${PN}-data-${PV}
+"
+BDEPEND="qt5? ( >=dev-qt/linguist-tools-5.7.1:5 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2020.3.8-cmake.patch"
+)
+
+DOCS=(AUTHORS ChangeLog NEWS README Thanks)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=OFF
+ -DENABLE_AUTOTESTING=OFF
+ -DENABLE_COMPOSITOR=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_OPENMP=$(usex openmp)
+ -DENABLE_PLIB_JOYSTICK=ON # NOTE look for defaults changes in CMake
+ -DENABLE_PROFILE=OFF
+ -DENABLE_QT=$(usex qt5)
+ -DENABLE_RTI=OFF
+ -DENABLE_SIMD=$(usex cpu_flags_x86_sse2)
+ -DENABLE_STGMERGE=ON
+ -DENABLE_SWIFT=OFF # swift pilot client not packaged yet
+ -DENABLE_TERRASYNC=$(usex utils)
+ -DENABLE_TRAFFIC=$(usex utils)
+ -DENABLE_UIUC_MODEL=ON
+ -DENABLE_YASIM=ON
+ -DEVENT_INPUT=$(usex udev)
+ -DFG_BUILD_TYPE=Release
+ -DFG_DATA_DIR=/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
+ -DUSE_AEONWAVE=OFF
+ -DUSE_DBUS=$(usex dbus)
+ -DWITH_FGPANEL=$(usex utils)
+ )
+ if use gdal && use utils; then
+ mycmakeargs+=(-DENABLE_DEMCONVERT=ON)
+ else
+ mycmakeargs+=(-DENABLE_DEMCONVERT=OFF)
+ fi
+ if use qt5 && use utils; then
+ mycmakeargs+=(-DENABLE_FGQCANVAS=ON)
+ else
+ mycmakeargs+=(-DENABLE_FGQCANVAS=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
+ if use examples; then
+ 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/*
+ fi
+
+ # 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
+}
+
+pkg_postinst() {
+ if use qt5; then
+ einfo "To use launcher, run fgfs with '--launcher' parameter"
+ fi
+}