Reported by Theodoros Foradis <theodoros@foradis.org>.
* gnu/packages/commencement.scm (gcc-toolchain): Rename to...
(make-gcc-toolchain): ... this.
(gcc-toolchain): New variable.
(gcc-toolchain-5): Turn into an alias for 'gcc-toolchain'.
* gnu/packages/base.scm (binutils)[replacement]: New field.
(binutils/fixed): New variable.
* gnu/packages/commencement.scm (binutils-boot0, binutils-final): Use
'package/inherit' to correctly use replacement binutils.
* gnu/packages/file.scm (file)[replacement]: New field.
(file/fixed): New variable.
* gnu/packages/commencement.scm (file-boot0): Use package/inherit.
* gnu/packages/patches/file-CVE-2017-1000249.patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/patches/glibc-memchr-overflow-i686.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)[native-inputs]:
Add the patch conditionally for i686 systems.
* gnu/packages/base.scm (glibc/linux)[native-inputs]: Add the patch
conditionally for i686 systems.
[arguments]: Apply the patch conditionally on i686 systems.
Reported by Sergei Trofimovich <slyfox@inbox.ru>.
* gnu/packages/base.scm (make-ld-wrapper): Change #:guile to default to
GUILE-2.2.
* gnu/packages/commencement.scm (ld-wrapper): Define in terms of
'make-ld-wrapper' such that #:guile-for-build and #:guile are the same.
* gnu/packages/guile.scm (guile-2.0/fixed): Remove.
(guile-2.2)[source]: Switch from tar.lz to tar.xz.
(guile-2.2/fixed): New variable.
* gnu/packages/commencement.scm (guile-final): Use GUILE-2.2/FIXED
instead of GUILE-2.2/FIXED.
(canonical-package): Mention 2.2 instead of 2.0.
Previously the "include" output of BASH-FINAL would refer to
'bootstrap-binaries' via 'Makefile.inc'.
* gnu/packages/bash.scm (bash)[arguments]: In 'move-development-files'
phase, remove absolute file name of 'install' from the 'INSTALL'
variable in 'Makefile.inc'.
* gnu/packages/commencement.scm (bash-final)[arguments]: Pass
#:disallowed-references.
Fixes <http://bugs.gnu.org/24832>.
* gnu/packages/commencement.scm (ld-wrapper-boot0): Change the first
'make-ld-wrapper' argument to "ld-wrapper-boot0"; change #:target to
BOOT-TRIPLET.
Currently 'bash:include' of the final Bash depends on bootstrap stuff.
* build-aux/check-final-inputs-self-contained.scm (final-inputs): Add
clause for 'bash:include'.
* gnu/packages/commencement.scm (bash-final): Add FIXME comment.
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.