Browse Source

initial package creation

Signed-off-by: Toshaan Bharvani <toshaan@powerel.org>
master
Toshaan Bharvani 2 years ago
commit
2e9b0a638d
  1. 219
      SOURCES/portaudio-audacity.patch
  2. 21
      SOURCES/portaudio-doxynodate.patch
  3. 12
      SOURCES/portaudio-pkgconfig-alsa.patch
  4. 240
      SPECS/portaudio.spec

219
SOURCES/portaudio-audacity.patch

@ -0,0 +1,219 @@ @@ -0,0 +1,219 @@
From 42dc9c90a703b8dd251d71389a7e6220a50a43a9 Mon Sep 17 00:00:00 2001
From: Uwe Klotz <uwe.klotz@gmail.com>
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

21
SOURCES/portaudio-doxynodate.patch

@ -0,0 +1,21 @@ @@ -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 @@
+<hr size="1"><address style="text-align: right;"><small>Generated for $projectname by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a>$doxygenversion</small></address>
+</body>
+</html>

12
SOURCES/portaudio-pkgconfig-alsa.patch

@ -0,0 +1,12 @@ @@ -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@

240
SPECS/portaudio.spec

@ -0,0 +1,240 @@ @@ -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 <releng@fedoraproject.org> - 19-38
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 19-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Tue May 04 2021 Hans de Goede <hdegoede@redhat.com> - 19-36
- Fix FTBFS with upcoming autoconf-2.71 (rhbz#1943118)

* Tue Apr 06 2021 Uwe Klotz <uwe.klotz@gmail.com> - 19-35
- Upgrade to pa_stable_v190700_20210406

* Mon Mar 22 2021 Hans de Goede <hdegoede@redhat.com> - 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 <releng@fedoraproject.org> - 19-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 19-32
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 19-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 19-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 19-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 19-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 19-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 19-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 19-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 19-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 19-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 19-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 19-21
- Rebuilt for GCC 5 C++11 ABI change

* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 19-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sun Jun 22 2014 Hans de Goede <hdegoede@redhat.com> - 19-19
- Upgrade to the "stable" v19_20140130 snapshot (rhbz#1111780)

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 19-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 19-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Sat May 4 2013 Hans de Goede <hdegoede@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 19-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 19-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 19-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Thu May 05 2011 Dan Horák <dan[at]danny.cz> - 19-12
- fix dependency on alsa-lib-devel

* Sun Mar 27 2011 Hans de Goede <hdegoede@redhat.com> - 19-11
- Upgrade to a more recent snapshot to bring in various bugfixes (rhbz#691148)

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 19-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 19-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 19-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Mon Dec 22 2008 Matthias Saou <http://freshrpms.net/> 19-7
- Add Doxyfile patch to remove date in footer and fix multilib (#342931).

* Sun Dec 7 2008 Hans de Goede <hdegoede@redhat.com> 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 <http://freshrpms.net/> 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 <http://freshrpms.net/> 19-4
- Include portaudiocpp library and headers (#413681).

* Wed Aug 22 2007 Matthias Saou <http://freshrpms.net/> 19-3
- Rebuild for new BuildID feature.

* Sun Aug 5 2007 Matthias Saou <http://freshrpms.net/> 19-2
- Update License field.

* Tue Jun 19 2007 Matthias Saou <http://freshrpms.net/> 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 <http://freshrpms.net/> 18.1-8
- FC6 rebuild.

* Mon Mar 6 2006 Matthias Saou <http://freshrpms.net/> 18.1-7
- FC5 rebuild.

* Thu Feb 9 2006 Matthias Saou <http://freshrpms.net/> 18.1-6
- Rebuild for new gcc/glibc.

* Sun May 22 2005 Jeremy Katz <katzj@redhat.com> - 18.1-5
- rebuild on all arches

* Thu Apr 7 2005 Michael Schwendt <mschwendt[AT]users.sf.net> 18.1-4
- rebuilt

* Tue Nov 16 2004 Matthias Saou <http://freshrpms.net/> 18.1-3
- Bump release to provide Extras upgrade path.

* Fri Nov 5 2004 Matthias Saou <http://freshrpms.net/> 18.1-2
- Add -devel provides.
- Fix .so 644 mode (overidden in defattr).

* Thu Jun 10 2004 Dag Wieers <dag@wieers.com> - 18.1-1
- Added -fPIC for x86_64.

* Sat Sep 13 2003 Dag Wieers <dag@wieers.com> - 18.1-0
- Initial package. (using DAR)

Loading…
Cancel
Save