new file mode 100644
@@ -0,0 +1,35 @@
+From 790177e2a89aa0710b570d595223bdb511241c56 Mon Sep 17 00:00:00 2001
+From: Gyorgy Sarvari <skandigraun@gmail.com>
+Date: Tue, 11 Feb 2025 13:39:54 +0100
+Subject: [PATCH] Don't use system sysprof dbus folder
+
+In case Mutter is built with profiler support, it requires
+org.gnome.Sysprof3.Profiler.xml file to be available - however
+the meson build file is trying to access it on the build machine's
+system ($datadir/dbus-1/interfaces) instead of searching for it
+in the $RECIPE_SYSROOT.
+
+To ensure that it looks for this file in the correct folder, prefix
+the search path with the value of the sys_root property, which is set
+in the meson.cross file (by meson.bbclass).
+
+Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
+
+Upstream-Status: Inappropriate [oe-specific: only related to cross-compiling]
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 551cb23..5199be6 100644
+--- a/meson.build
++++ b/meson.build
+@@ -446,7 +446,7 @@ if have_profiler
+
+ if libsysprof_capture_dep.type_name() == 'pkgconfig'
+ sysprof_dep = dependency('sysprof-6', 'sysprof-4')
+- sysprof_dbus_interfaces_dir = sysprof_dep.get_variable('datadir') / 'dbus-1' / 'interfaces'
++ sysprof_dbus_interfaces_dir = meson.get_external_property('sys_root') + sysprof_dep.get_variable('datadir') / 'dbus-1' / 'interfaces'
+ else
+ sysprof_dbus_interfaces_dir = mutter_srcdir / 'subprojects' / 'sysprof' / 'src'
+ endif
@@ -24,6 +24,8 @@ DEPENDS = " \
inherit gnomebase gsettings gobject-introspection gettext features_check
+SRC_URI += "file://0001-Dont-use-system-sysprof-dbus-folder.patch"
+
SRC_URI[archive.sha256sum] = "f531fc00e6ec6dbb570b3bf942b6490f7a93df91c4c267a918b4d2afe9211bda"
# x11 is still manadatory - see meson.build
In case "profiler" PACKAGECONFIG is enabled, the build fails with the following error: | ninja: error: '/usr/share/dbus-1/interfaces/org.gnome.Sysprof3.Profiler.xml', needed by 'src/meta-dbus-sysprof3-profiler.c', > meson.build script is looking explicitly for a required file using the sysroot of the build system instead of ${RECIPE_SYSROOT}. To avoid this, patch meson.build to prefix this path with ${RECIPE_SYSROOT}. Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> --- ...-Dont-use-system-sysprof-dbus-folder.patch | 35 +++++++++++++++++++ .../recipes-gnome/mutter/mutter_47.4.bb | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 meta-gnome/recipes-gnome/mutter/files/0001-Dont-use-system-sysprof-dbus-folder.patch