# Template file for 'falkon'
pkgname=falkon
version=26.04.3
revision=1
build_style=cmake
_llvmver=21
configure_args="
 -DBUILD_TESTING=OFF
 -DBUILD_PYTHON_SUPPORT=$(vopt_if python ON OFF)"
hostmakedepends="extra-cmake-modules gettext pkg-config
 qt6-base qt6-tools python3 kf6-kcoreaddons kf6-kconfig"
makedepends="qt6-base-private-devel qt6-plugin-mysql kf6-kconfig-devel
 qt6-plugin-sqlite qt6-declarative-devel qt6-webchannel-devel
 qt6-webengine-devel qt6-location-devel
 openssl-devel
 kf6-karchive-devel
 kf6-kcrash-devel
 kf6-kjobwidgets-devel
 kf6-kwallet-devel kf6-kio-devel kf6-purpose-devel kf6-ki18n-devel
 xcb-util-devel kf6-kcoreaddons-devel"
depends="qt6-plugin-sqlite"
checkdepends="dbus"
short_desc="Cross-platform Qt Web Browser"
maintainer="Helmut Pozimski <helmut@pozimski.eu>"
license="GPL-3.0-or-later"
homepage="https://www.falkon.org"
distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz"
checksum=dc924854caa8cceaa578dea083e44630ec48cf3d0b4f638bd7c92c7baecab90f

LDFLAGS="-Wl,--no-fatal-warnings"

if [ "$XBPS_WORDSIZE$XBPS_WORDSIZE" != "64$XBPS_TARGET_WORDSIZE" ]; then
	broken="Qt6 WebEngine"
fi
build_options="python"
build_options_default="python"

if [ "$build_option_python" ]; then
	hostmakedepends+=" python3-build python3-setuptools shiboken6 llvm${_llvmver}"
	makedepends+=" libshiboken6-devel libpyside6-devel python3-devel"
fi

if [ "$CROSS_BUILD" ]; then
	configure_args+=" -DECM_SHIBOKEN_ARCH=$XBPS_CROSS_RUST_TARGET"
	configure_args+=" -DSYSROOT_INCLUDE_DIRS=$XBPS_CROSS_BASE/usr/include"
fi
export LLVM_INSTALL_DIR=/usr/lib/llvm/${_llvmver}

case "$XBPS_TARGET_MACHINE" in
	arm*) configure_args+=" -DSHIBOKEN_GENERATOR_EXTRA_FLAGS=--clang-option=-mfloat-abi=hard" ;;
esac

do_check() {
	cd build
	# Exclude tests which fail with SIGTRAP
	dbus-run-session ctest -E "falkon-(webview|webtab|tabmodel|qml-qml(historyapi|cookiesapi|tabsapi|windowsapi))test" --output-on-failure --force-new-ctest-process
}
