OCaml 4.14.0 rebuild
[arch-packages.git] / mutter / trunk / PKGBUILD
blobf64d31503b4f8502fd828993d8169bff89e00c25
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=(mutter mutter-docs)
7 pkgver=42.3
8 pkgrel=1
9 pkgdesc="A window manager for GNOME"
10 url="https://gitlab.gnome.org/GNOME/mutter"
11 arch=(x86_64)
12 license=(GPL)
13 depends=(dconf gobject-introspection-runtime gsettings-desktop-schemas
14          libcanberra startup-notification zenity libsm gnome-desktop 
15          libxkbcommon-x11 gnome-settings-daemon libgudev libinput pipewire
16          xorg-xwayland graphene libxkbfile libsysprof-capture)
17 makedepends=(gobject-introspection git egl-wayland meson xorg-server
18              wayland-protocols sysprof gi-docgen)
19 checkdepends=(xorg-server-xvfb wireplumber python-dbusmock)
20 options=(debug)
21 _commit=1903356b45c6c884a0451580f32494ff1288656d  # tags/42.3^0
22 source=("git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit")
23 sha256sums=('SKIP')
25 pkgver() {
26   cd mutter
27   git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
30 prepare() {
31   cd mutter
34 build() {
35   CFLAGS="${CFLAGS/-O2/-O3} -fno-semantic-interposition"
36   LDFLAGS+=" -Wl,-Bsymbolic-functions"
38   arch-meson mutter build \
39     -D egl_device=true \
40     -D wayland_eglstream=true \
41     -D docs=true \
42     -D installed_tests=false
43   meson compile -C build
46 _check() (
47   mkdir -p -m 700 "${XDG_RUNTIME_DIR:=$PWD/runtime-dir}"
48   glib-compile-schemas "${GSETTINGS_SCHEMA_DIR:=$PWD/build/data}"
49   export XDG_RUNTIME_DIR GSETTINGS_SCHEMA_DIR
51   pipewire &
52   _p1=$!
54   wireplumber &
55   _p2=$!
57   trap "kill $_p1 $_p2; wait" EXIT
59   meson test -C build --print-errorlogs -t 3
62 check() {
63   dbus-run-session xvfb-run -s '-nolisten local +iglx -noreset' \
64     bash -c "$(declare -f _check); _check"
67 _pick() {
68   local p="$1" f d; shift
69   for f; do
70     d="$srcdir/$p/${f#$pkgdir/}"
71     mkdir -p "$(dirname "$d")"
72     mv "$f" "$d"
73     rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
74   done
77 package_mutter() {
78   provides=(libmutter-10.so)
79   groups=(gnome)
81   meson install -C build --destdir "$pkgdir"
83   _pick docs "$pkgdir"/usr/share/mutter-*/doc
86 package_mutter-docs() {
87   pkgdesc+=" (documentation)"
88   depends=()
90   mv docs/* "$pkgdir"
93 # vim:set sw=2 et: