diff options
author | Chris Gianelloni <wolf31o2@gentoo.org> | 2006-10-05 22:59:08 +0000 |
---|---|---|
committer | Chris Gianelloni <wolf31o2@gentoo.org> | 2006-10-05 22:59:08 +0000 |
commit | 4a61278c2ce98b2dd110424e4b246ba9a6589e0c (patch) | |
tree | f287d8ac05cefa537be41df174a8dcc3e2d948dc /games-strategy | |
parent | games herd (diff) | |
download | gentoo-2-4a61278c2ce98b2dd110424e4b246ba9a6589e0c.tar.gz gentoo-2-4a61278c2ce98b2dd110424e4b246ba9a6589e0c.tar.bz2 gentoo-2-4a61278c2ce98b2dd110424e4b246ba9a6589e0c.zip |
Added wrapper to allow us to write out some temp files. Wrapper by Alex Linke <incubation.11@freenet.de>. Closing bug #93604.
(Portage version: 2.1.2_pre1-r4)
Diffstat (limited to 'games-strategy')
-rw-r--r-- | games-strategy/heroes3/ChangeLog | 9 | ||||
-rw-r--r-- | games-strategy/heroes3/files/digest-heroes3-1.3.1a-r1 | 4 | ||||
-rw-r--r-- | games-strategy/heroes3/files/digest-heroes3-1.3.1a-r2 | 6 | ||||
-rw-r--r-- | games-strategy/heroes3/files/heroes3-wrapper.sh | 13 | ||||
-rw-r--r-- | games-strategy/heroes3/heroes3-1.3.1a-r2.ebuild | 212 |
5 files changed, 243 insertions, 1 deletions
diff --git a/games-strategy/heroes3/ChangeLog b/games-strategy/heroes3/ChangeLog index 56f66a6aeb58..cf1f54e9ff42 100644 --- a/games-strategy/heroes3/ChangeLog +++ b/games-strategy/heroes3/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for games-strategy/heroes3 # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/games-strategy/heroes3/ChangeLog,v 1.11 2006/04/17 13:29:32 wolf31o2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/games-strategy/heroes3/ChangeLog,v 1.12 2006/10/05 22:59:07 wolf31o2 Exp $ + +*heroes3-1.3.1a-r2 (05 Oct 2006) + + 05 Oct 2006; Chris Gianelloni <wolf31o2@gentoo.org> + +files/heroes3-wrapper.sh, +heroes3-1.3.1a-r2.ebuild: + Added wrapper to allow us to write out some temp files. Wrapper by Alex + Linke <incubation.11@freenet.de>. Closing bug #93604. 17 Apr 2006; Chris Gianelloni <wolf31o2@gentoo.org> heroes3-1.3.1a-r1.ebuild: diff --git a/games-strategy/heroes3/files/digest-heroes3-1.3.1a-r1 b/games-strategy/heroes3/files/digest-heroes3-1.3.1a-r1 index a34593c46c90..0066c2ec3e8b 100644 --- a/games-strategy/heroes3/files/digest-heroes3-1.3.1a-r1 +++ b/games-strategy/heroes3/files/digest-heroes3-1.3.1a-r1 @@ -1,2 +1,6 @@ MD5 be8d44e9bc808019011161f7605c9ba1 heroes3-1.3.1a-cdrom-x86.run 3012188 +RMD160 dafa394c5f63bb3cac5bb65e244fdeaa626b6e70 heroes3-1.3.1a-cdrom-x86.run 3012188 +SHA256 f87d78e09278e2f05cb15e2f79dfeaae2cef8fb147b83185dd4f818c0ab7759e heroes3-1.3.1a-cdrom-x86.run 3012188 MD5 32b2749e8097df6cde0a529c99e4d620 heroes3-1.3.1a-ppc.run 2643068 +RMD160 741ba7c3a9005a38895dd84e02595be75678d7da heroes3-1.3.1a-ppc.run 2643068 +SHA256 b14eeb8eef705b20dbf54eb308b2232d6110f4ec568cb82d9ea9fb7f9cca3137 heroes3-1.3.1a-ppc.run 2643068 diff --git a/games-strategy/heroes3/files/digest-heroes3-1.3.1a-r2 b/games-strategy/heroes3/files/digest-heroes3-1.3.1a-r2 new file mode 100644 index 000000000000..0066c2ec3e8b --- /dev/null +++ b/games-strategy/heroes3/files/digest-heroes3-1.3.1a-r2 @@ -0,0 +1,6 @@ +MD5 be8d44e9bc808019011161f7605c9ba1 heroes3-1.3.1a-cdrom-x86.run 3012188 +RMD160 dafa394c5f63bb3cac5bb65e244fdeaa626b6e70 heroes3-1.3.1a-cdrom-x86.run 3012188 +SHA256 f87d78e09278e2f05cb15e2f79dfeaae2cef8fb147b83185dd4f818c0ab7759e heroes3-1.3.1a-cdrom-x86.run 3012188 +MD5 32b2749e8097df6cde0a529c99e4d620 heroes3-1.3.1a-ppc.run 2643068 +RMD160 741ba7c3a9005a38895dd84e02595be75678d7da heroes3-1.3.1a-ppc.run 2643068 +SHA256 b14eeb8eef705b20dbf54eb308b2232d6110f4ec568cb82d9ea9fb7f9cca3137 heroes3-1.3.1a-ppc.run 2643068 diff --git a/games-strategy/heroes3/files/heroes3-wrapper.sh b/games-strategy/heroes3/files/heroes3-wrapper.sh new file mode 100644 index 000000000000..3847c539ed76 --- /dev/null +++ b/games-strategy/heroes3/files/heroes3-wrapper.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +DIR="${HOME}/.loki/heroes3" + +if [ ! -d "${DIR}" ]; then + echo "* Creating '${DIR}'" + mkdir -p ${DIR} +fi + +# fixes bug #93604 +cd ${DIR} + +exec GAMES_PREFIX_OPT/heroes3/heroes3 ${@} diff --git a/games-strategy/heroes3/heroes3-1.3.1a-r2.ebuild b/games-strategy/heroes3/heroes3-1.3.1a-r2.ebuild new file mode 100644 index 000000000000..47d93574de2e --- /dev/null +++ b/games-strategy/heroes3/heroes3-1.3.1a-r2.ebuild @@ -0,0 +1,212 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-strategy/heroes3/heroes3-1.3.1a-r2.ebuild,v 1.1 2006/10/05 22:59:08 wolf31o2 Exp $ + +# [x] Base Install Required (+4 MB) +# [x] Scenarios (+7 MB) +# [x] Sounds and Graphics (+118 MB) +# [x] Music (+65 MB) +# [x] Videos (+147 MB) +# -------------------- +# Total 341 MB + +LANGS="de es pl" +LANGPACKPREFIX="${PN}-lang" +LANGPACKBASE="http://babelize.org/download/" +LANGPACKPATHPREFIX="${LANGPACKBASE}/${LANGPACKPREFIX}" +LANGPACKVERSION=1.0.4 + +inherit eutils games + +DESCRIPTION="Heroes of Might and Magic III : The Restoration of Erathia - turn-based 2-D medieval combat" +HOMEPAGE="http://www.lokigames.com/products/heroes3/" + +# 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. +SRC_URI="x86? ( mirror://lokigames/${PN}/${P}-cdrom-x86.run ) + ppc? ( mirror://lokigames/${PN}/${P}-ppc.run )" +# This is commented because the server is unreachable. +# linguas_es? ( ${LANGPACKPATHPREFIX}-es.tar.gz ) +# linguas_de? ( ${LANGPACKPATHPREFIX}-de.tar.gz ) +# linguas_pl? ( ${LANGPACKPATHPREFIX}-pl.tar.gz )" + +# ${LANGPACKBASE}/${PN}-localize-${LANGPACKVERSION}.run + +LICENSE="LOKI-EULA" +SLOT="0" +IUSE="nocd maps music sounds videos" +#linguas_en linguas_es linguas_pl linguas_de" +KEYWORDS="~ppc ~x86" +RESTRICT="strip" + +DEPEND="virtual/libc + dev-util/xdelta + games-util/loki_patch" +RDEPEND="!ppc? ( sys-libs/lib-compat-loki )" + +S=${WORKDIR} + +GAMES_CHECK_LICENSE="yes" +dir=${GAMES_PREFIX_OPT}/${PN} +Ddir=${D}/${dir} + +pkg_setup() { + games_pkg_setup +# strip-linguas en ${LANGS} + + use nocd && fullinstall=1 + use sounds && use videos && use maps && fullinstall=1 + + [ ${fullinstall} -eq 1 ] \ + && ewarn "The full installation takes about 341 MB of space!" + +# if [ -n "${fullinstall}" ] +# then +# langcount=0 +# for i in ${LINGUAS} +# do +# i="${i/_/-}" +# if [ ${i} != "en" ] +# then +# let $((++langcount)) +# if [ $langcount = 2 ] +# then +# eerror "Heroes3 only supports one localization at once!" +# die "Localization is only supported when Heroes3 is in a single language!" +# fi +# fi +# done +# else +# for i in ${LINGUAS} +# do +# i="${i/_/-}" +# if [ ${i} != "en" ] +# then +# eerror "Full installation (nocd flag or data + video + maps flags) is needed for ${i} language!" +# die "Localization is only supported when Heroes3 is fully locally installed!" +# fi +# done +# fi + cdrom_get_cds hiscore.tar.gz +} + +src_unpack() { + use x86 && unpack_makeself ${P}-cdrom-x86.run + use ppc && unpack_makeself ${P}-ppc.run + +# for i in ${LINGUAS} +# do +# i="${i/_/-}" +# if [ ${i} != "en" ] +# then +# mkdir localize +# cd localize +## unpack_makeself ${PN}-localize-${LANGPACKVERSION}.run +# unpack ${LANGPACKPREFIX}-${i}.tar.gz +# break +# fi +# done +} + +src_install() { + exeinto "${dir}" + insinto "${dir}" + einfo "Copying files... this may take a while..." + doexe ${CDROM_ROOT}/bin/x86/${PN} + doins ${CDROM_ROOT}/{Heroes_III_Tutorial.pdf,README,icon.{bmp,xpm}} + + if use nocd + then + doins -r ${CDROM_ROOT}/{data,maps,mp3} || die "copying data" + else + if use maps + then + doins -r ${CDROM_ROOT}/maps + fi + if use music + then + doins -r ${CDROM_ROOT}/mp3 + fi + if use sounds + then + insinto "${dir}"/data + doins ${CDROM_ROOT}/data/{*.lod,*.snd} + fi + if use videos + then + doins -r ${CDROM_ROOT}/data/video + fi + fi + +# if [ -n "${fullinstall}" ] +# then +# for i in ${LINGUAS} +# do +# i="${i/_/-}" +# if [ ${i} != "en" ] +# then +# find "${S}/localize/${i}" -type f | while read xfile +# do +# local file=$(echo "${xfile}" | \ +# sed "s#^${S}/localize/${i}/##;s#\.xdelta\$##") +# ebegin "Localizing ${file}" +# xdelta patch "${xfile}" "${Ddir}/${file}" "${Ddir}/${file}.xdp" +# local retval=$? +# if [ $retval = 0 ] ; then +# mv -f "${Ddir}/${file}.xdp" "${Ddir}/${file}" +# else +# rm -f "${Ddir}/${file}.xdp" +# fi +# eend $retval "File $file could not be localized/patched! Original english version untouched..." +# done +# break +# fi +# done +# fi + + tar zxf ${CDROM_ROOT}/hiscore.tar.gz -C "${Ddir}" || die "unpacking hiscore" + + cd "${S}" + loki_patch --verify patch.dat + loki_patch patch.dat "${Ddir}" >& /dev/null || die "patching" + + # 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 '{}' \; + + newicon ${CDROM_ROOT}/icon.xpm heroes3.xpm + + prepgamesdirs + make_desktop_entry heroes3 "Heroes of Might and Magic III" "heroes3.xpm" + + if ! use ppc + then + einfo "Linking libs provided by 'sys-libs/lib-compat-loki' to '${dir}'." + dosym /lib/loki_ld-linux.so.2 ${dir}/ld-linux.so.2 || die "dosym" + dosym /usr/lib/loki_libc.so.6 ${dir}/libc.so.6 || die "dosym" + dosym /usr/lib/loki_libnss_files.so.2 ${dir}/libnss_files.so.2 \ + || die "dosym failed" + fi + + einfo "Changing 'hiscore.dat' to be writeable for group 'games'." + fperms g+w "${dir}/data/hiscore.dat" || die "fperms failed" + + # in order to play campaign games, put this wrapper in place. + # it changes CWD to a user-writeable directory before executing heroes3. + # (fixes bug #93604) + einfo "Preparing wrapper." + cp "${FILESDIR}"/heroes3-wrapper.sh "${T}"/heroes3 || \ + die "copying wrapper failed" + sed -i -e "s:GAMES_PREFIX_OPT:${GAMES_PREFIX_OPT}:" "${T}"/heroes3 || + die "sed failed" + dogamesbin "${T}"/heroes3 || die "doexe failed" + +} + +pkg_postinst() { + games_pkg_postinst + einfo "To play the game run:" + einfo " heroes3" +} |