diff options
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r--[-rwxr-xr-x] | PKGBUILD | 209 | ||||
-rw-r--r--[-rwxr-xr-x] | hexen2.desktop | 9 | ||||
-rw-r--r--[-rwxr-xr-x] | hexen2.install | 21 | ||||
-rw-r--r--[-rwxr-xr-x] | hexen2.sh | 4 |
5 files changed, 96 insertions, 159 deletions
@@ -1,19 +1,17 @@ pkgbase = hexen2 - pkgdesc = Hammer of Thyrion: A cross-platform port of Raven Software's Hexen II source based on an older linux port, Anvil of Thyrion + pkgdesc = Hammer of Thyrion: Raven Software's Hexen II source port (based on Anvil of Thyrion) pkgver = 1.5.8 - pkgrel = 1 + pkgrel = 2 url = http://uhexen2.sourceforge.net/ install = hexen2.install arch = i686 arch = x86_64 license = GPL2 - makedepends = libmad - makedepends = libvorbis makedepends = nasm depends = bash depends = libmad depends = libvorbis - depends = sdl>=1.2.4 + depends = sdl provides = hexenworld source = http://downloads.sourceforge.net/uhexen2/hexen2source-1.5.8.tgz source = http://downloads.sourceforge.net/uhexen2/hexen2source-gamecode-1.5.8.tgz @@ -23,8 +21,8 @@ pkgbase = hexen2 sha256sums = fbe6d05b4a10b82d1817faeccc18996a93b26d0814fe4e5f6e75d94862660463 sha256sums = 5ba7f996a282305a157de9d1735b416c7151f59d6e84a580e1e9ed8bb66c4044 sha256sums = 49462cdf984deee7350d03c7d192d1c34d682647ffc9d06de4308e0a7c71c4d9 - sha256sums = f3130b7aa64ffb0c041429ea4f8c32de338fd892f16b9f89dd470d6cc7f757cf - sha256sums = c592f675cc04fba0d6c3608d41dc1aed7923e66c49e9ee598ff7f77f7218c812 + sha256sums = fa0bde060ba3afda3683b96d7ece23161816a04a2365ba996c1cb07268d6580f + sha256sums = 9882421ee54afa4995c11e3759ab7fffb59a448291f0d647b3857d43b5cf27a9 pkgname = hexen2 diff --git a/PKGBUILD b/PKGBUILD index e92f54a01980..e45a6c15a9ec 100755..100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,169 +1,120 @@ -# Maintainer: Petteri Tolonen <petteri dot tolonen at gmail dot com> +# Maintainer: carstene1ns <arch carsten-teibes de> - http://git.io/ctPKG +# Contributor: Petteri Tolonen <petteri dot tolonen at gmail dot com> # Contributor: erm67 # Contributor: JD Steffen + pkgname=hexen2 pkgver=1.5.8 _gamecodever=1.29a -pkgrel=1 -pkgdesc="Hammer of Thyrion: A cross-platform port of Raven Software's Hexen II source based on an older linux port, Anvil of Thyrion" +pkgrel=2 +pkgdesc="Hammer of Thyrion: Raven Software's Hexen II source port (based on Anvil of Thyrion)" arch=('i686' 'x86_64') url="http://uhexen2.sourceforge.net/" license=('GPL2') -depends=('bash' 'libmad' 'libvorbis' 'sdl>=1.2.4') -makedepends=('libmad' 'libvorbis' 'nasm') +depends=('bash' 'libmad' 'libvorbis' 'sdl') +makedepends=('nasm') provides=('hexenworld') install=hexen2.install -source=(http://downloads.sourceforge.net/uhexen2/hexen2source-${pkgver}.tgz \ - http://downloads.sourceforge.net/uhexen2/hexen2source-gamecode-${pkgver}.tgz \ - http://downloads.sourceforge.net/uhexen2/hexenworld-pakfiles-0.15.tgz \ - hexen2.desktop \ - hexen2.sh) +source=("http://downloads.sourceforge.net/uhexen2/hexen2source-$pkgver.tgz" + "http://downloads.sourceforge.net/uhexen2/hexen2source-gamecode-${pkgver}.tgz" + "http://downloads.sourceforge.net/uhexen2/hexenworld-pakfiles-0.15.tgz" + "hexen2.desktop" + "hexen2.sh") sha256sums=('fbe6d05b4a10b82d1817faeccc18996a93b26d0814fe4e5f6e75d94862660463' '5ba7f996a282305a157de9d1735b416c7151f59d6e84a580e1e9ed8bb66c4044' - '49462cdf984deee7350d03c7d192d1c34d682647ffc9d06de4308e0a7c71c4d9' - 'f3130b7aa64ffb0c041429ea4f8c32de338fd892f16b9f89dd470d6cc7f757cf' - 'c592f675cc04fba0d6c3608d41dc1aed7923e66c49e9ee598ff7f77f7218c812') + '49462cdf984deee7350d03c7d192d1c34d682647ffc9d06de4308e0a7c71c4d9' + 'fa0bde060ba3afda3683b96d7ece23161816a04a2365ba996c1cb07268d6580f' + '9882421ee54afa4995c11e3759ab7fffb59a448291f0d647b3857d43b5cf27a9') + +prepare() { + sed 's|^hexen2dir=.*$|hexen2dir=/opt/hexen2|' -i hexen2source-$pkgver/scripts/hexen2-run.sh +} build() { + cd hexen2source-$pkgver - cd $srcdir/hexen2source-$pkgver - # Build the main game binaries + # main game make -C engine/hexen2 h2 - # use localclean instead of clean to avoid building timidity every time make -s -C engine/hexen2 localclean make -C engine/hexen2 glh2 make -s -C engine/hexen2 localclean - # Build the dedicated server + + # dedicated server make -C engine/hexen2/server - # HexenWorld binaries + + # HexenWorld make -C engine/hexenworld/server make -s -C engine/hexenworld/client localclean make -C engine/hexenworld/client hw make -s -C engine/hexenworld/client localclean make -C engine/hexenworld/client glhw + # HexenWorld master server make -C hw_utils/hwmaster - # Build h2patch + # h2patch make -C h2patch - # Build the hcode compiler + # hcode compiler make -C utils/hcc - # Build the game-code - utils/hcc/hcc -src ../gamecode-${_gamecodever}/hc/h2 -os - utils/hcc/hcc -src ../gamecode-${_gamecodever}/hc/h2 -os -name progs2.src - utils/hcc/hcc -src ../gamecode-${_gamecodever}/hc/portals -os -oi -on - utils/hcc/hcc -src ../gamecode-${_gamecodever}/hc/hw -os -oi -on - #utils/hcc/hcc -src ../gamecode-${_gamecodever}/hc/siege -os -oi -on + # game-code + utils/hcc/hcc -src ../gamecode-$_gamecodever/hc/h2 -os + utils/hcc/hcc -src ../gamecode-$_gamecodever/hc/h2 -os -name progs2.src + utils/hcc/hcc -src ../gamecode-$_gamecodever/hc/portals -os -oi -on + utils/hcc/hcc -src ../gamecode-$_gamecodever/hc/hw -os -oi -on + #utils/hcc/hcc -src ../gamecode-$_gamecodever/hc/siege -os -oi -on } package() { - - cd $srcdir/hexen2source-$pkgver - mkdir -p ${pkgdir}/opt/$pkgname/docs - install -D -m755 engine/hexen2/glhexen2 ${pkgdir}/opt/$pkgname/glhexen2 - install -D -m755 engine/hexen2/hexen2 ${pkgdir}/opt/$pkgname/hexen2 - install -D -m755 engine/hexen2/server/h2ded ${pkgdir}/opt/$pkgname/h2ded - install -D -m755 engine/hexenworld/client/hwcl ${pkgdir}/opt/$pkgname/hwcl - install -D -m755 engine/hexenworld/client/glhwcl ${pkgdir}/opt/$pkgname/glhwcl - install -D -m755 engine/hexenworld/server/hwsv ${pkgdir}/opt/$pkgname/hwsv - install -D -m755 hw_utils/hwmaster/hwmaster ${pkgdir}/opt/$pkgname/hwmaster - install -D -m755 h2patch/h2patch ${pkgdir}/opt/$pkgname/h2patch - - # Install the run script and make symlinks to it - mkdir -p ${pkgdir}/usr/bin - sed -i 's|^hexen2dir=.*$|hexen2dir=/opt/hexen2|g' scripts/hexen2-run.sh - install -D -m755 scripts/hexen2-run.sh ${pkgdir}/usr/bin/hexen2-run.sh - ln -s hexen2-run.sh ${pkgdir}/usr/bin/glhexen2 - ln -s hexen2-run.sh ${pkgdir}/usr/bin/hexen2 - ln -s hexen2-run.sh ${pkgdir}/usr/bin/h2ded - ln -s hexen2-run.sh ${pkgdir}/usr/bin/glhwcl - ln -s hexen2-run.sh ${pkgdir}/usr/bin/hwcl - ln -s hexen2-run.sh ${pkgdir}/usr/bin/hwsv - - # Install the cd-rip scripts - install -D -m755 scripts/cdrip_hexen2.sh ${pkgdir}/opt/$pkgname/cdrip_hexen2.sh - install -D -m755 scripts/cdrip_hexen2_xplosiv.sh ${pkgdir}/opt/$pkgname/cdrip_hexen2_xplosiv.sh - install -D -m755 scripts/cdrip_hexen2_matroxm3d.sh ${pkgdir}/opt/$pkgname/cdrip_hexen2_matroxm3d.sh - install -D -m755 scripts/cdrip_missionpack.sh ${pkgdir}/opt/$pkgname/cdrip_missionpack.sh - - # Install the docs - install -D -m644 docs/README ${pkgdir}/opt/$pkgname/docs/README - install -D -m644 docs/COPYING ${pkgdir}/opt/$pkgname/docs/COPYING - install -D -m644 docs/BUGS ${pkgdir}/opt/$pkgname/docs/BUGS - install -D -m644 docs/TODO ${pkgdir}/opt/$pkgname/docs/TODO - install -D -m644 docs/ABOUT ${pkgdir}/opt/$pkgname/docs/ABOUT - install -D -m644 docs/AUTHORS ${pkgdir}/opt/$pkgname/docs/AUTHORS - install -D -m644 docs/Features ${pkgdir}/opt/$pkgname/docs/Features - install -D -m644 docs/CHANGES ${pkgdir}/opt/$pkgname/docs/CHANGES - install -D -m644 docs/CHANGES.old ${pkgdir}/opt/$pkgname/docs/CHANGES.old - install -D -m644 docs/README.music ${pkgdir}/opt/$pkgname/docs/README.music - install -D -m644 docs/README.3dfx ${pkgdir}/opt/$pkgname/docs/README.3dfx - install -D -m644 docs/README.hwcl ${pkgdir}/opt/$pkgname/docs/README.hwcl - install -D -m644 docs/README.hwsv ${pkgdir}/opt/$pkgname/docs/README.hwsv - install -D -m644 docs/README.hwmaster ${pkgdir}/opt/$pkgname/docs/README.hwmaster - install -D -m644 docs/SrcNotes.txt ${pkgdir}/opt/$pkgname/docs/SrcNotes.txt - install -D -m644 docs/ReleaseNotes ${pkgdir}/opt/$pkgname/docs/ReleaseNotes - install -D -m644 docs/ReleaseNotes.old ${pkgdir}/opt/$pkgname/docs/ReleaseNotes.old + cd hexen2source-$pkgver + + install -d "$pkgdir"/opt/$pkgname + + # executables + install -m755 engine/hexen2/{gl,}hexen2 engine/hexen2/server/h2ded \ + engine/hexenworld/client/{gl,}hwcl engine/hexenworld/server/hwsv \ + hw_utils/hwmaster/hwmaster "$pkgdir"/opt/$pkgname + install -Dm755 h2patch/h2patch "$pkgdir"/usr/bin/h2patch + + # run and cd-rip scripts + install -m755 scripts/hexen2-run.sh scripts/cdrip_*.sh "$pkgdir"/opt/$pkgname + + # launchers + for _b in glhexen2 hexen2 h2ded glhwcl hwcl hwsv; do + ln -s /opt/$pkgname/hexen2-run.sh "$pkgdir"/usr/bin/$_b + done + + # docs + (cd docs + install -d "$pkgdir"/opt/$pkgname/docs + install -m644 -t "$pkgdir"/opt/$pkgname/docs ABOUT AUTHORS BUGS CHANGES* TODO Features \ + README README.music README.3dfx README.h* ReleaseNotes* SrcNotes.txt + ) cd .. - # Install the gamedata - mkdir -p ${pkgdir}/opt/$pkgname/data1/ - install -D -m644 gamecode-${_gamecodever}/hc/h2/progs.dat ${pkgdir}/opt/$pkgname/data1/progs.dat - install -D -m644 gamecode-${_gamecodever}/hc/h2/progs2.dat ${pkgdir}/opt/$pkgname/data1/progs2.dat - install -D -m644 gamecode-${_gamecodever}/res/h2/hexen.rc ${pkgdir}/opt/$pkgname/data1/hexen.rc - install -D -m644 gamecode-${_gamecodever}/res/h2/strings.txt ${pkgdir}/opt/$pkgname/data1/strings.txt - install -D -m644 gamecode-${_gamecodever}/res/h2/default.cfg ${pkgdir}/opt/$pkgname/data1/default.cfg - mkdir -p ${pkgdir}/opt/$pkgname/portals/ - install -D -m644 gamecode-${_gamecodever}/hc/portals/progs.dat ${pkgdir}/opt/$pkgname/portals/progs.dat - install -D -m644 gamecode-${_gamecodever}/res/portals/hexen.rc ${pkgdir}/opt/$pkgname/portals/hexen.rc - install -D -m644 gamecode-${_gamecodever}/res/portals/strings.txt ${pkgdir}/opt/$pkgname/portals/strings.txt - install -D -m644 gamecode-${_gamecodever}/res/portals/infolist.txt ${pkgdir}/opt/$pkgname/portals/infolist.txt - install -D -m644 gamecode-${_gamecodever}/res/portals/maplist.txt ${pkgdir}/opt/$pkgname/portals/maplist.txt - install -D -m644 gamecode-${_gamecodever}/res/portals/puzzles.txt ${pkgdir}/opt/$pkgname/portals/puzzles.txt - install -D -m644 gamecode-${_gamecodever}/res/portals/default.cfg ${pkgdir}/opt/$pkgname/portals/default.cfg - mkdir -p ${pkgdir}/opt/$pkgname/hw/ - install -D -m644 gamecode-${_gamecodever}/hc/hw/hwprogs.dat ${pkgdir}/opt/$pkgname/hw/hwprogs.dat - install -D -m644 gamecode-${_gamecodever}/res/hw/mapcycle.cfg ${pkgdir}/opt/$pkgname/hw/mapcycle.cfg - install -D -m644 gamecode-${_gamecodever}/res/hw/server.cfg ${pkgdir}/opt/$pkgname/hw/server.cfg - install -D -m644 gamecode-${_gamecodever}/res/hw/strings.txt ${pkgdir}/opt/$pkgname/hw/strings.txt - install -D -m644 gamecode-${_gamecodever}/res/hw/default.cfg ${pkgdir}/opt/$pkgname/hw/default.cfg - install -D -m644 hw/pak4.pak ${pkgdir}/opt/$pkgname/hw/pak4.pak - - # Install ent fixes handling map quirks - mkdir -p ${pkgdir}/opt/$pkgname/data1/maps/ - install -D -m644 gamecode-${_gamecodever}/mapfixes/data1/maps/README.txt ${pkgdir}/opt/$pkgname/data1/maps/README.txt - install -D -m644 gamecode-${_gamecodever}/mapfixes/data1/maps/cath.ent ${pkgdir}/opt/$pkgname/data1/maps/cath.ent - install -D -m644 gamecode-${_gamecodever}/mapfixes/data1/maps/cath.txt ${pkgdir}/opt/$pkgname/data1/maps/cath.txt - install -D -m644 gamecode-${_gamecodever}/mapfixes/data1/maps/demo2.ent ${pkgdir}/opt/$pkgname/data1/maps/demo2.ent - install -D -m644 gamecode-${_gamecodever}/mapfixes/data1/maps/demo2.txt ${pkgdir}/opt/$pkgname/data1/maps/demo2.txt - install -D -m644 gamecode-${_gamecodever}/mapfixes/data1/maps/egypt4.ent ${pkgdir}/opt/$pkgname/data1/maps/egypt4.ent - install -D -m644 gamecode-${_gamecodever}/mapfixes/data1/maps/egypt4.txt ${pkgdir}/opt/$pkgname/data1/maps/egypt4.txt - install -D -m644 gamecode-${_gamecodever}/mapfixes/data1/maps/egypt5.ent ${pkgdir}/opt/$pkgname/data1/maps/egypt5.ent - install -D -m644 gamecode-${_gamecodever}/mapfixes/data1/maps/egypt5.txt ${pkgdir}/opt/$pkgname/data1/maps/egypt5.txt - install -D -m644 gamecode-${_gamecodever}/mapfixes/data1/maps/romeric5.ent ${pkgdir}/opt/$pkgname/data1/maps/romeric5.ent - install -D -m644 gamecode-${_gamecodever}/mapfixes/data1/maps/romeric5.txt ${pkgdir}/opt/$pkgname/data1/maps/romeric5.txt - install -D -m644 gamecode-${_gamecodever}/mapfixes/data1/maps/tower.ent ${pkgdir}/opt/$pkgname/data1/maps/tower.ent - install -D -m644 gamecode-${_gamecodever}/mapfixes/data1/maps/tower.txt ${pkgdir}/opt/$pkgname/data1/maps/tower.txt - install -D -m644 gamecode-${_gamecodever}/mapfixes/portals/maps/README.txt ${pkgdir}/opt/$pkgname/portals/maps/README.txt - install -D -m644 gamecode-${_gamecodever}/mapfixes/portals/maps/tibet2.ent ${pkgdir}/opt/$pkgname/portals/maps/tibet2.ent - install -D -m644 gamecode-${_gamecodever}/mapfixes/portals/maps/tibet2.txt ${pkgdir}/opt/$pkgname/portals/maps/tibet2.txt - install -D -m644 gamecode-${_gamecodever}/mapfixes/portals/maps/tibet9.ent ${pkgdir}/opt/$pkgname/portals/maps/tibet9.ent - install -D -m644 gamecode-${_gamecodever}/mapfixes/portals/maps/tibet9.txt ${pkgdir}/opt/$pkgname/portals/maps/tibet9.txt - - # Install the xdelta updates - mkdir -p ${pkgdir}/opt/$pkgname/patchdat/data1 - install -D -m644 gamecode-${_gamecodever}/patch111/patchdat/data1/data1pk0.xd3 ${pkgdir}/opt/$pkgname/patchdat/data1/data1pk0.xd3 - install -D -m644 gamecode-${_gamecodever}/patch111/patchdat/data1/data1pk1.xd3 ${pkgdir}/opt/$pkgname/patchdat/data1/data1pk1.xd3 - install -D -m644 gamecode-${_gamecodever}/patch111/patchdat.txt ${pkgdir}/opt/$pkgname/patchdat.txt - - # Install the menu icon and desktop item - mkdir -p ${pkgdir}/usr/share/pixmaps - mkdir -p ${pkgdir}/usr/share/applications - install -m644 hexen2source-$pkgver/engine/resource/hexen2.png ${pkgdir}/usr/share/pixmaps/hexen2.png - install -m644 ../$pkgname.desktop ${pkgdir}/usr/share/applications + # gamedata + (cd gamecode-$_gamecodever + install -d "$pkgdir"/opt/$pkgname/data1 + install -m644 hc/h2/*.dat res/h2/* "$pkgdir"/opt/$pkgname/data1 + install -d "$pkgdir"/opt/$pkgname/portals + install -m644 hc/portals/*.dat res/portals/* "$pkgdir"/opt/$pkgname/portals + install -d "$pkgdir"/opt/$pkgname/hw + install -m644 hc/hw/*.dat res/hw/* "$srcdir"/hw/pak4.pak "$pkgdir"/opt/$pkgname/hw + + # ent fixes (handling map quirks) + install -d "$pkgdir"/opt/$pkgname/{data1,portals}/maps + install -m644 mapfixes/data1/maps/* "$pkgdir"/opt/$pkgname/data1/maps + install -m644 mapfixes/portals/maps/* "$pkgdir"/opt/$pkgname/portals/maps + + # xdelta updates + install -d "$pkgdir"/opt/$pkgname/patchdat/data1 + install -m644 patch111/patchdat/data1/* "$pkgdir"/opt/$pkgname/patchdat/data1 + install -m644 patch111/patchdat.txt "$pkgdir"/opt/$pkgname + ) + # .desktop entry + install -Dm644 hexen2source-$pkgver/engine/resource/hexen2.png "$pkgdir"/usr/share/pixmaps/hexen2.png + install -Dm644 $pkgname.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop } -# vim:set ts=2 sw=2 et: diff --git a/hexen2.desktop b/hexen2.desktop index 23df9df789fc..b2e86fed9c72 100755..100644 --- a/hexen2.desktop +++ b/hexen2.desktop @@ -1,9 +1,8 @@ [Desktop Entry] +Type=Application Name=Hexen 2 -Comment=Hexen II +Comment=Hexen II: Hammer of Thyrion Exec=hexen2 -Icon=hexen2.png +Icon=hexen2 Terminal=false -Type=Application -Encoding=UTF-8 -Categories=Application;Game; +Categories=Game; diff --git a/hexen2.install b/hexen2.install index 530607b065db..9ec3d1574c39 100755..100644 --- a/hexen2.install +++ b/hexen2.install @@ -1,23 +1,12 @@ -post_install() { -cat << EOF ->>> You'll need the original Hexen II data files from either ->>> the demo, retail Version or Portal of Praevus add-on ->>> Copy the needed .pak files to /opt/hexen2/data1 and if necessary ->>> patch them with the launcher +post_install() { + echo "You will need the original Hexen II data files from either the demo," + echo " retail version or "Portal of Praevus" add-on." ->>> NOTE: Filenames must be lowercase! ->>> WARNING WARNING WARNING WARNING WARNING ->>> This new version no longer looks for data games in ~/.hexen2/data1 ->>> The *.pak files must be moved to /opt/hexen2/data1 -EOF + echo "Copy the needed .pak files with lowercase file names to '~/.hexen2/data1'" + echo " and patch them with 'h2patch', if needed." } post_upgrade() { post_install $1 } - -op=$1 -shift - -$op $* diff --git a/hexen2.sh b/hexen2.sh index ae07cbc194e8..b22afc66dca3 100755..100644 --- a/hexen2.sh +++ b/hexen2.sh @@ -1,3 +1,3 @@ #!/bin/sh -cd /opt/hexen2 -exec ./h2launcher $@ + +cd /opt/hexen2 && exec ./h2launcher $* |