diff options
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | PKGBUILD | 81 | ||||
-rw-r--r-- | pinball-illusions | 22 |
3 files changed, 123 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..3fa5bd0598a1 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,20 @@ +pkgbase = gog-pinball-illusions + pkgdesc = A pinball video game developed as a sequel of Pinball Fantasies and Pinball Dreams in 1995. + pkgver = 2.0.0.3 + pkgrel = 1 + url = http://www.gog.com/game/pinball_gold_pack + arch = any + groups = games + license = custom + depends = dosbox + depends = libpng12 + depends = unionfs-fuse + optdepends = gendesk + noextract = gog_pinball_illusions_2.0.0.3.sh + source = local://gog_pinball_illusions_2.0.0.3.sh + source = local://pinball-illusions + md5sums = 6727c547f9f26a339b5356006e47d9d7 + md5sums = a0aec1209b2ec37a0f5e9f38ba63be1d + +pkgname = gog-pinball-illusions + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..5ef131942f22 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,81 @@ +# Maintainer : Dan McCurry <dan.mccurry at linux dot com> + +pkgname=gog-pinball-illusions +# Trim gog- prefix from launcher +_appname=${pkgname##gog-} +pkgver=2.0.0.3 +pkgrel=1 +pkgdesc="A pinball video game developed as a sequel of Pinball Fantasies and Pinball Dreams in 1995." +arch=('any') +url="http://www.gog.com/game/pinball_gold_pack" +license=("custom") +groups=("games") +source=("local://${pkgname//-/_}_${pkgver}.sh" + "local://${_appname}") +noextract=("${pkgname//-/_}_${pkgver}.sh") +md5sums=('6727c547f9f26a339b5356006e47d9d7' + 'a0aec1209b2ec37a0f5e9f38ba63be1d') + +depends=('dosbox' 'libpng12' 'unionfs-fuse') +optdepends=('gendesk') +PKGEXT=.pkg.tar + +prepare() { + cd ${srcdir} + + # Create menu icons + if which gendesk &>/dev/null; then + gendesk -f -n --pkgname "${_appname}" \ + --pkgdesc "${pkgdesc}" \ + --name='Pinball Illusions' \ + --exec="/usr/bin/${_appname}" \ + --categories "Application;Game;" + gendesk -f -n --pkgname "${_appname}-settings" \ + --pkgdesc "Settings for Pinball Illusions" \ + --name='Pinball Illusions Settings' \ + --exec="/usr/bin/${_appname} settings" \ + --categories "Application;Game;" + else + warning "gendesk not found!" + warning "Menu icons not generated." + fi + + # extract mojo installer and suppress header warning for unzip + unzip -u "${pkgname//-/_}_${pkgver}.sh" \ + "data/noarch/*" -x "*dosbox/*" "*start.sh*" \ + "*installer_readme.txt*" "*dosbox*.tar.gz" "*gog_com.shlib*" \ + "*xdg-utils/*" "*gameinfo*" || if [ $? -eq 1 ]; then + msg "Data extraction successful."; + fi + + for i in "${srcdir}/data/noarch/dosbox*.conf"; do + sed -i "s/\(mount C \"\)\(data\"\)/\1~\/.gog\/${_appname}\/game\/\2/" $i + done + + for i in ${srcdir}/*.desktop; do + sed -i "s/\(Icon=\).*/\1${_appname}/" $i + done +} + +package() { + mkdir -p "${pkgdir}/opt/gog/${_appname}" + mkdir -p "${pkgdir}/usr/share/pixmaps" + mkdir -p "${pkgdir}/usr/share/licenses/${pkgname}" + + cd ${srcdir} + cp -r ./data/noarch/* "${pkgdir}"/opt/gog/${_appname} + for i in *.desktop; do + install -Dm644 "$(basename $i)" \ + "${pkgdir}/usr/share/applications/$(basename $i)" + done + + cd ${srcdir}/data/noarch + ln -s "/opt/gog/${_appname}/support/icon.png" \ + "${pkgdir}/usr/share/pixmaps/${_appname}.png" + ln -s "/opt/gog/${_appname}/docs/End User License Agreement.txt" \ + "${pkgdir}/usr/share/licenses/${pkgname}/EULA" + + install -Dm755 "${srcdir}/${_appname}" \ + "${pkgdir}/usr/bin/${_appname}" +} + diff --git a/pinball-illusions b/pinball-illusions new file mode 100644 index 000000000000..3bd3f438b516 --- /dev/null +++ b/pinball-illusions @@ -0,0 +1,22 @@ +#!/usr/bin/bash +game=pinball-illusions +conf=ILLUSIONS + +gogdir="/opt/gog/${game}" +homedir="$HOME/.gog/${game}" +mkdir -p "$homedir"/{game,config/data} + +case "$1" in + "") execconf=single; + ;; + settings) execconf=settings; + ;; + *) echo "Append 'settings' for game settings. Otherwise, no arguments"; + exit 1 ; + ;; +esac + +unionfs -o cow,relaxed_permissions "$homedir/config=RW:$gogdir=RO" "$homedir/game" +dosbox -conf "$homedir/game/dosbox${conf}.conf" \ + -conf "$homedir/game/dosbox${conf}_${execconf}.conf" +fusermount -u "$homedir/game" |