# Contributor: ProgCat <progcat@protonmail.com>
# Maintainer: Lindsay Zhou <i@lin.moe>
maintainer="Lindsay Zhou <i@lin.moe>"
pkgname=fcitx5-qt
pkgver=5.1.9
pkgrel=0
pkgdesc="Qt library and IM module for Fcitx5"
url="https://github.com/fcitx/fcitx5-qt"
arch="all"
license="LGPL-2.1-or-later AND BSD-3-Clause"
makedepends="
	cmake
	extra-cmake-modules
	fcitx5-dev
	libxkbcommon-dev
	libxcb-dev
	libxkbcommon-dev
	libxcb-dev
	libx11-dev
	libxcb-dev
	libxkbcommon-dev
	qt5-qtbase-dev
	qt6-qtbase-dev
	qt6-qtbase-private-dev
	qt6-qtwayland-dev
	samurai
	"
subpackages="
	$pkgname-dev
	$pkgname-lang
	$pkgname-qt5
	$pkgname-qt6
	"
source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-qt/archive/refs/tags/$pkgver.tar.gz"

build() {
	# -Os segfault at
	# qt{5,6}/widgetsaddons/fcitxqtkeysequencewidget.cpp keyReleaseEvent QList<Key>({key})
	CXXFLAGS="$CXXFLAGS -flto=auto -O2 -DNDEBUG" \
	cmake -B build -G Ninja \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DBUILD_SHARED_LIBS=True \
		-DCMAKE_BUILD_TYPE=None \
		-DENABLE_QT4=Off \
		-DENABLE_QT6=ON
	cmake --build build
}

check() {
	ctest --test-dir build
}

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

qt5() {
	pkgdesc="$pkgdesc (Qt5)"
	install_if="$pkgname=$pkgver-r$pkgrel qt5-qtbase-x11"

	amove usr/lib/libFcitx5Qt5*
	amove usr/lib/qt5
	amove usr/libexec/fcitx5-qt5-gui-wrapper
	amove usr/share/applications/org.fcitx.fcitx5-qt5-gui-wrapper.desktop
}

qt6() {
	pkgdesc="$pkgdesc (Qt6)"
	install_if="$pkgname=$pkgver-r$pkgrel qt6-qtbase-x11"

	amove usr/lib/libFcitx5Qt6*
	amove usr/lib/fcitx5/qt6
	amove usr/lib/qt6
}

sha512sums="
4311134759f97617b727d152a878129c2a8d739d1d772748962f052512cd7eb2f74579fc68b29a7237f73a04f73c1a76db3467dacb65e30c9fc5cf7d0f1533e0  fcitx5-qt-5.1.9.tar.gz
"
