(address . guix-patches@gnu.org)
X-Debbugs-CC: pukkamustard <pukkamustard@posteo.net>, pukkamustard <pukkamustard@posteo.net>
[CC'ing pukkamustard and ludo for their interest in Guix+GNUnet]
Hi,
The first patch adds a module to guile-fibers required by gnunet-scheme. It has been submitted upstream at https://github.com/wingo/fibers/pull/50, but there has not been any response so far.
The second commit adds 'gnunet-scheme', which is not the same as guile-gnunet:
"This package provides Guile modules for connecting to the NSE (network
size estimation) and DHT (distributed hash table) services of GNUnet. It also
has infrastructure for writing new GNUnet services and connecting to them and
can be used from multi-threaded environments. It is not to be confused with
@code{guile-gnunet} -- @code{guile-gnunet} supports a different set of services."
gnunet-scheme supports the DHT and NSE, while guile-gnunet doesn't.
Conversely, guile-gnunet supports FS while gnunet-scheme doesn't (yet).
Additionally, while it's not impossible per se, guile-gnunet is hard
to use from a multi-threaded context.
Next step: integrate it with guile-eris and the substituter patches based
on guile-eris (currently these only support IPFS as P2P backend)!
'guix lint gnunet-scheme guile-fibers' only have a single complaint:
gnu/packages/gnunet.scm:379:12: gnunet-scheme@0.2: URI https://git.gnunet.org/git/gnunet-scheme.gitnot reachable: 404 ("Not Found")
"guix build gnunet-scheme" could download the source code though,
so I don't understand.
It fails to cross-compile because guile-fibers fails to cross-compile:
Toggle quote (8 lines)
> checking for guile-3.0... yes
> checking for guile-3.0... no
> checking for guile3.0... no
> checking for guile-3... no
> checking for guile3... no
> checking for guile... no
> configure: error: guile required but not found
That's unrelated to gnunet-scheme though.
Greetings,
Maxime
From 5b57cdbb8f4d56c66885ea029cbe0a185d61a725 Mon Sep 17 00:00:00 2001
From: Maxime Devos <maximedevos@telenet.be>
Date: Fri, 4 Feb 2022 11:23:36 +0000
Subject: [PATCH 2/2] gnu: Add gnunet-scheme.
This is not the same as guile-gnunet, see the description.
* gnu/packages/gnunet.scm (gnunet-scheme): New variable.
---
gnu/packages/gnunet.scm | 58 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
Toggle diff (96 lines)
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 5c0dd348cc..1c09c9047b 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -42,6 +43,7 @@ (define-module (gnu packages gnunet)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
@@ -58,10 +60,12 @@ (define-module (gnu packages gnunet)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages sqlite)
+ #:use-module (gnu packages text-editors)
#:use-module (gnu packages tls)
#:use-module (gnu packages upnp)
#:use-module (gnu packages video)
#:use-module (gnu packages vim)
+ #:use-module (gnu packages xorg)
#:use-module (gnu packages web)
#:use-module (gnu packages xiph)
#:use-module (gnu packages backup)
@@ -368,6 +372,60 @@ (define-public guile-gnunet ;GSoC 2015!
(home-page "https://gnu.org/software/guix")
(license license:gpl3+))))
+(define-public gnunet-scheme
+ (package
+ (name "gnunet-scheme")
+ (version "0.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.gnunet.org/git/gnunet-scheme.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0a11n58m346vs2khns2hfnxv8lbscf8aaqzhmq0d7nwdpn808nrp"))
+ (modules '((guix build utils)))
+ ;; XXX: Work-around
+ ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49623>,
+ ;; this can be removed once Guile > 3.0.7 is released.
+ (snippet '(substitute* '("gnu/gnunet/config/parser.scm"
+ "tests/config-parser.scm")
+ (("#\\{\\$\\{\\}\\}#") "#{${;};}#")
+ (("#\\{\\$\\{:-\\}\\}#") "#{${;:-};}#")
+ (("#\\{\\$\\{\\}\\}# #\\{\\$\\{:-\\}\\}#")
+ "#{$\\x7b;\\x7d;}# #{$\\x7b;:-\\x7d;}#")
+ (("'#\\{\\$\\{\\}\\}# '#\\{\\$\\{:-\\}\\}#")
+ "'#{$\\x7b;\\x7d;}# '#{$\\x7b;:-\\x7d;}#")))))
+ (build-system gnu-build-system)
+ (inputs (list guile-3.0)) ;for pkg-config
+ (propagated-inputs (list guile-bytestructures guile-gcrypt guile-pfds
+ guile-fibers-1.1))
+ (native-inputs (list guile-3.0 ;as a compiler
+ ;; for cross-compilation, the guile inputs need to be
+ ;; native-inputs as well.
+ guile-bytestructures
+ guile-gcrypt
+ guile-pfds
+ guile-fibers-1.1
+ automake
+ autoconf
+ pkg-config
+ texmacs
+ xvfb-run ;for documentation
+ guile-quickcheck)) ;for tests
+ (synopsis "Guile implementation of GNUnet client libraries")
+ (description
+ "This package provides Guile modules for connecting to the NSE (network
+size estimation) and DHT (distributed hash table) services of GNUnet. It also
+has infrastructure for writing new GNUnet services and connecting to them and
+can be used from multi-threaded environments. It is not to be confused with
+@code{guile-gnunet} -- @code{guile-gnunet} supports a different set of services.")
+ ;; Most code is licensed as AGPL and a few modules are licensed as LGPL
+ ;; or GPL. Documentation is licensed as GFDL.
+ (license (list license:agpl3+ license:gpl3+ license:fdl1.3+ license:lgpl3+))
+ (home-page "https://git.gnunet.org/gnunet-scheme.git")))
+
;; FIXME: "gnunet-setup" segfaults under certain conditions and "gnunet-gtk"
;; does not seem to be fully functional. This has been reported upstream:
;; http://lists.gnu.org/archive/html/gnunet-developers/2016-02/msg00004.html
--
2.34.0
-----BEGIN PGP SIGNATURE-----
iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYf0SRRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7jw6AQCjiP7lS93b+VvPxwQmjJIa39KC
24hco7Vi05aBYuFGGwEA9GiUJNuoMavib6VxjpFtvcH07ukJSjtJv1xI030mGgM=
=554y
-----END PGP SIGNATURE-----