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 */

Reply via email to