From 5334e61ed866f67af38688dac077f53f85ad013b Mon Sep 17 00:00:00 2001 From: Alex Vong Date: Sun, 25 Feb 2018 06:52:10 +0800 Subject: [PATCH 5/5] gnu: Add youtube-viewer. * gnu/packages/video.scm (youtube-viewer): New public variable. --- gnu/packages/video.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index bf7a3960d..48b86a5ac 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -53,6 +53,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system meson) + #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system waf) #:use-module (gnu packages) @@ -1311,6 +1312,59 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") (home-page "https://you-get.org/") (license license:expat))) +(define-public youtube-viewer + (package + (name "youtube-viewer") + (version "3.3.3") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/trizen/youtube-viewer/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j572his6qmazlmyrbnfq62s9bqml875ay7wy26byy9hfc7m0vgk")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + ;; FIXME: Add optional dependencies once available: + ;; perl-lwp-useragent-cached and perl-term-readline-gnu + (inputs + `(("perl-data-dump" ,perl-data-dump) + ("perl-file-sharedir" ,perl-file-sharedir) + ("perl-gtk2" ,perl-gtk2) + ("perl-json" ,perl-json) + ("perl-libwww" ,perl-libwww) + ("perl-lwp-protocol-https" ,perl-lwp-protocol-https) + ("perl-mozilla-ca" ,perl-mozilla-ca) + ("perl-unicode-linebreak" ,perl-unicode-linebreak))) + (arguments + `(#:modules ((guix build perl-build-system) + (guix build utils) + (srfi srfi-26)) + #:module-build-flags '("--gtk") + #:phases (modify-phases %standard-phases + (add-after 'install 'wrap-program + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin-dir (string-append (assoc-ref outputs "out") + "/bin/")) + (perl-path (getenv "PERL5LIB"))) + (for-each (cut wrap-program <> + `("PERL5LIB" ":" prefix (,perl-path))) + (find-files bin-dir)) + #t)))))) + (synopsis + "Lightweight application for searching and streaming videos from YouTube") + (description + "Youtube-viewer searches and plays YouTube videos in a native player. +It comes with various search options; it can search for videos, playlists +and/or channels. The videos are streamed directly in a selected video player +at the best resolution (customizable) and with closed-captions (if available). +Both command-line and GTK2 interface are available.") + (home-page "https://github.com/trizen/youtube-viewer") + (license license:perl-license))) + (define-public libbluray (package (name "libbluray") -- 2.16.2