portaudio 190600_20161030-2 (znver1;i686;aarch64;x86_64;armv7hnl) 2020-11501
0

Status rejected
Submitter angrypenguinpoland [@T] gmail.com
Platform rolling
Repository main
URL https://abf.openmandriva.org/build_lists/759588
Packages
lib64portaudio2-190600_20161030-2.znver1.binary
lib64portaudio2-debuginfo-190600_20161030-2.znver1.debuginfo
lib64portaudiocpp0-190600_20161030-2.znver1.binary
lib64portaudiocpp0-debuginfo-190600_20161030-2.znver1.debuginfo
lib64portaudio-devel-190600_20161030-2.znver1.binary
portaudio-190600_20161030-2.znver1.source
portaudio-debuginfo-190600_20161030-2.znver1.debuginfo
libportaudio2-190600_20161030-2.i686.binary
libportaudio2-debuginfo-190600_20161030-2.i686.debuginfo
libportaudiocpp0-190600_20161030-2.i686.binary
libportaudiocpp0-debuginfo-190600_20161030-2.i686.debuginfo
libportaudio-devel-190600_20161030-2.i686.binary
portaudio-190600_20161030-2.i686.source
portaudio-debuginfo-190600_20161030-2.i686.debuginfo
lib64portaudio2-190600_20161030-2.aarch64.binary
lib64portaudio2-debuginfo-190600_20161030-2.aarch64.debuginfo
lib64portaudiocpp0-190600_20161030-2.aarch64.binary
lib64portaudiocpp0-debuginfo-190600_20161030-2.aarch64.debuginfo
lib64portaudio-devel-190600_20161030-2.aarch64.binary
portaudio-190600_20161030-2.aarch64.source
portaudio-debuginfo-190600_20161030-2.aarch64.debuginfo
lib64portaudio2-190600_20161030-2.x86_64.binary
lib64portaudio2-debuginfo-190600_20161030-2.x86_64.debuginfo
lib64portaudiocpp0-190600_20161030-2.x86_64.binary
lib64portaudiocpp0-debuginfo-190600_20161030-2.x86_64.debuginfo
lib64portaudio-devel-190600_20161030-2.x86_64.binary
portaudio-190600_20161030-2.x86_64.source
portaudio-debuginfo-190600_20161030-2.x86_64.debuginfo
libportaudio2-190600_20161030-2.armv7hnl.binary
libportaudio2-debuginfo-190600_20161030-2.armv7hnl.debuginfo
libportaudiocpp0-190600_20161030-2.armv7hnl.binary
libportaudiocpp0-debuginfo-190600_20161030-2.armv7hnl.debuginfo
libportaudio-devel-190600_20161030-2.armv7hnl.binary
portaudio-190600_20161030-2.armv7hnl.source
portaudio-debuginfo-190600_20161030-2.armv7hnl.debuginfo
Build Date 2020-04-20 12:37:24 +0000 UTC
Last Updated 2020-04-21 01:44:08.440259415 +0000 UTC
$ git diff --patch-with-stat --summary 867b07cc3857ef78a0e3cf405288c5f8d97e9d45..179024a5a1fbc1887a9faa5c401cb611689b3f60

 debian-20161225-audacity-portmixer.patch | 286 +++++++++++++++++++++++++++++++
 portaudio-pkgconfig-alsa.patch           |  12 ++
 portaudio.spec                           |  61 ++++++-
 3 files changed, 353 insertions(+), 6 deletions(-)
 create mode 100644 debian-20161225-audacity-portmixer.patch
 create mode 100644 portaudio-pkgconfig-alsa.patch

diff --git a/debian-20161225-audacity-portmixer.patch b/debian-20161225-audacity-portmixer.patch
new file mode 100644
index 0000000..a9a3318
--- /dev/null
+++ b/debian-20161225-audacity-portmixer.patch
@@ -0,0 +1,286 @@
+Description: Add features needed to make portmixer work with audacity.
+Author: Audacity Team
+Last-Update: 2016-12-25
+
+--- a/include/portaudio.h
++++ b/include/portaudio.h
+@@ -1197,6 +1197,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 */
+ 
+ 
+--- /dev/null
++++ b/include/pa_unix_oss.h
+@@ -0,0 +1,104 @@
++#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
++#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
+--- a/src/common/pa_front.c
++++ b/src/common/pa_front.c
+@@ -1257,8 +1257,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" ));
+@@ -1770,6 +1772,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 )
+ {
+--- a/src/common/pa_stream.c
++++ b/src/common/pa_stream.c
+@@ -93,6 +93,8 @@
+     streamRepresentation->streamInfo.inputLatency = 0.;
+     streamRepresentation->streamInfo.outputLatency = 0.;
+     streamRepresentation->streamInfo.sampleRate = 0.;
++
++    streamRepresentation->hostApiType = 0;
+ }
+ 
+ 
+--- a/src/common/pa_stream.h
++++ b/src/common/pa_stream.h
+@@ -152,6 +152,7 @@
+     PaStreamFinishedCallback *streamFinishedCallback;
+     void *userData;
+     PaStreamInfo streamInfo;
++    PaHostApiTypeId hostApiType;
+ } PaUtilStreamRepresentation;
+ 
+ 
+--- a/src/hostapi/alsa/pa_linux_alsa.c
++++ b/src/hostapi/alsa/pa_linux_alsa.c
+@@ -621,6 +621,7 @@
+     StreamDirection streamDir;
+ 
+     snd_pcm_channel_area_t *channelAreas;  /* Needed for channel adaption */
++    int card;
+ } PaAlsaStreamComponent;
+ 
+ /* Implementation specific stream structure */
+@@ -1873,6 +1874,7 @@
+ {
+     PaError result = paNoError;
+     PaSampleFormat userSampleFormat = params->sampleFormat, hostSampleFormat = paNoError;
++    snd_pcm_info_t* pcmInfo;
+     assert( params->channelCount > 0 );
+ 
+     /* Make sure things have an initial value */
+@@ -1900,6 +1902,9 @@
+     self->device = params->device;
+ 
+     PA_ENSURE( AlsaOpen( &alsaApi->baseHostApiRep, params, streamDir, &self->pcm ) );
++
++    snd_pcm_info_alloca( &pcmInfo );
++    self->card = snd_pcm_info_get_card( pcmInfo );
+     self->nfds = alsa_snd_pcm_poll_descriptors_count( self->pcm );
+ 
+     PA_ENSURE( hostSampleFormat = PaUtil_SelectClosestAvailableFormat( GetAvailableFormats( self->pcm ), userSampleFormat ) );
+@@ -4605,9 +4610,7 @@
+     /* XXX: More descriptive error? */
+     PA_UNLESS( stream->capture.pcm, paDeviceUnavailable );
+ 
+-    alsa_snd_pcm_info_alloca( &pcmInfo );
+-    PA_ENSURE( alsa_snd_pcm_info( stream->capture.pcm, pcmInfo ) );
+-    *card = alsa_snd_pcm_info_get_card( pcmInfo );
++    *card = stream->capture.card;
+ 
+ error:
+     return result;
+@@ -4624,9 +4627,7 @@
+     /* XXX: More descriptive error? */
+     PA_UNLESS( stream->playback.pcm, paDeviceUnavailable );
+ 
+-    alsa_snd_pcm_info_alloca( &pcmInfo );
+-    PA_ENSURE( alsa_snd_pcm_info( stream->playback.pcm, pcmInfo ) );
+-    *card = alsa_snd_pcm_info_get_card( pcmInfo );
++    *card = stream->playback.card;
+ 
+ error:
+     return result;
+--- a/src/hostapi/oss/pa_unix_oss.c
++++ b/src/hostapi/oss/pa_unix_oss.c
+@@ -2043,3 +2043,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;
++}
+--- a/configure.in
++++ b/configure.in
+@@ -420,6 +420,7 @@
+                    DLL_LIBS="$DLL_LIBS -lossaudio"
+                    LIBS="$LIBS -lossaudio"
+            fi
++           INCLUDES="$INCLUDES pa_unix_oss.h"
+            AC_DEFINE(PA_USE_OSS,1)
+         fi
+ 
diff --git a/portaudio-pkgconfig-alsa.patch b/portaudio-pkgconfig-alsa.patch
new file mode 100644
index 0000000..53b6702
--- /dev/null
+++ b/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@
diff --git a/portaudio.spec b/portaudio.spec
index 82c58b4..6e69110 100644
--- a/portaudio.spec
+++ b/portaudio.spec
@@ -1,21 +1,36 @@
 %define	major 2
 %define libname	%mklibname portaudio %{major}
 %define devname %mklibname portaudio -d
+%define cppmajor 0
+%define libcpp %mklibname %{name}cpp %{cppmajor}
 %define snapshot 20161030
 %define maj_ver 19
 
 Summary:	Cross platform audio I/O library
 Name:		portaudio
 Version:	190600_20161030
-Release:	1
+Release:	2
 Group:		System/Libraries
 License:	BSD
 Url:		http://www.portaudio.com/
 Source0:	http://www.portaudio.com/archives/pa_stable_v%{maj_ver}0600_%{snapshot}.tgz
+
+Patch0:		portaudio-pkgconfig-alsa.patch
+# Add some extra API needed by audacity
+Patch1:		debian-20161225-audacity-portmixer.patch
+
+BuildRequires:	pkgconfig
 BuildRequires:	pkgconfig(alsa)
 BuildRequires:	pkgconfig(celt)
 BuildRequires:	pkgconfig(jack)
 BuildRequires:	pkgconfig(samplerate)
+BuildRequires:	autoconf 
+BuildRequires:	automake 
+BuildRequires:	libtool
+BuildRequires:	gettext-devel
+BuildRequires:  gettext
+BuildRequires:  glib-gettextize
+
 
 %description
 PortAudio is a free, cross platform, open-source, audio I/O 
@@ -51,11 +66,33 @@ sound using a simple callback function. Example programs are
 included that synthesize sine waves and pink noise, perform fuzz
 distortion on a guitar, list available audio devices, etc. 
 
+%package -n	%{libcpp}
+Summary:	Cross platform audio I/O library
+Group:		System/Libraries
+
+%description -n	%{libcpp}
+PortAudio is a free, cross platform, open-source, audio I/O
+library. It lets you write simple audio programs in 'C' that will
+compile and run on many platforms including Windows, Macintosh
+(8,9,X), Unix (OSS), SGI, and BeOS. PortAudio is intended to
+promote the exchange of audio synthesis software between
+developers on different platforms, and was recently selected as
+the audio component of a larger PortMusic project that includes
+MIDI and sound file support.
+
+PortAudio provides a very simple API for recording and/or playing
+sound using a simple callback function. Example programs are
+included that synthesize sine waves and pink noise, perform fuzz
+distortion on a guitar, list available audio devices, etc
+
 %package -n	%{devname}
 Summary:	Development library and header files for the PortAudio library
 Group:		Development/C
 Provides:	%{name}-devel = %{version}-%{release}
+Provides:	lib%{name}-devel = %{version}-%{release}
+Provides:	lib%{name}cpp-devel = %{version}-%{release}
 Requires:	%{libname} = %{version}-%{release}
+Requires:	%{libcpp} = %{version}-%{release}
 
 %description -n	%{devname}
 This package contains the development PortAudio library and its header
@@ -74,22 +111,34 @@ chmod 755 configure
 # strip away annoying ^M
 find . -type f | xargs perl -p -i -e 's/\r//'
 
+autoreconf -i -f
+
 %build
-%configure2_5x \
+%configure \
 	--with-alsa \
-	--with-jack
+	--with-jack \
+	--disable-static \
+	--enable-cxx
+	
+sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' bindings/cpp/libtool
+sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' bindings/cpp/libtool
 
-%make
+# do not use make_build or build faied
+make
 
 %install
-%makeinstall_std
+%make_install
 
 %files -n %{libname}
 %{_libdir}/libportaudio.so.%{major}*
 
+%files -n %{libcpp}
+%{_libdir}/lib%{name}cpp.so.%{cppmajor}
+%{_libdir}/lib%{name}cpp.so.%{cppmajor}.*
+
 %files -n %{devname}
 %doc LICENSE.txt README.txt
 %{_includedir}/*
 %{_libdir}/*.so
 %{_libdir}/pkgconfig/portaudio-*.pc
-
+%{_libdir}/pkgconfig/portaudiocpp.pc
Not Available

benbullard79 [@T] cox.netNo Comment.1679d 18hrs