From ff5b8919e9aeeb7881b08a93c0989a26a7356196 Mon Sep 17 00:00:00 2001 From: Geoff Hutchison Date: Mon, 11 Nov 2024 09:44:26 -0500 Subject: [PATCH 1/6] Switch AppImage build to use the new linuxdeploy tool Signed-off-by: Geoff Hutchison --- .github/workflows/build_cmake.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index 81e19c91c5..714a44b637 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -287,15 +287,18 @@ jobs: OPENSSL_ROOT_DIR: ${{ matrix.config.ssl_env }} - name: AppImage - if: matrix.config.os == 'ubuntu-20.04' && matrix.config.build_type == 'Release' + if: matrix.config.os == 'ubuntu-22.04' && matrix.config.build_type == 'Release' shell: bash run: | mkdir appdir mv prefix appdir/usr - wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" + + wget -c -nv "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage" + wget -c -nv "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage" wget -c -nv "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" chmod a+x *.AppImage - ./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/*.desktop -bundle-non-qt-libs -extra-plugins=iconengines + + ./linuxdeploy-x86_64.AppImage appdir/usr/share/applications/*.desktop -bundle-non-qt-libs -extra-plugins=iconengines --plugin qt # add the custom AppRun rm appdir/AppRun cp ../avogadrolibs/avogadrolibs/scripts/AppImage.sh appdir/AppRun From 99066a7c2b5bff3f5ad426992194b61d629f508a Mon Sep 17 00:00:00 2001 From: Geoff Hutchison Date: Mon, 11 Nov 2024 10:58:15 -0500 Subject: [PATCH 2/6] Use go-appimage instead Signed-off-by: Geoff Hutchison --- .github/workflows/build_cmake.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index 714a44b637..887370e9eb 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -82,10 +82,12 @@ jobs: - name: Install Dependencies (Linux) if: runner.os == 'Linux' run: | + sudo add-apt-repository -y universe sudo apt-get -qq update sudo apt-get -qq install ninja-build libeigen3-dev libboost-all-dev libglew-dev libxml2-dev sudo apt-get -qq install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5x11extras5-dev libqt5svg5-dev sudo apt-get -qq install libgcc-10-dev libgcc-9-dev + sudo apt install libfuse2 - name: Install Dependencies (macOS) if: runner.os == 'macOS' run: | @@ -293,17 +295,14 @@ jobs: mkdir appdir mv prefix appdir/usr - wget -c -nv "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage" - wget -c -nv "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage" - wget -c -nv "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" - chmod a+x *.AppImage - - ./linuxdeploy-x86_64.AppImage appdir/usr/share/applications/*.desktop -bundle-non-qt-libs -extra-plugins=iconengines --plugin qt + wget -c https://github.com/$(wget -q https://github.com/probonopd/go-appimage/releases/expanded_assets/continuous -O - | grep "appimagetool-.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2) + chmod +x appimagetool-*.AppImage + ./appimagetool-*.AppImage deploy appdir/usr/share/applications/*.desktop # Bundle everything expect what comes with the base system # add the custom AppRun rm appdir/AppRun cp ../avogadrolibs/avogadrolibs/scripts/AppImage.sh appdir/AppRun chmod a+x appdir/AppRun - ./appimagetool-x86_64.AppImage appdir + ./appimagetool-*.AppImage ./appdir mv Avogadro2*.AppImage avogadroapp # for upload working-directory: ${{ runner.workspace }}/build From 2be94335e0d0e7aa323b9d911b0d3cc917fd7854 Mon Sep 17 00:00:00 2001 From: Geoff Hutchison Date: Mon, 11 Nov 2024 11:23:09 -0500 Subject: [PATCH 3/6] Go back to linuxdeploy Signed-off-by: Geoff Hutchison --- .github/workflows/build_cmake.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index 887370e9eb..15dc27043b 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -295,14 +295,17 @@ jobs: mkdir appdir mv prefix appdir/usr - wget -c https://github.com/$(wget -q https://github.com/probonopd/go-appimage/releases/expanded_assets/continuous -O - | grep "appimagetool-.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2) - chmod +x appimagetool-*.AppImage - ./appimagetool-*.AppImage deploy appdir/usr/share/applications/*.desktop # Bundle everything expect what comes with the base system + wget -c -nv "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage" + wget -c -nv "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage" + wget -c -nv "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" + chmod a+x *.AppImage + + ./linuxdeploy-x86_64.AppImage -d appdir/usr/share/applications/*.desktop --plugin qt --appdir appdir # add the custom AppRun rm appdir/AppRun cp ../avogadrolibs/avogadrolibs/scripts/AppImage.sh appdir/AppRun chmod a+x appdir/AppRun - ./appimagetool-*.AppImage ./appdir + ./appimagetool-x86_64.AppImage appdir mv Avogadro2*.AppImage avogadroapp # for upload working-directory: ${{ runner.workspace }}/build From f56137e93c6365a0fc239ad95cc6dcad89f9cc38 Mon Sep 17 00:00:00 2001 From: Geoff Hutchison Date: Mon, 11 Nov 2024 11:25:13 -0500 Subject: [PATCH 4/6] Try exporting LD_LIBRARY_PATH to help linuxdeploy Signed-off-by: Geoff Hutchison --- .github/workflows/build_cmake.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index 15dc27043b..05eadaa4f2 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -295,6 +295,8 @@ jobs: mkdir appdir mv prefix appdir/usr + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:appdir/usr/lib + wget -c -nv "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage" wget -c -nv "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage" wget -c -nv "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" From cbf64a832b614d13844a543b4c8c2af747cd2ccb Mon Sep 17 00:00:00 2001 From: Geoff Hutchison Date: Mon, 11 Nov 2024 12:11:59 -0500 Subject: [PATCH 5/6] Final fix for AppImage Signed-off-by: Geoff Hutchison --- .github/workflows/build_cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index 05eadaa4f2..4272fe9d95 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -308,7 +308,7 @@ jobs: cp ../avogadrolibs/avogadrolibs/scripts/AppImage.sh appdir/AppRun chmod a+x appdir/AppRun ./appimagetool-x86_64.AppImage appdir - mv Avogadro2*.AppImage avogadroapp # for upload + mv Avogadro*.AppImage avogadroapp # for upload working-directory: ${{ runner.workspace }}/build - name: Notarize Mac DMG From 310d8aa86fe77d5af09279731b5170b1f3f902d6 Mon Sep 17 00:00:00 2001 From: Geoff Hutchison Date: Mon, 11 Nov 2024 12:48:19 -0500 Subject: [PATCH 6/6] Make sure to grab AppImage Signed-off-by: Geoff Hutchison --- .github/workflows/build_cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index 4272fe9d95..26d90cbf89 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -336,7 +336,7 @@ jobs: if: matrix.config.artifact != 0 uses: actions/upload-artifact@v4 with: - path: ${{ runner.workspace }}/build/avogadroapp/Avogadro2*.* + path: ${{ runner.workspace }}/build/avogadroapp/Avogadro*.* name: ${{ matrix.config.artifact }} - name: Cleanup