aboutsummaryrefslogtreecommitdiffstats
path: root/main/portaudio
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2015-03-30 12:45:53 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2015-03-30 14:16:04 +0000
commit7b9b42d42378e7803ceda896f6b5014131ea1292 (patch)
tree7b07359432de2e0ead7d07fa1135f48812f1239b /main/portaudio
parent76b958b03fd726fd04dd4dcc3938d8c500bbc456 (diff)
downloadaports-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/APKBUILD27
-rw-r--r--main/portaudio/portaudio-audacity.patch188
-rw-r--r--main/portaudio/portaudio-pkgconfig-alsa.patch12
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@