From e35b26790407b8019bee2f824f03f31c173e3507 Mon Sep 17 00:00:00 2001
Message-ID: <e35b26790407b8019bee2f824f03f31c173e3507.1697932801.git.me@tobias.gr>
From: jaeme <jaeme@runbox.com>
Date: Thu, 26 Oct 2023 19:48:51 -0400
Subject: [PATCH] gnu: Add ani-cli.
* gnu/packages/video.scm (ani-cli): New variable.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
Change-Id: I21ea258f164285dea0d46379dff120b105803dd0
---
gnu/packages/video.scm | 75 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)
@@ -66,6 +66,7 @@
;;; Copyright © 2023 Ott Joon <oj@vern.cc>
;;; Copyright © 2023 Dominik Delgado Steuter <dds@disroot.org>
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
+;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -116,6 +117,7 @@ (define-module (gnu packages video)
#: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)
@@ -194,6 +196,7 @@ (define-module (gnu packages video)
#: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)
@@ -209,6 +212,78 @@ (define-module (gnu packages video)
#: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")
base-commit: 4dfbc536689b07e56aead3dd864b8af54613d091
prerequisite-patch-id: 0f2ea4144d953a8626c7a6aaede0a6797ec9c5f9
prerequisite-patch-id: 658b58a6e368317e83f8b511bebd9b3ae0b7b6f8
prerequisite-patch-id: 95d6d324d080671cb1ac94ff17e73109f54b7977
prerequisite-patch-id: 7e6e4ab87b52996e9bb6cd8595889f21ba87e9fe
prerequisite-patch-id: 6f86f2a54f77c0e8841b6f22953c2f748e358107
prerequisite-patch-id: 7c88071ffd6af8c9de9a44ef2e745e3b111d28e7
prerequisite-patch-id: dacf336396c4f629906e4689dc2868d437179a37
prerequisite-patch-id: 35641348fcba881313d08cb85da3722ba0891264
prerequisite-patch-id: ea98f949fde81f63a309e36405b87463dc07ac50
prerequisite-patch-id: a299994eb9a52db942a5cc3a038b8bc34529c799
prerequisite-patch-id: 9ffc6d3a9be37af59ec29bfce0543cf8371edacb
prerequisite-patch-id: c489fbc8af7d431f9372d0b8bc9e4c609703680e
prerequisite-patch-id: 471c932817cc1044fd03f56e1a1f84e4ce4029a9
prerequisite-patch-id: 88f3a5981ea62ce654a48c258df09315f24ba73e
prerequisite-patch-id: 62b7b8d8b26d642f524d45e910f7685a57345d76
prerequisite-patch-id: 6ad7cb518d3f48614c97e7ef851289a8f4375306
prerequisite-patch-id: 3fec7d86bd725207d19e77b38cba7f989af68ea3
prerequisite-patch-id: 3bd20d51aa3a07f86722c5894b85f58b96e1e798
prerequisite-patch-id: 1011132081c09cd02295c999c9af44d1191bc4b2
prerequisite-patch-id: 83ffbbea6cae29ccd11395332446c2a8eb88fd6c
prerequisite-patch-id: 760df26aee26e14249c412f32630ae6e71a3fa3e
prerequisite-patch-id: b89039b55bef0639c3679b1a5ba13b7a5593af5b
prerequisite-patch-id: 24fc8fdb82bb9287ed944673e2f922587bc49503
prerequisite-patch-id: 077e45c8081930192499bfa5c7391d882b1ad401
prerequisite-patch-id: f31368d6b77f811e4b1fba489492ac4d6cde0948
prerequisite-patch-id: fc4e5787813af14bc812bc61a18acd684bd319af
prerequisite-patch-id: 08f122a2c9dec498a089d665280f37191f96a1ba
prerequisite-patch-id: 6da0dcc6295b755538d7cb2ae4d7f290c3d14e98
prerequisite-patch-id: 7220d8204293754caa4db9ebe3c788ee336d8889
prerequisite-patch-id: 6462f9da097dee40814cf546412b47552f3911a7
prerequisite-patch-id: 9ba212fb95cb7eb4badf51ca677cf5109c2ed881
prerequisite-patch-id: 5ac9fa96627b4d3593429f55b391e66ccf8f14e2
prerequisite-patch-id: a43431df227168b9d0dbb627277ff668fc04c759
prerequisite-patch-id: d72ec36511b6a610072e24e051bbe859af3490fe
--
2.41.0