Subject: Re: [bug#35304] [PATCH] gnu: gnunet: Update to 0.11.3

From: [email-masked]
Date: Wed, 17 Apr 2019 16:52:23 +0000

Hi,

a few nitpicks (no idea if you have looked at my 0.11.0
update which was never applied).
 
Ivan Vilata-i-Balaguer transcribed 4.3K bytes:
> Some dependencies of `gnunet` missing from Guix are listed but commented out.
> The dependency on Python 2 is removed since (according to GNUnet's changelog),
> the last program using it (`gnunet-qr`) was rewritten in C.
> 
> `gnunet-gtk` also modified since its version no longer matches that of
> `gnunet` (plus added additional dependency).
> ---
>  gnu/packages/gnunet.scm | 26 ++++++++++++++++----------
>  1 file changed, 16 insertions(+), 10 deletions(-)
> 
> diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
> index 09fad6a268..1409d0a8a5 100644
> --- a/gnu/packages/gnunet.scm
> +++ b/gnu/packages/gnunet.scm
> @@ -26,6 +26,7 @@
>  
>  (define-module (gnu packages gnunet)
>    #:use-module (gnu packages)
> +  #:use-module (gnu packages base)
>    #:use-module (gnu packages file)
>    #:use-module (gnu packages aidc)
>    #:use-module (gnu packages autotools)
> @@ -34,6 +35,7 @@
>    #:use-module (gnu packages gettext)
>    #:use-module (gnu packages glib)
>    #:use-module (gnu packages gnome)
> +  #:use-module (gnu packages gnunet)
>    #:use-module (gnu packages gnupg)
>    #:use-module (gnu packages groff)
>    #:use-module (gnu packages gtk)
> @@ -55,6 +57,7 @@
>    #:use-module (gnu packages python)
>    #:use-module (gnu packages sqlite)
>    #:use-module (gnu packages tls)
> +  #:use-module (gnu packages upnp)
>    #:use-module (gnu packages video)
>    #:use-module (gnu packages web)
>    #:use-module (gnu packages xiph)
> @@ -231,7 +234,7 @@ supports HTTP, HTTPS and GnuTLS.")
>  (define-public gnunet
>    (package
>     (name "gnunet")
> -   (version "0.10.1")
> +   (version "0.11.3")
>     (source
>      (origin
>        (method url-fetch)
> @@ -239,7 +242,7 @@ supports HTTP, HTTPS and GnuTLS.")
>                            ".tar.gz"))
>        (sha256
>         (base32
> -        "04wxzm3wkgqbn42b8ksr4cx6m5cckyig5cls1adh0nwdczwvnp7n"))))
> +        "0dvsv2w91sbwf62kjfw2c4w5xihhz2ykllgzwxbysvdf6a9dn194"))))
>     (build-system gnu-build-system)
>     (inputs
>      `(("glpk" ,glpk)
> @@ -247,16 +250,21 @@ supports HTTP, HTTPS and GnuTLS.")
>        ("gstreamer" ,gstreamer)
>        ("gst-plugins-base" ,gst-plugins-base)
>        ("gnutls" ,gnutls/dane)
> +      ; ("libgabe" ,libgabe)

You will not need libgabe. If you read the README file
in gnunet.git or the release tarball, you will see
that it is part of the experimental switch, ie
--enable-experimental.. but I'm not sure about
this statement right now. That being said, if
anyone wants to apply it for Guix in a way which fits
guix, I have guix recipes for building the dependencies
for RE:CLAIM lying around for a year or so now. 

>        ("libextractor" ,libextractor)
>        ("libgcrypt" ,libgcrypt)
>        ("libidn" ,libidn)
>        ("libmicrohttpd" ,libmicrohttpd) ; hostlist, pt, contrib, and more
>        ("libltdl" ,libltdl)
> +      ; ("libpbc" ,libpbc)
>        ("libunistring" ,libunistring) ; fs and more
> +      ; ("libzbar" ,libzbar)
> +      ("miniupnpc" ,miniupnpc)
>        ("openssl" ,openssl) ; transport, certificate creation, contribs
>        ("opus" ,opus) ; gnunet-conversation
>        ("pulseaudio" ,pulseaudio) ; conversation
>        ("sqlite" ,sqlite) ; sqlite bindings, *store
> +      ("which" ,which)
>        ("zlib" ,zlib)
>        ("perl" ,perl) ; doxygen and more
>        ("jansson" ,jansson) ; identity, taler (external), gnunet-json, gns
> @@ -264,14 +272,11 @@ supports HTTP, HTTPS and GnuTLS.")
>        ("gmp" ,gmp) ; util
>        ("bluez" ,bluez) ; gnunet-transport
>        ("glib" ,glib)
> -      ("libogg" ,libogg) ; gnunet-conversation
> -      ("python-2" ,python-2))) ; tests, gnunet-qr
> +      ("libogg" ,libogg))) ; gnunet-conversation
>     (native-inputs
>      `(("pkg-config" ,pkg-config)))

Here I can see that you haven't read the outstanding 0.11.0
patch, as pkg-config was never necessary. If guix wants to
be extra picky on this, pkg-config can be removed in a
follow-up patch.

>     (arguments
> -    '(#:configure-flags
> -      (list (string-append "--with-nssdir=" %output "/lib"))
> -      #:parallel-tests? #f
> +    '(#:parallel-tests? #f
>        ;; test_gnunet_service_arm fails; reported upstream
>        #:tests? #f

Can you test the tests and report back to us (gnunet) if they
still fail for guix? Or if any new tests fail? Right now the
"reported upstream" is bit too fuzzy - it's not clear to any
future packager in guix why they were disabled.

>        #:phases
> @@ -332,14 +337,14 @@ services.")
>  (define-public gnunet-gtk
>    (package (inherit gnunet)
>      (name "gnunet-gtk")
> -    (version (package-version gnunet))
> +    (version "0.11.0")
>      (source (origin
>                (method url-fetch)
>                (uri (string-append "mirror://gnu/gnunet/gnunet-gtk-"
>                                    version ".tar.gz"))
>                (sha256
>                 (base32
> -                "1p38k1s6a2fmcfc9a7cf1zrdycm9h06kqdyand4s3k500nj6mb4g"))))
> +                "1vr9iyji25r87ym1jw033l9xyqfj4971anamfvz810rl65jjhb6z"))))
>      (arguments
>       `(#:configure-flags
>         (list "--with-libunique"
> @@ -353,7 +358,8 @@ services.")
>         ("libextractor" ,libextractor)
>         ("glade3" ,glade3)
>         ("qrencode" ,qrencode)
> -       ("libunique" ,libunique)))
> +       ("libunique" ,libunique)
> +       ("gnutls" ,gnutls)))

Please use the variant of gnutls built against unbound.
GnuTLS against unbound is optional but
having the same gnutls configuration in the relevant parts
of our build chain (in other words, where we check for it)
makes the build more consistent with out build suggestions.

>      (native-inputs
>       `(("pkg-config" ,pkg-config)
>         ("libglade" ,libglade)))
> -- 
> 2.21.0
> 
> 
> 
>