From 9e9ac04b7f119126afe3064bb1ad349fdfa554ff Mon Sep 17 00:00:00 2001 From: guihkx <626206+guihkx@users.noreply.github.com> Date: Sat, 26 Jul 2025 14:50:34 -0300 Subject: [PATCH] ci/linux: use git version of appimage-builder appimage-builder is a tool that is not officially part of the AppImage ecosystem, and lately its maintainer hasn't been able to keep up with the latest AppImage ideas, most notably: - The move to a new statically-linked runtime: Before this, all AppImages using the old runtime, would depend on libfuse2 to be installed on the host system just to be able to run out of the box. This wasn't much of a problem back then, because libfuse2 was ubiquitous. However, nowadays, some have distros don't even have it in their official repositories. - The removal of the xz compression algorithm (used by default), and the addition of Zstd. Luckily, the problems above have been fixed in the git version of appimage-builder, but a stable release is yet to be made, so we'll have to use the git version, because other AppImage-making tools are not as nice and convenient as appimage-builder. --- .github/workflows/ci.yml | 9 ++++----- appimage/AppImageBuilder.yml | 6 +----- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7b830e9..5d2d69a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -200,18 +200,17 @@ jobs: sudo apt update sudo apt install libgirepository1.0-dev gir1.2-ayatanaappindicator3-0.1 libayatana-appindicator3-1 python3-testresources - - name: Download AppImage Builder + - name: Install appimage-builder run: | - curl -L https://github.com/AppImageCrafters/appimage-builder/releases/download/v1.1.0/appimage-builder-1.1.0-x86_64.AppImage -o appimage-builder - chmod +x appimage-builder + # TODO: Switch to a stable release if/when a version newer than 1.1.0 is released. + python3 -m pip install git+https://github.com/AppImageCrafters/appimage-builder.git@e995e8edcc227d14524cf39f9824c238f9435a22 - name: Create AppImage env: - APPIMAGE_EXTRACT_AND_RUN: 1 APP_VERSION: ${{steps.vars.outputs.app_version}}.${{steps.vars.outputs.sha_short}} PYTHON_VERSION: ${{env.PYTHON_VERSION}} run: | - ./appimage-builder --recipe appimage/AppImageBuilder.yml + appimage-builder --recipe appimage/AppImageBuilder.yml - name: Create release folder run: | diff --git a/appimage/AppImageBuilder.yml b/appimage/AppImageBuilder.yml index 63c9787..080b067 100644 --- a/appimage/AppImageBuilder.yml +++ b/appimage/AppImageBuilder.yml @@ -9,11 +9,6 @@ script: - mkdir -p "$BUILD_DIR" "$TARGET_APPDIR" - cd "$BUILD_DIR" - # TODO: Remove this if/when appimage-builder releases a version newer than 1.1.0. - # This is a workaround for: https://github.com/AppImageCrafters/appimage-builder/issues/375 - - mkdir -p "$BUILD_DIR/prime" - - curl -L https://github.com/AppImage/AppImageKit/releases/download/continuous/obsolete-runtime-x86_64 -o "$BUILD_DIR/prime/runtime-x86_64" - # Build a recent version of libXft first. This fixes an issue where the app won't start with libXft 2.3.3 if an emoji font is installed on the system. - curl -L https://xorg.freedesktop.org/releases/individual/lib/libXft-2.3.8.tar.xz -o libXft.tar.xz - tar xvf libXft.tar.xz @@ -147,5 +142,6 @@ AppDir: AppImage: arch: x86_64 file_name: Twitch.Drops.Miner-x86_64.AppImage + comp: zstd sign-key: None update-information: guess