Ravenports generated: 03 Sep 2023 19:45
[ravenports.git] / bucket_5F / portaudio
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               portaudio
4 VERSION=                190700_20210406
5 REVISION=               2
6 KEYWORDS=               audio
7 VARIANTS=               standard
8 SDESC[standard]=        Cross platform audio I/O library
9 HOMEPAGE=               https://www.portaudio.com/
10 CONTACT=                nobody
11
12 DOWNLOAD_GROUPS=        main
13 SITES[main]=            https://files.portaudio.com/archives/
14 DISTFILE[1]=            pa_stable_v190700_20210406.tgz:main
15 DF_INDEX=               1
16 SPKGS[standard]=        complete
17                         primary
18                         docs
19                         examples
20
21 OPTIONS_AVAILABLE=      none
22 OPTIONS_STANDARD=       none
23
24 BUILD_DEPENDS=          doxygen:single:standard
25
26 USES=                   autoreconf c++:primary dos2unix gmake libtool
27                         pkgconfig
28
29 DISTNAME=               portaudio
30
31 LICENSE=                MIT:primary
32 LICENSE_FILE=           MIT:{{WRKSRC}}/LICENSE.txt
33 LICENSE_SCHEME=         solo
34
35 FPC_EQUIVALENT=         audio/portaudio
36
37 MUST_CONFIGURE=         gnu
38 CONFIGURE_ARGS=         --enable-cxx
39                         --without-alsa
40                         --without-jack
41                         --without-sndio
42
43 SINGLE_JOB=             yes
44
45 INSTALL_REQ_TOOLCHAIN=  yes
46 SOVERSION=              2.0.0
47 PLIST_SUB=              SOVERSION_CPP=0.0.12
48                         SOMAJOR_CPP=0
49
50 post-install:
51         # install documentation
52         ${MKDIR} ${STAGEDIR}${STD_DOCDIR}
53         (cd ${WRKSRC} && doxygen)
54         (cd ${WRKSRC}/doc && ${COPYTREE_SHARE} html ${STAGEDIR}${STD_DOCDIR})
55         (cd ${WRKSRC} && ${INSTALL_DATA} README.md ${STAGEDIR}${STD_DOCDIR})
56         # install examples
57         ${MKDIR} ${STAGEDIR}${STD_EXAMPLESDIR}
58         ${INSTALL_DATA} ${WRKSRC}/bindings/cpp/example/*.cxx \
59                 ${WRKSRC}/examples/*.c ${WRKSRC}/examples/*.cpp \
60                 ${STAGEDIR}${STD_EXAMPLESDIR}
61         # install provided header file
62         ${INSTALL_DATA} ${FILESDIR}/pa_unix_oss.h ${STAGEDIR}${PREFIX}/include
63         # strip libraries
64         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so
65
66 pre-configure:
67         # autoreconf another directory
68         cd ${WRKSRC}/bindings/cpp && ${AUTORECONF} -f -i
69
70 [FILE:607:descriptions/desc.primary]
71 PortAudio is a free, cross-platform, open-source, audio I/O library.
72 It enables simple audio programs in 'C' or C++ that will compile and run
73 on many platforms including Windows, Macintosh OS X, and Unix (OSS/ALSA).
74 It is intended to promote the exchange of audio software between developers
75 on different platforms.
76
77 PortAudio provides a very simple API for recording and/or playing sound
78 using a simple callback function or a blocking read/write interface.
79 Example programs are included that play sine waves, process audio input
80 (guitar fuzz), record and playback audio, list available audio devices,
81 etc.
82
83
84 [FILE:109:distinfo]
85 47efbf42c77c19a05d22e627d42873e991ec0c1357219c0d74ce6a2948cb2def      1462695 pa_stable_v190700_20210406.tgz
86
87
88 [FILE:722:manifests/plist.primary]
89 include/
90  pa_unix_oss.h
91  portaudio.h
92 include/portaudiocpp/
93  AutoSystem.hxx
94  BlockingStream.hxx
95  CFunCallbackStream.hxx
96  CallbackInterface.hxx
97  CallbackStream.hxx
98  CppFunCallbackStream.hxx
99  Device.hxx
100  DirectionSpecificStreamParameters.hxx
101  Exception.hxx
102  HostApi.hxx
103  InterfaceCallbackStream.hxx
104  MemFunCallbackStream.hxx
105  PortAudioCpp.hxx
106  SampleDataFormat.hxx
107  Stream.hxx
108  StreamParameters.hxx
109  System.hxx
110  SystemDeviceIterator.hxx
111  SystemHostApiIterator.hxx
112 lib/
113  libportaudio.a
114  libportaudio.so
115  libportaudio.so.%%SOMAJOR%%
116  libportaudio.so.%%SOVERSION%%
117  libportaudiocpp.a
118  libportaudiocpp.so
119  libportaudiocpp.so.%%SOMAJOR_CPP%%
120  libportaudiocpp.so.%%SOVERSION_CPP%%
121 lib/pkgconfig/
122  portaudio-2.0.pc
123  portaudiocpp.pc
124
125
126 [FILE:3660:manifests/plist.docs]
127 share/doc/portaudio/README.md
128 share/doc/portaudio/html/
129  License.html
130  annotated.html
131  api_overview.html
132  bc_s.png
133  bc_sd.png
134  blocking_read_write.html
135  classScopedPaHandler.html
136  classSine.html
137  classes.html
138  closed.png
139  compile_cmake.html
140  compile_linux.html
141  compile_mac_coreaudio.html
142  compile_windows.html
143  compile_windows_asio_msvc.html
144  compile_windows_mingw.html
145  deprecated.html
146  dir_60aac7f36c34906fb3da763b5762f752.html
147  dir_61c9e5842729cb34568d93cb98ad85b9.html
148  dir_d28a4824dc47e487b107a5db32ef43c4.html
149  dir_d44c64559bbebec7f509842c48db8b23.html
150  dir_e68e8157741866f444e17edd764ebbae.html
151  doc.svg
152  docd.svg
153  doxygen.css
154  doxygen.svg
155  dynsections.js
156  exploring.html
157  files.html
158  folderclosed.svg
159  folderclosedd.svg
160  folderopen.svg
161  folderopend.svg
162  functions.html
163  functions_vars.html
164  globals.html
165  globals_defs.html
166  globals_enum.html
167  globals_eval.html
168  globals_func.html
169  globals_type.html
170  group__examples__src.html
171  group__public__header.html
172  index.html
173  initializing_portaudio.html
174  jquery.js
175  menu.js
176  menudata.js
177  minus.svg
178  minusd.svg
179  nav_f.png
180  nav_fd.png
181  nav_g.png
182  nav_h.png
183  nav_hd.png
184  open.png
185  open_default_stream.html
186  pa__asio_8h.html
187  pa__asio_8h_source.html
188  pa__devs_8c.html
189  pa__devs_8c_source.html
190  pa__fuzz_8c.html
191  pa__fuzz_8c_source.html
192  pa__jack_8h.html
193  pa__jack_8h_source.html
194  pa__linux__alsa_8h.html
195  pa__linux__alsa_8h_source.html
196  pa__mac__core_8h.html
197  pa__mac__core_8h_source.html
198  pa__win__ds_8h.html
199  pa__win__ds_8h_source.html
200  pa__win__wasapi_8h.html
201  pa__win__wasapi_8h_source.html
202  pa__win__waveformat_8h.html
203  pa__win__waveformat_8h_source.html
204  pa__win__wdmks_8h.html
205  pa__win__wdmks_8h_source.html
206  pa__win__wmme_8h.html
207  pa__win__wmme_8h_source.html
208  paex__mono__asio__channel__select_8c.html
209  paex__mono__asio__channel__select_8c_source.html
210  paex__ocean__shore_8c.html
211  paex__ocean__shore_8c_source.html
212  paex__pink_8c.html
213  paex__pink_8c_source.html
214  paex__read__write__wire_8c.html
215  paex__read__write__wire_8c_source.html
216  paex__record_8c.html
217  paex__record_8c_source.html
218  paex__record__file_8c.html
219  paex__record__file_8c_source.html
220  paex__saw_8c.html
221  paex__saw_8c_source.html
222  paex__sine_8c.html
223  paex__sine_8c_source.html
224  paex__sine__c_09_09_8cpp_source.html
225  paex__wmme__ac3_8c.html
226  paex__wmme__ac3_8c_source.html
227  paex__wmme__surround_8c.html
228  paex__wmme__surround_8c_source.html
229  paex__write__sine_8c.html
230  paex__write__sine_8c_source.html
231  paex__write__sine__nonint_8c.html
232  paex__write__sine__nonint_8c_source.html
233  pages.html
234  plus.svg
235  plusd.svg
236  portaudio-external-architecture-diagram.png
237  portaudio_8h.html
238  portaudio_8h_source.html
239  querying_devices.html
240  splitbar.png
241  splitbard.png
242  start_stop_abort.html
243  structBiQuad.html
244  structOceanWave.html
245  structPaAlsaStreamInfo.html
246  structPaAsioStreamInfo.html
247  structPaDeviceInfo.html
248  structPaHostApiInfo.html
249  structPaHostErrorInfo.html
250  structPaMacCoreStreamInfo.html
251  structPaStreamCallbackTimeInfo.html
252  structPaStreamInfo.html
253  structPaStreamParameters.html
254  structPaVersionInfo.html
255  structPaWDMKSDirectionSpecificStreamInfo.html
256  structPaWDMKSSpecificStreamInfo.html
257  structPaWasapiJackDescription.html
258  structPaWasapiStreamInfo.html
259  structPaWinDirectSoundStreamInfo.html
260  structPaWinMmeDeviceAndChannelCount.html
261  structPaWinMmeStreamInfo.html
262  structPaWinWDMKSDeviceInfo.html
263  structPaWinWDMKSInfo.html
264  structPaWinWaveFormat.html
265  structPinkNoise.html
266  structpaTestData.html
267  sync_off.png
268  sync_on.png
269  tab_a.png
270  tab_ad.png
271  tab_b.png
272  tab_bd.png
273  tab_h.png
274  tab_hd.png
275  tab_s.png
276  tab_sd.png
277  tabs.css
278  terminating_portaudio.html
279  topics.html
280  tutorial_start.html
281  utility_functions.html
282  writing_a_callback.html
283
284
285 [FILE:321:manifests/plist.examples]
286 share/examples/portaudio/
287  devs.cxx
288  pa_devs.c
289  pa_fuzz.c
290  paex_mono_asio_channel_select.c
291  paex_ocean_shore.c
292  paex_pink.c
293  paex_read_write_wire.c
294  paex_record.c
295  paex_record_file.c
296  paex_saw.c
297  paex_sine.c
298  paex_sine_c++.cpp
299  paex_wmme_ac3.c
300  paex_wmme_surround.c
301  paex_write_sine.c
302  paex_write_sine_nonint.c
303  sine.cxx
304
305
306 [FILE:250:patches/patch-Makefile.in]
307 --- Makefile.in.orig    2021-04-01 00:35:41 UTC
308 +++ Makefile.in
309 @@ -146,6 +146,7 @@ SRC_DIRS = \
310         src/hostapi/dsound \
311         src/hostapi/jack \
312         src/hostapi/oss \
313 +       src/hostapi/sndio \
314         src/hostapi/skeleton \
315         src/hostapi/wasapi \
316         src/hostapi/wdmks \
317
318
319 [FILE:1727:patches/patch-configure.in]
320 $OpenBSD: patch-configure_in,v 1.4 2014/09/13 04:56:28 bentley Exp $
321 --- configure.in.orig   2021-04-01 00:35:42 UTC
322 +++ configure.in
323 @@ -33,6 +33,10 @@ AC_ARG_WITH(alsa,
324              AS_HELP_STRING([--with-alsa], [Enable support for ALSA @<:@autodetect@:>@]),
325              [with_alsa=$withval])
326  
327 +AC_ARG_WITH(sndio,
328 +            AS_HELP_STRING([--with-sndio], [Enable support for sndio @<:@autodetect@:>@]),
329 +            [with_sndio=$withval])
330 +
331  AC_ARG_WITH(jack,
332              AS_HELP_STRING([--with-jack], [Enable support for JACK @<:@autodetect@:>@]),
333              [with_jack=$withval])
334 @@ -129,6 +133,10 @@ have_alsa=no
335  if test "x$with_alsa" != "xno"; then
336      AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no)
337  fi
338 +have_sndio=no
339 +if test "x$with_sndio" != "xno"; then
340 +    AC_CHECK_LIB(sndio, sio_open, have_sndio=yes, have_sndio=no)
341 +fi
342  have_asihpi=no
343  if test "x$with_asihpi" != "xno"; then
344      AC_CHECK_LIB(hpi, HPI_SubSysCreate, have_asihpi=yes, have_asihpi=no, -lm)
345 @@ -401,6 +409,13 @@ case "${host_os}" in
346             AC_DEFINE(PA_USE_ALSA,1)
347          fi
348  
349 +        if [[ "$have_sndio" = "yes" -a "$with_sndio" != "no" ]] ; then
350 +           DLL_LIBS="$DLL_LIBS -lsndio"
351 +           LIBS="$LIBS -lsndio"
352 +           OTHER_OBJS="$OTHER_OBJS src/hostapi/sndio/pa_sndio.o"
353 +           AC_DEFINE(PA_USE_SNDIO,1)
354 +        fi
355 +
356          if [[ "$have_jack" = "yes" ] && [ "$with_jack" != "no" ]] ; then
357             DLL_LIBS="$DLL_LIBS $JACK_LIBS"
358             CFLAGS="$CFLAGS $JACK_CFLAGS"
359 @@ -504,6 +519,7 @@ case "$target_os" in
360          ;;
361       *)
362         AC_MSG_RESULT([
363 +  Sndio ....................... $have_sndio
364    OSS ......................... $have_oss
365    JACK ........................ $have_jack
366  ])
367
368
369 [FILE:836:patches/patch-include_portaudio.h]
370 $OpenBSD: patch-include_portaudio_h,v 1.2 2013/03/12 00:59:50 brad Exp $
371 --- include/portaudio.h.orig    2021-04-01 00:35:42 UTC
372 +++ include/portaudio.h
373 @@ -287,7 +287,8 @@ typedef enum PaHostApiTypeId
374      paWDMKS=11,
375      paJACK=12,
376      paWASAPI=13,
377 -    paAudioScienceHPI=14
378 +    paAudioScienceHPI=14,
379 +    paSndio=15
380  } PaHostApiTypeId;
381  
382  
383 @@ -1200,6 +1201,15 @@ signed long Pa_GetStreamReadAvailable( P
384  signed long Pa_GetStreamWriteAvailable( PaStream* stream );
385  
386  
387 +/** Retrieve the host type handling an open stream.
388 +
389 + @return Returns a non-negative value representing the host API type
390 + handling an open stream or, a PaErrorCode (which are always negative)
391 + if PortAudio is not initialized or an error is encountered.
392 +*/
393 +PaHostApiTypeId Pa_GetStreamHostApiType( PaStream* stream );
394 +
395 +
396  /* Miscellaneous utilities */
397  
398  
399
400
401 [FILE:1404:patches/patch-src_common_pa__front.c]
402 --- src/common/pa_front.c.orig  2021-04-01 00:35:42 UTC
403 +++ src/common/pa_front.c
404 @@ -1257,8 +1257,10 @@ PaError Pa_OpenStream( PaStream** stream
405                                    hostApiInputParametersPtr, hostApiOutputParametersPtr,
406                                    sampleRate, framesPerBuffer, streamFlags, streamCallback, userData );
407  
408 -    if( result == paNoError )
409 +    if( result == paNoError ) {
410          AddOpenStream( *stream );
411 +        PA_STREAM_REP(*stream)->hostApiType = hostApi->info.type;
412 +    }
413  
414  
415      PA_LOGAPI(("Pa_OpenStream returned:\n" ));
416 @@ -1770,6 +1772,32 @@ signed long Pa_GetStreamWriteAvailable(
417      return result;
418  }
419  
420 +PaHostApiTypeId Pa_GetStreamHostApiType( PaStream* stream )
421 +{
422 +    PaError error = PaUtil_ValidateStreamPointer( stream );
423 +    PaHostApiTypeId result;
424 +
425 +#ifdef PA_LOG_API_CALLS
426 +    PaUtil_DebugPrint("Pa_GetStreamHostApiType called:\n" );
427 +    PaUtil_DebugPrint("\tPaStream* stream: 0x%p\n", stream );
428 +#endif
429 +
430 +    if( error == paNoError )
431 +    {
432 +        result = PA_STREAM_REP(stream)->hostApiType;
433 +    }
434 +    else
435 +    {
436 +        result = (PaHostApiTypeId) error;
437 +    }
438 +
439 +#ifdef PA_LOG_API_CALLS
440 +    PaUtil_DebugPrint("Pa_GetStreamHostApiType returned:\n" );
441 +    PaUtil_DebugPrint("\tPaError: %d ( %s )\n\n", result, Pa_GetErrorText( result ) );
442 +#endif
443 +
444 +    return result;
445 +}
446  
447  PaError Pa_GetSampleSize( PaSampleFormat format )
448  {
449
450
451 [FILE:365:patches/patch-src_common_pa__stream.c]
452 --- src/common/pa_stream.c.orig 2021-04-01 00:35:42 UTC
453 +++ src/common/pa_stream.c
454 @@ -93,6 +93,8 @@ void PaUtil_InitializeStreamRepresentati
455      streamRepresentation->streamInfo.inputLatency = 0.;
456      streamRepresentation->streamInfo.outputLatency = 0.;
457      streamRepresentation->streamInfo.sampleRate = 0.;
458 +
459 +    streamRepresentation->hostApiType = 0;
460  }
461  
462  
463
464
465 [FILE:319:patches/patch-src_common_pa__stream.h]
466 --- src/common/pa_stream.h.orig 2021-04-01 00:35:42 UTC
467 +++ src/common/pa_stream.h
468 @@ -152,6 +152,7 @@ typedef struct PaUtilStreamRepresentatio
469      PaStreamFinishedCallback *streamFinishedCallback;
470      void *userData;
471      PaStreamInfo streamInfo;
472 +    PaHostApiTypeId hostApiType;
473  } PaUtilStreamRepresentation;
474  
475  
476
477
478 [FILE:728:patches/patch-src_hostapi_oss_pa__unix__oss.c]
479 --- src/hostapi/oss/pa_unix_oss.c.orig  2021-04-01 00:35:42 UTC
480 +++ src/hostapi/oss/pa_unix_oss.c
481 @@ -2032,6 +2032,30 @@ error:
482      return result;
483  }
484  
485 +const char *PaOSS_GetStreamInputDevice( PaStream* s )
486 +{
487 +    PaOssStream *stream = (PaOssStream*)s;
488 +
489 +    if( stream->capture )
490 +    {
491 +      return stream->capture->devName;
492 +    }
493 +
494 +   return NULL;
495 +}
496 +
497 +const char *PaOSS_GetStreamOutputDevice( PaStream* s )
498 +{
499 +    PaOssStream *stream = (PaOssStream*)s;
500 +
501 +    if( stream->playback )
502 +    {
503 +      return stream->playback->devName;
504 +    }
505 +
506 +   return NULL;
507 +}
508 +
509  
510  /* TODO: Compute number of allocated bytes somewhere else, can we use ODELAY with capture */
511  static signed long GetStreamWriteAvailable( PaStream* s )
512
513
514 [FILE:1016:patches/patch-src_os_unix_pa__unix__hostapis.c]
515 $OpenBSD: patch-src_os_unix_pa_unix_hostapis_c,v 1.2 2013/03/12 00:59:50 brad Exp $
516
517 Difference to OpenBSD patch: PA_USE_SNDIO has been moved before
518 PA_USE_OSS, so that portaudio prefers the sndio output.
519
520 --- src/os/unix/pa_unix_hostapis.c.orig 2021-04-01 00:35:42 UTC
521 +++ src/os/unix/pa_unix_hostapis.c
522 @@ -44,6 +44,7 @@
523  
524  PaError PaJack_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index );
525  PaError PaAlsa_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index );
526 +PaError PaSndio_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index );
527  PaError PaOSS_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index );
528  /* Added for IRIX, Pieter, oct 2, 2003: */
529  PaError PaSGI_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index );
530 @@ -69,6 +70,10 @@ PaUtilHostApiInitializer *paHostApiIniti
531  
532  #else   /* __linux__ */
533  
534 +#ifdef PA_USE_SNDIO
535 +       PaSndio_Initialize,
536 +#endif
537 +
538  #if PA_USE_OSS
539          PaOSS_Initialize,
540  #endif
541
542
543 [FILE:1787:files/pa_unix_oss.h]
544 #ifndef PA_UNIX_OSS_H
545 #define PA_UNIX_OSS_H
546
547 /*
548  * $Id: portaudio.patch,v 1.10 2009-06-30 04:52:59 llucius Exp $
549  * PortAudio Portable Real-Time Audio Library
550  * OSS-specific extensions
551  *
552  * Copyright (c) 1999-2000 Ross Bencina and Phil Burk
553  *
554  * Permission is hereby granted, free of charge, to any person obtaining
555  * a copy of this software and associated documentation files
556  * (the "Software"), to deal in the Software without restriction,
557  * including without limitation the rights to use, copy, modify, merge,
558  * publish, distribute, sublicense, and/or sell copies of the Software,
559  * and to permit persons to whom the Software is furnished to do so,
560  * subject to the following conditions:
561  *
562  * The above copyright notice and this permission notice shall be
563  * included in all copies or substantial portions of the Software.
564  *
565  * Any person wishing to distribute modifications to the Software is
566  * requested to send the modifications to the original developer so that
567  * they can be incorporated into the canonical version.
568  *
569  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
570  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
571  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
572  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
573  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
574  * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
575  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
576  *
577  */
578
579 /** @file
580  * OSS-specific PortAudio API extension header file.
581  */
582
583 #ifdef __cplusplus
584 extern "C" {
585 #endif
586
587 const char *PaOSS_GetStreamInputDevice( PaStream *s );
588
589 const char *PaOSS_GetStreamOutputDevice( PaStream *s );
590
591 #ifdef __cplusplus
592 }
593 #endif
594
595 #endif
596