aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/video.scm
diff options
context:
space:
mode:
authorjaeme <jaeme@runbox.com>2023-10-26 19:48:51 -0400
committerTobias Geerinckx-Rice <me@tobias.gr>2023-11-19 01:00:00 +0100
commitceb5b5a5f363dbf0a138753b2273ebcebf525213 (patch)
tree80b4dab426ac9af5175cefc408068bdc67a92af5 /gnu/packages/video.scm
parent1408e7a3046140a26c69603cf7e0507c110eea4a (diff)
downloadguix-ceb5b5a5f363dbf0a138753b2273ebcebf525213.tar
guix-ceb5b5a5f363dbf0a138753b2273ebcebf525213.tar.gz
gnu: Add ani-cli.
* gnu/packages/video.scm (ani-cli): New variable. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> Change-Id: I21ea258f164285dea0d46379dff120b105803dd0
Diffstat (limited to 'gnu/packages/video.scm')
-rw-r--r--gnu/packages/video.scm74
1 files changed, 74 insertions, 0 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index e9b2a17851..2822cdf4bf 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -117,6 +117,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages bittorrent)
#:use-module (gnu packages boost)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
@@ -196,6 +197,7 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
#:use-module (gnu packages swig)
+ #:use-module (gnu packages terminals)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
@@ -211,6 +213,78 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
+(define-public ani-cli
+ (package
+ (name "ani-cli")
+ (version "4.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pystardust/ani-cli")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ni9pzjb5qh87iz7c8252bx79qadr1qx6jnkqvvjcqrchh7q473a"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no test suite
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ;nothing to configure
+ (delete 'build) ;nothing to build
+ (replace 'install
+ (lambda _
+ (install-file "ani-cli" (string-append #$output "/bin"))
+ (install-file "ani-cli.1"
+ (string-append #$output "/share/man/man1"))))
+ (add-after 'install 'wrap
+ (lambda* (#:key inputs #:allow-other-keys)
+ (define (bin command)
+ (dirname (search-input-file
+ inputs (string-append "bin/" command))))
+ (wrap-program (string-append #$output "/bin/ani-cli")
+ `("PATH" ":" prefix
+ ,(map bin (list "aria2c"
+ "curl"
+ "ffmpeg"
+ "fzf"
+ "grep"
+ "mpv"
+ "sed"
+ "tput"
+ "uname"
+ "yt-dlp")))))))))
+ (inputs (list aria2
+ bash-minimal
+ coreutils
+ curl
+ ffmpeg
+ fzf
+ grep
+ mpv
+ ncurses
+ sed
+ yt-dlp))
+ (native-search-paths
+ ;; This was copied from the curl package.
+ (list (search-path-specification
+ (variable "CURL_CA_BUNDLE")
+ (file-type 'regular)
+ (separator #f) ;single entry
+ (files '("etc/ssl/certs/ca-certificates.crt")))))
+ (home-page "https://github.com/pystardust/ani-cli")
+ (synopsis "Browse and watch anime from the command line")
+ (description
+ "ani-cli is a @acronym{CLI, command-line interface} to browse and watch
+anime by streaming videos from @uref{https://allanime.to,All Anime}.
+
+There are different features such as episode browsing, history tracking,
+streaming at multiple resolutions, and much more, depending on what programs the
+user has installed.")
+ (license license:gpl3+)))
+
(define-public transcode
(package
(name "transcode")