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