mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 13:58:15 -05:00
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. [arguments]: Also install genkeys. [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. Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
This commit is contained in:
parent
dee3e337b6
commit
f3b2af2147
2 changed files with 69 additions and 39 deletions
|
@ -4067,7 +4067,7 @@ (define-public nbd
|
|||
(define-public yggdrasil
|
||||
(package
|
||||
(name "yggdrasil")
|
||||
(version "0.3.16")
|
||||
(version "0.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -4078,7 +4078,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
|
||||
|
@ -4095,7 +4095,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)
|
||||
|
@ -4106,7 +4106,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
|
||||
|
@ -4116,20 +4116,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")
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue