# Template file for 'mutter'
pkgname=mutter
version=43.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 -Dtests=false"
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 libgudev-devel libwacom-devel"
depends="gsettings-desktop-schemas desktop-file-utils zenity"
short_desc="Wayland display server, X11 window manager and compositor library"
maintainer="Michal Vasilek <michal@vasilek.cz>"
license="GPL-2.0-or-later"
homepage="https://wiki.gnome.org/Projects/Mutter/"
changelog="https://gitlab.gnome.org/GNOME/mutter/-/raw/gnome-43/NEWS"
distfiles="${GNOME_SITE}/mutter/${version%.*}/mutter-${version}.tar.xz"
checksum=67be4820d9b270c9c3c65e38947bf052d2c2ff18ae9e70421d49259efac00a7d
shlib_provides="libmutter-clutter-11.so libmutter-cogl-11.so
 libmutter-cogl-pango-11.so"
make_check=no # needs a full graphical session

# 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
}

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-11|g' \
		 -i ${DESTDIR}/usr/lib/pkgconfig/libmutter-11.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-11/*.gir"
		vmove "usr/lib/*.so"
	}
}
