GNU bug report logs - #63117
[PATCH] gnu: yt-dlp: Change input.

Previous Next

Package: guix-patches;

Reported by: Dominik Delgado Steuter <d <at> delgado.nrw>

Date: Thu, 27 Apr 2023 14:33:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 63117 in the body.
You can then email your comments to 63117 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#63117; Package guix-patches. (Thu, 27 Apr 2023 14:33:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Dominik Delgado Steuter <d <at> delgado.nrw>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 27 Apr 2023 14:33:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Dominik Delgado Steuter <d <at> delgado.nrw>
To: guix-patches <at> gnu.org
Cc: Dominik Delgado Steuter <d <at> delgado.nrw>
Subject: [PATCH] gnu: yt-dlp: Change input.
Date: Thu, 27 Apr 2023 16:32:00 +0200
yt-dlp complained when the "--add-metadata" flag was used.
youtube-dl does not need ffmpeg as a propagated-input, though.

* gnu/packages/video.scm (yt-dlp)[inputs]: Remove ffmpeg.
[propagated-inputs]: Add ffmpeg.
---
 gnu/packages/video.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 838dfe7..df6bbc5 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2598,6 +2598,7 @@ (define-public yt-dlp
                 (when tests?
                   (invoke "pytest" "-k" "not download"))))))))
     (inputs (modify-inputs (package-inputs youtube-dl)
+              (delete ffmpeg) ;yt-dlp needs it as propagated-input
               (append python-brotli
                       python-certifi
                       python-mutagen
@@ -2611,6 +2612,8 @@ (define-public yt-dlp
          (list pandoc)
          '())
        (list python-pytest zip)))
+    (propagated-inputs
+     (list ffmpeg))
     (description
      "yt-dlp is a small command-line program to download videos from
 YouTube.com and many more sites.  It is a fork of youtube-dl with a

base-commit: fa685c87eaa9888a4278f39bb2b815673589dced
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#63117; Package guix-patches. (Sat, 29 Apr 2023 04:37:01 GMT) Full text and rfc822 format available.

Message #8 received at 63117 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: Dominik Delgado Steuter <d <at> delgado.nrw>
Cc: 63117 <at> debbugs.gnu.org
Subject: Re: [bug#63117] [PATCH] gnu: yt-dlp: Change input.
Date: Sat, 29 Apr 2023 00:36:01 -0400 (EDT)
On Thu, 27 Apr 2023, Dominik Delgado Steuter via Guix-patches via wrote:

> yt-dlp complained when the "--add-metadata" flag was used.
> youtube-dl does not need ffmpeg as a propagated-input, though.

Dominik,

Thanks for working on improving our yt-dlp package. Can you explain a 
little more about why yt-dlp needs ffmpeg to be propagated? I haven't 
looked too closely, but I suspect yt-dlp just want to be able to call 
ffmpeg at runtime. If that's true, then I think it would be better to use 
substitute* in a phase so that yt-dlp can use the full path to ffmpeg, and 
not clutter folks' profiles.

If I'm correct, can you provide an updated patch that does that? I'm happy 
to provide more guidance if you need it.

If I'm wrong and ffmpeg needs to be propagated for some other reason, can 
you add a comment in the code explaining the need?

Best,
Jack




Information forwarded to guix-patches <at> gnu.org:
bug#63117; Package guix-patches. (Mon, 01 May 2023 22:40:01 GMT) Full text and rfc822 format available.

Message #11 received at 63117 <at> debbugs.gnu.org (full text, mbox):

From: Dominik Delgado Steuter <d <at> delgado.nrw>
To: Jack Hill <jackhill <at> jackhill.us>
Cc: 63117 <at> debbugs.gnu.org
Subject: Re: [bug#63117] [PATCH] gnu: yt-dlp: Change input.
Date: Tue, 2 May 2023 00:39:07 +0200
Hi Jack,

thanks for reviewing my patch. You are probably right that yt-dlp only 
needs the path and not necessarily the propagated-input.

I will try to figure out how exactly to do that and then send the 
updated patch.

Regards,
Dominik

Am 29.04.23 um 06:36 schrieb Jack Hill:
> On Thu, 27 Apr 2023, Dominik Delgado Steuter via Guix-patches via wrote:
> 
>> yt-dlp complained when the "--add-metadata" flag was used.
>> youtube-dl does not need ffmpeg as a propagated-input, though.
> 
> Dominik,
> 
> Thanks for working on improving our yt-dlp package. Can you explain a 
> little more about why yt-dlp needs ffmpeg to be propagated? I haven't 
> looked too closely, but I suspect yt-dlp just want to be able to call 
> ffmpeg at runtime. If that's true, then I think it would be better to 
> use substitute* in a phase so that yt-dlp can use the full path to 
> ffmpeg, and not clutter folks' profiles.
> 
> If I'm correct, can you provide an updated patch that does that? I'm 
> happy to provide more guidance if you need it.
> 
> If I'm wrong and ffmpeg needs to be propagated for some other reason, 
> can you add a comment in the code explaining the need?
> 
> Best,
> Jack




Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#63117; Package guix-patches. (Sat, 06 May 2023 00:53:02 GMT) Full text and rfc822 format available.

Message #14 received at 63117 <at> debbugs.gnu.org (full text, mbox):

From: Dominik Delgado Steuter <dds <at> disroot.org>
To: 63117 <at> debbugs.gnu.org
Cc: Dominik Delgado Steuter <dds <at> disroot.org>, jackhill <at> jackhill.us
Subject: [PATCH] gnu: yt-dlp: Fix substitution for ffmpeg path.
Date: Fri,  5 May 2023 21:50:53 +0200
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 <chadwainholness <at> gmail.com>
 ;;; Copyright © 2022 Andy Tai <atai <at> atai.org>
 ;;; Copyright © 2023 Ott Joon <oj <at> vern.cc>
+;;; Copyright © 2023 Dominik Delgado Steuter <dds <at> disroot.org>
 ;;;
 ;;; 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")))))
             (replace 'build-generated-files
               (lambda* (#:key inputs #:allow-other-keys)
                 (if (assoc-ref inputs "pandoc")

base-commit: 6922069bcbe5c08da09c00e5aad44e390ebd1cc7
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#63117; Package guix-patches. (Sat, 06 May 2023 04:24:01 GMT) Full text and rfc822 format available.

Message #17 received at 63117 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Dominik Delgado Steuter <dds <at> disroot.org>, 63117 <at> debbugs.gnu.org
Cc: jackhill <at> jackhill.us
Subject: Re: [PATCH] gnu: yt-dlp: Fix substitution for ffmpeg path.
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 <chadwainholness <at> gmail.com>
>  ;;; Copyright © 2022 Andy Tai <atai <at> atai.org>
>  ;;; Copyright © 2023 Ott Joon <oj <at> vern.cc>
> +;;; Copyright © 2023 Dominik Delgado Steuter <dds <at> disroot.org>
>  ;;;
>  ;;; 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

Information forwarded to guix-patches <at> gnu.org:
bug#63117; Package guix-patches. (Sat, 20 May 2023 13:51:02 GMT) Full text and rfc822 format available.

Message #20 received at 63117 <at> debbugs.gnu.org (full text, mbox):

From: Dominik Delgado Steuter <dds <at> disroot.org>
To: 63117 <at> debbugs.gnu.org
Cc: Dominik Delgado Steuter <dds <at> disroot.org>, liliana.prikler <at> gmail.com
Subject: [PATCH] gnu: yt-dlp: Fix substitution for ffmpeg path.
Date: Sat, 20 May 2023 15:49:13 +0200
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 | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index e6c437f..6d2824f 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -64,6 +64,7 @@
 ;;; Copyright © 2022 Chadwain Holness <chadwainholness <at> gmail.com>
 ;;; Copyright © 2022 Andy Tai <atai <at> atai.org>
 ;;; Copyright © 2023 Ott Joon <oj <at> vern.cc>
+;;; Copyright © 2023 Dominik Delgado Steuter <dds <at> disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2569,10 +2570,13 @@ (define-public yt-dlp
         #~(modify-phases #$phases
             ;; See the comment for the corresponding phase in youtube-dl.
             (replace 'default-to-the-ffmpeg-input
-              (lambda _
+              (lambda* (#:key inputs #:allow-other-keys)
                 (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 = '"
+                     (dirname (search-input-file inputs "bin/ffmpeg"))
+                     "'\n")))))
             (replace 'build-generated-files
               (lambda* (#:key inputs #:allow-other-keys)
                 (if (assoc-ref inputs "pandoc")

base-commit: 24b6f94cf9b4ab97ef2eb70d05b2104a06776e62
-- 
2.40.1





Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Thu, 25 May 2023 10:43:01 GMT) Full text and rfc822 format available.

Notification sent to Dominik Delgado Steuter <d <at> delgado.nrw>:
bug acknowledged by developer. (Thu, 25 May 2023 10:43:02 GMT) Full text and rfc822 format available.

Message #25 received at 63117-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Dominik Delgado Steuter <dds <at> disroot.org>
Cc: liliana.prikler <at> gmail.com, 63117-done <at> debbugs.gnu.org
Subject: Re: bug#63117: [PATCH] gnu: yt-dlp: Change input.
Date: Thu, 25 May 2023 12:42:25 +0200
Hi Dominik,

Dominik Delgado Steuter <dds <at> disroot.org> skribis:

> 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.

Applied.  Thank you and thanks to Liliana for reviewing!

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 22 Jun 2023 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 306 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.