This reinstates and adjusts
commit e3d0fcbf7e.
* gnu/packages/patches/gcc-libiberty-printf-decl.patch: New file.
* gnu/packages/gcc.scm (gcc-5)[source]: Use it.
[patches]: Add "gcc-arm-bug-71399.patch".
(gcc): Switch to GCC-5.
* gnu/packages/commencement.scm (libstdc++-boot0): New variable.
(gcc-boot0)[inputs]: Add it.
(gcc-toolchain-4.9): Switch to GCC-4.9.
(gcc-toolchain-5): Switch to GCC-FINAL.
* gnu/local.mk (dist_patch_DATA): Add 'gcc-libiberty-printf-decl.patch'.
Reported by Mark H Weaver <mhw@netris.org>
Partly fixes <http://bugs.gnu.org/24832>.
'ld-wrapper-boot0' was evaluating strictly instead of lazily, leading to
invalid system types.
* gnu/packages/base.scm (make-ld-wrapper): Turn #:target into a
one-argument procedure. Honor it.
* gnu/packages/commencement.scm (ld-wrapper-boot0): Fix 'name' argument
to 'make-ld-wrapper'. Make #:target argument a procedure.
* gnu/packages/cross-base.scm (cross-gcc): Adjust #:target argument.
This way, we no longer have this annoying warning:
$ guix build guile -n
guix build: warning: ambiguous package specification `guile'
guix build: warning: choosing guile-2.0.11 from gnu/packages/guile.scm:128:2
* gnu/packages/commencement.scm (guile-final): Use 'hidden-package'.
* tests/packages.scm ("fold-packages, hidden package"): New test.
* gnu/packages/patches/gcc-libiberty-printf-decl.patch: New file.
* gnu/packages/gcc.scm (gcc-5)[source]: Use it.
(gcc): Switch to GCC-5.
* gnu/packages/commencement.scm (libstdc++-boot0): New variable.
(gcc-boot0)[inputs]: Add it.
[native-inputs]: Remove.
(gcc-toolchain-4.9): Switch to GCC-4.9.
(gcc-toolchain-5): Switch to GCC-FINAL.
* gnu-system.am (dist_patch_DATA): Add 'gcc-libiberty-printf-decl.patch'.
* gnu/packages/commencement.scm (gcc-toolchain-4.8): Use gcc-4.8,
not gcc-final.
(gcc-toolchain-4.9): Use gcc-final, not gcc-4.9.
* gnu/packages/gcc.scm (gcc): Add reminder comment for the future.
* gnu/packages/patches/perl-CVE-2016-2381.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/perl.scm (perl)[replacement]: New field.
(perl-fixed): New variable.
* gnu/packages/commencement.scm (perl-boot0)[replacement]: New field.
This removes a round of Bison + Flex + M4 + Perl rebuild.
* gnu/packages/commencement.scm (bash-final): Add 'native-inputs'
field pointing to BISON-BOOT1.
This removes a redundant (yet different) "perl-boot0" node from the
early derivation graph.
* gnu/packages/commencement.scm (bison-boot1): Move 'native-inputs'
field to the final package. Previously PERL-BOOT0 got rebuilt with
%BOOT0-INPUTS, leading to a different derivation.
(static-bash-for-glibc): Likewise.
* gnu/packages/commencement.scm (diffutils-boot0)[name]: New field.
* gnu/packages/commencement.scm (findutils-boot0, file-boot0,
perl-boot0): Change 'name' field to include "-boot0".
* gnu/packages/multiprecision.scm (gmp-6.0): New variable.
* gnu/packages/commencement.scm (gcc-boot0, gcc-final): Use it.
* gnu/packages/patches/gmp-arm-asm-nothumb.patch: New file, reinstated
from before e414a7d.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/gcc.scm (gcc-4.7) <configure-flags>: Pass
'--with-system-zlib'.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Remove
'--with-system-zlib' from the configure flags.
* gnu/packages/commencement.scm (zlib-final): New variable.
(gcc-final)[arguments]: Add ZLIB-FINAL to #:allowed-references.
Pass -L and -Wl,-rpath for zlib in LDFLAGS, as a configure flag.
[inputs]: Add LD-WRAPPER-BOOT3 and ZLIB-FINAL.
This is made unnecessary by the use of 'GUIX_LOCPATH'.
* gnu/packages/commencement.scm (locale-proof-package): Remove.
(%boot5-inputs): Add on GLIBC-UTF8-LOCALES-FINAL. This reverts parts
of commit 28cbc58.
* gnu/packages/gawk.scm (gawk): Set 'GUIX_LOCPATH' instead of
'LOCPATH'.
* gnu/packages/commencement.scm (gcc-toolchain)[arguments]: Remove code that
deletes OUT/bin/sh and OUT/bin/bash, since those files no longer exist in
our libc package.
This avoids problems when installing 'glibc' in a profile, where glibc's
limited 'bash' would take precedence over the valid 'bash'.
* gnu/packages/base.scm (glibc)[arguments]: Do not copy STATIC-BASH to
OUT/bin. Instead, simply refer to it directly.
[inputs]: Use STATIC-BASH instead of BASH-LIGHT.
* gnu/packages/commencement.scm (static-bash-for-glibc): Likewise.
(glibc-final)[arguments]: Add STATIC-BASH-FOR-GLIBC to
#:allowed-references.
(gcc-final)[arguments]: Likewise.
[native-inputs]: Add "static-bash".
This reflects the new version numbering scheme for GCC 5 and up.
See <https://gcc.gnu.org/develop.html>.
* gnu/packages/gcc.scm (gcc-5.1): Rename to ...
(gcc-5): ... this.
(libstdc++-doc-5.1): Rename to ...
(libstdc++-doc-5): ... this, and use gcc-5.
* gnu/packages/commencement.scm (gcc-toolchain-5.1): Rename to ...
(gcc-toolchain-5): ... this, and use gcc-5.
* build-aux/hydra/gnu-system.scm (%core-packages): Use gcc-5.
* gnu/packages/texinfo.scm (texinfo)[native-inputs]: Add procps.
(texinfo-5, texinfo-4)[native-inputs]: Override to be empty.
* gnu/packages/commencement.scm (texinfo-boot0)[texinfo]: Override
native-inputs to be empty.
This removes ambiguity warnings when installing these packages.
* gnu/packages/commencement.scm (glibc-final, gcc-final,
glibc-utf8-locales-final): Make private.
* gnu/packages/commencement.scm: Replace all occurrences of "gcc-4.8" with
"gcc-4.9".
(gcc-boot0)[arguments]: Add --disable-libcilkrts --disable-libvtv.