aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2024-02-12 23:12:47 +0000
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-02-12 23:33:23 +0000
commitffc7650c11fd7c4b9f7b4894f8e0a451e0e49063 (patch)
treebed142865b59fad291421521ba87aad05e9c8ab8 /gnu/packages
parentace1785c5d1df11289b506f50ffad16396683efa (diff)
downloadguix-ffc7650c11fd7c4b9f7b4894f8e0a451e0e49063.tar.gz
guix-ffc7650c11fd7c4b9f7b4894f8e0a451e0e49063.zip
gnu: nebula: Use G-expressions.
* gnu/packages/networking.scm (nebula) [arguments]: Use G-expressions. <#:phases>: Set version during build time. Change-Id: I0cda81f952e3543ac2a01d5d917df4944ac82950
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/networking.scm46
1 files 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