love-linux-builder/appimage/build.sh

57 lines
1.3 KiB
Bash
Raw Normal View History

2016-12-02 19:16:30 +00:00
#!/bin/bash
set -eo >/dev/null
2017-09-06 16:01:36 +00:00
CURRENT_APPIMAGEKIT_RELEASE=9
ARCH="$(uname -m)"
2016-12-02 19:16:30 +00:00
if [[ $# -lt 1 ]]; then
echo "Usage: $0 <version>"
exit 0
fi
VERSION="$1"
2017-09-06 16:01:36 +00:00
if ! test -f ../tarball/love-${VERSION}-${ARCH}.tar.gz; then
2016-12-02 19:16:30 +00:00
echo "No tarball found for $VERSION"
exit 1
fi
download_if_needed() {
if ! test -f "$1"; then
if ! curl -L -o "$1" "https://github.com/AppImage/AppImageKit/releases/download/${CURRENT_APPIMAGEKIT_RELEASE}/$1"; then
2016-12-02 19:16:30 +00:00
echo "Failed to download appimagetool"
echo "Please supply it manually"
exit 1
fi
chmod +x "$1"
fi
}
2017-09-06 16:01:36 +00:00
download_if_needed appimagetool-${ARCH}.AppImage
download_if_needed AppRun-${ARCH}
2016-12-02 19:16:30 +00:00
# Extract the tarball build into a folder
rm -rf love-prepared
mkdir love-prepared
2017-09-06 16:01:36 +00:00
tar xf ../tarball/love-${VERSION}-${ARCH}.tar.gz -C love-prepared --strip-components=1
2016-12-02 19:16:30 +00:00
cd love-prepared
# Add our small wrapper script (yay, more wrappers), and AppRun
cp ../wrapper usr/bin/wrapper-love
2017-09-06 16:01:36 +00:00
cp ../AppRun-${ARCH} AppRun
2016-12-02 19:16:30 +00:00
# Add our desktop file
sed -e 's/%BINARY%/wrapper-love/' -e 's/%ICON%/love/' love.desktop.in > love.desktop
2016-12-02 19:16:30 +00:00
rm love.desktop.in
# Add a DirIcon
cp love.svg .DirIcon
# Now build the final AppImage
cd ..
# Work around missing FUSE/docker
2017-09-06 16:01:36 +00:00
./appimagetool-${ARCH}.AppImage --appimage-extract
./squashfs-root/AppRun love-prepared love-${VERSION}-${ARCH}.AppImage