pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

audacity, portaudio: update to 3.7.7 and 2.0.7



Module Name:	pkgsrc-wip
Committed By:	Adam Ciarciński <adam%defguard.net@localhost>
Pushed By:	adam
Date:		Tue Apr 21 10:32:12 2026 +0200
Changeset:	6c297ab9238f3c1822f3b590471b7f4d0fd6d41e

Modified Files:
	audacity/Makefile
	audacity/PLIST
	audacity/TODO
	audacity/distinfo
	portmidi/Makefile
	portmidi/PLIST
	portmidi/distinfo
Added Files:
	audacity/patches/patch-CMakeLists.txt
	audacity/patches/patch-cmake-proxies_cmake-modules_AudacityFunctions.cmake
	audacity/patches/patch-cmake-proxies_cmake-modules_dependencies_rapidjson.cmake
	audacity/patches/patch-libraries_lib-wx-wrappers_CMakeLists.txt
	audacity/patches/patch-src_CMakeLists.txt

Log Message:
audacity, portaudio: update to 3.7.7 and 2.0.7

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=6c297ab9238f3c1822f3b590471b7f4d0fd6d41e

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 audacity/Makefile                                  |  14 +-
 audacity/PLIST                                     | 235 ++++++++++++++++++++-
 audacity/TODO                                      | 105 +--------
 audacity/distinfo                                  |  11 +-
 audacity/patches/patch-CMakeLists.txt              |  53 +++++
 ...e-proxies_cmake-modules_AudacityFunctions.cmake |  40 ++++
 ...xies_cmake-modules_dependencies_rapidjson.cmake |  15 ++
 .../patch-libraries_lib-wx-wrappers_CMakeLists.txt |  15 ++
 audacity/patches/patch-src_CMakeLists.txt          |  47 +++++
 portmidi/Makefile                                  |  11 +-
 portmidi/PLIST                                     |   2 +-
 portmidi/distinfo                                  |   6 +-
 12 files changed, 430 insertions(+), 124 deletions(-)

diffs:
diff --git a/audacity/Makefile b/audacity/Makefile
index b2ba9da98e..b6f0c7a8a2 100644
--- a/audacity/Makefile
+++ b/audacity/Makefile
@@ -1,6 +1,6 @@
 # $NetBSD$
 
-DISTNAME=	audacity-sources-3.7.5
+DISTNAME=	audacity-sources-3.7.7
 PKGNAME=	${DISTNAME:S/-sources//}
 CATEGORIES=	audio
 MASTER_SITES=	${MASTER_SITE_GITHUB:=audacity/}
@@ -14,9 +14,9 @@ LICENSE=	gnu-gpl-v2 AND gnu-gpl-v3 # AND Creative Commons-Attribution 3.0 Unport
 
 TOOL_DEPENDS+=	nasm-[0-9]*:../../devel/nasm
 
-USE_TOOLS+=		pkg-config
-USE_PKGLOCALEDIR=	yes
 USE_LANGUAGES=		c c++
+USE_PKGLOCALEDIR=	yes
+USE_TOOLS+=		pkg-config
 
 CMAKE_CONFIGURE_ARGS+=	-Daudacity_conan_enabled=OFF
 #CMAKE_CONFIGURE_ARGS+=	-Daudacity_use_zlib=system
@@ -26,7 +26,7 @@ CMAKE_CONFIGURE_ARGS+=	-Daudacity_has_vst3=off
 # unpackaged
 CMAKE_CONFIGURE_ARGS+=	-Daudacity_use_portsmf:STRING=local
 CMAKE_CONFIGURE_ARGS+=	-DPortAudio_INCLUDE_DIR=${BUILDLINK_DIR.portaudio}/include/portaudio2
-CMAKE_CONFIGURE_ARGS+=	-DPortAudio_LIBRARIES=${BUILDLINK_DIR.portaudio}/lib/portaudio2/libportaudio.so
+CMAKE_CONFIGURE_ARGS+=	-DPortAudio_LIBRARIES=${BUILDLINK_DIR.portaudio}/lib/portaudio2/libportaudio.${SHLIB_EXT}
 
 PKGCONFIG_OVERRIDE+=	lib-src/libsbsms/sbsms.pc.in
 PKGCONFIG_OVERRIDE+=	lib-src/libscorealign/scorealign.pc.in
@@ -47,10 +47,12 @@ PKGCONFIG_OVERRIDE+=	lib-src/soundtouch/soundtouch.pc.in
 PKGCONFIG_OVERRIDE+=	lib-src/twolame/twolame.pc.in
 
 # runs image-compiler during build which wants to find lib-theme.so
-MAKE_ENV+=	LD_LIBRARY_PATH=${WRKSRC}/${CMAKE_BUILD_DIR}/Debug/lib/audacity
+MAKE_ENV+=	LD_LIBRARY_PATH=${WRKSRC}/${CMAKE_BUILD_DIR}/Debug/lib
+# for Darwin
+MAKE_ENV+=	DYLD_LIBRARY_PATH=${WRKSRC}/${CMAKE_BUILD_DIR}/Debug/lib
 
-.include "../../lang/python/tool.mk"
 .include "../../devel/cmake/build.mk"
+.include "../../lang/python/tool.mk"
 
 .include "../../audio/flac/buildlink3.mk"
 .include "../../audio/lame/buildlink3.mk"
diff --git a/audacity/PLIST b/audacity/PLIST
index 92ba51a2d7..716e028680 100644
--- a/audacity/PLIST
+++ b/audacity/PLIST
@@ -1,4 +1,233 @@
 @comment $NetBSD$
-@comment TODO: to fill this file with the file listing:
-@comment TODO: 1. run "/usr/bin/make package"
-@comment TODO: 2. run "/usr/bin/make print-PLIST"
+bin/audacity
+lib/lib-audacity-application-logic.so
+lib/lib-audio-devices.so
+lib/lib-audio-graph.so
+lib/lib-audio-io.so
+lib/lib-basic-ui.so
+lib/lib-builtin-effects.so
+lib/lib-channel.so
+lib/lib-command-parameters.so
+lib/lib-components.so
+lib/lib-concurrency.so
+lib/lib-crypto.so
+lib/lib-dynamic-range-processor.so
+lib/lib-effects.so
+lib/lib-exceptions.so
+lib/lib-export-ui.so
+lib/lib-ffmpeg-support.so
+lib/lib-fft.so
+lib/lib-file-formats.so
+lib/lib-files.so
+lib/lib-graphics.so
+lib/lib-import-export.so
+lib/lib-ipc.so
+lib/lib-label-track.so
+lib/lib-ladspa.so
+lib/lib-lv2.so
+lib/lib-math.so
+lib/lib-menus.so
+lib/lib-mixer.so
+lib/lib-module-manager.so
+lib/lib-music-information-retrieval.so
+lib/lib-note-track.so
+lib/lib-numeric-formats.so
+lib/lib-nyquist-effects.so
+lib/lib-playable-track.so
+lib/lib-preference-pages.so
+lib/lib-preferences.so
+lib/lib-project-file-io.so
+lib/lib-project-history.so
+lib/lib-project-rate.so
+lib/lib-project.so
+lib/lib-realtime-effects.so
+lib/lib-registries.so
+lib/lib-sample-track.so
+lib/lib-screen-geometry.so
+lib/lib-shuttlegui.so
+lib/lib-snapping.so
+lib/lib-sqlite-helpers.so
+lib/lib-stretching-sequence.so
+lib/lib-string-utils.so
+lib/lib-strings.so
+lib/lib-tags.so
+lib/lib-theme-resources.so
+lib/lib-theme.so
+lib/lib-time-and-pitch.so
+lib/lib-time-frequency-selection.so
+lib/lib-time-track.so
+lib/lib-track-selection.so
+lib/lib-track.so
+lib/lib-transactions.so
+lib/lib-utility.so
+lib/lib-uuid.so
+lib/lib-viewport.so
+lib/lib-vst.so
+lib/lib-wave-track-fft.so
+lib/lib-wave-track-paint.so
+lib/lib-wave-track-settings.so
+lib/lib-wave-track.so
+lib/lib-wx-init.so
+lib/lib-wx-wrappers.so
+lib/lib-xml.so
+lib/modules/mod-aup.so
+lib/modules/mod-cl.so
+lib/modules/mod-ffmpeg.so
+lib/modules/mod-flac.so
+lib/modules/mod-lof.so
+lib/modules/mod-midi-import-export.so
+lib/modules/mod-mp2.so
+lib/modules/mod-mp3.so
+lib/modules/mod-mpg123.so
+lib/modules/mod-ogg.so
+lib/modules/mod-opus.so
+lib/modules/mod-pcm.so
+lib/modules/mod-script-pipe.so
+lib/modules/mod-wavpack.so
+man/man1/audacity.1
+share/applications/audacity.desktop
+share/audacity/EffectsMenuDefaults.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/ShelfFilter.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/equalabel.ny
+share/audacity/plug-ins/highpass.ny
+share/audacity/plug-ins/label-sounds.ny
+share/audacity/plug-ins/legacy-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/vocoder.ny
+share/doc/audacity/LICENSE.txt
+share/doc/audacity/README.md
+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/co/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/mr/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/metainfo/audacity.appdata.xml
+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/TODO b/audacity/TODO
index c9329c62a6..8a86fe2b3a 100644
--- a/audacity/TODO
+++ b/audacity/TODO
@@ -1,104 +1 @@
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o: in function `wxTabTraversalWrapper<FileDialog>::wxTabTraversalWrapper<wxWindow*&, wxString, wxString const&, wxString const&, wxString, long&, wxPoint const&, wxSize const&, wxString>(wxWindow*&, wxString&&, wxString const&, wxString const&, wxString&&, long&, wxPoint const&, wxSize const&, wxString&&)':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:27:(.text+0xb449): undefined reference to `FileDialog::FileDialog(wxWindow*, wxString const&, wxString const&, wxString const&, wxString const&, long, wxPoint const&, wxSize const&, wxString const&)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o: in function `ApplyMacroDialog::OnApplyToFiles(wxCommandEvent&)':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/src/BatchProcessDialog.cpp:368:(.text+0xb527): undefined reference to `FileDialog::SetFilterIndex(int)'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/src/BatchProcessDialog.cpp:369:(.text+0xb536): undefined reference to `FileDialog::ShowModal()'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/src/BatchProcessDialog.cpp:376:(.text+0xb57e): undefined reference to `FileDialog::GetPaths(wxArrayString&) const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o: in function `wxTabTraversalWrapper<FileDialog>::~wxTabTraversalWrapper()':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text+0xc1bd): undefined reference to `FileDialog::~FileDialog()'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text+0xc262): undefined reference to `FileDialog::~FileDialog()'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o: in function `wxTabTraversalWrapper<FileDialog>::~wxTabTraversalWrapper()':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text._ZN21wxTabTraversalWrapperI10FileDialogED2Ev[_ZN21wxTabTraversalWrapperI10FileDialogED5Ev]+0x32): undefined reference to `FileDialog::~FileDialog()'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o: in function `wxTabTraversalWrapper<FileDialog>::~wxTabTraversalWrapper()':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text._ZN21wxTabTraversalWrapperI10FileDialogED0Ev[_ZN21wxTabTraversalWrapperI10FileDialogED5Ev]+0x2c): undefined reference to `FileDialog::~FileDialog()'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text._ZN17FileDialogWrapperD2Ev[_ZN17FileDialogWrapperD5Ev]+0x32): undefined reference to `FileDialog::~FileDialog()'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22: more undefined references to `FileDialog::~FileDialog()' follow
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTI21wxTabTraversalWrapperI10FileDialogE[_ZTI21wxTabTraversalWrapperI10FileDialogE]+0x10): undefined reference to `typeinfo for FileDialog'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x20): undefined reference to `FileDialog::GetClassInfo() const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x80): undefined reference to `FileDialog::GetEventTable() const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x88): undefined reference to `FileDialog::GetEventHashTable() const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x598): undefined reference to `FileDialog::DoSetSize(int, int, int, int, int)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x678): undefined reference to `FileDialog::AddChildGTK(wxWindow*)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x7a0): undefined reference to `FileDialog::ShowModal()'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x7f0): undefined reference to `FileDialog::SetMessage(wxString const&)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x7f8): undefined reference to `FileDialog::SetPath(wxString const&)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x800): undefined reference to `FileDialog::SetDirectory(wxString const&)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x808): undefined reference to `FileDialog::SetFilename(wxString const&)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x810): undefined reference to `FileDialog::SetWildcard(wxString const&)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x818): undefined reference to `FileDialog::SetFilterIndex(int)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x828): undefined reference to `FileDialog::GetPath() const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x830): undefined reference to `FileDialog::GetPaths(wxArrayString&) const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x840): undefined reference to `FileDialog::GetFilename() const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x848): undefined reference to `FileDialog::GetFilenames(wxArrayString&) const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x858): undefined reference to `FileDialog::GetFilterIndex() const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV21wxTabTraversalWrapperI10FileDialogE[_ZTV21wxTabTraversalWrapperI10FileDialogE]+0x8a0): undefined reference to `FileDialog::SetFileExtension(wxString const&)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x20): undefined reference to `FileDialog::GetClassInfo() const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x80): undefined reference to `FileDialog::GetEventTable() const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x88): undefined reference to `FileDialog::GetEventHashTable() const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x598): undefined reference to `FileDialog::DoSetSize(int, int, int, int, int)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x678): undefined reference to `FileDialog::AddChildGTK(wxWindow*)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x7a0): undefined reference to `FileDialog::ShowModal()'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x7f0): undefined reference to `FileDialog::SetMessage(wxString const&)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x7f8): undefined reference to `FileDialog::SetPath(wxString const&)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x800): undefined reference to `FileDialog::SetDirectory(wxString const&)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x808): undefined reference to `FileDialog::SetFilename(wxString const&)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x810): undefined reference to `FileDialog::SetWildcard(wxString const&)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x818): undefined reference to `FileDialog::SetFilterIndex(int)'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x828): undefined reference to `FileDialog::GetPath() const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x830): undefined reference to `FileDialog::GetPaths(wxArrayString&) const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x840): undefined reference to `FileDialog::GetFilename() const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x848): undefined reference to `FileDialog::GetFilenames(wxArrayString&) const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x858): undefined reference to `FileDialog::GetFilterIndex() const'
-ld: src/CMakeFiles/Audacity.dir/BatchProcessDialog.cpp.o:(.data.rel.ro._ZTV17FileDialogWrapper[_ZTV17FileDialogWrapper]+0x8a0): undefined reference to `FileDialog::SetFileExtension(wxString const&)'
-ld: src/CMakeFiles/Audacity.dir/ProjectFileManager.cpp.o: in function `wxTabTraversalWrapper<FileDialog>::wxTabTraversalWrapper<wxWindow*&, wxString, wxString const&, wxString const&, wxString, long&, wxPoint const&, wxSize const&, wxString>(wxWindow*&, wxString&&, wxString const&, wxString const&, wxString&&, long&, wxPoint const&, wxSize const&, wxString&&)':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:27:(.text+0x1f9b): undefined reference to `FileDialog::FileDialog(wxWindow*, wxString const&, wxString const&, wxString const&, wxString const&, long, wxPoint const&, wxSize const&, wxString const&)'
-ld: src/CMakeFiles/Audacity.dir/ProjectFileManager.cpp.o: in function `ProjectFileManager::ShowOpenDialog(FileNames::Operation, FileNames::FileType const&)':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/src/ProjectFileManager.cpp:879:(.text+0x20dd): undefined reference to `FileDialog::SetFilterIndex(int)'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/src/ProjectFileManager.cpp:881:(.text+0x20e5): undefined reference to `FileDialog::ShowModal()'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/src/ProjectFileManager.cpp:884:(.text+0x20f0): undefined reference to `FileDialog::GetFilterIndex() const'
-ld: src/CMakeFiles/Audacity.dir/ProjectFileManager.cpp.o: in function `wxTabTraversalWrapper<FileDialog>::~wxTabTraversalWrapper()':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text+0x2135): undefined reference to `FileDialog::~FileDialog()'
-ld: src/CMakeFiles/Audacity.dir/ProjectFileManager.cpp.o: in function `ProjectFileManager::ShowOpenDialog(FileNames::Operation, FileNames::FileType const&)':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/src/ProjectFileManager.cpp:892:(.text+0x21f9): undefined reference to `FileDialog::GetPaths(wxArrayString&) const'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/src/ProjectFileManager.cpp:895:(.text+0x2204): undefined reference to `FileDialog::GetPath() const'
-ld: src/CMakeFiles/Audacity.dir/ProjectFileManager.cpp.o: in function `wxTabTraversalWrapper<FileDialog>::wxTabTraversalWrapper<wxWindow*&, wxString, wxString const&, wxString const&, wxString, long&, wxPoint const&, wxSize const&, wxString>(wxWindow*&, wxString&&, wxString const&, wxString const&, wxString&&, long&, wxPoint const&, wxSize const&, wxString&&)':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:30:(.text.unlikely+0x25c): undefined reference to `FileDialog::~FileDialog()'
-ld: src/CMakeFiles/Audacity.dir/ProjectFileManager.cpp.o: in function `wxTabTraversalWrapper<FileDialog>::~wxTabTraversalWrapper()':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text.unlikely+0x349): undefined reference to `FileDialog::~FileDialog()'
-ld: src/CMakeFiles/Audacity.dir/effects/EqualizationCurvesDialog.cpp.o: in function `EqualizationCurvesDialog::OnImport(wxCommandEvent&)':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/src/effects/EqualizationCurvesDialog.cpp:438:(.text+0x25b6): undefined reference to `FileDialog::ShowModal()'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/src/effects/EqualizationCurvesDialog.cpp:441:(.text+0x25d0): undefined reference to `FileDialog::GetPath() const'
-ld: src/CMakeFiles/Audacity.dir/effects/EqualizationCurvesDialog.cpp.o: in function `wxTabTraversalWrapper<FileDialog>::~wxTabTraversalWrapper()':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text+0x2813): undefined reference to `FileDialog::~FileDialog()'
-ld: src/CMakeFiles/Audacity.dir/effects/EqualizationCurvesDialog.cpp.o: in function `EqualizationCurvesDialog::OnExport(wxCommandEvent&)':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/src/effects/EqualizationCurvesDialog.cpp:455:(.text+0x73b9): undefined reference to `FileDialog::ShowModal()'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/src/effects/EqualizationCurvesDialog.cpp:458:(.text+0x73d7): undefined reference to `FileDialog::GetPath() const'
-ld: src/CMakeFiles/Audacity.dir/effects/EqualizationCurvesDialog.cpp.o: in function `wxTabTraversalWrapper<FileDialog>::~wxTabTraversalWrapper()':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text+0x8241): undefined reference to `FileDialog::~FileDialog()'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text.unlikely+0x303): undefined reference to `FileDialog::~FileDialog()'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text.unlikely+0xbe6): undefined reference to `FileDialog::~FileDialog()'
-ld: src/CMakeFiles/Audacity.dir/effects/EqualizationCurvesDialog.cpp.o: in function `wxTabTraversalWrapper<FileDialog>::wxTabTraversalWrapper<wxWindow*&, wxString, wxString const&, wxString const&, wxString, long&, wxPoint const&, wxSize const&, wxString>(wxWindow*&, wxString&&, wxString const&, wxString const&, wxString&&, long&, wxPoint const&, wxSize const&, wxString&&)':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:27:(.text._ZN17FileDialogWrapperC2EP8wxWindowRK18TranslatableStringRK8wxStringS7_RKSt6vectorIN9FileNames8FileTypeESaISA_EElRK7wxPointRK6wxSizeS4_[_ZN17FileDialogWrapperC5EP8wxWindowRK18TranslatableStringRK8wxStringS7_RKSt6vectorIN9FileNames8FileTypeESaISA_EElRK7wxPointRK6wxSizeS4_]+0x185): undefined reference to `FileDialog::FileDialog(wxWindow*, wxString const&, wxString const&, wxString const&, wxString const&, long, wxPoint const&, wxSize const&, wxString const&)'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:30:(.text._ZN17FileDialogWrapperC2EP8wxWindowRK18TranslatableStringRK8wxStringS7_RKSt6vectorIN9FileNames8FileTypeESaISA_EElRK7wxPointRK6wxSizeS4_[_ZN17FileDialogWrapperC5EP8wxWindowRK18TranslatableStringRK8wxStringS7_RKSt6vectorIN9FileNames8FileTypeESaISA_EElRK7wxPointRK6wxSizeS4_]+0x2a5): undefined reference to `FileDialog::~FileDialog()'
-ld: src/CMakeFiles/Audacity.dir/effects/nyquist/Nyquist.cpp.o: in function `NyquistEffect::OnFileButton(wxCommandEvent&)':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/src/effects/nyquist/Nyquist.cpp:803:(.text+0x2a59): undefined reference to `FileDialog::ShowModal()'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/src/effects/nyquist/Nyquist.cpp:813:(.text+0x2ad0): undefined reference to `FileDialog::GetPaths(wxArrayString&) const'
-ld: src/CMakeFiles/Audacity.dir/effects/nyquist/Nyquist.cpp.o: in function `wxTabTraversalWrapper<FileDialog>::~wxTabTraversalWrapper()':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text+0x305e): undefined reference to `FileDialog::~FileDialog()'
-ld: src/CMakeFiles/Audacity.dir/effects/nyquist/Nyquist.cpp.o: in function `NyquistEffect::OnFileButton(wxCommandEvent&)':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/src/effects/nyquist/Nyquist.cpp:824:(.text+0x3144): undefined reference to `FileDialog::GetPath() const'
-ld: src/CMakeFiles/Audacity.dir/effects/nyquist/Nyquist.cpp.o: in function `NyquistEffect::OnLoad(wxCommandEvent&)':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/src/effects/nyquist/Nyquist.cpp:634:(.text+0x6ed8): undefined reference to `FileDialog::ShowModal()'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/src/effects/nyquist/Nyquist.cpp:639:(.text+0x6eee): undefined reference to `FileDialog::GetPath() const'
-ld: src/CMakeFiles/Audacity.dir/effects/nyquist/Nyquist.cpp.o: in function `wxTabTraversalWrapper<FileDialog>::~wxTabTraversalWrapper()':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text+0x70ff): undefined reference to `FileDialog::~FileDialog()'
-ld: src/CMakeFiles/Audacity.dir/effects/nyquist/Nyquist.cpp.o: in function `NyquistEffect::OnSave(wxCommandEvent&)':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/src/effects/nyquist/Nyquist.cpp:661:(.text+0x7af8): undefined reference to `FileDialog::ShowModal()'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/src/effects/nyquist/Nyquist.cpp:666:(.text+0x7b0e): undefined reference to `FileDialog::GetPath() const'
-ld: src/CMakeFiles/Audacity.dir/effects/nyquist/Nyquist.cpp.o: in function `wxTabTraversalWrapper<FileDialog>::~wxTabTraversalWrapper()':
-/scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text+0x7d04): undefined reference to `FileDialog::~FileDialog()'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text.unlikely+0x459): undefined reference to `FileDialog::~FileDialog()'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text.unlikely+0xf55): undefined reference to `FileDialog::~FileDialog()'
-ld: /scratch/wip/audacity/work/audacity-sources-3.7.5/libraries/lib-wx-wrappers/wxPanelWrapper.h:22:(.text.unlikely+0x11f0): undefined reference to `FileDialog::~FileDialog()'
-ld: Debug/lib/audacity/lib-wx-wrappers.so: undefined reference to `FileDialog::~FileDialog()'
-ld: Debug/lib/audacity/lib-wx-wrappers.so: undefined reference to `FileDialog::FileDialog(wxWindow*, wxString const&, wxString const&, wxString const&, wxString const&, long, wxPoint const&, wxSize const&, wxString const&)'
+Adjust PLIST for Darwin.
diff --git a/audacity/distinfo b/audacity/distinfo
index ec17fd6280..713715ebf5 100644
--- a/audacity/distinfo
+++ b/audacity/distinfo
@@ -1,8 +1,13 @@
 $NetBSD$
 
-BLAKE2s (audacity-sources-3.7.5.tar.gz) = 732b45d3bbb14aca54b4a016de57f12cb93e7fc3124e848f5875bea55e4743b1
-SHA512 (audacity-sources-3.7.5.tar.gz) = d253986c88b4004c4a9ebebde52ecb7e5c92a42485a74041aa6eca0d314437875dc9573785c61005db65d2ae3e07c398b903aafca63406412612b6f748f937b1
-Size (audacity-sources-3.7.5.tar.gz) = 64284764 bytes
+BLAKE2s (audacity-sources-3.7.7.tar.gz) = f82f482134b26b043f4200d86cc4bd37024fadd9fb6bf48198f3409aaea35dc1
+SHA512 (audacity-sources-3.7.7.tar.gz) = 6871b2d6508c2fcf7e20f2d2d2a003cc62768c9ff09c8d5a96fc1971b0c1f3f2f1b2d48f71ee0b1da1a6ea6a9b8d930bca9a64c8003c67cb46b22c3e21af90f4
+Size (audacity-sources-3.7.7.tar.gz) = 64575292 bytes
+SHA1 (patch-CMakeLists.txt) = 7bdc2406ca9356742ed775c60aac8a748a90ecbf
+SHA1 (patch-cmake-proxies_cmake-modules_AudacityFunctions.cmake) = be6fc260ab5c192dbbd743428a7880d4a253b9fb
+SHA1 (patch-cmake-proxies_cmake-modules_dependencies_rapidjson.cmake) = 905782babb8da1e1493af6856ce2394db51a930c
 SHA1 (patch-lib-src_libnyquist_nyquist_xlisp_xlisp.h) = 1974b5a294503ebc03e9690e0182d81258853117
 SHA1 (patch-libraries_lib-basic-ui_BasicUI.cpp) = 31683629ac042af74d301a69d282743923a69266
 SHA1 (patch-libraries_lib-nyquist-effects_NyquistBase.cpp) = 0cb6e15e077360256e55a425be896dd5edfd9009
+SHA1 (patch-libraries_lib-wx-wrappers_CMakeLists.txt) = 361afeca9be2c67df1bac65e552f15edcb4ca363
+SHA1 (patch-src_CMakeLists.txt) = 7c70022c467ccca9bab7d33fc863e2408b9a3479
diff --git a/audacity/patches/patch-CMakeLists.txt b/audacity/patches/patch-CMakeLists.txt
new file mode 100644
index 0000000000..51b94d980d
--- /dev/null
+++ b/audacity/patches/patch-CMakeLists.txt
@@ -0,0 +1,53 @@
+$NetBSD$
+
+On Darwin, don't build application bundle.
+Install into lib/, not lib/audacity/ for consistent linking (needed on Darwin).
+
+--- CMakeLists.txt.orig	2025-12-11 15:41:59.000000000 +0000
++++ CMakeLists.txt
+@@ -83,7 +83,7 @@ cmake_policy( SET CMP0072 NEW )
+ cmake_policy( SET CMP0075 NEW )
+ 
+ # Definitions that must happen before the project() command
+-if( APPLE )
++if(FALSE)
+    # CMAKE_HOST_SYSTEM_PROCESSOR is empty before the project() command
+    execute_process(
+       COMMAND uname -m
+@@ -437,7 +437,7 @@ set( _DEST "${_DESTDIR}" )
+ set( INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" )
+ set( _LIBDIR "${CMAKE_INSTALL_LIBDIR}" )
+ set( _DATADIR "${CMAKE_INSTALL_DATADIR}" )
+-set( _PKGLIB "${_LIBDIR}/audacity" )
++set( _PKGLIB "${_LIBDIR}" )
+ set( _PKGDATA "${_DATADIR}/audacity/" )
+ set( _MANDIR "${CMAKE_INSTALL_MANDIR}" )
+ set( _MODDIR "${_PKGLIB}/modules" )
+@@ -451,16 +451,11 @@ set( CMAKE_INSTALL_RPATH_USE_LINK_PATH F
+ 
+ # Adjust them for the Mac
+ if( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
+-   set( _APPDIR "Audacity.app/Contents" )
+-   set( _DEST "${_DESTDIR}/${_APPDIR}" )
+-   set( _EXEDIR "${_APPDIR}/MacOS" )
+-   set( _MODDIR "${_APPDIR}/modules" )
+-   set( _PKGLIB "${_APPDIR}/Frameworks" )
+ 
+    set( CMAKE_MACOSX_RPATH OFF )
+-   set( CMAKE_INSTALL_RPATH "@loader_path/../Frameworks" )
++   #set( CMAKE_INSTALL_RPATH "@loader_path/../Frameworks" )
+    set( CMAKE_BUILD_WITH_INSTALL_NAME_DIR ON)
+-   set( CMAKE_INSTALL_NAME_DIR "@loader_path/../Frameworks" )
++   #set( CMAKE_INSTALL_NAME_DIR "@loader_path/../Frameworks" )
+    set( CMAKE_BUILD_WITH_INSTALL_RPATH ON )
+ elseif( WIN32 )
+    set( _EXEDIR "" )
+@@ -586,7 +581,7 @@ if( NOT CMAKE_INSTALL_LIBDIR STREQUAL "l
+ endif()
+ 
+ # Define Audacity's name
+-if( CMAKE_SYSTEM_NAME MATCHES "Darwin|Windows" )
++if(FALSE)
+    set( AUDACITY_NAME "Audacity" )
+ else()
+    set( AUDACITY_NAME "audacity" )
diff --git a/audacity/patches/patch-cmake-proxies_cmake-modules_AudacityFunctions.cmake b/audacity/patches/patch-cmake-proxies_cmake-modules_AudacityFunctions.cmake
new file mode 100644
index 0000000000..0783ee5288
--- /dev/null
+++ b/audacity/patches/patch-cmake-proxies_cmake-modules_AudacityFunctions.cmake
@@ -0,0 +1,40 @@
+$NetBSD$
+
+Install libraries on all platforms.
+
+--- cmake-proxies/cmake-modules/AudacityFunctions.cmake.orig	2026-04-21 08:01:54.004132443 +0000
++++ cmake-proxies/cmake-modules/AudacityFunctions.cmake
+@@ -515,11 +515,9 @@ function( audacity_module_fn NAME SOURCE
+             FOLDER "modules" # for IDE organization
+       )
+ 
+-      if( NOT CMAKE_SYSTEM_NAME MATCHES "Windows|Darwin" )
+          set_target_property_all(${TARGET} INSTALL_RPATH "$ORIGIN:$ORIGIN/..")
+          set_target_property_all(${TARGET} BUILD_RPATH "$ORIGIN:$ORIGIN/..")
+          install( TARGETS ${TARGET} OPTIONAL DESTINATION ${_MODDIR} )
+-      endif()
+ 
+       fix_bundle( ${TARGET} )
+    else()
+@@ -530,11 +528,9 @@ function( audacity_module_fn NAME SOURCE
+             FOLDER "libraries" # for IDE organization
+       )
+ 
+-      if( NOT CMAKE_SYSTEM_NAME MATCHES "Windows|Darwin" )
+          set_target_property_all(${TARGET} INSTALL_RPATH "$ORIGIN")
+          set_target_property_all(${TARGET} BUILD_RPATH "$ORIGIN")
+          install(TARGETS ${TARGET} DESTINATION ${_PKGLIB} )
+-      endif()
+    endif()
+ 
+    export_symbol_define( export_symbol "${TARGET}" )
+@@ -832,9 +828,7 @@ function(make_interface_library
+ endfunction()
+ 
+ function(fix_bundle target_name)
+-   if (NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
+       return()
+-   endif()
+ 
+    add_custom_command(
+       TARGET ${target_name}
diff --git a/audacity/patches/patch-cmake-proxies_cmake-modules_dependencies_rapidjson.cmake b/audacity/patches/patch-cmake-proxies_cmake-modules_dependencies_rapidjson.cmake
new file mode 100644
index 0000000000..9d4402c6ca
--- /dev/null
+++ b/audacity/patches/patch-cmake-proxies_cmake-modules_dependencies_rapidjson.cmake
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Rapidjson is headers only and doesn't provide any libraries.
+
+--- cmake-proxies/cmake-modules/dependencies/rapidjson.cmake.orig	2026-04-15 12:48:57.129799245 +0000
++++ cmake-proxies/cmake-modules/dependencies/rapidjson.cmake
+@@ -3,7 +3,7 @@
+ if(NOT ${_OPT}use_rapidjson STREQUAL "off")
+    if(NOT TARGET rapidjson::rapidjson)
+       if(TARGET rapidjson)
+-         add_library( rapidjson::rapidjson ALIAS rapidjson )
++         add_library( rapidjson::rapidjson INTERFACE IMPORTED GLOBAL)
+       else()
+          # At least on Arch RapidJSONConfig.cmake does not define a target at all
+          # so we have to do it ourselves
diff --git a/audacity/patches/patch-libraries_lib-wx-wrappers_CMakeLists.txt b/audacity/patches/patch-libraries_lib-wx-wrappers_CMakeLists.txt
new file mode 100644
index 0000000000..fa06b5d4af
--- /dev/null
+++ b/audacity/patches/patch-libraries_lib-wx-wrappers_CMakeLists.txt
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Support NetBSD.
+
+--- libraries/lib-wx-wrappers/CMakeLists.txt.orig	2026-04-21 08:21:17.985986999 +0000
++++ libraries/lib-wx-wrappers/CMakeLists.txt
+@@ -25,7 +25,7 @@ set( SOURCES
+       FileDialog/mac/FileDialogPrivate.mm
+       FileDialog/mac/FileDialogPrivate.h
+    >
+-   $<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD,CYGWIN>:
++   $<$<PLATFORM_ID:Linux,FreeBSD,NetBSD,OpenBSD,CYGWIN>:
+       FileDialog/gtk/FileDialogPrivate.cpp
+       FileDialog/gtk/FileDialogPrivate.h
+    >
diff --git a/audacity/patches/patch-src_CMakeLists.txt b/audacity/patches/patch-src_CMakeLists.txt
new file mode 100644
index 0000000000..0576823411
--- /dev/null
+++ b/audacity/patches/patch-src_CMakeLists.txt
@@ -0,0 +1,47 @@
+$NetBSD$
+
+On Darwin, don't build application bundle.
+
+--- src/CMakeLists.txt.orig	2025-12-11 15:41:59.000000000 +0000
++++ src/CMakeLists.txt
+@@ -1079,6 +1079,7 @@ if( CMAKE_SYSTEM_NAME MATCHES "Windows"
+       POST_BUILD
+    )
+ elseif( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
++if(FALSE)
+    # Bug 2400 workaround
+    #
+    # Replaces the SDK version in the built executable with 10.13 to
+@@ -1116,6 +1117,7 @@ elseif( CMAKE_SYSTEM_NAME MATCHES "Darwi
+          RESOURCE "${MAC_RESOURCES};${RESOURCES}"
+    )
+    set_target_property_all( ${TARGET} RUNTIME_OUTPUT_DIRECTORY "${_DESTDIR}" )
++endif()
+ 
+    # These sources must be compiled as Objective C++ and excluded
+    # from precompiled header usage
+@@ -1169,6 +1171,7 @@ elseif( CMAKE_SYSTEM_NAME MATCHES "Darwi
+       POST_BUILD
+    )
+ 
++if(FALSE)
+    fix_bundle( ${TARGET} )
+ 
+    # Because the wrapper is copied into the bundle, we need to
+@@ -1186,6 +1189,7 @@ elseif( CMAKE_SYSTEM_NAME MATCHES "Darwi
+          POST_BUILD
+       )
+    endif()
++endif()
+ else()
+    set_target_properties(
+       ${TARGET}
+@@ -1414,7 +1418,7 @@ if( "${CMAKE_GENERATOR}" MATCHES "Xcode|
+       PATTERN "riff-test-util.exe" EXCLUDE
+    )
+ else()
+-   if( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
++   if(FALSE)
+       install( TARGETS ${TARGET}
+                DESTINATION "."
+                RESOURCE DESTINATION "${_APPDIR}/Resources" )
diff --git a/portmidi/Makefile b/portmidi/Makefile
index e064c24e7a..9560dabc25 100644
--- a/portmidi/Makefile
+++ b/portmidi/Makefile
@@ -1,23 +1,26 @@
 # $NetBSD$
 
-DISTNAME=	portmidi-2.0.4
+DISTNAME=	portmidi-2.0.7
 CATEGORIES=	audio
 MASTER_SITES=	${MASTER_SITE_GITHUB:=PortMidi/}
 GITHUB_PROJECT=	portmidi
 GITHUB_TAG=	v${PKGVERSION_NOREV}
 
 MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE=	https://github.com/PortMidi/portmidi/
+HOMEPAGE=	https://github.com/PortMidi/portmidi
 COMMENT=	Cross Plattform MIDI IO
 LICENSE=	mit
 
-USE_TOOLS+=	pkg-config
 USE_LANGUAGES=	c c++
+USE_TOOLS+=	pkg-config
 
 PKGCONFIG_OVERRIDE+=	packaging/portmidi.pc.in
 
 CFLAGS.NetBSD+=	-DCLOCK_MONOTONIC_RAW=CLOCK_MONOTONIC
 
-.include "../../devel/cmake/build.mk"
+.include "../../mk/bsd.prefs.mk"
+.if ${OPSYS} != "Darwin"
 .include "../../audio/alsa-lib/buildlink3.mk"
+.endif
+.include "../../devel/cmake/build.mk"
 .include "../../mk/bsd.pkg.mk"
diff --git a/portmidi/PLIST b/portmidi/PLIST
index d8f33d8082..0c7f137032 100644
--- a/portmidi/PLIST
+++ b/portmidi/PLIST
@@ -8,5 +8,5 @@ lib/cmake/PortMidi/PortMidiTargets-release.cmake
 lib/cmake/PortMidi/PortMidiTargets.cmake
 lib/libportmidi.so
 lib/libportmidi.so.2
-lib/libportmidi.so.2.0.3
+lib/libportmidi.so.2.0.7
 lib/pkgconfig/portmidi.pc
diff --git a/portmidi/distinfo b/portmidi/distinfo
index d4a1082685..173b2278c7 100644
--- a/portmidi/distinfo
+++ b/portmidi/distinfo
@@ -1,5 +1,5 @@
 $NetBSD$
 
-BLAKE2s (portmidi-2.0.4.tar.gz) = a2ed4a0e5b0d209c9e273a68d199c486370953424faa481b00237b41fd682b7e
-SHA512 (portmidi-2.0.4.tar.gz) = d9f22d161e1dd9a4bde1971bb2b6e5352da51545f4fe5ecad11c55e7a535f0d88efce18d1c8fd91e93b70a7926150f86a0f53972ad92370e86556a8dd72dc194
-Size (portmidi-2.0.4.tar.gz) = 263225 bytes
+BLAKE2s (portmidi-2.0.7.tar.gz) = 32ddba5242b8d36b484a7cb33cc82c2395adaa80899b6b27e567560061714e87
+SHA512 (portmidi-2.0.7.tar.gz) = da5c8ccdbd47c7318fffc26f2fa812c0ab8365ffd6e5b6cb25260b9d2dc42ecb41a0cf1de224e28b1ca99ce3b53773f7a16e7cce5c90a89975ef6a7d03c77638
+Size (portmidi-2.0.7.tar.gz) = 190701 bytes



Home | Main Index | Thread Index | Old Index