unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#71246] [PATCH] gnu: audacity: Re-add fallback to locate ffmpeg via pkg-config.
@ 2024-05-28 17:33 Kaelyn Takata via Guix-patches via
  2024-05-28 17:44 ` Kaelyn via Guix-patches via
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Kaelyn Takata via Guix-patches via @ 2024-05-28 17:33 UTC (permalink / raw)
  To: 71246; +Cc: Kaelyn Takata

* gnu/packages/patches/audacity-ffmpeg-fallback.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it here.
* gnu/packages/audio.scm (audacity)[patches]: Use it here.

Change-Id: I848df8a9762216eb2b02afc3843e0e9806db14be
---
 gnu/local.mk                                  |  1 +
 gnu/packages/audio.scm                        |  1 +
 .../patches/audacity-ffmpeg-fallback.patch    | 61 +++++++++++++++++++
 3 files changed, 63 insertions(+)
 create mode 100644 gnu/packages/patches/audacity-ffmpeg-fallback.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 7e9e1ebcf0..a5f2b9ee9e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -960,6 +960,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/ath9k-htc-firmware-gcc.patch		\
   %D%/packages/patches/ath9k-htc-firmware-gcc-compat.patch	\
   %D%/packages/patches/atlas-gfortran-compat.patch		\
+  %D%/packages/patches/audacity-ffmpeg-fallback.patch	\
   %D%/packages/patches/audiofile-fix-datatypes-in-tests.patch	\
   %D%/packages/patches/audiofile-fix-sign-conversion.patch	\
   %D%/packages/patches/audiofile-CVE-2015-7747.patch		\
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index d30d561d2f..f5c8dbd151 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -934,6 +934,7 @@ (define-public audacity
        (file-name (git-file-name name version))
        (sha256
         (base32 "11sjyz6hxsr5dnndkkkiq7arjxvjl1sycl151xq3a3ggakgql3y1"))
+       (patches (search-patches "audacity-ffmpeg-fallback.patch"))
        (modules '((guix build utils)))
        (snippet
         ;; Remove bundled libraries.
diff --git a/gnu/packages/patches/audacity-ffmpeg-fallback.patch b/gnu/packages/patches/audacity-ffmpeg-fallback.patch
new file mode 100644
index 0000000000..c845e10277
--- /dev/null
+++ b/gnu/packages/patches/audacity-ffmpeg-fallback.patch
@@ -0,0 +1,61 @@
+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/modules/mod-ffmpeg/lib-ffmpeg-support/CMakeLists.txt
++++ b/modules/mod-ffmpeg/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/modules/mod-ffmpeg/lib-ffmpeg-support/FFmpegFunctions.cpp
++++ b/modules/mod-ffmpeg/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 {};
+    }
+ };

base-commit: 542b18709a46e361de8f25e3fece29860532743c
-- 
2.41.0






^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#71246] [PATCH] gnu: audacity: Re-add fallback to locate ffmpeg via pkg-config.
  2024-05-28 17:33 [bug#71246] [PATCH] gnu: audacity: Re-add fallback to locate ffmpeg via pkg-config Kaelyn Takata via Guix-patches via
@ 2024-05-28 17:44 ` Kaelyn via Guix-patches via
  2024-05-28 18:58   ` Andy Tai
  2024-05-29  6:02 ` [bug#71246] Andy Tai
  2024-05-31 11:35 ` bug#71246: [PATCH] gnu: audacity: Re-add fallback to locate ffmpeg via pkg-config Ludovic Courtès
  2 siblings, 1 reply; 6+ messages in thread
From: Kaelyn via Guix-patches via @ 2024-05-28 17:44 UTC (permalink / raw)
  To: 71246@debbugs.gnu.org, atai@atai.org, Liliana Marie Prikler

Hi,

This patch re-introduces the gnu/packages/patches/audacity-ffmpeg-fallback.patch that was deleted by commit cf5f7a8bf9ca2288700fcf351bbca0fc341ec969, which upgraded audacity to 3.5.1. The issue with it applying to the new audacity version is that the "lib-ffmpeg-support" folder moved from under "libraries/" to be under "modules/mod-ffmpeg/"; I have simply restored the existing patch and fixed the paths to the files.

Starting with the upgrade to audacity 3.5.1 with the patch dropped, any file that depended on ffmpeg to be loaded--such as the .m4a files produced by the recording app on an Android phone--fails to load. I also tried setting the path to the ffmpeg library through the GUI and had it consistently fail for me, and such files still could not be loaded (I have a few screenshots of the error messages). Restoring this patch has restored the ability to load .m4a and other files which depend on ffmpeg to be loaded, and without any special hoops needed to set up ffmpeg through the UI first.

Cheers,
Kaelyn




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#71246] [PATCH] gnu: audacity: Re-add fallback to locate ffmpeg via pkg-config.
  2024-05-28 17:44 ` Kaelyn via Guix-patches via
@ 2024-05-28 18:58   ` Andy Tai
  2024-05-28 19:21     ` Kaelyn via Guix-patches via
  0 siblings, 1 reply; 6+ messages in thread
From: Andy Tai @ 2024-05-28 18:58 UTC (permalink / raw)
  To: Kaelyn; +Cc: 71246@debbugs.gnu.org, Liliana Marie Prikler

Please go ahead and file Guix package definition patch to restore the
deleted ffmpeg patch

On Tue, May 28, 2024 at 10:44 AM Kaelyn <kaelyn.alexi@protonmail.com> wrote:
>
> Hi,
>
> This patch re-introduces the gnu/packages/patches/audacity-ffmpeg-fallback.patch that was deleted by commit cf5f7a8bf9ca2288700fcf351bbca0fc341ec969, which upgraded audacity to 3.5.1. The issue with it applying to the new audacity version is that the "lib-ffmpeg-support" folder moved from under "libraries/" to be under "modules/mod-ffmpeg/"; I have simply restored the existing patch and fixed the paths to the files.
>
> Starting with the upgrade to audacity 3.5.1 with the patch dropped, any file that depended on ffmpeg to be loaded--such as the .m4a files produced by the recording app on an Android phone--fails to load. I also tried setting the path to the ffmpeg library through the GUI and had it consistently fail for me, and such files still could not be loaded (I have a few screenshots of the error messages). Restoring this patch has restored the ability to load .m4a and other files which depend on ffmpeg to be loaded, and without any special hoops needed to set up ffmpeg through the UI first.
>
> Cheers,
> Kaelyn




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#71246] [PATCH] gnu: audacity: Re-add fallback to locate ffmpeg via pkg-config.
  2024-05-28 18:58   ` Andy Tai
@ 2024-05-28 19:21     ` Kaelyn via Guix-patches via
  0 siblings, 0 replies; 6+ messages in thread
From: Kaelyn via Guix-patches via @ 2024-05-28 19:21 UTC (permalink / raw)
  To: Andy Tai; +Cc: 71246@debbugs.gnu.org, Liliana Marie Prikler

Hi,

On Tuesday, May 28th, 2024 at 11:58 AM, Andy Tai <atai@atai.org> wrote:

> 
> Please go ahead and file Guix package definition patch to restore the
> deleted ffmpeg patch

I apologize for not being clearer and including a proper reference; by "this patch", I meant https://issues.guix.gnu.org/71246.

Thanks,
Kaelyn

> On Tue, May 28, 2024 at 10:44 AM Kaelyn kaelyn.alexi@protonmail.com wrote:
> 
> > Hi,
> > 
> > This patch re-introduces the gnu/packages/patches/audacity-ffmpeg-fallback.patch that was deleted by commit cf5f7a8bf9ca2288700fcf351bbca0fc341ec969, which upgraded audacity to 3.5.1. The issue with it applying to the new audacity version is that the "lib-ffmpeg-support" folder moved from under "libraries/" to be under "modules/mod-ffmpeg/"; I have simply restored the existing patch and fixed the paths to the files.
> > 
> > Starting with the upgrade to audacity 3.5.1 with the patch dropped, any file that depended on ffmpeg to be loaded--such as the .m4a files produced by the recording app on an Android phone--fails to load. I also tried setting the path to the ffmpeg library through the GUI and had it consistently fail for me, and such files still could not be loaded (I have a few screenshots of the error messages). Restoring this patch has restored the ability to load .m4a and other files which depend on ffmpeg to be loaded, and without any special hoops needed to set up ffmpeg through the UI first.
> > 
> > Cheers,
> > Kaelyn




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#71246]
  2024-05-28 17:33 [bug#71246] [PATCH] gnu: audacity: Re-add fallback to locate ffmpeg via pkg-config Kaelyn Takata via Guix-patches via
  2024-05-28 17:44 ` Kaelyn via Guix-patches via
@ 2024-05-29  6:02 ` Andy Tai
  2024-05-31 11:35 ` bug#71246: [PATCH] gnu: audacity: Re-add fallback to locate ffmpeg via pkg-config Ludovic Courtès
  2 siblings, 0 replies; 6+ messages in thread
From: Andy Tai @ 2024-05-29  6:02 UTC (permalink / raw)
  To: 71246

patch builds fine on x86-64




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#71246: [PATCH] gnu: audacity: Re-add fallback to locate ffmpeg via pkg-config.
  2024-05-28 17:33 [bug#71246] [PATCH] gnu: audacity: Re-add fallback to locate ffmpeg via pkg-config Kaelyn Takata via Guix-patches via
  2024-05-28 17:44 ` Kaelyn via Guix-patches via
  2024-05-29  6:02 ` [bug#71246] Andy Tai
@ 2024-05-31 11:35 ` Ludovic Courtès
  2 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2024-05-31 11:35 UTC (permalink / raw)
  To: Kaelyn Takata; +Cc: 71246-done

Kaelyn Takata <kaelyn.alexi@protonmail.com> skribis:

> * gnu/packages/patches/audacity-ffmpeg-fallback.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Add it here.
> * gnu/packages/audio.scm (audacity)[patches]: Use it here.
>
> Change-Id: I848df8a9762216eb2b02afc3843e0e9806db14be

Hi! I added some of the info from your second message to the commit log
and committed.

Thanks!

Ludo’.




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-05-31 11:39 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-28 17:33 [bug#71246] [PATCH] gnu: audacity: Re-add fallback to locate ffmpeg via pkg-config Kaelyn Takata via Guix-patches via
2024-05-28 17:44 ` Kaelyn via Guix-patches via
2024-05-28 18:58   ` Andy Tai
2024-05-28 19:21     ` Kaelyn via Guix-patches via
2024-05-29  6:02 ` [bug#71246] Andy Tai
2024-05-31 11:35 ` bug#71246: [PATCH] gnu: audacity: Re-add fallback to locate ffmpeg via pkg-config Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).