Skip to content
Permalink
packages/mutter
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
pkgbase=mutter
pkgname=(mutter mutter-docs)
pkgver=43.3
pkgrel=2
pkgdesc="Window manager and compositor for GNOME"
url="https://gitlab.gnome.org/GNOME/mutter"
arch=(x86_64)
license=(GPL)
depends=(
colord
dconf
gnome-desktop
gnome-settings-daemon
graphene
gsettings-desktop-schemas
lcms2
libcanberra
libgudev
libinput
libsm
libsysprof-capture
libxkbcommon-x11
libxkbfile
pipewire
startup-notification
xorg-xwayland
)
makedepends=(
egl-wayland
gi-docgen
git
gobject-introspection
meson
sysprof
wayland-protocols
xorg-server
)
checkdepends=(
python-dbusmock
wireplumber
xorg-server-xvfb
zenity
)
_commit=a63755bdad7d8bffdbbc649178d759c37dacce01 # tags/43.3^0
source=(
"git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit"
)
b2sums=('SKIP')
pkgver() {
cd mutter
git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
}
prepare() {
cd mutter
# Fix broken focus handling with XWayland
# https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2848
git cherry-pick -n d5e75bccdee7ea0e30cd860ca08ae109dcb311c8
}
build() {
CFLAGS="${CFLAGS/-O2/-O3} -fno-semantic-interposition"
LDFLAGS+=" -Wl,-Bsymbolic-functions"
arch-meson mutter build \
-D egl_device=true \
-D wayland_eglstream=true \
-D docs=true \
-D installed_tests=false
meson compile -C build
}
_check() (
export XDG_RUNTIME_DIR="$PWD/rdir" GSETTINGS_SCHEMA_DIR="$PWD/build/data"
mkdir -p -m 700 "$XDG_RUNTIME_DIR"
glib-compile-schemas "$GSETTINGS_SCHEMA_DIR"
pipewire &
_p1=$!
wireplumber &
_p2=$!
trap "kill $_p1 $_p2; wait" EXIT
meson test -C build --print-errorlogs -t 3
)
check() {
dbus-run-session xvfb-run -s '-nolisten local +iglx -noreset' \
bash -c "$(declare -f _check); _check"
}
_pick() {
local p="$1" f d; shift
for f; do
d="$srcdir/$p/${f#$pkgdir/}"
mkdir -p "$(dirname "$d")"
mv "$f" "$d"
rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
done
}
package_mutter() {
provides=(libmutter-11.so)
meson install -C build --destdir "$pkgdir"
_pick docs "$pkgdir"/usr/share/mutter-*/doc
}
package_mutter-docs() {
pkgdesc+=" (documentation)"
depends=()
mv docs/* "$pkgdir"
}
# vim:set sw=2 sts=-1 et: