# Template file for 'ibus'
pkgname=ibus
version=1.5.30
revision=2
build_style=gnu-configure
build_helper="gir"
configure_args="--enable-ui --enable-gtk3 --enable-gtk4
 --enable-memconf --enable-dconf --enable-wayland --enable-xim
 --disable-tests --disable-schemas-compile --disable-systemd-services
 --with-python=/usr/bin/python3 --disable-python2
 $(vopt_enable dicts emoji-dict) $(vopt_enable dicts unicode-dict)
 --enable-introspection --enable-vala $(vopt_enable ibus_setup setup)"
hostmakedepends="pkg-config libtool gettext-devel
 dconf python3-setuptools glib-devel vala automake gtk-doc
 $(vopt_if dicts 'cldr-emoji-annotation unicode-character-database unicode-emoji')"
makedepends="dconf-devel gtk+-devel gtk+3-devel gtk4-devel hicolor-icon-theme
 iso-codes json-glib-devel libnotify-devel librsvg-devel python3-xdg
 vala libXtst-devel libdbusmenu-gtk3-devel"
depends="hicolor-icon-theme iso-codes setxkbmap dconf python3-xdg
 dbus-x11 ibus-gtk+3 $(vopt_if ibus_setup 'python3-gobject>=3.12.1_3')"
short_desc="Intelligent Input Bus"
maintainer="oreo639 <oreo6391@gmail.com>"
license="LGPL-2.1-or-later"
homepage="https://github.com/ibus/ibus"
distfiles="https://github.com/ibus/ibus/releases/download/${version}/ibus-${version}.tar.gz"
checksum=05b84d4a45139face161596e5ade8e6c5da55cfaf6f194861da66516190f5b96

build_options="ibus_setup dicts"
desc_option_ibus_setup="Enable support for building the ibus setup UI"
build_options_default="ibus_setup dicts"

post_configure() {
	# Force re-generate valac files for gcc 14
	make -C ui/gtk3 maintainer-clean-generic
}

pre_build() {
	[ -n "${CROSS_BUILD}" ] || return 0

	# TODO: fix this hack!
	#
	# GIR_EXTRA_LIBS_PATH in g-ir-scanner-qemuwrapper is not being honored,
	# and the linker cannot find libibus-1.0.so.5 when scanning. Linking
	# the missing library alongside the scanner targets is sufficient.
	local s d

	s="${wrksrc}/src/.libs/libibus-1.0.so.5"
	for d in tools bindings/vala client/wayland; do
		mkdir -p "${d}/.libs"
		ln -Tsf "${s}" "${d}/.libs/libibus-1.0.so.5"
	done
}

post_install() {
	vinstall bindings/pygobject/gi/overrides/IBus.py 644 ${py3_sitelib}/gi/overrides
}

ibus-gtk+_package() {
	short_desc+=" - GTK+ IME plugin (X11)"
	pkg_install() {
		vmove usr/lib/gtk-2.0
	}
}

ibus-gtk+3_package() {
	short_desc+=" - GTK+3 IME plugin (X11)"
	pkg_install() {
		vmove usr/lib/gtk-3.0
	}
}

ibus-gtk4_package() {
	short_desc+=" - GTK4 IME plugin (X11)"
	pkg_install() {
		vmove usr/lib/gtk-4.0
	}
}

libibus_package() {
	short_desc+=" - libraries"
	pkg_install() {
		vmove "usr/lib/libibus*.so.*"
		vmove usr/share/ibus
		vmove usr/share/locale
	}
}

ibus-devel_package() {
	depends="libglib-devel ibus-${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/pkgconfig
		vmove "usr/lib/*.so"
		vmove usr/share/gettext
		vmove usr/share/gtk-doc
		vmove usr/share/gir-1.0
		vmove usr/share/vala
	}
}
