blob: e42c808e8cccfea4f40048ccf4f97d975fce26aa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
# Patched package:
# Maintainer: Luo Yi <langisme_at_qq_dot_com>
# Contributor: Joakim Soderlund <joakim.soderlund@gmail.com>
# Official package:
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
pkgbase=mutter-rounded
pkgname=(mutter-rounded mutter-docs)
pkgver=42.0
pkgrel=1
pkgdesc="A window manager for GNOME, with rounded corners patch (integrate mr1441)"
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
libxkbcommon-x11 gnome-settings-daemon libgudev libinput pipewire
xorg-xwayland graphene libxkbfile libsysprof-capture)
makedepends=(gobject-introspection git egl-wayland meson xorg-server
wayland-protocols sysprof gi-docgen)
checkdepends=(xorg-server-xvfb python-dbusmock wireplumber)
options=(debug)
_commit=9249aba72a5c4454894c08735a4963ca1665e34d # tag/42.0^0
_mutter_src="$pkgname::git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit"
_shell_blur_h_src="https://gitlab.gnome.org/GNOME/gnome-shell/-/raw/${pkgver}/src/shell-blur-effect.h"
_shell_blur_c_src="https://gitlab.gnome.org/GNOME/gnome-shell/-/raw/${pkgver}/src/shell-blur-effect.c"
_settings_src="mutter_settings::git+https://github.com/yilozt/mutter-rounded-setting"
# Mirrors in Gitee
if [ "${LANG}" = "zh_CN.UTF-8" ] ; then
_mutter_src="$pkgname::git+https://gitee.com/mirrors_GNOME/mutter.git#commit=$_commit"
_settings_src="mutter_settings::git+https://gitee.com/lluo/mutter-rounded-setting/"
fi
source=("$_mutter_src"
"$_settings_src"
"rounded_corners.patch"
"shell_blur_effect.patch"
"meta_clip_effect.c"
"meta_clip_effect.h"
"shader.h"
"$_shell_blur_h_src"
"$_shell_blur_c_src"
"mr1441.patch"
)
sha256sums=('SKIP'
'SKIP'
'8d68c4924abb6841c94cf4fefc5b36ecab451b3bdc45fb81ef9adcb8d3b2cfe2'
'369390774cf8607f9033a077e0ac76113ffc1c0997627949e087c757a5f41844'
'a78e0bdbf4d0b5c8c0f83ede60b531bf0d5d616bfee30293a1f27d32d738dbc6'
'2ec553a260497f0ac0180512201c9819b10159a15fcbc6d5007932d8e2a44844'
'f818921dd63cf592663817280c7481eae0852854dd4cd8865ac5fe92423c6fd5'
'8fb024306843153b28db2f5347775ef7e8add1dd846345148a572ad5336e168b'
'5093c7afd6ad66c0ee9fa1565ef61109f5edf958d1d32789a34ab41d0112771d'
'cf99896763558258f489ff0e9a1e8001f716d63b06366f740e044cc72a71d3e7')
pkgver() {
cd $pkgname
git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
}
prepare() {
sed -i '1i\#!/usr/bin/gjs' mutter_settings/dist/mutter_settings.js
mv mutter_settings/dist/mutter_settings.js mutter_settings/dist/mutter_settings
cd $pkgname
find -name "*.orig" -exec rm {} \;
cp $srcdir/*.[ch] $srcdir/$pkgname/src
patch -p1 < $srcdir/rounded_corners.patch
patch -p1 < $srcdir/shell_blur_effect.patch
# patch -p1 < $srcdir/mr1441.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 docs=true \
-D installed_tests=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=$!
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-rounded() {
provides=(libmutter-10.so mutter)
conflicts=(mutter)
install=mutter-rounded.install
meson install -C build --destdir "$pkgdir"
install mutter_settings/dist/mutter_settings $pkgdir/usr/bin/
_uuid=pickawindow@lluo.gitlab.com
_schemas=org.gnome.shell.extensions.pickawindow.gschema.xml
install -d "$pkgdir/usr/share/gnome-shell/extensions/$_uuid"
cp -r mutter_settings/$_uuid/* "$pkgdir/usr/share/gnome-shell/extensions/$_uuid/"
install -d "$pkgdir/usr/share/glib-2.0/schemas/"
ln -s "/usr/share/gnome-shell/extensions/$_uuid/schemas/$_schemas" \
"$pkgdir/usr/share/glib-2.0/schemas/"
_pick docs "$pkgdir"/usr/share/mutter-*/doc
}
package_mutter-docs() {
pkgdesc+=" (documentation)"
depends=()
mv docs/* "$pkgdir"
}
|