gnu: youtube-viewer: Refer to youtube-dl.
authorTobias Geerinckx-Rice <me@tobias.gr>
Mon, 17 Jun 2019 01:02:34 +0000 (03:02 +0200)
committerTobias Geerinckx-Rice <me@tobias.gr>
Mon, 17 Jun 2019 01:04:31 +0000 (03:04 +0200)
* gnu/packages/video.scm (youtube-viewer)[inputs]: Add youtube-dl.
[arguments]: Add ‘refer-to-inputs’ phase.

gnu/packages/video.scm

index d1fdd12..760c057 100644 (file)
@@ -1627,7 +1627,10 @@ audio, images) from the Web.  It can use either mpv or vlc for playback.")
        ("perl-libwww" ,perl-libwww)
        ("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
        ("perl-mozilla-ca" ,perl-mozilla-ca)
-       ("perl-unicode-linebreak" ,perl-unicode-linebreak)))
+       ("perl-unicode-linebreak" ,perl-unicode-linebreak)
+
+       ;; Some videos play without youtube-dl, but others silently fail to.
+       ("youtube-dl" ,youtube-dl)))
     (arguments
      `(#:modules ((guix build perl-build-system)
                   (guix build utils)
@@ -1635,6 +1638,13 @@ audio, images) from the Web.  It can use either mpv or vlc for playback.")
        #:module-build-flags '("--gtk")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'refer-to-inputs
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "lib/WWW/YoutubeViewer.pm"
+               (("'youtube-dl'")
+                (format #f "'~a/bin/youtube-dl'"
+                        (assoc-ref inputs "youtube-dl"))))
+             #t))
          (add-after 'install 'install-desktop
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))