guix-devel/guix
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
..
build build-system/go: Build with a filesystem union of Go dependencies. 2019-03-14 15:34:26 -04:00
build-system build-system/go: Build with a filesystem union of Go dependencies. 2019-03-14 15:34:26 -04:00
import import: opam: Work around janestreet version numbers. 2019-02-05 22:33:13 +01:00
scripts pack: Add '--save-provenance'. 2019-03-07 00:00:18 +01:00
store database: Make 'register-items' transactional. 2019-03-07 00:00:18 +01:00
tests
base16.scm
base32.scm
base64.scm
build-system.scm
cache.scm
channels.scm channels: Do not fail when the inferior lacks 'guix repl'. 2019-03-08 12:31:38 +01:00
ci.scm
combinators.scm
config.scm.in daemon: Rename 'NIX_STATE_DIR' and 'NIX_DB_DIR' environment variables. 2019-02-04 00:03:30 +01:00
cpio.scm
cve.scm
cvs-download.scm
deprecation.scm deprecation: Send warnings to (current-error-port) by default. 2019-01-21 23:09:55 +01:00
derivations.scm store: Rename '&nix-error' to '&store-error'. 2019-01-21 23:09:55 +01:00
describe.scm describe: 'package-path-entries' no longer includes the "guix" entry. 2019-03-12 23:51:32 +01:00
discovery.scm discovery: Add 'fold-module-public-variables*'. 2019-01-15 20:24:09 +01:00
docker.scm
download.scm download: 'built-in-builders*' relies on the functional cache. 2018-12-19 23:52:25 +01:00
elf.scm
ftp-client.scm Remove most uses of the _IO*F constants. 2019-01-09 14:47:53 +01:00
gexp.scm monads, gexp: Prevent redefinition of syntax parameters. 2019-02-06 23:06:18 +01:00
git-download.scm
git.scm git: Add an exception printer for 'git-error'. 2019-02-11 23:23:28 +01:00
glob.scm
gnu-maintenance.scm gnu-maintenance: Verify GPG signatures in KDE updater. 2019-02-15 12:12:09 +01:00
gnupg.scm
grafts.scm store: Rename '&nix-error' to '&store-error'. 2019-01-21 23:09:55 +01:00
graph.scm
hg-download.scm
http-client.scm Remove most uses of the _IO*F constants. 2019-01-09 14:47:53 +01:00
i18n.scm
inferior.scm channels: Do not fail when the inferior lacks 'guix repl'. 2019-03-08 12:31:38 +01:00
licenses.scm gnu: Add epl2.0. 2019-03-08 23:18:01 +01:00
man-db.scm
memoization.scm
modules.scm Remove traces of "GuixSD". 2019-03-13 23:12:43 +01:00
monad-repl.scm
monads.scm monads, gexp: Prevent redefinition of syntax parameters. 2019-02-06 23:06:18 +01:00
nar.scm
packages.scm Revert "packages: 'package-input-rewriting' can take a promise." 2019-03-12 23:51:32 +01:00
pki.scm
profiles.scm profiles: Raise an error for unmatched patterns. 2019-02-07 15:46:45 +01:00
profiling.scm profiling: Add a "gc" profiling component. 2019-01-15 20:24:08 +01:00
progress.scm
records.scm records: Make 'report-duplicate-field-specifier' available at expansion-time. 2019-01-24 20:48:14 +01:00
scripts.scm
search-paths.scm
self.scm self: Generated (guix config) honors %CURRENT-SYSTEM. 2019-02-17 00:04:57 +01:00
serialization.scm store: Rename '&nix-error' to '&store-error'. 2019-01-21 23:09:55 +01:00
sets.scm
ssh.scm store: Rename '&nix-error' to '&store-error'. 2019-01-21 23:09:55 +01:00
status.scm status: Erase the current line upon new builds or downloads. 2019-02-11 23:23:27 +01:00
store.scm store: 'log-file' honors 'GUIX_LOG_DIRECTORY'. 2019-02-04 00:03:30 +01:00
svn-download.scm
swh.scm
tests.scm tests: Remove duplicate field initializers. 2019-01-24 20:47:21 +01:00
ui.scm ui: Always print the exception upon load errors. 2019-02-11 23:23:28 +01:00
upstream.scm upstream: Correctly report failure to update Git checkouts. 2019-03-08 23:21:59 +01:00
utils.scm utils: Memoize 'absolute-dirname'. 2018-12-19 23:52:25 +01:00
workers.scm
zlib.scm