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
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
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
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
gremlin.scm
guile-build-system.scm
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
lisp-utils.scm
make-bootstrap.scm Remove most uses of the _IO*F constants. 2019-01-09 14:47:53 +01:00
meson-build-system.scm
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
qt-utils.scm
r-build-system.scm
rpath.scm
ruby-build-system.scm
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
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
waf-build-system.scm