summary refs log tree commit diff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2020-09-16 11:53:05 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2020-09-16 13:50:21 +0200
commit7194b63833f3cbcd29a65bae0ecd6876cdb1f197 (patch)
treed7c79f52775572374e44041928e6a0ae9f166284
parent5674ea45a3faf87cc44eb7c63a97e7fc55fc0c3c (diff)
downloadguix-7194b63833f3cbcd29a65bae0ecd6876cdb1f197.tar.gz
gnu: youtube-dl: Refer to ffmpeg.
Addresses <https://issues.guix.gnu.org/43418>.

* gnu/packages/video.scm (youtube-dl)[inputs]: Add ffmpeg.
[arguments]: Fall back to input ffmpeg instead of searching $PATH.
-rw-r--r--gnu/packages/video.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 8ebe7dbcdf..78604628f1 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2184,6 +2184,16 @@ To load this plugin, specify the following option when starting mpv:
      ;; 'youtube-dl.bash-completion'.
      `(#:tests? #f ; Many tests fail. The test suite can be run with pytest.
        #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'default-to-the-ffmpeg-input
+                    (lambda _
+                      ;; See <https://issues.guix.gnu.org/43418#5>.
+                      ;; ffmpeg is big but required to request free formats
+                      ;; from, e.g., YouTube so pull it in unconditionally.
+                      ;; Continue respecting the --ffmpeg-location argument.
+                      (substitute* "youtube_dl/postprocessor/ffmpeg.py"
+                        (("\\.get\\('ffmpeg_location'\\)" match)
+                         (format #f "~a or '~a'" match (which "ffmpeg"))))
+                      #t))
                   (add-before 'install 'fix-the-data-directories
                     (lambda* (#:key outputs #:allow-other-keys)
                       (let ((prefix (assoc-ref outputs "out")))
@@ -2207,6 +2217,8 @@ To load this plugin, specify the following option when starting mpv:
                         (copy-file "youtube-dl.zsh"
                                    (string-append zsh "/_youtube-dl"))
                         #t))))))
+    (inputs
+     `(("ffmpeg" ,ffmpeg)))
     (synopsis "Download videos from YouTube.com and other sites")
     (description
      "Youtube-dl is a small command-line program to download videos from