From 667b14b48f0e4ba155d05cd1c185550c8749ca5b Mon Sep 17 00:00:00 2001 From: nia Date: Sat, 23 May 2020 12:20:34 +0100 Subject: [PATCH] Add audacity-cmake. audio/audacity building with cmake over autotools --- Makefile | 1 + audacity-cmake/DESCR | 5 + audacity-cmake/Makefile | 115 ++++++++++++++ audacity-cmake/PLIST | 149 ++++++++++++++++++ audacity-cmake/TODO | 1 + audacity-cmake/distinfo | 18 +++ audacity-cmake/patches/patch-CMakeLists.txt | 15 ++ audacity-cmake/patches/patch-aa | 15 ++ .../patch-cmake-proxies_CMakeLists.txt | 15 ++ ...cmake-proxies_portaudio-v19_CMakeLists.txt | 34 ++++ ...atch-cmake-proxies_portmidi_CMakeLists.txt | 42 +++++ ...b-src_libnyquist_nyquist_cmupv_src_cmupv.c | 15 ++ ...ib-src_libnyquist_nyquist_nyqsrc_sndread.c | 15 ++ ...src_libnyquist_nyquist_sys_unix_switches.h | 39 +++++ ...h-lib-src_libnyquist_nyquist_xlisp_xlisp.h | 34 ++++ audacity-cmake/patches/patch-src_AudioIO.cpp | 18 +++ .../patches/patch-src_CMakeLists.txt | 15 ++ .../patch-src_effects_NoiseRemoval.cpp | 17 ++ 18 files changed, 563 insertions(+) create mode 100644 audacity-cmake/DESCR create mode 100644 audacity-cmake/Makefile create mode 100644 audacity-cmake/PLIST create mode 100644 audacity-cmake/TODO create mode 100644 audacity-cmake/distinfo create mode 100644 audacity-cmake/patches/patch-CMakeLists.txt create mode 100644 audacity-cmake/patches/patch-aa create mode 100644 audacity-cmake/patches/patch-cmake-proxies_CMakeLists.txt create mode 100644 audacity-cmake/patches/patch-cmake-proxies_portaudio-v19_CMakeLists.txt create mode 100644 audacity-cmake/patches/patch-cmake-proxies_portmidi_CMakeLists.txt create mode 100644 audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_cmupv_src_cmupv.c create mode 100644 audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_nyqsrc_sndread.c create mode 100644 audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_sys_unix_switches.h create mode 100644 audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_xlisp_xlisp.h create mode 100644 audacity-cmake/patches/patch-src_AudioIO.cpp create mode 100644 audacity-cmake/patches/patch-src_CMakeLists.txt create mode 100644 audacity-cmake/patches/patch-src_effects_NoiseRemoval.cpp diff --git a/Makefile b/Makefile index d4c9d9f385..ebbfb299e7 100644 --- a/Makefile +++ b/Makefile @@ -200,6 +200,7 @@ SUBDIR+= atftp SUBDIR+= atlas SUBDIR+= atompaw SUBDIR+= ats2 +SUBDIR+= audacity-cmake SUBDIR+= audiere SUBDIR+= audio-mml SUBDIR+= audit-system diff --git a/audacity-cmake/DESCR b/audacity-cmake/DESCR new file mode 100644 index 0000000000..b54ae64812 --- /dev/null +++ b/audacity-cmake/DESCR @@ -0,0 +1,5 @@ +Audacity is a program that manipulates digital audio waveforms. It supports all +common editing operations such as Cut, Copy, and Paste, plus it will mix tracks +and apply plug-in effects to any part of a sound. It also has a built-in +amplitude envelope editor, a customizable spectrogram mode and a frequency +analysis window for audio analysis applications. diff --git a/audacity-cmake/Makefile b/audacity-cmake/Makefile new file mode 100644 index 0000000000..f1751f35d3 --- /dev/null +++ b/audacity-cmake/Makefile @@ -0,0 +1,115 @@ +# $NetBSD: Makefile,v 1.132 2020/04/16 21:54:06 nia Exp $ + +DISTNAME= audacity-2.4.1 +CATEGORIES= audio +MASTER_SITES= ${MASTER_SITE_GITHUB:=audacity/} +GITHUB_PROJECT= Audacity +GITHUB_TAG= Audacity-${PKGVERSION_NOREV} + +MAINTAINER= nia@NetBSD.org +HOMEPAGE= https://www.audacityteam.org/ +COMMENT= Multi-track audio editor and recorder +LICENSE= gnu-gpl-v2 # AND cc-by-v3.0-license + +WRKSRC= ${WRKDIR}/audacity-${GITHUB_PROJECT}-${PKGVERSION_NOREV} + +USE_CMAKE= yes +USE_TOOLS+= pkg-config msgfmt msgmerge +USE_LANGUAGES= c c++ + +# uses -std=gnu++14 +GCC_REQD+= 4.9 + +CONFIGURE_DIRS= build +CMAKE_ARG_PATH= .. + +CMAKE_ARGS+= -DCMAKE_BUILD_TYPE="Debug" + +CMAKE_ARGS+= -Daudacity_use_expat=system +CMAKE_ARGS+= -Daudacity_use_ffmpeg=linked +CMAKE_ARGS+= -Daudacity_use_flac=system +CMAKE_ARGS+= -Daudacity_use_id3tag=system +CMAKE_ARGS+= -Daudacity_use_lame=system +CMAKE_ARGS+= -Daudacity_use_libextra=local +CMAKE_ARGS+= -Daudacity_use_lv2=system +CMAKE_ARGS+= -Daudacity_use_mad=off +CMAKE_ARGS+= -Daudacity_use_midi=local +CMAKE_ARGS+= -Daudacity_use_nyquist=local +CMAKE_ARGS+= -Daudacity_use_ogg=system +CMAKE_ARGS+= -Daudacity_use_portaudio=system +CMAKE_ARGS+= -Daudacity_use_portmixer=local +CMAKE_ARGS+= -Daudacity_use_portsmf=local +CMAKE_ARGS+= -Daudacity_use_sbsms=local +CMAKE_ARGS+= -Daudacity_use_sndfile=system +CMAKE_ARGS+= -Daudacity_use_soundtouch=system +CMAKE_ARGS+= -Daudacity_use_soxr=system +CMAKE_ARGS+= -Daudacity_use_twolame=system +CMAKE_ARGS+= -Daudacity_use_vamp=system +CMAKE_ARGS+= -Daudacity_use_vorbis=system +CMAKE_ARGS+= -Daudacity_use_wxwidgets=system + +CMAKE_ARGS+= -DLIB_avcodec=${PREFIX}/lib/ffmpeg4/libavcodec.so +CMAKE_ARGS+= -DLIB_avformat=${PREFIX}/lib/ffmpeg4/libavformat.so +CMAKE_ARGS+= -DLIB_avutil=${PREFIX}/lib/ffmpeg4/libavutil.so + +CFLAGS+= -DHAVE_VISIBILITY=1 # ??? + +.include "../../mk/oss.buildlink3.mk" + +.if ${OSS_TYPE} != "none" +CMAKE_ARGS+= -Daudacity_use_pa_oss=ON +CFLAGS+= -DHAVE_SYS_SOUNDCARD_H=1 +.endif + +.if ${OPSYS} == "Linux" +CMAKE_ARGS+= -Daudacity_use_pa_alsa=ON +. include "../../audio/alsa-lib/buildlink3.mk" +.endif + +.if ${OPSYS} == "Darwin" +CMAKE_ARGS+= -Daudacity_use_pa_coreaudio=ON +.endif + +.if ${MACHINE_ARCH} == "i386" +# 64 bit atomic ops are required +CXXFLAGS+= -march=i586 +.endif + +CFLAGS.SunOS+= -fPIC + +PYTHON_VERSIONS_ACCEPTED= 27 +PYTHON_FOR_BUILD_ONLY= tool + +pre-configure: + ${MKDIR} -p ${WRKSRC}/build + +.include "../../sysutils/desktop-file-utils/desktopdb.mk" +.include "../../graphics/hicolor-icon-theme/buildlink3.mk" +.include "../../audio/lilv/buildlink3.mk" +.include "../../audio/lv2/buildlink3.mk" +.include "../../audio/soundtouch/buildlink3.mk" +BUILDLINK_API_DEPENDS.twolame+= twolame>=0.3.9 +.include "../../audio/twolame/buildlink3.mk" +.include "../../audio/ladspa/buildlink3.mk" +.include "../../audio/lame/buildlink3.mk" +.include "../../audio/libid3tag/buildlink3.mk" +.include "../../audio/libsoxr/buildlink3.mk" +.include "../../audio/libsndfile/buildlink3.mk" +.include "../../audio/libvorbis/buildlink3.mk" +BUILDLINK_API_DEPENDS.portaudio+= portaudio>=190600.20161030nb2 +.include "../../audio/portaudio/buildlink3.mk" +.include "../../audio/suil/buildlink3.mk" +.include "../../audio/vamp-plugin-sdk/buildlink3.mk" +.include "../../devel/gettext-lib/buildlink3.mk" +.include "../../devel/zlib/buildlink3.mk" +BUILDLINK_API_DEPENDS.flac+= flac>=1.3.0 +.include "../../audio/flac/buildlink3.mk" +.include "../../lang/python/tool.mk" +.include "../../multimedia/ffmpeg4/buildlink3.mk" +.include "../../multimedia/libogg/buildlink3.mk" +.include "../../textproc/expat/buildlink3.mk" +.include "../../x11/wxGTK30/buildlink3.mk" +.include "../../mk/dlopen.buildlink3.mk" +BUILDLINK_TRANSFORM+= opt:-ldl:${BUILDLINK_LDADD.dl:Q} +.include "../../mk/pthread.buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/audacity-cmake/PLIST b/audacity-cmake/PLIST new file mode 100644 index 0000000000..110499b10b --- /dev/null +++ b/audacity-cmake/PLIST @@ -0,0 +1,149 @@ +@comment $NetBSD$ +bin/audacity +man/man1/audacity.1 +share/appdata/audacity.appdata.xml +share/applications/audacity.desktop +share/audacity/EQDefaultCurves.xml +share/audacity/nyquist/aud-do-support.lsp +share/audacity/nyquist/dspprims.lsp +share/audacity/nyquist/envelopes.lsp +share/audacity/nyquist/equalizer.lsp +share/audacity/nyquist/evalenv.lsp +share/audacity/nyquist/fileio.lsp +share/audacity/nyquist/init.lsp +share/audacity/nyquist/misc.lsp +share/audacity/nyquist/nyinit-dbg.lsp +share/audacity/nyquist/nyinit.lsp +share/audacity/nyquist/nyqmisc.lsp +share/audacity/nyquist/nyquist-plot.txt +share/audacity/nyquist/nyquist.lsp +share/audacity/nyquist/printrec.lsp +share/audacity/nyquist/profile.lsp +share/audacity/nyquist/rawwaves/mand1.raw +share/audacity/nyquist/rawwaves/mand10.raw +share/audacity/nyquist/rawwaves/mand11.raw +share/audacity/nyquist/rawwaves/mand12.raw +share/audacity/nyquist/rawwaves/mand2.raw +share/audacity/nyquist/rawwaves/mand3.raw +share/audacity/nyquist/rawwaves/mand4.raw +share/audacity/nyquist/rawwaves/mand5.raw +share/audacity/nyquist/rawwaves/mand6.raw +share/audacity/nyquist/rawwaves/mand7.raw +share/audacity/nyquist/rawwaves/mand8.raw +share/audacity/nyquist/rawwaves/mand9.raw +share/audacity/nyquist/rawwaves/mandpluk.raw +share/audacity/nyquist/rawwaves/marmstk1.raw +share/audacity/nyquist/rawwaves/sinewave.raw +share/audacity/nyquist/sal-parse.lsp +share/audacity/nyquist/sal.lsp +share/audacity/nyquist/seq.lsp +share/audacity/nyquist/seqfnint.lsp +share/audacity/nyquist/seqmidi.lsp +share/audacity/nyquist/sliders.lsp +share/audacity/nyquist/sndfnint.lsp +share/audacity/nyquist/spec-plot.lsp +share/audacity/nyquist/spectral-analysis.lsp +share/audacity/nyquist/stk.lsp +share/audacity/nyquist/system.lsp +share/audacity/nyquist/test.lsp +share/audacity/nyquist/velocity.lsp +share/audacity/nyquist/xlinit.lsp +share/audacity/nyquist/xm.lsp +share/audacity/plug-ins/SilenceMarker.ny +share/audacity/plug-ins/SoundFinder.ny +share/audacity/plug-ins/SpectralEditMulti.ny +share/audacity/plug-ins/SpectralEditParametricEQ.ny +share/audacity/plug-ins/SpectralEditShelves.ny +share/audacity/plug-ins/StudioFadeOut.ny +share/audacity/plug-ins/adjustable-fade.ny +share/audacity/plug-ins/beat.ny +share/audacity/plug-ins/clipfix.ny +share/audacity/plug-ins/crossfadeclips.ny +share/audacity/plug-ins/crossfadetracks.ny +share/audacity/plug-ins/delay.ny +share/audacity/plug-ins/eq-xml-to-txt-converter.ny +share/audacity/plug-ins/equalabel.ny +share/audacity/plug-ins/highpass.ny +share/audacity/plug-ins/limiter.ny +share/audacity/plug-ins/lowpass.ny +share/audacity/plug-ins/noisegate.ny +share/audacity/plug-ins/notch.ny +share/audacity/plug-ins/nyquist-plug-in-installer.ny +share/audacity/plug-ins/pluck.ny +share/audacity/plug-ins/rhythmtrack.ny +share/audacity/plug-ins/rissetdrum.ny +share/audacity/plug-ins/rms.ny +share/audacity/plug-ins/sample-data-export.ny +share/audacity/plug-ins/sample-data-import.ny +share/audacity/plug-ins/spectral-delete.ny +share/audacity/plug-ins/tremolo.ny +share/audacity/plug-ins/vocalrediso.ny +share/audacity/plug-ins/vocoder.ny +share/doc/audacity/LICENSE.txt +share/doc/audacity/README.txt +share/icons/hicolor/16x16/audacity.png +share/icons/hicolor/22x22/audacity.png +share/icons/hicolor/24x24/audacity.png +share/icons/hicolor/32x32/audacity.png +share/icons/hicolor/48x48/audacity.png +share/icons/hicolor/scalable/apps/audacity.svg +share/locale/af/LC_MESSAGES/audacity.mo +share/locale/ar/LC_MESSAGES/audacity.mo +share/locale/be/LC_MESSAGES/audacity.mo +share/locale/bg/LC_MESSAGES/audacity.mo +share/locale/bn/LC_MESSAGES/audacity.mo +share/locale/bs/LC_MESSAGES/audacity.mo +share/locale/ca/LC_MESSAGES/audacity.mo +share/locale/ca_ES@valencia/LC_MESSAGES/audacity.mo +share/locale/cs/LC_MESSAGES/audacity.mo +share/locale/cy/LC_MESSAGES/audacity.mo +share/locale/da/LC_MESSAGES/audacity.mo +share/locale/de/LC_MESSAGES/audacity.mo +share/locale/el/LC_MESSAGES/audacity.mo +share/locale/es/LC_MESSAGES/audacity.mo +share/locale/eu/LC_MESSAGES/audacity.mo +share/locale/eu_ES/LC_MESSAGES/audacity.mo +share/locale/fa/LC_MESSAGES/audacity.mo +share/locale/fi/LC_MESSAGES/audacity.mo +share/locale/fr/LC_MESSAGES/audacity.mo +share/locale/ga/LC_MESSAGES/audacity.mo +share/locale/gl/LC_MESSAGES/audacity.mo +share/locale/he/LC_MESSAGES/audacity.mo +share/locale/hi/LC_MESSAGES/audacity.mo +share/locale/hr/LC_MESSAGES/audacity.mo +share/locale/hu/LC_MESSAGES/audacity.mo +share/locale/hy/LC_MESSAGES/audacity.mo +share/locale/id/LC_MESSAGES/audacity.mo +share/locale/it/LC_MESSAGES/audacity.mo +share/locale/ja/LC_MESSAGES/audacity.mo +share/locale/ka/LC_MESSAGES/audacity.mo +share/locale/km/LC_MESSAGES/audacity.mo +share/locale/ko/LC_MESSAGES/audacity.mo +share/locale/lt/LC_MESSAGES/audacity.mo +share/locale/mk/LC_MESSAGES/audacity.mo +share/locale/my/LC_MESSAGES/audacity.mo +share/locale/nb/LC_MESSAGES/audacity.mo +share/locale/nl/LC_MESSAGES/audacity.mo +share/locale/oc/LC_MESSAGES/audacity.mo +share/locale/pl/LC_MESSAGES/audacity.mo +share/locale/pt_BR/LC_MESSAGES/audacity.mo +share/locale/pt_PT/LC_MESSAGES/audacity.mo +share/locale/ro/LC_MESSAGES/audacity.mo +share/locale/ru/LC_MESSAGES/audacity.mo +share/locale/sk/LC_MESSAGES/audacity.mo +share/locale/sl/LC_MESSAGES/audacity.mo +share/locale/sr_RS/LC_MESSAGES/audacity.mo +share/locale/sr_RS@latin/LC_MESSAGES/audacity.mo +share/locale/sv/LC_MESSAGES/audacity.mo +share/locale/ta/LC_MESSAGES/audacity.mo +share/locale/tg/LC_MESSAGES/audacity.mo +share/locale/tr/LC_MESSAGES/audacity.mo +share/locale/uk/LC_MESSAGES/audacity.mo +share/locale/vi/LC_MESSAGES/audacity.mo +share/locale/zh_CN/LC_MESSAGES/audacity.mo +share/locale/zh_TW/LC_MESSAGES/audacity.mo +share/mime/packages/audacity.xml +share/pixmaps/audacity.xpm +share/pixmaps/audacity16.xpm +share/pixmaps/audacity32.xpm +share/pixmaps/gnome-mime-application-x-audacity-project.xpm diff --git a/audacity-cmake/TODO b/audacity-cmake/TODO new file mode 100644 index 0000000000..04e90f5a1f --- /dev/null +++ b/audacity-cmake/TODO @@ -0,0 +1 @@ +Fails to start. diff --git a/audacity-cmake/distinfo b/audacity-cmake/distinfo new file mode 100644 index 0000000000..2cf5856c86 --- /dev/null +++ b/audacity-cmake/distinfo @@ -0,0 +1,18 @@ +$NetBSD: distinfo,v 1.42 2020/04/16 21:54:06 nia Exp $ + +SHA1 (audacity-2.4.1.tar.gz) = f164b6a2e02947809cee2e313cb61279a60d4829 +RMD160 (audacity-2.4.1.tar.gz) = 8c0b5643d015c7dd5bbe1b47eae0025201eb51b2 +SHA512 (audacity-2.4.1.tar.gz) = 2f0a3f7e24dce91ae520e285dbb05778b68e0fe37b8ded55ac568b5f8135069951b3986764adc5d0791c165b283a3c19596f1d6f51ba17028e0eb04558c63f25 +Size (audacity-2.4.1.tar.gz) = 63935461 bytes +SHA1 (patch-CMakeLists.txt) = 633bd63588271947d3992397f6106d2568bedf24 +SHA1 (patch-aa) = 67c0ec5ff99004d9035de13f0263add46ed8c994 +SHA1 (patch-cmake-proxies_CMakeLists.txt) = 468fb2e8812c86f1a681bdd7bb70c5575af14bfa +SHA1 (patch-cmake-proxies_portaudio-v19_CMakeLists.txt) = 6ab7d63fc7ae0a37dbce77887b0f8a1d24f3d059 +SHA1 (patch-cmake-proxies_portmidi_CMakeLists.txt) = 661dd5714908299fea9b8612a762e57bba613472 +SHA1 (patch-lib-src_libnyquist_nyquist_cmupv_src_cmupv.c) = 3d6cb845d82b1bcbe31dabd4bad30cb1f7ea27d5 +SHA1 (patch-lib-src_libnyquist_nyquist_nyqsrc_sndread.c) = dbc0b5b88043c7b2895742e78e6a5990f65012ef +SHA1 (patch-lib-src_libnyquist_nyquist_sys_unix_switches.h) = d313f137f11d3e0fafa383ddeccbc89021e9ddee +SHA1 (patch-lib-src_libnyquist_nyquist_xlisp_xlisp.h) = 2d4558f059d86633a1fcdda22ef0c914758b35a0 +SHA1 (patch-src_AudioIO.cpp) = 1b44c68c4233b24a5fa4e17515eb237fee0e283a +SHA1 (patch-src_CMakeLists.txt) = 7f88c6433e70b900d401f04871a4591b6c991983 +SHA1 (patch-src_effects_NoiseRemoval.cpp) = 6d72545cde66ac90d4eb3821a3a3f384ccbf46f2 diff --git a/audacity-cmake/patches/patch-CMakeLists.txt b/audacity-cmake/patches/patch-CMakeLists.txt new file mode 100644 index 0000000000..7655329761 --- /dev/null +++ b/audacity-cmake/patches/patch-CMakeLists.txt @@ -0,0 +1,15 @@ +$NetBSD$ + +NetBSD support. + +--- CMakeLists.txt.orig 2020-05-19 09:43:53.000000000 +0000 ++++ CMakeLists.txt +@@ -246,7 +246,7 @@ check_include_file( "fcntl.h" HAVE_FCNTL + check_include_file( "fenv.h" HAVE_FENV_H ) + check_include_file( "inttypes.h" HAVE_INTTYPES_H ) + check_include_file( "limits.h" HAVE_LIMITS_H ) +-if( CMAKE_SYSTEM_NAME MATCHES "FreeBSD" ) ++if( CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "NetBSD" ) + check_include_file( "stdlib.h" HAVE_MALLOC_H ) + check_include_file( "sys/endian.h" HAVE_ENDIAN_H ) + else() diff --git a/audacity-cmake/patches/patch-aa b/audacity-cmake/patches/patch-aa new file mode 100644 index 0000000000..31e34678bc --- /dev/null +++ b/audacity-cmake/patches/patch-aa @@ -0,0 +1,15 @@ +$NetBSD: patch-aa,v 1.5 2015/04/20 13:38:23 rodent Exp $ + +Undefine NEED_ULONG. + +--- lib-src/libnyquist/nyquist/cmt/cext.h.orig 2015-03-02 01:07:22.000000000 +0000 ++++ lib-src/libnyquist/nyquist/cmt/cext.h +@@ -52,6 +52,8 @@ EXIT(n) -- calls exit(n) after shutting + + #if HAS_SYS_TYPES_H + #include ++#define ulong u_long ++#undef NEED_ULONG + #endif + + #if HAS_MALLOC_H diff --git a/audacity-cmake/patches/patch-cmake-proxies_CMakeLists.txt b/audacity-cmake/patches/patch-cmake-proxies_CMakeLists.txt new file mode 100644 index 0000000000..8d4c84d0bd --- /dev/null +++ b/audacity-cmake/patches/patch-cmake-proxies_CMakeLists.txt @@ -0,0 +1,15 @@ +$NetBSD$ + +Detect pkgsrc portaudio using pkg-config. + +--- cmake-proxies/CMakeLists.txt.orig 2020-05-19 09:43:53.000000000 +0000 ++++ cmake-proxies/CMakeLists.txt +@@ -150,7 +150,7 @@ addlib( lame lame L + addlib( lib-widget-extra libextra EXTRA YES YES "" ) + addlib( libsndfile sndfile SNDFILE YES YES "sndfile >= 1.0.28" ) + addlib( libsoxr soxr SOXR YES YES "soxr >= 0.1.1" ) +-addlib( portaudio-v19 portaudio PORTAUDIO YES YES "" ) ++addlib( portaudio-v19 portaudio PORTAUDIO YES YES "portaudio-2.0 >= 19" ) + + # Optional libraries + # diff --git a/audacity-cmake/patches/patch-cmake-proxies_portaudio-v19_CMakeLists.txt b/audacity-cmake/patches/patch-cmake-proxies_portaudio-v19_CMakeLists.txt new file mode 100644 index 0000000000..2835b022c6 --- /dev/null +++ b/audacity-cmake/patches/patch-cmake-proxies_portaudio-v19_CMakeLists.txt @@ -0,0 +1,34 @@ +$NetBSD$ + +NetBSD support. This doesn't actually get used since we use portaudio +from pkgsrc, but it's useful for upstream. + +--- cmake-proxies/portaudio-v19/CMakeLists.txt.orig 2020-05-19 09:43:53.000000000 +0000 ++++ cmake-proxies/portaudio-v19/CMakeLists.txt +@@ -56,7 +56,7 @@ else() + "Use the portaudio CoreAudio interface if available" + YES + ) +- elseif( CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD" ) ++ elseif( CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD|NetBSD" ) + cmd_option( + ${_OPT}use_pa_alsa + "Use the portaudio ALSA interface if available" +@@ -118,7 +118,7 @@ list( APPEND SOURCES + ${TARGET_ROOT}/src/hostapi/coreaudio/pa_mac_core_utilities.c + > + +- $<$: ++ $<$: + ${TARGET_ROOT}/src/os/unix/pa_unix_hostapis.c + ${TARGET_ROOT}/src/os/unix/pa_unix_util.c + > +@@ -158,7 +158,7 @@ list( APPEND INCLUDES + ${TARGET_ROOT}/src/os/win + > + +- $<$: ++ $<$: + ${TARGET_ROOT}/src/os/unix + > + diff --git a/audacity-cmake/patches/patch-cmake-proxies_portmidi_CMakeLists.txt b/audacity-cmake/patches/patch-cmake-proxies_portmidi_CMakeLists.txt new file mode 100644 index 0000000000..817277d1ae --- /dev/null +++ b/audacity-cmake/patches/patch-cmake-proxies_portmidi_CMakeLists.txt @@ -0,0 +1,42 @@ +$NetBSD$ + +NetBSD support. + +--- cmake-proxies/portmidi/CMakeLists.txt.orig 2020-05-19 09:43:53.000000000 +0000 ++++ cmake-proxies/portmidi/CMakeLists.txt +@@ -3,7 +3,7 @@ add_library( ${TARGET} STATIC ) + + def_vars() + +-if( CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD" ) ++if( CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD|NetBSD" ) + if( ${_OPT}use_pa_alsa ) + find_package( ALSA ) + endif() +@@ -29,7 +29,7 @@ list( APPEND SOURCES + ${TARGET_ROOT}/porttime/ptmacosx_mach.c + > + +- $<$: ++ $<$: + ${TARGET_ROOT}/pm_linux/finddefault.c + ${TARGET_ROOT}/pm_linux/pmlinux.c + ${TARGET_ROOT}/porttime/ptlinux.c +@@ -53,7 +53,7 @@ list( APPEND INCLUDES + ${TARGET_ROOT}/pm_mac + > + +- $<$: ++ $<$: + ${TARGET_ROOT}/pm_linux + > + ) +@@ -79,7 +79,7 @@ list( APPEND LIBRARIES + $<$: + "-framework CoreMIDI" + > +- $<$: ++ $<$: + compat + > + ) diff --git a/audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_cmupv_src_cmupv.c b/audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_cmupv_src_cmupv.c new file mode 100644 index 0000000000..e576bf3bd3 --- /dev/null +++ b/audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_cmupv_src_cmupv.c @@ -0,0 +1,15 @@ +$NetBSD$ + +Build on systems without log2l (NetBSD 9...) + +--- lib-src/libnyquist/nyquist/cmupv/src/cmupv.c.orig 2020-05-19 09:43:53.000000000 +0000 ++++ lib-src/libnyquist/nyquist/cmupv/src/cmupv.c +@@ -218,7 +218,7 @@ typedef struct { + // + int round_log_power(int fftsize, int *size_ptr) + { +- long double log2_fft = log2l(fftsize); ++ long double log2_fft = log2(fftsize); + int round_log2_fft = (int) log2_fft; + if (round_log2_fft < log2_fft) { + round_log2_fft += 1; diff --git a/audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_nyqsrc_sndread.c b/audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_nyqsrc_sndread.c new file mode 100644 index 0000000000..3af6c083b8 --- /dev/null +++ b/audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_nyqsrc_sndread.c @@ -0,0 +1,15 @@ +$NetBSD: patch-lib-src_libnyquist_nyquist_nyqsrc_sndread.c,v 1.2 2016/06/05 01:02:39 ryoon Exp $ + +Fixes "error: invalid operands to binary" build failure. + +--- lib-src/libnyquist/nyquist/nyqsrc/sndread.c.orig 2016-01-13 14:31:18.000000000 +0000 ++++ lib-src/libnyquist/nyquist/nyqsrc/sndread.c +@@ -167,7 +167,7 @@ LVAL snd_make_read( + #ifdef XL_BIG_ENDIAN + long format = SF_ENDIAN_LITTLE; + #endif +- susp->sf_info.format |= format; ++ susp->sf_info.format |= (int) format; + } + + susp->sndfile = NULL; diff --git a/audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_sys_unix_switches.h b/audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_sys_unix_switches.h new file mode 100644 index 0000000000..ab9ea1c6d9 --- /dev/null +++ b/audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_sys_unix_switches.h @@ -0,0 +1,39 @@ +$NetBSD: patch-lib-src_libnyquist_nyquist_sys_unix_switches.h,v 1.1 2015/04/21 01:33:39 rodent Exp $ + +Define endianness for {Free,Open,Net}BSD and Bitrig. + +--- lib-src/libnyquist/nyquist/sys/unix/switches.h.orig 2015-03-02 01:07:23.000000000 +0000 ++++ lib-src/libnyquist/nyquist/sys/unix/switches.h +@@ -89,6 +89,32 @@ + /* Target processor is big endian. */ + #define CPU_IS_BIG_ENDIAN 1 + #endif ++ #elif defined(__FreeBSD__) || defined(__NetBSD__) ++ #include ++ #if _BYTE_ORDER == _LITTLE_ENDIAN ++ /* Target processor is little endian. */ ++ #define CPU_IS_LITTLE_ENDIAN 1 ++ /* Target processor is big endian. */ ++ #define CPU_IS_BIG_ENDIAN 0 ++ #else ++ /* Target processor is little endian. */ ++ #define CPU_IS_LITTLE_ENDIAN 0 ++ /* Target processor is big endian. */ ++ #define CPU_IS_BIG_ENDIAN 1 ++ #endif ++ #elif defined(__OpenBSD__) || defined(__Bitrig__) ++ #include ++ #if BYTE_ORDER == _LITTLE_ENDIAN ++ /* Target processor is little endian. */ ++ #define CPU_IS_LITTLE_ENDIAN 1 ++ /* Target processor is big endian. */ ++ #define CPU_IS_BIG_ENDIAN 0 ++ #else ++ /* Target processor is little endian. */ ++ #define CPU_IS_LITTLE_ENDIAN 0 ++ /* Target processor is big endian. */ ++ #define CPU_IS_BIG_ENDIAN 1 ++ #endif + #else /* default is little endian */ + /* Target processor is little endian. */ + #define CPU_IS_LITTLE_ENDIAN 1 diff --git a/audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_xlisp_xlisp.h b/audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_xlisp_xlisp.h new file mode 100644 index 0000000000..f7f421ccd5 --- /dev/null +++ b/audacity-cmake/patches/patch-lib-src_libnyquist_nyquist_xlisp_xlisp.h @@ -0,0 +1,34 @@ +$NetBSD: patch-lib-src_libnyquist_nyquist_xlisp_xlisp.h,v 1.2 2018/07/31 21:10:29 jperkin Exp $ + +Define endianness for {Free,Open,Net}BSD and Bitrig. + +--- lib-src/libnyquist/nyquist/xlisp/xlisp.h.orig 2016-01-13 14:31:18.000000000 +0000 ++++ lib-src/libnyquist/nyquist/xlisp/xlisp.h +@@ -151,6 +151,27 @@ extern long ptrtoabs(); + #else + #define XL_BIG_ENDIAN + #endif ++#elif defined(__FreeBSD__) || defined(__NetBSD__) ++ #include ++ #if _BYTE_ORDER == _LITTLE_ENDIAN ++ #define XL_LITTLE_ENDIAN ++ #else ++ #define XL_BIG_ENDIAN ++ #endif ++#elif defined(__OpenBSD__) || defined(__Bitrig__) ++ #include ++ #if BYTE_ORDER == _LITTLE_ENDIAN ++ #define XL_LITTLE_ENDIAN ++ #else ++ #define XL_BIG_ENDIAN ++ #endif ++#elif defined(__sun) ++ #include ++ #ifdef _BIG_ENDIAN ++ #define XL_BIG_ENDIAN ++ #else ++ #define XL_LITTLE_ENDIAN ++ #endif + #endif + + /* Apple CC */ diff --git a/audacity-cmake/patches/patch-src_AudioIO.cpp b/audacity-cmake/patches/patch-src_AudioIO.cpp new file mode 100644 index 0000000000..ac9667bd6a --- /dev/null +++ b/audacity-cmake/patches/patch-src_AudioIO.cpp @@ -0,0 +1,18 @@ +$NetBSD: patch-src_AudioIO.cpp,v 1.3 2019/02/10 17:14:42 nia Exp $ + +CLOCK_MONOTONIC_RAW is Linux-specific. + +--- src/AudioIO.cpp.orig 2018-02-14 07:11:20.000000000 +0000 ++++ src/AudioIO.cpp +@@ -985,7 +985,11 @@ static double SystemTime(bool usingAlsa) + if (usingAlsa) { + struct timespec now; + // CLOCK_MONOTONIC_RAW is unaffected by NTP or adj-time ++#ifdef CLOCK_MONOTONIC_RAW + clock_gettime(CLOCK_MONOTONIC_RAW, &now); ++#else ++ clock_gettime(CLOCK_MONOTONIC, &now); ++#endif + //return now.tv_sec + now.tv_nsec * 0.000000001; + return (now.tv_sec + now.tv_nsec * 0.000000001) - streamStartTime; + } diff --git a/audacity-cmake/patches/patch-src_CMakeLists.txt b/audacity-cmake/patches/patch-src_CMakeLists.txt new file mode 100644 index 0000000000..4a9a5ee387 --- /dev/null +++ b/audacity-cmake/patches/patch-src_CMakeLists.txt @@ -0,0 +1,15 @@ +$NetBSD$ + +CMAKE_MODULE_PATH contains multiple entries when building in pkgsrc. + +--- src/CMakeLists.txt.orig 2020-05-19 09:43:53.000000000 +0000 ++++ src/CMakeLists.txt +@@ -23,7 +23,7 @@ if( GIT_FOUND ) + COMMAND + ${CMAKE_COMMAND} -D GIT=${GIT_EXECUTABLE} + -D _PRVDIR=${_PRVDIR} +- -P ${CMAKE_MODULE_PATH}/Version.cmake ++ -P ${CMAKE_SOURCE_DIR}/cmake-proxies/cmake-modules/Version.cmake + WORKING_DIRECTORY + ${topdir} + ) diff --git a/audacity-cmake/patches/patch-src_effects_NoiseRemoval.cpp b/audacity-cmake/patches/patch-src_effects_NoiseRemoval.cpp new file mode 100644 index 0000000000..f96ff35bcd --- /dev/null +++ b/audacity-cmake/patches/patch-src_effects_NoiseRemoval.cpp @@ -0,0 +1,17 @@ +$NetBSD: patch-src_effects_NoiseRemoval.cpp,v 1.2 2015/04/20 13:38:23 rodent Exp $ + +Fix build for SunOS. + +--- src/effects/NoiseRemoval.cpp.orig 2015-03-02 01:06:57.000000000 +0000 ++++ src/effects/NoiseRemoval.cpp +@@ -50,6 +50,10 @@ + + #include + ++#ifdef __sun ++#include ++#endif ++ + #if defined(__WXMSW__) && !defined(__CYGWIN__) + #include + #define finite(x) _finite(x)