From e35b26790407b8019bee2f824f03f31c173e3507 Mon Sep 17 00:00:00 2001 Message-ID: From: jaeme 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 Change-Id: I21ea258f164285dea0d46379dff120b105803dd0 --- gnu/packages/video.scm | 75 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index b4dd7c27ae..cdce376d3e 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -66,6 +66,7 @@ ;;; Copyright © 2023 Ott Joon ;;; Copyright © 2023 Dominik Delgado Steuter ;;; Copyright © 2023 Saku Laesvuori +;;; Copyright © 2023 Jaeme Sifat ;;; ;;; 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