From 182f7d2c5b7903ad925b4a8cc6b7c74a89b47fd0 Mon Sep 17 00:00:00 2001 From: Viktor Ivanov Date: Mon, 29 Jun 2026 21:00:40 +0900 Subject: [PATCH 1/3] Bundle Gio modules --- linuxdeploy-plugin-gtk.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/linuxdeploy-plugin-gtk.sh b/linuxdeploy-plugin-gtk.sh index 7735e3a..5a2c37f 100755 --- a/linuxdeploy-plugin-gtk.sh +++ b/linuxdeploy-plugin-gtk.sh @@ -263,6 +263,14 @@ cat >> "$HOOKFILE" <> "$HOOKFILE" < Date: Sun, 20 Sep 2026 16:17:15 +0200 Subject: [PATCH 2/3] comment out gdk_backend --- linuxdeploy-plugin-gtk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linuxdeploy-plugin-gtk.sh b/linuxdeploy-plugin-gtk.sh index 5a2c37f..a351e6a 100755 --- a/linuxdeploy-plugin-gtk.sh +++ b/linuxdeploy-plugin-gtk.sh @@ -243,7 +243,7 @@ APPIMAGE_GTK_THEME="${APPIMAGE_GTK_THEME:-"Adwaita:$GTK_THEME_VARIANT"}" # Allow export APPDIR="${APPDIR:-"$(dirname "$(realpath "$0")")"}" # Workaround to run extracted AppImage export GTK_DATA_PREFIX="$APPDIR" export GTK_THEME="$APPIMAGE_GTK_THEME" # Custom themes are broken -export GDK_BACKEND=x11 # Crash with Wayland backend on Wayland - We tested it without it and ended up with this: https://github.com/tauri-apps/tauri/issues/8541 +# export GDK_BACKEND=x11 # Monitor this closely. AppImage used to crash on Wayland! export XDG_DATA_DIRS="$APPDIR/usr/share:/usr/share:$XDG_DATA_DIRS" # g_get_system_data_dirs() from GLib EOF From 3065019b9f52b2f791ac56149eb64e85ef29a78d Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Fri, 25 Sep 2026 17:08:54 -0300 Subject: [PATCH 3/3] fix: bundle on Fedora and Arch, drop duplicate GIO_EXTRA_MODULES - Find gio-querymodules with search_tool: Fedora only ships gio-querymodules-64, so the bare call exited with 127. - Skip the gdk-pixbuf loaders when their directory does not exist (gdk-pixbuf 2.44 with glycin on Arch), instead of failing on `cp ''`. - Drop the libgiognutls/GIO_EXTRA_MODULES block, now covered by GIO_MODULE_DIR. It found two copies of the module and exported a newline-separated value that included the build machine's AppDir path. Tested through tauri PR #16062 (tauri-apps/tauri): AppImages bundle on Ubuntu 22.04/24.04, Debian 12/13, Fedora 42/44 and Arch, and the Ubuntu 22.04 build runs on 9 distros under X11 and Wayland. --- linuxdeploy-plugin-gtk.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/linuxdeploy-plugin-gtk.sh b/linuxdeploy-plugin-gtk.sh index a351e6a..80c672c 100755 --- a/linuxdeploy-plugin-gtk.sh +++ b/linuxdeploy-plugin-gtk.sh @@ -266,7 +266,12 @@ EOF echo "Installing Gio modules" gio_moduledir="$(get_pkgconf_variable "giomoduledir" "gio-2.0" "$LD_GTK_LIBRARY_PATH/gio/modules")" copy_lib_tree "$gio_moduledir" "$APPDIR/" -gio-querymodules "$APPDIR/${gio_moduledir/$LD_GTK_LIBRARY_PATH//usr/lib}" +gio_querymodules="$(search_tool "gio-querymodules" "glib-2.0")" +if [ -x "$gio_querymodules" ]; then + "$gio_querymodules" "$APPDIR/${gio_moduledir/$LD_GTK_LIBRARY_PATH//usr/lib}" +else + echo "WARNING: gio-querymodules not found" +fi cat >> "$HOOKFILE" <> "$HOOKFILE" </dev/null) -cat >> "$HOOKFILE" <