games-fps/doomsday: version bump (bug #559676)
authorMichael Sterrett <mr_bones_@gentoo.org>
Wed, 13 Jan 2016 06:25:17 +0000 (01:25 -0500)
committerMichael Sterrett <mr_bones_@gentoo.org>
Wed, 13 Jan 2016 06:29:36 +0000 (01:29 -0500)
Package-Manager: portage-2.2.26

games-fps/doomsday/Manifest
games-fps/doomsday/doomsday-1.15.7.ebuild [new file with mode: 0644]

index 1b4911213588e836e82b7c00512c8fc13bc8106b..3d795265dc2aac1698fe3bab72f0b4293f3047e7 100644 (file)
@@ -1 +1,2 @@
 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
diff --git a/games-fps/doomsday/doomsday-1.15.7.ebuild b/games-fps/doomsday/doomsday-1.15.7.ebuild
new file mode 100644 (file)
index 0000000..b453730
--- /dev/null
@@ -0,0 +1,183 @@
+# Copyright 1999-2015 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 qt5-build 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/qtcore:5
+       dev-qt/qtopengl:5
+       dev-qt/qtx11extras:5
+       dev-qt/qtgui: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"
+
+       } > config_user.pri || die
+
+       qt5-build_src_prepare
+}
+
+#Usage: doom_make_wrapper <name> <game> <icon> <desktop entry title> [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() {
+       qt5-build_src_configure
+}
+
+src_install() {
+       qt5-build_src_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
+}