Add snap builder
This commit is contained in:
parent
5d4d8821bb
commit
8eba729ddf
3 changed files with 76 additions and 0 deletions
35
snap/build.sh
Executable file
35
snap/build.sh
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Now add snap stuff
|
||||||
|
# First, our icon and desktop file
|
||||||
|
mkdir -p meta/gui
|
||||||
|
mv love.svg meta/gui/icon.svg
|
||||||
|
sed -e 's/%BINPREFIX%//' -e '/%ICONPREFIX%/d' love.desktop.in > meta/gui/love.desktop
|
||||||
|
rm love.desktop.in
|
||||||
|
|
||||||
|
# Now the yaml and launcher
|
||||||
|
sed -e "s/%VERSION%/$VERSION/" ../snap.yaml > meta/snap.yaml
|
||||||
|
cp ../command-love.wrapper .
|
||||||
|
|
||||||
|
# Finally, build it!
|
||||||
|
mksquashfs . ../love_${VERSION}_amd64.snap -noappend
|
6
snap/command-love.wrapper
Executable file
6
snap/command-love.wrapper
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
export PATH="$SNAP/usr/sbin:$SNAP/usr/bin:$SNAP/sbin:$SNAP/bin:$PATH"
|
||||||
|
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SNAP/lib:$SNAP/usr/lib:$SNAP/lib/x86_64-linux-gnu:$SNAP/usr/lib/x86_64-linux-gnu"
|
||||||
|
export LD_LIBRARY_PATH="$SNAP/usr/lib:$SNAP/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH"
|
||||||
|
export XDG_DATA_HOME="$SNAP_USER_COMMON"
|
||||||
|
exec "$SNAP/love" "$@"
|
35
snap/snap.yaml
Normal file
35
snap/snap.yaml
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
name: love
|
||||||
|
version: "%VERSION%"
|
||||||
|
architectures:
|
||||||
|
- amd64
|
||||||
|
summary: The unquestionably awesome 2D game engine
|
||||||
|
description: |
|
||||||
|
LÖVE was created to be a user-friendly engine in which simple (or
|
||||||
|
complicated) games could be made without having extensive knowledge
|
||||||
|
of system or graphics functions and without having to dedicate time
|
||||||
|
towards developing the same engine features time and time again.
|
||||||
|
|
||||||
|
Developed with cross-platform implementation in mind, it utilizes the
|
||||||
|
latest open source libraries to deliver a similar game experience,
|
||||||
|
independent of operating system. By relying on the Lua scripting language
|
||||||
|
for game-specific programming, it allows even the novice game creator to
|
||||||
|
quickly and efficiently develop an idea into a fully working game.
|
||||||
|
|
||||||
|
confinement: devmode
|
||||||
|
grade: devel
|
||||||
|
|
||||||
|
apps:
|
||||||
|
love:
|
||||||
|
command: love
|
||||||
|
plugs:
|
||||||
|
- network
|
||||||
|
- network-bind
|
||||||
|
- opengl
|
||||||
|
- pulseaudio
|
||||||
|
- screen-inhibit-control
|
||||||
|
- x11
|
||||||
|
|
||||||
|
parts:
|
||||||
|
love:
|
||||||
|
plugin: dump
|
||||||
|
source: love-prepared/.
|
Loading…
Reference in a new issue