build-system/gnu: Write debug files to the "debug" sub-derivation, if any.
* guix/build/gnu-build-system.scm (strip): Add `objcopy-command' keyword
parameter.
[debug-output, debug-file-extension]: New variables.
[debug-file, make-debug-file, add-debug-link]: New procedures.
[strip-dir]: Use them.
utils: Re-export `alist-cons' and `alist-delete'.
* guix/build/utils.scm: Re-export `alist-cons' and `alist-delete'.
build-system/gnu: `package-with-explicit-inputs' skips non-GBS packages.
* guix/build-system/gnu.scm (package-with-explicit-inputs)[rewritten-input]:
Leave P unchanged if its build system is not GNU-BUILD-SYSTEM.
build-system/gnu: Augment `package-with-explicit-inputs' for cross builds.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Add
`native-inputs' keyword parameter. Allow INPUTS and NATIVE-INPUTS to
be thunks.
build-system/trivial: Don't bind `%target' in the builder.
* guix/build-system/trivial.scm (trivial-cross-build): Don't bind
`%target' here since this causes problem when BUILDER
contains (use-modules ...) clauses, and can be achieved differently
anyway.
build-system/gnu: Disable test suite when cross building.
* guix/build-system/gnu.scm (gnu-cross-build): Change #:tests? to
default to #f.
utils: `set-path-environment-variable' calls `unsetenv' for empty values.
* guix/build/utils.scm (set-path-environment-variable): When VALUE is
the empty string, call `unsetenv' instead of `setenv'.
* gnu/packages/guile.scm (guile-2.0)[arguments]: Remove `unsetenv'
trick.
build-system/gnu: Set #:tests? to #f when cross-compiling.
* guix/build/gnu-build-system.scm (check): Add `target' formal
parameter. Change `tests?' to default to (not target).
build-system/gnu: Save `environment-variables' after each phase.
* guix/build/gnu-build-system.scm (set-paths): Move `system' call to...
(gnu-build): ... here.
build-system/gnu: Unify with (guix build-system gnu-cross-build).
* guix/build/gnu-build-system.scm (set-paths): Add `native-inputs' and
`native-search-paths' keyword parameters. Honor them.
(configure): Add `target' and `native-inputs' keyword parameters.
Look for Bash in NATIVE-INPUTS or INPUTS. Pass `--host' when TARGET
is true.
(strip): Add `strip-command' keyword parameter. Use it.
* guix/build/gnu-cross-build.scm: Remove.
* Makefile.am (MODULES): Adjust accordingly.
* gnu/packages/acl.scm, gnu/packages/attr.scm, gnu/packages/base.scm,
gnu/packages/bash.scm, gnu/packages/gawk.scm,
gnu/packages/gettext.scm, gnu/packages/guile.scm,
gnu/packages/libffi.scm, gnu/packages/libsigsegv.scm,
gnu/packages/linux.scm, gnu/packages/ncurses.scm,
gnu/packages/readline.scm, guix/build-system/gnu.scm: Replace
`%standard-cross-phases' by `%standard-phases'. Remove references
to (guix build gnu-cross-build).
Merge branch 'master' into core-updates
Conflicts:
gnu/packages/make-bootstrap.scm
package: Fix i18n of the number of packages message.
* guix/scripts/package.scm (guix-package)[process-actions]: Use `N_' for
i18n of the number of packages message.
substitute-binary: Report progress while downloading.
* guix/scripts/substitute-binary.scm (decompressed-port): Improve docstring.
(progress-report-port): New procedure.
(guix-substitute-binary)["--substitute"]: Use it to report progress.
* guix/build/download.scm: Export `progress-proc' and `uri-abbreviation'.
package: Display the number of installed packages upon completion.
* guix/scripts/package.scm (guix-package)[process-actions]: Display the
number of packages in the profile upon completion.
gnu: Add ImageMagick.
* gnu/packages/imagemagick.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/download.scm (%mirrors): Add `imagemagick' entry.
substitute-binary: Provide feedback when the server is unresponsive.
* guix/scripts/substitute-binary.scm (%fetch-timeout): New variable.
(with-timeout): New macro.
(fetch): Add `timeout?' keyword parameter. Enclose `http-fetch' call
in `with-timeout'.
(guix-substitute-binary): Call `fetch' with #:timeout? #f.
build-system/trivial: Fix introduction of `%target' when cross-building.
* guix/build-system/trivial.scm (trivial-cross-build): Wrap BUILDER in a
`let' rather than in `begin'.
derivations: Micro-optimize `derivation-hash'.
* guix/derivations.scm (derivation-hash): Use a UTF-8-encoded string
output port. This makes things deterministic, and slightly faster.
guix gc: Add `--requisites'.
* guix/scripts/gc.scm (show-help, %options): Add `--requisites'.
(guix-gc): Handle it.
* doc/guix.texi (Invoking guix gc): Document `--requisites'.
* NEWS: Update.
store: Add `requisites'.
* guix/store.scm (fold-path, requisites): New procedures.
* tests/store.scm ("requisites"): New test.