aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Fish <gentoo@seaofdirac.net>2016-02-06 09:49:15 +0100
committerNicholas Fish <gentoo@seaofdirac.net>2016-02-06 09:49:15 +0100
commit3dfb3b135b01a172693ccf4748c194d74aae163a (patch)
tree8c31a2156aa608ecc37faab99526aede57e0ee2b /games-fps
parentWorking Firefox-44 ebuild (diff)
downloadennui-3dfb3b135b01a172693ccf4748c194d74aae163a.tar.gz
ennui-3dfb3b135b01a172693ccf4748c194d74aae163a.tar.bz2
ennui-3dfb3b135b01a172693ccf4748c194d74aae163a.zip
Doomsday 1.15.8 ebuild -- required changing a macro so as not to include execinfo.h, which is not part of musl
Diffstat (limited to 'games-fps')
-rw-r--r--games-fps/doomsday/Manifest8
-rw-r--r--games-fps/doomsday/doomsday-1.15.8.ebuild185
-rw-r--r--games-fps/doomsday/files/doomsday-1.15.7-disinclude-execinfo.patch11
-rw-r--r--games-fps/doomsday/files/wrapper6
-rw-r--r--games-fps/doomsday/metadata.xml22
5 files changed, 232 insertions, 0 deletions
diff --git a/games-fps/doomsday/Manifest b/games-fps/doomsday/Manifest
new file mode 100644
index 0000000..c299f60
--- /dev/null
+++ b/games-fps/doomsday/Manifest
@@ -0,0 +1,8 @@
+AUX doomsday-1.15.7-disinclude-execinfo.patch 294 SHA256 aed6ea5ba652adc5094f9b3c6f78a11bcb8042a2544c8443343348a29337c9a9 SHA512 9244b7060ee27004eaa5638bb0bc7f3e355ace92d1a2d6b60f459ca107ceee2382543a40d3616382815c635cb9a3b30856a03078017792e872894071028cfdd5 WHIRLPOOL 33e41323b782436162c0d13ea651ff99ddafa9193127c344491ed2079b89311fd5ee703107f58ba8cf0470d1e39633d636886fafdc47913a23d3ccc80a9cbb14
+AUX doomsday-1.9.8-2to3.patch 12480 SHA256 e9439d7d1c2482e73c623ac45271d627928a08419002c13e5e45d37de6008149 SHA512 76254c73caffac1a840f14f3572215af4ae86f03867e08761b8dc9d301562841f7cdee8aab54512c211dc41ce98b233d37c4ee641f71b87e231ccfdd5fd3354a WHIRLPOOL a17ad494f3ee56b2e6afa23f4cf173a27c57c076bb9acdf769c147ede29b6f7baa5ec11b1159965a677f83742d6e160a4e9005da4926b0c2e5337d76e44a89aa
+AUX doomsday-1.9.8-openal-64bit-fix.patch 1189 SHA256 1ed4cf8085a8867cc3df1ca46c3bb25fdee00fbba0f3fb9d4ac47aa76832adc7 SHA512 d7515ba91fe94e035feb5352de084435a379b80543108525bb6f839a85dbeadf21df053f317d965ff54f7602ce8ac5c67dd3ab9b8c7a33cd9a8b602cf5ef8908 WHIRLPOOL fb980b1cb395f943122656c0582e2e9480ff8d62bb0a7fcdd87c8d96f6c1f055032c5e8343d0820a7cf67288be66d3393d26aa3c829b3a2a8d96d4a0701572ce
+AUX doomsday-1.9.8-openal-link.patch 4100 SHA256 61b75a8c3bc299dcbf23c887ea3f5799c12f80e94bdb0924d58e02e222563d5a SHA512 cf9f027bd28ce5870a0bf460730a11bec1a68962efc9158261649bbd486358d7057495b59920fe57b1590c40598ccd0937e5be57744ba694a95de136085cc7d2 WHIRLPOOL 80d0517349108e98452e5da1fd1dfe8e2b14f0ffb19aa21db8ef0806a7d5ea3941b02c8f97851092ff4f72a93785cc911f8f685c20265251325a50063675cfe7
+AUX wrapper 136 SHA256 64b959cfeb77bd778f16768c0ee509cd128eb855fa4acd8e7c37046c5885dbc8 SHA512 ec3fe44a7c07a835167780924423256d202450666cfa82f97269561794f28194e9f331c4581dfe7f810581c4adcc31c5ee11fba83441f8771885e40420c53049 WHIRLPOOL b4a6fd7c4d531eef4defbdf215a9c4318d3eff7f5e85dd77c5a4aa83f6fe709bfc09e99cac7d8c2901e18475c090e96f56e9010e659214cb2ece70b743603cc0
+DIST doomsday-stable-1.15.8.tar.gz 52054238 SHA256 4c7b1dfdb7f0a44257f47322fe58fd1befba8dac10f44594e1be5dac582f43bf SHA512 6d1b86c6e364cbd043b0714eb351113c8bbaf98daddde1bf615fe663c15a763e26d3e478d1adeb6d8a75ed4c89a5a19f3a891e12ea5937ff2fc54b84118f642c WHIRLPOOL 0f660a430c4b036c92d02f5f84be16fb658b4963bcd694ca2cc92476218afcea367c7ff9d159b9cb63d753d5d10b443dbfdc0684c2c28ce78217d92764f7bdb5
+EBUILD doomsday-1.15.8.ebuild 4925 SHA256 d8e0cc3be65c9c1297d6a48b6fe272533b40f87dded5e9ef946310f30fdf4ba8 SHA512 3dd092657a0a61c4721d6204792c07f4029d619e35d1a010308fe03ff7c27bea10ca016dfc475b3af6a9590edcab56dc012a82fd463a114198bf09a8752929ae WHIRLPOOL cca2b0a9a47150b333fb428a07af496b90b9e543d911ca32a5264575bee49e2bd4d4fda5a3d108be5c922eec0cab920b534f578f891552190979ffb54f7c8251
+MISC metadata.xml 1055 SHA256 a8c2d0c6212ebcd6dd523c0f8dea35ce98547a3f331f5bbb49ab4e22cafe0040 SHA512 199ffb9fb558df4c84221ffdd969cb65fbf1141abf21c97f27c6a854068d49b7ac996e1fc7aade2dce5bb4fdeec0b99fd948bac90bc701206e31bcd2e14e12d7 WHIRLPOOL 89a7a9b58549ff66d2f996429ac4b1bdd1ecca58d23ef9559bd5e6c5e2883a3c353c6bffa653a8eda0b8ebc4657a0dc19282cae27e6651aeef63c00d7b5c21a9
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 0000000..a408e2e
--- /dev/null
+++ b/games-fps/doomsday/doomsday-1.15.8.ebuild
@@ -0,0 +1,185 @@
+# 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 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
+
+ epatch "${FILESDIR}"/${PN}-1.15.7-disinclude-execinfo.patch
+}
+
+#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() {
+ 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
+}
diff --git a/games-fps/doomsday/files/doomsday-1.15.7-disinclude-execinfo.patch b/games-fps/doomsday/files/doomsday-1.15.7-disinclude-execinfo.patch
new file mode 100644
index 0000000..60dc087
--- /dev/null
+++ b/games-fps/doomsday/files/doomsday-1.15.7-disinclude-execinfo.patch
@@ -0,0 +1,11 @@
+--- libcore/include/de/libcore.h.orig 2016-02-06 08:14:12.259242092 +0100
++++ libcore/include/de/libcore.h 2016-02-06 08:15:10.415240044 +0100
+@@ -154,7 +154,7 @@
+ #endif
+
+ #ifdef DENG2_USE_QT
+-# ifdef UNIX
++# ifdef __GLIBC__
+ # include <execinfo.h>
+ /**
+ * @macro DENG2_PRINT_BACKTRACE
diff --git a/games-fps/doomsday/files/wrapper b/games-fps/doomsday/files/wrapper
new file mode 100644
index 0000000..52eb0c8
--- /dev/null
+++ b/games-fps/doomsday/files/wrapper
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+userdir="${HOME}/.doomsday/GAME"
+mkdir -p "${userdir}"
+cd "${userdir}"
+exec doomsday -game GAME -userdir "${userdir}" "$@"
diff --git a/games-fps/doomsday/metadata.xml b/games-fps/doomsday/metadata.xml
new file mode 100644
index 0000000..aed055a
--- /dev/null
+++ b/games-fps/doomsday/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="demo">Install launcher dor doom1.wad from <pkg>games-fps/doom-data</pkg></flag>
+ <flag name="doom">Install launcher for jdoom game</flag>
+ <flag name="fluidsynth">Build the FluidSynth sound driver</flag>
+ <flag name="freedoom">Install launcher for doom1.wad from <pkg>games-fps/freefoom</pkg></flag>
+ <flag name="heretic">Install launcher for jheretic game</flag>
+ <flag name="hexen">Install launcher for jhexen game</flag>
+ <flag name="resources">Enable support for <pkg>games-fps/doomsday-resources</pkg> in jdoom launcher</flag>
+ <flag name="snowberry">Install Snowberry doomsday front-end</flag>
+ <flag name="tools">Build additional tools such as doomsday-shell, md2tool and texc</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">deng</remote-id>
+ </upstream>
+</pkgmetadata>