# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=2 inherit base eutils autotools games DESCRIPTION="A new 3d engine based off of id Softwares's legendary Quake and QuakeWorld game engine" HOMEPAGE="http://www.quakeforge.net/" SRC_URI="mirror://sourceforge/quake/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ppc x86" IUSE="cdinstall debug fbcon opengl sdl svga X ncurses vorbis zlib ipv6 xv dga alsa oss" RESTRICT="userpriv" RDEPEND=" opengl? ( virtual/opengl ) sdl? ( media-libs/libsdl ) svga? ( media-libs/svgalib ) X? ( x11-libs/libX11 x11-libs/libXext x11-libs/libXxf86vm ) ncurses? ( sys-libs/ncurses ) vorbis? ( media-libs/libogg media-libs/libvorbis ) zlib? ( sys-libs/zlib ) xv? ( x11-libs/libX11 x11-libs/libXext x11-libs/libXxf86vm ) dga? ( x11-libs/libXxf86dga ) alsa? ( media-libs/alsa-lib )" DEPEND="${RDEPEND} cdinstall? ( games-fps/quake1-data ) sys-devel/bison sys-devel/flex" PATCHES=( "${FILESDIR}"/${P}-no-page-size.patch "${FILESDIR}"/${PV}-ipv6.patch "${FILESDIR}"/${P}-gcc41.patch "${FILESDIR}"/${P}-keys.patch "${FILESDIR}"/${P}-amd64.patch "${FILESDIR}"/${P}-noWerror.patch "${FILESDIR}"/${P}-gcc46.patch "${FILESDIR}"/${P}-zlib-1.2.6.patch "${FILESDIR}"/${P}-libc.patch ) src_prepare() { base_src_prepare eautoreconf } src_configure() { #i should do this at some point :x ... i guess if you disable all shared stuff #and enable all the static options explicitly, static works ... (or so ive been told) #if ! use static ; then # myconf="${myconf} --enable-shared=yes --enable-static=no" #else # myconf="${myconf} --enable-shared=no --enable-static=yes" #fi local debugopts use debug \ && debugopts="--enable-debug --disable-optimize --enable-profile" \ || debugopts="--disable-debug --disable-profile" local clients=${QF_CLIENTS} use fbcon && clients="${clients},fbdev" use opengl && clients="${clients},glx" use sdl && clients="${clients},sdl,sdl32" use sdl && use opengl && clients="${clients},sgl" use svga && clients="${clients},svga" use X && clients="${clients},x11" use X && use opengl && clients="${clients},wgl" [ "${clients:0:1}" == "," ] && clients=${clients:1} local servers=${QF_SERVERS:-master,nq,qw,qtv} local tools=${QF_TOOLS:-all} local svgaconf # use old school way for broken conf opts use svga \ && svgaconf="--with-svga=/usr" \ || svgaconf="--without-svga" addpredict "$(games_get_libdir)" egamesconf \ $(use_enable ncurses curses) \ $(use_enable vorbis) \ $(use_enable zlib) \ $(use_with ipv6) \ $(use_with fbcon fbdev) \ ${svgaconf} \ $(use_with X x) \ $(use_enable xv vidmode) \ $(use_enable dga) \ $(use_enable sdl) \ --disable-xmms \ $(use_enable alsa) \ $(use_enable oss) \ --enable-sound \ --disable-optimize \ ${debugopts} \ --with-global-cfg="${GAMES_SYSCONFDIR}"/quakeforge.conf \ --with-sharepath="${GAMES_DATADIR}"/quake1 \ --with-clients=${clients} \ --with-servers=${servers} \ --with-tools=${tools} } src_install() { emake DESTDIR="${D}" install || die "install failed" mv "${D}/${GAMES_PREFIX}"/include "${D}"/usr/ dodoc ChangeLog NEWS TODO doc/*txt prepgamesdirs } pkg_postinst() { # same warning used in quake1 / quakeforge / nprquake-sdl games_pkg_postinst echo elog "Before you can play, you must make sure" elog "${PN} can find your Quake .pak files" elog elog "You have 2 choices to do this" elog "1 Copy pak*.pak files to ${GAMES_DATADIR}/quake1/id1" elog "2 Symlink pak*.pak files in ${GAMES_DATADIR}/quake1/id1" elog elog "Example:" elog "my pak*.pak files are in /mnt/secondary/Games/Quake/Id1/" elog "ln -s /mnt/secondary/Games/Quake/Id1/pak0.pak ${GAMES_DATADIR}/quake1/id1/pak0.pak" elog elog "You only need pak0.pak to play the demo version," elog "the others are needed for registered version" }