From ffc7650c11fd7c4b9f7b4894f8e0a451e0e49063 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Mon, 12 Feb 2024 23:12:47 +0000 Subject: [PATCH] gnu: nebula: Use G-expressions. * gnu/packages/networking.scm (nebula) [arguments]: Use G-expressions. <#:phases>: Set version during build time. Change-Id: I0cda81f952e3543ac2a01d5d917df4944ac82950 --- gnu/packages/networking.scm | 46 +++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index e1f4bf5afd..aecb4faeb8 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -4696,26 +4696,32 @@ IPv6 Internet connectivity - it also works over IPv4.") (delete-file-recursively "wintun"))))) (build-system go-build-system) (arguments - `(#:go ,go-1.20 - #:import-path "github.com/slackhq/nebula" - #:install-source? #f - #:phases - (modify-phases %standard-phases - (replace 'build - (lambda _ - ;; Build nebula and nebula-cert - (let* ((dir "github.com/slackhq/nebula") - (nebula-cmd (string-append dir "/cmd/nebula")) - (cert-cmd (string-append dir "/cmd/nebula-cert"))) - (invoke "go" "build" nebula-cmd) - (invoke "go" "build" cert-cmd)))) - - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bindir (string-append out "/bin"))) - (install-file "nebula" bindir) - (install-file "nebula-cert" bindir))))))) + (list + #:go go-1.20 + #:import-path "github.com/slackhq/nebula" + #:install-source? #f + #:phases + #~(modify-phases %standard-phases + (replace 'build + (lambda* (#:key import-path #:allow-other-keys) + ;; Suggested option to provide build time flags is not supported + ;; in Guix for go-build-system. + ;; -ldflags "-X main.Build=SOMEVERSION" + (substitute* (string-append "src/" import-path "/cmd/nebula/main.go") + (("Version: ") + (string-append "Version: " #$version))) + ;; Build nebula and nebula-cert + (let* ((dir "github.com/slackhq/nebula") + (nebula-cmd (string-append dir "/cmd/nebula")) + (cert-cmd (string-append dir "/cmd/nebula-cert"))) + (invoke "go" "build" nebula-cmd) + (invoke "go" "build" cert-cmd)))) + (replace 'install + (lambda _ + (let* ((out #$output) + (bindir (string-append out "/bin"))) + (install-file "nebula" bindir) + (install-file "nebula-cert" bindir))))))) (inputs (list go-dario-cat-mergo go-github-com-anmitsu-go-shlex