Subject: Re: [bug#47874] gnu: Add kirc.

From: Leo Famulari <[email-masked]>
Date: Sun, 18 Apr 2021 14:58:44 -0400

On Sun, Apr 18, 2021 at 04:05:11PM +0530, Winter Hound wrote:
> From f77caa31810add7bddc321f3980170e494f648d4 Mon Sep 17 00:00:00 2001
> From: WinterHound <[email-masked]>
> Date: Sun, 18 Apr 2021 15:55:23 +0530
> Subject: [PATCH] gnu: Add kirc.

Thanks for the patch!

I pushed it as 3ddece896fddc38a29ab7e69f7c74f35e5a381fb with the
following changes:

> +              (method url-fetch)
> +              (uri (string-append "https://github.com/mcpcpc/kirc/archive/refs/tags/" version
> +                                  ".tar.gz"))

I changed the source to fetch from Git. This type of tarball, which is
named "Source code (tar.gz)" on the web site, is generated automatically
by GitHub. These auto-generated tarballs actually change over time, as
GitHub updates their software. So, we fetch from Git in this case, to
ensure that package source will always be bit-identical.

> +    (synopsis "A tiny IRC client written in POSIX C99")

`guix lint kirc` complained that the synopsis starts with an "article",
that is, with "A [...]". So I removed it.

> +    (description
> +     "A tiny open-source Internet Relay Chat (IRC) client designed with usability and cross-platform compatibility in mind.
> +Features
> +    No dependencies other than a C99 compiler.
> +    Simple Authentication and Security Layer (SASL) procotol support.
> +    Client-to-client (CTCP) protocol support.
> +    Transport Layer Security (TLS) protocol support (via external utilities).
> +    Simple chat history logging.
> +    Asynchronous message handling.
> +    Multi-channel joining at server connection.
> +    Full support for all RFC 2812 commands.
> +    Easy customized color scheme definition.")

And I removed what I consider "marketing language" from the synopsis and
description, and suggested in our manual's Synopses and Descriptions
section:

https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html#Synopses-and-Descriptions

For example, the word "tiny" is subjective, and I think all programs
designed to be "usable" :)

Finally, I made sure to import the module (guix utils) in (gnu packages
irc). Otherwise, the package fails to build, like this:

------
ice-9/eval.scm:142:16: In procedure compile-top-call:
error: cc-for-target: unbound variable
hint: Did you forget `(use-modules (guix utils))'?
------

We request that you lint your packages and try building them before
submitting your patches. If you don't know how to do that, that's okay!
Just say so in the patch submission, and we will be happy to help.