diff options
Diffstat (limited to 'games-fps/quake2-data/quake2-data-3.20.ebuild')
-rw-r--r-- | games-fps/quake2-data/quake2-data-3.20.ebuild | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/games-fps/quake2-data/quake2-data-3.20.ebuild b/games-fps/quake2-data/quake2-data-3.20.ebuild new file mode 100644 index 000000000000..4bac1cd90392 --- /dev/null +++ b/games-fps/quake2-data/quake2-data-3.20.ebuild @@ -0,0 +1,87 @@ +# 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 +} |