#!/bin/sh set -e # Print all commands as they are run set -x if [ ! -f ./bin/chatterino ] || [ ! -x ./bin/chatterino ]; then echo "ERROR: No chatterino binary file found. This script must be run in the build folder, and chatterino must be built first." exit 1 fi echo "Qt5_DIR set to: ${Qt5_DIR}" export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${Qt5_DIR}/lib" export PATH="${Qt5_DIR}/bin:$PATH" script_path=$(readlink -f "$0") script_dir=$(dirname "$script_path") chatterino_dir=$(dirname "$script_dir") echo "Running LDD on chatterino binary:" ldd ./bin/chatterino echo "" echo "Running make install in the appdir" make INSTALL_ROOT=appdir -j"$(nproc)" install ; find appdir/ echo "" cp "$chatterino_dir"/resources/icon.png ./appdir/chatterino.png linuxdeployqt_path="linuxdeployqt-x86_64.AppImage" linuxdeployqt_url="https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" if [ ! -f "$linuxdeployqt_path" ]; then echo "Downloading LinuxDeployQT from $linuxdeployqt_url to $linuxdeployqt_path" curl --location --fail --silent "$linuxdeployqt_url" -o "$linuxdeployqt_path" chmod a+x "$linuxdeployqt_path" fi appimagetool_path="appimagetool-x86_64.AppImage" appimagetool_url="https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" if [ ! -f "$appimagetool_path" ]; then echo "Downloading AppImageTool from $appimagetool_url to $appimagetool_path" curl --location --fail --silent "$appimagetool_url" -o "$appimagetool_path" chmod a+x "$appimagetool_path" fi # For some reason, the copyright file for libc was not found. We need to manually copy it from the host system mkdir -p appdir/usr/share/doc/libc6/ cp /usr/share/doc/libc6/copyright appdir/usr/share/doc/libc6/ echo "Run LinuxDeployQT" ./"$linuxdeployqt_path" \ --appimage-extract-and-run \ appdir/usr/share/applications/com.chatterino.chatterino.desktop \ -no-translations \ -bundle-non-qt-libs \ -unsupported-allow-new-glibc rm -rf appdir/home rm -f appdir/AppRun echo "Run AppImageTool" # shellcheck disable=SC2016 echo '#!/bin/sh here="$(dirname "$(readlink -f "${0}")")" export QT_QPA_PLATFORM_PLUGIN_PATH="$here/usr/plugins" cd "$here/usr" exec "$here/usr/bin/chatterino" "$@"' > appdir/AppRun chmod a+x appdir/AppRun ./"$appimagetool_path" \ --appimage-extract-and-run \ appdir # TODO: Create appimage in a unique directory instead maybe idk? rm -rf appdir