Hi Jaeme, Thanks for submitting this package! I've attached my revision below. 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. +(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) So… uhm. Apparently the copy-build-system doesn't acknowledge the existence of cross compilation, like, at all? This is a bug in Guix, not you, but here I switched to the gnu-build-system to avoid it. + (wrap-program (string-append #$output "/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 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 watch anime. It +provides an easy way to stream shows using allanime as a source. 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.") I took the liberty of rewriting this a bit, including my previous @uref suggestion. + (inputs (list aria2 + coreutils + curl + ffmpeg + fzf + mpv + yt-dlp)) Besides ncurses for tput, I added grep and sed for the wrapper. This will matter when the package cross-builds: you don't want the script calling the build-time ‘native’ grep at run time. I also added bash-minimal at ‘guix lint’'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 inputs to their conventional location above the Metadata Zone. + (license license:gpl3))) As noted in #guix, I changed this to GPL3+ due to the ‘or (at your option) any later version’ wording. Here's a random Deep Guix Thing that I'm too tired to explain further: because this script invokes curl, and to avoid propagating curl, I added a copy of one of our curl package's native-search-paths. This makes the script work inside a --pure guix shell, as long as you include nss-certs. I do wonder: just how legal is this script, and the one Web site to which it's tightly bound? Kind regards, T G-R