mutter: fix profiler PACKAGECONFIG

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', missing and no known rule to make it

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>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit ead8f7b3273965f383ec4999bb38e87ba37daf61)
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
This commit is contained in:
Gyorgy Sarvari 2026-02-08 15:51:35 +01:00 committed by Anuj Mittal
parent fe7623f3bb
commit cdde87bb97
2 changed files with 37 additions and 0 deletions

View File

@ -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

View File

@ -26,6 +26,8 @@ inherit gnomebase gsettings gobject-introspection gettext features_check
SRC_URI[archive.sha256sum] = "b5071ff62fc060d3eb39c95fd54ff1accd4600756d7205f747a24d71e0ea6429"
SRC_URI += "file://0001-Dont-use-system-sysprof-dbus-folder.patch"
# x11 is still manadatory - see meson.build
REQUIRED_DISTRO_FEATURES = "wayland x11 polkit"