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 | 66 +++++++++++++++++++
 .../gnome-terminal/gnome-terminal_3.50.1.bb   | 10 +--
 2 files changed, 72 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..b9d5fd5ec
--- /dev/null
+++ 
b/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-meson-add-option-to-set-dbus_interfacedir.patch
@@ -0,0 +1,66 @@
+From 5212e85699b59819262165740d3c7a10b6a5c46b 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
+
+currently org.gnome.ShellSearchProvider2.xml is read from host machine and
+thus gnome-terminal with search_provider enabled can only be built from a host
+system that has gnome-shell installed.
+
+Add an option that allows to set the path manually. This will help to 
cross-compile
+gnome-terminal on host systems that don't have gnome-shell installed.
+
+Upstream-Status: Pending
+
+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 b555ab663..8fece058c 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 86e287403..1543572cf 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -224,6 +224,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',
+@@ -231,7 +236,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 (#108069): 
https://lists.openembedded.org/g/openembedded-devel/message/108069
Mute This Topic: https://lists.openembedded.org/mt/103575871/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to