* gnu/packages/audio.scm (audacity): Update to 3.2.1. [source]: Switch to GIT-FETCH. [inputs]: Remove LIBMAD. Add MPG123 and WAVPACK. [arguments]: Add configure flag to prevent spurious dependency. Adjust fix-cmake-rpath phase. Delete obsolete phases. * gnu/packages/patches/audacity-ffmpeg-fallback.patch: Adjust for 3.2.1.
		
			
				
	
	
		
			61 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 3c20057d0cbbbed453a692d4dd4589d865808024 Mon Sep 17 00:00:00 2001
 | 
						|
From: Liliana Marie Prikler <liliana.prikler@gmail.com>
 | 
						|
Date: Sat, 29 Jan 2022 10:44:44 +0100
 | 
						|
Subject: [PATCH] Add pkg-config fallback for locating ffmpeg.
 | 
						|
 | 
						|
Audacity >=3.1.0 no longer links against ffmpeg, but instead dynamically loads
 | 
						|
it.  This dynamic loading mechanism fails to properly locate libraries outside
 | 
						|
of LD_LIBRARY_PATH.
 | 
						|
 | 
						|
See <https://issues.guix.gnu.org/53591>.
 | 
						|
 | 
						|
Bugs-added-by: Marius Bakke <marius@gnu.org>
 | 
						|
 | 
						|
diff --git a/libraries/lib-ffmpeg-support/CMakeLists.txt b/libraries/lib-ffmpeg-support/CMakeLists.txt
 | 
						|
index b8803a1f5..f86559cca 100644
 | 
						|
--- a/libraries/lib-ffmpeg-support/CMakeLists.txt
 | 
						|
+++ b/libraries/lib-ffmpeg-support/CMakeLists.txt
 | 
						|
@@ -1,5 +1,7 @@
 | 
						|
 
 | 
						|
 if (${_OPT}use_ffmpeg)
 | 
						|
+   pkg_check_modules(FFMPEG libavcodec libavformat libavutil)
 | 
						|
+
 | 
						|
    set( SOURCES
 | 
						|
       FFmpegTypes.h
 | 
						|
 
 | 
						|
@@ -107,6 +109,12 @@ if (${_OPT}use_ffmpeg)
 | 
						|
       list(APPEND DEFINITIONS PRIVATE _DARWIN_C_SOURCE )
 | 
						|
    endif()
 | 
						|
 
 | 
						|
+   if (FFMPEG_FOUND)
 | 
						|
+      pkg_get_variable(LIBAVCODEC_LIBDIR libavcodec libdir)
 | 
						|
+      list(APPEND DEFINITIONS PRIVATE
 | 
						|
+                  "-DFFMPEG_PC_LIBDIR=\"${LIBAVCODEC_LIBDIR}\"")
 | 
						|
+   endif()
 | 
						|
+
 | 
						|
    audacity_library( lib-ffmpeg-support "${SOURCES}" "${LIBRARIES}"
 | 
						|
       "${DEFINITIONS}" ""
 | 
						|
    )
 | 
						|
diff --git a/libraries/lib-ffmpeg-support/FFmpegFunctions.cpp b/libraries/lib-ffmpeg-support/FFmpegFunctions.cpp
 | 
						|
index 55d6f676b..46640ef83 100644
 | 
						|
--- a/libraries/lib-ffmpeg-support/FFmpegFunctions.cpp
 | 
						|
+++ b/libraries/lib-ffmpeg-support/FFmpegFunctions.cpp
 | 
						|
@@ -246,6 +246,18 @@ struct FFmpegFunctions::Private final
 | 
						|
       if (library->IsLoaded())
 | 
						|
          return library;
 | 
						|
 
 | 
						|
+#if defined(FFMPEG_PC_LIBDIR)
 | 
						|
+      {
 | 
						|
+         static const wxString libdir{FFMPEG_PC_LIBDIR};
 | 
						|
+         const wxString fullName = wxFileName(libdir, libraryName).GetFullPath();
 | 
						|
+
 | 
						|
+         auto library = std::make_shared<wxDynamicLibrary>(fullName);
 | 
						|
+
 | 
						|
+         if (library->IsLoaded())
 | 
						|
+            return library;
 | 
						|
+      }
 | 
						|
+#endif
 | 
						|
+
 | 
						|
       return {};
 | 
						|
    }
 | 
						|
 };
 |