Archived
1
0
Fork 0

gnu: nebula: Use G-expressions.

* gnu/packages/networking.scm (nebula) [arguments]: Use G-expressions.
<#:phases>: Set version during build time.

Change-Id: I0cda81f952e3543ac2a01d5d917df4944ac82950
This commit is contained in:
Sharlatan Hellseher 2024-02-12 23:12:47 +00:00
parent ace1785c5d
commit ffc7650c11
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5

View file

@ -4696,26 +4696,32 @@ IPv6 Internet connectivity - it also works over IPv4.")
(delete-file-recursively "wintun"))))) (delete-file-recursively "wintun")))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
`(#:go ,go-1.20 (list
#:import-path "github.com/slackhq/nebula" #:go go-1.20
#:install-source? #f #:import-path "github.com/slackhq/nebula"
#:phases #:install-source? #f
(modify-phases %standard-phases #:phases
(replace 'build #~(modify-phases %standard-phases
(lambda _ (replace 'build
;; Build nebula and nebula-cert (lambda* (#:key import-path #:allow-other-keys)
(let* ((dir "github.com/slackhq/nebula") ;; Suggested option to provide build time flags is not supported
(nebula-cmd (string-append dir "/cmd/nebula")) ;; in Guix for go-build-system.
(cert-cmd (string-append dir "/cmd/nebula-cert"))) ;; -ldflags "-X main.Build=SOMEVERSION"
(invoke "go" "build" nebula-cmd) (substitute* (string-append "src/" import-path "/cmd/nebula/main.go")
(invoke "go" "build" cert-cmd)))) (("Version: ")
(string-append "Version: " #$version)))
(replace 'install ;; Build nebula and nebula-cert
(lambda* (#:key outputs #:allow-other-keys) (let* ((dir "github.com/slackhq/nebula")
(let* ((out (assoc-ref outputs "out")) (nebula-cmd (string-append dir "/cmd/nebula"))
(bindir (string-append out "/bin"))) (cert-cmd (string-append dir "/cmd/nebula-cert")))
(install-file "nebula" bindir) (invoke "go" "build" nebula-cmd)
(install-file "nebula-cert" bindir))))))) (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 (inputs
(list go-dario-cat-mergo (list go-dario-cat-mergo
go-github-com-anmitsu-go-shlex go-github-com-anmitsu-go-shlex