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 build-system: android-ndk: Let upstream install header files. 2018-05-10 01:06:22 +02:00
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 build-system/gnu: Add 'bootstrap' phase. 2018-03-11 22:04:40 +01:00
bournish.scm bournish: 'ls' adjusts the column width depending on the entries. 2017-05-13 16:52:11 +02:00
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 build-system/cmake: Use invoke instead of system*. 2018-03-16 05:01:50 -04:00
compile.scm compile: Let compiler warnings through during the load phase. 2019-01-22 23:04:05 +01:00
cvs.scm cvs-download: Use invoke instead of system*. 2018-03-16 05:02:32 -04:00
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 Merge branch 'master' into core-updates 2018-04-21 05:02:52 -04:00
emacs-utils.scm Merge branch 'master' into core-updates 2018-05-06 15:56:24 +02:00
font-build-system.scm build-system/gnu: Add 'bootstrap' phase. 2018-03-11 22:04:40 +01:00
git.scm git-download: Use 'invoke'. 2019-01-06 00:22:05 +01:00
glib-or-gtk-build-system.scm build-system/glib-or-gtk: Use invoke instead of system*. 2018-03-16 05:01:47 -04:00
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 gnu-dist: Use invoke instead of system*. 2018-03-16 05:01:43 -04:00
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 gremlin: Add 'strip-runpath'. 2018-05-07 11:21:36 +02:00
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 build-system/gnu: Add 'bootstrap' phase. 2018-03-11 22:04:40 +01:00
ocaml-build-system.scm build-system/ocaml: Use invoke and return #t. 2018-11-18 18:40:53 +01:00
perl-build-system.scm build-system/perl: Use invoke instead of system*. 2018-03-16 05:01:52 -04:00
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 build: Add wrap-qt-program. 2016-08-30 22:38:28 +02:00
r-build-system.scm build-system/r: Fix type error. 2018-06-06 23:30:30 +02:00
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 build-system/scons: Use invoke instead of system*. 2018-03-16 05:01:57 -04:00
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 build-system/waf: Use invoke. 2018-06-19 10:48:14 +02:00