(address . guix-patches@gnu.org)(name . Attila Lendvai)(address . attila@lendvai.name)
This mimics the same feature of the cargo-build-system.
* guix/build-system/go.scm (go-build): Add skip-build? keyword param and
propagate it.
* guix/build/go-build-system.scm (build): Add skip-build? keyword param.
---
guix/build-system/go.scm | 4 +++-
guix/build/go-build-system.scm | 31 ++++++++++++++++---------------
2 files changed, 19 insertions(+), 16 deletions(-)
Toggle diff (67 lines)
diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm
index 5e0e5bbad3..6bcb3656be 100644
--- a/guix/build-system/go.scm
+++ b/guix/build-system/go.scm
@@ -175,6 +175,7 @@ (define* (go-build name inputs
(import-path "")
(unpack-path "")
(build-flags ''())
+ (skip-build? #f)
(tests? #t)
(allow-go-reference? #f)
(system (%current-system))
@@ -205,7 +206,8 @@ (define builder
#:import-path #$import-path
#:unpack-path #$unpack-path
#:build-flags #$build-flags
- #:tests? #$tests?
+ #:skip-build? #$skip-build?
+ #:tests? #$(and tests? (not skip-build?))
#:allow-go-reference? #$allow-go-reference?
#:inputs #$(input-tuples->gexp inputs)))))
diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm
index 7f25e05d0d..637d66a6f1 100644
--- a/guix/build/go-build-system.scm
+++ b/guix/build/go-build-system.scm
@@ -254,22 +254,23 @@ (define (go-inputs inputs)
(_ #f))
inputs))))
-(define* (build #:key import-path build-flags #:allow-other-keys)
+(define* (build #:key skip-build? import-path build-flags #:allow-other-keys)
"Build the package named by IMPORT-PATH."
- (with-throw-handler
- #t
- (lambda _
- (apply invoke "go" "install"
- "-v" ; print the name of packages as they are compiled
- "-x" ; print each command as it is invoked
- ;; Respectively, strip the symbol table and debug
- ;; information, and the DWARF symbol table.
- "-ldflags=-s -w"
- `(,@build-flags ,import-path)))
- (lambda (key . args)
- (display (string-append "Building '" import-path "' failed.\n"
- "Here are the results of `go env`:\n"))
- (invoke "go" "env"))))
+ (or skip-build?
+ (with-throw-handler
+ #t
+ (lambda _
+ (apply invoke "go" "install"
+ "-v" ; print the name of packages as they are compiled
+ "-x" ; print each command as it is invoked
+ ;; Respectively, strip the symbol table and debug
+ ;; information, and the DWARF symbol table.
+ "-ldflags=-s -w"
+ `(,@build-flags ,import-path)))
+ (lambda (key . args)
+ (display (string-append "Building '" import-path "' failed.\n"
+ "Here are the results of `go env`:\n"))
+ (invoke "go" "env")))))
;; Can this also install commands???
(define* (check #:key tests? import-path #:allow-other-keys)
--
2.35.1