summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /games-fps/quake3
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'games-fps/quake3')
-rw-r--r--games-fps/quake3/Manifest1
-rw-r--r--games-fps/quake3/files/quake3-1.36-bots.patch20
-rw-r--r--games-fps/quake3/files/quake3-1.36-remove-bundled-jpeg.patch72
-rw-r--r--games-fps/quake3/metadata.xml23
-rw-r--r--games-fps/quake3/quake3-1.36-r1.ebuild144
-rw-r--r--games-fps/quake3/quake3-9999.ebuild140
6 files changed, 400 insertions, 0 deletions
diff --git a/games-fps/quake3/Manifest b/games-fps/quake3/Manifest
new file mode 100644
index 000000000000..66d19d27e64a
--- /dev/null
+++ b/games-fps/quake3/Manifest
@@ -0,0 +1 @@
+DIST ioquake3-1.36.tar.bz2 3503058 SHA256 79b10b92e9e586748a67089ac871646fe8144004d3ab4a55158348bc38d74821 SHA512 fdd8e0ab56966cdc614eff45ab478b87255cfb1b50ba10b3141bcfcc569fc620d281de93333d39119b2d7b43aac3900ecf826a0459fc89bb2f57e30ae2425645 WHIRLPOOL 5468b57504af5c33c7e8150aaaa27082654fe751f24679f81efe8441b1aab1b63e2013adc758d45799ea9a8e12eb9c39c27506a309f36762fbd07f0c3c4a5b26
diff --git a/games-fps/quake3/files/quake3-1.36-bots.patch b/games-fps/quake3/files/quake3-1.36-bots.patch
new file mode 100644
index 000000000000..31d2f2041c6f
--- /dev/null
+++ b/games-fps/quake3/files/quake3-1.36-bots.patch
@@ -0,0 +1,20 @@
+--- code/botlib/l_script.c.orig 2009-11-02 20:29:23.000000000 +0100
++++ code/botlib/l_script.c 2009-11-02 22:21:40.000000000 +0100
+@@ -1118,7 +1118,7 @@
+ {
+ if (*string == '\"')
+ {
+- strcpy(string, string+1);
++ memmove(string, string+1, strlen(string));
+ } //end if
+ if (string[strlen(string)-1] == '\"')
+ {
+@@ -1135,7 +1135,7 @@
+ {
+ if (*string == '\'')
+ {
+- strcpy(string, string+1);
++ memmove(string, string+1, strlen(string));
+ } //end if
+ if (string[strlen(string)-1] == '\'')
+ {
diff --git a/games-fps/quake3/files/quake3-1.36-remove-bundled-jpeg.patch b/games-fps/quake3/files/quake3-1.36-remove-bundled-jpeg.patch
new file mode 100644
index 000000000000..485dd71d2043
--- /dev/null
+++ b/games-fps/quake3/files/quake3-1.36-remove-bundled-jpeg.patch
@@ -0,0 +1,72 @@
+--- Makefile.orig 2012-08-21 12:19:01.344696519 +0400
++++ Makefile 2012-08-21 12:19:23.506696348 +0400
+@@ -164,7 +164,6 @@
+ NDIR=$(MOUNT_DIR)/null
+ UIDIR=$(MOUNT_DIR)/ui
+ Q3UIDIR=$(MOUNT_DIR)/q3_ui
+-JPDIR=$(MOUNT_DIR)/jpeg-6b
+ SPEEXDIR=$(MOUNT_DIR)/libspeex
+ Q3ASMDIR=$(MOUNT_DIR)/tools/asm
+ LBURGDIR=$(MOUNT_DIR)/tools/lcc/lburg
+@@ -297,7 +296,7 @@
+ SHLIBLDFLAGS=-shared $(LDFLAGS)
+
+ THREAD_LIBS=-lpthread
+- LIBS=-ldl -lm
++ LIBS=-ldl -lm -ljpeg
+
+ CLIENT_LIBS=$(shell sdl-config --libs) -lGL
+
+@@ -1297,42 +1296,6 @@
+ $(B)/client/l_script.o \
+ $(B)/client/l_struct.o \
+ \
+- $(B)/client/jcapimin.o \
+- $(B)/client/jcapistd.o \
+- $(B)/client/jccoefct.o \
+- $(B)/client/jccolor.o \
+- $(B)/client/jcdctmgr.o \
+- $(B)/client/jchuff.o \
+- $(B)/client/jcinit.o \
+- $(B)/client/jcmainct.o \
+- $(B)/client/jcmarker.o \
+- $(B)/client/jcmaster.o \
+- $(B)/client/jcomapi.o \
+- $(B)/client/jcparam.o \
+- $(B)/client/jcphuff.o \
+- $(B)/client/jcprepct.o \
+- $(B)/client/jcsample.o \
+- $(B)/client/jdapimin.o \
+- $(B)/client/jdapistd.o \
+- $(B)/client/jdatasrc.o \
+- $(B)/client/jdcoefct.o \
+- $(B)/client/jdcolor.o \
+- $(B)/client/jddctmgr.o \
+- $(B)/client/jdhuff.o \
+- $(B)/client/jdinput.o \
+- $(B)/client/jdmainct.o \
+- $(B)/client/jdmarker.o \
+- $(B)/client/jdmaster.o \
+- $(B)/client/jdpostct.o \
+- $(B)/client/jdsample.o \
+- $(B)/client/jdtrans.o \
+- $(B)/client/jerror.o \
+- $(B)/client/jfdctflt.o \
+- $(B)/client/jidctflt.o \
+- $(B)/client/jmemmgr.o \
+- $(B)/client/jmemnobs.o \
+- $(B)/client/jutils.o \
+- \
+ $(B)/client/tr_animation.o \
+ $(B)/client/tr_backend.o \
+ $(B)/client/tr_bsp.o \
+@@ -1921,9 +1884,6 @@
+ $(B)/client/%.o: $(BLIBDIR)/%.c
+ $(DO_BOT_CC)
+
+-$(B)/client/%.o: $(JPDIR)/%.c
+- $(DO_CC)
+-
+ $(B)/client/%.o: $(SPEEXDIR)/%.c
+ $(DO_CC)
+
diff --git a/games-fps/quake3/metadata.xml b/games-fps/quake3/metadata.xml
new file mode 100644
index 000000000000..360c025739d2
--- /dev/null
+++ b/games-fps/quake3/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <longdescription>
+Quake III Arena is the third installment of the extremely popular and
+successful Quake series by id software. The game was released by id
+software for both Windows and Linux. The Linux version of the game was
+maintained and sold by the now defunct Loki Entertainment. The powerful
+Quake III engine is the basis for many other commercial games, as id's
+major source of revenue is licensing their game engines. The engine
+allows for user-contributed modifications to be made, allowing the game
+to be extensible and expandable. This game is commercial software, and
+requires the data from a retail copy of the game to play. If you're
+interested in checking out the technology behind Quake III, then
+"emerge quake3-demo" to get the playable demo.
+</longdescription>
+ <use>
+ <flag name="mumble">Adds player-location (positional audio) support to VoIP</flag>
+ <flag name="teamarena">Adds support for Team Arena expansion pack</flag>
+ <flag name="voice">Adds VoIP support</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-fps/quake3/quake3-1.36-r1.ebuild b/games-fps/quake3/quake3-1.36-r1.ebuild
new file mode 100644
index 000000000000..119a5e9509df
--- /dev/null
+++ b/games-fps/quake3/quake3-1.36-r1.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# quake3-9999 -> latest svn
+# quake3-9999.REV -> use svn REV
+# quake3-VER_alphaREV -> svn snapshot REV for version VER
+# quake3-VER -> normal quake release
+
+EAPI=2
+inherit eutils flag-o-matic games toolchain-funcs
+[[ "${PV}" == 9999* ]] && inherit subversion
+
+MY_PN="ioquake3"
+MY_PV="${PV}"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="Quake III Arena - 3rd installment of the classic id 3D first-person shooter"
+HOMEPAGE="http://ioquake3.org/"
+[[ "${PV}" != 9999* ]] && SRC_URI="http://ioquake3.org/files/${MY_PV}/${MY_P}.tar.bz2"
+ESVN_REPO_URI="svn://svn.icculus.org/quake3/trunk"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ~ppc x86 ~x86-fbsd"
+# "smp" is omitted, because currently it does not work.
+IUSE="dedicated opengl teamarena +openal curl vorbis voice mumble"
+
+UIDEPEND="virtual/opengl
+ media-libs/libsdl[sound,video,joystick,X,opengl]
+ openal? ( media-libs/openal )
+ vorbis? (
+ media-libs/libogg
+ media-libs/libvorbis
+ )
+ voice? ( media-libs/speex )
+ curl? ( net-misc/curl )"
+DEPEND="opengl? ( ${UIDEPEND} )
+ !dedicated? ( ${UIDEPEND} )"
+UIRDEPEND="voice? ( mumble? ( media-sound/mumble ) )"
+RDEPEND="${DEPEND}
+ opengl? ( ${UIRDEPEND} )
+ !dedicated? ( ${UIRDEPEND} )
+ games-fps/quake3-data
+ teamarena? ( games-fps/quake3-teamarena )"
+
+if [[ "${PV}" == 9999* ]] ; then
+ S="${WORKDIR}/trunk"
+else
+ S="${WORKDIR}/${MY_P}"
+fi
+
+my_arch() {
+ case "${ARCH}" in
+ x86) echo "i386" ;;
+ amd64) echo "x86_64" ;;
+ *) tc-arch-kernel ;;
+ esac
+}
+
+my_platform() {
+ usex kernel_linux linux freebsd
+}
+
+src_prepare() {
+ if [[ "${PV}" == 9999* ]] ; then
+ # Workaround for the version string
+ ln -s "${ESVN_WC_PATH}/.svn" .svn || die "ln ${ESVN_WC_PATH}/.svn"
+ else
+ epatch "${FILESDIR}"/${P}-bots.patch
+ fi
+
+ einfo "Fixing libspeex linking..."
+ sed -i -e 's/\(-lspeex\)/\1 -lspeexdsp/' Makefile || die "sed failed"
+
+ # Use system jpeg library
+# epatch "${FILESDIR}"/${P}-remove-bundled-jpeg.patch
+}
+
+src_compile() {
+
+ buildit() { use $1 && echo 1 || echo 0 ; }
+
+ # This is the easiest way to pass CPPFLAGS to the build system, which
+ # are otherwise ignored.
+ append-flags ${CPPFLAGS}
+
+ # OPTIMIZE is disabled in favor of CFLAGS.
+ #
+ # TODO: BUILD_CLIENT_SMP=$(buildit smp)
+ emake \
+ ARCH="$(my_arch)" \
+ BUILD_CLIENT=$(( $(buildit opengl) | $(buildit !dedicated) )) \
+ BUILD_GAME_QVM=0 \
+ BUILD_GAME_SO=0 \
+ BUILD_SERVER=$(buildit dedicated) \
+ DEFAULT_BASEDIR="${GAMES_DATADIR}/${PN}" \
+ GENERATE_DEPENDENCIES=0 \
+ OPTIMIZE="" \
+ PLATFORM="$(my_platform)" \
+ USE_CODEC_VORBIS=$(buildit vorbis) \
+ USE_CURL=$(buildit curl) \
+ USE_CURL_DLOPEN=0 \
+ USE_INTERNAL_SPEEX=0 \
+ USE_INTERNAL_ZLIB=0 \
+ USE_LOCAL_HEADERS=0 \
+ USE_MUMBLE=$(buildit mumble) \
+ USE_OPENAL=$(buildit openal) \
+ USE_OPENAL_DLOPEN=0 \
+ USE_VOIP=$(buildit voice) \
+ || die "emake failed"
+}
+
+src_install() {
+ dodoc BUGS ChangeLog id-readme.txt md4-readme.txt NOTTODO README TODO || die
+ if use voice ; then
+ dodoc voip-readme.txt || die
+ fi
+
+ if use opengl || ! use dedicated ; then
+ doicon misc/quake3.svg || die
+ make_desktop_entry quake3 "Quake III Arena"
+ #use smp && make_desktop_entry quake3-smp "Quake III Arena (SMP)"
+ fi
+
+ cd build/release-$(my_platform)-$(my_arch) || die
+ local exe target
+ for exe in {ioquake3,ioquake3-smp,ioq3ded}.$(my_arch) ; do
+ if [[ -x ${exe} ]] ; then
+ target=${exe%.*}
+ newgamesbin ${exe} ${target} || die "newgamesbin ${target}"
+ dosym ${target} "${GAMES_BINDIR}/${target/io}" || die "dosym ${target}"
+ fi
+ done
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ ewarn "The source version of Quake III Arena will not work with PunkBuster."
+ ewarn "If you need PB support, then use the games-fps/quake3-bin package."
+}
diff --git a/games-fps/quake3/quake3-9999.ebuild b/games-fps/quake3/quake3-9999.ebuild
new file mode 100644
index 000000000000..5a58d6cd6e0f
--- /dev/null
+++ b/games-fps/quake3/quake3-9999.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# quake3-9999 -> latest git
+# quake3-9999.REV -> use git REV
+# quake3-VER_alphaREV -> git snapshot REV for version VER
+# quake3-VER -> normal quake release
+
+EAPI=2
+inherit eutils flag-o-matic games toolchain-funcs
+[[ "${PV}" == 9999* ]] && inherit git-2
+
+MY_PN="ioquake3"
+MY_PV="${PV}"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="Quake III Arena - 3rd installment of the classic id 3D first-person shooter"
+HOMEPAGE="http://ioquake3.org/"
+[[ "${PV}" != 9999* ]] && SRC_URI="http://ioquake3.org/files/${MY_PV}/${MY_P}.tar.bz2"
+EGIT_REPO_URI="git://github.com/ioquake/ioq3.git"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+# "smp" is omitted, because currently it does not work.
+IUSE="dedicated opengl teamarena +openal curl vorbis voice mumble"
+
+UIDEPEND="virtual/opengl
+ media-libs/libsdl[sound,video,joystick,X,opengl]
+ virtual/jpeg
+ openal? ( media-libs/openal )
+ vorbis? (
+ media-libs/libogg
+ media-libs/libvorbis
+ )
+ voice? ( media-libs/speex )
+ curl? ( net-misc/curl )"
+DEPEND="opengl? ( ${UIDEPEND} )
+ !dedicated? ( ${UIDEPEND} )"
+UIRDEPEND="voice? ( mumble? ( media-sound/mumble ) )"
+RDEPEND="${DEPEND}
+ opengl? ( ${UIRDEPEND} )
+ !dedicated? ( ${UIRDEPEND} )
+ games-fps/quake3-data
+ teamarena? ( games-fps/quake3-teamarena )"
+
+if [[ "${PV}" == 9999* ]] ; then
+ S="${WORKDIR}/trunk"
+else
+ S="${WORKDIR}/${MY_P}"
+fi
+
+my_arch() {
+ case "${ARCH}" in
+ x86) echo "i386" ;;
+ amd64) echo "x86_64" ;;
+ *) tc-arch-kernel ;;
+ esac
+}
+
+my_platform() {
+ usex kernel_linux linux freebsd
+}
+
+src_compile() {
+
+ buildit() { use $1 && echo 1 || echo 0 ; }
+
+ # This is the easiest way to pass CPPFLAGS to the build system, which
+ # are otherwise ignored.
+ append-flags ${CPPFLAGS}
+
+ # Workaround for used zlib macro, wrt bug #449510
+ append-flags -DOF=_Z_OF
+
+ # OPTIMIZE is disabled in favor of CFLAGS.
+ #
+ # TODO: BUILD_CLIENT_SMP=$(buildit smp)
+ emake \
+ ARCH="$(my_arch)" \
+ BUILD_CLIENT=$(( $(buildit opengl) | $(buildit !dedicated) )) \
+ BUILD_GAME_QVM=0 \
+ BUILD_GAME_SO=0 \
+ BUILD_SERVER=$(buildit dedicated) \
+ DEFAULT_BASEDIR="${GAMES_DATADIR}/${PN}" \
+ FULLBINEXT="" \
+ GENERATE_DEPENDENCIES=0 \
+ OPTIMIZE="" \
+ PLATFORM="$(my_platform)" \
+ USE_CODEC_VORBIS=$(buildit vorbis) \
+ USE_CURL=$(buildit curl) \
+ USE_CURL_DLOPEN=0 \
+ USE_INTERNAL_JPEG=0 \
+ USE_INTERNAL_SPEEX=0 \
+ USE_INTERNAL_ZLIB=0 \
+ USE_LOCAL_HEADERS=0 \
+ USE_MUMBLE=$(buildit mumble) \
+ USE_OPENAL=$(buildit openal) \
+ USE_OPENAL_DLOPEN=0 \
+ USE_VOIP=$(buildit voice) \
+ || die "emake failed"
+}
+
+src_install() {
+ dodoc BUGS ChangeLog id-readme.txt md4-readme.txt NOTTODO README.md opengl2-readme.txt TODO voip-readme.txt || die
+ if use voice ; then
+ dodoc voip-readme.txt || die
+ fi
+
+ if use opengl || ! use dedicated ; then
+ doicon misc/quake3.svg || die
+ make_desktop_entry quake3 "Quake III Arena"
+ #use smp && make_desktop_entry quake3-smp "Quake III Arena (SMP)"
+ fi
+
+ cd build/release-$(my_platform)-$(my_arch) || die
+ local exe
+ for exe in ioquake3 ioquake3-smp ioq3ded ; do
+ if [[ -x ${exe} ]] ; then
+ dogamesbin ${exe} || die "dogamesbin ${exe}"
+ dosym ${exe} "${GAMES_BINDIR}/${exe/io}" || die "dosym ${exe}"
+ fi
+ done
+
+ # Install renderer libraries, wrt bug #449510
+ # this should be done through 'dogameslib', but
+ # for this some files need to be patched
+ exeinto "${GAMES_DATADIR}/${PN}"
+ doexe renderer*.so || die 'install renderers failed'
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ ewarn "The source version of Quake III Arena will not work with PunkBuster."
+ ewarn "If you need PB support, then use the games-fps/quake3-bin package."
+}