]> Pileus Git - ~andy/sunrise/commitdiff
games-fps/uhexen2-cvs: Version bump
authorDavide Cendron <scen@gentoo.org>
Tue, 10 Jul 2007 22:39:37 +0000 (22:39 +0000)
committerDavide Cendron <scen@gentoo.org>
Tue, 10 Jul 2007 22:39:37 +0000 (22:39 +0000)
svn path=/sunrise/; revision=4215

games-fps/uhexen2-cvs/ChangeLog
games-fps/uhexen2-cvs/Manifest
games-fps/uhexen2-cvs/uhexen2-cvs-20070709.ebuild [new file with mode: 0644]

index 5ecad10320b8ff2a1a91f258a22909ef32184500..2493c6baebfd40d7862a682d09727e256ebfbc21 100644 (file)
@@ -2,6 +2,10 @@
 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+  10 Jul 2007; Davide Cendron (scen) <scen@gentoo.org>
+  +uhexen2-cvs-20070709.ebuild:
+  Version bump
+
   05 Jul 2007; Davide Cendron (scen) <scen@gentoo.org>
   -uhexen2-cvs-20070701.ebuild, +uhexen2-cvs-20070704.ebuild:
   Version bump (and removed old)
index 44728c40e2efa231d78485d56a11d6e26d942859..b4b8a301ae73631c01b1f5d80fb4504f69f39366 100644 (file)
@@ -1,6 +1,8 @@
 DIST gamedata-all-1.19-rc1.tgz 3703567 RMD160 11a9181428bd1e964d3513fb46cb1e35bc3ef292 SHA1 af9f96446c5607cf0974fa0b898e6925de9723d8 SHA256 3914c4af9acbabdfbec772bdc61a43bc265820ddb33aec4ab804e434105ff42b
 DIST hexenworld-pakfiles-0.15.tgz 4956848 RMD160 cd6cafb8e597028e1405638b7a60e1f30ce6d846 SHA1 57af1db9a92f2e41f8fa0f1e5f779f4ec648e730 SHA256 215e92f58bc7ed6098f076b45a20b94092599bfce6c4cd00f2895b24a6ee72fe
 DIST uhexen2-cvs-20070704.tgz 6290634 RMD160 bc2b8486804bcfbbd2cc85b9d4de9f2849b51c19 SHA1 19d622652532a0f21d98b1ec19a97a1721342c9d SHA256 2fb17469a77e2ad689ff1fec19d1b5f45bbf1ec65b6118891d18453d35fdefaf
+DIST uhexen2-cvs-20070709.tgz 6494733 RMD160 96e414b292dc12a68277214cafe9127f3ebc6536 SHA1 35f9c9725bfc69fd4b928ee830bfee6fa6bd4471 SHA256 06ef536ea1ed86ee4809f56e7a8c7093596a786bd57906b6d78b91f999703365
 EBUILD uhexen2-cvs-20070704.ebuild 12579 RMD160 a59057dec6b2e883a3c36d2ecd3ef2ff7bdcce5f SHA1 ee0ff29842cbe4a021920bc9425a65ddef4d6534 SHA256 e2c7758048e82561ac4b3cb73fa2efa75f102556e1f26585f21672e9b0fa40b4
-MISC ChangeLog 2450 RMD160 c384c57baf22c508183708857108936cf3dc38aa SHA1 3e6a19858d3897b16a9b207eefe40f554c93b2f7 SHA256 896d0697044540bdaf941272b3e21b37359efbc98366407a6f6216ae3810fa45
+EBUILD uhexen2-cvs-20070709.ebuild 12579 RMD160 a59057dec6b2e883a3c36d2ecd3ef2ff7bdcce5f SHA1 ee0ff29842cbe4a021920bc9425a65ddef4d6534 SHA256 e2c7758048e82561ac4b3cb73fa2efa75f102556e1f26585f21672e9b0fa40b4
+MISC ChangeLog 2553 RMD160 7676d2a4301e3a0c23b73ad1869e7372608580bd SHA1 3a2fd690ef8c1fc23764e666ebcfc1b9253ef1ed SHA256 aeeff02233cfa8fa4f11912f2693288ffa326bd38ac2afa1a0a6629b712f5dd5
 MISC metadata.xml 322 RMD160 f4bfe5b65994822f6e2c353556232c8eac25c50c SHA1 5e06f5726217482155d7eadde86107b1def891fe SHA256 8bbf84c0f56f602764f6041d84a1376dce6300548b116abde0dbd9d241218977
diff --git a/games-fps/uhexen2-cvs/uhexen2-cvs-20070709.ebuild b/games-fps/uhexen2-cvs/uhexen2-cvs-20070709.ebuild
new file mode 100644 (file)
index 0000000..d90820e
--- /dev/null
@@ -0,0 +1,456 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils flag-o-matic toolchain-funcs versionator games
+
+DATA_PV="1.19-rc1"
+HW_PV="0.15"
+MY_PN="hexen2"
+DEMO_PV="1.4.1"
+
+DESCRIPTION="Hexen 2 port - Hammer of Thyrion (CVS snapshot)"
+HOMEPAGE="http://uhexen2.sourceforge.net/"
+SRC_URI="http://uhexen2.sourceforge.net/devel/cvs_latest/${P}.tgz
+       mirror://sourceforge/${PN}/gamedata-all-${DATA_PV}.tgz
+       hexenworld? ( mirror://sourceforge/${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++ )
+       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
+       ${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? ( >=dev-lang/nasm-0.98.38 )"
+
+S="${WORKDIR}/uhexen2-cvs-${PV}"
+dir="${GAMES_DATADIR}/${MY_PN}"
+
+pkg_setup() {
+       games_pkg_setup
+
+       if use midi ; then
+               if ! built_with_use "media-libs/sdl-mixer" timidity ; then
+                       eerror "Recompile media-libs/sdl-mixer with 'timidity' USE flag."
+                       die "sdl-mixer without timidity support detected"
+               fi
+               use sdlaudio && ewarn "MIDI music does not work with sdlaudio."
+       else
+               ewarn "MIDI support disabled! MIDI music won't be played at all."
+               ewarn "If you want to hear it, recompile this package"
+               ewarn "with \"midi\" USE flag enabled."
+       fi
+
+       use alsa || ewarn "alsa is the recommended sound driver."
+}
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+
+       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 11025 to 44100,
+       # to improve the quality/reliability.
+       sed -i \
+               -e "s:desired_speed = 11025: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"
+
+       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 asm && X86_ASM="yes"
+       use 3dfx && USE_3DFX="yes"
+
+       if use gtk ; then
+       # Build launcher
+               cd "${S}/launcher"
+               einfo "Compiling 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 "Compiling 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 "Compiling 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 "Compiling 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 "Compiling 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 "Compiling 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 "Compiling 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 a new useful document 8)
+       head -22 "00_Patches/external-music-file-support.diff" > \
+       "docs/external_music.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
+}