Add AppImage builder
This commit is contained in:
parent
f6b078ca36
commit
16aa92512e
4 changed files with 64 additions and 0 deletions
|
@ -1,3 +1,6 @@
|
|||
^snap/love-prepared/
|
||||
^snap/love_.*\.snap$
|
||||
^tarball/love-.*\.tar\.gz$
|
||||
^appimage/love-prepared/
|
||||
^appimage/.*\.AppImage$
|
||||
^appimage/AppRun$
|
||||
|
|
|
@ -20,4 +20,11 @@ to do everything for you, why not just do it manually?! Seriously though, you
|
|||
can still use snapcraft to build this, but at that point it just acts like a
|
||||
fancy mksquashfs, and an extra dependency at that.
|
||||
|
||||
## appimage ##
|
||||
`appimage` builds [AppImages][AppImage], unsurprisingly. It uses binaries from
|
||||
[AppImageKit][], though you can build them yourself if you want to. And hey,
|
||||
this actually seems to work, too!
|
||||
|
||||
[snap]: http://snapcraft.io/
|
||||
[AppImage]: http://appimage.org/
|
||||
[AppImageKit]: https://github.com/probonopd/AppImageKit
|
||||
|
|
50
appimage/build.sh
Executable file
50
appimage/build.sh
Executable file
|
@ -0,0 +1,50 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -eo >/dev/null
|
||||
|
||||
if [[ $# -lt 1 ]]; then
|
||||
echo "Usage: $0 <version>"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
VERSION="$1"
|
||||
if ! test -f ../tarball/love-${VERSION}-amd64.tar.gz; then
|
||||
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/probonopd/AppImageKit/releases/download/continuous/"$1"; then
|
||||
echo "Failed to download appimagetool"
|
||||
echo "Please supply it manually"
|
||||
exit 1
|
||||
fi
|
||||
chmod +x "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
download_if_needed appimagetool-x86_64.AppImage
|
||||
download_if_needed AppRun
|
||||
|
||||
# Extract the tarball build into a folder
|
||||
rm -rf love-prepared
|
||||
mkdir love-prepared
|
||||
tar xf ../tarball/love-${VERSION}-amd64.tar.gz -C love-prepared --strip-components=1
|
||||
|
||||
cd love-prepared
|
||||
|
||||
# Add our small wrapper script (yay, more wrappers), and AppRun
|
||||
cp ../wrapper usr/bin/wrapper-love
|
||||
cp ../AppRun .
|
||||
|
||||
# Add our desktop file
|
||||
sed -e 's/%BINPREFIX%/wrapper-/' -e 's/%ICONPREFIX%//' love.desktop.in > love.desktop
|
||||
rm love.desktop.in
|
||||
|
||||
# Add a DirIcon
|
||||
cp love.svg .DirIcon
|
||||
|
||||
# Now build the final AppImage
|
||||
cd ..
|
||||
./appimagetool-x86_64.AppImage love-prepared love-${VERSION}-x86_64.AppImage
|
4
appimage/wrapper
Executable file
4
appimage/wrapper
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
|
||||
# For some reason this runs from the usr subdirectory
|
||||
exec ../love "$@"
|
Loading…
Reference in a new issue