currently org.gnome.ShellSearchProvider2.xml is read from host machine and thus gnome-terminal with search_provider enabled can only be build from a host system that has gnome-shell installed.
Add an option and set it to STAGING_DATADIR to avoid: | DEBUG: Executing shell function do_compile | ninja: error: '/usr/share/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml', needed by 'src/terminal-search-provider-gdbus-generated.c', missing and no known rule to make it Signed-off-by: Markus Volk <[email protected]> --- ...-add-option-to-set-dbus_interfacedir.patch | 63 +++++++++++++++++++ .../gnome-terminal/gnome-terminal_3.50.1.bb | 10 +-- 2 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-meson-add-option-to-set-dbus_interfacedir.patch diff --git a/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-meson-add-option-to-set-dbus_interfacedir.patch b/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-meson-add-option-to-set-dbus_interfacedir.patch new file mode 100644 index 000000000..9f8475bdd --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-meson-add-option-to-set-dbus_interfacedir.patch @@ -0,0 +1,63 @@ +From 61668e1eb86a316d4ad9a6b9cacf8c8cc74a0c33 Mon Sep 17 00:00:00 2001 +From: Markus Volk <[email protected]> +Date: Sun, 7 Jan 2024 10:40:31 +0100 +Subject: [PATCH] meson: add an option to set dbus_interface_dir + +Add an option that allows to set the dbus_interface_dir path manually. +This will help to cross-compile gnome-terminal on host systems that +don't have gnome-shell installed. + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gnome-terminal/-/issues/8046] + +Signed-off-by: Markus Volk <[email protected]> +--- + meson_options.txt | 7 +++++++ + src/meson.build | 7 ++++++- + 2 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/meson_options.txt b/meson_options.txt +index b555ab66..8fece058 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -13,6 +13,13 @@ + # You should have received a copy of the GNU General Public License + # along with this programme. If not, see <https://www.gnu.org/licenses/>. + ++option( ++ 'dbus_interface_dir', ++ type: 'string', ++ value: '', ++ description: 'directory for D-Bus session interface files [$datadir/dbus-1/interfaces]', ++) ++ + option( + 'dbg', + type: 'boolean', +diff --git a/src/meson.build b/src/meson.build +index 27ecd893..420ad45c 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -185,6 +185,11 @@ server_sources = app_sources + client_util_sources + debug_sources + dbus_source + + if get_option('search_provider') + ++ dbus_interface_dir = get_option('dbus_interface_dir') ++ if dbus_interface_dir == '' ++ dbus_interface_dir = gt_prefix / gt_dbusinterfacedir ++ endif ++ + server_sources += files( + 'terminal-search-provider.cc', + 'terminal-search-provider.hh', +@@ -192,7 +197,7 @@ if get_option('search_provider') + + server_sources += gnome.gdbus_codegen( + 'terminal-search-provider-gdbus-generated', +- gt_prefix / gt_dbusinterfacedir / 'org.gnome.ShellSearchProvider2.xml', ++ dbus_interface_dir / 'org.gnome.ShellSearchProvider2.xml', + autocleanup: 'none', + install_header: false, + interface_prefix: 'org.gnome.Shell', +-- +2.43.0 + diff --git a/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.50.1.bb b/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.50.1.bb index 8616f2c9b..53f11e95f 100644 --- a/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.50.1.bb +++ b/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.50.1.bb @@ -19,15 +19,17 @@ DEPENDS = " \ libpcre2 \ " -SRC_URI = "git://gitlab.gnome.org/GNOME/gnome-terminal.git;protocol=https;nobranch=1 \ - file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \ - " +SRC_URI = " \ + git://gitlab.gnome.org/GNOME/gnome-terminal.git;protocol=https;nobranch=1 \ + file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \ + file://0001-meson-add-option-to-set-dbus_interfacedir.patch \ +" SRCREV = "5ac3b8e4bd6fa02651b3c23cedb0a7e1cd769655" S = "${WORKDIR}/git" PACKAGECONFIG ?= "" PACKAGECONFIG[nautilus] = "-Dnautilus_extension=true,-Dnautilus_extension=false,nautilus,nautilus" -PACKAGECONFIG[search_provider] = "-Dsearch_provider=true,-Dsearch_provider=false,,gnome-shell" +PACKAGECONFIG[search_provider] = "-Dsearch_provider=true -Ddbus_interface_dir=${STAGING_DATADIR}/dbus-1/interfaces,-Dsearch_provider=false,gnome-shell" FILES:${PN} += " \ ${datadir} \ -- 2.43.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#108073): https://lists.openembedded.org/g/openembedded-devel/message/108073 Mute This Topic: https://lists.openembedded.org/mt/103577221/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
