[appimage] AppRun korrekt: linuxdeploy-Hook + AppRun.wrapped statt eigene ENVs
All checks were successful
Build AppImage / build (push) Successful in 5m38s
All checks were successful
Build AppImage / build (push) Successful in 5m38s
Mein Custom-AppRun ueberschrieb das gesamte linuxdeploy-Setup. Resultat: WebKitNetworkProcess wurde nicht gefunden weil WEBKIT_EXEC_PATH und das korrekte LD_LIBRARY_PATH/Symlinks fehlten. Fix: NixOS-Detection + WEBKIT-Defaults VOR den Original-Hook setzen, dann linuxdeploy-Hook + AppRun.wrapped wie im Original aufrufen.
This commit is contained in:
parent
01ddc7c938
commit
427fa858a9
1 changed files with 14 additions and 15 deletions
|
|
@ -47,36 +47,35 @@ jobs:
|
||||||
echo "AppDir: $APPDIR"
|
echo "AppDir: $APPDIR"
|
||||||
echo "Original AppImage: $OLD_NAME"
|
echo "Original AppImage: $OLD_NAME"
|
||||||
|
|
||||||
# Original AppRun sichern (falls Tauri spaeter mehr reinpackt)
|
# Original AppRun sichern + ueberhaupt: das linuxdeploy-Original
|
||||||
|
# ist sehr klein, laedt einen Hook (linuxdeploy-plugin-gtk.sh) der
|
||||||
|
# ALLE ENV-Vars korrekt setzt (LD_LIBRARY_PATH, WEBKIT_EXEC_PATH,
|
||||||
|
# GDK_PIXBUF etc.), dann ruft es AppRun.wrapped auf.
|
||||||
|
# Wir ergaenzen davor nur unsere NixOS+WebKit-Workarounds.
|
||||||
cp "$APPDIR/AppRun" "$APPDIR/AppRun.original"
|
cp "$APPDIR/AppRun" "$APPDIR/AppRun.original"
|
||||||
|
|
||||||
# Custom AppRun: NixOS-Detection + WebKit-Workarounds
|
|
||||||
cat > "$APPDIR/AppRun" << 'APPRUN_EOF'
|
cat > "$APPDIR/AppRun" << 'APPRUN_EOF'
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
HERE="$(dirname "$(readlink -f "${0}")")"
|
HERE="$(readlink -f "$(dirname "$0")")"
|
||||||
|
|
||||||
# NixOS: Host-Mesa unter /run/opengl-driver bevorzugen,
|
# --- NixOS-Detection ---
|
||||||
|
# Host-Mesa unter /run/opengl-driver bevorzugen,
|
||||||
# weil bundled Mesa gegen NixOS-Treiber kollidiert
|
# weil bundled Mesa gegen NixOS-Treiber kollidiert
|
||||||
if [ -d /run/opengl-driver/lib ]; then
|
if [ -d /run/opengl-driver/lib ]; then
|
||||||
export LD_LIBRARY_PATH="/run/opengl-driver/lib:${LD_LIBRARY_PATH}"
|
export LD_LIBRARY_PATH="/run/opengl-driver/lib:${LD_LIBRARY_PATH}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# WebKit-Workarounds fuer problematische GPU/Compositor-Stacks.
|
# --- WebKit-Workarounds ---
|
||||||
|
# fuer problematische GPU/Compositor-Stacks (Wayland-Bugs, NVIDIA, etc.)
|
||||||
# Nur setzen wenn User nichts vorgegeben hat (override moeglich).
|
# Nur setzen wenn User nichts vorgegeben hat (override moeglich).
|
||||||
: "${WEBKIT_DISABLE_DMABUF_RENDERER:=1}"
|
: "${WEBKIT_DISABLE_DMABUF_RENDERER:=1}"
|
||||||
: "${WEBKIT_DISABLE_COMPOSITING_MODE:=1}"
|
: "${WEBKIT_DISABLE_COMPOSITING_MODE:=1}"
|
||||||
export WEBKIT_DISABLE_DMABUF_RENDERER WEBKIT_DISABLE_COMPOSITING_MODE
|
export WEBKIT_DISABLE_DMABUF_RENDERER WEBKIT_DISABLE_COMPOSITING_MODE
|
||||||
|
|
||||||
# Standard-AppImage-Runtime (analog zu linuxdeploy-Default)
|
# --- Original linuxdeploy-Logik (1:1 wie AppRun.original) ---
|
||||||
export PATH="${HERE}/usr/bin:${PATH}"
|
set -e
|
||||||
export LD_LIBRARY_PATH="${HERE}/usr/lib:${LD_LIBRARY_PATH}"
|
source "$HERE"/apprun-hooks/linuxdeploy-plugin-gtk.sh
|
||||||
export XDG_DATA_DIRS="${HERE}/usr/share:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
|
exec "$HERE"/AppRun.wrapped "$@"
|
||||||
export GSETTINGS_SCHEMA_DIR="${HERE}/usr/share/glib-2.0/schemas:${GSETTINGS_SCHEMA_DIR}"
|
|
||||||
export GDK_PIXBUF_MODULE_FILE="${HERE}/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
|
|
||||||
|
|
||||||
# Tauri-Binary aufrufen — Name aus Cargo.toml [package.name]
|
|
||||||
# (find ... | head -1 zog faelschlich xdg-open statt unsere App)
|
|
||||||
exec "${HERE}/usr/bin/claude-desktop" "$@"
|
|
||||||
APPRUN_EOF
|
APPRUN_EOF
|
||||||
chmod +x "$APPDIR/AppRun"
|
chmod +x "$APPDIR/AppRun"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue