|
|
|
# Copyright 1999-2014 Gentoo Foundation
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
# $Id$
|
|
|
|
|
|
|
|
EAPI=2
|
|
|
|
inherit unpacker eutils cdrom games
|
|
|
|
|
|
|
|
DESCRIPTION="iD Software's Quake 2 ... the data files"
|
|
|
|
HOMEPAGE="http://www.idsoftware.com/"
|
|
|
|
SRC_URI="mirror://idsoftware/quake2/q2-${PV}-x86-full-ctf.exe"
|
|
|
|
|
|
|
|
LICENSE="Q2EULA"
|
|
|
|
SLOT="0"
|
|
|
|
KEYWORDS="~alpha amd64 ~ia64 ppc sparc x86 ~x86-fbsd"
|
|
|
|
IUSE="videos"
|
|
|
|
|
|
|
|
DEPEND="app-arch/unzip"
|
|
|
|
RDEPEND=""
|
|
|
|
|
|
|
|
S=${WORKDIR}
|
|
|
|
|
|
|
|
pkg_setup() {
|
|
|
|
games_pkg_setup
|
|
|
|
if has_version "games-fps/quake2-demodata[symlink]" ; then
|
|
|
|
eerror "The symlink for the demo data conflicts with the cdinstall data"
|
|
|
|
die "Unmerge games-fps/quake2-demodata to remove the conflict"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
src_unpack() {
|
|
|
|
export CDROM_NAME_SET=("Existing Install" "Ultimate Quake Edition" "Quake2 CD" "Quake4 Bonus DVD")
|
|
|
|
cdrom_get_cds baseq2:Install/patch:Install:Movies
|
|
|
|
# The .exe is just a self-extracting .zip
|
|
|
|
unpack_zip ${A}
|
|
|
|
}
|
|
|
|
|
|
|
|
src_install() {
|
|
|
|
dodoc DOCS/* 3.20_Changes.txt
|
|
|
|
newdoc ctf/readme.txt ctf-readme.txt
|
|
|
|
case ${CDROM_SET} in
|
|
|
|
0) dohtml -r "${CDROM_ROOT}"/Install/DOCS/quake2_manual/* ;;
|
|
|
|
1) dohtml -r "${CDROM_ROOT}"/Install/Docs/quake2_manual/* ;;
|
|
|
|
2) dohtml -r "${CDROM_ROOT}"/Install/DOCS/quake2_manual/* ;;
|
|
|
|
3) dodoc "${CDROM_ROOT}"/Docs/* ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
local baseq2_cdpath
|
|
|
|
case ${CDROM_SET} in
|
|
|
|
0) baseq2_cdpath=${CDROM_ROOT}/baseq2;;
|
|
|
|
1) baseq2_cdpath=${CDROM_ROOT}/Install/Data/baseq2;;
|
|
|
|
2) baseq2_cdpath=${CDROM_ROOT}/Install/Data/baseq2;;
|
|
|
|
3) baseq2_cdpath=${CDROM_ROOT}/setup/Data/baseq2;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
dodir "${GAMES_DATADIR}"/quake2/baseq2
|
|
|
|
|
|
|
|
if use videos ; then
|
|
|
|
insinto "${GAMES_DATADIR}"/quake2/baseq2/video
|
|
|
|
doins "${baseq2_cdpath}"/video/* || die "doins videos"
|
|
|
|
fi
|
|
|
|
|
|
|
|
insinto "${GAMES_DATADIR}"/quake2/baseq2
|
|
|
|
doins "${baseq2_cdpath}"/pak0.pak || die "couldnt grab pak0.pak"
|
|
|
|
doins baseq2/*.pak || die "couldnt grab release paks"
|
|
|
|
doins baseq2/maps.lst || die "couldnt grab maps.lst"
|
|
|
|
dodir "${GAMES_DATADIR}"/quake2/baseq2/players
|
|
|
|
cp -R "${baseq2_cdpath}"/players/* baseq2/players/* \
|
|
|
|
"${D}/${GAMES_DATADIR}"/quake2/baseq2/players/ || die "couldnt grab player models"
|
|
|
|
|
|
|
|
for mod in ctf rogue xatrix ; do
|
|
|
|
if [[ -d ${baseq2_cdpath}/../${mod} ]] ; then
|
|
|
|
if use videos && [[ -d ${baseq2_cdpath}/../${mod}/video ]] ; then
|
|
|
|
insinto "${GAMES_DATADIR}"/quake2/${mod}/video
|
|
|
|
doins "${baseq2_cdpath}"/../${mod}/video/* 2>/dev/null
|
|
|
|
fi
|
|
|
|
if [[ -n $(ls "${baseq2_cdpath}"/../${mod}/*.pak 2>/dev/null) ]] ; then
|
|
|
|
insinto "${GAMES_DATADIR}"/quake2/${mod}
|
|
|
|
doins "${baseq2_cdpath}"/../${mod}/*.pak || die "doins ${mod} pak"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
insinto "${GAMES_DATADIR}"/quake2/ctf
|
|
|
|
doins ctf/*.{cfg,ico,pak} || die "couldnt grab ctf"
|
|
|
|
|
|
|
|
prepgamesdirs
|
|
|
|
}
|