summary refs log tree commit diff
path: root/gnu/packages/shellutils.scm
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/packages/shellutils.scm
parent5a14b913ad8513202077471539d41c51d9f271ee (diff)
downloadguix-e3900a4d64e4bf6f426809d6bff058e5a2ae9bc8.tar.gz
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/packages/shellutils.scm')
-rw-r--r--gnu/packages/shellutils.scm6
1 files changed, 4 insertions, 2 deletions
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)