|
|
# Copyright 1999-2006 Gentoo Foundation | # Copyright 1999-2006 Gentoo Foundation |
# Distributed under the terms of the GNU General Public License v2 | # Distributed under the terms of the GNU General Public License v2 |
# $Header: /var/cvsroot/gentoo-x86/games-fps/doomsday/doomsday-1.8.6-r1.ebuild,v 1.1 2006/03/13 21:33:02 tupone Exp $ |
# $Header: $ |
| |
inherit eutils games |
inherit eutils versionator games |
| |
DESCRIPTION="A modern gaming engine for Doom, Heretic, and Hexen" |
# For compatibility with both 1.8.6-r2 & 1.9.0_beta3 |
|
MY_PV=$(replace_version_separator 3 '-') |
|
|
|
DESCRIPTION="Modern gaming engine for Doom, Heretic and Hexen" |
HOMEPAGE="http://www.doomsdayhq.com/" | HOMEPAGE="http://www.doomsdayhq.com/" |
SRC_URI="mirror://sourceforge/deng/deng-${PV}.tar.gz" |
SRC_URI="mirror://sourceforge/deng/deng-${MY_PV}.tar.gz" |
| |
LICENSE="GPL-2" | LICENSE="GPL-2" |
SLOT="0" | SLOT="0" |
KEYWORDS="~ppc ~x86" | KEYWORDS="~ppc ~x86" |
IUSE="openal" |
IUSE="freedoom openal demo" |
| |
DEPEND="virtual/opengl | DEPEND="virtual/opengl |
virtual/glu | virtual/glu |
|
|
media-libs/sdl-mixer | media-libs/sdl-mixer |
media-libs/sdl-net | media-libs/sdl-net |
media-libs/libpng | media-libs/libpng |
|| ( x11-libs/libXext virtual/x11 ) |
freedoom? ( >=games-fps/freedoom-0.4.1-r1 ) |
openal? ( media-libs/openal )" |
demo? ( >=games-fps/doom-data-1-r1 ) |
|
openal? ( media-libs/openal ) |
|
|| ( |
|
x11-libs/libXext |
|
virtual/x11 )" |
| |
S=${WORKDIR}/deng-${PV} |
S=${WORKDIR}/deng-${MY_PV} |
| |
src_unpack() { | src_unpack() { |
unpack ${A} | unpack ${A} |
cd "${S}" | cd "${S}" |
# Fixing music driver init |
# Fix music driver init |
sed -i \ |
sed -i Src/s_mus.c \ |
-e "s/musd_loaded.Init/musd_loaded.Init \&\& musd_loaded.Init/" \ | -e "s/musd_loaded.Init/musd_loaded.Init \&\& musd_loaded.Init/" \ |
-e "s/musd_loaded.Shut/if (musd_loaded.Shutdown) musd_loaded.Shut/" \ | -e "s/musd_loaded.Shut/if (musd_loaded.Shutdown) musd_loaded.Shut/" \ |
Src/s_mus.c |
|| die "sed s_mus failed" |
} | } |
| |
src_install() { | src_install() { |
make DESTDIR="${D}" install || die "make install failed" | make DESTDIR="${D}" install || die "make install failed" |
rmdir "${D}/${GAMES_PREFIX}/include" | rmdir "${D}/${GAMES_PREFIX}/include" |
mv "${D}/${GAMES_DATADIR}/"{deng/Data/jDoom,doom-data} |
mv "${D}/${GAMES_DATADIR}/"{deng/Data/jDoom,doom-data} || die "mv failed" |
dosym "${GAMES_DATADIR}"/doom-data "${GAMES_DATADIR}"/deng/Data/jDoom | dosym "${GAMES_DATADIR}"/doom-data "${GAMES_DATADIR}"/deng/Data/jDoom |
| |
local game | local game |
for game in jdoom jheretic jhexen ; do | for game in jdoom jheretic jhexen ; do |
newgamesbin "${FILESDIR}/wrapper" ${game} | newgamesbin "${FILESDIR}/wrapper" ${game} |
sed -i \ |
sed -i "${D}"/${GAMES_BINDIR}/${game} \ |
-e "s:GAME:${game}:" "${D}"/${GAMES_BINDIR}/${game} \ |
-e "s:GAME:${game}:" \ |
|| die "sed ${GAMES_BINDIR}/${game} failed" | || die "sed ${GAMES_BINDIR}/${game} failed" |
done | done |
| |
|
# Make wrappers for the common wads |
|
for n in doom doom2 ; do |
|
games_make_wrapper ${PN}-${n} "jdoom -file ${GAMES_DATADIR}/doom-data/${n}.wad" |
|
done |
|
|
|
if use freedoom ; then |
|
# Make wrapper for the freedoom episode |
|
games_make_wrapper ${PN}-freedoom "jdoom -file ${GAMES_DATADIR}/doom-data/freedoom/*.wad" |
|
make_desktop_entry ${PN}-freedoom "Doomsday - Freedoom" |
|
fi |
|
|
|
if use demo ; then |
|
# Make wrapper for the demo episode (1st episode of Doom 1) |
|
games_make_wrapper ${PN}-demo "jdoom -file ${GAMES_DATADIR}/doom-data/doom1.wad" |
|
make_desktop_entry ${PN}-demo "Doomsday - Demo" |
|
fi |
|
|
dodoc Doc/*.txt Doc/*/*.txt README | dodoc Doc/*.txt Doc/*/*.txt README |
|
|
prepgamesdirs | prepgamesdirs |
} | } |
|
|
|
pkg_postinst() { |
|
einfo "To play the original Doom levels, place doom.wad and/or doom2.wad into:" |
|
einfo " ${GAMES_DATADIR}/doom-data" |
|
einfo "Then run doomsday-doom or doomsday-doom2 accordingly." |
|
echo |
|
einfo "doom1.wad is the shareware demo wad consisting of 1 episode, and doom.wad" |
|
einfo "is the full Doom 1 set of 3 episodes (or 4 in the Final Doom wad)." |
|
echo |
|
|
|
games_pkg_postinst |
|
} |