[bug#77193,1/1] gnu: gnunet: Update to 0.24.0.

Message ID f6e9ec347ca417aaeb9f878d839c3894e5f99b92.1742684620.git.noelopez@free.fr
State New
Headers
Series gnu: gnunet: Update to 0.24.0. |

Commit Message

Noé Lopez March 22, 2025, 11:10 p.m. UTC
From: Noé Lopez <noelopez@free.fr>

Miniupnpc is needed at runtime, and I couldn’t reproduce the tests failing
with ten rounds.

* gnu/packages/gnunet.scm (gnunet): Update to 0.24.0.  Move miniupnpc to
propagated inputs.  Restore working tests.

Change-Id: I60bc22150ba678f0bc552df4e9cbeb1c6eb1d79a
---
 gnu/packages/gnunet.scm | 30 +++++++-----------------------
 1 file changed, 7 insertions(+), 23 deletions(-)
  

Comments

Andreas Enge April 29, 2025, 9:21 a.m. UTC | #1
Hello Noé,

Am Sun, Mar 23, 2025 at 12:10:31AM +0100 schrieb Noé Lopez:
> Miniupnpc is needed at runtime

thanks for the patch! I could also build with tests.
Could you elaborate on miniupnpc, preferably explain why it is needed
directly in the Guix source code?

According to the gnunet website, it is only an optional dependency.
And there are so many binaries in the package that I suppose one could
make use of gnunet without installing miniupnpc. Could this then not be
left as an option to the user installing gnunet?

Or alternatively, is there a way to patch the source code to make things
work without propagation?

Andreas
  
Noé Lopez April 29, 2025, 9:47 a.m. UTC | #2
Andreas Enge <andreas@enge.fr> writes:

> Hello Noé,
>
> Am Sun, Mar 23, 2025 at 12:10:31AM +0100 schrieb Noé Lopez:
>> Miniupnpc is needed at runtime
>
> thanks for the patch! I could also build with tests.
> Could you elaborate on miniupnpc, preferably explain why it is needed
> directly in the Guix source code?
>
> According to the gnunet website, it is only an optional dependency.
> And there are so many binaries in the package that I suppose one could
> make use of gnunet without installing miniupnpc. Could this then not be
> left as an option to the user installing gnunet?
>

That’s true, for me its needed to connect since my network is NAT. But I
guess since it is a runtime dependency it can still work without.

Should we at least document this dependency in the package description?

> Or alternatively, is there a way to patch the source code to make things
> work without propagation?
>

It is, but I suppose we don’t want to do it if we keep it as a runtime
dependency. I’ll send a new patch for 0.24.1 without miniupnpc.

> Andreas
  
Andreas Enge April 29, 2025, 9:53 a.m. UTC | #3
Am Tue, Apr 29, 2025 at 11:47:42AM +0200 schrieb Noé Lopez:
> Should we at least document this dependency in the package description?

I think this is a good idea and would be helpful.

> It is, but I suppose we don’t want to do it if we keep it as a runtime
> dependency. I’ll send a new patch for 0.24.1 without miniupnpc.

Great, thanks!

Andreas
  

Patch

diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 0d6c006da9..4334b6ddf9 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -82,7 +82,8 @@  (define-module (gnu packages gnunet)
   #:use-module (guix deprecation)
   #:use-module (guix download)
   #:use-module (guix git-download)
-  #:use-module (guix build-system gnu))
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson))
 
 (define-public libextractor
   (package
@@ -192,7 +193,7 @@  (define-public libmicrohttpd
 (define-public gnunet
   (package
     (name "gnunet")
-    (version "0.23.0")
+    (version "0.24.0")
     (source
      (origin
        (method url-fetch)
@@ -200,8 +201,8 @@  (define-public gnunet
                            ".tar.gz"))
        (sha256
         (base32
-         "0ypnsn81fp3iqi8rgsbcvfnz9iwmaxd1h71mphak8ska2kabdim4"))))
-    (build-system gnu-build-system)
+         "0mrw2qp62wfpg8w7cfkjmx9kii4lmckqgpzdpq3cprik92gjz186"))))
+    (build-system meson-build-system)
     (inputs
      (list bluez
            glpk
@@ -218,7 +219,6 @@  (define-public gnunet
            libogg
            libsodium
            libunistring
-           miniupnpc
            opus
            pulseaudio
            sqlite
@@ -233,29 +233,13 @@  (define-public gnunet
            python-sphinx-rtd-theme
            xxd
            which))
+    (propagated-inputs
+     (list miniupnpc))
     (arguments
      (list
       #:parallel-tests? #f              ;parallel tests aren't supported
       #:phases
       #~(modify-phases %standard-phases
-          (add-after 'unpack 'disable-problematic-tests
-            (lambda _
-              ;; The file 'test_arm_probnat.sh' doesn't seem to exist,
-              ;; or have a creation method specified anywhere in the source.
-              (substitute* "src/service/arm/Makefile.in"
-                (("check_SCRIPTS = \\\\")
-                 "DISABLED_check_SCRIPTS = \\"))
-              ;; The 'test_communicator_bidirect-tcp' fails
-              ;; non-deterministically (see:
-              ;; https://bugs.gnunet.org/view.php?id=8689).
-              (substitute* "src/service/transport/Makefile.in"
-                (("test_communicator_bidirect-tcp\\$\\(EXEEXT) ")
-                 ""))
-              ;; The 'test_fs_search_with_and' fails non-deterministically
-              ;; (see: https://bugs.gnunet.org/view.php?id=8692).
-              (substitute* "src/service/fs/Makefile.in"
-                (("test_fs_search_with_and\\$\\(EXEEXT) ")
-                 ""))))
           (add-before 'check 'set-env-var-for-tests
             (lambda _
               (setenv "LANG" "en_US.UTF-8")))