diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2015-03-30 12:45:53 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2015-03-30 14:16:04 +0000 |
commit | 7b9b42d42378e7803ceda896f6b5014131ea1292 (patch) | |
tree | 7b07359432de2e0ead7d07fa1135f48812f1239b /main/portaudio | |
parent | 76b958b03fd726fd04dd4dcc3938d8c500bbc456 (diff) | |
download | aports-7b9b42d42378e7803ceda896f6b5014131ea1292.tar.bz2 aports-7b9b42d42378e7803ceda896f6b5014131ea1292.tar.xz |
main/portaudio: add patch for some extra API calls audacity needs
enalbe jack support while at it
Diffstat (limited to 'main/portaudio')
-rw-r--r-- | main/portaudio/APKBUILD | 27 | ||||
-rw-r--r-- | main/portaudio/portaudio-audacity.patch | 188 | ||||
-rw-r--r-- | main/portaudio/portaudio-pkgconfig-alsa.patch | 12 |
3 files changed, 221 insertions, 6 deletions
diff --git a/main/portaudio/APKBUILD b/main/portaudio/APKBUILD index 13cffccacc..d2a96d4265 100644 --- a/main/portaudio/APKBUILD +++ b/main/portaudio/APKBUILD @@ -3,17 +3,22 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=portaudio pkgver=19 -pkgrel=0 +pkgrel=1 pkgdesc="Cross platform, open-source, audio I/O library" url="http://www.portaudio.com/" arch="all" license="MIT" depends= depends_dev="alsa-lib-dev" -makedepends="$depends_dev linux-headers" +makedepends="$depends_dev + jack-dev + linux-headers autoconf automake libtool" install="" subpackages="$pkgname-dev" -source="http://www.portaudio.com/archives/pa_stable_v19_20140130.tgz" +source="http://www.portaudio.com/archives/pa_stable_v19_20140130.tgz + portaudio-pkgconfig-alsa.patch + portaudio-audacity.patch + " _builddir="$srcdir"/portaudio prepare() { @@ -25,6 +30,7 @@ prepare() { *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done + autoreconf -vif || return 1 } build() { @@ -33,6 +39,9 @@ build() { --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ + --disable-static \ + --with-jack \ + --with-alsa \ || return 1 make || return 1 } @@ -43,6 +52,12 @@ package() { rm -f "$pkgdir"/usr/lib/*.la } -md5sums="7f220406902af9dca009668e198cbd23 pa_stable_v19_20140130.tgz" -sha256sums="8fe024a5f0681e112c6979808f684c3516061cc51d3acc0b726af98fc96c8d57 pa_stable_v19_20140130.tgz" -sha512sums="078adfdc2cec7fbd4019837eee65f8411b873b51064dfd7334e1c55118c26ea1fb68cb22e46ee69adb69c78d026b00a7ed973c40632e7d79703e12669a62ee3e pa_stable_v19_20140130.tgz" +md5sums="7f220406902af9dca009668e198cbd23 pa_stable_v19_20140130.tgz +be4a9f727516af217ff41903ffea4291 portaudio-pkgconfig-alsa.patch +1fdd7d60815651feab22c42434f228d4 portaudio-audacity.patch" +sha256sums="8fe024a5f0681e112c6979808f684c3516061cc51d3acc0b726af98fc96c8d57 pa_stable_v19_20140130.tgz +146a5e59dccf165215c70de5766f29e6b652c2a6ed9d490e33baec5c10da6b33 portaudio-pkgconfig-alsa.patch +78f12532fd60be85e0f9bc1a788a8f26d13a78598db12850f9fe0aac2face5ed portaudio-audacity.patch" +sha512sums="078adfdc2cec7fbd4019837eee65f8411b873b51064dfd7334e1c55118c26ea1fb68cb22e46ee69adb69c78d026b00a7ed973c40632e7d79703e12669a62ee3e pa_stable_v19_20140130.tgz +d58e7f8717f9d451535546e16939a959f63ccdd21bcbbc8e08efde2722382b068603bae6d93449476b206c85160d8084d39b39748b4fb43ab2b6eaee704ba1f8 portaudio-pkgconfig-alsa.patch +86d14e1e984671593a9afdb5ec45bc944bd87610f32f8dde34f770eba067ff4a229400c3c0af403c32114c26ab43e5d81bcc70c742b0f6df864fd5ed3adf74af portaudio-audacity.patch" diff --git a/main/portaudio/portaudio-audacity.patch b/main/portaudio/portaudio-audacity.patch new file mode 100644 index 0000000000..9535f9664b --- /dev/null +++ b/main/portaudio/portaudio-audacity.patch @@ -0,0 +1,188 @@ +diff -wruN portaudio/include/pa_unix_oss.h portaudio-v19/include/pa_unix_oss.h +--- portaudio/include/pa_unix_oss.h 1969-12-31 18:00:00.000000000 -0600 ++++ portaudio-v19/include/pa_unix_oss.h 2012-12-14 22:34:14.290247100 -0600 +@@ -0,0 +1,52 @@ ++#ifndef PA_UNIX_OSS_H ++#define PA_UNIX_OSS_H ++ ++/* ++ * $Id: portaudio.patch,v 1.10 2009-06-30 04:52:59 llucius Exp $ ++ * PortAudio Portable Real-Time Audio Library ++ * OSS-specific extensions ++ * ++ * Copyright (c) 1999-2000 Ross Bencina and Phil Burk ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining ++ * a copy of this software and associated documentation files ++ * (the "Software"), to deal in the Software without restriction, ++ * including without limitation the rights to use, copy, modify, merge, ++ * publish, distribute, sublicense, and/or sell copies of the Software, ++ * and to permit persons to whom the Software is furnished to do so, ++ * subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be ++ * included in all copies or substantial portions of the Software. ++ * ++ * Any person wishing to distribute modifications to the Software is ++ * requested to send the modifications to the original developer so that ++ * they can be incorporated into the canonical version. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ++ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF ++ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ * ++ */ ++ ++/** @file ++ * OSS-specific PortAudio API extension header file. ++ */ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++const char *PaOSS_GetStreamInputDevice( PaStream *s ); ++ ++const char *PaOSS_GetStreamOutputDevice( PaStream *s ); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif +diff -wruN portaudio/include/portaudio.h portaudio-v19/include/portaudio.h +--- portaudio/include/portaudio.h 2012-08-31 19:10:13.000000000 -0500 ++++ portaudio-v19/include/portaudio.h 2012-12-14 22:34:14.368247200 -0600 +@@ -1146,6 +1146,15 @@ + signed long Pa_GetStreamWriteAvailable( PaStream* stream ); + + ++/** Retrieve the host type handling an open stream. ++ ++ @return Returns a non-negative value representing the host API type ++ handling an open stream or, a PaErrorCode (which are always negative) ++ if PortAudio is not initialized or an error is encountered. ++*/ ++PaHostApiTypeId Pa_GetStreamHostApiType( PaStream* stream ); ++ ++ + /* Miscellaneous utilities */ + + +diff -wruN portaudio/src/common/pa_front.c portaudio-v19/src/common/pa_front.c +--- portaudio/src/common/pa_front.c 2012-12-04 12:39:48.000000000 -0600 ++++ portaudio-v19/src/common/pa_front.c 2012-12-14 09:44:34.604344800 -0600 +@@ -1216,8 +1216,10 @@ + hostApiInputParametersPtr, hostApiOutputParametersPtr, + sampleRate, framesPerBuffer, streamFlags, streamCallback, userData ); + +- if( result == paNoError ) ++ if( result == paNoError ) { + AddOpenStream( *stream ); ++ PA_STREAM_REP(*stream)->hostApiType = hostApi->info.type; ++ } + + + PA_LOGAPI(("Pa_OpenStream returned:\n" )); +@@ -1729,6 +1731,32 @@ + return result; + } + ++PaHostApiTypeId Pa_GetStreamHostApiType( PaStream* stream ) ++{ ++ PaError error = PaUtil_ValidateStreamPointer( stream ); ++ PaHostApiTypeId result; ++ ++#ifdef PA_LOG_API_CALLS ++ PaUtil_DebugPrint("Pa_GetStreamHostApiType called:\n" ); ++ PaUtil_DebugPrint("\tPaStream* stream: 0x%p\n", stream ); ++#endif ++ ++ if( error == paNoError ) ++ { ++ result = PA_STREAM_REP(stream)->hostApiType; ++ } ++ else ++ { ++ result = (PaHostApiTypeId) error; ++ } ++ ++#ifdef PA_LOG_API_CALLS ++ PaUtil_DebugPrint("Pa_GetStreamHostApiType returned:\n" ); ++ PaUtil_DebugPrint("\tPaError: %d ( %s )\n\n", result, Pa_GetErrorText( result ) ); ++#endif ++ ++ return result; ++} + + PaError Pa_GetSampleSize( PaSampleFormat format ) + { +diff -wruN portaudio/src/common/pa_stream.c portaudio-v19/src/common/pa_stream.c +--- portaudio/src/common/pa_stream.c 2008-02-15 01:50:33.000000000 -0600 ++++ portaudio-v19/src/common/pa_stream.c 2012-12-14 09:44:34.607345000 -0600 +@@ -93,6 +93,8 @@ + streamRepresentation->streamInfo.inputLatency = 0.; + streamRepresentation->streamInfo.outputLatency = 0.; + streamRepresentation->streamInfo.sampleRate = 0.; ++ ++ streamRepresentation->hostApiType = 0; + } + + +diff -wruN portaudio/src/common/pa_stream.h portaudio-v19/src/common/pa_stream.h +--- portaudio/src/common/pa_stream.h 2008-02-15 01:50:33.000000000 -0600 ++++ portaudio-v19/src/common/pa_stream.h 2012-12-14 09:44:34.610345200 -0600 +@@ -152,6 +152,7 @@ + PaStreamFinishedCallback *streamFinishedCallback; + void *userData; + PaStreamInfo streamInfo; ++ PaHostApiTypeId hostApiType; + } PaUtilStreamRepresentation; + + +diff -wruN portaudio/src/hostapi/oss/pa_unix_oss.c portaudio-v19/src/hostapi/oss/pa_unix_oss.c +--- portaudio/src/hostapi/oss/pa_unix_oss.c 2011-05-02 12:07:11.000000000 -0500 ++++ portaudio-v19/src/hostapi/oss/pa_unix_oss.c 2012-12-14 09:44:34.625346000 -0600 +@@ -2028,3 +2028,26 @@ + #endif + } + ++const char *PaOSS_GetStreamInputDevice( PaStream* s ) ++{ ++ PaOssStream *stream = (PaOssStream*)s; ++ ++ if( stream->capture ) ++ { ++ return stream->capture->devName; ++ } ++ ++ return NULL; ++} ++ ++const char *PaOSS_GetStreamOutputDevice( PaStream* s ) ++{ ++ PaOssStream *stream = (PaOssStream*)s; ++ ++ if( stream->playback ) ++ { ++ return stream->playback->devName; ++ } ++ ++ return NULL; ++} +diff -up portaudio/configure.in~ portaudio/configure.in +--- portaudio/configure.in~ 2013-04-07 12:20:18.000000000 +0200 ++++ portaudio/configure.in 2013-05-04 15:14:14.356191153 +0200 +@@ -387,7 +387,7 @@ case "${host_os}" in + DLL_LIBS="$DLL_LIBS -lasound" + LIBS="$LIBS -lasound" + OTHER_OBJS="$OTHER_OBJS src/hostapi/alsa/pa_linux_alsa.o" +- INCLUDES="$INCLUDES pa_linux_alsa.h" ++ INCLUDES="$INCLUDES pa_linux_alsa.h pa_unix_oss.h" + AC_DEFINE(PA_USE_ALSA,1) + fi + diff --git a/main/portaudio/portaudio-pkgconfig-alsa.patch b/main/portaudio/portaudio-pkgconfig-alsa.patch new file mode 100644 index 0000000000..53b6702616 --- /dev/null +++ b/main/portaudio/portaudio-pkgconfig-alsa.patch @@ -0,0 +1,12 @@ +diff -up portaudio/portaudio-2.0.pc.in.alsa portaudio/portaudio-2.0.pc.in +--- portaudio/portaudio-2.0.pc.in.alsa 2011-05-05 11:55:28.000000000 +0200 ++++ portaudio/portaudio-2.0.pc.in 2011-05-05 11:55:33.000000000 +0200 +@@ -5,7 +5,7 @@ includedir=@includedir@ + + Name: PortAudio + Description: Portable audio I/O +-Requires: ++Requires: alsa + Version: 19 + + Libs: -L${libdir} -lportaudio @LIBS@ |