diff options
Diffstat (limited to 'games-fps/uhexen2/uhexen2-1.4.2.ebuild')
-rw-r--r-- | games-fps/uhexen2/uhexen2-1.4.2.ebuild | 464 |
1 files changed, 0 insertions, 464 deletions
diff --git a/games-fps/uhexen2/uhexen2-1.4.2.ebuild b/games-fps/uhexen2/uhexen2-1.4.2.ebuild deleted file mode 100644 index f7e814b7f..000000000 --- a/games-fps/uhexen2/uhexen2-1.4.2.ebuild +++ /dev/null @@ -1,464 +0,0 @@ -# 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" -HW_PV="0.15" -MY_PN="hexen2" -DEMO_PV="1.4.2" - -DESCRIPTION="Hexen 2 port - Hammer of Thyrion" -HOMEPAGE="http://uhexen2.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${MY_PN}source-${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++ ) - 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-${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 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 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 -} |