diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /games-fps/quake3 | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | games-fps/quake3/files/quake3-1.36-bots.patch | 20 | ||||
-rw-r--r-- | games-fps/quake3/files/quake3-1.36-remove-bundled-jpeg.patch | 72 | ||||
-rw-r--r-- | games-fps/quake3/metadata.xml | 23 | ||||
-rw-r--r-- | games-fps/quake3/quake3-1.36-r1.ebuild | 144 | ||||
-rw-r--r-- | games-fps/quake3/quake3-9999.ebuild | 140 |
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." +} |