# Template file for 'mutter'
pkgname=mutter
version=3.38.3
revision=1
build_helper="gir"
build_style=meson
configure_args="-Degl_device=true -Dudev=true -Dnative_backend=true
 -Dprofiler=false -Dintrospection=true -Dxwayland_path=/usr/bin/Xwayland
 -Dxwayland_initfd=disabled"
hostmakedepends="gettext glib-devel pkg-config zenity wayland-devel xorg-server
 xorg-server-xwayland"
makedepends="elogind-devel glib-devel gnome-desktop-devel graphene-devel
 json-glib-devel libglib-devel libSM-devel libXtst-devel libcanberra-devel
 libinput-devel MesaLib-devel pipewire-devel startup-notification-devel
 wayland-protocols gnome-settings-daemon-devel"
depends="gsettings-desktop-schemas desktop-file-utils zenity"
short_desc="Lightweight GTK+3 window manager"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="GPL-2.0-or-later"
homepage="https://wiki.gnome.org/Projects/Mutter/"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
checksum=b2321e73d1e3fe2e90e6301f42bba07f4d94bc64756a2bf13d75ae9d6faa201f
shlib_provides="libmutter-clutter-7.so libmutter-cogl-7.so
 libmutter-cogl-pango-7.so libmutter-cogl-path-7.so"

# Upstream keeps pulling generated headers even though it can cause race
# conditions in meson/ninja
pre_build() {
	ninja ${makejobs} -C build src/meta-dbus-display-config.h
}

# needs X
do_check() {
	:
}

post_install() {
	# modify the pkg-config files to respect ${pc_sysrootdir} for variables that are
	# meant to be called with 'pkg-config --variable'
	vsed -e 's|^girdir.*|girdir=${pc_sysrootdir}/${libdir}/mutter-7|g' \
		 -e 's|^typelibdir.*|typelibdir=${pc_sysrootdir}/${libdir}/mutter-7|g' \
		 -i ${DESTDIR}/usr/lib/pkgconfig/libmutter-7.pc
}

mutter-devel_package() {
	depends="gtk+3-devel graphene-devel clutter-devel
	 libX11-devel libXtst-devel mutter-${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/pkgconfig
		vmove "usr/lib/mutter-7/*.gir"
		vmove "usr/lib/*.so"
	}
}
