fix(appimage): bundle GStreamer plugins with media libraries (#97)

This commit is contained in:
Bear Code authored and GitHub committed 2026-11-02 19:51:59 +06:00
1 parent 2ace22bc48
commit 40a07f8e61
3 files changed
+36

No files matched your search

+8
View File
@@ -50,6 +50,7 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev libasound2-dev libpipewire-0.3-dev clang libclang-dev patchelf xdg-utils
sudo apt-get install -y gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-libav
- uses: pnpm/action-setup@v6
@@ -152,6 +153,13 @@ jobs:
includeUpdaterJson: false
args: ${{ matrix.args }}
- name: Verify bundled AppImage media plugins
if: contains(matrix.platform, 'ubuntu')
run: |
for appdir in src-tauri/target/release/bundle/appimage/*.AppDir; do
bash scripts/linux/verify-appimage-media.sh "$appdir"
done
- name: Generate and upload AppImage zsync files
if: contains(matrix.platform, 'ubuntu')
env:
+25
View File
@@ -0,0 +1,25 @@
#!/usr/bin/env bash
set -euo pipefail
appdir=$(realpath "${1:?Usage: verify-appimage-media.sh APPDIR}")
plugins_dir="$appdir/usr/lib/gstreamer-1.0"
scanner="$appdir/usr/lib/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner"
if [[ ! -d "$plugins_dir" || ! -x "$scanner" ]]; then
echo "Missing bundled GStreamer plugins or scanner in $appdir" >&2
exit 1
fi
registry=$(mktemp)
trap 'rm -f "$registry"' EXIT
# Exclude host plugins and caches so a system installation cannot hide a broken bundle.
export LD_LIBRARY_PATH="$appdir/usr/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
export GST_PLUGIN_SYSTEM_PATH_1_0="$plugins_dir"
export GST_PLUGIN_PATH_1_0="$plugins_dir"
export GST_PLUGIN_SCANNER_1_0="$scanner"
export GST_REGISTRY_1_0="$registry"
for element in playbin appsink autoaudiosink decodebin avdec_h264 qtdemux souphttpsrc; do
gst-inspect-1.0 "$element" >/dev/null
echo "Bundled media element available: $element"
done
+3
View File
@@ -81,6 +81,9 @@
"minimumSystemVersion": "10.15"
},
"linux": {
"appimage": {
"bundleMediaFramework": true
},
"deb": {
"depends": [
"libasound2"