# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=flightgear
pkgver=2024.1.1
pkgrel=0
pkgdesc="Flight Gear Flight Simulator"
url="http://flightgear.org"
arch="all !riscv64 !x86 !armhf !armv7" # limited by openscenegraph and build compatibility
license="GPL-2.0-or-later"
makedepends="
	boost-dev
	cmake
	curl-dev
	dbus-dev
	eudev-dev
	glew-dev
	libevent-dev
	libx11-dev
	libxi-dev
	libxmu-dev
	mesa-dev
	openal-soft-dev
	openscenegraph-dev
	plib
	qt5-qtbase-dev
	qt5-qtdeclarative-dev
	qt5-qttools-dev
	qt5-qtsvg-dev
	samurai
	simgear-dev~$pkgver
	zlib-dev
	"
install="$pkgname.post-install"
subpackages="
	$pkgname-dbg
	$pkgname-doc
	$pkgname-bash-completion
	$pkgname-zsh-completion
	"
options="!check" # FIXME test suite does not get built
source="
	https://gitlab.com/flightgear/flightgear/-/archive/v$pkgver/flightgear-v$pkgver.tar.bz2
	no-execinfo.patch
	musl-fenv.patch
	musl-fix_error_h.patch
	musl-fix_feenableexcept.patch
	musl-fix_fd_set.patch
	musl-fix_fpos_t.patch
	musl-include-fcntl.patch
	flightgear-data-downloader.sh
	"
builddir="$srcdir/$pkgname-v$pkgver"

build() {
	# reduce size of debug syms
	CFLAGS="$CFLAGS -g1" CXXFLAGS="$CXXFLAGS -g1" \
	cmake -B build -G Ninja \
		-D BUILD_TESTING="$(want_check && echo ON || echo OFF)" \
		-D CMAKE_BUILD_TYPE=Release \
		-D CMAKE_INSTALL_PREFIX=/usr \
		-D CMAKE_INSTALL_SYSCONFDIR=/etc/$pkgname \
		-D FG_DATA_DIR=/var/lib/$pkgname \
		-D SimGear_DIR=/usr/lib/cmake/SimGear
	cmake --build build
}

check() {
	ninja -C build test
}

package() {
	DESTDIR="$pkgdir" cmake --install build

	install -Dm755 "$srcdir"/flightgear-data-downloader.sh "$pkgdir"/usr/bin/flightgear-data-downloader
	sed -i -e "s/%FGDATA_VERSION%/$pkgver/" "$pkgdir"/usr/bin/flightgear-data-downloader
}

sha512sums="
796b174bf95b4044591ca3d7fb349de6d72d3f469f94677dd368a7a8ea3d420cda270ce9ae7b834aece181274a98a48e8ef08380213a8f6be19b102896978de8  flightgear-v2024.1.1.tar.bz2
321ff17ec98889356de0f91a9f6c14f05ccae7ffcf6e35b9a97ce396ec436b791717e7d3fa4c0e80a530c595c68b362e5dce2e94d746a5451bcacae512ad7a82  no-execinfo.patch
2d747fcd1357c15c9af3efad5e5f909525618422c31c67b7f7bcec6b08716df8be5e83352bae2f1ad16731ef80e4f06a54ad5d7e64c2135c19213113b9130917  musl-fenv.patch
4acf15e345d86cf55cde08841e9a3414458786e12409356f245f4d3a178063be72abf14510879876e03d0c4e2bad9f326ebf01eb7cff560d450f51abbeda7e9f  musl-fix_error_h.patch
25e24c87492cfba8e7a24dff3cc863c0087e25bc836ddbdf086562712dd9d08fd0dcfb82686791d5c835ce9ac80ac73d93d90f51b48c2f076488fe25ccbd94be  musl-fix_feenableexcept.patch
20287c01cc40b7c6ee2cf73fcc9582daa4f0a25d900c86f28e22b2139ad04f8e36ed902c5609c9cb347cbe5c094f53215d502c2ddf1fb3912d5bb4a5680c09cb  musl-fix_fd_set.patch
47d3672d5b019997b47d3547fb017197d591e519871e72812a7704e4880b17b27c8a8dafb26774d575d71c99ff5d6a70db48089152ce83ede92fe6fd7434b4fd  musl-fix_fpos_t.patch
faf161b28452ffb75d906552f642def73b79542c3e660f075ebbd73d77541743a1c4d8ad2cbb9bd53dc9f83e753af13fed6f1b1d4891be78616f35e3b2a410f5  musl-include-fcntl.patch
fc350ca635981a0c0936aee13e11913c7f78cd31716ab1bf7edb060fc934a2b61913e722b32a9deacb19f2eef58f374a96fe9cc821cae7c38cf579d18adc860f  flightgear-data-downloader.sh
"
