summary refs log tree commit diff
path: root/gnu/packages/gnunet.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gnunet.scm')
-rw-r--r--gnu/packages/gnunet.scm151
1 files changed, 82 insertions, 69 deletions
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 4d662d75fb..f080d72ccd 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2023 Adam Faiz <adam.faiz@disroot.org>
+;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,6 +32,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)
@@ -259,82 +261,93 @@ supports HTTP, HTTPS and GnuTLS.")
 
 (define-public gnunet
   (package
-   (name "gnunet")
-   (version "0.19.3")
-   (source
-    (origin
-      (method url-fetch)
-      (uri (string-append "mirror://gnu/gnunet/gnunet-" version
-                          ".tar.gz"))
-      (sha256
-       (base32
-        "09bspbjl6cll8wcrl1vnb56jwp30pcrg1yyj6xy3i0fl2bzdbdw2"))
-      (modules '((guix build utils)))
-      (snippet
-       #~(begin
-           ;; This is fixed in the upstream repository but the fix
-           ;; has not been released.
-           (substitute* "src/gns/test_proxy.sh"
-             (("test_gnunet_proxy.conf") "test_gns_proxy.conf"))))))
-   (build-system gnu-build-system)
-   (inputs
-    (list bluez
-          glpk
-          curl
-          gnutls/dane
-          gstreamer
-          jansson
-          libextractor
-          libidn2
-          libgcrypt
-          libjpeg-turbo
-          libltdl
-          libmicrohttpd
-          libogg
-          libsodium
-          libunistring
-          miniupnpc
-          opus
-          pulseaudio
-          sqlite
-          zbar
-          zlib))
-   (native-inputs
-    (list curl
-          openssl
-          pkg-config
-          python
-          python-sphinx
-          python-sphinx-rtd-theme
-          xxd
-          (@ (gnu packages base) which)))
-   (arguments
-    '(#:parallel-tests? #f ; Parallel tests aren't supported.
+    (name "gnunet")
+    (version "0.19.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://gnu/gnunet/gnunet-" version
+                           ".tar.gz"))
+       (sha256
+        (base32
+         "16q0mkkr9b33wlm307ignfgvv0kilzr42155m5dpz66m13s3v9h0"))
+       (modules '((guix build utils)))
+       (snippet
+        #~(begin
+            ;; This is fixed in the upstream repository but the fix
+            ;; has not been released.
+            (substitute* "src/gns/test_proxy.sh"
+              (("test_gnunet_proxy.conf") "test_gns_proxy.conf"))))))
+    (build-system gnu-build-system)
+    (inputs
+     (list bluez
+           glpk
+           curl
+           gnutls/dane
+           gstreamer
+           jansson
+           libextractor
+           libidn2
+           libgcrypt
+           libjpeg-turbo
+           libltdl
+           libmicrohttpd
+           libogg
+           libsodium
+           libunistring
+           miniupnpc
+           opus
+           pulseaudio
+           sqlite
+           zbar
+           zlib))
+    (native-inputs
+     (list curl
+           openssl
+           pkg-config
+           python
+           python-sphinx
+           python-sphinx-rtd-theme
+           xxd
+           which))
+    (arguments
+     (list
+      #:parallel-tests? #f              ;parallel tests aren't supported
       #:phases
-      (modify-phases %standard-phases
-        (add-before 'check 'set-env-var-for-tests
-          (lambda _
-            (setenv "LANG" "en_US.UTF-8")))
-        ;; Swap 'check and 'install phases and add installed binaries to $PATH.
-        (add-before 'check 'set-path-for-check
-          (lambda* (#:key outputs #:allow-other-keys)
-           (let ((out (assoc-ref outputs "out")))
-             (setenv "GNUNET_PREFIX" (string-append out "/lib"))
-             (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin")))
-           #t))
-        (delete 'check)
-        (add-after 'install 'check
-          (assoc-ref %standard-phases 'check)))))
-   (synopsis "Secure, decentralized, peer-to-peer networking framework")
-   (description
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'disable-problematic-tests
+            (lambda _
+              (substitute* "src/cadet/Makefile.in"
+                ;; The speed_reliable tests appear to be unreliable (see:
+                ;; https://bugs.gnunet.org/view.php?id=7787).
+                (("test_cadet_[0-9]+_speed_reliable\\$\\(EXEEXT)")
+                 ""))
+              (substitute* "src/core/Makefile.in"
+                ;; The 'test_core_api' test fails non-deterministically (see:
+                ;; https://bugs.gnunet.org/view.php?id=7784).
+                (("test_core_api\\$\\(EXEEXT) ") ""))))
+          (add-before 'check 'set-env-var-for-tests
+            (lambda _
+              (setenv "LANG" "en_US.UTF-8")))
+          ;; Swap 'check and 'install phases and add installed binaries to $PATH.
+          (add-before 'check 'set-path-for-check
+            (lambda _
+              (setenv "GNUNET_PREFIX" (string-append #$output "/lib"))
+              (setenv "PATH" (string-append (getenv "PATH") ":"
+                                            #$output "/bin"))))
+          (delete 'check)
+          (add-after 'install 'check
+            (assoc-ref %standard-phases 'check)))))
+    (synopsis "Secure, decentralized, peer-to-peer networking framework")
+    (description
      "GNUnet is a framework for secure peer-to-peer networking.  The
 high-level goal is to provide a strong foundation of free software for a
 global, distributed network that provides security and privacy.  GNUnet in
 that sense aims to replace the current internet protocol stack.  Along with
 an application for secure publication of files, it has grown to include all
 kinds of basic applications for the foundation of a GNU internet.")
-   (license license:agpl3+)
-   (home-page "https://gnunet.org/en/")))
+    (license license:agpl3+)
+    (home-page "https://www.gnunet.org/en/")))
 
 (define-public guile-gnunet                       ;GSoC 2015!
   (let ((commit "d12167ab3c8d7d6caffd9c606e389ef043760602")