Subject: [PATCH] gnu: yggdrasil: Update to 0.4.7.
From: "Artyom V. Poptsov" <[email-masked]>
To: [email-masked]
Date: Sun, 18 Jun 2023 10:15:18 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

this patch series updates "yggdrasil" package to 0.4.7.
From 18dce04a73f64ff3e495be13b7a15a659aa98432 Mon Sep 17 00:00:00 2001
Message-Id: <18dce0[email-masked]>
From: "Artyom V. Poptsov" <[email-masked]>
Date: Sun, 18 Jun 2023 10:03:59 +0300
Subject: [PATCH 1/2] gnu: go-github-com-arceliar-ironwood: Update to
 0.0.0-20221115123222-ec61cea2f439.

* gnu/packages/golang.scm (go-github-com-arceliar-ironwood): Update to
  0.0.0-20221115123222-ec61cea2f439.
---
 gnu/packages/golang.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index d51c023808..ced75a7894 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -11610,7 +11610,7 @@ (define-public go-github-com-containerd-console
 (define-public go-github-com-arceliar-ironwood
   (package
     (name "go-github-com-arceliar-ironwood")
-    (version "0.0.0-20210912013146-c2bc55bb349c")
+    (version "0.0.0-20221115123222-ec61cea2f439")
     (source
      (origin
        (method git-fetch)
@@ -11620,7 +11620,7 @@ (define-public go-github-com-arceliar-ironwood
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1dfkqnkfxwlwcsk8g9r1pv84lfzgn8r1vam13zlmk81cgan2r6fx"))))
+         "0jdfhsr1yci0a4fpf2pmh9n4d7iryjx12y3549gv9nfjf91rs225"))))
     (build-system go-build-system)
     (arguments
      '(#:import-path "github.com/Arceliar/ironwood"

base-commit: 5c66be3c17e279e4589320c69deb5dba0fd034e2
-- 
2.34.1

From 42a23d45d574bb7babdba54b544ca21340bb891f Mon Sep 17 00:00:00 2001
Message-Id: <42a23d[email-masked]>
In-Reply-To: <18dce0[email-masked]>
References: <18dce0[email-masked]>
From: "Artyom V. Poptsov" <[email-masked]>
Date: Sun, 18 Jun 2023 10:07:32 +0300
Subject: [PATCH 2/2] gnu: yggdrasil: Update to 0.4.7.

* gnu/packages/networking.scm (yggdrasil): Update to 0.4.7.
  [arguments]: Use G-expressions.  Set the package build name and version.
  Use go-1.20.
  [propagated-inputs]: Add "go-golang-org-x-tools",
  "go-github-com-olekukonko-tablewriter" and
  "go-github-com-mattn-go-colorable".
* gnu/packages/patches/yggdrasil-extra-config.patch: Don't use deprecated
  "ioutil".
---
 gnu/packages/networking.scm                   | 49 +++++++++++--------
 .../patches/yggdrasil-extra-config.patch      |  2 +-
 2 files changed, 30 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index b0cdcdf6a3..c3d041f109 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -4392,7 +4392,7 @@ (define-public nbd
 (define-public yggdrasil
   (package
     (name "yggdrasil")
-    (version "0.4.3")
+    (version "0.4.7")
     (source
      (origin
        (method git-fetch)
@@ -4403,27 +4403,33 @@ (define-public yggdrasil
          (recursive? #t)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0jp6998a45xi8pbi8p84chvpm1mhhcvcxm1avi1c1gjjp4jqm3vl"))
+        (base32 "01mllfrsr55lnfivxwa57cfrjas6w4shsvx9k81pw8jixc124myk"))
        (patches (search-patches "yggdrasil-extra-config.patch"))))
     (build-system go-build-system)
     (arguments
-     '(#:import-path "github.com/yggdrasil-network/yggdrasil-go"
-       ;; TODO: figure out how tests are run
-       #:tests? #f
-       #:install-source? #f
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'build
-           (lambda* (#:key import-path build-flags #:allow-other-keys)
-             (for-each
-               (lambda (directory)
-                 ((assoc-ref %standard-phases 'build)
-                  #:build-flags build-flags
-                  #:import-path directory))
-               (list "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasil"
-                     "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl"
-                     "github.com/yggdrasil-network/yggdrasil-go/cmd/genkeys"))
-             #t)))))
+     (list #:import-path "github.com/yggdrasil-network/yggdrasil-go"
+           ;; TODO: figure out how tests are run
+           #:tests? #f
+           #:install-source? #f
+           #:go go-1.20
+           #:phases
+           #~(modify-phases %standard-phases
+               (replace 'build
+                 (lambda* (#:key import-path build-flags #:allow-other-keys)
+                   (let* ((pkgsrc "github.com/yggdrasil-network/yggdrasil-go/src/version")
+                          (ldflags (format #f
+                                           "-X ~a.buildName=yggdrasil -X ~a.buildVersion=~a"
+                                           pkgsrc
+                                           pkgsrc
+                                           #$version)))
+                     (for-each
+                      (lambda (directory)
+                        ((assoc-ref %standard-phases 'build)
+                         #:build-flags `("-ldflags" ,ldflags)
+                         #:import-path directory))
+                      (list "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasil"
+                            "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl"
+                            "github.com/yggdrasil-network/yggdrasil-go/cmd/genkeys"))))))))
     ;; https://github.com/kardianos/minwinsvc is windows only
     (propagated-inputs
      (list ;;("go-golang-zx2c4-com-wireguard-windows"
@@ -4433,8 +4439,10 @@ (define-public yggdrasil
            go-golang-org-x-sys
            go-golang-org-x-net
            go-golang-org-x-crypto
+           go-golang-org-x-tools
            go-netns
            go-netlink
+           go-github-com-olekukonko-tablewriter
            go-github-com-mitchellh-mapstructure
            go-github-com-mattn-go-runewidth
            go-github-com-mattn-go-isatty
@@ -4446,7 +4454,8 @@ (define-public yggdrasil
            go-github-com-cheggaaa-pb-v3
            go-github-com-vividcortex-ewma
            go-github-com-arceliar-phony
-           go-github-com-arceliar-ironwood))
+           go-github-com-arceliar-ironwood
+           go-github-com-mattn-go-colorable))
     (home-page "https://yggdrasil-network.github.io/blog.html")
     (synopsis
      "Experiment in scalable routing as an encrypted IPv6 overlay network")
diff --git a/gnu/packages/patches/yggdrasil-extra-config.patch b/gnu/packages/patches/yggdrasil-extra-config.patch
index bd4bea7b9f..7934e2b50f 100644
--- a/gnu/packages/patches/yggdrasil-extra-config.patch
+++ b/gnu/packages/patches/yggdrasil-extra-config.patch
@@ -33,7 +33,7 @@ index 58b8230..b9df98a 100644
  		panic(err)
  	}
 +	if extraconffile != "" {
-+		extraconf, err = ioutil.ReadFile(extraconffile);
++		extraconf, err = os.ReadFile(extraconffile);
 +	}
 +	if err != nil {
 +		panic(err)
-- 
2.34.1

Thanks,

- avp

-- 
Artyom "avp" Poptsov <[email-masked]>
Home page: https://memory-heap.org/~avp/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE  B57C E9C5 A2D9 0898 A02F