diff options
author | Julian Ospald <hasufell@gentoo.org> | 2013-07-17 15:08:40 +0000 |
---|---|---|
committer | Julian Ospald <hasufell@gentoo.org> | 2013-07-17 15:08:40 +0000 |
commit | 521d743f7c8fbe2e57e52f873ec08aeabe94c5d7 (patch) | |
tree | 3289b76110fdc848ce7cc281e2274d742fead290 /games-fps | |
parent | Version bump. (diff) | |
download | gentoo-2-521d743f7c8fbe2e57e52f873ec08aeabe94c5d7.tar.gz gentoo-2-521d743f7c8fbe2e57e52f873ec08aeabe94c5d7.tar.bz2 gentoo-2-521d743f7c8fbe2e57e52f873ec08aeabe94c5d7.zip |
version bump wrt #465432
(Portage version: 2.2.0_alpha188/cvs/Linux x86_64, signed Manifest commit with key E73C35B3)
Diffstat (limited to 'games-fps')
-rw-r--r-- | games-fps/doomsday/ChangeLog | 8 | ||||
-rw-r--r-- | games-fps/doomsday/doomsday-1.10.2.ebuild | 171 | ||||
-rw-r--r-- | games-fps/doomsday/files/doomsday-1.10.2-openal-link.patch | 158 | ||||
-rw-r--r-- | games-fps/doomsday/metadata.xml | 6 |
4 files changed, 340 insertions, 3 deletions
diff --git a/games-fps/doomsday/ChangeLog b/games-fps/doomsday/ChangeLog index 82b487543060..89d54d6b5126 100644 --- a/games-fps/doomsday/ChangeLog +++ b/games-fps/doomsday/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for games-fps/doomsday # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/games-fps/doomsday/ChangeLog,v 1.51 2013/03/02 21:15:56 hwoarang Exp $ +# $Header: /var/cvsroot/gentoo-x86/games-fps/doomsday/ChangeLog,v 1.52 2013/07/17 15:08:40 hasufell Exp $ + +*doomsday-1.10.2 (17 Jul 2013) + + 17 Jul 2013; Julian Ospald <hasufell@gentoo.org> +doomsday-1.10.2.ebuild, + +files/doomsday-1.10.2-openal-link.patch: + version bump wrt #465432 02 Mar 2013; Markos Chandras <hwoarang@gentoo.org> doomsday-1.9.8-r1.ebuild, doomsday-1.9.8.ebuild: diff --git a/games-fps/doomsday/doomsday-1.10.2.ebuild b/games-fps/doomsday/doomsday-1.10.2.ebuild new file mode 100644 index 000000000000..704593984cdb --- /dev/null +++ b/games-fps/doomsday/doomsday-1.10.2.ebuild @@ -0,0 +1,171 @@ +# 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.1 2013/07/17 15:08:40 hasufell Exp $ + +# TODO: fmod support broken (deng_fmod) + +EAPI=5 + +PYTHON_COMPAT=( python2_5 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" +REQUIRED_USE="snowberry? ( ${PYTHON_REQUIRED_USE} !dedicated ) + demo? ( doom ) freedoom? ( doom ) resources? ( doom ) + doom? ( !dedicated )" + +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 ) + snowberry? ( ${PYTHON_DEPS} ) + tools? ( sys-libs/ncurses )" +RDEPEND="${DEPEND} + snowberry? ( dev-python/wxpython )" +PDEPEND=" + demo? ( games-fps/doom-data ) + freedoom? ( games-fps/freedoom ) + resources? ( games-fps/doomsday-resources )" + +S=${S}/${PN} + +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 + use snowberry && + echo "CONFIG += deng_snowberry" >> config_user.pri || \ + echo "CONFIG += deng_nosnowberry" >> config_user.pri + + use fluidsynth && + echo "CONFIG += deng_fluidsynth" >> config_user.pri + + use tools || + echo "CONFIG += deng_notools" >> config_user.pri + + use dedicated && + echo "CONFIG += deng_noclient" >> 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 <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() { + 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 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 + + prepgamesdirs +} diff --git a/games-fps/doomsday/files/doomsday-1.10.2-openal-link.patch b/games-fps/doomsday/files/doomsday-1.10.2-openal-link.patch new file mode 100644 index 000000000000..c59c48ac7aef --- /dev/null +++ b/games-fps/doomsday/files/doomsday-1.10.2-openal-link.patch @@ -0,0 +1,158 @@ +--- doomsday/plugins/openal/src/driver_openal.cpp 2012-05-15 06:01:38.000000000 +0200 ++++ doomsday/plugins/openal/src/driver_openal.cpp 2012-05-29 07:37:21.170639342 +0200 +@@ -66,6 +66,7 @@ ALenum(*EAXGet) (const struct _GUID* pro + ALenum(*EAXSet) (const struct _GUID* propertySetID, ALuint prop, ALuint source, ALvoid* value, ALuint size); + #endif + ++extern "C" { + int DS_Init(void); + void DS_Shutdown(void); + void DS_Event(int type); +@@ -83,6 +84,7 @@ void DS_SFX_Setv(sfxbuffer_t* buf, int p + void DS_SFX_Listener(int prop, float value); + void DS_SFX_Listenerv(int prop, float* values); + int DS_SFX_Getv(int prop, void* values); ++} + + #ifdef WIN32 + // EAX 2.0 GUIDs +@@ -134,14 +136,14 @@ static void loadExtensions(void) + #endif + } + +-int DS_Init(void) ++extern "C" int DS_Init(void) + { + // Already initialized? + if(initOk) return true; + + // Open a playback device. + /// @todo Shouldn't we use the system default device? +- device = alcOpenDevice((ALCchar*) "DirectSound3D"); ++ device = alcOpenDevice((ALCchar*) NULL); + if(!device) + { + Con_Message("OpenAL init failed (device: DirectSound3D).\n"); +@@ -167,7 +169,7 @@ int DS_Init(void) + return true; + } + +-void DS_Shutdown(void) ++extern "C" void DS_Shutdown(void) + { + if(!initOk) return; + +@@ -185,12 +187,12 @@ void DS_Event(int /*type*/) + // Not supported. + } + +-int DS_SFX_Init(void) ++extern "C" int DS_SFX_Init(void) + { + return true; + } + +-sfxbuffer_t* DS_SFX_CreateBuffer(int flags, int bits, int rate) ++extern "C" sfxbuffer_t* DS_SFX_CreateBuffer(int flags, int bits, int rate) + { + sfxbuffer_t* buf; + ALuint bufName, srcName; +@@ -236,7 +238,7 @@ sfxbuffer_t* DS_SFX_CreateBuffer(int fla + return buf; + } + +-void DS_SFX_DestroyBuffer(sfxbuffer_t* buf) ++extern "C" void DS_SFX_DestroyBuffer(sfxbuffer_t* buf) + { + ALuint srcName, bufName; + +@@ -251,7 +253,7 @@ void DS_SFX_DestroyBuffer(sfxbuffer_t* b + Z_Free(buf); + } + +-void DS_SFX_Load(sfxbuffer_t* buf, struct sfxsample_s* sample) ++extern "C" void DS_SFX_Load(sfxbuffer_t* buf, struct sfxsample_s* sample) + { + if(!buf || !sample) return; + +@@ -277,7 +279,7 @@ void DS_SFX_Load(sfxbuffer_t* buf, struc + /** + * Stops the buffer and makes it forget about its sample. + */ +-void DS_SFX_Reset(sfxbuffer_t* buf) ++extern "C" void DS_SFX_Reset(sfxbuffer_t* buf) + { + if(!buf) return; + +@@ -285,7 +287,7 @@ void DS_SFX_Reset(sfxbuffer_t* buf) + buf->sample = NULL; + } + +-void DS_SFX_Play(sfxbuffer_t* buf) ++extern "C" void DS_SFX_Play(sfxbuffer_t* buf) + { + ALuint source; + +@@ -310,7 +312,7 @@ void DS_SFX_Play(sfxbuffer_t* buf) + buf->flags |= SFXBF_PLAYING; + } + +-void DS_SFX_Stop(sfxbuffer_t* buf) ++extern "C" void DS_SFX_Stop(sfxbuffer_t* buf) + { + if(!buf || !buf->sample) return; + +@@ -318,7 +320,7 @@ void DS_SFX_Stop(sfxbuffer_t* buf) + buf->flags &= ~SFXBF_PLAYING; + } + +-void DS_SFX_Refresh(sfxbuffer_t* buf) ++extern "C" void DS_SFX_Refresh(sfxbuffer_t* buf) + { + ALint state; + +@@ -368,7 +370,7 @@ static void setPan(ALuint source, float + alSourcefv(source, AL_POSITION, pos); + } + +-void DS_SFX_Set(sfxbuffer_t* buf, int prop, float value) ++extern "C" void DS_SFX_Set(sfxbuffer_t* buf, int prop, float value) + { + ALuint source; + +@@ -411,7 +413,7 @@ void DS_SFX_Set(sfxbuffer_t* buf, int pr + } + } + +-void DS_SFX_Setv(sfxbuffer_t* buf, int prop, float* values) ++extern "C" void DS_SFX_Setv(sfxbuffer_t* buf, int prop, float* values) + { + ALuint source; + +@@ -435,7 +437,7 @@ void DS_SFX_Setv(sfxbuffer_t* buf, int p + } + } + +-void DS_SFX_Listener(int prop, float value) ++extern "C" void DS_SFX_Listener(int prop, float value) + { + switch(prop) + { +@@ -451,7 +453,7 @@ void DS_SFX_Listener(int prop, float val + } + } + +-void DS_SFX_Listenerv(int prop, float* values) ++extern "C" void DS_SFX_Listenerv(int prop, float* values) + { + float ori[6]; + +@@ -489,7 +491,7 @@ void DS_SFX_Listenerv(int prop, float* v + } + } + +-int DS_SFX_Getv(int /*prop*/, void* /*values*/) ++extern "C" int DS_SFX_Getv(int /*prop*/, void* /*values*/) + { + // Stub. + return 0; diff --git a/games-fps/doomsday/metadata.xml b/games-fps/doomsday/metadata.xml index 1bb8e628bcb1..1a220b18ce09 100644 --- a/games-fps/doomsday/metadata.xml +++ b/games-fps/doomsday/metadata.xml @@ -3,12 +3,14 @@ <pkgmetadata> <herd>games</herd> <use> - <flag name="snowberry">Install Snowberry doomsday front-end</flag> - <flag name="doom">Install launcher for jdoom game</flag> <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> </pkgmetadata> |