summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Ospald <hasufell@gentoo.org>2012-12-17 21:42:41 +0000
committerJulian Ospald <hasufell@gentoo.org>2012-12-17 21:42:41 +0000
commit61e87fc0b0527ec7a1b7a53a195cfc54a068a5ba (patch)
treee6a8ea1f3c4043c067362694ccc7d7424dceb23a /games-rpg
parentmask games-rpg/penumbra-collection for 64bit-native as it needs emul libs (diff)
downloadgentoo-2-61e87fc0b0527ec7a1b7a53a195cfc54a068a5ba.tar.gz
gentoo-2-61e87fc0b0527ec7a1b7a53a195cfc54a068a5ba.tar.bz2
gentoo-2-61e87fc0b0527ec7a1b7a53a195cfc54a068a5ba.zip
initial import based on work from Robert Cernansky wrt #278326
(Portage version: 2.2.0_alpha148/cvs/Linux x86_64, signed Manifest commit with key E73C35B3)
Diffstat (limited to 'games-rpg')
-rw-r--r--games-rpg/penumbra-collection/ChangeLog10
-rw-r--r--games-rpg/penumbra-collection/Manifest4
-rw-r--r--games-rpg/penumbra-collection/metadata.xml10
-rw-r--r--games-rpg/penumbra-collection/penumbra-collection-1.1.ebuild198
4 files changed, 222 insertions, 0 deletions
diff --git a/games-rpg/penumbra-collection/ChangeLog b/games-rpg/penumbra-collection/ChangeLog
new file mode 100644
index 000000000000..b2b645cf2d43
--- /dev/null
+++ b/games-rpg/penumbra-collection/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for games-rpg/penumbra-collection
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-rpg/penumbra-collection/ChangeLog,v 1.1 2012/12/17 21:42:41 hasufell Exp $
+
+*penumbra-collection-1.1 (17 Dec 2012)
+
+ 17 Dec 2012; Julian Ospald <hasufell@gentoo.org>
+ +penumbra-collection-1.1.ebuild, +metadata.xml:
+ initial import based on work from Robert Cernansky wrt #278326
+
diff --git a/games-rpg/penumbra-collection/Manifest b/games-rpg/penumbra-collection/Manifest
new file mode 100644
index 000000000000..11daf50395b8
--- /dev/null
+++ b/games-rpg/penumbra-collection/Manifest
@@ -0,0 +1,4 @@
+DIST PenumbraCollection-1.1.sh 949267761 SHA256 e0fdbdbb7e3766629cabd3903675a2f54f1a5206f67d590dd1553576338f3dab SHA512 9e9f604fffd4efd8ab21bdb56fb4f9dbeeee8e5375b83b88a24521a9bbb45ee7060c467aef47f06d551d51a4fdd0a51be5c5416060a87342ea281026ba24c7ae WHIRLPOOL 553034458f2d7e5584ed97ee4111a65cb789854ae1ff9ecb6651d8b66996198d9a869fa7455eaebf18ab1110973734f6f1e977d8187fb9d796407267253552d7
+EBUILD penumbra-collection-1.1.ebuild 5208 SHA256 753fd6c035d65b198eece3cda2f23862b6056fecf2a5563dac6713672448cdf3 SHA512 1f46d70281e97ab2808d14bd10bc366961e7ed65afad12939026a57b7fcc15d0a4581ade12fae5985b98dc3395e7e83e6d76864ee05bd9236ae202e4f8f99284 WHIRLPOOL 230ae060d8addd84864151d7668d108d8ce731e1f108958f3df5fc767352ad7bd49b046d2a29a63d3c91fd573ad9c3a65915cb5d79e07f8bb50c831521bf391b
+MISC ChangeLog 337 SHA256 7a7efd3a76a7ef60e6d70e38bba4ca2ab95cd1cf4e6870778f75f3e53cac5307 SHA512 8b17fbf441f116e748c9e50b0c4cfefcdf01a35822f11aedc05f1aca76ba37a58fde90b5dae988d99a8252c7e4890a35a18100edb654fa5fb49f6889942a986b WHIRLPOOL be76c8ca4ae975f9a2692df1abe23f5f7c4ad927e147b0a90926e9dfc25886498d3fba72564926e7784b91036d0a446769f184d76e1b0f325c222adaa9d22466
+MISC metadata.xml 255 SHA256 8ce125b1cb2a8da5fe808223ae6ed60fe03598c692e5020f0a8aaee09b5d6ca3 SHA512 29f4a4a15fc968a3151c449354cd2003831f4b66b57d72222c46d4e4f7ff0586ed3f0b76d09fadf0b43fbb3a46951b19207dd6d38b79fe394b61694cd272ad95 WHIRLPOOL 373afc42b6a5f9f473397b1b95b73377110a2d7cf3590bdb8e0ef4b58c9628a06b1af46db726416fbaad0c29b91ee1eb631eccac14a26be994b705a43f097db8
diff --git a/games-rpg/penumbra-collection/metadata.xml b/games-rpg/penumbra-collection/metadata.xml
new file mode 100644
index 000000000000..e52db06ebd8c
--- /dev/null
+++ b/games-rpg/penumbra-collection/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <maintainer>
+ <email>hasufell@gentoo.org</email>
+ <name>Julian Ospald</name>
+ </maintainer>
+</pkgmetadata>
+
diff --git a/games-rpg/penumbra-collection/penumbra-collection-1.1.ebuild b/games-rpg/penumbra-collection/penumbra-collection-1.1.ebuild
new file mode 100644
index 000000000000..ab73bafd662c
--- /dev/null
+++ b/games-rpg/penumbra-collection/penumbra-collection-1.1.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-rpg/penumbra-collection/penumbra-collection-1.1.ebuild,v 1.1 2012/12/17 21:42:41 hasufell Exp $
+
+EAPI=5
+
+inherit eutils unpacker gnome2-utils games
+
+MY_PN="PenumbraCollection"
+
+DESCRIPTION="Scary first-person adventure game trilogy which focuses on story, immersion and puzzles"
+HOMEPAGE="http://www.penumbragame.com/"
+SRC_URI="${MY_PN}-${PV}.sh"
+
+LICENSE="PENUMBRA-COLLECTION"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 -*"
+IUSE=""
+RESTRICT="fetch"
+
+RDEPEND="
+ virtual/glu
+ virtual/opengl
+ x86? (
+ media-libs/fontconfig
+ media-libs/freealut
+ media-libs/freetype
+ media-libs/libogg
+ media-libs/libsdl[X,audio,video,opengl]
+ media-libs/libvorbis
+ media-libs/sdl-image[gif,jpeg,png]
+ media-libs/sdl-ttf
+ media-gfx/nvidia-cg-toolkit
+ x11-libs/fltk:1
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXft
+ x11-libs/libXrender
+ )
+ amd64? (
+ app-emulation/emul-linux-x86-opengl
+ app-emulation/emul-linux-x86-sdl
+ app-emulation/emul-linux-x86-soundlibs
+ app-emulation/emul-linux-x86-xlibs
+ )"
+DEPEND="app-arch/xz-utils"
+
+gamedir=${GAMES_PREFIX_OPT}/${MY_PN}
+INSTALL_KEY_FILE=${gamedir}/collectionkey
+
+QA_PREBUILT="${gamedir}/Overture/penumbra.bin
+ ${gamedir}/BlackPlague/requiem.bin
+ ${gamedir}/BlackPlague/blackplague.bin"
+QA_PREBUILT_amd64="${QA_PREBUILT}
+ ${gamedir}/BlackPlague/lib/libfltk.so.1.1
+ ${gamedir}/BlackPlague/lib/libCgGL.so
+ ${gamedir}/BlackPlague/lib/libCg.so
+ ${gamedir}/Overture/lib/libfltk.so.1.1
+ ${gamedir}/Overture/lib/libCgGL.so
+ ${gamedir}/Overture/lib/libCg.so"
+
+S=${WORKDIR}/${MY_PN}
+
+pkg_nofetch() {
+ einfo "Please buy & download ${SRC_URI} from:"
+ einfo " ${HOMEPAGE}"
+ einfo "and move it to ${DISTDIR}"
+ einfo
+}
+
+src_unpack() {
+ unpack_makeself
+
+ mv subarch subarch.tar.lzma || die
+ unpack ./subarch.tar.lzma
+
+ mv instarchive_all instarchive_all.tar.lzma || die
+ unpack ./instarchive_all.tar.lzma
+}
+
+src_install() {
+ local destDir i episodeDir library directory
+ # perform instalation for each episode; note that Requiem is extension of
+ # Black Plague so it has no dedicated directory at this level
+ for episodeDir in Overture BlackPlague; do
+ destDir="${gamedir}/${episodeDir}"
+
+ insinto "${destDir}"
+
+ # install every directory recursively except lib
+ for directory in \
+ $(find ${episodeDir}/* -maxdepth 0 -type d ! -name lib); do
+ doins -r "${directory}"
+ done
+
+ # amd64 does not provide some libs, use bundled ones
+ if use amd64 ; then
+ exeinto "${gamedir}/${episodeDir}/lib"
+ for library in \
+ libfltk.so.1.1 \
+ libCgGL.so \
+ libCg.so; do
+ doexe ${episodeDir}/lib/${library}
+ done
+ fi
+
+ doins ${episodeDir}/*.cfg
+
+ exeinto "${destDir}"
+ doexe ${episodeDir}/openurl.sh ${episodeDir}/*.bin
+
+ # make sure that cache files are newer than models otherwise the game
+ # tries to regenerate them which sometimes causes a crash (as reported
+ # in bug #278326 comment #6)
+ touch "${D}/${destDir}"/core/*cache/*
+ done
+
+ newicon -s 64 Overture/penumbra.png penumbra-overture.png
+ newicon -s 64 BlackPlague/penumbra.png penumbra-blackplague.png
+ newicon -s 64 BlackPlague/requiem.png penumbra-requiem.png
+
+ games_make_wrapper penumbra-overture ./penumbra.bin \
+ "${gamedir}/Overture" "${gamedir}/Overture/lib"
+ games_make_wrapper penumbra-blackplague ./blackplague.bin \
+ "${gamedir}/BlackPlague" "${gamedir}/BlackPlague/lib"
+ games_make_wrapper penumbra-requiem ./requiem.bin \
+ "${gamedir}/BlackPlague" "${gamedir}/BlackPlague/lib"
+
+ for i in overture blackplague requiem; do
+ make_desktop_entry penumbra-${i} "Penumbra: Overture" \
+ penumbra-${i}
+ done
+
+ docinto Overture
+ dodoc Overture/CHANGELOG.txt Overture/Manual.pdf Overture/README.linux
+ docinto BlackPlague
+ dodoc BlackPlague/Manual.pdf BlackPlague/README.linux
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+
+ if [[ -f "${INSTALL_KEY_FILE}" ]] ; then
+ einfo "The installation key file already exists: ${INSTALL_KEY_FILE}"
+ else
+ ewarn "You MUST run this before playing the game:"
+ ewarn " emerge --config ${PN}"
+ ewarn "To enter your installation key."
+ fi
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ einfo "If you uninstalled ${PN} you might want to remove the keyfile as well in"
+ einfo " ${INSTALL_KEY_FILE}"
+}
+
+pkg_config() {
+ local key1 key2
+
+ ewarn "Your installation key is NOT checked for validity here."
+ ewarn "Make sure you type it in correctly."
+ ewarn "If you CTRL+C out of this, the game will not run!"
+ echo
+ einfo "The key format is: XXXX-XXXX-XXXX-XXXX"
+ while true ; do
+ einfo "Please enter your key:"
+ read key1
+ if [[ -z "${key1}" ]] ; then
+ echo "You entered a blank key. Try again."
+ continue
+ fi
+ einfo "Please re-enter your key:"
+ read key2
+ if [[ -z "${key2}" ]] ; then
+ echo "You entered a blank key. Try again."
+ continue
+ fi
+
+ if [[ "${key1}" == "${key2}" ]] ; then
+ echo "${key1}" | tr '[:lower:]' '[:upper:]' > "${INSTALL_KEY_FILE}"
+ echo -e "// Do not give this file to ANYONE.\n// Frictional Games Support will NEVER ask for this file" \
+ >> "${INSTALL_KEY_FILE}"
+ einfo "Created ${INSTALL_KEY_FILE}"
+ break
+ else
+ eerror "Your installation key entries do not match. Try again."
+ fi
+ done
+}