diff options
Diffstat (limited to 'games-action/descent3/descent3-1.4.0b-r2.ebuild')
-rw-r--r-- | games-action/descent3/descent3-1.4.0b-r2.ebuild | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/games-action/descent3/descent3-1.4.0b-r2.ebuild b/games-action/descent3/descent3-1.4.0b-r2.ebuild new file mode 100644 index 000000000000..d663b28ab8f5 --- /dev/null +++ b/games-action/descent3/descent3-1.4.0b-r2.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils unpacker cdrom multilib games + +IUSE="nocd videos" +DESCRIPTION="Descent 3 - 3-Dimensional indoor/outdoor spaceship combat" +HOMEPAGE="http://www.lokigames.com/products/descent3/" +SRC_URI="mirror://lokigames/${PN}/${PN}-1.4.0a-x86.run + mirror://lokigames/${PN}/${P}-x86.run" + +LICENSE="LOKI-EULA" +SLOT="0" +KEYWORDS="~amd64 ~x86" +RESTRICT="strip" + +RDEPEND="sys-libs/glibc + media-libs/libsdl[abi_x86_32(-)] + media-libs/smpeg[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)]" + +dir=${GAMES_PREFIX_OPT}/${PN} +Ddir=${D}/${dir} + +pkg_setup() { + games_pkg_setup + if use videos ; then + ewarn "The installed game takes about 1.2GB of space!" + elif use nocd ; then + ewarn "The installed game takes about 510MB of space!" + else + ewarn "The installed game takes about 220MB of space!" + fi +} + +src_unpack() { + if use videos ; then + cdrom_get_cds missions/d3.mn3 movies/level1.mve + else + cdrom_get_cds missions/d3.mn3 + fi + mkdir -p "${S}"/{a,b} || die + cd "${S}"/a || die + unpack_makeself ${PN}-1.4.0a-x86.run + cd "${S}"/b || die + unpack_makeself ${P}-x86.run +} + +src_install() { + einfo "Copying files... this may take a while..." + exeinto "${dir}" + doexe ${CDROM_ROOT}/bin/x86/glibc-2.1/{${PN},nettest} + insinto "${dir}" + doins ${CDROM_ROOT}/{FAQ.txt,README{,.mercenary},d3.hog,icon.{bmp,xpm}} + + cd "${Ddir}" || die + # TODO: move this to src_unpack where it belongs + tar xzf ${CDROM_ROOT}/data.tar.gz || die + tar xzf ${CDROM_ROOT}/shared.tar.gz || die + + if use nocd; then + doins -r ${CDROM_ROOT}/missions + fi + + if use videos ; then + cdrom_load_next_cd + doins -r ${CDROM_ROOT}/movies + fi + + cd "${S}"/a || die + bin/Linux/x86/loki_patch --verify patch.dat || die + bin/Linux/x86/loki_patch patch.dat "${Ddir}" >& /dev/null || die + cd "${S}"/b || die + bin/Linux/x86/loki_patch --verify patch.dat || die + bin/Linux/x86/loki_patch patch.dat "${Ddir}" >& /dev/null || die + + # 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 '{}' + + + games_make_wrapper descent3 ./descent3.dynamic "${dir}" "${dir}" + newicon ${CDROM_ROOT}/icon.xpm ${PN}.xpm + + # Fix for 2.6 kernel crash + cd "${Ddir}" || die + ln -sf ppics.hog PPics.Hog + + prepgamesdirs + make_desktop_entry ${PN} "Descent 3" ${PN} +} + +pkg_postinst() { + games_pkg_postinst + elog "To play the game run:" + elog " descent3" + echo +} |