Subject: [bug#53319] [PATCH] gnu: Add n2n.

From: Nicolas Goaziou <[email-masked]>
Date: Fri, 28 Jan 2022 11:10:14 +0100

Hello,

路辉 <[email-masked]> writes:

> Subject: [PATCH] gnu: Add n2n.

Thank you. Some comments follow.

> +(define-public n2n-2

I think the variable should be "n2n" only.

> +    (native-inputs (list autoconf automake))
> +    (arguments
> +     `(#:make-flags (list (string-append "PREFIX=" %output) "CC=gcc")

CC=gcc is not cross-compilation friendly. Also, %output is being phased
out. I suggest using G-expressions:

  (arguments
   (list
    #:make-flags
    #~(list (string-append "PREFIX=" #$output)
            #$(string-append "CC=" (cc-for-target)))
    ...))

> +       #:phases
> +       (modify-phases %standard-phases

If you use G-expressions, you'll need to start with:

  #~(modify-phases %standard-phases
     ...)

> +         (add-before 'configure 'fix-configure
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (substitute* "configure"
> +               (("/bin/sh") (which "sh"))))))

Instead of using `which', you can use `search-input-file':

  (("/bin/sh") (search-input-file inputs "/bin/sh"))  

> +       #:tests? #f)) ;there is no check target
> +    (home-page "https://github.com/ntop/n2n")
> +    (synopsis "Peer-to-peer VPN client and server")
> +    (description
> +     "A light VPN software which makes it
> +easy to create virtual networks bypassing intermediate firewalls.")

Description should consist of full sentences. I suggest:

  n2n is a light VPN software which makes it easy to create virtual
  networks bypassing intermediate firewalls.

Also, the package brings third-party software: libnatpmp and libupnp.
Would it be possible to unbundle them, since Guix already ships both?

Could you send an updated patch?

Regards,
-- 
Nicolas Goaziou