archrelease: copy trunk to extra-x86_64
[arch-packages.git] / mutter / repos / extra-x86_64 / PKGBUILD
blob3d881b5de7af20ea177b24b220b2bbfb753aa737
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+r2+g82bd40dcbc
11 pkgrel=1
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   gtk3
41   meson
42   sysprof
43   wayland-protocols
44   xorg-server
45   xorg-server-xvfb
47 checkdepends=(
48   python-dbusmock
49   wireplumber
50   zenity
52 _commit=82bd40dcbcc3601da755678778f033bd9a30286d  # gnome-44
53 source=("git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit")
54 b2sums=('SKIP')
56 pkgver() {
57   cd mutter
58   git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
61 prepare() {
62   cd mutter
65 build() {
66   local meson_options=(
67     -D docs=true
68     -D egl_device=true
69     -D installed_tests=false
70     -D wayland_eglstream=true
71   )
73   CFLAGS="${CFLAGS/-O2/-O3} -fno-semantic-interposition"
74   LDFLAGS+=" -Wl,-Bsymbolic-functions"
76   arch-meson mutter build "${meson_options[@]}"
77   meson compile -C build
80 _check() (
81   export XDG_RUNTIME_DIR="$PWD/rdir" GSETTINGS_SCHEMA_DIR="$PWD/build/data"
82   mkdir -p -m 700 "$XDG_RUNTIME_DIR"
83   glib-compile-schemas "$GSETTINGS_SCHEMA_DIR"
85   pipewire &
86   _p1=$!
88   wireplumber &
89   _p2=$!
91   trap "kill $_p1 $_p2; wait" EXIT
93   meson test -C build --print-errorlogs -t 3
96 check() {
97   dbus-run-session xvfb-run -s '-nolisten local +iglx -noreset' \
98     bash -c "$(declare -f _check); _check"
101 _pick() {
102   local p="$1" f d; shift
103   for f; do
104     d="$srcdir/$p/${f#$pkgdir/}"
105     mkdir -p "$(dirname "$d")"
106     mv "$f" "$d"
107     rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
108   done
111 package_mutter() {
112   provides=(libmutter-12.so)
114   meson install -C build --destdir "$pkgdir"
116   _pick docs "$pkgdir"/usr/share/mutter-*/doc
119 package_mutter-docs() {
120   pkgdesc+=" (documentation)"
121   depends=()
123   mv docs/* "$pkgdir"
126 # vim:set sw=2 sts=-1 et: