Subject: [bug#63117] [PATCH] gnu: yt-dlp: Fix substitution for ffmpeg path.

From: Liliana Marie Prikler <[email-masked]>
Date: Sat, 06 May 2023 06:23:41 +0200

Am Freitag, dem 05.05.2023 um 21:50 +0200 schrieb Dominik Delgado
Steuter:
> The old expression did not work; ffmpeg was not found
> when using the --add-metadata flag.
> 
> * gnu/packages/video.scm (yt-dlp)
> [arguments]: Adjust substitution in custom 'default-to-the-ffmpeg-
> input phase.
> ---
>  gnu/packages/video.scm | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> index 65fd92e..1301b79 100644
> --- a/gnu/packages/video.scm
> +++ b/gnu/packages/video.scm
> @@ -64,6 +64,7 @@
>  ;;; Copyright © 2022 Chadwain Holness <[email-masked]>
>  ;;; Copyright © 2022 Andy Tai <[email-masked]>
>  ;;; Copyright © 2023 Ott Joon <[email-masked]>
> +;;; Copyright © 2023 Dominik Delgado Steuter <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -2570,8 +2571,8 @@ (define-public yt-dlp
>              (replace 'default-to-the-ffmpeg-input
>                (lambda _
>                  (substitute* "yt_dlp/postprocessor/ffmpeg.py"
> -                  (("\\.get_param\\('ffmpeg_location'\\)" match)
> -                   (format #f "~a or '~a'" match (which
> "ffmpeg"))))))
> +                  (("location = self.get_param(.*)$")
> +                   (string-append "location = '" #$ffmpeg
> "/bin'\n")))))
The proper expression would be 
  (dirname (search-input-file inputs "bin/ffmpeg"))
You also need to make the (lambda _ ...) into a 
(lambda* (#:key inputs #:allow-other-keys) ...)
>              (replace 'build-generated-files
>                (lambda* (#:key inputs #:allow-other-keys)
>                  (if (assoc-ref inputs "pandoc")
> 
> base-commit: 6922069bcbe5c08da09c00e5aad44e390ebd1cc7

Cheers