diff options
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | PKGBUILD | 68 | ||||
-rw-r--r-- | duke-nukem-2 | 9 |
3 files changed, 97 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..dc0630a79391 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,20 @@ +pkgbase = gog-duke-nukem-2 + pkgdesc = In the near future, the evil Rigelatins plan to enslave Earth and they kidnap Duke Nukem to use his brain to plot the attack for their forces. + pkgver = 2.0.0.2 + pkgrel = 1 + url = http://www.gog.com/ + arch = any + groups = games + license = custom + depends = dosbox + depends = libpng12 + depends = unionfs-fuse + optdepends = gendesk + noextract = gog_duke_nukem_2_2.0.0.2.sh + source = local://gog_duke_nukem_2_2.0.0.2.sh + source = local://duke-nukem-2 + sha256sums = 191bf306732007a73d66ff18956c59aeecb1692db90f0138738d0fa075d4bf8a + sha256sums = 194b36f033582b9f79c6034f67910a8b0b25fad8c1beac695179209d5e9be661 + +pkgname = gog-duke-nukem-2 + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..30bf94e62c15 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,68 @@ +# Maintainer : Dan McCurry <dan.mccurry at linux dot com> + +pkgname=gog-duke-nukem-2 +# Trim gog- prefix from launcher +_appname=$(echo ${pkgname} | sed -e 's/gog-//') +pkgver=2.0.0.2 +pkgrel=1 +pkgdesc="In the near future, the evil Rigelatins plan to enslave Earth and they kidnap Duke Nukem to use his brain to plot the attack for their forces." +arch=('any') +url="http://www.gog.com/" # As of this PKGBUILD, Duke Nukem 2 is no longer in store +license=("custom") +groups=("games") +source=("local://gog_duke_nukem_2_${pkgver}.sh" + "local://${_appname}") +noextract=("gog_duke_nukem_2_${pkgver}.sh") +sha256sums=('191bf306732007a73d66ff18956c59aeecb1692db90f0138738d0fa075d4bf8a' + '194b36f033582b9f79c6034f67910a8b0b25fad8c1beac695179209d5e9be661') +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='Duke Nukem II' \ + --exec="/usr/bin/${_appname}" \ + --categories "Application;Game;" + else + warning "gendesk not found!" + warning "Menu icons not generated." + fi + + # extract mojo installer and suppress header warning for unzip + unzip -o "$(echo ${pkgname} | sed -e 's/-/_/g')_${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 +} + +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} + install -Dm644 "./${_appname}.desktop" \ + "${pkgdir}/usr/share/applications/${_appname}.desktop" + + 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/duke-nukem-2 b/duke-nukem-2 new file mode 100644 index 000000000000..cd259203b19e --- /dev/null +++ b/duke-nukem-2 @@ -0,0 +1,9 @@ +#!/usr/bin/bash +gogdir="/opt/gog/duke-nukem-2" +homedir="$HOME/.gog/duke-nukem-2" +mkdir -p "$homedir"/{game,config/data} + +unionfs -o cow,relaxed_permissions "$homedir/config=RW:$gogdir=RO" "$homedir/game" +dosbox -conf "$homedir/game/dosbox_duke2.conf" \ + -conf "$homedir/game/dosbox_duke2_single.conf" +fusermount -u "$homedir/game" |