Skip to content

Instantly share code, notes, and snippets.

@goldstar611
Last active August 15, 2022 15:29
Show Gist options
  • Save goldstar611/37b6181fc44a707094793dda41d645de to your computer and use it in GitHub Desktop.
Save goldstar611/37b6181fc44a707094793dda41d645de to your computer and use it in GitHub Desktop.
Xonotic AppImage-builder Recipe
# The purpose here is to play Xonotic on older OS with glibc < 2.29
#
# The resulting AppImage doesn't work BUT
# you can extract the AppImage using
# `./Xonotic-0.8.5-x86_64.AppImage --appimage-extract`
# and execute `./squashfs-root/AppRun` to play the game
#
# There are some tweaks to file modes and copying over symlinks to ensure that
# the file is executable on other systems where the uid is different.
#
# The Xonotic zip must be extracted into a directory called `Xonotic`
#
# The excludes section needs more work
# Also the MacOS and Windows bits need to be removed
#
version: 1
script:
# Remove any previous build
- rm -rf AppDir | true
- |
mkdir -p AppDir/usr/share/icons/
cp Xonotic/misc/logos/xonotic_icon.svg AppDir/usr/share/icons/xonotic_icon.svg
mkdir AppDir/Xonotic
cp -r ./Xonotic AppDir/
rm AppDir/Xonotic/xonotic-linux-glx.sh
cp AppDir/Xonotic/xonotic-linux-sdl.sh AppDir/Xonotic/xonotic-linux-glx.sh
chmod 755 AppDir/Xonotic/xonotic-linux*
AppDir:
path: ./AppDir
app_info:
id: com.teamxonotic.xonotic
name: Xonotic
icon: xonotic_icon
version: 0.8.5
exec: bin/bash
exec_args: Xonotic/xonotic-linux-glx.sh
apt:
arch: amd64
sources:
- sourceline: 'deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse'
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C'
- sourceline: 'deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse'
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C'
- sourceline: 'deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse'
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C'
include:
- libc6
- libgmp10
- libjpeg-turbo8
- libsdl2-2.0-0
- libxpm4
- zlib1g
- unzip
- zip
- curl
- bash
#exclude:
files:
exclude:
- usr/share/man
- usr/share/doc/*
runtime:
env:
APPDIR_LIBRARY_PATH: $APPDIR/lib/x86_64-linux-gnu:$APPDIR/usr/lib/x86_64-linux-gnu:$APPDIR/usr/lib/x86_64-linux-gnu/pulseaudio
AppImage:
update-information: None
sign-key: None
arch: x86_64
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment