guix-devel/guix/build
Leo Famulari e3900a4d64
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.
2019-03-14 15:34:26 -04:00
..
android-ndk-build-system.scm
ant-build-system.scm guix: ant-build-system: Reorder before generating INDEX.LIST. 2018-07-19 19:46:31 +02:00
asdf-build-system.scm
bournish.scm
cargo-build-system.scm gnu: rust: Factor out "cargo-utils" from "cargo-build-system". 2019-03-01 08:20:50 +01:00
cargo-utils.scm gnu: rust: Factor out "cargo-utils" from "cargo-build-system". 2019-03-01 08:20:50 +01:00
clojure-build-system.scm build-system: Add 'clojure-build-system'. 2018-11-19 12:07:44 +01:00
clojure-utils.scm build-system: Add 'clojure-build-system'. 2018-11-19 12:07:44 +01:00
cmake-build-system.scm
compile.scm compile: Let compiler warnings through during the load phase. 2019-01-22 23:04:05 +01:00
cvs.scm
debug-link.scm grafts: Add (guix build debug-link) and use it. 2018-08-24 18:01:05 +02:00
download-nar.scm Remove most uses of the _IO*F constants. 2019-01-09 14:47:53 +01:00
download.scm download: Ask not to use TLS 1.3. 2019-01-26 23:18:14 +01:00
dub-build-system.scm build-system/dub: Let all phases return #T unconditionally. 2018-11-13 10:46:00 +01:00
dune-build-system.scm gnu: dune: Update to 1.6.3. 2019-02-04 22:03:22 +01:00
emacs-build-system.scm
emacs-utils.scm
font-build-system.scm
git.scm git-download: Use 'invoke'. 2019-01-06 00:22:05 +01:00
glib-or-gtk-build-system.scm
gnu-build-system.scm build-system/gnu: If a phase returns #f, the build fails. 2018-08-03 23:12:33 -04:00
gnu-dist.scm
go-build-system.scm build-system/go: Build with a filesystem union of Go dependencies. 2019-03-14 15:34:26 -04:00
graft.scm grafts: Add (guix build debug-link) and use it. 2018-08-24 18:01:05 +02:00
gremlin.scm
guile-build-system.scm build-system: Add 'guile-build-system'. 2018-07-23 12:25:31 +02:00
haskell-build-system.scm build-system/haskell: Fix register phase. 2018-11-12 18:21:04 +01:00
hg.scm hg-fetch: Remove .hg directories of sub-repositories. 2018-12-03 12:29:08 +01:00
java-utils.scm java-utils: Use 'strip-store-file-name'. 2018-10-19 23:11:07 +02:00
lisp-utils.scm build-system/asdf: Properly handle dependency specification casing. 2018-10-02 14:53:39 +02:00
make-bootstrap.scm Remove most uses of the _IO*F constants. 2019-01-09 14:47:53 +01:00
meson-build-system.scm build-system/meson: Strip RUNPATH and remove PatchELF traces. 2018-08-22 18:01:09 +02:00
minify-build-system.scm
ocaml-build-system.scm build-system/ocaml: Use invoke and return #t. 2018-11-18 18:40:53 +01:00
perl-build-system.scm
profiles.scm profiles: Allow a profile to be added as an entry of another profile. 2019-01-20 01:42:11 +01:00
python-build-system.scm gnu: python: Update to 3.7.0. 2018-07-28 15:52:26 +02:00
qt-utils.scm
r-build-system.scm
rpath.scm
ruby-build-system.scm ruby-build-system: Make phase "replace-git-ls-files" handle more cases. 2018-07-24 22:55:38 +02:00
scons-build-system.scm
store-copy.scm store-copy: Canonicalize the mtime and permissions of the store copy. 2018-11-06 23:21:24 +01:00
svn.scm guix: svn: Remove all .svn folders. 2018-08-19 17:34:22 +02:00
syscalls.scm syscalls: 'device-in-use?' returns #f upon EINVAL. 2019-01-17 14:04:28 +01:00
texlive-build-system.scm build-system: texlive: Do not hide build output. 2019-01-10 22:43:09 +01:00
union.scm Remove most uses of the _IO*F constants. 2019-01-09 14:47:53 +01:00
utils.scm utils: Generate valid substitutions in 'wrap-program'. 2018-08-20 17:00:45 +02:00
waf-build-system.scm