mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
build-system/go: Add skip-build? option key.
Golang project's root may miss any .go files which makes build phase to fail with error similar to: no Go files in /tmp/<...>/src/golang.org/x/mod This change implements a SKIP-BUILD? key parameter which is, by default, set to #f to invoke build procedure. It is taken from cargo-build-system * guix/build-system/go.scm (go-build, go-cross-build): Add "skip-build?" key parameter. * guix/build/go-build-system.scm (build): Add "skip-build?" key parameter and implement logic. Change-Id: I3f41414868a7329cbe99324106427cdae4884d94
This commit is contained in:
parent
1e4a22c4d7
commit
c149fc769c
2 changed files with 21 additions and 12 deletions
|
@ -289,6 +289,7 @@ unpacking."
|
|||
|
||||
(define* (build #:key
|
||||
build-flags
|
||||
skip-build?
|
||||
import-path
|
||||
(parallel-build? #t)
|
||||
(verbosity 1)
|
||||
|
@ -311,19 +312,23 @@ unpacking."
|
|||
(setenv "GOMAXPROCS" (number->string njobs)))
|
||||
|
||||
(with-throw-handler
|
||||
#t
|
||||
#t
|
||||
(lambda _
|
||||
(apply invoke "go" "install"
|
||||
;; Respectively, strip the symbol table and debug information,
|
||||
;; and the DWARF symbol table.
|
||||
"-ldflags=-s -w"
|
||||
;; Remove all file system paths from the resulting executable.
|
||||
;; Instead of absolute file system paths, the recorded file names
|
||||
;; will begin either a module path@version (when using modules),
|
||||
;; or a plain import path (when using the standard library, or
|
||||
;; GOPATH).
|
||||
"-trimpath"
|
||||
`(,@build-flags ,import-path)))
|
||||
(if skip-build?
|
||||
(begin
|
||||
(format #t "Build is skipped, no go files in project's root.~%")
|
||||
#t)
|
||||
(apply invoke "go" "install"
|
||||
;; Respectively, strip the symbol table and debug
|
||||
;; information, and the DWARF symbol table.
|
||||
"-ldflags=-s -w"
|
||||
;; Remove all file system paths from the resulting
|
||||
;; executable. Instead of absolute file system paths, the
|
||||
;; recorded file names will begin either a module
|
||||
;; path@version (when using modules), or a plain import path
|
||||
;; (when using the standard library, or GOPATH).
|
||||
"-trimpath"
|
||||
`(,@build-flags ,import-path))))
|
||||
|
||||
(lambda (key . args)
|
||||
(display (string-append "Building '" import-path "' failed.\n"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue