summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/quake3-bin')
-rw-r--r--games-fps/quake3-bin/Manifest2
-rw-r--r--games-fps/quake3-bin/files/q3ded.conf.d6
-rw-r--r--games-fps/quake3-bin/files/q3ded.rc35
-rw-r--r--games-fps/quake3-bin/metadata.xml21
-rw-r--r--games-fps/quake3-bin/quake3-bin-1.32c-r2.ebuild106
5 files changed, 170 insertions, 0 deletions
diff --git a/games-fps/quake3-bin/Manifest b/games-fps/quake3-bin/Manifest
new file mode 100644
index 000000000000..292675123b26
--- /dev/null
+++ b/games-fps/quake3-bin/Manifest
@@ -0,0 +1,2 @@
+DIST linuxq3apoint-1.32b-3.x86.run 30923961 SHA256 c36132c5556b35e01950f1e9c646235033a5130f87ad776ba2bc7becf4f4f186 SHA512 64cff7f8b689e6c801cd68b0f44406a60bd45f83b2544debb8bf1ef7480a1407184a67d2bdafe66e803c0c030b8df6766ce24e48c9e7c610ecf152ed326b7d78 WHIRLPOOL ad1250dbf53e0d5b03b753752e9fc66f361fe2473fc3bd74285a1357e3c1f9fded64806a46766f1bd666b567b8d0fc55a8780633f60af2554abaad9231873cf3
+DIST quake3-1.32c.zip 3056760 SHA256 643ac677892fb58689a86d71f08d6678393efe2939b82c436a5c92368eebb849 SHA512 8bc68d4a1e015e5d5abb88bee1e52cb6375c005d707147869d16383bdbfd37f092a75e8fb3f8678120621433d98de40dcda9dbdbd255a92399caec2c545ff689 WHIRLPOOL 8b55046d002a577087309961074f5b05997d512e6dd666335a38026f006481497a6bb94e5ee9869b0ecdf7767cc26be5f949e157c06e2e477143819d29347f42
diff --git a/games-fps/quake3-bin/files/q3ded.conf.d b/games-fps/quake3-bin/files/q3ded.conf.d
new file mode 100644
index 000000000000..c7b3fa02714e
--- /dev/null
+++ b/games-fps/quake3-bin/files/q3ded.conf.d
@@ -0,0 +1,6 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+q3_OPTS="+set com_hunkmegs 24 +set dedicated 1 +set net_port 27960 +map q3tourney2"
+
diff --git a/games-fps/quake3-bin/files/q3ded.rc b/games-fps/quake3-bin/files/q3ded.rc
new file mode 100644
index 000000000000..a3a847f862ba
--- /dev/null
+++ b/games-fps/quake3-bin/files/q3ded.rc
@@ -0,0 +1,35 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting Quake3 dedicated server"
+ screen -A -m -d -S q3ded-bin su - games -c "q3ded-bin ${q3_OPTS}"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Quake3 dedicated server"
+ local pid=`screen -list | grep q3ded-bin | awk -F . '{print $1}' | sed -e s/.//`
+ if [[ -z "${pid}" ]] ; then
+ eend 1 "Lost screen session"
+ else
+ pid=`pstree -p ${pid} | sed -e 's:^.*q3ded-bin::'`
+ pid=${pid:1:${#pid}-2}
+ if [[ -z "${pid}" ]] ; then
+ eend 1 "Lost q3ded-bin session"
+ else
+ kill ${pid}
+ eend $? "Could not kill q3ded-bin"
+ fi
+ fi
+}
+
+status() {
+ screen -list | grep q3ded-bin
+}
diff --git a/games-fps/quake3-bin/metadata.xml b/games-fps/quake3-bin/metadata.xml
new file mode 100644
index 000000000000..1532777984a0
--- /dev/null
+++ b/games-fps/quake3-bin/metadata.xml
@@ -0,0 +1,21 @@
+<?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="teamarena">Adds support for Team Arena expansion pack</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-fps/quake3-bin/quake3-bin-1.32c-r2.ebuild b/games-fps/quake3-bin/quake3-bin-1.32c-r2.ebuild
new file mode 100644
index 000000000000..d33629e56651
--- /dev/null
+++ b/games-fps/quake3-bin/quake3-bin-1.32c-r2.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils unpacker games
+
+DESCRIPTION="3rd installment of the classic id 3D first-person shooter"
+HOMEPAGE="http://www.idsoftware.com/"
+SRC_URI="mirror://idsoftware/quake3/linux/linuxq3apoint-1.32b-3.x86.run
+ mirror://idsoftware/quake3/quake3-1.32c.zip"
+
+LICENSE="Q3AEULA GPL-2" #gpl for init script bug #425942
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="cdinstall dedicated teamarena"
+RESTRICT="strip"
+
+DEPEND="app-arch/unzip"
+RDEPEND="sys-libs/glibc
+ amd64? ( sys-libs/glibc[multilib] )
+ cdinstall? (
+ games-fps/quake3-data[cdinstall]
+ teamarena? ( games-fps/quake3-teamarena )
+ )
+ dedicated? ( app-misc/screen )
+ !dedicated? (
+ >=virtual/opengl-7.0-r1[abi_x86_32(-)]
+ >=x11-libs/libXext-1.3.2[abi_x86_32(-)]
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ )"
+
+S=${WORKDIR}
+
+dir=${GAMES_PREFIX_OPT}/quake3
+Ddir=${D}/${dir}
+
+QA_TEXTRELS="${dir:1}/pb/pbag.so
+ ${dir:1}/pb/pbcl.so
+ ${dir:1}/pb/pbsv.so"
+
+src_unpack() {
+ unpack_makeself linuxq3apoint-1.32b-3.x86.run
+ unpack quake3-1.32c.zip
+}
+
+src_install() {
+ dodir "${dir}"/{baseq3,missionpack}
+ if use cdinstall ; then
+ dosym "${GAMES_DATADIR}"/quake3/baseq3/pak0.pk3 "${dir}"/baseq3/pak0.pk3
+ use teamarena && dosym "${GAMES_DATADIR}"/quake3/missionpack/pak0.pk3 \
+ "${dir}"/missionpack/pak0.pk3
+ fi
+ for pk3 in baseq3/*.pk3 missionpack/*.pk3 ; do
+ dosym "${GAMES_DATADIR}"/quake3/${pk3} "${dir}"/${pk3}
+ done
+
+ insinto "${dir}"
+ doins -r Docs pb || die "ins docs/pb"
+
+ exeinto "${dir}"
+ doins quake3.xpm README* Q3A_EULA.txt
+ if ! use dedicated ; then
+ doexe "Quake III Arena 1.32c"/linux/quake3*.x86 || die "doexe"
+ games_make_wrapper ${PN} ./quake3.x86 "${dir}" "${dir}"
+ newicon quake3.xpm ${PN}.xpm
+ make_desktop_entry ${PN} "Quake III Arena (binary)"
+ if use teamarena ; then
+ games_make_wrapper ${PN}-teamarena \
+ "./quake3.x86 +set fs_game missionpack" "${dir}" "${dir}"
+ make_desktop_entry ${PN}-teamarena \
+ "Quake III Team Arena (binary)" quake3-bin
+ fi
+ fi
+ doexe "Quake III Arena 1.32c"/linux/q3ded || die "doexe q3ded"
+ games_make_wrapper quake3-ded ./q3ded "${dir}" "${dir}"
+ newinitd "${FILESDIR}"/q3ded.rc quake3-ded
+ newconfd "${FILESDIR}"/q3ded.conf.d quake3-ded
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ ewarn "There are two possible security bugs in this package, both causing a"
+ ewarn "denial of service. One affects the game when running a server, the"
+ ewarn "other when running as a client."
+ ewarn "For more information, please see bug #82149."
+
+ if ! use dedicated; then
+ echo
+ elog "To start the game, run:"
+ elog " quake3-bin"
+ fi
+ echo
+ elog "To start a dedicated server, run"
+ elog " /etc/init.d/quake3-ded start"
+ elog
+ elog "The dedicated server is started under the ${GAMES_USER_DED} user account."
+
+ # IA32 Emulation required for amd64
+ if use amd64 ; then
+ echo
+ ewarn "NOTE: IA32 Emulation must be compiled into your kernel for Quake3 to run."
+ fi
+}