summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-strategy/civctp/civctp-1.2a.ebuild')
-rw-r--r--games-strategy/civctp/civctp-1.2a.ebuild184
1 files changed, 184 insertions, 0 deletions
diff --git a/games-strategy/civctp/civctp-1.2a.ebuild b/games-strategy/civctp/civctp-1.2a.ebuild
new file mode 100644
index 0000000..8559e3c
--- /dev/null
+++ b/games-strategy/civctp/civctp-1.2a.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# [x] Base Install Required (+400MB)
+# [x] Videos (+225MB)
+# --------------------
+# Total 625MB
+
+inherit eutils games
+
+IUSE="langpatch nocd videos"
+DESCRIPTION="Civilization Call to Power"
+HOMEPAGE="http://www.lokigames.com/products/civctp/"
+KEYWORDS="x86"
+DEPEND="virtual/libc
+ sys-apps/gawk
+ games-util/loki_patch"
+
+# Since I do not have a PPC machine to test with, I will leave the PPC stuff in
+# here so someone else can stabilize loki_setupdb and loki_patch for PPC and
+# then KEYWORD this appropriately.
+CTP_LANGUAGES="english french german italian spanish"
+CTP_NO_LANG=${CTP_LANG:-y}
+CTP_LANG=${CTP_LANG:-english}
+
+SRC_URI="x86? (
+ mirror://lokigames/${PN}/${P}-english-unified-x86.run
+ linguas_fr? ( mirror://lokigames/${PN}/${P}-french-unified-x86.run )
+ linguas_de? ( mirror://lokigames/${PN}/${P}-german-unified-x86.run )
+ linguas_it? ( mirror://lokigames/${PN}/${P}-italian-unified-x86.run )
+ linguas_es? ( mirror://lokigames/${PN}/${P}-spanish-unified-x86.run )
+ )
+ ppc? (
+ mirror://lokigames/${PN}/${P}-english-unified-ppc.run
+ linguas_fr? ( mirror://lokigames/${PN}/${P}-french-unified-ppc.run )
+ linguas_de? ( mirror://lokigames/${PN}/${P}-german-unified-ppc.run )
+ linguas_it? ( mirror://lokigames/${PN}/${P}-italian-unified-ppc.run )
+ linguas_es? ( mirror://lokigames/${PN}/${P}-spanish-unified-ppc.run )
+ )
+ langpatch? (
+ mirror://lokigames/${PN}/${P}-${CTP_LANG}.run
+ )"
+
+LICENSE="LOKI-EULA"
+SLOT="0"
+RESTRICT="nostrip nomirror"
+
+S=${WORKDIR}
+
+dir=${GAMES_PREFIX_OPT}
+Ddir=${D}/${dir}
+
+check_ctp2_cd_version() {
+ local CUR_LANG
+ local LANG_CNT
+ local MY_LANGS
+ local USED_LANG
+
+ cdrom_get_cds CivCTP-data.tar.gz
+
+ MY_LANGS=${CTP_LANGUAGES// /|}
+ USED_LANG=""
+ test -f ${CDROM_ROOT}/.ctpcd || die "No .ctpcd file found.";
+ CTP_VER=$(cat ${CDROM_ROOT}/.ctpcd)
+ test -f ${CDROM_ROOT}/setup/tarball.list || die "No setup/tarball.list found."
+ CTP_CD_LANG=$(awk -F/ "/\/ctp_data\/(${MY_LANGS})\/$/ { print \$3; }" ${CDROM_ROOT}/setup/tarball.list 2>/dev/null|head -n 1)
+
+ if test -z "${CTP_CD_LANG}"; then
+ die "Could not determine language of CtP-CD.";
+ else
+ einfo "Found CtP-CD version ${CTP_VER} in ${CTP_CD_LANG}."
+ fi
+ LANG_CNT=0
+ for CUR_LANG in ${CTP_LANG_USE}; do
+ if useq ${CUR_LANG}; then
+ LANG_CNT=$((LANG_CNT+1))
+ USED_LANG=${CUR_LANG}
+ fi
+ done
+ if [ $LANG_CNT -eq 0 ]; then
+ eerror ""
+ eerror "You did not specify the language of your CivCTP cd."
+ eerror ""
+ eerror "I determined you have the ${CTP_CD_LANG} version of CivCTP."
+ eerror "Please add civctp-${CTP_CD_LANG} to your USE-flags."
+ eerror ""
+ die "Language of CivCTP-CD not specified in USE-flags."
+ elif [ $LANG_CNT -gt 1 ]; then
+ eerror ""
+ eerror "You specified more than one language for your CivCTP cd."
+ eerror "Obviously, this cannot be true. I determined you have the"
+ eerror "${CTP_CD_LANG} version of CivCTP."
+ eerror "Please remove any other civctp-* flag from your USE-flags"
+ eerror ""
+ die "More than one language specified for CivCTP-CD"
+ fi
+ USED_LANG=${USED_LANG//civctp-/}
+ if [ "${CTP_CD_LANG}" != "${USED_LANG}" ]; then
+ eerror ""
+ eerror "You specified you have the ${USED_LANG} version of CivCTP."
+ eerror "However, i recognized the ${CTP_CD_LANG} version."
+ eerror "Please replace civctp-${USED_LANG} by ${CTP_CD_LANG}"
+ eerror "in your USE-flags."
+ eerror ""
+ die "Expected ${CTP_CD_LANG}, but got ${USED_LANG}."
+ fi
+}
+
+pkg_setup() {
+ check_license || die "License check failed"
+ use nocd && ewarn "The full installation takes about 625 MB of space!"
+
+ # The following is ugly, but we need to know the CTP version
+ # _before_ we can download the updates
+ check_ctp2_cd_version
+
+ if useq langpatch; then
+ if [ "${CTP_NO_LANG}" = "y" ]; then
+ ewarn ""
+ ewarn "You did not set the CTP_LANG variable to contain the language"
+ ewarn "your CivCTP should be patched to."
+ ewarn "Thus, i assume you want the ${CTP_LANG} version of CivCTP."
+ ewarn ""
+ fi
+ fi
+
+ games_pkg_setup
+}
+
+src_unpack() {
+ local my_a
+
+ # We patch in order of A=in order of SRC_URI
+ for my_a in ${A} ; do
+ mkdir -p ${S}/${my_a}.dir
+ cd ${S}/${my_a}.dir
+ unpack_makeself ${my_a}
+ done
+}
+
+src_install() {
+ local my_a
+
+ einfo "Copying files... this may take a while..."
+ dodir ${dir}
+ exeinto ${dir}
+ cd ${CDROM_ROOT} || die "Could not change directory to ${CDROM_ROOT}"
+ /bin/sh ${CDROM_ROOT}/setup/unpack_data install ${Ddir} > /dev/null 2>&1 || die "unpack_data failed"
+ if useq nocd; then
+ /bin/sh ${CDROM_ROOT}/setup/unpack_videos install ${Ddir} > /dev/null 2>&1 || die "unpack_videos failed"
+ elif useq videos; then
+ /bin/sh ${CDROM_ROOT}/setup/unpack_videos install ${Ddir} > /dev/null 2>&1 || die "unpack_videos failed"
+ fi
+ cd ${S}
+
+ for my_a in ${A}; do
+ einfo "Applying patch from ${my_a}..."
+ cd ${S}/${my_a}.dir || die "patch dir ${my_a}.dir does not exist in workdir."
+ loki_patch --verify patch.dat || die "Verifying patch failed"
+ loki_patch patch.dat ${Ddir}/CivCTP > /dev/null 2>&1 || die "Patching CivCTP to ${PV} failed."
+ done
+
+ games_make_wrapper civctp ./civctp ${dir}/CivCTP
+
+ insinto /usr/share/pixmaps
+ cp -p ${Ddir}/CivCTP/icon.xpm ${S}/civctp.xpm
+ doins ${S}/civctp.xpm
+
+ # now, since these files are coming off a cd, the times/sizes/md5sums wont
+ # be different ... that means portage will try to unmerge some files (!)
+ # we run touch on ${D} so as to make sure portage doesnt do any such thing
+ find ${Ddir} -exec touch '{}' \;
+
+ prepgamesdirs
+ make_desktop_entry civctp "Civilization Call to Power" "civctp.xpm"
+}
+
+pkg_postinst() {
+ einfo "To play the game run:"
+ einfo " civctp"
+
+ games_pkg_postinst
+}