# The group tag is just to easily find this APKBUILD by some scripts for automation
# group=qt6
maintainer="Bart Ribbers <bribbers@disroot.org>"
pkgname=qt6-qttools
pkgver=6.8.2
pkgrel=0
_llvmver=19
pkgdesc="A cross-platform application and UI framework (Development Tools, QtHelp)"
url="https://qt.io/"
arch="all"
license="LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0"
depends_dev="$pkgname=$pkgver-r$pkgrel
	qt6-qtdeclarative-dev
	vulkan-headers
	"
# -static not used but needed for cmake
makedepends="$depends_dev
	clang$_llvmver-dev
	clang$_llvmver-extra-tools
	clang$_llvmver-static
	cmake
	llvm$_llvmver-dev
	llvm$_llvmver-gtest
	llvm$_llvmver-static
	perl
	qt6-qtbase
	samurai
	"
checkdepends="xvfb-run"
subpackages="$pkgname-dev $pkgname-libs"
builddir="$srcdir/qttools-everywhere-src-${pkgver/_/-}"

case $pkgver in
	*_alpha*|*_beta*|*_rc*) _rel=development_releases;;
	*) _rel=official_releases;;
esac

source="https://download.qt.io/$_rel/qt/${pkgver%.*}/${pkgver/_/-}/submodules/qttools-everywhere-src-${pkgver/_/-}.tar.xz"
options="!check" # Tests aren't found

build() {
	# their cmake uses the clang_include_dirs only, but our llvm include dirs
	# are in another castle
	export CXXFLAGS="$CXXFLAGS -flto=auto -U_FORTIFY_SOURCE -I/usr/include/llvm$_llvmver"
	export CFLAGS="$CFLAGS -flto=auto"
	export PATH="/usr/lib/llvm$_llvmver/bin:$PATH"
	cmake -B build -G Ninja \
		-DCMAKE_BUILD_TYPE=RelWithDebInfo \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DINSTALL_PUBLICBINDIR=usr/bin
	cmake --build build
}

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

	cd "$pkgdir"
	mkdir -p usr/bin

	while read -r line; do
		ln -s $line
	done < "$builddir"/build/user_facing_tool_links.txt
}

dev() {
	default_dev

	amove usr/lib/qt6/sbom
}

sha512sums="
ad448af0656640a712eefe81fc4291209dec27fe10d42dfb68c7c31e65003653fb3821996f44c50d8ab4371853a18cfc0b4032f7876ce6c75d0fb9b4fe91ca27  qttools-everywhere-src-6.8.2.tar.xz
"
