From 061125ab6366bb47fc77cd934c09c9a5a764a390 Mon Sep 17 00:00:00 2001 From: Stanislav Dmitrenko <7953703+avently@users.noreply.github.com> Date: Thu, 3 Aug 2023 00:30:24 +0300 Subject: [PATCH] desktop: AppImage support (#2839) --- scripts/desktop/make-appimage-linux.sh | 44 ++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 scripts/desktop/make-appimage-linux.sh diff --git a/scripts/desktop/make-appimage-linux.sh b/scripts/desktop/make-appimage-linux.sh new file mode 100755 index 0000000000..bf00df439d --- /dev/null +++ b/scripts/desktop/make-appimage-linux.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +set -e + +function readlink() { + echo "$(cd "$(dirname "$1")"; pwd -P)" +} + +root_dir="$(dirname "$(dirname "$(readlink "$0")")")" +multiplatform_dir=$root_dir/apps/multiplatform +release_app_dir=$root_dir/apps/multiplatform/release/main/app + +cd $multiplatform_dir +libcrypto_path=$(ldd common/src/commonMain/cpp/desktop/libs/*/deps/libHSdirect-sqlcipher-*.so | grep libcrypto | cut -d'=' -f 2 | cut -d ' ' -f 2) + +cp $libcrypto_path common/src/commonMain/cpp/desktop/libs/*/deps + +./gradlew createDistributable +rm common/src/commonMain/cpp/desktop/libs/*/deps/`basename $libcrypto_path` +rm desktop/src/jvmMain/resources/libs/*/`basename $libcrypto_path` + +rm -rf $release_app_dir/AppDir 2>/dev/null +mkdir -p $release_app_dir/AppDir/usr + +cd $release_app_dir/AppDir +cp -r ../*imple*/{bin,lib} usr +cp usr/lib/simplex.png . + +# For https://github.com/TheAssassin/AppImageLauncher to be able to show the icon +mkdir -p usr/share/icons +cp usr/lib/simplex.png usr/share/icons + +ln -s usr/bin/*imple* AppRun +cp $multiplatform_dir/desktop/src/jvmMain/resources/distribute/*imple*.desktop . +sed -i 's|Exec=.*|Exec=simplex|g' *imple*.desktop +sed -i 's|Icon=.*|Icon=simplex|g' *imple*.desktop + +if [ ! -f ../appimagetool-x86_64.AppImage ]; then + wget https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage -O ../appimagetool-x86_64.AppImage + chmod +x ../appimagetool-x86_64.AppImage +fi +../appimagetool-x86_64.AppImage . + +mv *imple*.AppImage ../../