diff options
Diffstat (limited to 'PKGBUILD')
-rwxr-xr-x | PKGBUILD | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100755 index 000000000000..28980b17c557 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,163 @@ +# Maintainer: Petteri Tolonen <petteri dot tolonen at gmail dot com> +# Contributor: erm67 +# Contributor: JD Steffen +pkgname=hexen2 +pkgver=1.5.6 +_gamecodever=1.28 +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" +arch=('i686' 'x86_64') +url="http://uhexen2.sourceforge.net/" +license=('GPL2') +depends=('gtk2' 'libmad' 'libvorbis' 'sdl>=1.2.4') +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) +md5sums=('8e48a9845423fd35d31c171911efb495' + 'e2e7463eb16461955c3cacee6c844937' + '9ac598a80765daa0862893bd0aac765a' + '2a2aa35969de221fcee88b3d2187e76e' + 'cd519dc631152951026a5348e23547f4') + +build() { + + cd $srcdir/hexen2source-$pkgver + # Build the main game binaries + 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 + make -C engine/hexen2/server + # HexenWorld binaries + make -C engine/hexenworld/server + 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 + make -C h2patch + + # Launcher binaries + make -C launcher + + # Build the hcode compiler + make -C utils/hcc + # Build the game-code + utils/hcc/hcc -src ../gamecode-${_gamecodever}/hc/h2 + utils/hcc/hcc -src ../gamecode-${_gamecodever}/hc/h2 -name progs2.src + utils/hcc/hcc -src ../gamecode-${_gamecodever}/hc/portals -oi -on + utils/hcc/hcc -src ../gamecode-${_gamecodever}/hc/hw -oi -on + #utils/hcc/hcc -src ../gamecode-${_gamecodever}/hc/siege -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 -D -m755 launcher/h2launcher ${pkgdir}/opt/$pkgname/h2launcher + + mkdir -p ${pkgdir}/usr/bin + install -D -m755 ../../hexen2.sh ${pkgdir}/usr/bin/$pkgname + + # 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.launcher ${pkgdir}/opt/$pkgname/docs/README.launcher + 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 .. + + # 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/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 + +} +# vim:set ts=2 sw=2 et: |