diff options
-rw-r--r-- | .SRCINFO | 27 | ||||
-rw-r--r-- | .gitignore | 7 | ||||
-rw-r--r-- | PKGBUILD | 74 | ||||
-rw-r--r-- | launch-thiswarofmine.sh | 33 | ||||
-rw-r--r-- | thiswarofmine-gog.desktop | 12 |
5 files changed, 153 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..43752ee9a0ea --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,27 @@ +pkgbase = thiswarofmine-gog + pkgdesc = Experience war not as a soldier, but as a group of civilians in a besieged city. + pkgver = 1.2.0.3 + pkgrel = 1 + url = http://www.gog.com/game/this_war_of_mine + arch = i686 + arch = x86_64 + license = custom:commercial + depends = openal + depends = gcc-libs + depends = glibc + depends = libx11 + depends = libxau + depends = libxcb + depends = libxdmcp + depends = libxext + depends = libgl + options = !strip + source = thiswarofmine-gog.desktop + source = launch-thiswarofmine.sh + source = gog_this_war_of_mine_1.2.0.3.tar.gz::file://gog_this_war_of_mine_1.2.0.3.tar.gz + sha256sums = ce9720a6f72402c354bfc12dace96609b847c96c496c2f706080a3696d38ae4e + sha256sums = b1ac5ee88d49466585a65db109000c2c5c9cadb315aba06504abdd6ae79b168e + sha256sums = 5b5d00a35a1d933ad4bcfefa35c86631d57cf8c72d1535e12cb4daed5a6287c6 + +pkgname = thiswarofmine-gog + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..eb262a6faa46 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +*.swp +*.tar.gz +*.tar.xz +*.tar +/extracttest +/pkg +/src diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..a79f33daa015 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,74 @@ +# Maintainer: Alex Szczuczko <alex@szc.ca> + +pkgname=thiswarofmine-gog +pkgver=1.2.0.3 +pkgrel=1 +pkgdesc="Experience war not as a soldier, but as a group of civilians in a besieged city." +arch=("i686" "x86_64") +url="http://www.gog.com/game/this_war_of_mine" +license=("custom:commercial") +options=(!strip) +depends=() +source=("${pkgname}.desktop" + "launch-thiswarofmine.sh" + "gog_this_war_of_mine_${pkgver}.tar.gz::file://gog_this_war_of_mine_${pkgver}.tar.gz") +sha256sums=("ce9720a6f72402c354bfc12dace96609b847c96c496c2f706080a3696d38ae4e" + "b1ac5ee88d49466585a65db109000c2c5c9cadb315aba06504abdd6ae79b168e" + "5b5d00a35a1d933ad4bcfefa35c86631d57cf8c72d1535e12cb4daed5a6287c6") + +# Modify depends for the arch type +if [ "$CARCH" = "x86_64" ] +then + depends+=("lib32-openal" "lib32-gcc-libs" "lib32-glibc" "lib32-libx11" "lib32-libxau" "lib32-libxcb" "lib32-libxdmcp" "lib32-libxext" "lib32-libgl") +else + depends+=("openal" "gcc-libs" "glibc" "libx11" "libxau" "libxcb" "libxdmcp" "libxext" "libgl") +fi + +# Disable compression of the package +PKGEXT='.pkg.tar' + +package() { + # Binaries + install -Dm755 "$srcdir/This War Of Mine/game/This War of Mine" "$pkgdir/opt/$pkgname/This War of Mine" + ln -s "/usr/lib32/libopenal.so" "$pkgdir/opt/$pkgname/libOpenAL.so" + + # Launcher + install -m755 -t "$pkgdir/opt/$pkgname/" "$srcdir/launch-thiswarofmine.sh" + + # Data + find "$srcdir/This War Of Mine/game/" -maxdepth 1 -type f "(" -name "*.dat" -or -name "*.idx" ")" -print0 | \ + xargs -0 install -m644 -t "$pkgdir/opt/$pkgname/" + + # Docs + install -m755 -d "$pkgdir/opt/$pkgname/docs" + install -m644 -t "$pkgdir/opt/$pkgname/docs" \ + "$srcdir/This War Of Mine/game/Changelog.txt" \ + "$srcdir/This War Of Mine/docs/End User License Agreement.txt" + + # Icon + install -m644 -t "$pkgdir/opt/$pkgname/" "$srcdir/This War Of Mine/support/gog-this-war-of-mine.png" + + # + # System integration + # + + # /bin + install -m755 -d "$pkgdir/usr/bin/" + ln -s "/opt/$pkgname/launch-thiswarofmine.sh" "$pkgdir/usr/bin/$pkgname" + + # License + install -m755 -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s "/opt/$pkgname/docs/End User License Agreement.txt" "$pkgdir/usr/share/licenses/$pkgname/EULA" + + # Icon + install -m755 -d "$pkgdir/usr/share/pixmaps/" + ln -s "/opt/$pkgname/gog-this-war-of-mine.png" "$pkgdir/usr/share/pixmaps/${pkgname}.png" + + # .desktop File + install -m755 -d "$pkgdir/usr/share/applications/" + install -m644 -t "$pkgdir/usr/share/applications/" "$srcdir/${pkgname}.desktop" + + # Doc + install -m755 -d "$pkgdir/usr/share/doc/" + ln -s "/opt/$pkgname/docs" "$pkgdir/usr/share/doc/$pkgname" +} diff --git a/launch-thiswarofmine.sh b/launch-thiswarofmine.sh new file mode 100644 index 000000000000..4de4c2658c1a --- /dev/null +++ b/launch-thiswarofmine.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# This is a wrapper that works around the application's single-user design for multi-user systems. + +set -e +set -u + +game_dir="/opt/thiswarofmine-gog" +: ${XDG_DATA_HOME:=$HOME/.local/share} +user_dir="$XDG_DATA_HOME/thiswarofmine-gog" + +make_user_dir() { + echo "Creating a user directory for the game. This only needs to be done once, future runs will skip this step." + + mkdir -p "$user_dir/" + + # Read-only + find "$game_dir/" -maxdepth 1 -print0 | xargs -0 ln -s -t "$user_dir/" + + echo "User directory has been created." +} + +launch_game() { + cd "$user_dir" + ./"This War of Mine" +} + +if [ ! -f "$user_dir/This War of Mine" ] +then + make_user_dir +fi + +launch_game diff --git a/thiswarofmine-gog.desktop b/thiswarofmine-gog.desktop new file mode 100644 index 000000000000..26378a14f583 --- /dev/null +++ b/thiswarofmine-gog.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Icon=/usr/share/pixmaps/thiswarofmine-gog.png +Exec=/usr/bin/thiswarofmine-gog +Terminal=false +StartupNotify=false + +Name=This War of Mine +Comment=Experience war not as a soldier, but as a group of civilians in a besieged city. + +Categories=Game; |