diff options
Diffstat (limited to 'gnu/packages/image-viewers.scm')
-rw-r--r-- | gnu/packages/image-viewers.scm | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index f01b6a614a..ccbbb3bc2d 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -18,6 +18,8 @@ ;;; Copyright © 2021 Rovanion Luckey <rovanion.luckey@gmail.com> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> +;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> +;;; Copyright © 2021 jgart <jgart@dismail.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,6 +48,7 @@ #:use-module (guix build-system python) #:use-module (gnu packages autotools) #:use-module (gnu packages algebra) + #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -64,6 +67,7 @@ #:use-module (gnu packages image-processing) #:use-module (gnu packages imagemagick) #:use-module (gnu packages maths) + #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages photo) @@ -71,10 +75,108 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) + #:use-module (gnu packages suckless) + #:use-module (gnu packages terminals) + #:use-module (gnu packages video) + #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) #:use-module (gnu packages)) +(define-public ytfzf + (package + (name "ytfzf") + (version "1.2.0") + (home-page "https://github.com/pystardust/ytfzf") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00d416qb4109pm77ikhnmds8qng90ni2jan9kdnxz7b6sh5f61nz")) + (patches + (search-patches + ;; Prerequisite for 'patch phase. + "ytfzf-programs.patch" + ;; Disables self-update. + "ytfzf-updates.patch")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no test suite + #:modules + ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Use correct $PREFIX path. + (substitute* "Makefile" + (("/usr/bin") + (format #f "~a/bin" + (assoc-ref outputs "out")))) + ;; Use absolute path to referenced programs. + (substitute* "ytfzf" + (("guix-catimg") + (format #f "~a/bin/catimg" + (assoc-ref inputs "catimg"))) + (("guix-chafa") + (format #f "~a/bin/chafa" + (assoc-ref inputs "chafa"))) + (("guix-curl") + (format #f "~a/bin/curl" + (assoc-ref inputs "curl"))) + (("guix-dmenu") + (format #f "~a/bin/dmenu" + (assoc-ref inputs "dmenu"))) + (("guix-fzf") + (format #f "~a/bin/fzf" + (assoc-ref inputs "fzf"))) + (("guix-jp2a") + (format #f "~a/bin/jp2a" + (assoc-ref inputs "jp2a"))) + (("guix-jq") + (format #f "~a/bin/jq" + (assoc-ref inputs "jq"))) + (("guix-mpv") + (format #f "~a/bin/mpv" + (assoc-ref inputs "mpv"))) + (("guix-notify-send") + (format #f "~a/bin/notify-send" + (assoc-ref inputs "libnotify"))) + (("guix-tput") + (format #f "~a/bin/tput" + (assoc-ref inputs "ncurses"))) + (("guix-ueberzug") + (format #f "~a/bin/ueberzug" + (assoc-ref inputs "python-ueberzug"))) + (("guix-youtube-dl") + (format #f "~a/bin/youtube-dl" + (assoc-ref inputs "youtube-dl")))))) + (delete 'configure)))) ;no configure script + (inputs + `(("catimg" ,catimg) + ("chafa" ,chafa) + ("curl" ,curl) + ("dmenu" ,dmenu) + ("fzf" ,fzf) + ("jp2a" ,jp2a) + ("jq" ,jq) + ("libnotify" ,libnotify) + ("mpv" ,mpv) + ("ncurses" ,ncurses) + ("python-ueberzug" ,python-ueberzug) + ("youtube-dl" ,youtube-dl))) + (synopsis "Find and watch PeerTube or YouTube videos from the terminal") + (description "@code{ytfzf} is a POSIX script that helps you find PeerTube or +YouTube videos without requiring API and opens/downloads them using mpv/ytdl.") + (license license:gpl3+))) + (define-public feh (package (name "feh") |