From 0704027e6c1976b7ed675f861294a13e110c15de Mon Sep 17 00:00:00 2001 From: Seth Flynn Date: Fri, 7 Nov 2025 01:01:11 -0500 Subject: [PATCH 1/3] build: install 256x256 png icons This is required by `go-appimage` - and apparently(?) a requirement by XDG, with SVGs being optional Signed-off-by: Seth Flynn --- CMakeLists.txt | 1 + program_info/CMakeLists.txt | 1 + .../org.prismlauncher.PrismLauncher_256.png | Bin 0 -> 11387 bytes 3 files changed, 2 insertions(+) create mode 100755 program_info/org.prismlauncher.PrismLauncher_256.png diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d8484d60..16468f5d3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -406,6 +406,7 @@ elseif(UNIX) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${Launcher_Desktop} DESTINATION ${KDE_INSTALL_APPDIR}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${Launcher_MetaInfo} DESTINATION ${KDE_INSTALL_METAINFODIR}) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${Launcher_SVG} DESTINATION "${KDE_INSTALL_ICONDIR}/hicolor/scalable/apps") + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${Launcher_PNG_256} DESTINATION "${KDE_INSTALL_ICONDIR}/hicolor/256x256/apps" RENAME "${Launcher_AppID}.png") install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${Launcher_mrpack_MIMEInfo} DESTINATION ${KDE_INSTALL_MIMEDIR}) install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/launcher/qtlogging.ini" DESTINATION "share/${Launcher_Name}") diff --git a/program_info/CMakeLists.txt b/program_info/CMakeLists.txt index db6920e20..23eb840b1 100644 --- a/program_info/CMakeLists.txt +++ b/program_info/CMakeLists.txt @@ -29,6 +29,7 @@ set(Launcher_SVGFileName "${Launcher_SVGFileName}" PARENT_SCOPE) set(Launcher_Desktop "program_info/${Launcher_AppID}.desktop" PARENT_SCOPE) set(Launcher_mrpack_MIMEInfo "program_info/modrinth-mrpack-mime.xml" PARENT_SCOPE) set(Launcher_MetaInfo "program_info/${Launcher_AppID}.metainfo.xml" PARENT_SCOPE) +set(Launcher_PNG_256 "program_info/${Launcher_AppID}_256.png" PARENT_SCOPE) set(Launcher_SVG "program_info/${Launcher_SVGFileName}" PARENT_SCOPE) set(Launcher_Branding_ICNS "program_info/prismlauncher.icns" PARENT_SCOPE) set(Launcher_Branding_ICO "program_info/prismlauncher.ico") diff --git a/program_info/org.prismlauncher.PrismLauncher_256.png b/program_info/org.prismlauncher.PrismLauncher_256.png new file mode 100755 index 0000000000000000000000000000000000000000..6f164febed2a6c57869e4eceb949bb1b405aac47 GIT binary patch literal 11387 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 literal 0 HcmV?d00001 From 2cf5fe50978bd69ece8856fbad5afb8f6c46a2a4 Mon Sep 17 00:00:00 2001 From: Seth Flynn Date: Fri, 7 Nov 2025 02:04:29 -0500 Subject: [PATCH 2/3] build: use `go-appimage` to create appimages Signed-off-by: Seth Flynn --- .github/actions/package/linux/action.yml | 40 +++++-------------- .../setup-dependencies/linux/action.yml | 35 ++++++++-------- 2 files changed, 28 insertions(+), 47 deletions(-) diff --git a/.github/actions/package/linux/action.yml b/.github/actions/package/linux/action.yml index 74e1c2a14..bc69b1155 100644 --- a/.github/actions/package/linux/action.yml +++ b/.github/actions/package/linux/action.yml @@ -60,43 +60,21 @@ runs: run: | cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} --prefix ${{ env.INSTALL_APPIMAGE_DIR }}/usr - mv ${{ env.INSTALL_APPIMAGE_DIR }}/usr/share/metainfo/org.prismlauncher.PrismLauncher.metainfo.xml ${{ env.INSTALL_APPIMAGE_DIR }}/usr/share/metainfo/org.prismlauncher.PrismLauncher.appdata.xml - export "NO_APPSTREAM=1" # we have to skip appstream checking because appstream on ubuntu 20.04 is outdated - - export OUTPUT="PrismLauncher-Linux-$APPIMAGE_ARCH.AppImage" - - chmod +x linuxdeploy-*.AppImage - - mkdir -p ${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib - mkdir -p ${{ env.INSTALL_APPIMAGE_DIR }}/usr/plugins/iconengines - - cp -r ${{ runner.workspace }}/Qt/${{ inputs.qt-version }}/gcc_*64/plugins/iconengines/* ${{ env.INSTALL_APPIMAGE_DIR }}/usr/plugins/iconengines - - cp /usr/lib/"$DEB_HOST_MULTIARCH"/libcrypto.so.* ${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib/ - cp /usr/lib/"$DEB_HOST_MULTIARCH"/libssl.so.* ${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib/ - cp /usr/lib/"$DEB_HOST_MULTIARCH"/libOpenGL.so.0* ${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib/ - - LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib" - export LD_LIBRARY_PATH - - chmod +x AppImageUpdate-"$APPIMAGE_ARCH".AppImage - cp AppImageUpdate-"$APPIMAGE_ARCH".AppImage ${{ env.INSTALL_APPIMAGE_DIR }}/usr/bin - - export UPDATE_INFORMATION="gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|PrismLauncher-Linux-$APPIMAGE_ARCH.AppImage.zsync" + cp ${{ env.INSTALL_APPIMAGE_DIR }}/usr/share/metainfo/org.prismlauncher.PrismLauncher.{metainfo,appdata}.xml if [ '${{ inputs.gpg-private-key-id }}' != '' ]; then - export SIGN=1 - export SIGN_KEY=${{ inputs.gpg-private-key-id }} - mkdir -p ~/.gnupg/ - echo "$GPG_PRIVATE_KEY" > ~/.gnupg/private.key - gpg --import ~/.gnupg/private.key + echo "$GPG_PRIVATE_KEY" > privkey.asc + gpg --import privkey.asc + gpg --export --armor 9C7A2C9B62603299 > pubkey.asc else echo ":warning: Skipped code signing for Linux AppImage, as gpg key was not present." >> $GITHUB_STEP_SUMMARY fi - ./linuxdeploy-"$APPIMAGE_ARCH".AppImage --appdir ${{ env.INSTALL_APPIMAGE_DIR }} --output appimage --plugin qt -i ${{ env.INSTALL_APPIMAGE_DIR }}/usr/share/icons/hicolor/scalable/apps/org.prismlauncher.PrismLauncher.svg + appimagetool -s deploy "$INSTALL_APPIMAGE_DIR"/usr/share/applications/*.desktop + cp ~/bin/AppImageUpdate.AppImage "$INSTALL_APPIMAGE_DIR"/usr/bin/ + appimagetool "$INSTALL_APPIMAGE_DIR" - mv "PrismLauncher-Linux-$APPIMAGE_ARCH.AppImage" "PrismLauncher-Linux-${{ env.VERSION }}-${{ inputs.build-type }}-$APPIMAGE_ARCH.AppImage" + mv "Prism_Launcher-$VERSION-$APPIMAGE_ARCH.AppImage" "PrismLauncher-Linux-$VERSION-${{ inputs.build-type }}-$APPIMAGE_ARCH.AppImage" - name: Package portable tarball shell: bash @@ -128,4 +106,4 @@ runs: uses: actions/upload-artifact@v5 with: name: PrismLauncher-${{ runner.os }}-${{ inputs.version }}-${{ inputs.build-type }}-${{ env.APPIMAGE_ARCH }}.AppImage.zsync - path: PrismLauncher-${{ runner.os }}-${{ env.APPIMAGE_ARCH }}.AppImage.zsync + path: Prism_Launcher-${{ inputs.version }}-${{ env.APPIMAGE_ARCH }}.AppImage.zsync diff --git a/.github/actions/setup-dependencies/linux/action.yml b/.github/actions/setup-dependencies/linux/action.yml index c1cc517a3..bebc6bb93 100644 --- a/.github/actions/setup-dependencies/linux/action.yml +++ b/.github/actions/setup-dependencies/linux/action.yml @@ -12,7 +12,7 @@ runs: dpkg-dev \ ninja-build extra-cmake-modules pkg-config scdoc \ cmark gamemode-dev libarchive-dev libcmark-dev libqrencode-dev zlib1g-dev \ - appstream libxcb-cursor-dev + libxcb-cursor-dev # TODO(@getchoo): Install with the above when all targets use Ubuntu 24.04 - name: Install tomlplusplus @@ -38,20 +38,17 @@ runs: - name: Setup AppImage tooling shell: bash + env: + GH_TOKEN: ${{ github.token }} run: | - declare -A appimage_deps - - deb_arch="$(dpkg-architecture -q DEB_HOST_ARCH)" - case "$deb_arch" in + # Determinate AppImage architecture to use + dpkg_arch="$(dpkg-architecture -q DEB_HOST_ARCH_CPU)" + case "$dpkg_arch" in "amd64") - appimage_deps["https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20250213-2/linuxdeploy-x86_64.AppImage"]="4648f278ab3ef31f819e67c30d50f462640e5365a77637d7e6f2ad9fd0b4522a linuxdeploy-x86_64.AppImage" - appimage_deps["https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/1-alpha-20250213-1/linuxdeploy-plugin-qt-x86_64.AppImage"]="15106be885c1c48a021198e7e1e9a48ce9d02a86dd0a1848f00bdbf3c1c92724 linuxdeploy-plugin-qt-x86_64.AppImage" - appimage_deps["https://github.com/AppImageCommunity/AppImageUpdate/releases/download/2.0.0-alpha-1-20241225/AppImageUpdate-x86_64.AppImage"]="f1747cf60058e99f1bb9099ee9787d16c10241313b7acec81810ea1b1e568c11 AppImageUpdate-x86_64.AppImage" + APPIMAGE_ARCH="x86_64" ;; "arm64") - appimage_deps["https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20250213-2/linuxdeploy-aarch64.AppImage"]="06706ac8189797dccd36bd384105892cb5e6e71f784f4df526cc958adc223cd6 linuxdeploy-aarch64.AppImage" - appimage_deps["https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/1-alpha-20250213-1/linuxdeploy-plugin-qt-aarch64.AppImage"]="bf1c24aff6d749b5cf423afad6f15abd4440f81dec1aab95706b25f6667cdcf1 linuxdeploy-plugin-qt-aarch64.AppImage" - appimage_deps["https://github.com/AppImageCommunity/AppImageUpdate/releases/download/2.0.0-alpha-1-20241225/AppImageUpdate-aarch64.AppImage"]="cf27f810dfe5eda41f130769e4a4b562b9d93665371c15ebeffb84ee06a41550 AppImageUpdate-aarch64.AppImage" + APPIMAGE_ARCH="aarch64" ;; *) echo "# 🚨 The Debian architecture \"$deb_arch\" is not recognized!" >> "$GITHUB_STEP_SUMMARY" @@ -59,9 +56,15 @@ runs: ;; esac - for url in "${!appimage_deps[@]}"; do - curl -LO "$url" - sha256sum -c - <<< "${appimage_deps[$url]}" - done + gh release download continuous \ + --repo probonopd/go-appimage \ + --pattern "appimagetool-*-$APPIMAGE_ARCH.AppImage" \ + --output ~/bin/appimagetool + chmod +x ~/bin/appimagetool + echo "$HOME/bin" >> "$GITHUB_PATH" - sudo apt -y install libopengl0 + gh release download \ + --repo AppImageCommunity/AppImageUpdate \ + --pattern "AppImageUpdate-$APPIMAGE_ARCH.AppImage" \ + --output ~/bin/AppImageUpdate.AppImage + chmod +x ~/bin/AppImageUpdate.AppImage From be25d3a6a571bd290c905b21c4cc0ae3fea84a39 Mon Sep 17 00:00:00 2001 From: Seth Flynn Date: Sat, 29 Nov 2025 11:34:27 -0500 Subject: [PATCH 3/3] fix(launcher/updater): call architecture-agnostic AppImageUpdate Signed-off-by: Seth Flynn --- launcher/updater/prismupdater/PrismUpdater.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/launcher/updater/prismupdater/PrismUpdater.cpp b/launcher/updater/prismupdater/PrismUpdater.cpp index 61c94046c..90c3abe6f 100644 --- a/launcher/updater/prismupdater/PrismUpdater.cpp +++ b/launcher/updater/prismupdater/PrismUpdater.cpp @@ -811,7 +811,7 @@ bool PrismUpdaterApp::callAppImageUpdate() auto appimage_path = QProcessEnvironment::systemEnvironment().value(QStringLiteral("APPIMAGE")); QProcess proc = QProcess(); qDebug() << "Calling: AppImageUpdate" << appimage_path; - proc.setProgram(FS::PathCombine(m_rootPath, "bin", "AppImageUpdate-x86_64.AppImage")); + proc.setProgram(FS::PathCombine(m_rootPath, "bin", "AppImageUpdate.AppImage")); proc.setArguments({ appimage_path }); auto result = proc.startDetached(); if (!result)