games-action/transcend: apply patch from debian in order to get sound working. (bug...
authorMichael Sterrett <mr_bones_@gentoo.org>
Wed, 27 Apr 2016 03:05:38 +0000 (23:05 -0400)
committerMichael Sterrett <mr_bones_@gentoo.org>
Wed, 27 Apr 2016 03:06:11 +0000 (23:06 -0400)
Package-Manager: portage-2.2.26

games-action/transcend/files/transcend-0.3-sound.patch [new file with mode: 0644]
games-action/transcend/transcend-0.3.ebuild

diff --git a/games-action/transcend/files/transcend-0.3-sound.patch b/games-action/transcend/files/transcend-0.3-sound.patch
new file mode 100644 (file)
index 0000000..44ac10f
--- /dev/null
@@ -0,0 +1,89 @@
+Author: Barry deFreese <bdefreese@debian.org>
+Description: Build with portaudio19.
+--- a/Transcend/game/SoundPlayer.h
++++ b/Transcend/game/SoundPlayer.h
+@@ -204,7 +204,7 @@
+         double mMusicLoudness;
+         
+         
+-        PortAudioStream *mAudioStream;
++        PaStream *mAudioStream;
+         // realtime sounds that should be mixed into the next to-speaker call
+         SimpleVector<PlayableSound *> *mRealtimeSounds;
+--- a/Transcend/game/SoundPlayer.cpp
++++ b/Transcend/game/SoundPlayer.cpp
+@@ -47,9 +47,11 @@
+ // callback passed into portaudio
+-static int portaudioCallback( void *inputBuffer, void *outputBuffer,
++int portaudioCallback( const void *inputBuffer, void *outputBuffer,
+                               unsigned long framesPerBuffer,
+-                              PaTimestamp outTime, void *userData ) {
++                              const PaStreamCallbackTimeInfo *outTime,
++                              PaStreamCallbackFlags statusFlags,
++                              void *userData ) {
+     SoundPlayer *player = (SoundPlayer *)userData;
+@@ -147,21 +149,13 @@
+     if( error == paNoError ) {
+     
+-        error = Pa_OpenStream(
++        error = Pa_OpenDefaultStream(
+             &mAudioStream,
+-            paNoDevice,// default input device 
+             0,              // no input 
+-            paFloat32,  // 32 bit floating point input 
+-            NULL,
+-            Pa_GetDefaultOutputDeviceID(),
+             2,          // stereo output 
+             paFloat32,      // 32 bit floating point output 
+-            NULL,
+             mSampleRate,
+             1024,   // frames per buffer
+-            0,    // number of buffers, if zero then use default minimum 
+-            paClipOff, // we won't output out of range samples so
+-                       // don't bother clipping them 
+             portaudioCallback,
+             (void *)this );  // pass self-pointer to callback function
+         
+Description: Link to dynamic portaudio instead of static.
+Author: Miriam Ruiz <miriam@debian.org>
+--- a/Transcend/Makefile.GnuLinuxX86
++++ b/Transcend/Makefile.GnuLinuxX86
+@@ -22,7 +22,7 @@
+ # pthread library needed for linux
+ # also need portaudio library (which in turn needs pthreads)
+-PLATFORM_LINK_FLAGS = -L/usr/X11R6/lib -lGL -lglut -lGLU -lX11 -lXi -lXext -lXmu ${ROOT_PATH}/Transcend/portaudio/lib/libportaudio.a -lpthread
++PLATFORM_LINK_FLAGS = -L/usr/X11R6/lib -lGL -lglut -lGLU -lX11 -lXi -lXext -lXmu $(shell pkg-config portaudio-2.0 --libs)
+ # All platforms but OSX support g++ and need no linker hacks
+--- a/Transcend/game/SoundPlayer.h
++++ b/Transcend/game/SoundPlayer.h
+@@ -46,8 +46,7 @@
+ #include "SoundFilter.h"
+ #include "PlayableSound.h"
+-#include "Transcend/portaudio/pa_common/portaudio.h"
+-#include "Transcend/portaudio/pablio/pablio.h"
++#include <portaudio.h>
+ #include "minorGems/util/SimpleVector.h"
+--- a/Transcend/game/SoundPlayerActive.h
++++ b/Transcend/game/SoundPlayerActive.h
+@@ -16,8 +16,7 @@
+ #include "SoundSamples.h"
+-#include "Transcend/portaudio/pa_common/portaudio.h"
+-#include "Transcend/portaudio/pablio/pablio.h"
++#include <portaudio.h>
+ #include "minorGems/util/SimpleVector.h"
index 826b88f049743eadf25df2e6f2af05a50683ba0d..e674d91663937e5c08aa4db7ff836e0dd53f9f7e 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
 EAPI=5
-inherit games
+inherit eutils games
 
 DESCRIPTION="retro-style, abstract, 2D shooter"
 HOMEPAGE="http://transcend.sourceforge.net/"
@@ -18,15 +18,16 @@ DEPEND="x11-libs/libXmu
        x11-libs/libXi
        virtual/opengl
        virtual/glu
+       media-libs/portaudio
        media-libs/freeglut"
 RDEPEND=${DEPEND}
 
 S=${WORKDIR}/Transcend_${PV}_UnixSource/Transcend
 
 src_prepare() {
-       chmod a+x portaudio/configure
-       mkdir portaudio/{lib,bin}
-       rm -f game/Makefile
+       # apply patch from debian in order to get sound working. bug #372413
+       epatch "${FILESDIR}"/${P}-sound.patch
+       rm -rf game/Makefile portaudio/ || die
        sed \
                -e '/^GXX=/d' \
                -e 's/GXX/CXX/' \
@@ -44,21 +45,17 @@ src_prepare() {
                game/game.cpp || die
 }
 
-src_configure() {
-       cd portaudio
-       egamesconf
-}
+src_configure() { :; }
 
 src_compile() {
-       emake -C portaudio lib/libportaudio.a
        emake -C game
-       cp game/Transcend ${PN} || die
 }
 
 src_install() {
-       dogamesbin ${PN}
+       newgamesbin game/Transcend ${PN}
        insinto "${GAMES_DATADIR}/${PN}"
        doins -r levels/
        dodoc doc/{how_to_play.txt,changeLog.txt}
+       make_desktop_entry ${PN} "Transcend"
        prepgamesdirs
 }