diff options
author | Maxime Devos <maximedevos@telenet.be> | 2022-09-13 13:01:05 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-09-24 17:59:05 +0200 |
commit | 9e4d8c75183c226d0cba2de3b40e6a9e603ae43b (patch) | |
tree | f25fdfa31ddcf956a8b3160330d39eb9b8f1a914 | |
parent | 1cf39c41cff5e13bec64f3862133c12be5461adc (diff) | |
download | guix-9e4d8c75183c226d0cba2de3b40e6a9e603ae43b.tar guix-9e4d8c75183c226d0cba2de3b40e6a9e603ae43b.tar.gz |
build-system/go: Respect #:imported-modules when cross-compiling.
Previously, #:imported-modules was ignored, causing cross-compilation
failures. This bug seems seems to have been introduced in
e37dcf63dcea0817ffd74722ee5ff2d103aa2157.
After this commit, there remain other cross-compilation problems,
e.g. <https://issues.guix.gnu.org/51981> fixes one of them.
* guix/build-system/go.scm (go-cross-build)[builder]: Wrap in
with-imported-modules.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | guix/build-system/go.scm | 67 |
1 files changed, 34 insertions, 33 deletions
diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm index 5e0e5bbad3..4b3b67b08f 100644 --- a/guix/build-system/go.scm +++ b/guix/build-system/go.scm @@ -240,45 +240,46 @@ commit hash and its date rather than a proper release tag." (substitutable? #t)) "Cross-build NAME using GO, where TARGET is a GNU triplet and with INPUTS." (define builder - #~(begin - (use-modules #$@(sexp->gexp modules)) + (with-imported-modules imported-modules + #~(begin + (use-modules #$@(sexp->gexp modules)) - (define %build-host-inputs - #+(input-tuples->gexp build-inputs)) + (define %build-host-inputs + #+(input-tuples->gexp build-inputs)) - (define %build-target-inputs - (append #$(input-tuples->gexp host-inputs) + (define %build-target-inputs + (append #$(input-tuples->gexp host-inputs) #+(input-tuples->gexp target-inputs))) - (define %build-inputs - (append %build-host-inputs %build-target-inputs)) + (define %build-inputs + (append %build-host-inputs %build-target-inputs)) - (define %outputs - #$(outputs->gexp outputs)) + (define %outputs + #$(outputs->gexp outputs)) - (go-build #:name #$name - #:source #+source - #:system #$system - #:phases #$phases - #:outputs %outputs - #:target #$target - #:goarch #$goarch - #:goos #$goos - #:inputs %build-target-inputs - #:native-inputs %build-host-inputs - #:search-paths '#$(map search-path-specification->sexp - search-paths) - #:native-search-paths '#$(map - search-path-specification->sexp - native-search-paths) - #:install-source? #$install-source? - #:import-path #$import-path - #:unpack-path #$unpack-path - #:build-flags #$build-flags - #:tests? #$tests? - #:make-dynamic-linker-cache? #f ;cross-compiling - #:allow-go-reference? #$allow-go-reference? - #:inputs %build-inputs))) + (go-build #:name #$name + #:source #+source + #:system #$system + #:phases #$phases + #:outputs %outputs + #:target #$target + #:goarch #$goarch + #:goos #$goos + #:inputs %build-target-inputs + #:native-inputs %build-host-inputs + #:search-paths '#$(map search-path-specification->sexp + search-paths) + #:native-search-paths '#$(map + search-path-specification->sexp + native-search-paths) + #:install-source? #$install-source? + #:import-path #$import-path + #:unpack-path #$unpack-path + #:build-flags #$build-flags + #:tests? #$tests? + #:make-dynamic-linker-cache? #f ;cross-compiling + #:allow-go-reference? #$allow-go-reference? + #:inputs %build-inputs)))) (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) system #:graft? #f))) |