Bundle GIO TLS support in AppImage

This commit is contained in:
2026-09-11 03:30:43 -06:00
parent 967f6728ef
commit 951181628a

View File

@@ -33,7 +33,7 @@ jobs:
libgtk-3-dev libfontconfig1-dev libpango1.0-dev xvfb xauth dbus-daemon at-spi2-core \
libwayland-client0 libwayland-cursor0 libwayland-egl1 \
libxkbcommon0 \
libgtk-3-bin libglib2.0-bin shared-mime-info gsettings-desktop-schemas \
libgtk-3-bin libglib2.0-bin glib-networking shared-mime-info gsettings-desktop-schemas \
liblua5.4-dev libpci-dev libperl-dev libssl-dev libayatana-appindicator3-dev \
perl python3 python3-minimal python3-dev python3-cffi mono-devel desktop-file-utils \
breeze-gtk-theme \
@@ -135,6 +135,20 @@ jobs:
cp -a /usr/lib/gtk-3.0/modules AppDir/usr/lib/gtk-3.0/
fi
# HTTPS inline-image downloads use GSocketClient TLS on Linux.
# GLib provides the API, but TLS and system-proxy support live in
# loadable GIO modules shipped by glib-networking. Bundle those
# modules so the AppImage does not depend on the host copy.
gio_module_dir="$(pkg-config --variable=giomoduledir gio-2.0)"
test -n "$gio_module_dir"
test -f "${gio_module_dir}/libgiognutls.so"
install -d "AppDir${gio_module_dir}"
cp -a "${gio_module_dir}"/libgio*.so "AppDir${gio_module_dir}/"
gio-querymodules "AppDir${gio_module_dir}"
test -f "AppDir${gio_module_dir}/libgiognutls.so"
test -s "AppDir${gio_module_dir}/giomodule.cache"
- name: Verify bundled plugins
run: |
set -eux