Alex Vong writes: > From c6106691811adea6d71cf1837d9278f76e14af00 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 | 40 ++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 40 insertions(+) > > diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm > index bf7a3960d..c87f2fbfb 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,45 @@ 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. Which dependencies are those? :-) Also, only two semicolons for normal comments. > + (propagated-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))) I haven't built this yet, but assuming it's a single executable, could you try to wrap it with the PERL5LIB variable? That way we don't have to propagate all of these in end user profiles. > + (arguments > + `(#:module-build-flags '("--gtk"))) > + (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