# Template file for 'openmw'
pkgname=openmw
version=0.50.0
revision=3
build_style=cmake
_recast_commit=c393777d26d2ff6519ac23612abf8af42678c9dd
_bullet_tag=3.25
# System bullet doesn't use double precision (double precision would break vdrift)
# LTO gives a measurable performance boost, while not hurting compile time too much
configure_args="-DOPENMW_USE_SYSTEM_BULLET=OFF -DOPENMW_USE_SYSTEM_MYGUI=ON
 -DOPENMW_LTO_BUILD=ON -DFETCHCONTENT_FULLY_DISCONNECTED=On"
hostmakedepends="pkg-config qt6-base qt6-tools"
makedepends="SDL2-devel boost-devel-minimal libboost_filesystem
 libboost_iostreams libboost_program_options ffmpeg6-devel libXt-devel
 libmygui-devel libopenal-devel libunshield-devel osg-devel qt6-svg-devel
 liblz4-devel yaml-cpp-devel LuaJIT-devel"
short_desc="Open Implementation of Morrowind's Engine"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-or-later"
homepage="http://openmw.org"
changelog="https://openmw.org/2025/openmw-0-50-0-released/"
distfiles="https://gitlab.com/OpenMW/openmw/-/archive/openmw-${version}/openmw-openmw-${version}.tar.gz
 https://github.com/recastnavigation/recastnavigation/archive/${_recast_commit}.tar.gz
 https://github.com/bulletphysics/bullet3/archive/refs/tags/${_bullet_tag}.tar.gz"
checksum="7093a8cef26585220658569eb84636c5ab901e82f74c8a3f7a3a8aec35bfc54c
 fa8b901651017b20a38996bbab2d205d244328ed11778b53224282e9884e6c91
 c45afb6399e3f68036ddb641c6bf6f552bf332d5ab6be62f7e6c54eda05ceb77"

skip_extraction="${_recast_commit}.tar.gz ${_bullet_tag}.tar.gz"

if [ "$XBPS_TARGET_ENDIAN" != "le" ]; then
	broken="https://gitlab.com/OpenMW/openmw/issues/564"
fi

if [ "$CROSS_BUILD" ]; then
	configure_args+=" -DRUN_RESULT_VAR=0"
fi

post_extract() {
	mkdir -p build/fetched/recastnavigation \
		build/fetched/bullet \
		build/extern
	ln -s -r build/fetched extern/fetched
	ln -s -r build/fetched build/extern/fetched
	ln -s -r build/fetched components/fetched
	ln -s -r build/fetched fetched

	vsrcextract -C build/fetched/recastnavigation "${_recast_commit}.tar.gz"
	vsrcextract -C build/fetched/bullet "${_bullet_tag}.tar.gz"
}

openmw-cs_package() {
	short_desc="Open Implementation of Morrowinds Creation Set"
	depends="openmw-${version}_${revision}"
	pkg_install() {
		vmove usr/bin/openmw-cs
		vmove usr/share/applications/org.openmw.cs.desktop
		vmove usr/share/pixmaps/openmw-cs.png
		vmove etc/openmw/defaults-cs.bin
	}
}

esmtool_package() {
	short_desc="Tool for inspecting and extracting Morrowind's ES files"
	pkg_install() {
		vmove usr/bin/esmtool
	}
}

bsatool_package() {
	short_desc="Tool for inspecting Bethesda's BSA archives"
	pkg_install() {
		vmove usr/bin/bsatool
	}
}
