diff --git a/games-fps/doomsday/Manifest b/games-fps/doomsday/Manifest index 3d795265dc2aa..e31f819a74066 100644 --- a/games-fps/doomsday/Manifest +++ b/games-fps/doomsday/Manifest @@ -1,2 +1,3 @@ DIST doomsday-1.14.5.tar.gz 14081857 SHA256 019cd0cf89e69d80cd8f6fbbd3e3fd57b8ae4d0bcdf4285e8a71caad9f46417e SHA512 f8ecf7d213ab57081858226ab4078fcf8f250271be19a3ce5883c01e53c43b5c0e7afc16085703fe19c0cbccb795c7fd1b651e3efb8a8e854160131c6374cd9a WHIRLPOOL 2351129c6dba951ca4975e6f6e92d78c75ad3e8f9648e9129a9f5a3a22c295b25c4fdb87d5208b2d3fe9c0af94c4ff968730929fbc645da9171018a672cfc60e DIST doomsday-stable-1.15.7.tar.gz 52055761 SHA256 9d833e458e72df7723b7a1b209cc53dc868d070ce7912a53c8c7887b1df933f3 SHA512 8b0ea09a46d88dd7bb8213878401d0eccca960ac08da1b77fb359f92b9a519b3e474007c5e0a42dd44684e909be529710be52b8fabbf62975536a99385fc4d66 WHIRLPOOL 78d40bb932072e2f3380f0a64f807d251ea64efe8e5eca0c7a3360b43be51988ea2b06264a7f7bd1c89e15c4d330dcba4a0c57b612f399a0e15c2c4567d14601 +DIST doomsday-stable-1.15.8.tar.gz 52054238 SHA256 4c7b1dfdb7f0a44257f47322fe58fd1befba8dac10f44594e1be5dac582f43bf SHA512 6d1b86c6e364cbd043b0714eb351113c8bbaf98daddde1bf615fe663c15a763e26d3e478d1adeb6d8a75ed4c89a5a19f3a891e12ea5937ff2fc54b84118f642c WHIRLPOOL 0f660a430c4b036c92d02f5f84be16fb658b4963bcd694ca2cc92476218afcea367c7ff9d159b9cb63d753d5d10b443dbfdc0684c2c28ce78217d92764f7bdb5 diff --git a/games-fps/doomsday/doomsday-1.15.8.ebuild b/games-fps/doomsday/doomsday-1.15.8.ebuild new file mode 100644 index 0000000000000..ca0cd1181e483 --- /dev/null +++ b/games-fps/doomsday/doomsday-1.15.8.ebuild @@ -0,0 +1,183 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# TODO: fmod support broken (deng_fmod) + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +inherit python-r1 eutils qmake-utils games + +DESCRIPTION="A modern gaming engine for Doom, Heretic, and Hexen" +HOMEPAGE="http://www.dengine.net/" +SRC_URI="mirror://sourceforge/deng/Doomsday%20Engine/${PV}/${PN}-stable-${PV}.tar.gz" + +LICENSE="GPL-3+ LGPL-3+" +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/qtnetwork:5 + dev-qt/qtopengl:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + dev-qt/qtgui:5 + dev-qt/qtcore:5 + net-misc/curl + sys-libs/zlib + media-libs/assimp + !dedicated? ( + media-libs/libsdl2[joystick,sound] + media-libs/sdl2-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:0 )" +RDEPEND="${DEPEND} + !dedicated? ( + snowberry? ( + ${PYTHON_DEPS} + dev-lang/python-exec:2[${PYTHON_USEDEP}] + dev-python/wxpython[${PYTHON_USEDEP}] + ) + )" +DEPEND="${DEPEND} + ${PYTHON_DEPS} + virtual/pkgconfig" +PDEPEND=" + !dedicated? ( + demo? ( games-fps/doom-data ) + freedoom? ( games-fps/freedoom ) + resources? ( games-fps/doomsday-resources ) + )" + +S=${WORKDIR}/${PN}-stable-${PV}/${PN} + +pkg_setup() { + games_pkg_setup + python_setup +} + +src_prepare() { + sed -i \ + -e '/readme.path/s#$$PREFIX#/usr#' \ + client/client.pro server/server.pro || die + + sed -i \ + -e "/DENG_BASE_DIR =/s:\$\$PREFIX/share:${GAMES_DATADIR}:" \ + config_unix.pri || die + + { + echo "CONFIG += nostrip" + echo "PREFIX=${GAMES_PREFIX}" + + if use dedicated ; then + echo "CONFIG += deng_noclient" + echo "CONFIG += deng_nosnowberry" + else + echo "CONFIG += deng_$(usex snowberry '' no)snowberry" + fi + + use fluidsynth && echo "CONFIG += deng_fluidsynth" + + use tools || echo "CONFIG += deng_notools" + + use openal && echo "CONFIG += deng_openal" + true + + } > config_user.pri || die +} + +#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() { + eqmake5 doomsday.pro +} + +src_install() { + emake INSTALL_ROOT="${D}" install + dodoc "${S}"/../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%/}$(python_get_scriptdir)"/launch-doomsday || 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 +}