# 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-qtdeclarative
pkgver=6.8.3
pkgrel=0
pkgdesc="Classes for QML and JavaScript languages"
url="https://qt.io/"
# armhf is utterly broken, https://bugreports.qt.io/browse/QTBUG-65246
# Better not ship it at all than ship something so broken
arch="all !armhf"
license="LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0"
depends_dev="
	qt6-qtshadertools-dev
	vulkan-headers
	"
makedepends="
	$depends_dev
	cmake
	lttng-ust-dev
	perl
	qt6-qtbase-dev
	qt6-qtbase-private-dev
	qt6-qtlanguageserver-dev
	samurai
	"
subpackages="
	$pkgname-private-dev:private_dev
	$pkgname-dev
	"
options="!check" # No tests
builddir="$srcdir/qtdeclarative-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/qtdeclarative-everywhere-src-${pkgver/_/-}.tar.xz"
options="!check" # No usable tests

_qt6_prefix=usr/lib/qt6

build() {
	export PATH="$PATH:/usr/lib/qt6/bin"
	export CFLAGS="$CFLAGS -flto=auto"
	export CXXFLAGS="$CXXFLAGS -flto=auto"
	cmake -B build -G Ninja \
		-DCMAKE_BUILD_TYPE=RelWithDebInfo \
		-DINSTALL_PUBLICBINDIR=usr/bin \
		-DCMAKE_INSTALL_PREFIX=/usr
	cmake --build build
}

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

	# install symlinks for user-facing tools
	cd "$pkgdir"
	mkdir -p usr/bin
	local line
	while read -r line; do
		ln -sfv $line
	done < "$builddir"/build/user_facing_tool_links.txt
}

dev() {
	default_dev

	# move created symlinks- all dev binaries
	amove usr/bin

	find "$pkgdir"/"$_qt6_prefix"/bin/ -type f ! -name "qmlscene" | while read -r f; do
		file=$(basename $f)
		amove "$_qt6_prefix"/bin/$file
	done

	amove usr/lib/qt6/sbom
}

private_dev() {
	depends="qt6-qtbase-private-dev"

	local file; find "$pkgdir"/usr/include -type d -name private | while read -r file; do
		amove "${file#"$pkgdir"}"
	done

	amove usr/lib/cmake/*Private
	amove usr/lib/qt6/metatypes/*private_*_metatypes.json
	amove usr/lib/qt6/modules/*Private.json
}

sha512sums="
75c9fdc8ba26ef95ae8ff0c82b18589b74d7ff3065e86e5bd8427bc36336e569eaa22fa07863f99d0592eec0c1a69c3409c7b3941eae14361ff523c058e56084  qtdeclarative-everywhere-src-6.8.3.tar.xz
"
