summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2018-01-06 15:47:47 -0500
committerLeo Famulari <leo@famulari.name>2019-03-14 15:34:26 -0400
commite3900a4d64e4bf6f426809d6bff058e5a2ae9bc8 (patch)
tree84ecbe268ad4024f43fbceb179e2697a72535f15 /gnu
parent5a14b913ad8513202077471539d41c51d9f271ee (diff)
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 <https://bugs.gnu.org/33620>. * 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.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/databases.scm3
-rw-r--r--gnu/packages/docker.scm6
-rw-r--r--gnu/packages/music.scm2
-rw-r--r--gnu/packages/shellutils.scm6
4 files changed, 10 insertions, 7 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index be02b79efa..921304ef2a 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -2610,6 +2610,7 @@ transforms idiomatic python function calls to well-formed SQL queries.")
#:modules ((srfi srfi-1)
(guix build go-build-system)
(guix build utils))
+ #:install-source? #f
#:phases
(let ((all-tools
'("bsondump" "mongodump" "mongoexport" "mongofiles"
@@ -2629,8 +2630,6 @@ transforms idiomatic python function calls to well-formed SQL queries.")
(("skipping restore of system.profile collection\", db)")
"skipping restore of system.profile collection\")"))
#t))
- ;; We don't need to install the source code for end-user applications
- (delete 'install-source)
(replace 'build
(lambda _
(for-each (lambda (tool)
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
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 05fdc1428f..54c7798472 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -4361,7 +4361,7 @@ console music players.")
dir "/sbin"))
(list ffmpeg chromaprint))))
#t)))
- (add-after 'install-source 'install-scripts
+ (add-after 'install 'install-scripts
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(root (string-append out "/src/gitlab.com/ambrevar/demlo"))
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index a672aa041a..88c0f32e99 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -118,15 +118,17 @@ are already there.")
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
#: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
(delete 'configure)
;; Help the build scripts find the Go language dependencies.
- (add-after 'unpack 'setup-go-environment
- (assoc-ref go:%standard-phases 'setup-environment)))))
+ (add-before 'unpack 'setup-go-environment
+ (assoc-ref go:%standard-phases 'setup-go-environment)))))
(inputs
`(("go" ,go)
("go-github-com-burntsushi-toml" ,go-github-com-burntsushi-toml)