summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD128
1 files changed, 94 insertions, 34 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 43e04d4fba19..c5bc748a3713 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,40 +1,100 @@
+# Maintainer: Dan Beste <dan.ray.beste@gmail.com>
+
+# Previous maintainers:
# Maintainer : André Fettouhi <a.fettouhi@gmail.com>
# Contributor: mirandir <mirandir[at)orange(dot]com>
+# TODO
+# 1. Get the game working.
+# The game is currently unplayable. The launcher will boot, however the
+# game crashes when attempting to launch the game. I don't have too much
+# time to look into this _yet_, but some stracing may go a long way...
+
pkgname=gog-the-witcher-2-assassins-of-kings
-pkgver=1.2.0.7
+pkgver=2.2.0.8
pkgrel=1
-pkgdesc="The second installment in the RPG saga about the Witcher, Geralt of Rivia. GOG version (Linux installer)."
-arch=("i686" "x86_64")
-
-if [[ $CARCH == i686 ]]; then
- depends=(sdl2 freetype2 sdl2_image gtk2)
-else
- depends=(lib32-sdl2 lib32-freetype2 lib32-sdl2_image lib32-gtk2)
-fi
-
-url="http://www.gog.com/game/the_witcher_2"
-license=("custom")
-groups=("games")
-source=("local://gog_the_witcher_2_assassins_of_kings_${pkgver}.tar.gz" "gog-the-witcher-2-assassins-of-kings" "gog-the-witcher-2-configurator.desktop" "configurator")
-sha256sums=('9139bae265de692b5b3bbe9466ca7eff3b006f7a51e2df13cf2d86b2b247fadf'
- 'ece02677bb029e69f8248018873fbfec34f9f6eb43f42966842f4f9ac80e83f0'
- '52344cc8e6dfdef1034658412ba4cdc3fd56064762675f2a39403d21276851b7'
- '31d9f5e327f18eadb1a2a6825e2c773de22b2d6594451649edb95c5c968bf26e')
-PKGEXT=.pkg.tar
-
-package() {
- mkdir -p "${pkgdir}"/opt/gog/the-witcher-2-assassins-of-kings/
-
- mv "${srcdir}"/The\ Witcher\ 2\ Assassins\ Of\ Kings/* "${pkgdir}"/opt/gog/the-witcher-2-assassins-of-kings/
-
- install -Dm644 "${pkgdir}"/opt/gog/the-witcher-2-assassins-of-kings/support/gog-the-witcher-2-assassins-of-kings-primary.desktop "${pkgdir}"/usr/share/applications/gog-the-witcher-2-assassins-of-kings.desktop
- install -Dm644 "${pkgdir}"/opt/gog/the-witcher-2-assassins-of-kings/support/gog-the-witcher-2-assassins-of-kings.png "${pkgdir}"/usr/share/pixmaps/gog-the-witcher-2-assassins-of-kings.png
- # install .desktop file for the configurator
- install -Dm644 "${srcdir}"/gog-the-witcher-2-configurator.desktop "${pkgdir}"/usr/share/applications/gog-the-witcher-2-configurator.desktop
-
- install -Dm644 "${pkgdir}"/opt/gog/the-witcher-2-assassins-of-kings/docs/End\ User\ License\ Agreement.txt "${pkgdir}"/usr/share/licenses/$pkgname/LICENSE
-
- install -Dm755 "${srcdir}/gog-the-witcher-2-assassins-of-kings" "${pkgdir}/usr/bin/gog-the-witcher-2-assassins-of-kings"
- install -Dm755 "${srcdir}/configurator" "${pkgdir}/usr/bin/gog-the-witcher-2-configurator"
+pkgdesc='Enjoy a captivating story, dynamic combat system and beautiful graphics in the second installment in the RPG saga about the Witcher, Geralt of Rivia.'
+arch=(
+ 'i686'
+ 'x86_64'
+)
+depends_x86_64=(
+ 'freetype2'
+ 'gtk2'
+ 'sdl2'
+ 'sdl2_image'
+)
+depends_i686=(
+ 'lib32-freetype2'
+ 'lib32-gtk2'
+ 'lib32-sdl2'
+ 'lib32-sdl2_image'
+)
+url='http://thewitcher.com/en/witcher2'
+license=(
+ 'custom'
+)
+groups=(
+ 'games'
+ 'gog'
+)
+source=(
+ "gog://${pkgname//-/_}_enhanced_edition_${pkgver}.sh"
+ "${pkgname}"
+ "${pkgname}.desktop"
+)
+DLAGENTS=(
+ "gog::/usr/bin/echo %u Download the GOG file to $PWD or set up a gog:// DLAGENT."
+)
+noextract=(
+ "gog_the_witcher_2_assassins_of_kings_enhanced_edition_${pkgver}.sh"
+)
+sha256sums=(
+ '6d6f519db92fe38219b9bb62a6d2dfff0a93e5c24f73cf69ba7d05071361f586'
+ '32fd021d75ad3ed9e55e97b34d5ee08c2bde469028ddee410f933290d2998731'
+ '9f56e0b94fcd60a179a158dac27051c526f0f27b2ebe4224ca68d6ecafee7d47'
+)
+
+prepare() {
+ cd "${srcdir}" || exit 1
+ # "The ~20GB workaround"
+ #
+ # prepare() may need some changes upstream... Unzip extracts file.sh fine.
+ # Due to some "garbage" (shell script) at the beginning of file.sh, unzip
+ # will exit with a reutn code of 1, causing prepare() to fail.
+ #
+ #The "sane" solution is to repackage file.sh into a "fixed" zip file:
+ zip -FFv "../${source[0]}" --out "${pkgname}.zip"
+ # Then unzip the result:
+ unzip "${pkgname}.zip"
+ # Then cleanup after ourselves:
+ rm "${pkgname}.zip"
+ # Fun...
+}
+
+package() {
+ cd "${srcdir}"
+
+ # Install game
+ install -d "${pkgdir}/opt/${pkgname}/"
+ install -d "${pkgdir}/opt/${pkgname}/support"
+ install -d "${pkgdir}/usr/bin/"
+ cp -r "data/noarch/game/" "${pkgdir}/opt/${pkgname}/"
+
+
+ find "${pkgdir}/opt/${pkgname}" -type d -exec chmod 755 {} \;
+ install -Dm755 "data/noarch/start.sh" \
+ "${pkgdir}/opt/${pkgname}/"
+ install -Dm755 data/noarch/support/*.{sh,shlib} -t \
+ "${pkgdir}/opt/${pkgname}/support"
+
+ # Desktop integration
+ install -Dm 644 "data/noarch/support/icon.png" \
+ "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
+ install -Dm644 "data/noarch/docs/End User License Agreement.txt" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -Dm 644 "${srcdir}/${pkgname}.desktop" \
+ "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+ install -Dm755 "${srcdir}/${pkgname}" \
+ "${pkgdir}/usr/bin/${pkgname}"
}