unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / Atom feed
* [bug#51565] PATCH: Update Yggdrasil to new protocol (important breaking changes)
@ 2021-11-02  6:59 raingloom
  2021-11-15 14:10 ` pukkamustard
  2021-12-01 16:04 ` bug#51565: " Ricardo Wurmus
  0 siblings, 2 replies; 9+ messages in thread
From: raingloom @ 2021-11-02  6:59 UTC (permalink / raw)
  To: 51565

[-- Attachment #1: Type: text/plain, Size: 494 bytes --]

This is way overdue.

Credit for the packaging work:
https://github.com/bqv/rc/blob/live/rc/packages/yggdrasil.scm

It did need some more work though. The Go importer leaves a few things
to be desired, but that's for another thread.

Anyways, I tested it and it works. System service could be restarted
after a reconfigure without any issues.

Please apply this soon, because nodes running the outdated versions
can't connect to ones running this new version, due to breaking
protocol changes.

[-- Attachment #2: 0001-gnu-Add-go-github-com-vividcortex-ewma.patch --]
[-- Type: text/x-patch, Size: 1531 bytes --]

From 8150cb42022a91764223f52b991c512ba310ffaf Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Tue, 2 Nov 2021 06:36:37 +0000
Subject: [PATCH 1/7] gnu: Add go-github-com-vividcortex-ewma.

* gnu/packages/golang.scm (go-github-com-vividcortex-ewma): New variable.
---
 gnu/packages/golang.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index cc2a4ebc16..84e7387408 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -8839,3 +8839,24 @@ (define-public go-gopkg-in-djherbis-times-v1
     (description
      "Provides a platform-independent way to get atime, mtime, ctime and btime for files.")
     (license license:expat)))
+
+(define-public go-github-com-vividcortex-ewma
+  (package
+    (name "go-github-com-vividcortex-ewma")
+    (version "1.2.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/VividCortex/ewma")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0whx516l9nm4n41spagb605ry7kfnz1qha96mcshnfjlahhnnylq"))))
+    (build-system go-build-system)
+    (arguments '(#:import-path "github.com/VividCortex/ewma"))
+    (home-page "https://github.com/VividCortex/ewma")
+    (synopsis "EWMA")
+    (description
+      "Package ewma implements exponentially weighted moving averages.")
+    (license license:expat)))
-- 
2.33.1


[-- Attachment #3: 0002-gnu-Add-go-github-com-rivo-uniseg.patch --]
[-- Type: text/x-patch, Size: 1614 bytes --]

From 7e220e450fa368a44584047b586800ce212efd8e Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Tue, 2 Nov 2021 06:37:11 +0000
Subject: [PATCH 2/7] gnu: Add go-github-com-rivo-uniseg.

* gnu/packages/golang.scm (go-github-com-rivo-uniseg): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 84e7387408..90ba03b0b9 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -8860,3 +8860,26 @@ (define-public go-github-com-vividcortex-ewma
     (description
       "Package ewma implements exponentially weighted moving averages.")
     (license license:expat)))
+
+(define-public go-github-com-rivo-uniseg
+  (package
+    (name "go-github-com-rivo-uniseg")
+    (version "0.2.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/rivo/uniseg")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0j7h22vfmjj562vr8gpsyrkrwp1pq9ayh5fylv24skxb467g9f0q"))))
+    (build-system go-build-system)
+    (arguments '(#:import-path "github.com/rivo/uniseg"))
+    (home-page "https://github.com/rivo/uniseg")
+    (synopsis "Unicode Text Segmentation for Go")
+    (description
+      "Package uniseg implements Unicode Text Segmentation according to Unicode
+Standard Annex #29 (@url{http://unicode.org/reports/tr29/,http://unicode.org/reports/tr29/}).
+")
+    (license license:expat)))
-- 
2.33.1


[-- Attachment #4: 0003-gnu-Add-go-github-com-mattn-go-runewidth.patch --]
[-- Type: text/x-patch, Size: 1647 bytes --]

From 819ee93b9775dc3cd50b8289d10ae6e16233a13e Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Tue, 2 Nov 2021 06:37:17 +0000
Subject: [PATCH 3/7] gnu: Add go-github-com-mattn-go-runewidth.

* gnu/packages/golang.scm (go-github-com-mattn-go-runewidth): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 90ba03b0b9..34ca28998b 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -8883,3 +8883,26 @@ (define-public go-github-com-rivo-uniseg
 Standard Annex #29 (@url{http://unicode.org/reports/tr29/,http://unicode.org/reports/tr29/}).
 ")
     (license license:expat)))
+
+(define-public go-github-com-mattn-go-runewidth
+  (package
+    (name "go-github-com-mattn-go-runewidth")
+    (version "0.0.13")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/mattn/go-runewidth")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "1yir0f3wc5z5hnkwhvx5qb6nmpfb05zp2gvfjvna63s8kmla1rrn"))))
+    (build-system go-build-system)
+    (arguments '(#:import-path "github.com/mattn/go-runewidth"))
+    (propagated-inputs
+      `(("go-github-com-rivo-uniseg" ,go-github-com-rivo-uniseg)))
+    (home-page "https://github.com/mattn/go-runewidth")
+    (synopsis "go-runewidth")
+    (description
+      "This package provides functions to get fixed width of the character or string.")
+    (license license:expat)))
-- 
2.33.1


[-- Attachment #5: 0004-gnu-go-github-com-cheggaaa-pb-Update-to-3.0.8.patch --]
[-- Type: text/x-patch, Size: 2503 bytes --]

From b5e0bab1e54c472a3c8cbfd0c78023f022ec9ceb Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Tue, 2 Nov 2021 06:45:47 +0000
Subject: [PATCH 4/7] gnu: go-github-com-cheggaaa-pb: Update to 3.0.8.

* gnu/packages/golang.scm (go-github-com-cheggaaa-pb): Update to 3.0.8.
---
 gnu/packages/golang.scm | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 34ca28998b..93085f6477 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7948,7 +7948,7 @@ (define-public go-github-com-arceliar-phony
 (define-public go-github-com-cheggaaa-pb
   (package
     (name "go-github-com-cheggaaa-pb")
-    (version "3.0.4")
+    (version "3.0.8")
     (source
       (origin
        (method git-fetch)
@@ -7957,18 +7957,20 @@ (define-public go-github-com-cheggaaa-pb
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32
-         "0xhsv9yf3fz918ay6w0d87jnb3hk9vxvi16jk172kqq26x7jixd0"))))
+        (base32 "0d701s2niy39r650d1phjw19h4l27b1yfc2ih6s31f56b3zzqspx"))))
     (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/cheggaaa/pb/"))
+    (arguments '(#:import-path "github.com/cheggaaa/pb/v3"
+                 ;; XXX: it does have tests but I'm not sure how to run them.
+                 ;; go-build-system is looking in the wrong directory.
+                 #:tests? #f))
     (propagated-inputs
-     `(("go-github-com-fatih-color" ,go-github-com-fatih-color)
+     `(("go-golang-org-x-sys" ,go-golang-org-x-sys)
+       ("go-github-com-rivo-uniseg" ,go-github-com-rivo-uniseg)
+       ("go-github-com-mattn-go-runewidth" ,go-github-com-mattn-go-runewidth)
+       ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
        ("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable)
-       ("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
-       ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
-    (native-inputs
-     `(("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)))
+       ("go-github-com-fatih-color" ,go-github-com-fatih-color)
+       ("go-github-com-vividcortex-ewma" ,go-github-com-vividcortex-ewma)))
     (home-page "https://github.com/cheggaaa/pb/")
     (synopsis "Console progress bar for Go")
     (description "This package is a Go library that draws progress bars on
-- 
2.33.1


[-- Attachment #6: 0005-gnu-Rename-go-github-com-cheggaaa-pb-to-go-github-co.patch --]
[-- Type: text/x-patch, Size: 1035 bytes --]

From b3cc4ba59737a0729f4d962d614ea256771998c2 Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Tue, 2 Nov 2021 06:46:57 +0000
Subject: [PATCH 5/7] gnu: Rename go-github-com-cheggaaa-pb to
 go-github-com-cheggaaa-pb-v3.

* gnu/packages/golang.scm:
  (go-github-com-cheggaaa-pb): Rename variable.
  (go-github-com-cheggaaa-pb-v3): New variable.
---
 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 93085f6477..2ce5dc0d4d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7945,9 +7945,9 @@ (define-public go-github-com-arceliar-phony
 inspired by the causal messaging system in the Pony programming language.")
       (license license:expat))))
 
-(define-public go-github-com-cheggaaa-pb
+(define-public go-github-com-cheggaaa-pb-v3
   (package
-    (name "go-github-com-cheggaaa-pb")
+    (name "go-github-com-cheggaaa-pb-v3")
     (version "3.0.8")
     (source
       (origin
-- 
2.33.1


[-- Attachment #7: 0006-gnu-Add-go-github-com-arceliar-ironwood.patch --]
[-- Type: text/x-patch, Size: 2358 bytes --]

From 84fe7cb50744c103ad7b922ab69f7c5232ffdad3 Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Tue, 2 Nov 2021 06:50:36 +0000
Subject: [PATCH 6/7] gnu: Add go-github-com-arceliar-ironwood.

* gnu/packages/golang.scm (go-github-com-arceliar-ironwood): New variable.
---
 gnu/packages/golang.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 2ce5dc0d4d..c9f6de878e 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -8908,3 +8908,37 @@ (define-public go-github-com-mattn-go-runewidth
     (description
       "This package provides functions to get fixed width of the character or string.")
     (license license:expat)))
+
+(define-public go-github-com-arceliar-ironwood
+  (package
+    (name "go-github-com-arceliar-ironwood")
+    (version "0.0.0-20210912013146-c2bc55bb349c")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/Arceliar/ironwood")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1dfkqnkfxwlwcsk8g9r1pv84lfzgn8r1vam13zlmk81cgan2r6fx"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/Arceliar/ironwood"
+        #:tests? #f
+        #:phases
+        (modify-phases %standard-phases
+          ;; Source-only package
+          (delete 'build))))
+    (propagated-inputs
+      `(("go-golang-org-x-crypto"
+         ,go-golang-org-x-crypto)
+        ("go-github-com-arceliar-phony"
+         ,go-github-com-arceliar-phony)))
+    (home-page
+      "https://github.com/Arceliar/ironwood")
+    (synopsis "Ironwood")
+    (description
+      "Ironwood is a routing library with a @code{net.PacketConn}-compatible interface using @code{ed25519.PublicKey}s as addresses.  Basically, you use it when you want to communicate with some other nodes in a network, but you can't guarantee that you can directly connect to every node in that network.  It was written to test improvements to / replace the routing logic in @url{https://github.com/yggdrasil-network/yggdrasil-go,Yggdrasil}, but it may be useful for other network applications.")
+    (license license:mpl2.0)))
-- 
2.33.1


[-- Attachment #8: 0007-gnu-yggdrasil-Update-to-0.4.0.patch --]
[-- Type: text/x-patch, Size: 10625 bytes --]

From 73c240e5bb2310a1c66978a0f1b08fc5450b7b3c Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Tue, 2 Nov 2021 06:51:10 +0000
Subject: [PATCH 7/7] gnu: yggdrasil: Update to 0.4.0.

* gnu/packages/patches/yggdrasil-extra-config.patch: Update patch.
* gnu/packages/networking.scm (yggdrasil): Update to 0.4.0.
[propagated-inputs]: Remove go-github-com-cheggaaa-pb; add go-golang-org-x-sys,
go-github-com-mattn-go-runewidth, go-github-com-mattn-go-isatty,
go-github-com-fatih-color, go-github-com-cheggaaa-pb-v3,
go-github-com-vividcortex-ewma, and go-github-com-arceliar-ironwood.
---
 gnu/packages/networking.scm                   | 55 +++++++++++++------
 .../patches/yggdrasil-extra-config.patch      | 53 ++++++++++--------
 2 files changed, 69 insertions(+), 39 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 8ac3b0095e..d1a437e177 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -4086,7 +4086,7 @@ (define-public nbd
 (define-public yggdrasil
   (package
     (name "yggdrasil")
-    (version "0.3.16")
+    (version "0.4.0")
     (source
      (origin
        (method git-fetch)
@@ -4097,7 +4097,7 @@ (define-public yggdrasil
          (recursive? #t)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0vyd7a333hwn6j1lv1g9sicw74a4qk982bsi3cfdhjlv6hsjwmil"))
+        (base32 "0mmqw6w5a6ph49xd1yzb7i70xg466k9pi5sdvplhb66x68wipixh"))
        (patches (search-patches "yggdrasil-extra-config.patch"))))
     (build-system go-build-system)
     (arguments
@@ -4114,7 +4114,7 @@ (define-public yggdrasil
                           "go" "build" "-v" "-ldflags=-s -w"
                           (string-append
                            "github.com/yggdrasil-network/yggdrasil-go/cmd/" c)))
-                       (list "yggdrasil" "yggdrasilctl"))
+                       (list "yggdrasil" "yggdrasilctl" "genkeys"))
                       #t))
                   (replace 'install
                     (lambda* (#:key outputs #:allow-other-keys)
@@ -4125,7 +4125,7 @@ (define-public yggdrasil
                         (for-each
                          (lambda (f)
                            (install-file f bin))
-                         (list "yggdrasil" "yggdrasilctl"))
+                         (list "yggdrasil" "yggdrasilctl" "genkeys"))
                         (mkdir-p doc)
                         (copy-recursively
                          (string-append
@@ -4135,20 +4135,43 @@ (define-public yggdrasil
                       #t)))))
     ;; https://github.com/kardianos/minwinsvc is windows only
     (propagated-inputs
-     `(("go-github-com-arceliar-phony" ,go-github-com-arceliar-phony)
-       ("go-github-com-cheggaaa-pb" ,go-github-com-cheggaaa-pb)
-       ("go-github-com-gologme-log" ,go-github-com-gologme-log)
-       ("go-github-com-hashicorp-go-syslog" ,go-github-com-hashicorp-go-syslog)
-       ("go-github-com-hjson-hjson-go" ,go-github-com-hjson-hjson-go)
-       ("go-github-com-kardianos-minwinsvc" ,go-github-com-kardianos-minwinsvc)
+     `(;;("go-golang-zx2c4-com-wireguard-windows"
+       ;; ,go-golang-zx2c4-com-wireguard-windows)
+       ("go-golang-zx2c4-com-wireguard"
+        ,go-golang-zx2c4-com-wireguard)
+       ("go-golang-org-x-text" ,go-golang-org-x-text)
+       ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+       ("go-golang-org-x-net" ,go-golang-org-x-net)
+       ("go-golang-org-x-crypto"
+        ,go-golang-org-x-crypto)
+       ("go-netns"
+        ,go-netns)
+       ("go-netlink"
+        ,go-netlink)
        ("go-github-com-mitchellh-mapstructure"
         ,go-github-com-mitchellh-mapstructure)
-       ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
-       ("go-golang-org-x-net" ,go-golang-org-x-net)
-       ("go-golang-org-x-text" ,go-golang-org-x-text)
-       ("go-golang-zx2c4-com-wireguard" ,go-golang-zx2c4-com-wireguard)
-       ("go-netlink" ,go-netlink)
-       ("go-netns" ,go-netns)))
+       ("go-github-com-mattn-go-runewidth"
+        ,go-github-com-mattn-go-runewidth)
+       ("go-github-com-mattn-go-isatty"
+        ,go-github-com-mattn-go-isatty)
+       ("go-github-com-kardianos-minwinsvc"
+        ,go-github-com-kardianos-minwinsvc)
+       ("go-github-com-hjson-hjson-go"
+        ,go-github-com-hjson-hjson-go)
+       ("go-github-com-hashicorp-go-syslog"
+        ,go-github-com-hashicorp-go-syslog)
+       ("go-github-com-gologme-log"
+        ,go-github-com-gologme-log)
+       ("go-github-com-fatih-color"
+        ,go-github-com-fatih-color)
+       ("go-github-com-cheggaaa-pb-v3"
+        ,go-github-com-cheggaaa-pb-v3)
+       ("go-github-com-vividcortex-ewma"
+        ,go-github-com-vividcortex-ewma)
+       ("go-github-com-arceliar-phony"
+        ,go-github-com-arceliar-phony)
+       ("go-github-com-arceliar-ironwood"
+        ,go-github-com-arceliar-ironwood)))
     (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 c21ca29a84..46fd3f15fc 100644
--- a/gnu/packages/patches/yggdrasil-extra-config.patch
+++ b/gnu/packages/patches/yggdrasil-extra-config.patch
@@ -3,25 +3,25 @@ index 813e950..08d35cc 100644
 --- a/cmd/yggdrasil/main.go
 +++ b/cmd/yggdrasil/main.go
 @@ -40,11 +40,12 @@ type node struct {
- 	admin     module.Module // admin.AdminSocket
+ 	admin     *admin.AdminSocket
  }
  
--func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config.NodeConfig {
-+func readConfig(useconf *bool, useconffile *string, extraconffile *string, normaliseconf *bool) *config.NodeConfig {
+-func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf bool) *config.NodeConfig {
++func readConfig(log *log.Logger, useconf bool, useconffile string, extraconffile string, normaliseconf bool) *config.NodeConfig {
  	// Use a configuration file. If -useconf, the configuration will be read
  	// from stdin. If -useconffile, the configuration will be read from the
  	// filesystem.
  	var conf []byte
 +	var extraconf []byte
  	var err error
- 	if *useconffile != "" {
+ 	if useconffile != "" {
  		// Read the file from the filesystem
 @@ -56,6 +57,21 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config
  	if err != nil {
  		panic(err)
  	}
-+	if *extraconffile != "" {
-+		extraconf, err = ioutil.ReadFile(*extraconffile);
++	if extraconffile != "" {
++		extraconf, err = ioutil.ReadFile(extraconffile);
 +	}
 +	if err != nil {
 +		panic(err)
@@ -30,7 +30,7 @@ index 813e950..08d35cc 100644
 +	// then parse the configuration we loaded above on top of it. The effect
 +	// of this is that any configuration item that is missing from the provided
 +	// configuration will use a sane default.
-+	cfg := config.GenerateConfig()
++	cfg := defaults.GenerateConfig()
 +	var confs [2][]byte
 +	confs[0]=conf
 +	confs[1]=extraconf
@@ -38,7 +38,7 @@ index 813e950..08d35cc 100644
  	// If there's a byte order mark - which Windows 10 is now incredibly fond of
  	// throwing everywhere when it's converting things into UTF-16 for the hell
  	// of it - remove it and decode back down into UTF-8. This is necessary
-@@ -69,11 +85,6 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config
+@@ -69,11 +85,6 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf bool) *config
  			panic(err)
  		}
  	}
@@ -46,11 +46,11 @@ index 813e950..08d35cc 100644
 -	// then parse the configuration we loaded above on top of it. The effect
 -	// of this is that any configuration item that is missing from the provided
 -	// configuration will use a sane default.
--	cfg := config.GenerateConfig()
+-	cfg := defaults.GenerateConfig()
  	var dat map[string]interface{}
  	if err := hjson.Unmarshal(conf, &dat); err != nil {
  		panic(err)
-@@ -112,6 +123,7 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config
+@@ -112,6 +123,7 @@ func readConfig(log *log.Logger, useconf *bool, useconffile *string, normaliseconf *bool) *config
  	if err = mapstructure.Decode(dat, &cfg); err != nil {
  		panic(err)
  	}
@@ -58,6 +58,14 @@ index 813e950..08d35cc 100644
  	return cfg
  }
  
+@@ -185,6 +197,7 @@ func main() {
+ 	genconf       bool
+ 	useconf       bool
+ 	useconffile   string
++	extraconffile string
+ 	normaliseconf bool
+ 	confjson      bool
+ 	autoconf      bool
 @@ -164,6 +176,7 @@ func main() {
  	genconf := flag.Bool("genconf", false, "print a new config to stdout")
  	useconf := flag.Bool("useconf", false, "read HJSON/JSON config from stdin")
@@ -66,21 +74,20 @@ index 813e950..08d35cc 100644
  	normaliseconf := flag.Bool("normaliseconf", false, "use in combination with either -useconf or -useconffile, outputs your configuration normalised")
  	confjson := flag.Bool("json", false, "print configuration from -genconf or -normaliseconf as JSON instead of HJSON")
  	autoconf := flag.Bool("autoconf", false, "automatic mode (dynamic IP, peer with IPv6 neighbors)")
+@@ -212,6 +225,7 @@ func main() {
+ 		genconf:       *genconf,
+ 		useconf:       *useconf,
+ 		useconffile:   *useconffile,
++		extraconffile: *extraconffile,
+ 		normaliseconf: *normaliseconf,
+ 		confjson:      *confjson,
+ 		autoconf:      *autoconf,
 @@ -187,7 +200,7 @@ func main() {
- 		cfg = config.GenerateConfig()
- 	case *useconffile != "" || *useconf:
+ 		cfg = defaults.GenerateConfig()
+ 	case args.useconffile != "" || args.useconf:
  		// Read the configuration from either stdin or from the filesystem
--		cfg = readConfig(useconf, useconffile, normaliseconf)
-+		cfg = readConfig(useconf, useconffile, extraconffile, normaliseconf)
+-		cfg = readConfig(logger, args.useconf, args.useconffile, args.normaliseconf)
++		cfg = readConfig(logger, args.useconf, args.useconffile, args.extraconffile, args.normaliseconf)
  		// If the -normaliseconf option was specified then remarshal the above
  		// configuration and print it back to stdout. This lets the user update
  		// their configuration file with newly mapped names (like above) or to
-@@ -332,7 +345,7 @@ func main() {
- 			goto exit
- 		case _ = <-r:
- 			if *useconffile != "" {
--				cfg = readConfig(useconf, useconffile, normaliseconf)
-+				cfg = readConfig(useconf, useconffile, extraconffile, normaliseconf)
- 				logger.Infoln("Reloading configuration from", *useconffile)
- 				n.core.UpdateConfig(cfg)
- 				n.tuntap.UpdateConfig(cfg)
-- 
2.33.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [bug#51565] PATCH: Update Yggdrasil to new protocol (important breaking changes)
  2021-11-02  6:59 [bug#51565] PATCH: Update Yggdrasil to new protocol (important breaking changes) raingloom
@ 2021-11-15 14:10 ` pukkamustard
  2021-11-22 21:13   ` raingloom
  2021-12-01 16:04 ` bug#51565: " Ricardo Wurmus
  1 sibling, 1 reply; 9+ messages in thread
From: pukkamustard @ 2021-11-15 14:10 UTC (permalink / raw)
  To: raingloom; +Cc: 51565


Thanks for this!

Some minor changes may be needed to make the linter happy:

raingloom <raingloom@riseup.net> writes:

[..]

> [3. text/x-patch; 0002-gnu-Add-go-github-com-rivo-uniseg.patch]...

Linter complains that a line is too long:

gnu/packages/golang.scm:8885:0: go-github-com-rivo-uniseg@0.2.0: line 8885 is way too long (93 characters)

>
> [4. text/x-patch; 0003-gnu-Add-go-github-com-mattn-go-runewidth.patch]...

Linter complains about the synopsis. Maybe: "Go functions for getting
fixed width of characters or strings"?

Does seem like a bit of a duplication of the description...

> [5. text/x-patch; 0004-gnu-go-github-com-cheggaaa-pb-Update-to-3.0.8.patch]...
>
> [6. text/x-patch; 0005-gnu-Rename-go-github-com-cheggaaa-pb-to-go-github-co.patch]...
>
> [7. text/x-patch; 0006-gnu-Add-go-github-com-arceliar-ironwood.patch]...

Lines in descriptions are too long and should be wrapped.

A synopsis is required. Maybe: "Ironwood is a Go network routing library
using cryptographic keys as addresses"?




^ permalink raw reply	[flat|nested] 9+ messages in thread

* [bug#51565] PATCH: Update Yggdrasil to new protocol (important breaking changes)
  2021-11-15 14:10 ` pukkamustard
@ 2021-11-22 21:13   ` raingloom
  2021-11-28 20:47     ` raingloom
  2021-12-01 15:27     ` Ludovic Courtès
  0 siblings, 2 replies; 9+ messages in thread
From: raingloom @ 2021-11-22 21:13 UTC (permalink / raw)
  To: pukkamustard; +Cc: 51565

[-- Attachment #1: Type: text/plain, Size: 1335 bytes --]

On Mon, 15 Nov 2021 14:10:46 +0000
pukkamustard <pukkamustard@posteo.net> wrote:

> Thanks for this!
> 
> Some minor changes may be needed to make the linter happy:
> 
> raingloom <raingloom@riseup.net> writes:
> 
> [..]
> 
> > [3. text/x-patch; 0002-gnu-Add-go-github-com-rivo-uniseg.patch]...  
> 
> Linter complains that a line is too long:
> 
> gnu/packages/golang.scm:8885:0: go-github-com-rivo-uniseg@0.2.0: line
> 8885 is way too long (93 characters)
> 
> >
> > [4. text/x-patch;
> > 0003-gnu-Add-go-github-com-mattn-go-runewidth.patch]...  
> 
> Linter complains about the synopsis. Maybe: "Go functions for getting
> fixed width of characters or strings"?
> 
> Does seem like a bit of a duplication of the description...
> 
> > [5. text/x-patch;
> > 0004-gnu-go-github-com-cheggaaa-pb-Update-to-3.0.8.patch]...
> >
> > [6. text/x-patch;
> > 0005-gnu-Rename-go-github-com-cheggaaa-pb-to-go-github-co.patch]...
> >
> > [7. text/x-patch;
> > 0006-gnu-Add-go-github-com-arceliar-ironwood.patch]...  
> 
> Lines in descriptions are too long and should be wrapped.
> 
> A synopsis is required. Maybe: "Ironwood is a Go network routing
> library using cryptographic keys as addresses"?

Heck, I think I meant to run the linter but it was getting late and I
just wanted to be done with the patch. Well, here is an updated patch
list.

[-- Attachment #2: 0008-gnu-yggdrasil-Update-to-0.4.1.patch --]
[-- Type: text/x-patch, Size: 5865 bytes --]

From 776202eb2d0610e51f5168d108ce80a4096b10d4 Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Wed, 3 Nov 2021 21:40:37 +0100
Subject: [PATCH 8/8] gnu: yggdrasil: Update to 0.4.1.

* gnu/packages/networking.scm (yggdrasil): Update to 0.4.1.
* gnu/packages/patches/yggdrasil-extra-config.patch: Update for new version.
---
 gnu/packages/networking.scm                   |  4 +-
 .../patches/yggdrasil-extra-config.patch      | 47 ++++++++++++-------
 2 files changed, 33 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 62bb3ef07e..22d38fb4fd 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -4088,7 +4088,7 @@ (define-public nbd
 (define-public yggdrasil
   (package
     (name "yggdrasil")
-    (version "0.4.0")
+    (version "0.4.1")
     (source
      (origin
        (method git-fetch)
@@ -4099,7 +4099,7 @@ (define-public yggdrasil
          (recursive? #t)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0mmqw6w5a6ph49xd1yzb7i70xg466k9pi5sdvplhb66x68wipixh"))
+        (base32 "1ajhn0z58ap9jldip7mqj78drmgg4645zfsxsy004cfkm60fasnx"))
        (patches (search-patches "yggdrasil-extra-config.patch"))))
     (build-system go-build-system)
     (arguments
diff --git a/gnu/packages/patches/yggdrasil-extra-config.patch b/gnu/packages/patches/yggdrasil-extra-config.patch
index 46fd3f15fc..bd4bea7b9f 100644
--- a/gnu/packages/patches/yggdrasil-extra-config.patch
+++ b/gnu/packages/patches/yggdrasil-extra-config.patch
@@ -1,8 +1,20 @@
+From 779f980451d20079b34812f7006f2d7230738ad0 Mon Sep 17 00:00:00 2001
+From: csepp <raingloom@riseup.net>
+Date: Wed, 3 Nov 2021 21:14:54 +0100
+Subject: [PATCH] add extra config file option to yggdrasil command
+
+This is useful in Guix and Nix, because one config file can come
+from the world-readable store and another can be placed directly
+into /etc with much stricter permissions.
+---
+ cmd/yggdrasil/main.go | 29 ++++++++++++++++++++++-------
+ 1 file changed, 22 insertions(+), 7 deletions(-)
+
 diff --git a/cmd/yggdrasil/main.go b/cmd/yggdrasil/main.go
-index 813e950..08d35cc 100644
+index 58b8230..b9df98a 100644
 --- a/cmd/yggdrasil/main.go
 +++ b/cmd/yggdrasil/main.go
-@@ -40,11 +40,12 @@ type node struct {
+@@ -43,11 +43,12 @@ type node struct {
  	admin     *admin.AdminSocket
  }
  
@@ -16,7 +28,7 @@ index 813e950..08d35cc 100644
  	var err error
  	if useconffile != "" {
  		// Read the file from the filesystem
-@@ -56,6 +57,21 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config
+@@ -59,6 +60,21 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf
  	if err != nil {
  		panic(err)
  	}
@@ -38,7 +50,7 @@ index 813e950..08d35cc 100644
  	// If there's a byte order mark - which Windows 10 is now incredibly fond of
  	// throwing everywhere when it's converting things into UTF-16 for the hell
  	// of it - remove it and decode back down into UTF-8. This is necessary
-@@ -69,11 +85,6 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf bool) *config
+@@ -72,11 +88,6 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf
  			panic(err)
  		}
  	}
@@ -50,7 +62,7 @@ index 813e950..08d35cc 100644
  	var dat map[string]interface{}
  	if err := hjson.Unmarshal(conf, &dat); err != nil {
  		panic(err)
-@@ -112,6 +123,7 @@ func readConfig(log *log.Logger, useconf *bool, useconffile *string, normaliseconf *bool) *config
+@@ -136,6 +147,7 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf
  	if err = mapstructure.Decode(dat, &cfg); err != nil {
  		panic(err)
  	}
@@ -58,15 +70,15 @@ index 813e950..08d35cc 100644
  	return cfg
  }
  
-@@ -185,6 +197,7 @@ func main() {
- 	genconf       bool
- 	useconf       bool
+@@ -192,6 +204,7 @@ type yggArgs struct {
+ 	getaddr       bool
+ 	getsnet       bool
  	useconffile   string
-+	extraconffile string
- 	normaliseconf bool
- 	confjson      bool
- 	autoconf      bool
-@@ -164,6 +176,7 @@ func main() {
++        extraconffile string
+ 	logto         string
+ 	loglevel      string
+ }
+@@ -200,6 +213,7 @@ func getArgs() yggArgs {
  	genconf := flag.Bool("genconf", false, "print a new config to stdout")
  	useconf := flag.Bool("useconf", false, "read HJSON/JSON config from stdin")
  	useconffile := flag.String("useconffile", "", "read HJSON/JSON config from specified file path")
@@ -74,15 +86,15 @@ index 813e950..08d35cc 100644
  	normaliseconf := flag.Bool("normaliseconf", false, "use in combination with either -useconf or -useconffile, outputs your configuration normalised")
  	confjson := flag.Bool("json", false, "print configuration from -genconf or -normaliseconf as JSON instead of HJSON")
  	autoconf := flag.Bool("autoconf", false, "automatic mode (dynamic IP, peer with IPv6 neighbors)")
-@@ -212,6 +225,7 @@ func main() {
+@@ -213,6 +227,7 @@ func getArgs() yggArgs {
  		genconf:       *genconf,
  		useconf:       *useconf,
  		useconffile:   *useconffile,
-+		extraconffile: *extraconffile,
++                extraconffile: *extraconffile,
  		normaliseconf: *normaliseconf,
  		confjson:      *confjson,
  		autoconf:      *autoconf,
-@@ -187,7 +200,7 @@ func main() {
+@@ -265,7 +280,7 @@ func run(args yggArgs, ctx context.Context, done chan struct{}) {
  		cfg = defaults.GenerateConfig()
  	case args.useconffile != "" || args.useconf:
  		// Read the configuration from either stdin or from the filesystem
@@ -91,3 +103,6 @@ index 813e950..08d35cc 100644
  		// If the -normaliseconf option was specified then remarshal the above
  		// configuration and print it back to stdout. This lets the user update
  		// their configuration file with newly mapped names (like above) or to
+-- 
+2.33.1
+
-- 
2.33.1


[-- Attachment #3: 0007-gnu-yggdrasil-Update-to-0.4.0.patch --]
[-- Type: text/x-patch, Size: 10625 bytes --]

From 230ce36ac9e9afb962fd875124cafa6a97dcf256 Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Tue, 2 Nov 2021 06:51:10 +0000
Subject: [PATCH 7/8] gnu: yggdrasil: Update to 0.4.0.

* gnu/packages/patches/yggdrasil-extra-config.patch: Update patch.
* gnu/packages/networking.scm (yggdrasil): Update to 0.4.0.
[propagated-inputs]: Remove go-github-com-cheggaaa-pb; add go-golang-org-x-sys,
go-github-com-mattn-go-runewidth, go-github-com-mattn-go-isatty,
go-github-com-fatih-color, go-github-com-cheggaaa-pb-v3,
go-github-com-vividcortex-ewma, and go-github-com-arceliar-ironwood.
---
 gnu/packages/networking.scm                   | 55 +++++++++++++------
 .../patches/yggdrasil-extra-config.patch      | 53 ++++++++++--------
 2 files changed, 69 insertions(+), 39 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 02041924f6..62bb3ef07e 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -4088,7 +4088,7 @@ (define-public nbd
 (define-public yggdrasil
   (package
     (name "yggdrasil")
-    (version "0.3.16")
+    (version "0.4.0")
     (source
      (origin
        (method git-fetch)
@@ -4099,7 +4099,7 @@ (define-public yggdrasil
          (recursive? #t)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0vyd7a333hwn6j1lv1g9sicw74a4qk982bsi3cfdhjlv6hsjwmil"))
+        (base32 "0mmqw6w5a6ph49xd1yzb7i70xg466k9pi5sdvplhb66x68wipixh"))
        (patches (search-patches "yggdrasil-extra-config.patch"))))
     (build-system go-build-system)
     (arguments
@@ -4116,7 +4116,7 @@ (define-public yggdrasil
                           "go" "build" "-v" "-ldflags=-s -w"
                           (string-append
                            "github.com/yggdrasil-network/yggdrasil-go/cmd/" c)))
-                       (list "yggdrasil" "yggdrasilctl"))
+                       (list "yggdrasil" "yggdrasilctl" "genkeys"))
                       #t))
                   (replace 'install
                     (lambda* (#:key outputs #:allow-other-keys)
@@ -4127,7 +4127,7 @@ (define-public yggdrasil
                         (for-each
                          (lambda (f)
                            (install-file f bin))
-                         (list "yggdrasil" "yggdrasilctl"))
+                         (list "yggdrasil" "yggdrasilctl" "genkeys"))
                         (mkdir-p doc)
                         (copy-recursively
                          (string-append
@@ -4137,20 +4137,43 @@ (define-public yggdrasil
                       #t)))))
     ;; https://github.com/kardianos/minwinsvc is windows only
     (propagated-inputs
-     `(("go-github-com-arceliar-phony" ,go-github-com-arceliar-phony)
-       ("go-github-com-cheggaaa-pb" ,go-github-com-cheggaaa-pb)
-       ("go-github-com-gologme-log" ,go-github-com-gologme-log)
-       ("go-github-com-hashicorp-go-syslog" ,go-github-com-hashicorp-go-syslog)
-       ("go-github-com-hjson-hjson-go" ,go-github-com-hjson-hjson-go)
-       ("go-github-com-kardianos-minwinsvc" ,go-github-com-kardianos-minwinsvc)
+     `(;;("go-golang-zx2c4-com-wireguard-windows"
+       ;; ,go-golang-zx2c4-com-wireguard-windows)
+       ("go-golang-zx2c4-com-wireguard"
+        ,go-golang-zx2c4-com-wireguard)
+       ("go-golang-org-x-text" ,go-golang-org-x-text)
+       ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+       ("go-golang-org-x-net" ,go-golang-org-x-net)
+       ("go-golang-org-x-crypto"
+        ,go-golang-org-x-crypto)
+       ("go-netns"
+        ,go-netns)
+       ("go-netlink"
+        ,go-netlink)
        ("go-github-com-mitchellh-mapstructure"
         ,go-github-com-mitchellh-mapstructure)
-       ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
-       ("go-golang-org-x-net" ,go-golang-org-x-net)
-       ("go-golang-org-x-text" ,go-golang-org-x-text)
-       ("go-golang-zx2c4-com-wireguard" ,go-golang-zx2c4-com-wireguard)
-       ("go-netlink" ,go-netlink)
-       ("go-netns" ,go-netns)))
+       ("go-github-com-mattn-go-runewidth"
+        ,go-github-com-mattn-go-runewidth)
+       ("go-github-com-mattn-go-isatty"
+        ,go-github-com-mattn-go-isatty)
+       ("go-github-com-kardianos-minwinsvc"
+        ,go-github-com-kardianos-minwinsvc)
+       ("go-github-com-hjson-hjson-go"
+        ,go-github-com-hjson-hjson-go)
+       ("go-github-com-hashicorp-go-syslog"
+        ,go-github-com-hashicorp-go-syslog)
+       ("go-github-com-gologme-log"
+        ,go-github-com-gologme-log)
+       ("go-github-com-fatih-color"
+        ,go-github-com-fatih-color)
+       ("go-github-com-cheggaaa-pb-v3"
+        ,go-github-com-cheggaaa-pb-v3)
+       ("go-github-com-vividcortex-ewma"
+        ,go-github-com-vividcortex-ewma)
+       ("go-github-com-arceliar-phony"
+        ,go-github-com-arceliar-phony)
+       ("go-github-com-arceliar-ironwood"
+        ,go-github-com-arceliar-ironwood)))
     (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 c21ca29a84..46fd3f15fc 100644
--- a/gnu/packages/patches/yggdrasil-extra-config.patch
+++ b/gnu/packages/patches/yggdrasil-extra-config.patch
@@ -3,25 +3,25 @@ index 813e950..08d35cc 100644
 --- a/cmd/yggdrasil/main.go
 +++ b/cmd/yggdrasil/main.go
 @@ -40,11 +40,12 @@ type node struct {
- 	admin     module.Module // admin.AdminSocket
+ 	admin     *admin.AdminSocket
  }
  
--func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config.NodeConfig {
-+func readConfig(useconf *bool, useconffile *string, extraconffile *string, normaliseconf *bool) *config.NodeConfig {
+-func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf bool) *config.NodeConfig {
++func readConfig(log *log.Logger, useconf bool, useconffile string, extraconffile string, normaliseconf bool) *config.NodeConfig {
  	// Use a configuration file. If -useconf, the configuration will be read
  	// from stdin. If -useconffile, the configuration will be read from the
  	// filesystem.
  	var conf []byte
 +	var extraconf []byte
  	var err error
- 	if *useconffile != "" {
+ 	if useconffile != "" {
  		// Read the file from the filesystem
 @@ -56,6 +57,21 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config
  	if err != nil {
  		panic(err)
  	}
-+	if *extraconffile != "" {
-+		extraconf, err = ioutil.ReadFile(*extraconffile);
++	if extraconffile != "" {
++		extraconf, err = ioutil.ReadFile(extraconffile);
 +	}
 +	if err != nil {
 +		panic(err)
@@ -30,7 +30,7 @@ index 813e950..08d35cc 100644
 +	// then parse the configuration we loaded above on top of it. The effect
 +	// of this is that any configuration item that is missing from the provided
 +	// configuration will use a sane default.
-+	cfg := config.GenerateConfig()
++	cfg := defaults.GenerateConfig()
 +	var confs [2][]byte
 +	confs[0]=conf
 +	confs[1]=extraconf
@@ -38,7 +38,7 @@ index 813e950..08d35cc 100644
  	// If there's a byte order mark - which Windows 10 is now incredibly fond of
  	// throwing everywhere when it's converting things into UTF-16 for the hell
  	// of it - remove it and decode back down into UTF-8. This is necessary
-@@ -69,11 +85,6 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config
+@@ -69,11 +85,6 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf bool) *config
  			panic(err)
  		}
  	}
@@ -46,11 +46,11 @@ index 813e950..08d35cc 100644
 -	// then parse the configuration we loaded above on top of it. The effect
 -	// of this is that any configuration item that is missing from the provided
 -	// configuration will use a sane default.
--	cfg := config.GenerateConfig()
+-	cfg := defaults.GenerateConfig()
  	var dat map[string]interface{}
  	if err := hjson.Unmarshal(conf, &dat); err != nil {
  		panic(err)
-@@ -112,6 +123,7 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config
+@@ -112,6 +123,7 @@ func readConfig(log *log.Logger, useconf *bool, useconffile *string, normaliseconf *bool) *config
  	if err = mapstructure.Decode(dat, &cfg); err != nil {
  		panic(err)
  	}
@@ -58,6 +58,14 @@ index 813e950..08d35cc 100644
  	return cfg
  }
  
+@@ -185,6 +197,7 @@ func main() {
+ 	genconf       bool
+ 	useconf       bool
+ 	useconffile   string
++	extraconffile string
+ 	normaliseconf bool
+ 	confjson      bool
+ 	autoconf      bool
 @@ -164,6 +176,7 @@ func main() {
  	genconf := flag.Bool("genconf", false, "print a new config to stdout")
  	useconf := flag.Bool("useconf", false, "read HJSON/JSON config from stdin")
@@ -66,21 +74,20 @@ index 813e950..08d35cc 100644
  	normaliseconf := flag.Bool("normaliseconf", false, "use in combination with either -useconf or -useconffile, outputs your configuration normalised")
  	confjson := flag.Bool("json", false, "print configuration from -genconf or -normaliseconf as JSON instead of HJSON")
  	autoconf := flag.Bool("autoconf", false, "automatic mode (dynamic IP, peer with IPv6 neighbors)")
+@@ -212,6 +225,7 @@ func main() {
+ 		genconf:       *genconf,
+ 		useconf:       *useconf,
+ 		useconffile:   *useconffile,
++		extraconffile: *extraconffile,
+ 		normaliseconf: *normaliseconf,
+ 		confjson:      *confjson,
+ 		autoconf:      *autoconf,
 @@ -187,7 +200,7 @@ func main() {
- 		cfg = config.GenerateConfig()
- 	case *useconffile != "" || *useconf:
+ 		cfg = defaults.GenerateConfig()
+ 	case args.useconffile != "" || args.useconf:
  		// Read the configuration from either stdin or from the filesystem
--		cfg = readConfig(useconf, useconffile, normaliseconf)
-+		cfg = readConfig(useconf, useconffile, extraconffile, normaliseconf)
+-		cfg = readConfig(logger, args.useconf, args.useconffile, args.normaliseconf)
++		cfg = readConfig(logger, args.useconf, args.useconffile, args.extraconffile, args.normaliseconf)
  		// If the -normaliseconf option was specified then remarshal the above
  		// configuration and print it back to stdout. This lets the user update
  		// their configuration file with newly mapped names (like above) or to
-@@ -332,7 +345,7 @@ func main() {
- 			goto exit
- 		case _ = <-r:
- 			if *useconffile != "" {
--				cfg = readConfig(useconf, useconffile, normaliseconf)
-+				cfg = readConfig(useconf, useconffile, extraconffile, normaliseconf)
- 				logger.Infoln("Reloading configuration from", *useconffile)
- 				n.core.UpdateConfig(cfg)
- 				n.tuntap.UpdateConfig(cfg)
-- 
2.33.1


[-- Attachment #4: 0006-gnu-Add-go-github-com-arceliar-ironwood.patch --]
[-- Type: text/x-patch, Size: 2385 bytes --]

From ce6e34a490816fd9c093fec3b9124bff26620e1f Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Tue, 2 Nov 2021 06:50:36 +0000
Subject: [PATCH 6/8] gnu: Add go-github-com-arceliar-ironwood.

* gnu/packages/golang.scm (go-github-com-arceliar-ironwood): New variable.
---
 gnu/packages/golang.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index d0435b5469..d8456c8f05 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -8909,3 +8909,43 @@ (define-public go-github-com-mattn-go-runewidth
     (description
       "Provides functions to get fixed width of the character or string.")
     (license license:expat)))
+
+(define-public go-github-com-arceliar-ironwood
+  (package
+    (name "go-github-com-arceliar-ironwood")
+    (version "0.0.0-20210912013146-c2bc55bb349c")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/Arceliar/ironwood")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1dfkqnkfxwlwcsk8g9r1pv84lfzgn8r1vam13zlmk81cgan2r6fx"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/Arceliar/ironwood"
+        #:tests? #f
+        #:phases
+        (modify-phases %standard-phases
+          ;; Source-only package
+          (delete 'build))))
+    (propagated-inputs
+      `(("go-golang-org-x-crypto"
+         ,go-golang-org-x-crypto)
+        ("go-github-com-arceliar-phony"
+         ,go-github-com-arceliar-phony)))
+    (home-page
+      "https://github.com/Arceliar/ironwood")
+    (synopsis "Experimental network routing library")
+    (description
+      "Ironwood is a routing library with a @code{net.PacketConn}-compatible
+interface using @code{ed25519.PublicKey}s as addresses.  Basically, you use it
+when you want to communicate with some other nodes in a network, but you can't
+guarantee that you can directly connect to every node in that network.  It was
+written to test improvements to / replace the routing logic in
+@url{https://github.com/yggdrasil-network/yggdrasil-go,Yggdrasil}, but it may
+be useful for other network applications.")
+    (license license:mpl2.0)))
-- 
2.33.1


[-- Attachment #5: 0005-gnu-Rename-go-github-com-cheggaaa-pb-to-go-github-co.patch --]
[-- Type: text/x-patch, Size: 1035 bytes --]

From 1b4bfd5a947902f453e47a510ab058ff459412f5 Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Tue, 2 Nov 2021 06:46:57 +0000
Subject: [PATCH 5/8] gnu: Rename go-github-com-cheggaaa-pb to
 go-github-com-cheggaaa-pb-v3.

* gnu/packages/golang.scm:
  (go-github-com-cheggaaa-pb): Rename variable.
  (go-github-com-cheggaaa-pb-v3): New variable.
---
 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 4033806c7f..d0435b5469 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7945,9 +7945,9 @@ (define-public go-github-com-arceliar-phony
 inspired by the causal messaging system in the Pony programming language.")
       (license license:expat))))
 
-(define-public go-github-com-cheggaaa-pb
+(define-public go-github-com-cheggaaa-pb-v3
   (package
-    (name "go-github-com-cheggaaa-pb")
+    (name "go-github-com-cheggaaa-pb-v3")
     (version "3.0.8")
     (source
       (origin
-- 
2.33.1


[-- Attachment #6: 0004-gnu-go-github-com-cheggaaa-pb-Update-to-3.0.8.patch --]
[-- Type: text/x-patch, Size: 2503 bytes --]

From 6a4220dbb3cbb56cc818bd2f2714484e5f8682e4 Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Tue, 2 Nov 2021 06:45:47 +0000
Subject: [PATCH 4/8] gnu: go-github-com-cheggaaa-pb: Update to 3.0.8.

* gnu/packages/golang.scm (go-github-com-cheggaaa-pb): Update to 3.0.8.
---
 gnu/packages/golang.scm | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 63300c265f..4033806c7f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7948,7 +7948,7 @@ (define-public go-github-com-arceliar-phony
 (define-public go-github-com-cheggaaa-pb
   (package
     (name "go-github-com-cheggaaa-pb")
-    (version "3.0.4")
+    (version "3.0.8")
     (source
       (origin
        (method git-fetch)
@@ -7957,18 +7957,20 @@ (define-public go-github-com-cheggaaa-pb
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32
-         "0xhsv9yf3fz918ay6w0d87jnb3hk9vxvi16jk172kqq26x7jixd0"))))
+        (base32 "0d701s2niy39r650d1phjw19h4l27b1yfc2ih6s31f56b3zzqspx"))))
     (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/cheggaaa/pb/"))
+    (arguments '(#:import-path "github.com/cheggaaa/pb/v3"
+                 ;; XXX: it does have tests but I'm not sure how to run them.
+                 ;; go-build-system is looking in the wrong directory.
+                 #:tests? #f))
     (propagated-inputs
-     `(("go-github-com-fatih-color" ,go-github-com-fatih-color)
+     `(("go-golang-org-x-sys" ,go-golang-org-x-sys)
+       ("go-github-com-rivo-uniseg" ,go-github-com-rivo-uniseg)
+       ("go-github-com-mattn-go-runewidth" ,go-github-com-mattn-go-runewidth)
+       ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
        ("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable)
-       ("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
-       ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
-    (native-inputs
-     `(("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)))
+       ("go-github-com-fatih-color" ,go-github-com-fatih-color)
+       ("go-github-com-vividcortex-ewma" ,go-github-com-vividcortex-ewma)))
     (home-page "https://github.com/cheggaaa/pb/")
     (synopsis "Console progress bar for Go")
     (description "This package is a Go library that draws progress bars on
-- 
2.33.1


[-- Attachment #7: 0003-gnu-Add-go-github-com-mattn-go-runewidth.patch --]
[-- Type: text/x-patch, Size: 1635 bytes --]

From a234dd530900d0914a9972ad5a22a1fe303c1bc5 Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Tue, 2 Nov 2021 06:37:17 +0000
Subject: [PATCH 3/8] gnu: Add go-github-com-mattn-go-runewidth.

* gnu/packages/golang.scm (go-github-com-mattn-go-runewidth): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e2fee47b91..63300c265f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -8884,3 +8884,26 @@ (define-public go-github-com-rivo-uniseg
 (@url{http://unicode.org/reports/tr29/,http://unicode.org/reports/tr29/}).
 ")
     (license license:expat)))
+
+(define-public go-github-com-mattn-go-runewidth
+  (package
+    (name "go-github-com-mattn-go-runewidth")
+    (version "0.0.13")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/mattn/go-runewidth")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "1yir0f3wc5z5hnkwhvx5qb6nmpfb05zp2gvfjvna63s8kmla1rrn"))))
+    (build-system go-build-system)
+    (arguments '(#:import-path "github.com/mattn/go-runewidth"))
+    (propagated-inputs
+      `(("go-github-com-rivo-uniseg" ,go-github-com-rivo-uniseg)))
+    (home-page "https://github.com/mattn/go-runewidth")
+    (synopsis "Rune width implementation for Go")
+    (description
+      "Provides functions to get fixed width of the character or string.")
+    (license license:expat)))
-- 
2.33.1


[-- Attachment #8: 0002-gnu-Add-go-github-com-rivo-uniseg.patch --]
[-- Type: text/x-patch, Size: 1616 bytes --]

From 4732bee7bdbea38292afe9f6b1149986dbfabcb7 Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Tue, 2 Nov 2021 06:37:11 +0000
Subject: [PATCH 2/8] gnu: Add go-github-com-rivo-uniseg.

* gnu/packages/golang.scm (go-github-com-rivo-uniseg): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 84e7387408..e2fee47b91 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -8860,3 +8860,27 @@ (define-public go-github-com-vividcortex-ewma
     (description
       "Package ewma implements exponentially weighted moving averages.")
     (license license:expat)))
+
+(define-public go-github-com-rivo-uniseg
+  (package
+    (name "go-github-com-rivo-uniseg")
+    (version "0.2.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/rivo/uniseg")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0j7h22vfmjj562vr8gpsyrkrwp1pq9ayh5fylv24skxb467g9f0q"))))
+    (build-system go-build-system)
+    (arguments '(#:import-path "github.com/rivo/uniseg"))
+    (home-page "https://github.com/rivo/uniseg")
+    (synopsis "Unicode Text Segmentation for Go")
+    (description
+      "Package uniseg implements Unicode Text Segmentation according to Unicode
+Standard Annex #29
+(@url{http://unicode.org/reports/tr29/,http://unicode.org/reports/tr29/}).
+")
+    (license license:expat)))
-- 
2.33.1


[-- Attachment #9: 0001-gnu-Add-go-github-com-vividcortex-ewma.patch --]
[-- Type: text/x-patch, Size: 1531 bytes --]

From c11a2cf43ddd6108b57c24ef9669655b677ce276 Mon Sep 17 00:00:00 2001
From: raingloom <raingloom@riseup.net>
Date: Tue, 2 Nov 2021 06:36:37 +0000
Subject: [PATCH 1/8] gnu: Add go-github-com-vividcortex-ewma.

* gnu/packages/golang.scm (go-github-com-vividcortex-ewma): New variable.
---
 gnu/packages/golang.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index cc2a4ebc16..84e7387408 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -8839,3 +8839,24 @@ (define-public go-gopkg-in-djherbis-times-v1
     (description
      "Provides a platform-independent way to get atime, mtime, ctime and btime for files.")
     (license license:expat)))
+
+(define-public go-github-com-vividcortex-ewma
+  (package
+    (name "go-github-com-vividcortex-ewma")
+    (version "1.2.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/VividCortex/ewma")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0whx516l9nm4n41spagb605ry7kfnz1qha96mcshnfjlahhnnylq"))))
+    (build-system go-build-system)
+    (arguments '(#:import-path "github.com/VividCortex/ewma"))
+    (home-page "https://github.com/VividCortex/ewma")
+    (synopsis "EWMA")
+    (description
+      "Package ewma implements exponentially weighted moving averages.")
+    (license license:expat)))
-- 
2.33.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [bug#51565] PATCH: Update Yggdrasil to new protocol (important breaking changes)
  2021-11-22 21:13   ` raingloom
@ 2021-11-28 20:47     ` raingloom
  2021-12-01 15:27     ` Ludovic Courtès
  1 sibling, 0 replies; 9+ messages in thread
From: raingloom @ 2021-11-28 20:47 UTC (permalink / raw)
  To: pukkamustard; +Cc: 51565

On Mon, 22 Nov 2021 22:13:08 +0100
raingloom <raingloom@riseup.net> wrote:

> On Mon, 15 Nov 2021 14:10:46 +0000
> pukkamustard <pukkamustard@posteo.net> wrote:
> 
> > Thanks for this!
> > 
> > Some minor changes may be needed to make the linter happy:
> > 
> > raingloom <raingloom@riseup.net> writes:
> > 
> > [..]
> > 
> > > [3. text/x-patch;
> > > 0002-gnu-Add-go-github-com-rivo-uniseg.patch]...  
> > 
> > Linter complains that a line is too long:
> > 
> > gnu/packages/golang.scm:8885:0: go-github-com-rivo-uniseg@0.2.0:
> > line 8885 is way too long (93 characters)
> > 
> > >
> > > [4. text/x-patch;
> > > 0003-gnu-Add-go-github-com-mattn-go-runewidth.patch]...  
> > 
> > Linter complains about the synopsis. Maybe: "Go functions for
> > getting fixed width of characters or strings"?
> > 
> > Does seem like a bit of a duplication of the description...
> > 
> > > [5. text/x-patch;
> > > 0004-gnu-go-github-com-cheggaaa-pb-Update-to-3.0.8.patch]...
> > >
> > > [6. text/x-patch;
> > > 0005-gnu-Rename-go-github-com-cheggaaa-pb-to-go-github-co.patch]...
> > >
> > > [7. text/x-patch;
> > > 0006-gnu-Add-go-github-com-arceliar-ironwood.patch]...  
> > 
> > Lines in descriptions are too long and should be wrapped.
> > 
> > A synopsis is required. Maybe: "Ironwood is a Go network routing
> > library using cryptographic keys as addresses"?
> 
> Heck, I think I meant to run the linter but it was getting late and I
> just wanted to be done with the patch. Well, here is an updated patch
> list.

Bump. Could someome merge this if everything is in order?




^ permalink raw reply	[flat|nested] 9+ messages in thread

* [bug#51565] PATCH: Update Yggdrasil to new protocol (important breaking changes)
  2021-11-22 21:13   ` raingloom
  2021-11-28 20:47     ` raingloom
@ 2021-12-01 15:27     ` Ludovic Courtès
  2021-12-01 16:03       ` raingloom
  1 sibling, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2021-12-01 15:27 UTC (permalink / raw)
  To: raingloom; +Cc: pukkamustard, 51565

Hi raingloom,

Apologies for the delay.

raingloom <raingloom@riseup.net> skribis:

>>From 776202eb2d0610e51f5168d108ce80a4096b10d4 Mon Sep 17 00:00:00 2001
> From: raingloom <raingloom@riseup.net>
> Date: Wed, 3 Nov 2021 21:40:37 +0100
> Subject: [PATCH 8/8] gnu: yggdrasil: Update to 0.4.1.
>
> * gnu/packages/networking.scm (yggdrasil): Update to 0.4.1.
> * gnu/packages/patches/yggdrasil-extra-config.patch: Update for new version.

OK.

>>From ce6e34a490816fd9c093fec3b9124bff26620e1f Mon Sep 17 00:00:00 2001
> From: raingloom <raingloom@riseup.net>
> Date: Tue, 2 Nov 2021 06:50:36 +0000
> Subject: [PATCH 6/8] gnu: Add go-github-com-arceliar-ironwood.
>
> * gnu/packages/golang.scm (go-github-com-arceliar-ironwood): New variable.

OK.

>>From 1b4bfd5a947902f453e47a510ab058ff459412f5 Mon Sep 17 00:00:00 2001
> From: raingloom <raingloom@riseup.net>
> Date: Tue, 2 Nov 2021 06:46:57 +0000
> Subject: [PATCH 5/8] gnu: Rename go-github-com-cheggaaa-pb to
>  go-github-com-cheggaaa-pb-v3.
>
> * gnu/packages/golang.scm:
>   (go-github-com-cheggaaa-pb): Rename variable.
>   (go-github-com-cheggaaa-pb-v3): New variable.
> ---
>  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 4033806c7f..d0435b5469 100644
> --- a/gnu/packages/golang.scm
> +++ b/gnu/packages/golang.scm
> @@ -7945,9 +7945,9 @@ (define-public go-github-com-arceliar-phony
>  inspired by the causal messaging system in the Pony programming language.")
>        (license license:expat))))
>  
> -(define-public go-github-com-cheggaaa-pb
> +(define-public go-github-com-cheggaaa-pb-v3
>    (package
> -    (name "go-github-com-cheggaaa-pb")
> +    (name "go-github-com-cheggaaa-pb-v3")

Why rename?  If we do need to rename, let’s add a ‘deprecated-package’
definition to allow users to notice and get a smooth upgrade.

>>From 6a4220dbb3cbb56cc818bd2f2714484e5f8682e4 Mon Sep 17 00:00:00 2001
> From: raingloom <raingloom@riseup.net>
> Date: Tue, 2 Nov 2021 06:45:47 +0000
> Subject: [PATCH 4/8] gnu: go-github-com-cheggaaa-pb: Update to 3.0.8.
>
> * gnu/packages/golang.scm (go-github-com-cheggaaa-pb): Update to 3.0.8.

Could you mention input changes?

>>From a234dd530900d0914a9972ad5a22a1fe303c1bc5 Mon Sep 17 00:00:00 2001
> From: raingloom <raingloom@riseup.net>
> Date: Tue, 2 Nov 2021 06:37:17 +0000
> Subject: [PATCH 3/8] gnu: Add go-github-com-mattn-go-runewidth.
>
> * gnu/packages/golang.scm (go-github-com-mattn-go-runewidth): New variable.

[...]

> +    (home-page "https://github.com/mattn/go-runewidth")
> +    (synopsis "Rune width implementation for Go")
> +    (description
> +      "Provides functions to get fixed width of the character or string.")

Please write a full sentence:

  https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html

>>From 4732bee7bdbea38292afe9f6b1149986dbfabcb7 Mon Sep 17 00:00:00 2001
> From: raingloom <raingloom@riseup.net>
> Date: Tue, 2 Nov 2021 06:37:11 +0000
> Subject: [PATCH 2/8] gnu: Add go-github-com-rivo-uniseg.
>
> * gnu/packages/golang.scm (go-github-com-rivo-uniseg): New variable.

[...]

> +    (synopsis "Unicode Text Segmentation for Go")
> +    (description
> +      "Package uniseg implements Unicode Text Segmentation according to Unicode
> +Standard Annex #29
> +(@url{http://unicode.org/reports/tr29/,http://unicode.org/reports/tr29/}).
> +")

Ditto.

>>From c11a2cf43ddd6108b57c24ef9669655b677ce276 Mon Sep 17 00:00:00 2001
> From: raingloom <raingloom@riseup.net>
> Date: Tue, 2 Nov 2021 06:36:37 +0000
> Subject: [PATCH 1/8] gnu: Add go-github-com-vividcortex-ewma.
>
> * gnu/packages/golang.scm (go-github-com-vividcortex-ewma): New variable.

[...]

> +    (home-page "https://github.com/VividCortex/ewma")
> +    (synopsis "EWMA")
> +    (description
> +      "Package ewma implements exponentially weighted moving averages.")

Ditto.

Could you send updated patches?

TIA,
Ludo’.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* [bug#51565] PATCH: Update Yggdrasil to new protocol (important breaking changes)
  2021-12-01 15:27     ` Ludovic Courtès
@ 2021-12-01 16:03       ` raingloom
  2021-12-02  9:15         ` Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: raingloom @ 2021-12-01 16:03 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: pukkamustard, 51565

On Wed, 01 Dec 2021 16:27:23 +0100
Ludovic Courtès <ludo@gnu.org> wrote:

> Hi raingloom,
> 
> Apologies for the delay.
> 
> raingloom <raingloom@riseup.net> skribis:
> 
> >>From 776202eb2d0610e51f5168d108ce80a4096b10d4 Mon Sep 17 00:00:00
> >>2001  
> > From: raingloom <raingloom@riseup.net>
> > Date: Wed, 3 Nov 2021 21:40:37 +0100
> > Subject: [PATCH 8/8] gnu: yggdrasil: Update to 0.4.1.
> >
> > * gnu/packages/networking.scm (yggdrasil): Update to 0.4.1.
> > * gnu/packages/patches/yggdrasil-extra-config.patch: Update for new
> > version.  
> 
> OK.
> 
> >>From ce6e34a490816fd9c093fec3b9124bff26620e1f Mon Sep 17 00:00:00
> >>2001  
> > From: raingloom <raingloom@riseup.net>
> > Date: Tue, 2 Nov 2021 06:50:36 +0000
> > Subject: [PATCH 6/8] gnu: Add go-github-com-arceliar-ironwood.
> >
> > * gnu/packages/golang.scm (go-github-com-arceliar-ironwood): New
> > variable.  
> 
> OK.
> 
> >>From 1b4bfd5a947902f453e47a510ab058ff459412f5 Mon Sep 17 00:00:00
> >>2001  
> > From: raingloom <raingloom@riseup.net>
> > Date: Tue, 2 Nov 2021 06:46:57 +0000
> > Subject: [PATCH 5/8] gnu: Rename go-github-com-cheggaaa-pb to
> >  go-github-com-cheggaaa-pb-v3.
> >
> > * gnu/packages/golang.scm:
> >   (go-github-com-cheggaaa-pb): Rename variable.
> >   (go-github-com-cheggaaa-pb-v3): New variable.
> > ---
> >  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 4033806c7f..d0435b5469 100644
> > --- a/gnu/packages/golang.scm
> > +++ b/gnu/packages/golang.scm
> > @@ -7945,9 +7945,9 @@ (define-public go-github-com-arceliar-phony
> >  inspired by the causal messaging system in the Pony programming
> > language.") (license license:expat))))
> >  
> > -(define-public go-github-com-cheggaaa-pb
> > +(define-public go-github-com-cheggaaa-pb-v3
> >    (package
> > -    (name "go-github-com-cheggaaa-pb")
> > +    (name "go-github-com-cheggaaa-pb-v3")  
> 
> Why rename?  If we do need to rename, let’s add a ‘deprecated-package’
> definition to allow users to notice and get a smooth upgrade.

Without a rename guix import go gets confused and imports it again
under that name. It didn't seem like anything was using it so I went
with a rename, but I guess someone's channel might be depending on it.
(although I doubt it)
What would proper deprecation look like? Just inheriting from the new
package, changing the name field, and marking it as deprecated?

> >>From 6a4220dbb3cbb56cc818bd2f2714484e5f8682e4 Mon Sep 17 00:00:00
> >>2001  
> > From: raingloom <raingloom@riseup.net>
> > Date: Tue, 2 Nov 2021 06:45:47 +0000
> > Subject: [PATCH 4/8] gnu: go-github-com-cheggaaa-pb: Update to
> > 3.0.8.
> >
> > * gnu/packages/golang.scm (go-github-com-cheggaaa-pb): Update to
> > 3.0.8.  
> 
> Could you mention input changes?
> 
> >>From a234dd530900d0914a9972ad5a22a1fe303c1bc5 Mon Sep 17 00:00:00
> >>2001  
> > From: raingloom <raingloom@riseup.net>
> > Date: Tue, 2 Nov 2021 06:37:17 +0000
> > Subject: [PATCH 3/8] gnu: Add go-github-com-mattn-go-runewidth.
> >
> > * gnu/packages/golang.scm (go-github-com-mattn-go-runewidth): New
> > variable.  
> 
> [...]
> 
> > +    (home-page "https://github.com/mattn/go-runewidth")
> > +    (synopsis "Rune width implementation for Go")
> > +    (description
> > +      "Provides functions to get fixed width of the character or
> > string.")  
> 
> Please write a full sentence:
> 
>   https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html
> 
> >>From 4732bee7bdbea38292afe9f6b1149986dbfabcb7 Mon Sep 17 00:00:00
> >>2001  
> > From: raingloom <raingloom@riseup.net>
> > Date: Tue, 2 Nov 2021 06:37:11 +0000
> > Subject: [PATCH 2/8] gnu: Add go-github-com-rivo-uniseg.
> >
> > * gnu/packages/golang.scm (go-github-com-rivo-uniseg): New
> > variable.  
> 
> [...]
> 
> > +    (synopsis "Unicode Text Segmentation for Go")
> > +    (description
> > +      "Package uniseg implements Unicode Text Segmentation
> > according to Unicode +Standard Annex #29
> > +(@url{http://unicode.org/reports/tr29/,http://unicode.org/reports/tr29/}).
> > +")  
> 
> Ditto.
> 
> >>From c11a2cf43ddd6108b57c24ef9669655b677ce276 Mon Sep 17 00:00:00
> >>2001  
> > From: raingloom <raingloom@riseup.net>
> > Date: Tue, 2 Nov 2021 06:36:37 +0000
> > Subject: [PATCH 1/8] gnu: Add go-github-com-vividcortex-ewma.
> >
> > * gnu/packages/golang.scm (go-github-com-vividcortex-ewma): New
> > variable.  
> 
> [...]
> 
> > +    (home-page "https://github.com/VividCortex/ewma")
> > +    (synopsis "EWMA")
> > +    (description
> > +      "Package ewma implements exponentially weighted moving
> > averages.")  
> 
> Ditto.
> 
> Could you send updated patches?
> 
> TIA,
> Ludo’.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#51565: PATCH: Update Yggdrasil to new protocol (important breaking changes)
  2021-11-02  6:59 [bug#51565] PATCH: Update Yggdrasil to new protocol (important breaking changes) raingloom
  2021-11-15 14:10 ` pukkamustard
@ 2021-12-01 16:04 ` Ricardo Wurmus
  2021-12-02  9:16   ` [bug#51565] " Ludovic Courtès
  1 sibling, 1 reply; 9+ messages in thread
From: Ricardo Wurmus @ 2021-12-01 16:04 UTC (permalink / raw)
  To: 51565-done; +Cc: ludo, raingloom

Ludo’s review overlapped my review.  I’ve already made all the 
changes that Ludo requested.

+ changed the descriptions
+ recorded all changes in the commit
+ added a deprecated-package in the rename commit
+ fixed indentation

Commit d9956e938343c7637647ad10b977fdb0f3b8b138 updates yggdrasil 
to 0.4.1.

-- 
Ricardo




^ permalink raw reply	[flat|nested] 9+ messages in thread

* [bug#51565] PATCH: Update Yggdrasil to new protocol (important breaking changes)
  2021-12-01 16:03       ` raingloom
@ 2021-12-02  9:15         ` Ludovic Courtès
  0 siblings, 0 replies; 9+ messages in thread
From: Ludovic Courtès @ 2021-12-02  9:15 UTC (permalink / raw)
  To: raingloom; +Cc: pukkamustard, 51565

Hi,

raingloom <raingloom@riseup.net> skribis:

>> > -(define-public go-github-com-cheggaaa-pb
>> > +(define-public go-github-com-cheggaaa-pb-v3
>> >    (package
>> > -    (name "go-github-com-cheggaaa-pb")
>> > +    (name "go-github-com-cheggaaa-pb-v3")  
>> 
>> Why rename?  If we do need to rename, let’s add a ‘deprecated-package’
>> definition to allow users to notice and get a smooth upgrade.
>
> Without a rename guix import go gets confused and imports it again
> under that name.

Ah that makes sense; would be worth adding a comment above.

> It didn't seem like anything was using it so I went with a rename, but
> I guess someone's channel might be depending on it.  (although I doubt
> it) What would proper deprecation look like? Just inheriting from the
> new package, changing the name field, and marking it as deprecated?

Yes, you can grep for ‘deprecated-package’ in gnu/packages/*.scm.

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* [bug#51565] PATCH: Update Yggdrasil to new protocol (important breaking changes)
  2021-12-01 16:04 ` bug#51565: " Ricardo Wurmus
@ 2021-12-02  9:16   ` Ludovic Courtès
  0 siblings, 0 replies; 9+ messages in thread
From: Ludovic Courtès @ 2021-12-02  9:16 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 51565-done, raingloom

Hi,

Ricardo Wurmus <rekado@elephly.net> skribis:

> Ludo’s review overlapped my review.  I’ve already made all the changes
> that Ludo requested.
>
> + changed the descriptions
> + recorded all changes in the commit
> + added a deprecated-package in the rename commit
> + fixed indentation
>
> Commit d9956e938343c7637647ad10b977fdb0f3b8b138 updates yggdrasil to
> 0.4.1.

Ah wonderful, thank you!

Ludo’.




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-12-02  9:17 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-02  6:59 [bug#51565] PATCH: Update Yggdrasil to new protocol (important breaking changes) raingloom
2021-11-15 14:10 ` pukkamustard
2021-11-22 21:13   ` raingloom
2021-11-28 20:47     ` raingloom
2021-12-01 15:27     ` Ludovic Courtès
2021-12-01 16:03       ` raingloom
2021-12-02  9:15         ` Ludovic Courtès
2021-12-01 16:04 ` bug#51565: " Ricardo Wurmus
2021-12-02  9:16   ` [bug#51565] " Ludovic Courtès

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).