On first run, audacity will look for "libmp3lame.so.0" which doesn't exist on OpenBSD, then prompting the user to find the library.
This is doubly absurd, because it doesn't match our naming scheme, and also because we run depend on lame. This patch appears to do the trick: we can load a library without looking at the major number, especially when it doesn't match what the program expects. I assume the rest would help the file requester as well. (note that in order to test, you need to move ~/.config/audacity out of the way) Okay ? Index: Makefile =================================================================== RCS file: /cvs/ports/audio/audacity/Makefile,v retrieving revision 1.92 diff -u -p -r1.92 Makefile --- Makefile 10 Sep 2023 21:12:43 -0000 1.92 +++ Makefile 18 Oct 2023 13:52:34 -0000 @@ -6,7 +6,7 @@ GH_ACCOUNT= audacity GH_PROJECT= audacity GH_TAGNAME= Audacity-3.3.3 DISTNAME= ${GH_TAGNAME:L} -REVISION= 0 +REVISION= 1 CATEGORIES= audio Index: patches/patch-src_export_ExportMP3_cpp =================================================================== RCS file: patches/patch-src_export_ExportMP3_cpp diff -N patches/patch-src_export_ExportMP3_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_export_ExportMP3_cpp 18 Oct 2023 13:52:34 -0000 @@ -0,0 +1,19 @@ +Index: src/export/ExportMP3.cpp +--- src/export/ExportMP3.cpp.orig ++++ src/export/ExportMP3.cpp +@@ -1582,13 +1582,13 @@ wxString MP3Exporter::GetLibraryPath() + + wxString MP3Exporter::GetLibraryName() + { +- return wxT("libmp3lame.so.0"); ++ return wxT("libmp3lame.so"); + } + + FileNames::FileTypes MP3Exporter::GetLibraryTypes() + { + return { +- { XO("Only libmp3lame.so.0"), { wxT("libmp3lame.so.0") } }, ++ { XO("Only libmp3lame.so"), { wxT("libmp3lame.so*") } }, + { XO("Primary shared object files"), { wxT("so") }, true }, + { XO("Extended libraries"), { wxT("so*") }, true }, + FileNames::AllFiles