summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-fps/darkplaces/ChangeLog8
-rw-r--r--games-fps/darkplaces/darkplaces-20110628.ebuild188
2 files changed, 195 insertions, 1 deletions
diff --git a/games-fps/darkplaces/ChangeLog b/games-fps/darkplaces/ChangeLog
index f20bd09de607..e50b8ad10af5 100644
--- a/games-fps/darkplaces/ChangeLog
+++ b/games-fps/darkplaces/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for games-fps/darkplaces
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-fps/darkplaces/ChangeLog,v 1.12 2012/05/03 03:23:09 jdhore Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-fps/darkplaces/ChangeLog,v 1.13 2012/05/16 16:29:37 mr_bones_ Exp $
+
+*darkplaces-20110628 (16 May 2012)
+
+ 16 May 2012; Michael Sterrett <mr_bones_@gentoo.org>
+ +darkplaces-20110628.ebuild:
+ version bump (bug #416277)
03 May 2012; Jeff Horelick <jdhore@gentoo.org> darkplaces-20100408.ebuild:
dev-util/pkgconfig -> virtual/pkgconfig
diff --git a/games-fps/darkplaces/darkplaces-20110628.ebuild b/games-fps/darkplaces/darkplaces-20110628.ebuild
new file mode 100644
index 000000000000..8ba8f5983c45
--- /dev/null
+++ b/games-fps/darkplaces/darkplaces-20110628.ebuild
@@ -0,0 +1,188 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-fps/darkplaces/darkplaces-20110628.ebuild,v 1.1 2012/05/16 16:29:37 mr_bones_ Exp $
+
+EAPI=2
+inherit eutils flag-o-matic games
+
+# Latest versions are in http://icculus.org/twilight/darkplaces/files/
+MY_PV=${PV/_beta/beta}
+MY_ENGINE="${PN}engine${MY_PV}.zip"
+
+# Different Quake 1 engines expect the lights in different directories
+# http://www.fuhquake.net/download.html and http://www.kgbsyndicate.com/romi/
+MY_LIGHTS="fuhquake-lits.rar"
+
+DESCRIPTION="Enhanced engine for iD Software's Quake 1"
+HOMEPAGE="http://icculus.org/twilight/darkplaces/"
+SRC_URI="http://icculus.org/twilight/${PN}/files/${MY_ENGINE}
+ lights? (
+ http://www.fuhquake.net/files/extras/${MY_LIGHTS}
+ http://www.kgbsyndicate.com/romi/id1.pk3 )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa cdinstall cdsound debug dedicated demo lights opengl oss sdl textures"
+
+UIRDEPEND="virtual/jpeg
+ media-libs/libogg
+ media-libs/libvorbis
+ virtual/opengl
+ alsa? ( media-libs/alsa-lib )
+ sdl? ( media-libs/libsdl )
+ x11-libs/libX11
+ x11-libs/libXpm
+ x11-libs/libXxf86dga
+ x11-libs/libXxf86vm"
+UIDEPEND="x11-proto/xextproto
+ x11-proto/xf86dgaproto
+ x11-proto/xf86vidmodeproto
+ x11-proto/xproto"
+RDEPEND="net-misc/curl
+ cdinstall? ( games-fps/quake1-data )
+ demo? ( games-fps/quake1-demodata )
+ textures? ( >=games-fps/quake1-textures-20050820 )
+ opengl? ( ${UIRDEPEND} )
+ !opengl? ( sdl? ( ${UIRDEPEND} ) )
+ !opengl? ( !sdl? ( !dedicated? ( ${UIRDEPEND} ) ) )"
+DEPEND="lights? ( || (
+ app-arch/unrar
+ app-arch/rar ) )
+ opengl? (
+ ${UIRDEPEND}
+ ${UIDEPEND} )
+ !opengl? ( sdl? (
+ ${UIRDEPEND}
+ ${UIDEPEND} ) )
+ !opengl? ( !sdl? ( !dedicated? (
+ ${UIRDEPEND}
+ ${UIDEPEND} ) ) )
+ virtual/pkgconfig
+ app-arch/unzip"
+
+S=${WORKDIR}/${PN}
+dir=${GAMES_DATADIR}/quake1
+
+opengl_client() { use opengl || ( ! use dedicated && ! use sdl ) }
+
+src_unpack() {
+ if use lights ; then
+ unpack "${MY_LIGHTS}"
+ unzip -qo "${DISTDIR}"/id1.pk3 || die "unzip id1.pk3 failed"
+ mv *.lit maps/ || die
+ mv ReadMe.txt rtlights.txt
+ fi
+ unpack "${MY_ENGINE}"
+
+ unpack ./${PN}*.zip
+}
+
+src_prepare() {
+ rm "${WORKDIR}"/README-SDL.txt
+ cd "${S}"
+ rm mingw_note.txt
+
+ strip-flags
+
+ # Only additional CFLAGS optimization is the -march flag
+ local march=$(get-flag -march)
+ sed -i \
+ -e "s:-lasound:$(pkg-config --libs alsa):" \
+ -e "/^CPUOPTIMIZATIONS/d" \
+ -e '/^OPTIM_RELEASE/s/=.*/=$(CFLAGS)/' \
+ -e '/^OPTIM_DEBUG/s/=.*/=$(CFLAGS)/' \
+ -e '/^LDFLAGS_DEBUG/s/$/ $(LDFLAGS)/' \
+ -e '/^LDFLAGS_RELEASE/s/$/ $(LDFLAGS)/' \
+ -e "s:strip:true:" \
+ makefile.inc || die "sed makefile.inc failed"
+
+ if ! use cdsound ; then
+ # Turn the CD accesses off
+ sed -i \
+ -e "s:/dev/cdrom:/dev/null:" \
+ cd_linux.c || die "sed cd_linux.c failed"
+ sed -i \
+ -e 's:COM_CheckParm("-nocdaudio"):1:' \
+ cd_shared.c || die "sed cd_shared.c failed"
+ fi
+}
+
+src_compile() {
+ local opts="DP_FS_BASEDIR=\"${dir}\" DP_LINK_TO_LIBJPEG=1"
+
+ # Preferred sound is alsa
+ local sound_api="NULL"
+ use oss && sound_api="OSS"
+ use alsa && sound_api="ALSA"
+ opts="${opts} DP_SOUND_API=${sound_api}"
+
+ local type="release"
+ use debug && type="debug"
+
+ # Only compile a maximum of 1 client
+ if use sdl ; then
+ emake ${opts} "sdl-${type}" || die "emake sdl-${type} failed"
+ elif opengl_client ; then
+ emake ${opts} "cl-${type}" || die "emake cl-${type} failed"
+ fi
+
+ if use dedicated ; then
+ emake ${opts} "sv-${type}" || die "emake sv-${type} failed"
+ fi
+}
+
+src_install() {
+ if opengl_client || use sdl ; then
+ local type=glx
+
+ use sdl && type=sdl
+
+ # darkplaces executable is needed, even just for demo
+ newgamesbin "${PN}-${type}" ${PN} || die "newgamesbin client failed"
+ newicon darkplaces72x72.png ${PN}.png || die "newicon failed"
+
+ if use demo ; then
+ # Install command-line for demo, even if not desktop entry
+ games_make_wrapper ${PN}-demo "${PN} -game demo"
+ fi
+
+ if use demo && ! use cdinstall ; then
+ make_desktop_entry ${PN}-demo "Dark Places (Demo)"
+ else
+ # Full version takes precedence over demo
+ make_desktop_entry ${PN} "Dark Places"
+ fi
+ fi
+
+ if use dedicated ; then
+ newgamesbin ${PN}-dedicated ${PN}-ded || die "newgamesbin ded failed"
+ fi
+
+ dodoc *.txt ChangeLog todo "${WORKDIR}"/*.txt
+
+ if use lights ; then
+ insinto "${dir}"/id1
+ doins -r "${WORKDIR}"/{cubemaps,maps} || die "doins cubemaps maps failed"
+ if use demo ; then
+ # Set up symlinks, for the demo levels to include the lights
+ local d
+ for d in cubemaps maps ; do
+ dosym "${dir}/id1/${d}" "${dir}/demo/${d}"
+ done
+ fi
+ fi
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ if ! use cdinstall && ! use demo ; then
+ elog "Place pak0.pak and pak1.pak in ${dir}/id1"
+ fi
+
+ if use sdl ; then
+ ewarn "Select opengl with alsa, instead of sdl USE flag, for better audio latency."
+ fi
+}