From: Davide Cendron Date: Sun, 18 Jan 2009 14:23:37 +0000 (+0000) Subject: games-fps/uhexen2: Added 1.4.4 pre-release version X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=a4b3062b99b85f14d0767d93ac5fa2abec426545;hp=02101f84388ae3d2f15f99d8e6ed123c5720f537;p=~andy%2Fsunrise games-fps/uhexen2: Added 1.4.4 pre-release version svn path=/sunrise/; revision=7663 --- diff --git a/games-fps/uhexen2/ChangeLog b/games-fps/uhexen2/ChangeLog index e080a9a73..c2cc74ea8 100644 --- a/games-fps/uhexen2/ChangeLog +++ b/games-fps/uhexen2/ChangeLog @@ -1,7 +1,11 @@ # ChangeLog for games-fps/uhexen2 -# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 18 Jan 2009; Davide Cendron (scen) + +uhexen2-1.4.4_pre4.ebuild: + Added 1.4.4 pre-release version + 30 Aug 2008; Thomas Sachau (Tommy[D]) metadata.xml: Add local useflags to metadata.xml (GLEP 56) diff --git a/games-fps/uhexen2/Manifest b/games-fps/uhexen2/Manifest index 1bd0c1770..35a346c65 100644 --- a/games-fps/uhexen2/Manifest +++ b/games-fps/uhexen2/Manifest @@ -1,6 +1,8 @@ DIST gamedata-all-1.19a.tgz 3703488 RMD160 3dad3b4b3aa80fb595749a6768376a245db89c12 SHA1 25ce550057c511b5cc2e4372163c0216eac35fcd SHA256 b9b9561b4155bfe3f8005315a7f8f95a567c2ebbcb2a950ad05dcb1702ac68de DIST hexen2source-1.4.3.tgz 2173736 RMD160 fd60113c5a6e6406ae21fdc13fa1704103f9ec4a SHA1 152da07cbd14bdaf33d1878851049c66db657363 SHA256 bbb9ffb5380b57be7dd7fecbbd9bba71846f2f17d5614b670e1df13710f7af0d +DIST hexen2source-1.4.4-pre4.tgz 2327143 RMD160 4f56fcf2f1cac59689e5fad8d7b0d5507ed68f42 SHA1 7b4a177579acde8888f181dcd4e3b855c2d04eac SHA256 10ec0c18b2ac36e2e2bc336ef7ec0f8c2f1acbd3df39687ac079f10f4b23f3ee DIST hexenworld-pakfiles-0.15.tgz 4948641 RMD160 bbc3d2368b01d60accf457b42f9ed5d247f94d1b SHA1 a7600b80b4205788b64fb57191e194c28b55b522 SHA256 49462cdf984deee7350d03c7d192d1c34d682647ffc9d06de4308e0a7c71c4d9 EBUILD uhexen2-1.4.3.ebuild 12815 RMD160 179002c8860860cad875553a5a45612477ae0fa2 SHA1 c7c8be31f46a06f28bc00babad853c794016dd03 SHA256 768deb1e3c618f3e4ecf09f06871464f273a64afbf919970fd700e49289e1ba9 -MISC ChangeLog 2638 RMD160 64ff6bfc7a01677d0951b118b26666c9a6292b3a SHA1 db44a64be87a9e39ba66edcc70788284dfb4ba25 SHA256 acd023f645d07272d22129724a3afed8fb5a5b1d24738a260603d5fd379a8bfd +EBUILD uhexen2-1.4.4_pre4.ebuild 12592 RMD160 280d20a507c670e796a821f227329c63d1e08a17 SHA1 3d50de21e33318e596a8014196e0e27c80ed63cd SHA256 3c38a9d0f0b5dd7138675519d4e382e2fa4163db7d4b4493d322b343e9dc8bb0 +MISC ChangeLog 2758 RMD160 d1ed979f300ea0332411372ccff1678fab7af8eb SHA1 32beccd67b05d8f807842fe4c2c5f461f0acb85b SHA256 f821aa18fae29ccc76a4b9e5a9dfa6adc1ba17dbf4e3828399ec5f49587ca7ba MISC metadata.xml 1145 RMD160 de493008e9d152ce14f697a699c76c2b26a27f0f SHA1 141679fce22f9ade0526683fd3f0c9a3d45affb6 SHA256 21538f19a45e5c7aa5de068e825448a82c41da477576529d2b7bda8b672a761c diff --git a/games-fps/uhexen2/uhexen2-1.4.4_pre4.ebuild b/games-fps/uhexen2/uhexen2-1.4.4_pre4.ebuild new file mode 100644 index 000000000..69530503a --- /dev/null +++ b/games-fps/uhexen2/uhexen2-1.4.4_pre4.ebuild @@ -0,0 +1,456 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit eutils flag-o-matic toolchain-funcs versionator games + +MY_PV=$(replace_version_separator 3 '-') +DATA_PV="1.19a" +HW_PV="0.15" +MY_PN="hexen2" +DEMO_PV="1.4.3" + +DESCRIPTION="Hexen 2 port - Hammer of Thyrion" +HOMEPAGE="http://uhexen2.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${MY_PN}source-${MY_PV}.tgz + mirror://sourceforge/u${MY_PN}/gamedata-all-${DATA_PV}.tgz + hexenworld? ( mirror://sourceforge/u${MY_PN}/hexenworld-pakfiles-${HW_PV}.tgz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="3dfx alsa asm cdaudio debug dedicated demo dynamic hexenworld gtk lights +midi opengl optimize-cflags oss sdlaudio sdlcd tools" + +#QA_EXECSTACK="${GAMES_BINDIR:1}/hexen2 +# ${GAMES_BINDIR:1}/glhexen2 +# ${GAMES_BINDIR:1}/hexen2-demo +# ${GAMES_BINDIR:1}/glhexen2-demo +# ${GAMES_BINDIR:1}/hwcl +# ${GAMES_BINDIR:1}/glhwcl +# ${GAMES_BINDIR:1}/hwcl-demo +# ${GAMES_BINDIR:1}/glhwcl-demo" + +UIDEPEND=">=media-libs/libsdl-1.2.7 + >=media-libs/sdl-mixer-1.2.5 + 3dfx? ( media-libs/glide-v3 ) + alsa? ( >=media-libs/alsa-lib-1.0.7 ) + midi? ( media-sound/timidity++ >=media-libs/sdl-mixer-1.2.5[timidity] ) + opengl? ( virtual/opengl )" + +# Launcher depends from GTK+ libs +LNCHDEPEND="gtk? ( x11-libs/gtk+:2 )" + +# xdelta is needed to manually run the patch script +RDEPEND="!games-fps/uhexen2-cvs + ${UIDEPEND} + ${LNCHDEPEND} + demo? ( >=games-fps/hexen2-demodata-${DEMO_PV} ) + lights? ( games-fps/hexen2-lights ) + >=dev-util/xdelta-1.1.3-r1" +DEPEND="${UIDEPEND} + ${LNCHDEPEND} + x86? ( asm? ( >=dev-lang/nasm-0.98.38 ) )" + +S="${WORKDIR}/hexen2source-${MY_PV}" +dir="${GAMES_DATADIR}/${MY_PN}" + +pkg_setup() { + games_pkg_setup +} + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${S}/00_Patches/midi_with_sdlaudio-test.diff" + cd hexen2 + epatch "${S}/00_Patches/external-music-file-support.diff" + cd .. + + # Whether to use the demo directory + local demo + use demo && demo="/demo" + + # Use default basedir - has 2 variations + sed -i \ + -e "s:parms.basedir = cwd;:parms.basedir = \"${dir}${demo}\";:" \ + -e "s:parms.basedir = \".\";:parms.basedir = \"${dir}${demo}\";:" \ + {hexen2,hexen2/server,hexenworld/{Client,Server}}/sys_unix.c \ + || die "sed sys_unix.c failed" + + # Change default sndspeed from 22050 to 44100, + # to improve the quality/reliability. + sed -i \ + -e "s:desired_speed = 22050:desired_speed = 44100:" \ + {hexen2,hexenworld/Client}/snd_dma.c || die "sed snd_dma.c failed" + + # Change patch script to be suitable + sed -i \ + -e "s:chmod :#chmod :" \ + -e 's:"xdelta113":"/usr/bin/xdelta":' \ + -e "s:./xdelta113:xdelta": \ + "${WORKDIR}"/update_xdelta.sh || die "sed update_xdelta.sh failed" + + # Honour Portage CFLAGS also when debuggins is enabled + use debug && append-flags "-g2" + for u in `grep -lr '\-g \-Wall' *`; do + sed -i \ + -e "s/^CFLAGS \:\= \-g \-Wall/CFLAGS \:\= ${CFLAGS}/" \ + ${u} || die "sed ${u} failed" + done + + if use demo ; then + # Allow lightmaps in demo + sed -i \ + -e "s:!override_pack:0:" \ + hexen2/common.c || die "sed common.c demo failed" + fi + + if use gtk ; then + # Tweak the default games data dir for graphical launcher + sed -i \ + -e "/int basedir_nonstd/s:= 0:= 1:" \ + -e "/game_basedir\[0\]/d" \ + launcher/config_file.c || die "sed config_file.c failed" + # Tweak the default name for binary executables,if DEMO version is enabled + if use demo ; then + sed -i \ + -e "/BINARY_NAME/s:\"$:-demo\":" \ + launcher/games.h || die "sed games.h failed" + fi + fi + + rm -rf docs/{activision,COMPILE,COPYING,LICENSE,README.win32} +} + +src_compile() { + + local h2bin="h2" hwbin="hw" link_gl_libs="no" opts + local \ + h2bin="h2" hwbin="hw" \ + USE_ALSA="no" \ + USE_CDAUDIO="no" \ + LINK_GL_LIBS="no" \ + USE_MIDI="no" \ + OPT_EXTRA="no" \ + USE_OSS="no" \ + USE_SDLCD="no" \ + X86_ASM="no" \ + USE_3DFX="no" \ + opts + + if use opengl ; then + h2bin="${h2bin} gl${h2bin}" + hwbin="${hwbin} gl${hwbin}" + use dynamic && LINK_GL_LIBS="yes" + fi + + use debug && opts="${opts} DEBUG=1" + use demo && opts="${opts} DEMO=1" + + use alsa && USE_ALSA="yes" + use cdaudio && USE_CDAUDIO="yes" + use optimize-cflags && OPT_EXTRA="yes" + use oss && USE_OSS="yes" + use sdlcd && USE_SDLCD="yes" + use midi && USE_MIDI="yes" + use x86 && use asm && X86_ASM="yes" + use 3dfx && USE_3DFX="yes" + + if use gtk ; then + # Build launcher + cd "${S}/launcher" + einfo "Building graphical launcher" + emake \ + AUTOTOOLS=1 \ + ${opts} \ + CPUFLAGS="${CFLAGS}" \ + CC="$(tc-getCC)" \ + || die "emake launcher failed" + fi + + if use tools ; then + # Build Hexen2 utils + cd "${S}/utils" + einfo "Building utils" + local utils_list="hcc maputils genmodel qfiles dcc jsh2color hcc_old texutils/bsp2wal texutils/lmp2pcx" + for x in ${utils_list} + do + emake -C ${x} \ + ${opts} \ + CPUFLAGS="${CFLAGS}" \ + CC="$(tc-getCC)" \ + || die "emake ${x} failed" + done + fi + + if use dedicated ; then + # Dedicated Server + cd "${S}/${MY_PN}" + einfo "Building Dedicated Server" + emake \ + ${opts} \ + OPT_EXTRA=${OPT_EXTRA} \ + CPUFLAGS="${CFLAGS}" \ + CC="$(tc-getCC)" \ + -f Makefile.sv \ + || die "emake Dedicated server failed" + fi + + if use hexenworld ; then + if use tools; then + # Hexenworld utils + local hw_utils="hwmquery hwrcon" + einfo "Building Hexenworld utils" + cd "${S}/hw_utils" + for x in ${hw_utils} ; do + emake \ + ${opts} \ + CPUFLAGS="${CFLAGS}" \ + CC="$(tc-getCC)" \ + -C ${x} \ + || die "emake ${x} failed" + done + fi + + # Hexenworld + einfo "Building Hexenworld servers" + cd "${S}"/hexenworld + # Hexenworld servers + emake \ + ${opts} \ + CPUFLAGS="${CFLAGS}" \ + CC="$(tc-getCC)" \ + -C Server \ + || die "emake HexenWorld Server failed" + emake \ + ${opts} \ + CPUFLAGS="${CFLAGS}" \ + CC="$(tc-getCC)" \ + -C Master \ + || die "emake HexenWorld Master failed" + + # Hexenworld client + einfo "Building Hexenworld client(s)" + for m in ${hwbin} ; do + emake -C Client clean + emake \ + ${opts} \ + USE_ALSA=${USE_ALSA} \ + USE_OSS=${USE_OSS} \ + USE_CDAUDIO=${USE_CDAUDIO} \ + USE_MIDI=${USE_MIDI} \ + USE_SDLAUDIO=${USE_SDLAUDIO} \ + USE_SDLCD=${USE_SDLCD} \ + USE_X86_ASM=${X86_ASM} \ + OPT_EXTRA=${OPT_EXTRA} \ + LINK_GL_LIBS=${LINK_GL_LIBS} \ + USE_3DFXGAMMA="${USE_3DFX}" \ + CPUFLAGS="${CFLAGS}" \ + CC="$(tc-getCC)" \ + ${m} \ + -C Client \ + || die "emake Hexenworld Client (${m}) failed" + done + fi + + # Hexen 2 game executable + cd "${S}/${MY_PN}" + + einfo "Building UHexen2 game executable(s)" + for m in ${h2bin} ; do + emake clean + emake \ + ${opts} \ + USE_ALSA=${USE_ALSA} \ + USE_OSS=${USE_OSS} \ + USE_CDAUDIO=${USE_CDAUDIO} \ + USE_MIDI=${USE_MIDI} \ + USE_SDLAUDIO=${USE_SDLAUDIO} \ + USE_SDLCD=${USE_SDLCD} \ + USE_X86_ASM=${X86_ASM} \ + OPT_EXTRA=${OPT_EXTRA} \ + LINK_GL_LIBS=${LINK_GL_LIBS} \ + USE_3DFXGAMMA=${USE_3DFX} \ + CPUFLAGS="${CFLAGS}" \ + CC="$(tc-getCC)" \ + ${m} \ + || die "emake Hexen2 (${m}) failed" + done + +} + +src_install() { + local demo demo_title demo_suffix + use demo && demo="-demo" && demo_title=" (Demo)" && demo_suffix="demo" + + newicon hexen2/icons/h2_32x32x4.png ${PN}.png || die + + make_desktop_entry "${MY_PN}${demo}" "Hexen 2${demo_title}" ${PN}.png + newgamesbin "${MY_PN}/${MY_PN}" "${MY_PN}${demo}" \ + || die "newgamesbin ${MY_PN} failed" + + if use opengl ; then + make_desktop_entry "gl${MY_PN}${demo}" "GLHexen 2${demo_title}" ${PN}.png + newgamesbin "${MY_PN}/gl${MY_PN}" "gl${MY_PN}${demo}" \ + || die "newgamesbin gl${MY_PN} failed" + fi + + if use dedicated ; then + newgamesbin "${MY_PN}"/h2ded "${MY_PN}${demo}-ded" \ + || die "newgamesbin h2ded failed" + fi + + if use hexenworld ; then + if use tools; then + # Hexenworld utils + dobin hw_utils/hwmquery/hwmquery || die "dobin hwmquery failed" + dobin hw_utils/hwrcon/{hwrcon,hwterm} || die "dobin hwrcon/hwterm failed" + + dodoc hw_utils/hwmquery/hwmquery.txt || die "dodoc hwmquery.txt failed" + dodoc hw_utils/hwrcon/{hwrcon,hwterm}.txt \ + || die "dodoc hwrcon/hwterm.txt failed" + fi + + # Hexenworld Servers + newgamesbin hexenworld/Server/hwsv hwsv${demo} \ + || die "newgamesbin hwsv failed" + + newgamesbin hexenworld/Master/hwmaster hwmaster${demo} \ + || die "newgamesbin hwmaster failed" + + # HexenWorld client(s) + newicon hexenworld/icons/hw2_32x32x8.png hwcl.png || die + + make_desktop_entry \ + "hwcl${demo}" "Hexen 2${demo_title} Hexenworld Client" hwcl.png + newgamesbin "hexenworld/Client/hwcl" "hwcl${demo}" \ + || die "newgamesbin hwcl failed" + + if use opengl ; then + make_desktop_entry \ + "glhwcl${demo}" "GLHexen 2${demo_title} Hexenworld Client" hwcl.png + newgamesbin "hexenworld/Client/glhwcl" "glhwcl${demo}" \ + || die "newgamesbin glhwcl failed" + fi + + insinto "${dir}"/${demo_suffix} + doins -r "${WORKDIR}"/hw || die "doins hexenworld pak failed" + fi + + if use gtk ; then + # GTK launcher + local lnch_name="h2launcher" + use demo && lnch_name="h2demo" + newgamesbin launcher/${lnch_name} h2launcher \ + || die "newgamesbin h2launcher failed" + make_desktop_entry \ + "h2launcher" "Hexen 2${demo_title} Launcher" ${PN}.png + fi + + # Forge some new useful document 8) + head -22 "00_Patches/external-music-file-support.diff" > \ + "docs/external_music.README" || die "make readme failed" + head -9 "00_Patches/midi_with_sdlaudio-test.diff" > \ + "docs/midi_with_sdlaudio.README" || die "make readme failed" + + dodoc docs/* + + if ! use demo ; then + # Install updated game data + insinto "${dir}" + doins -r "${WORKDIR}"/{data1,patchdata,portals,siege} || die + # Patching should really be done by a future "hexen2-data" ebuild. + # But this works for now. + doins "${WORKDIR}"/update_xdelta.sh || die + dodoc "${WORKDIR}"/*.txt + fi + + if use tools ; then + dobin \ + utils/bin/{bsp2wal,bspinfo,dhcc,genmodel,hcc} \ + || die "dobin utils part 1 failed" + dobin \ + utils/bin/{jsh2colour,light,lmp2pcx,qbsp,qfiles,vis} \ + || die "dobin utils part 2 failed" + newbin utils/hcc_old/hcc hcc_old || die "newbin hcc_old failed" + docinto utils + dodoc utils/README || die "dodoc README failed" + newdoc utils/dcc/README README.dcc || die "newdoc dcc failed" + dodoc utils/dcc/dcc.txt || die "dodoc dcc.txt failed" + newdoc utils/hcc/README README.hcc || die "newdoc hcc failed" + newdoc utils/hcc_old/README hcc_old.txt || die "newdoc hcc_old failed" + newdoc utils/jsh2color/README README.jsh2color \ + || die "newdoc README.jsh2color failed" + newdoc utils/jsh2color/ChangeLog ChangeLog.jsh2color \ + || die "newdoc Changelog.jsh2color failed" + fi + + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + + if use demo ; then + elog "uhexen2 has been compiled specifically to play the demo maps." + elog "Example command-line:" + elog " hexen2-demo -width 1024 -height 768 -conwidth 640" + echo + else + elog "To play the demo, emerge with the 'demo' USE flag." + elog + elog "For the Hexen 2 original game..." + elog "Put the following files into "${dir}"/data1 before playing:" + elog " pak0.pak pak1.pak" + elog "Then to play: hexen2" + elog + elog "For the 'Portal of Praevus' mission pack..." + elog "Put the following file into "${dir}"/portals before playing:" + elog " pak3.pak" + elog "Then to play: hexen2 -portals" + elog + elog "To ensure the data files from the CD are patched, run as root:" + elog " cd "${dir}" && sh update_xdelta.sh" + elog + elog "Example command-line:" + elog " hexen2 -width 1024 -height 768 -conwidth 640" + echo + fi + if use gtk ; then + elog "You've also installed a nice graphical launcher. Simply run:" + elog + elog " h2launcher" + elog + elog "to enjoy it :)" + echo + fi + if use tools ; then + if use hexenworld; then + elog "You've also installed some Hexenworld utility:" + elog + elog " - hwmquery (console app to query HW master servers)" + elog " - hwrcon (remote interface to HW rcon command)" + elog " - hwterm (HW remote console terminal)" + echo + fi + elog "You've also installed some Hexen2 utility" + elog "(useful for mod developing)" + elog + elog " - dhcc (old progs.dat compiler/decompiler)" + elog " - genmodel (3-D model grabber)" + elog " - hcc (HexenC compiler)" + elog " - hcc_old (old version of HexenC compiler)" + elog " - jsh2color (light colouring utility)" + elog " - maputils (Map compiling tools: bspinfo, light, qbsp, vis)" + elog " - qfiles (build pak files and regenerate bsp models)" + elog " - bsp2wal (extract all textures from a bsp file)" + elog " - lmp2pcx (convert hexen2 texture data into pcx and tga)" + elog + elog "See relevant documentation for further informations" + echo + fi +}