commit 2e9b0a638d474ca34903051f3965d402e2c87e15 Author: Toshaan Bharvani Date: Sun Oct 9 12:04:32 2022 +0200 initial package creation Signed-off-by: Toshaan Bharvani diff --git a/SOURCES/portaudio-audacity.patch b/SOURCES/portaudio-audacity.patch new file mode 100644 index 0000000..61883eb --- /dev/null +++ b/SOURCES/portaudio-audacity.patch @@ -0,0 +1,219 @@ +From 42dc9c90a703b8dd251d71389a7e6220a50a43a9 Mon Sep 17 00:00:00 2001 +From: Uwe Klotz +Date: Fri, 26 Mar 2021 10:43:46 +0100 +Subject: [PATCH] portaudio-audacity.patch + +--- + configure.in | 1 + + include/pa_unix_oss.h | 52 +++++++++++++++++++++++++++++++++++ + include/portaudio.h | 9 ++++++ + src/common/pa_front.c | 32 ++++++++++++++++++++- + src/common/pa_stream.c | 2 ++ + src/common/pa_stream.h | 1 + + src/hostapi/oss/pa_unix_oss.c | 26 ++++++++++++++++++ + 7 files changed, 122 insertions(+), 1 deletion(-) + create mode 100644 include/pa_unix_oss.h + +diff --git a/configure.in b/configure.in +index bb4ae96..fe0e112 100644 +--- a/configure.in ++++ b/configure.in +@@ -415,6 +415,7 @@ case "${host_os}" in + 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/include/pa_unix_oss.h b/include/pa_unix_oss.h +new file mode 100644 +index 0000000..2351e64 +--- /dev/null ++++ b/include/pa_unix_oss.h +@@ -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 --git a/include/portaudio.h b/include/portaudio.h +index 5d84731..7660c8a 100644 +--- a/include/portaudio.h ++++ b/include/portaudio.h +@@ -1200,6 +1200,15 @@ signed long Pa_GetStreamReadAvailable( PaStream* stream ); + 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 --git a/src/common/pa_front.c b/src/common/pa_front.c +index 65a656f..02a67a8 100644 +--- a/src/common/pa_front.c ++++ b/src/common/pa_front.c +@@ -1257,8 +1257,10 @@ PaError Pa_OpenStream( PaStream** stream, + 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" )); +@@ -1771,6 +1773,34 @@ signed long Pa_GetStreamWriteAvailable( PaStream* stream ) + } + + ++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 ) + { + int result; +diff --git a/src/common/pa_stream.c b/src/common/pa_stream.c +index ffbf530..305f7c8 100644 +--- a/src/common/pa_stream.c ++++ b/src/common/pa_stream.c +@@ -93,6 +93,8 @@ void PaUtil_InitializeStreamRepresentation( PaUtilStreamRepresentation *streamRe + streamRepresentation->streamInfo.inputLatency = 0.; + streamRepresentation->streamInfo.outputLatency = 0.; + streamRepresentation->streamInfo.sampleRate = 0.; ++ ++ streamRepresentation->hostApiType = 0; + } + + +diff --git a/src/common/pa_stream.h b/src/common/pa_stream.h +index 4afda39..0a5cd1e 100644 +--- a/src/common/pa_stream.h ++++ b/src/common/pa_stream.h +@@ -152,6 +152,7 @@ typedef struct PaUtilStreamRepresentation { + PaStreamFinishedCallback *streamFinishedCallback; + void *userData; + PaStreamInfo streamInfo; ++ PaHostApiTypeId hostApiType; + } PaUtilStreamRepresentation; + + +diff --git a/src/hostapi/oss/pa_unix_oss.c b/src/hostapi/oss/pa_unix_oss.c +index 20113e2..9dedc3f 100644 +--- a/src/hostapi/oss/pa_unix_oss.c ++++ b/src/hostapi/oss/pa_unix_oss.c +@@ -2050,3 +2050,29 @@ error: + return result; + #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; ++} +-- +2.30.2 + diff --git a/SOURCES/portaudio-doxynodate.patch b/SOURCES/portaudio-doxynodate.patch new file mode 100644 index 0000000..adebd24 --- /dev/null +++ b/SOURCES/portaudio-doxynodate.patch @@ -0,0 +1,21 @@ +diff -Naupr portaudio.orig/Doxyfile portaudio/Doxyfile +--- portaudio.orig/Doxyfile 2006-08-23 10:15:11.000000000 +0200 ++++ portaudio/Doxyfile 2008-12-22 14:11:16.558309299 +0100 +@@ -124,7 +124,7 @@ GENERATE_HTML = YES + HTML_OUTPUT = html + HTML_FILE_EXTENSION = .html + HTML_HEADER = +-HTML_FOOTER = ++HTML_FOOTER = no_date_footer.html + HTML_STYLESHEET = + HTML_ALIGN_MEMBERS = YES + GENERATE_HTMLHELP = NO +diff -Naupr portaudio.orig/no_date_footer.html portaudio/no_date_footer.html +--- portaudio.orig/no_date_footer.html 1970-01-01 01:00:00.000000000 +0100 ++++ portaudio/no_date_footer.html 2008-12-22 14:11:01.144246196 +0100 +@@ -0,0 +1,5 @@ ++
Generated for $projectname by  ++ ++doxygen$doxygenversion
++ ++ diff --git a/SOURCES/portaudio-pkgconfig-alsa.patch b/SOURCES/portaudio-pkgconfig-alsa.patch new file mode 100644 index 0000000..53b6702 --- /dev/null +++ b/SOURCES/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/SPECS/portaudio.spec b/SPECS/portaudio.spec new file mode 100644 index 0000000..236b4c3 --- /dev/null +++ b/SPECS/portaudio.spec @@ -0,0 +1,240 @@ +Name: portaudio +Version: 19 +Release: 38%{?dist} +Summary: Free, cross platform, open-source, audio I/O library +License: MIT +URL: http://www.portaudio.com/ + +Source0: http://files.portaudio.com/archives/pa_stable_v190700_20210406.tgz +Patch1: portaudio-doxynodate.patch +Patch2: portaudio-pkgconfig-alsa.patch +# Add some extra API needed by audacity +# http://audacity.googlecode.com/svn/audacity-src/trunk/lib-src/portmixer/portaudio.patch +Patch3: portaudio-audacity.patch + +BuildRequires: make +BuildRequires: doxygen +BuildRequires: gcc-c++ +BuildRequires: alsa-lib-devel +BuildRequires: jack-audio-connection-kit-devel +BuildRequires: autoconf automake libtool + +%description +PortAudio is a portable audio I/O library designed for cross-platform +support of audio. It uses a callback mechanism to request audio processing. +Audio can be generated in various formats, including 32 bit floating point, +and will be converted to the native format internally. + + +%package devel +Summary: Development files for the portaudio audio I/O library +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +PortAudio is a portable audio I/O library designed for cross-platform +support of audio. It uses a callback mechanism to request audio processing. +Audio can be generated in various formats, including 32 bit floating point, +and will be converted to the native format internally. + +This package contains files required to build applications that will use the +portaudio library. + + +%prep +%autosetup -p1 -n %{name} +# Needed for patch3 +autoreconf -i -f +# With autoconf-2.71 we need to run this twice for things to work ?? (rhbz#1943118) +autoreconf -i -f + + +%build +%configure --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 +# no -j# because building with -j# is broken +make +# Build html devel documentation +doxygen + + +%install +%make_install + + +%ldconfig_scriptlets + + +%files +%license LICENSE.txt +%doc README.md +%{_libdir}/*.so.* + +%files devel +%doc doc/html/* +%{_includedir}/portaudiocpp/ +%{_includedir}/portaudio.h +%{_includedir}/pa_jack.h +%{_includedir}/pa_linux_alsa.h +%{_includedir}/pa_unix_oss.h +%exclude %{_libdir}/*.la +%{_libdir}/*.so +%{_libdir}/pkgconfig/*.pc + + +%changelog +* Fri Jan 21 2022 Fedora Release Engineering - 19-38 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 19-37 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue May 04 2021 Hans de Goede - 19-36 +- Fix FTBFS with upcoming autoconf-2.71 (rhbz#1943118) + +* Tue Apr 06 2021 Uwe Klotz - 19-35 +- Upgrade to pa_stable_v190700_20210406 + +* Mon Mar 22 2021 Hans de Goede - 19-34 +- Deal with pipewire jack identifiers containing chars which have special meanings in regexes + Resolves rhbz#1939749 + +* Wed Jan 27 2021 Fedora Release Engineering - 19-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 19-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jan 30 2020 Fedora Release Engineering - 19-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jul 26 2019 Fedora Release Engineering - 19-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 19-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 19-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 19-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 19-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 19-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 19-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 19-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jun 18 2015 Fedora Release Engineering - 19-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 19-21 +- Rebuilt for GCC 5 C++11 ABI change + +* Sun Aug 17 2014 Fedora Release Engineering - 19-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 22 2014 Hans de Goede - 19-19 +- Upgrade to the "stable" v19_20140130 snapshot (rhbz#1111780) + +* Sat Jun 07 2014 Fedora Release Engineering - 19-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 19-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sat May 4 2013 Hans de Goede - 19-16 +- Add a patch from audacity adding some extra API calls audacity needs +- Cleanup spec-file +- Update svn snapshot to bring in some alsa samplerate handling fixes +- Run autoreconf for aarch64 support (rhbz#926363) + +* Thu Feb 14 2013 Fedora Release Engineering - 19-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Jul 21 2012 Fedora Release Engineering - 19-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 19-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu May 05 2011 Dan HorĂ¡k - 19-12 +- fix dependency on alsa-lib-devel + +* Sun Mar 27 2011 Hans de Goede - 19-11 +- Upgrade to a more recent snapshot to bring in various bugfixes (rhbz#691148) + +* Wed Feb 09 2011 Fedora Release Engineering - 19-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sun Jul 26 2009 Fedora Release Engineering - 19-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Feb 26 2009 Fedora Release Engineering - 19-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Dec 22 2008 Matthias Saou 19-7 +- Add Doxyfile patch to remove date in footer and fix multilib (#342931). + +* Sun Dec 7 2008 Hans de Goede 19-6 +- Add a patch by Kevin Kofler to make non mmap alsa (and thus pulseaudio) work + (bz 445644) + +* Sun Feb 3 2008 Matthias Saou 19-5 +- Update to "stable" v19_20071207. +- Rebuild against latest jack in rawhide (#430672). +- Backport update to F8 too (#431266). + +* Mon Dec 10 2007 Matthias Saou 19-4 +- Include portaudiocpp library and headers (#413681). + +* Wed Aug 22 2007 Matthias Saou 19-3 +- Rebuild for new BuildID feature. + +* Sun Aug 5 2007 Matthias Saou 19-2 +- Update License field. + +* Tue Jun 19 2007 Matthias Saou 19-1 +- Update to "stable" v19_061121. +- Switch virtual devel provide to a real sub-package. +- Update spec to match build changes from custom Makefile to autotools. +- Include new pkgconfig file and require pkgconfig from the devel package. +- Add ldconfig calls now that we have a versionned shared library. +- Rebuild against alsa-lib and jack-audio-connection-kit. +- Build doxygen documentation and include it in the devel package. + +* Mon Aug 28 2006 Matthias Saou 18.1-8 +- FC6 rebuild. + +* Mon Mar 6 2006 Matthias Saou 18.1-7 +- FC5 rebuild. + +* Thu Feb 9 2006 Matthias Saou 18.1-6 +- Rebuild for new gcc/glibc. + +* Sun May 22 2005 Jeremy Katz - 18.1-5 +- rebuild on all arches + +* Thu Apr 7 2005 Michael Schwendt 18.1-4 +- rebuilt + +* Tue Nov 16 2004 Matthias Saou 18.1-3 +- Bump release to provide Extras upgrade path. + +* Fri Nov 5 2004 Matthias Saou 18.1-2 +- Add -devel provides. +- Fix .so 644 mode (overidden in defattr). + +* Thu Jun 10 2004 Dag Wieers - 18.1-1 +- Added -fPIC for x86_64. + +* Sat Sep 13 2003 Dag Wieers - 18.1-0 +- Initial package. (using DAR) +