diff mbox series

[bug#66694] gnu: Add ani-cli

Message ID 20231023051055.1470319-1-jaeme@runbox.com
State New
Headers show
Series [bug#66694] gnu: Add ani-cli | expand

Commit Message

Jaeme Sifat Oct. 23, 2023, 5:10 a.m. UTC
Change-Id: I922b98d5a047760974a22499d7a299bdf932ef1a
---
 gnu/packages/video.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)


base-commit: 56742f79c0d41e7a642154d9f04b9a344c47a6dc

Comments

Jaeme Sifat Oct. 29, 2023, 6:16 a.m. UTC | #1
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
diff mbox series

Patch

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index b4dd7c27ae..e5166a3aa2 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -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)))