From 39acb0b59ecb802db6fd799c65cad5b58ac13780 Mon Sep 17 00:00:00 2001 From: vicrodh <103399283+vicrodh@users.noreply.github.com> Date: Mon, 12 Jan 2026 13:21:28 -0600 Subject: [PATCH] fix(flatpak): use GNOME SDK 48 with manual Node/Rust install - Switch to GNOME SDK 48 which includes webkit2gtk-4.1 - Install Node.js 20 LTS directly from tarball (no SDK extension needed) - Install Rust via rustup for latest stable version - Add flatpak build directories to .gitignore --- .github/workflows/release-flatpak.yml | 5 ++--- .gitignore | 5 +++++ packaging/flatpak/com.blitzkriegfc.qbz.yml | 24 +++++++++++++--------- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/.github/workflows/release-flatpak.yml b/.github/workflows/release-flatpak.yml index a119ad4ba..a0207e77b 100644 --- a/.github/workflows/release-flatpak.yml +++ b/.github/workflows/release-flatpak.yml @@ -77,9 +77,8 @@ jobs: - name: Install runtimes run: | flatpak --user install -y --noninteractive flathub \ - org.freedesktop.Platform//23.08 \ - org.freedesktop.Sdk//23.08 \ - org.freedesktop.Sdk.Extension.node20//23.08 + org.gnome.Platform//48 \ + org.gnome.Sdk//48 - name: Build Flatpak env: diff --git a/.gitignore b/.gitignore index f3c3f538a..c633de7be 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,8 @@ src-tauri/target/ # Vite vite.config.js.timestamp-* vite.config.ts.timestamp-* + +# Flatpak build artifacts +flatpak-build/ +flatpak-repo/ +.flatpak-builder/ diff --git a/packaging/flatpak/com.blitzkriegfc.qbz.yml b/packaging/flatpak/com.blitzkriegfc.qbz.yml index 65f09eed9..41aa8b0fc 100644 --- a/packaging/flatpak/com.blitzkriegfc.qbz.yml +++ b/packaging/flatpak/com.blitzkriegfc.qbz.yml @@ -1,9 +1,7 @@ app-id: com.blitzkriegfc.qbz -runtime: org.freedesktop.Platform -runtime-version: '23.08' -sdk: org.freedesktop.Sdk -sdk-extensions: - - org.freedesktop.Sdk.Extension.node20 +runtime: org.gnome.Platform +runtime-version: '48' +sdk: org.gnome.Sdk command: qbz finish-args: - --share=ipc @@ -23,18 +21,24 @@ modules: - name: qbz buildsystem: simple build-options: - append-path: /usr/lib/sdk/node20/bin env: CARGO_HOME: /run/build/qbz/.cargo RUSTUP_HOME: /run/build/qbz/.rustup + npm_config_cache: /run/build/qbz/.npm + PATH: /run/build/qbz/node/bin:/run/build/qbz/.cargo/bin:/usr/bin:/bin build-args: - --share=network build-commands: - # Install rustup and latest stable Rust (for edition2024 support) + # Install Node.js 20 LTS from tarball + - curl -fsSL https://nodejs.org/dist/v20.19.2/node-v20.19.2-linux-x64.tar.xz | tar -xJ + - mv node-v20.19.2-linux-x64 node + # Install Rust via rustup - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable --profile minimal - - . "$CARGO_HOME/env" && npm ci - - . "$CARGO_HOME/env" && npm run build - - . "$CARGO_HOME/env" && cd src-tauri && cargo build --release + # Build the application + - npm ci + - npm run build + - cd src-tauri && cargo build --release + # Install the binary and assets - install -Dm755 src-tauri/target/release/qbz-nix /app/bin/qbz - install -Dm644 packaging/flatpak/com.blitzkriegfc.qbz.desktop /app/share/applications/com.blitzkriegfc.qbz.desktop - install -Dm644 packaging/flatpak/com.blitzkriegfc.qbz.metainfo.xml /app/share/metainfo/com.blitzkriegfc.qbz.metainfo.xml