summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabian Bornschein2021-05-24 00:21:57 +0200
committerFabian Bornschein2021-05-24 00:21:57 +0200
commitbb2838efb11e7a0c1135e358754ff184bf3a9bd4 (patch)
tree54d6910a0f7ac9c4851bf9642ff174042918535c
downloadaur-bb2838efb11e7a0c1135e358754ff184bf3a9bd4.tar.gz
No one is perfect – that’s why pencils have erasers. -- Wolfgang Riebe
-rw-r--r--.SRCINFO41
-rw-r--r--PKGBUILD74
-rw-r--r--mutter.install7
3 files changed, 122 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..dd34ebe59d2b
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,41 @@
+pkgbase = mutter-oldstable
+ pkgdesc = A window manager for GNOME
+ pkgver = 3.38.4
+ pkgrel = 2
+ url = https://gitlab.gnome.org/GNOME/mutter
+ install = mutter.install
+ arch = x86_64
+ groups = gnome-oldstable
+ license = GPL
+ checkdepends = xorg-server-xvfb
+ checkdepends = pipewire-media-session
+ makedepends = gobject-introspection
+ makedepends = git
+ makedepends = egl-wayland
+ makedepends = meson
+ makedepends = xorg-server
+ depends = dconf
+ depends = gobject-introspection-runtime
+ depends = gsettings-desktop-schemas-oldstable
+ depends = libcanberra
+ depends = startup-notification
+ depends = zenity
+ depends = libsm
+ depends = gnome-desktop
+ depends = upower
+ depends = libxkbcommon-x11
+ depends = gnome-settings-daemon-oldstable
+ depends = libgudev
+ depends = libinput
+ depends = pipewire
+ depends = xorg-xwayland
+ depends = graphene
+ depends = libxkbfile
+ provides = libmutter-7.so
+ conflicts = mutter
+ replaces = mutter
+ source = git+https://gitlab.gnome.org/GNOME/mutter.git#commit=ffd8b25c986bce4d7707bee099a72f3cf54d93e2
+ sha256sums = SKIP
+
+pkgname = mutter-oldstable
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..f51f2d461d73
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,74 @@
+# Maintainer: Fabian Bornschein <fabiscafe-cat-mailbox-dog-org>
+# Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
+
+pkgname=mutter-oldstable
+pkgver=3.38.4
+pkgrel=2
+pkgdesc="A window manager for GNOME"
+url="https://gitlab.gnome.org/GNOME/mutter"
+conflicts=("mutter")
+provides=("mutter=$pkgver")
+replaces=("mutter")
+arch=(x86_64)
+license=(GPL)
+depends=(dconf gobject-introspection-runtime gsettings-desktop-schemas-oldstable
+ libcanberra startup-notification zenity libsm gnome-desktop upower
+ libxkbcommon-x11 gnome-settings-daemon-oldstable libgudev libinput pipewire
+ xorg-xwayland graphene libxkbfile)
+makedepends=(gobject-introspection git egl-wayland meson xorg-server)
+checkdepends=(xorg-server-xvfb pipewire-media-session)
+provides=(libmutter-7.so)
+groups=(gnome-oldstable)
+install=mutter.install
+_commit=ffd8b25c986bce4d7707bee099a72f3cf54d93e2 # tag/3.38.4
+source=("git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd mutter
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd mutter
+}
+
+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 installed_tests=false \
+ -D profiler=false
+ meson compile -C build
+}
+
+_check() (
+ mkdir -p -m 700 "${XDG_RUNTIME_DIR:=$PWD/runtime-dir}"
+ glib-compile-schemas "${GSETTINGS_SCHEMA_DIR:=$PWD/build/data}"
+ export XDG_RUNTIME_DIR GSETTINGS_SCHEMA_DIR
+
+ pipewire &
+ _p1=$!
+
+ pipewire-media-session &
+ _p2=$!
+
+ trap "kill $_p1 $_p2; wait" EXIT
+
+ meson test -C build --print-errorlogs || true
+)
+
+check() {
+# Check might fail without clean build env. Continue building in any case.
+ dbus-run-session xvfb-run \
+ -s '-screen 0 1920x1080x24 -nolisten local +iglx -noreset' \
+ bash -c "$(declare -f _check); _check"
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install -C build
+}
diff --git a/mutter.install b/mutter.install
new file mode 100644
index 000000000000..e419c628d76e
--- /dev/null
+++ b/mutter.install
@@ -0,0 +1,7 @@
+post_install() {
+ setcap cap_sys_nice+ep usr/bin/mutter
+}
+
+post_upgrade() {
+ post_install
+}