# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/games-fps/doomsday/doomsday-1.10.2.ebuild,v 1.7 2013/10/30 19:24:05 mgorny Exp $ # TODO: fmod support broken (deng_fmod) EAPI=5 PYTHON_COMPAT=( python2_6 python2_7 ) inherit python-r1 confutils eutils qt4-r2 games DESCRIPTION="A modern gaming engine for Doom, Heretic, and Hexen" HOMEPAGE="http://www.dengine.net/" SRC_URI="mirror://sourceforge/deng/Doomsday%20Engine/${PV}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="dedicated fluidsynth openal snowberry +doom demo freedoom heretic hexen resources tools" # we need python at build time, so # snowberry? ( ${PYTHON_REQUIRED_USE} ) # could break the build REQUIRED_USE="${PYTHON_REQUIRED_USE} demo? ( doom ) freedoom? ( doom ) resources? ( doom )" DEPEND=" dev-qt/qtcore:4 dev-qt/qtopengl:4 dev-qt/qtgui:4 net-misc/curl sys-libs/zlib !dedicated? ( media-libs/libsdl[joystick,audio] media-libs/sdl-mixer media-libs/libpng:0 virtual/opengl virtual/glu x11-libs/libX11 x11-libs/libXrandr x11-libs/libXxf86vm ) fluidsynth? ( media-sound/fluidsynth ) openal? ( media-libs/openal ) tools? ( sys-libs/ncurses )" RDEPEND="${DEPEND} !dedicated? ( snowberry? ( ${PYTHON_DEPS} dev-lang/python-exec:0[${PYTHON_USEDEP}] dev-python/wxpython[${PYTHON_USEDEP}] ) )" DEPEND="${DEPEND} ${PYTHON_DEPS}" PDEPEND=" !dedicated? ( demo? ( games-fps/doom-data ) freedoom? ( games-fps/freedoom ) resources? ( games-fps/doomsday-resources ) )" S=${S}/${PN} # disable python-exec:2 support, bug #484424 _PYTHON_WANT_PYTHON_EXEC2=0 pkg_setup() { games_pkg_setup python_export_best } src_prepare() { sed -i \ -e '/readme.path/s#$$PREFIX#/usr#' \ client/client.pro || die "fixing docdir failed!" sed -i \ -e "/^DENG_BASE_DIR =/s:\$\$PREFIX/share:${GAMES_DATADIR}:" \ config_unix.pri || die echo "CONFIG += nostrip" > config_user.pri echo "PREFIX=/usr/games" >> config_user.pri if use dedicated ; then echo "CONFIG += deng_noclient" >> config_user.pri echo "CONFIG += deng_nosnowberry" >> config_user.pri else use snowberry && echo "CONFIG += deng_snowberry" >> config_user.pri || \ echo "CONFIG += deng_nosnowberry" >> config_user.pri fi use fluidsynth && echo "CONFIG += deng_fluidsynth" >> config_user.pri use tools || echo "CONFIG += deng_notools" >> config_user.pri if use openal; then echo "CONFIG += deng_openal" >> config_user.pri sed -i \ -e 's:\# Generic Unix.:LIBS += -lopenal:' \ dep_openal.pri || die epatch "${FILESDIR}"/${P}-openal-link.patch fi qt4-r2_src_prepare } #Usage: doom_make_wrapper [args] doom_make_wrapper() { local name=$1 game=$2 icon=$3 de_title=$4 shift 4 games_make_wrapper $name \ "doomsday -game ${game} $@" make_desktop_entry $name "${de_title}" ${icon} } src_configure() { qt4-r2_src_configure } src_install() { qt4-r2_src_install dodoc "${WORKDIR}"/${P}/README.md mv "${D}/${GAMES_DATADIR}"/{${PN}/data/jdoom,doom-data} || die dosym "${GAMES_DATADIR}"/doom-data "${GAMES_DATADIR}"/${PN}/data/jdoom if use !dedicated ; then if use snowberry ; then python_replicate_script "${D}"/"${GAMES_BINDIR}"/launch-doomsday installmodules() { # relocate snowberry module directory recursively into site-packages python_domodule "${D}/${GAMES_DATADIR}"/${PN}/snowberry # hack around improper path handling sed -i \ -e "s:os.chdir.*$:os.chdir('$(python_get_sitedir)/snowberry'):" \ "${D}"/"${GAMES_BINDIR}"/launch-doomsday-${EPYTHON} || die } python_foreach_impl installmodules # remove old module dir rm -r "${D}/${GAMES_DATADIR}"/${PN}/snowberry || die make_desktop_entry launch-doomsday "Snowberry DoomsDay" snowberry doicon ../snowberry/graphics/snowberry.png fi if use doom; then local res_arg if use resources; then res_arg="-def \"${GAMES_DATADIR}\"/${PN}/defs/jdoom/jDRP.ded" fi doicon ../snowberry/graphics/orb-doom.png doom_make_wrapper jdoom doom1 orb-doom "DoomsDay Engine: Doom 1" "${res_arg}" elog "Created jdoom launcher. To play Doom place your doom.wad to" elog "\"${GAMES_DATADIR}\"/doom-data" elog if use demo; then doom_make_wrapper jdoom-demo doom1-share orb-doom "DoomsDay Engine: Doom 1 Demo" \ "-iwad \"${GAMES_DATADIR}\"/doom-data/doom1.wad ${res_arg}" fi if use freedoom; then doom_make_wrapper jdoom-freedoom doom1-share orb-doom "DoomsDay Engine: FreeDoom" \ "-iwad \"${GAMES_DATADIR}\"/doom-data/freedoom/doom1.wad" fi fi if use hexen; then doicon ../snowberry/graphics/orb-hexen.png doom_make_wrapper jhexen hexen orb-hexen "DoomsDay Engine: Hexen" elog "Created jhexen launcher. To play Hexen place your hexen.wad to" elog "\"${GAMES_DATADIR}\"/${PN}/data/jhexen" elog fi if use heretic; then doicon ../snowberry/graphics/orb-heretic.png doom_make_wrapper jheretic heretic orb-heretic "DoomsDay Engine: Heretic" elog "Created jheretic launcher. To play Heretic place your heretic.wad to" elog "\"${GAMES_DATADIR}\"/${PN}/data/jheretic" elog fi fi prepgamesdirs }