From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id OElgMuuVPWWeGAEA9RJhRA:P1 (envelope-from ) for ; Sun, 29 Oct 2023 01:14:51 +0200 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id OElgMuuVPWWeGAEA9RJhRA (envelope-from ) for ; Sun, 29 Oct 2023 01:14:51 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 0A6006089D for ; Sun, 29 Oct 2023 01:14:51 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=tobias.gr header.s=2018 header.b=VeNLVapF; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1698534891; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=g+KLwxErWpd56kTJAC1ETGwJ6uB7sBpt1ddxpJVE5zs=; b=opI1RtRCkf3lKEMkl3QQz8IW+yEriOJIBpvfwELXgWue7W/gVRVYfMgmuImvdkomOGN7Kg aEOGwTgQqfr+OyWM6XDDaawuLY7jBTamLjHb/8Zyu8PV629BBgEkxOFLCuPIMQ+Uutr1DY zI+Slk84iKKa8P6qvMyzrJ14DY/XOtIVzPNxX8TAKl0b96lHGP2+RF4lZCf0GhA667FxuC BMwY3RSuT5rCu8+uJwVCB7dn8AxgPWxMEj34mhLdiqoYaRILBskbjgegDqIdaLIJHXCpdq h3vdHERyJXaOGQ9ywVHGA/GBANN5DwAcfOKbwgVURKy+A9UTl0CDK7NUR85Kcg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=tobias.gr header.s=2018 header.b=VeNLVapF; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Seal: i=1; s=key1; d=yhetil.org; t=1698534891; a=rsa-sha256; cv=none; b=s/Gu6OGCca/ELn1YKMUUNIdIRPgDpaxTF7VVnoEITRxS7ISQAqeenvU77JwtaMsO4GrvFh 1uQ691UdVKhai0BUfwnZDA1NkPqXyYIoReNFSpQHs5HurU89vm2lqveVcHy61Dn6DVaW9K qBqQ6JOoGB4L8s71Tz422TDbd/Wg3nVCvm7ADqyqB33omEqIISt3lKt/71ID1rBg6Q7CjA t7AZGXT79RFn1bPm7xRce4YDa8yHULfRyT6YCDHvOGiJD5ZKFtp2POsGJ3YauYhyMF5JLM 4c8TaNglT4PcNq0Bk9gDZydXGsUFCS3QRRk/mI/cHOMOdMalU53WKiZeHuwSGw== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qwsVl-0002lK-0l; Sat, 28 Oct 2023 19:14:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qwsVi-0002l4-QJ for guix-patches@gnu.org; Sat, 28 Oct 2023 19:14:31 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qwsVi-00033K-H8 for guix-patches@gnu.org; Sat, 28 Oct 2023 19:14:30 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qwsWE-0001Yf-Bx for guix-patches@gnu.org; Sat, 28 Oct 2023 19:15:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#66694] [PATCH] gnu: Add ani-cli References: <20231023051055.1470319-1-jaeme@runbox.com> In-Reply-To: <20231023051055.1470319-1-jaeme@runbox.com> Resent-From: Tobias Geerinckx-Rice Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 28 Oct 2023 23:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66694 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 66694@debbugs.gnu.org Received: via spool by 66694-submit@debbugs.gnu.org id=B66694.16985348545915 (code B ref 66694); Sat, 28 Oct 2023 23:15:02 +0000 Received: (at 66694) by debbugs.gnu.org; 28 Oct 2023 23:14:14 +0000 Received: from localhost ([127.0.0.1]:39898 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qwsVR-0001XK-SI for submit@debbugs.gnu.org; Sat, 28 Oct 2023 19:14:14 -0400 Received: from tobias.gr ([80.241.217.52]:57052) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qwsVO-0001X8-0J for 66694@debbugs.gnu.org; Sat, 28 Oct 2023 19:14:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; s=2018; bh=g+KLwxErWpd56 kTJAC1ETGwJ6uB7sBpt1ddxpJVE5zs=; h=date:subject:to:from; d=tobias.gr; b=VeNLVapFNZzxTuxEsMwhkOj6gt4gm2k3tuZi+YJ9D5vwOdhZeCtDYSIDBScsb0YHTva4 0tDxWvtGcaqGXXpepNPxGyTZtmi7xldUJjcVuzaQetCxgBFJvORHFSC3NyYBnBSw4szHWX c+/eBj+WHBLGBkOhq/PxHcI9zjTtydpNS1/Z4lb+jpsTN7EpADLXWPi7C+Ky31nPc1+53T cJXR0uKOsbbYF5DD0bVvd+wPM/WV035XpXCNAIeRODsji3dAvRk8jhXVBVfqVTEKWo1eE6 Nud5A2He04mQ6pMOU2+OHmDWY/kl1lzp3ez/NJtofHxLVCSSwnjdN/aB//DRwpBg== Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id d1aab8be (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO) for <66694@debbugs.gnu.org>; Sat, 28 Oct 2023 23:13:33 +0000 (UTC) Date: Sun, 29 Oct 2023 00:46:45 +0200 BIMI-Selector: v=BIMI1; s=default; Message-ID: <878r7me3xe.fsf@nckx> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Tobias Geerinckx-Rice X-ACL-Warn: , Tobias Geerinckx-Rice via Guix-patches From: Tobias Geerinckx-Rice via Guix-patches via Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -7.70 X-Spam-Score: -7.70 X-Migadu-Queue-Id: 0A6006089D X-Migadu-Scanner: mx13.migadu.com X-TUID: g4ko5ndhzWub --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Hi Jaeme, Thanks for submitting this package! I've attached my revision=20 below. We don't sign off on our own patches in Guix. Our Signed-off-by=20 does not have the same DCO meaning as it does for, e.g., Linux.=20 Ours is merely a stamp of approval by a committer. +(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=20 "1ni9pzjb5qh87iz7c8252bx79qadr1qx6jnkqvvjcqrchh7q473a")))) + (build-system copy-build-system) So=E2=80=A6 uhm. Apparently the copy-build-system doesn't acknowledge the existence=20 of cross compilation, like, at all? This is a bug in Guix, not you, but here I switched to the=20 gnu-build-system to avoid it. + (wrap-program (string-append #$output=20 "/bin/ani-cli") + `("PATH" ":" prefix + ,(map bin + (list "aria2c" + "curl" + "ffmpeg" + "fzf" + "grep" + "mpv" + "sed" + "uname" + "yt-dlp"))))))))) I added "tput" to this list. While the script appears to be=20 usable without it, it spits out ugly errors and might misbehave. + (home-page "https://github.com/pystardust/ani-cli") + (synopsis "CLI to browse and watch anime") + (description + "ani-cli is a command-line interface (CLI) to browse and=20 watch anime. It +provides an easy way to stream shows using allanime as a source.=20 There are +different features such as episode browsing, history tracking,=20 streaming at +multiple resolutions and much more depending on what programs the=20 user has +installed.") I took the liberty of rewriting this a bit, including my previous=20 @uref suggestion. + (inputs (list aria2 + coreutils + curl + ffmpeg + fzf + mpv + yt-dlp)) Besides ncurses for tput, I added grep and sed for the wrapper.=20 This will matter when the package cross-builds: you don't want the=20 script calling the build-time =E2=80=98native=E2=80=99 grep at run time. I also added bash-minimal at =E2=80=98guix lint=E2=80=99's suggestion. We conventionally put fields in this order: source build-system arguments native-inputs inputs propagated-inputs home-page synopsis description license This is not a hard rule and you'll find variants, but I moved the=20 inputs to their conventional location above the Metadata Zone. + (license license:gpl3))) As noted in #guix, I changed this to GPL3+ due to the =E2=80=98or (at your= =20 option) any later version=E2=80=99 wording. Here's a random Deep Guix Thing that I'm too tired to explain=20 further: because this script invokes curl, and to avoid=20 propagating curl, I added a copy of one of our curl package's=20 native-search-paths. This makes the script work inside a --pure=20 guix shell, as long as you include nss-certs. I do wonder: just how legal is this script, and the one Web site=20 to which it's tightly bound? Kind regards, T G-R --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-ani-cli.patch Content-Transfer-Encoding: quoted-printable From=20e35b26790407b8019bee2f824f03f31c173e3507 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 =2D-- 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 =2D-- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -66,6 +66,7 @@ ;;; Copyright =C2=A9 2023 Ott Joon ;;; Copyright =C2=A9 2023 Dominik Delgado Steuter ;;; Copyright =C2=A9 2023 Saku Laesvuori +;;; Copyright =C2=A9 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)) =20 +(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 wat= ch +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 progra= ms 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 =2D-=20 2.41.0 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCZT2Vng0cbWVAdG9iaWFz LmdyAAoJEA2w/4hPVW15dCoA/RZoCZWngoXGkCQWvbzZQ1o5YjnIyO3W/XdwO1am qSBBAP4ptJ0Tsv6rhAVnpNqKIFD5lHsy8YT6jxvmNkgPD7OOBA== =4YLM -----END PGP SIGNATURE----- --==-=-=--