Merge branch 'core-updates'
build-system/gnu: Add docstring to 'delete-info-dir-file'.
* guix/build/gnu-build-system.scm (delete-info-dir-file): Add docstring.
build-system/gnu: Add 'delete-info-dir-file' phase.
* guix/build/gnu-build-system.scm (delete-info-dir-file): New procedure.
(%standard-phases): Use it.
build-system/gnu: Add 'validate-runpath' phase.
* guix/build/gnu-build-system.scm (every*, validate-runpath): New
procedures.
(%standard-phases): Add 'validate-runpath'.
* guix/build-system/gnu.scm (%gnu-build-system-modules): Add (guix build
gremlin) and (guix elf).
(gnu-build): Add #:validate-runpath?.
[builder]: Pass it.
(gnu-cross-build): Likewise.
* gnu/packages/base.scm (glibc)[arguments]: Add #:validate-runpath? #f.
Merge branch 'core-updates'.
Revert "build-system/gnu: Keep the sloppy conversion strategy during bootstrap."
This reverts commit b479c3ddaf85c831e34888229849bc1ce34419de.
This commit was the result of an incorrect characterization of the
problem; see the log of commit 87c8b92 for details.
build-system/gnu: Keep the sloppy conversion strategy during bootstrap.
* guix/build/gnu-build-system.scm (gnu-build): Leave
%DEFAULT-PORT-CONVERSION-STRATEGY unchanged when 'string->bytevector'
fails to convert to ISO-8859-1. This is an attempt to work around the
build failures at <http://hydra.gnu.org/build/263002>.
packages: Set the port conversion strategy to 'error'.
Suggested by Mark H Weaver.
* guix/build/gnu-build-system.scm (gnu-build): Set
%DEFAULT-PORT-CONVERSION-STRATEGY to 'error.
* guix/packages.scm (patch-and-repack)[builder]: Likewise.
build-system/gnu: Set $LC_ALL (or similar) to the chosen locale.
Suggested by Mark H Weaver.
* guix/build/utils.scm (locale-category->string): New procedure.
* guix/build/gnu-build-system.scm (install-locale): Add 'setenv' call.
build-system/gnu: Add 'install-locale' phase.
* guix/build/gnu-build-system.scm (install-locale): New procedure.
(%standard-phases): Add it.
* guix/build-system/gnu.scm (gnu-build): Add #:locale and pass it to
the build script.
(gnu-cross-build): Likewise.
build-system/gnu: Add support for zip archives.
Fixes <http://bugs.gnu.org/19866>.
Reported by Andreas Enge <andreas@enge.fr>.
* guix/build/gnu-build-system.scm (unpack): Use 'unzip' when SOURCE ends
in '.zip'.
Merge branch 'core-updates'
Conflicts:
gnu/packages/bootstrap.scm
build-system/gnu: Patch /usr/bin/file in all 'configure' files.
* guix/build/utils.scm (patch-/usr/bin/file): New procedure.
* guix/build/gnu-build-system.scm (patch-usr-bin-file): Rewrite using
it. Patch all the files returned by 'find-files' that are executable.
* gnu/packages/gawk.scm (gawk)[arguments]: Remove use of 'substitute*'
for 'extension/configure'.
build-system/gnu: Use executables from the target inputs in 'patch-shebangs'.
Fixes <http://bugs.gnu.org/18895>.
* guix/build/gnu-build-system.scm (patch-shebangs): Add #:inputs
parameter. Remove 'bindirs'. Add 'bin-directories',
'output-bindirs', and 'input-bindirs'. Use them instead of (getenv
"PATH") to as the argument to 'patch-shebang'.
gnu: Don't use --strip-all in cases where this is problematic.
This is a followup to 856ae5e. See <http://hydra.gnu.org/build/180506>
for an example of build failure.
* guix/build/gnu-build-system.scm (strip): Add #:archive-strip-flags
parameter. Use it when (ar-file? path).
* guix/build-system/gnu.scm (gnu-build): Add #:archive-strip-flags
parameter and pass it down.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Add
#:strip-flags.
* gnu/packages/base.scm (glibc)[arguments]: Likewise.
build-support/gnu: Add support for file patterns in search paths.
* guix/build/utils.scm (search-path-as-list): Add #:pattern parameter
and honor it.
(set-path-environment-variable): Likewise, and pass it to
'search-path-as-list'.
* guix/packages.scm (search-path-specification->sexp): Add PATTERN slot.
* guix/build/gnu-build-system.scm (set-paths): Adjust accordingly.
build-system/gnu: Strip with '--strip-all' instead of '--strip-debug'.
This saves 19% on the 'bin' directory of Coreutils, and certainly
helpful for things like Git's 'libexec' directory.
* guix/build-system/gnu.scm (gnu-build): Change default value for
#:strip-flags to '("--strip-all").
* guix/build/gnu-build-system.scm (strip): Ditto.
* gnu/packages/linux.scm (linux-libre)[arguments]: Add #:strip-flags.
build-system/gnu: Add support for non-directory search paths.
Partly fixes <http://bugs.gnu.org/18033>.
* guix/build/utils.scm (search-path-as-list): Rename 'sub-directories'
parameter to 'files'. Add #:type parameter and honor it.
(set-path-environment-variable): Likewise. Pass #:type to
'search-path-as-list'.
* guix/packages.scm (search-path-specification->sexp): Add 'directory as
the last item of the tuple.
* guix/build/gnu-build-system.scm (set-paths): Add 'type' to search-path
pattern. Pass #:type to 'set-path-environment-variable'.
build-system/gnu: Add 'compress-documentation' phase.
* guix/build/gnu-build-system.scm (compress-documentation): New
procedure.
(%standard-phases): Add it.