summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD86
1 files changed, 86 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..1c18977e6995
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,86 @@
+# Maintainer: Luo Yi <langisme@qq.com>
+
+# Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
+
+pkgname=mutter-rounded
+pkgver=40.4
+pkgrel=1
+pkgdesc="A window manager for GNOME, with rounded corners patch"
+url="https://gitlab.gnome.org/GNOME/mutter"
+arch=(x86_64)
+license=(GPL)
+depends=(dconf gobject-introspection-runtime gsettings-desktop-schemas
+ libcanberra startup-notification zenity libsm gnome-desktop upower
+ libxkbcommon-x11 gnome-settings-daemon libgudev libinput pipewire
+ xorg-xwayland graphene libxkbfile)
+makedepends=(gobject-introspection git egl-wayland meson xorg-server)
+checkdepends=(xorg-server-xvfb pipewire-media-session)
+provides=(mutter libmutter-8.so)
+conflicts=(mutter)
+groups=(gnome)
+install=mutter.install
+_commit=2bfef7dbdc6f432a5433c93c1fcdbf00099367c8 # tags/40.3^0
+source=("$pkgname::git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit"
+ "rounded_corners_${pkgver}.patch"
+ "meta_clip_effect.c"
+ "meta_clip_effect.h"
+ "mutter_setting::https://gitlab.gnome.org/lluo/mutter-rounded-setting/uploads/7370b166a10976a0846b57a5ebbe2737/main.js")
+sha256sums=('SKIP'
+ '993cb349226afe198771bdca32c225d1bf663b2b14a3454270fa0b64f4e19cab'
+ '1d4757a46db018f0ac080787c372a01f563499a19c6315fd1b4c3610f450b041'
+ '2a4670913601b97f809a486da7c11b4e14472f62211154d5a417d3b3e4d77859'
+ '08a3dbbea7205cdc422901f9b78fd5fbe95bf7378197f33a07bf70a342f35dc5')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ sed -i '1i\#!/usr/bin/gjs' mutter_setting
+
+ cd $pkgname
+ cp $srcdir/meta_clip_effect.[ch] $srcdir/$pkgname/src
+ patch -p1 < $srcdir/rounded_corners_${pkgver}.patch
+}
+
+build() {
+ CFLAGS="${CFLAGS/-O2/-O3} -fno-semantic-interposition"
+ LDFLAGS+=" -Wl,-Bsymbolic-functions"
+ arch-meson $pkgname 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
+)
+
+check() {
+ dbus-run-session xvfb-run \
+ -s '-screen 0 1920x1080x24 -nolisten local +iglx -noreset' \
+ bash -c "$(declare -f _check); _check"
+}
+
+package() {
+ meson install -C build --destdir "$pkgdir"
+ install mutter_setting $pkgdir/usr/bin/
+}