diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /games-fps/quake3 |
reinit the tree, so we can have metadata
Diffstat (limited to 'games-fps/quake3')
-rw-r--r-- | games-fps/quake3/Manifest | 7 | ||||
-rw-r--r-- | games-fps/quake3/files/quake3-1.36-bots.patch | 20 | ||||
-rw-r--r-- | games-fps/quake3/metadata.xml | 26 | ||||
-rw-r--r-- | games-fps/quake3/quake3-1.36-r1.ebuild | 122 | ||||
-rw-r--r-- | games-fps/quake3/quake3-9999.ebuild | 137 |
5 files changed, 312 insertions, 0 deletions
diff --git a/games-fps/quake3/Manifest b/games-fps/quake3/Manifest new file mode 100644 index 000000000000..0e0eb2e62eea --- /dev/null +++ b/games-fps/quake3/Manifest @@ -0,0 +1,7 @@ +AUX quake3-1.36-bots.patch 499 SHA256 b3510423a8486df90853bc1321dcec9dfdcdb1b2b3870495bca49bd8c5635e66 SHA512 75d0659a07902cd78153792353796e77ce1baf7545da370d88f37accca090bee9b94d7447bfa0d284fb98769c94ee434cf7baa6fe9f457018d00dd6431eecba0 WHIRLPOOL 0f4424c90d424354a364a6979057c72c99595285007c166dd4bdce687e2eb653255caab4b60f0178c576fbd0d022342c67cae28c1ba8a15b8b579f2276b05dd6 +DIST ioquake3-1.36.tar.bz2 3503058 SHA256 79b10b92e9e586748a67089ac871646fe8144004d3ab4a55158348bc38d74821 SHA512 fdd8e0ab56966cdc614eff45ab478b87255cfb1b50ba10b3141bcfcc569fc620d281de93333d39119b2d7b43aac3900ecf826a0459fc89bb2f57e30ae2425645 WHIRLPOOL 5468b57504af5c33c7e8150aaaa27082654fe751f24679f81efe8441b1aab1b63e2013adc758d45799ea9a8e12eb9c39c27506a309f36762fbd07f0c3c4a5b26 +EBUILD quake3-1.36-r1.ebuild 3011 SHA256 919be4f2abf6286881675100d00c80481bba8afbee69e6e224e4745e1e87ca29 SHA512 bbf0be1c600f9335e5d6b979916e4adfc4a3d1a9f2fdcdaaa3b5de738e62e0b1302f15871f40d2a58dfebc6e8edf91e732a84bb97fe6869cad20f652eef8e821 WHIRLPOOL a93995b7044fd6d1c879ad4e06e3e190b5859e9ea1ffc6111befad0d346bf8f6eecf92aadcab49ca6adeec987c827aa2faf72945135c30257ba9a0ac7bb3d672 +EBUILD quake3-9999.ebuild 3537 SHA256 4f85654a40d2dc216505ee610cbb2224ae209668176aaf79b8c0185225b72a9c SHA512 aebd3073b92f3d8878697cca0c7183f7f4f5eca8b9e111dbe80649648d2db951dfd2071247aaaf7912822643d5f6a4649cd5f3d0515989f5f2475bc821368ca9 WHIRLPOOL 79f06a0a0d91988b1c9a0aa131922cb8d960ba44adbd9d55c1187ce18236abfc45c18b923d53f0e3f47ddc8f2bbd8fb48642b820f46b5927470519b8ddb5d474 +MISC ChangeLog 3116 SHA256 5d25264298fffe197437fcbba923e67de7143f992a0a105ed66716868af5b350 SHA512 26c1b8d6d230966c80e8a5f59a5c54e44f87ced4ffd969ec18fdc312d64a4a3eb2ec4ccc6bcaacab2302f738a34f936b910eb6e200c1bc5db5473ed1702f43f1 WHIRLPOOL cca03ac8d29b80ba1dc10e03467ab01d364abb87c667c443ab25b276c8afe5f4215913316631559b95b9de9a4df4bf5183b45c0cfba4ea0eb0be72034cf1f553 +MISC ChangeLog-2015 7761 SHA256 e434e15cc83158f67ec4277467f3da83f71305b86e82152217d4a6d3cbb9039f SHA512 6f00b261dd9807e1119c604fb4101924c3f28c2588e155fa00232e3d6d4f5b4a9cb73b445ef48e22cc151c0c20e9d617d06b041a610308384eb3322078ab9436 WHIRLPOOL b5ac094adb87bf8a56af2b8fc7f9dae20afe24ccbe861fa692b23f095c2d5e3dd8808f7d18e487ed0cb1dafc0b22120f26cc0958f5e2a823082d1e6e9e3bf068 +MISC metadata.xml 1286 SHA256 4dbe76b8b0135531b0aead5a78371a75118547af4accb86c1b77324d03e89680 SHA512 6a82390bc52e5995c1ff12e001cb6d54d70366b618c71107e0c79c5b03c9717b6e7426e221ac499126ea0ea870c75bdfe40418e04a2f3c4241ac5e0b99dd22b9 WHIRLPOOL 8a603340a5452305c2fb68ac6e0a2a6eea5e824bb9379d122c2bda6ca037a8700967e5ebbecedc155525fc1f1afc7409f7868da0f899f88a76e4ef2bfc0a192a 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/metadata.xml b/games-fps/quake3/metadata.xml new file mode 100644 index 000000000000..c62fb568e143 --- /dev/null +++ b/games-fps/quake3/metadata.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <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..0f1ede92b5d7 --- /dev/null +++ b/games-fps/quake3/quake3-1.36-r1.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils flag-o-matic toolchain-funcs games + +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="https://ioquake3.org/" +SRC_URI="https://ioquake3.org/files/${MY_PV}/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 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 )" + +S="${WORKDIR}/${MY_P}" + +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() { + epatch "${FILESDIR}"/${P}-bots.patch + einfo "Fixing libspeex linking..." + sed -i -e 's/\(-lspeex\)/\1 -lspeexdsp/' Makefile || die +} + +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)" \ + V=1 \ + 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) +} + +src_install() { + dodoc BUGS ChangeLog id-readme.txt md4-readme.txt NOTTODO README TODO + if use voice ; then + dodoc voip-readme.txt + fi + + if use opengl || ! use dedicated ; then + doicon misc/quake3.svg + make_desktop_entry quake3 "Quake III Arena" + 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} + dosym ${target} "${GAMES_BINDIR}/${target/io}" + 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..a5273e1ac571 --- /dev/null +++ b/games-fps/quake3/quake3-9999.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# 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=5 +inherit eutils flag-o-matic toolchain-funcs games +[[ "${PV}" == 9999* ]] && inherit git-r3 + +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="https://ioquake3.org/" +[[ "${PV}" != 9999* ]] && SRC_URI="https://ioquake3.org/files/${MY_PV}/${MY_P}.tar.bz2" +EGIT_REPO_URI="https://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:0 + 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}/${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)" \ + V=1 \ + 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) +} + +src_install() { + dodoc BUGS ChangeLog id-readme.txt md4-readme.txt NOTTODO README.md TODO voip-readme.txt + if use voice ; then + dodoc voip-readme.txt + fi + + if use opengl || ! use dedicated ; then + doicon misc/quake3.svg + 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} + dosym ${exe} "${GAMES_BINDIR}/${exe/io}" + 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 + + 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." +} |