I'd like to adopt the package portaudio. Thanks in advance. -- Takashi Yano <takashi.y...@nifty.ne.jp>
--- origsrc/portaudio/Makefile.in 2011-11-10 22:06:17.000000000 -0600 +++ src/portaudio/Makefile.in 2014-03-31 22:26:01.453864700 -0500 @@ -247,7 +247,7 @@ Makefile: Makefile.in config.status $(SHELL) config.status -all-recursive: +all-recursive: lib/$(PALIB) if test -n "$(SUBDIRS)" ; then for dir in "$(SUBDIRS)"; do $(MAKE) -C $$dir all; done ; fi install-recursive:
NAME="portaudio" VERSION=19.20210406 RELEASE=1 LICENSE="MIT" CATEGORY="Libs" SUMMARY="Cross platform audio I/O library" DESCRIPTION="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." HOMEPAGE="https://www.portaudio.com/" SRC_URI="https://files.portaudio.com/archives/pa_stable_v190700_${VERSION#*.}.tgz" SRC_DIR=${NAME} PATCH_URI=" https://src.fedoraproject.org/rpms/portaudio/raw/rawhide/f/portaudio-doxynodate.patch https://src.fedoraproject.org/rpms/portaudio/raw/rawhide/f/portaudio-audacity.patch 19.20140130-parallel-make.patch "
PKG_NAMES="lib${NAME}2 lib${NAME}cpp0 lib${NAME}-devel lib${NAME}cpp-devel" libportaudio2_CONTENTS=" usr/bin/cyg${NAME}-2.dll usr/share/doc/ " libportaudio_devel_CONTENTS=" usr/include/portaudio.h usr/include/pa_win_*.h usr/lib/libportaudio.* usr/lib/pkgconfig/portaudio-2.0.pc " libportaudiocpp0_CONTENTS=" usr/bin/cyg${NAME}cpp-0.dll " libportaudiocpp_devel_CONTENTS=" usr/include/portaudiocpp/ usr/lib/libportaudiocpp.* usr/lib/pkgconfig/portaudiocpp.pc " CYGCONF_ARGS=" --enable-cxx --without-alsa --without-jack --without-asihpi --with-winapi=wmme,directx,wdmks,wasapi " DOCS="V19-devel-readme.txt" DIFF_EXCLUDES="configure" src_compile() { cd ${S} autoconf cd ${B} cygconf cygmake }
--- origsrc/portaudio/bindings/cpp/example/devs.cxx 2021-04-01 09:35:42.000000000 +0900 +++ src/portaudio/bindings/cpp/example/devs.cxx 2023-09-10 21:48:19.861539500 +0900 @@ -1,7 +1,7 @@ #include <iostream> #include "portaudiocpp/PortAudioCpp.hxx" -#ifdef WIN32 +#if PA_USE_ASIO #include "portaudiocpp/AsioDeviceAdapter.hxx" #endif @@ -109,7 +109,7 @@ int main(int, char*[]) std::cout << "Default high input latency = " << (*i).defaultHighInputLatency() << std::endl; // 8.3 std::cout << "Default high output latency = " << (*i).defaultHighOutputLatency() << std::endl; // 8.3 -#ifdef WIN32 +#if PA_USE_ASIO // ASIO specific latency information: if ((*i).hostApi().typeId() == paASIO) { @@ -124,7 +124,7 @@ int main(int, char*[]) else std::cout << "ASIO buffer granularity = " << asioDevice.granularity() << std::endl; } -#endif // WIN32 +#endif // PA_USE_ASIO std::cout << "Default sample rate = " << (*i).defaultSampleRate() << std::endl; // 8.2 --- origsrc/portaudio/configure.in 2023-09-10 21:48:17.909916600 +0900 +++ src/portaudio/configure.in 2023-09-10 21:48:19.864538500 +0900 @@ -114,7 +114,7 @@ AC_LIBTOOL_WIN32_DLL AC_PROG_LIBTOOL AC_PROG_INSTALL AC_PROG_LN_S -AC_PATH_PROG(AR, ar, no) +AC_PATH_TOOL(AR, ar, no) if [[ $AR = "no" ]] ; then AC_MSG_ERROR("Could not find ar - needed to create a library") fi @@ -281,13 +281,13 @@ case "${host_os}" in PADLL="libportaudio.dylib" ;; - mingw* ) + mingw* | cygwin* ) dnl MingW configuration PADLL="portaudio.dll" THREAD_CFLAGS="-mthreads" - SHARED_FLAGS="-shared" CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/win -DPA_USE_WMME=0 -DPA_USE_ASIO=0 -DPA_USE_WDMKS=0 -DPA_USE_DS=0 -DPA_USE_WASAPI=0" + INCLUDES="$INCLUDES pa_win_waveformat.h" if [[ "x$with_directx" = "xyes" ]]; then DXDIR="$with_dxdir" @@ -303,8 +303,8 @@ case "${host_os}" in if [[ "x$with_asio" = "xyes" ]]; then ASIODIR="$with_asiodir" add_objects src/hostapi/asio/pa_asio.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_coinitialize.o src/hostapi/asio/iasiothiscallresolver.o $ASIODIR/common/asio.o $ASIODIR/host/asiodrivers.o $ASIODIR/host/pc/asiolist.o - LIBS="${LIBS} -lwinmm -lm -lole32 -luuid" - DLL_LIBS="${DLL_LIBS} -lwinmm -lm -lole32 -luuid" + LIBS="${LIBS} -lwinmm -lm -lole32 /lib/w32api/libuuid.a" + DLL_LIBS="${DLL_LIBS} -lwinmm -lm -lole32 /lib/w32api/libuuid.a" CFLAGS="$CFLAGS -ffast-math -fomit-frame-pointer -I\$(top_srcdir)/src/hostapi/asio -I$ASIODIR/host/pc -I$ASIODIR/common -I$ASIODIR/host -UPA_USE_ASIO -DPA_USE_ASIO=1 -DWINDOWS" INCLUDES="$INCLUDES pa_asio.h" @@ -320,8 +320,8 @@ case "${host_os}" in if [[ "x$with_wdmks" = "xyes" ]]; then DXDIR="$with_dxdir" add_objects src/hostapi/wdmks/pa_win_wdmks.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_wdmks_utils.o src/os/win/pa_win_waveformat.o - LIBS="${LIBS} -lwinmm -lm -luuid -lsetupapi -lole32" - DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib -luuid -lsetupapi -lole32" + LIBS="${LIBS} -lwinmm -lm /lib/w32api/libuuid.a -lsetupapi -lole32" + DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib /lib/w32api/libuuid.a -lsetupapi -lole32" #VC98="\"/c/Program Files/Microsoft Visual Studio/VC98/Include\"" #CFLAGS="$CFLAGS -I$VC98 -DPA_NO_WMME -DPA_NO_ASIO" CFLAGS="$CFLAGS -I$DXDIR/include -UPA_USE_WDMKS -DPA_USE_WDMKS=1" @@ -330,7 +330,7 @@ case "${host_os}" in if [[ "x$with_wmme" = "xyes" ]]; then add_objects src/hostapi/wmme/pa_win_wmme.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_waveformat.o - LIBS="${LIBS} -lwinmm -lm -lole32 -luuid" + LIBS="${LIBS} -lwinmm -lm -lole32 /lib/w32api/libuuid.a" DLL_LIBS="${DLL_LIBS} -lwinmm" CFLAGS="$CFLAGS -UPA_USE_WMME -DPA_USE_WMME=1" INCLUDES="$INCLUDES pa_win_wmme.h pa_win_waveformat.h" @@ -338,7 +338,7 @@ case "${host_os}" in if [[ "x$with_wasapi" = "xyes" ]]; then add_objects src/hostapi/wasapi/pa_win_wasapi.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_coinitialize.o src/os/win/pa_win_waveformat.o - LIBS="${LIBS} -lwinmm -lm -lole32 -luuid" + LIBS="${LIBS} -lwinmm -lm -lole32 /lib/w32api/libuuid.a" DLL_LIBS="${DLL_LIBS} -lwinmm -lole32" CFLAGS="$CFLAGS -UPA_USE_WASAPI -DPA_USE_WASAPI=1" INCLUDES="$INCLUDES pa_win_wasapi.h pa_win_waveformat.h" @@ -350,6 +350,7 @@ case "${host_os}" in OTHER_OBJS="src/hostapi/wmme/pa_win_wmme.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_waveformat.o" CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/win -DPA_USE_DS=0 -DPA_USE_WDMKS=0 -DPA_USE_ASIO=0 -DPA_USE_WASAPI=0 -DPA_USE_WMME=1" + INCLUDES="$INCLUDES pa_win_wmme.h pa_win_waveformat.h" LIBS="-lwinmm -lm" PADLL="portaudio.dll" THREAD_CFLAGS="-mthreads" --- origsrc/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.h 2021-04-01 09:35:42.000000000 +0900 +++ src/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.h 2023-09-11 19:54:41.946294800 +0900 @@ -49,10 +49,11 @@ /* on Borland compilers, WIN32 doesn't seem to be defined by default, which breaks dsound.h. Adding the define here fixes the problem. - rossb. */ -#ifdef __BORLANDC__ #if !defined(WIN32) #define WIN32 #endif +#if !defined(_WIN32) +#define _WIN32 #endif /* --- origsrc/portaudio/src/hostapi/wasapi/pa_win_wasapi.c 2021-04-01 09:35:42.000000000 +0900 +++ src/portaudio/src/hostapi/wasapi/pa_win_wasapi.c 2023-09-10 21:48:19.872519800 +0900 @@ -74,7 +74,7 @@ // using adjustments for MinGW build from @mgeier/MXE // https://github.com/mxe/mxe/commit/f4bbc45682f021948bdaefd9fd476e2a04c4740f #include <mmreg.h> // must be before other Wasapi headers -#if defined(_MSC_VER) && (_MSC_VER >= 1400) || defined(__MINGW64_VERSION_MAJOR) +#if defined(_MSC_VER) && (_MSC_VER >= 1400) || defined(__MINGW64_VERSION_MAJOR) || defined(__CYGWIN__) #include <avrt.h> #define COBJMACROS #include <audioclient.h> @@ -243,6 +243,10 @@ #endif +#ifdef __CYGWIN__ +#define _snprintf snprintf +#endif + #ifndef GUID_SECT #define GUID_SECT #endif --- origsrc/portaudio/src/hostapi/wdmks/pa_win_wdmks.c 2021-04-01 09:35:42.000000000 +0900 +++ src/portaudio/src/hostapi/wdmks/pa_win_wdmks.c 2023-09-10 21:48:19.876526300 +0900 @@ -63,8 +63,6 @@ of a device for the duration of active s #ifdef __GNUC__ #include <initguid.h> -#define _WIN32_WINNT 0x0501 -#define WINVER 0x0501 #endif #include <string.h> /* strlen() */ @@ -105,6 +103,13 @@ of a device for the duration of active s #define snprintf _snprintf #define vsnprintf _vsnprintf #endif +#ifdef __CYGWIN__ +#define _snprintf snprintf +#define _vsnprintf vsnprintf +#define _snwprintf swprintf +#define _wcsicmp wcscasecmp +#define _wcsnicmp wcsncasecmp +#endif /* The PA_HP_TRACE macro is used in RT parts, so it can be switched off without affecting the rest of the debug tracing */