Noah Petherbridge
cbc8682406
* Add a Dockerfile to this repo for self-contained easy releases. Run it from an x86_64 Linux host and it will produce 64-bit and 32-bit Linux (rpm, deb, AppImage, tar.gz) and Windows releases. * The `make appimage` command is more self-sufficient: it will download the appimagetool-x86_64.AppImage program for your $ARCH for an easy no-dependencies run after you have run `make dist`
58 lines
1.5 KiB
Bash
Executable File
58 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script to build an AppImage.
|
|
# Run it like `ARCH=x86_64 make appimage`
|
|
# It will fetch your appimagetool-x86_64.AppImage program to build the appimage.
|
|
|
|
if [[ ! -d "./dist/sketchymaze-latest" ]]; then
|
|
echo "error: run make dist before make appimage"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "$ARCH" == "" ]]; then
|
|
echo "You should set ARCH=x86_64 (or your platform for AppImage output)"
|
|
exit 1
|
|
fi
|
|
|
|
APPDIR="./dist/AppDir"
|
|
LAUNCHER="./scripts/appimage-launcher.sh"
|
|
DESKTOP="./scripts/appimage.desktop"
|
|
ICON_IMG="./etc/icons/256.png"
|
|
ICON_VECTOR="./etc/icons/orange-128.svg"
|
|
|
|
APP_RUN="$APPDIR/AppRun"
|
|
DIR_ICON="$APPDIR/sketchymaze.svg"
|
|
|
|
APPIMAGETOOL="appimagetool-$ARCH.AppImage"
|
|
if [[ ! -f "./$APPIMAGETOOL" ]]; then
|
|
echo "Downloading appimagetool"
|
|
wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-$ARCH.AppImage"
|
|
chmod a+x $APPIMAGETOOL
|
|
fi
|
|
|
|
# Clean start
|
|
if [[ -d "$APPDIR" ]]; then
|
|
echo "Note: Removing previous $APPDIR"
|
|
rm -rf "$APPDIR"
|
|
fi
|
|
|
|
echo "Creating $APPDIR"
|
|
mkdir $APPDIR
|
|
|
|
# Entrypoint script (AppRun)
|
|
cp "./scripts/appimage-launcher.sh" "$APPDIR/AppRun"
|
|
chmod +x "$APPDIR/AppRun"
|
|
|
|
# .DirIcon PNG for thumbnailers
|
|
cp "./etc/icons/256.png" "$APPDIR/.DirIcon"
|
|
cp "./etc/icons/orange-128.svg" "$APPDIR/sketchymaze.svg"
|
|
|
|
# .desktop launcher
|
|
cp "./scripts/appimage.desktop" "$APPDIR/sketchymaze.desktop"
|
|
|
|
# Everything else
|
|
rsync -av "./dist/sketchymaze-latest/" "$APPDIR/"
|
|
|
|
echo "Making AppImage..."
|
|
cd $APPDIR
|
|
../../$APPIMAGETOOL $(pwd) |