diff --git a/systemd/mutter-mobile/APKBUILD b/systemd/mutter-mobile/APKBUILD new file mode 100644 index 0000000000000000000000000000000000000000..a8b06d394a5875675b00e4f6231ef15e3213f8dc --- /dev/null +++ b/systemd/mutter-mobile/APKBUILD @@ -0,0 +1,129 @@ +# Forked from Alpine to apply mobile adaptivity patches + +pkgname=mutter-mobile +pkgver=99945_git20230908 +_pkgver=45_git20230908 +pkgrel=0 +pkgdesc="clutter-based window manager and compositor" +url="https://wiki.gnome.org/Projects/Mutter/" +# ricsv64: doesn't build currently: +# https://builds.sr.ht/~postmarketos/job/869829#task-pmbootstrap_build-1224 +arch="all !riscv64" +license="GPL-2.0-or-later" +depends=" + gnome-settings-daemon + gsettings-desktop-schemas + mutter-mobile-schemas + xkeyboard-config + xwayland + " +makedepends=" + at-spi2-core-dev + cairo-dev + dbus-dev + systemd-dev + eudev-dev + fribidi-dev + gdk-pixbuf-dev + glib-dev + gnome-desktop-dev + gnome-settings-daemon-dev + gobject-introspection-dev + graphene-dev + gtk+3.0-dev + json-glib-dev + libei-dev + libcanberra-dev + libdrm-dev + libgudev-dev + libice-dev + libinput-dev + libsm-dev + libwacom-dev + libx11-dev + libxau-dev + libxcb-dev + libxcomposite-dev + libxcursor-dev + libxdamage-dev + libxext-dev + libxfixes-dev + libxi-dev + libxinerama-dev + libxkbcommon-dev + libxkbfile-dev + libxrandr-dev + libxrender-dev + libxtst-dev + mesa-dev + meson + pango-dev + pipewire-dev + startup-notification-dev + wayland-dev + wayland-protocols + xorg-server + " +options="!check" # Can't be run with release builds +provides="mutter=$_pkgver-r$pkgrel" +subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-lang $pkgname-schemas::noarch" +_commit="0f08f5aba4c9b5ac34b2d5711182d50b719d838e" +source="mobile-mutter-$_commit.tar.gz::https://gitlab.gnome.org/verdre/mobile-mutter/-/archive/$_commit/mobile-mutter-$_commit.tar.gz + fixudev-req.patch + pcversion.patch + version.patch + " +builddir="$srcdir/mobile-mutter-$_commit" + +prepare() { + default_prepare + + sed -i "s/libmutter_api_version = '.*'/libmutter_api_version = '99'/g" meson.build +} + +build() { + abuild-meson \ + -Degl_device=true \ + -Dudev=true \ + -Dnative_backend=true \ + -Dintrospection=true \ + -Dxwayland_path=/usr/bin/Xwayland \ + -Dremote_desktop=true \ + -Dprofiler=false \ + -Dtests=false \ + -Dinstalled_tests=false \ + . output + meson compile ${JOBS:+-j ${JOBS}} -C output +} + +schemas() { + pkgdesc="Mutter schemas related files" + provides="mutter-schemas=$_pkgver-r$pkgrel" + depends="" + + amove usr/share/glib-2.0/schemas + amove usr/share/GConf/gsettings + amove usr/share/gnome-control-center/keybindings +} + +lang() { + default_lang + provides="mutter-lang=$_pkgver-r$pkgrel" +} + +dev() { + default_dev + + provides="mutter-dev=$_pkgver-r$pkgrel" +} + +package() { + DESTDIR="$pkgdir" meson install --no-rebuild -C output +} + +sha512sums=" +715c3efbbf416a11ae0a723184d1e018d3679c876bc419f110da1200f9dad3b7719255ac81cca301cff55e16ba36578bc9906805599ff009faeebf9455f5bcb1 mobile-mutter-0f08f5aba4c9b5ac34b2d5711182d50b719d838e.tar.gz +6f21171bbd0ad0fc67cbaf5fb1478b22b482a9ae33b9328cc51a5dd31bcf7d95cd41e6cbbac21d3d8801cc064a62a64ae38ed7d0501ab605b861058c32f3bc30 fixudev-req.patch +bb46a4692aaff0c9e6092d1ba80d19b336035e983f0f20a437a586757bc2530860f50fbd46b09f73e88f0dd80ea7188d1df467b8f762918717785e618b6e9c4b pcversion.patch +a9a82e945081480ae7ce59098aa3e46c87f5ea97481bd4c4933b3ef0a1757492ecb6e8453e8a2f74fb42edd51d39f76aaf9ef45ad8c52008acd6bbcbec219f83 version.patch +" diff --git a/systemd/mutter-mobile/fixudev-req.patch b/systemd/mutter-mobile/fixudev-req.patch new file mode 100644 index 0000000000000000000000000000000000000000..93753ae0dbf323f9d2104be956f8fa2c1e83ed2a --- /dev/null +++ b/systemd/mutter-mobile/fixudev-req.patch @@ -0,0 +1,16 @@ +Apparently the version limit is only required for systemd udev, it works +just fine with our version of eudev. + +diff --git meson.build meson.build +index dc210e6..6e080ca 100644 +--- a/meson.build ++++ b/meson.build +@@ -168,7 +168,7 @@ endif + + have_libgudev = get_option('udev') + if have_libgudev +- libudev_dep = dependency('libudev', version: udev_req) ++ libudev_dep = dependency('libudev') + gudev_dep = dependency('gudev-1.0', version: gudev_req) + endif + diff --git a/systemd/mutter-mobile/pcversion.patch b/systemd/mutter-mobile/pcversion.patch new file mode 100644 index 0000000000000000000000000000000000000000..d6b3f32f81d52abf47b2d11fd95573c210f2b91c --- /dev/null +++ b/systemd/mutter-mobile/pcversion.patch @@ -0,0 +1,14 @@ +apk-tools 2.12.10 fails with this in a .pc depends file +diff --git a/meson.build b/meson.build +index 3550496..15b9e7d 100644 +--- a/meson.build ++++ b/meson.build +@@ -25,7 +25,7 @@ uprof_req = '>= 0.3' + pango_req = '>= 1.46.0' + cairo_req = '>= 1.10.0' + pangocairo_req = '>= 1.20' +-gsettings_desktop_schemas_req = '>= 40.alpha' ++gsettings_desktop_schemas_req = '>= 40' + json_glib_req = '>= 0.12.0' + xcomposite_req = '>= 0.4' + xkbcommon_req = '>= 0.4.3' diff --git a/systemd/mutter-mobile/version.patch b/systemd/mutter-mobile/version.patch new file mode 100644 index 0000000000000000000000000000000000000000..7fc2b946d992b39d2d921a7ebd59b28fdbb246a9 --- /dev/null +++ b/systemd/mutter-mobile/version.patch @@ -0,0 +1,17 @@ +diff --git a/meson.build b/meson.build +index 80e1fc70e..1a3ca564f 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,10 +1,10 @@ + project('mutter', 'c', +- version: '45.rc', ++ version: '45_rc', + meson_version: '>= 0.60.0', + license: 'GPLv2+' + ) + +-split_version = meson.project_version().split('.') ++split_version = meson.project_version().split('_') + + # API version, bump each development cycle + libmutter_api_version = '13'