# Template file for 'qt6-languageserver'
pkgname=qt6-languageserver
version=6.8.2
revision=1
build_style=cmake
configure_args="-DQT_BUILD_TESTS=ON"
hostmakedepends="qt6-base"
makedepends="qt6-base-private-devel"
short_desc="Implementation of the Language Server Protocol for Qt6"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-only WITH Qt-GPL-exception-1.0, LGPL-3.0-only, GPL-2.0-or-later"
homepage="https://www.qt.io"
distfiles="https://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtlanguageserver-everywhere-src-${version}.tar.xz"
checksum=9eeb74ac15334c08777548c01e4ede80a4e2d36f1ebcb322423f24f14c2785fb

subpackages="qt6-languageserver-private-devel qt6-languageserver-devel"

do_check() {
	cd build
	local ctest_exclude="(test_qtjsonrpc_module)"
	ctest -E "$ctest_exclude"
}

post_install() {
	rm -rf ${DESTDIR}/usr/tests
}

qt6-languageserver-private-devel_package() {
	depends="qt6-languageserver-devel>=${version}_${revision}"
	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-languageserver-devel_package() {
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/cmake
		vmove usr/lib/qt6
		vmove "usr/lib/*.so"
		vmove "usr/lib/*.prl"
	}
}
