|
|
|
# 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"
|
|
|
|
}
|