[bug#66694] gnu: Add ani-cli
Commit Message
Change-Id: I922b98d5a047760974a22499d7a299bdf932ef1a
---
gnu/packages/video.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
base-commit: 56742f79c0d41e7a642154d9f04b9a344c47a6dc
Comments
Hello T,
T wrote:
> We don't sign off on our own patches in Guix. Our Signed-off-by does
not have the same DCO meaning as it does for, e.g., Linux. Ours is
merely a stamp of approval by a committer.
I see, I do wish I knew that earlier before sending my other patches.
Maybe that should be written somewhere in the Contributing section of
the Guix manual because I have my ~/.gitconfig automatically add the
signed-off line to all my commits. Thank you for mentioning that.
T wrote:
> Apparently the copy-build-system doesn't acknowledge the existence of
cross compilation, like, at all?
That not surprisingly went over my head. Can you tell me how you
discovered that? I would like to know.
T wrote:
> ...you don't want the script calling the build-time ‘native’ grep at
run time.
Noted (still learning lots').
T wrote:
> I also added bash-minimal at ‘guix lint’'s suggestion.
I also saw that suggestion but I didn't add it since I already had
coreutils which in my mind eclipsed bash-minimal.
T wrote:
> we conventionally put fields in this order:
Duly Noted.
T wrote:
> Here's a random Deep Guix Thing that I'm too tired to explain further:
I remember reading about 'search-native-paths' in a Guix blog, I'm glad
the --pure situation is cleared up.
T wrote:
> I do wonder: just how legal is this script, and the one Web site to
which it's tightly bound?
From looking at <https://repology.org/project/ani-cli/versions> for the
other third-party packagers: Debian, Ubuntu, Gentoo as well as nixpkgs
have this script in their repositories. In addition, disclaimer.md
posits that ani-cli can be thought of as a browser/wrapper rather than
being a direct source for copyrighted content. We don't know when the
website(s) will stop working but we can assume that the script will be
updated as well as it's fairly active and popular in the GNU/Linux
world. But to offer a more principled rebuttal, yt-dlp also has this
similar issue of relying on a nonfree, non-federated network service
(google videos/YouTube). However, one of the niches of yt-dlp is that it
offers a way for users to stream/download videos hosted on YouTube
without having to load the proprietary JS through their web browser.
This package could serve a similar purpose to guix users as it's much
safer to stream content directly rather than having to connect to and
load the website (if it is possible at all with GNU Icecat) via web
browser.
On a side note, this is my first time interacting with a mailing
list/submitting patches. I have a lot of growing pains to get through.
Thanks,
Jaeme
@@ -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)
@@ -5721,3 +5724,34 @@ (define-public svtplay-dl
broadcasters including SVT Play, Sveriges Radio, TV4 Play, along with many
others.")
(license license:expat)))
+
+(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 copy-build-system)
+ (arguments
+ `(#:install-plan '(("ani-cli" "bin/")
+ ("ani-cli.1" "share/man/man1/"))))
+ (home-page "https://github.com/pystardust/ani-cli")
+ (synopsis "CLI to browse and watch anime")
+ (description
+ "ani-cli is a shell script command-line tool for browsing and watching
+anime using allanime as a source. It can stream at multiple resolutions and
+provides multiple interfaces such as rofi.")
+ (propagated-inputs (list mpv
+ yt-dlp
+ ffmpeg
+ fzf
+ curl
+ aria2))
+ (license license:gpl3)))