summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/quake4-bin/quake4-bin-1.4.2-r1.ebuild')
-rw-r--r--games-fps/quake4-bin/quake4-bin-1.4.2-r1.ebuild145
1 files changed, 145 insertions, 0 deletions
diff --git a/games-fps/quake4-bin/quake4-bin-1.4.2-r1.ebuild b/games-fps/quake4-bin/quake4-bin-1.4.2-r1.ebuild
new file mode 100644
index 000000000000..6c11f747c25a
--- /dev/null
+++ b/games-fps/quake4-bin/quake4-bin-1.4.2-r1.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils unpacker games
+
+DESCRIPTION="Sequel to Quake 2, an id Software 3D first-person shooter"
+HOMEPAGE="http://www.quake4game.com/"
+SRC_URI="mirror://idsoftware/quake4/linux/quake4-linux-${PV}.x86.run"
+
+LICENSE="QUAKE4"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="cdinstall dedicated linguas_cs linguas_fr linguas_it linguas_pl linguas_ru"
+RESTRICT="strip"
+
+# QUAKE4 NEEDS s3tc support, which can be obtained for OSS drivers via
+# media-libs/libtxc_dxtn and is built into the proprietary drivers.
+# depend optionally on them but elog too, in case a user has both
+# proprietary and OSS drivers installed and sees the segfault.
+
+RDEPEND="sys-libs/glibc
+ amd64? ( sys-libs/glibc[multilib] )
+ sys-libs/zlib[abi_x86_32(-)]
+ dedicated? ( app-misc/screen )
+ !dedicated? (
+ || (
+ >=media-libs/libtxc_dxtn-1.0.1-r1[abi_x86_32(-)]
+ x11-drivers/nvidia-drivers
+ >=x11-drivers/ati-drivers-8.8.25-r1
+ )
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ >=x11-libs/libXext-1.3.2[abi_x86_32(-)]
+ >=media-libs/libsdl-1.2.15-r4[X,opengl,sound,abi_x86_32(-)]
+ )
+ cdinstall? ( games-fps/quake4-data )"
+
+S=${WORKDIR}
+dir=${GAMES_PREFIX_OPT}/quake4
+Ddir=${D}/${dir}
+
+QA_TEXTRELS="${dir:1}/pb/pbag.so
+ ${dir:1}/pb/pbags.so
+ ${dir:1}/pb/pbcl.so
+ ${dir:1}/pb/pbcls.so
+ ${dir:1}/pb/pbsv.so
+ ${dir:1}/libSDL-1.2.id.so.0"
+QA_EXECSTACK="${dir:1}/quake4.x86
+ ${dir:1}/quake4smp.x86
+ ${dir:1}/q4ded.x86
+ ${dir:1}/libSDL-1.2.id.so.0"
+
+zpaklang() {
+ if ! use linguas_${1} ; then
+ einfo "Removing ${2} zpak files"
+ rm -f q4base/zpak_${2}*
+ fi
+}
+
+src_unpack() {
+ unpack_makeself ${A}
+
+ mv q4icon.bmp quake4.bmp || die
+
+ # Am including the Spanish files because Spanish is the default language
+ #zpaklang es spanish
+ zpaklang cs czech
+ zpaklang fr french
+ zpaklang it italian
+ zpaklang pl polish
+ zpaklang ru russian
+
+ # Rename the .off files, so they will be used
+ cd q4base
+ if [[ ! -z $(ls *.off 2> /dev/null) ]] ; then
+ local f
+ for f in *.off ; do
+ einfo "Renaming ${f}"
+ mv "${f}" "${f%.off}" || die "mv ${f}"
+ done
+ fi
+}
+
+src_install() {
+ insinto "${dir}"
+ doins CHANGES* License.txt sdl.patch.1.2.10 us/version.info
+ doins -r pb q4mp
+ dodoc README*
+
+ insinto "${dir}"/q4base
+ doins q4base/* us/q4base/* || die "doins q4base"
+ games_make_wrapper quake4-ded ./q4ded.x86 "${dir}" "${dir}"
+
+ exeinto "${dir}"
+ doexe openurl.sh bin/Linux/x86/q4ded.x86
+
+ if ! use dedicated ; then
+ doexe bin/Linux/x86/{quake4{,smp}.x86,*.id.so.?}
+ doicon quake4.bmp || die "doicon"
+ games_make_wrapper quake4 "./quake4.x86" "${dir}" "${dir}"
+ games_make_wrapper quake4-smp ./quake4smp.x86 "${dir}" "${dir}"
+ icon_path="quake4"
+ if [ -e "${FILESDIR}"/quake4.png ]
+ then
+ doicon "${FILESDIR}"/quake4.png || die "copying icon"
+ elif [ -e "${DISTDIR}"/quake4.png ]
+ then
+ doicon "${DISTDIR}"/quake4.png || die "copying icon"
+ else
+ icon_path=/usr/share/pixmaps/quake4.bmp
+ fi
+ make_desktop_entry quake4 "Quake IV" ${icon_path}
+ make_desktop_entry quake4-smp "Quake IV (SMP)" ${icon_path}
+ fi
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ if ! use cdinstall ; then
+ elog "You need to copy pak001.pk4 through pak012.pk4, along with"
+ elog "zpak*.pk4 from either your installation media or your hard drive"
+ elog "to ${dir}/q4base before running the game."
+ echo
+ fi
+ if ! use dedicated ; then
+ elog "To play the game, run: quake4"
+ elog
+ # The default language is Spanish!
+ elog "To reset the language from Spanish to English, run:"
+ elog " sed -i 's:spanish:english:' ~/.quake4/q4base/Quake4Config.cfg"
+ elog
+ elog "Saved games from previous Quake 4 versions might not be compatible."
+ elog
+ elog "If you get a segmentation fault or an error regarding"
+ elog "'GL_EXT_texture_compression_s3tc', you can obtain the"
+ elog "necessary support for your mesa drivers by installing"
+ elog "media-libs/libtxc_dxtn (for abi_x86_32 if multilib)."
+ echo
+ fi
+ elog "To start the dedicated server, run: quake4-ded"
+}