Subject: [bug#44620] [PATCH v2] gnu: Add gmni.

From: Christopher Baines <[email-masked]>
Date: Sun, 15 Nov 2020 19:23:49 +0000

Alexandru-Sergiu Marton <[email-masked]> writes:

> * gnu/packages/web-browsers.scm (gmni): New variable.

Hi,

Thanks for the patch :) I've made some comments below.

> ---
> This second version simplifies the arguments section by using #:make-flags to
> set CC, rather than using an environment variable.
>
>  gnu/packages/web-browsers.scm | 39 +++++++++++++++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
>
> diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
> index 5cb5185a31..b652e8d472 100644
> --- a/gnu/packages/web-browsers.scm
> +++ b/gnu/packages/web-browsers.scm
> @@ -13,6 +13,7 @@
>  ;;; Copyright © 2020 Raghav Gururajan <[email-masked]>
>  ;;; Copyright © 2020 B. Wilson <[email-masked]>
>  ;;; Copyright © 2020 Michael Rohleder <[email-masked]>
> +;;; Copyright © 2020 Alexandru-Sergiu Marton <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -60,6 +61,7 @@
>    #:use-module (gnu packages lisp)
>    #:use-module (gnu packages lisp-xyz)
>    #:use-module (gnu packages lua)
> +  #:use-module (gnu packages man)
>    #:use-module (gnu packages ncurses)
>    #:use-module (gnu packages perl)
>    #:use-module (gnu packages pkg-config)
> @@ -584,6 +586,43 @@ key-bindings and is fully configurable and extensible in Common Lisp.")
>  (define-public sbcl-next
>    (deprecated-package "sbcl-next" nyxt))
>  
> +(define-public gmni
> +  (let ((commit "4a6172f1bf9cb41eb1ce3a5f720f9ebe4febc62b")
> +        (revision "0"))
> +    (package
> +      (name "gmni")
> +      (version (git-version "0" revision commit))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://git.sr.ht/~sircmpwn/gmni")
> +                      (commit commit)))
> +                (sha256
> +                 (base32
> +                  "1nznkk1ccm5l09glalkv8bmhspqhvmh74ca18cfpdpbwkbzdzc7i"))
> +                (file-name (git-file-name name version))))
> +      (build-system gnu-build-system)
> +      (arguments
> +       `(#:tests? #f

I'm guessing there are no tests to run, but a comment saying that would
be good.

> +         #:make-flags (list "CC=gcc")))

I think it would be better to put something like:

  (string-append "CC=" ,(cc-for-target))

As I believe that helps when compiling for other architectures. I copied
that from the f3 package if you want an example in context.

> +      (inputs
> +       `(("openssl" ,openssl)))
> +      (native-inputs
> +       `(("pkg-config" ,pkg-config)
> +         ("scdoc" ,scdoc)))
> +      (home-page "https://sr.ht/~sircmpwn/gmni")
> +      (synopsis "Gemini client")

Is there some way of making this more descriptive, like saying it's a
command line client?

> +      (description "This is a Gemini client.  Included are:
> +
> +@itemize
> +@item A CLI utility (like curl): gmni
> +@item A line-mode browser: gmnlm
> +@end itemize")

I'd probably change the start of this to "The gmni package includes:",
as that repeats the synopsis less.

> +      (license (list license:gpl3+
> +                     (license:non-copyleft
> +                      "https://curl.se/docs/copyright.html"
> +                      "Used only for files taken from curl."))))))
> +
>  (define-public bombadillo
>    (package
>      (name "bombadillo")

Would you be able to send an updated patch?

Thanks,

Chris