From 3dfb3b135b01a172693ccf4748c194d74aae163a Mon Sep 17 00:00:00 2001 From: Nicholas Fish Date: Sat, 6 Feb 2016 09:49:15 +0100 Subject: Doomsday 1.15.8 ebuild -- required changing a macro so as not to include execinfo.h, which is not part of musl --- games-fps/doomsday/Manifest | 8 + games-fps/doomsday/doomsday-1.15.8.ebuild | 185 +++++++++++++++++++++ .../doomsday-1.15.7-disinclude-execinfo.patch | 11 ++ games-fps/doomsday/files/wrapper | 6 + games-fps/doomsday/metadata.xml | 22 +++ 5 files changed, 232 insertions(+) create mode 100644 games-fps/doomsday/Manifest create mode 100644 games-fps/doomsday/doomsday-1.15.8.ebuild create mode 100644 games-fps/doomsday/files/doomsday-1.15.7-disinclude-execinfo.patch create mode 100644 games-fps/doomsday/files/wrapper create mode 100644 games-fps/doomsday/metadata.xml (limited to 'games-fps') 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 [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 + /** + * @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 @@ + + + + + games@gentoo.org + Gentoo Games Project + + + Install launcher dor doom1.wad from games-fps/doom-data + Install launcher for jdoom game + Build the FluidSynth sound driver + Install launcher for doom1.wad from games-fps/freefoom + Install launcher for jheretic game + Install launcher for jhexen game + Enable support for games-fps/doomsday-resources in jdoom launcher + Install Snowberry doomsday front-end + Build additional tools such as doomsday-shell, md2tool and texc + + + deng + + -- cgit v1.2.3-65-gdbad