db-move: moved webkitgtk-6.0 from [testing] to [extra] (x86_64)
[arch-packages.git] / mutter / trunk / PKGBUILD
blob53ce2c7449515a2e9d120f5bbcf5f6e81aa1f751
1 # Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
2 # Contributor: Ionut Biru <ibiru@archlinux.org>
3 # Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
5 pkgbase=mutter
6 pkgname=(
7   mutter
8   mutter-docs
10 pkgver=44.1
11 pkgrel=2
12 pkgdesc="Window manager and compositor for GNOME"
13 url="https://gitlab.gnome.org/GNOME/mutter"
14 arch=(x86_64)
15 license=(GPL)
16 depends=(
17   colord
18   dconf
19   gnome-desktop-4
20   gnome-settings-daemon
21   graphene
22   gsettings-desktop-schemas
23   lcms2
24   libcanberra
25   libgudev
26   libinput
27   libsm
28   libsysprof-capture
29   libxkbcommon-x11
30   libxkbfile
31   pipewire
32   startup-notification
33   xorg-xwayland
35 makedepends=(
36   egl-wayland
37   gi-docgen
38   git
39   gobject-introspection
40   meson
41   sysprof
42   wayland-protocols
43   xorg-server
45 checkdepends=(
46   python-dbusmock
47   wireplumber
48   xorg-server-xvfb
49   zenity
51 _commit=28a6447ff060ae1fbac8f20a13908d6e230eddc2  # tags/44.1^0
52 source=("git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit")
53 b2sums=('SKIP')
55 pkgver() {
56   cd mutter
57   git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
60 prepare() {
61   cd mutter
64 build() {
65   local meson_options=(
66     -D docs=true
67     -D egl_device=true
68     -D installed_tests=false
69     -D wayland_eglstream=true
70   )
72   CFLAGS="${CFLAGS/-O2/-O3} -fno-semantic-interposition"
73   LDFLAGS+=" -Wl,-Bsymbolic-functions"
75   arch-meson mutter build "${meson_options[@]}"
76   meson compile -C build
79 _check() (
80   export XDG_RUNTIME_DIR="$PWD/rdir" GSETTINGS_SCHEMA_DIR="$PWD/build/data"
81   mkdir -p -m 700 "$XDG_RUNTIME_DIR"
82   glib-compile-schemas "$GSETTINGS_SCHEMA_DIR"
84   pipewire &
85   _p1=$!
87   wireplumber &
88   _p2=$!
90   trap "kill $_p1 $_p2; wait" EXIT
92   meson test -C build --print-errorlogs -t 3
95 check() {
96   dbus-run-session xvfb-run -s '-nolisten local +iglx -noreset' \
97     bash -c "$(declare -f _check); _check"
100 _pick() {
101   local p="$1" f d; shift
102   for f; do
103     d="$srcdir/$p/${f#$pkgdir/}"
104     mkdir -p "$(dirname "$d")"
105     mv "$f" "$d"
106     rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
107   done
110 package_mutter() {
111   provides=(libmutter-12.so)
113   meson install -C build --destdir "$pkgdir"
115   _pick docs "$pkgdir"/usr/share/mutter-*/doc
118 package_mutter-docs() {
119   pkgdesc+=" (documentation)"
120   depends=()
122   mv docs/* "$pkgdir"
125 # vim:set sw=2 sts=-1 et: