From e3900a4d64e4bf6f426809d6bff058e5a2ae9bc8 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 6 Jan 2018 15:47:47 -0500 Subject: build-system/go: Build with a filesystem union of Go dependencies. This basically changes (guix build-system go) so that instead of looking up its dependencies in a list of directories in $GOPATH, all the Go dependencies are symlinked into a single directory. Fixes . * guix/build/go-build-system.scm (setup-go-environment): New variable. (setup-environment, install-source): Remove variables. (unpack): Unpack the source relative to $GOPATH. (install): Do not install the compiled objects in the 'pkg' directory. Install the source code in this phase, and only install the source of the package named by IMPORT-PATH. * doc/guix.texi (Build Systems): Adjust accordingly. * gnu/packages/docker.scm (docker): Import (guix build union) on the build side and adjust to build phase name changes in (guix build-system go). * gnu/packages/shellutils.scm (direnv): Likewise. * gnu/packages/databases.scm (mongo-tools)[arguments]: Set '#:install-source #f'. * gnu/packages/music.scm (demlo)[arguments]: Move the 'install-scripts' phase after the 'install' phase. --- gnu/packages/docker.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gnu/packages/docker.scm') diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 7cb8f96258..4b6d04fe91 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -249,9 +249,11 @@ network attachments.") `(#:modules ((guix build gnu-build-system) ((guix build go-build-system) #:prefix go:) + (guix build union) (guix build utils)) #:imported-modules (,@%gnu-build-system-modules + (guix build union) (guix build go-build-system)) #:phases (modify-phases %standard-phases @@ -412,8 +414,8 @@ network attachments.") ;; Make build faster (setenv "GOCACHE" "/tmp") #t)) - (add-before 'build 'setup-environment - (assoc-ref go:%standard-phases 'setup-environment)) + (add-before 'build 'setup-go-environment + (assoc-ref go:%standard-phases 'setup-go-environment)) (replace 'build (lambda _ ;; Our LD doesn't like the statically linked relocatable things -- cgit v1.2.3