# Template file for 'qt6-quick3d'
pkgname=qt6-quick3d
version=6.8.2
revision=1
build_style=cmake
hostmakedepends="perl qt6-declarative-host-tools qt6-shadertools"
makedepends="qt6-base-private-devel qt6-declarative-private-devel
 qt6-shadertools-devel qt6-quicktimeline libassimp-devel"
short_desc="Cross-platform application and UI framework - Quick3d"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-or-later"
homepage="https://qt.io/"
distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtquick3d-everywhere-src-${version}.tar.xz"
checksum=084cebccb8c5b1c6bafb7756ab89b08ced23c20cd2e996ed54909a154a9f0b6d

subpackages="qt6-quick3d-tools qt6-quick3d-private-devel qt6-quick3d-devel"
if [ "$CROSS_BUILD" ]; then
	hostmakedepends+=" qt6-quick3d-tools"
	configure_args="-DQT_FORCE_BUILD_TOOLS=true"
fi

if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
	# possibly a qt6-shadertools bug, actually
	broken="Shader baking failed: Cannot resolve expression type."
fi

do_check() {
	cd build
	ctest -E tst_qquick3drotationdata
}

post_install() {
	rm -rf ${DESTDIR}/usr/tests
	# Maybe new package for embree?
	rm -rf ${DESTDIR}/usr/lib/libQt6BundledEmbree.a
}

qt6-quick3d-private-devel_package() {
	depends="qt6-quick3d-devel>=${version}_${revision}
	 qt6-declarative-private-devel"
	short_desc+=" - private development files"
	pkg_install() {
		for dir in $(cd ${DESTDIR} && find usr/include -type d -name private); do
			vmove "$dir"
		done
		vmove "usr/lib/cmake/*Private"
		vmove "usr/lib/qt6/metatypes/*private_*_metatypes.json"
		vmove "usr/lib/qt6/mkspecs/modules/*_private.pri"
		vmove "usr/lib/qt6/modules/*Private.json"
	}
}

qt6-quick3d-tools_package() {
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc+=" - Tools"
	pkg_install() {
		vmove usr/lib/qt6/bin
		vmove "usr/lib/cmake/*Tools"
	}
}

qt6-quick3d-devel_package() {
	depends="qt6-quick3d-tools>=${version}_${revision} qt6-base-devel"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/cmake
		vmove usr/lib/qt6/metatypes
		vmove usr/lib/pkgconfig
		vmove usr/lib/qt6/mkspecs
		vmove "usr/lib/*.so"
		vmove "usr/lib/*.prl"
		vmove usr/lib/qt6/modules
	}
}
