* gnu/packages/base.scm (make-gcc-libc): Make public.
* gnu/packages/commencement.scm (make-gcc-toolchain): Add 'libc'
optional argument to specify using a non-default glibc package, also
make public.
The configure script will warn that "make indent" is unavailable, but
apart from that this input is not actually used for the build process.
* gnu/packages/flex.scm (flex)[inputs]: Remove INDENT.
* gnu/packages/commencement.scm (flex-boot0)[inputs]: Likewise.
While at it, remove useless (and ...) indirections, because the procedures
never return #f anyway: instead they would raise an exception upon failure.
* gnu/packages/commencement.scm (mes-boot, tcc-boot0, tcc-boot,
diffutils-mesboot, binutils-mesboot0, gcc-core-mesboot, gcc-mesboot0,
glibc-headers-mesboot, glibc-mesboot, gnu-make-boot0): Return #t from phases
and remove (and ...) blocks.
Until now the 'version' field would match
'gcc-mesboot1-wrapper' ("4.7.4") instead of that of
'gcc-mesboot' ("4.9.4").
* gnu/packages/commencement.scm (gcc-mesboot-wrapper)[version]: New
field.
* gnu/packages/commencement.scm (%bootstrap-inputs+toolchain): On
i686-linux and x86_64-linux, remove "bootstrap-mescc-tools" and "mes"
from %BOOTSTRAP-INPUTS.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)
[arguments]: Remove 'enable-obsolete-rpc' configure flag.
This brings this glibc package in line with the other glibc packages
which are also built without the pre-2.14 glibc RPC functions. These
functions cause build failures on armhf-linux and aarch64-linux.
* gnu/packages/cross-base.scm (%gcc-cross-include-paths): Remove
CROSS_C_INCLUDE_PATH & co in favor of CROSS_CPATH.
* gnu/build/cross-toolchain.scm (%gcc-cross-include-paths): Likewise.
(cross-gcc-build-phases): Set CROSS_C_INCLUDE_PATH and
CROSS_CPLUS_INCLUDE_PATH when building the cross GCC.
* gnu/packages/commencement.scm (libstdc++): Add
"--disable-libstdcxx-dual-abi" to #:configure-flags.
(gcc-boot0)[arguments]: Add "--disable-libmpx"
to #:configure-flags.
(gcc-final): Add phase to set C_INCLUDE_PATH and CPLUS_INCLUDE_PATH before
building GCC.
(gcc-toolchain-5): Use MAKE-GCC-TOOLCHAIN.
(gcc-toolchain-7): Change to GCC-TOOLCHAIN.
* gnu/packages/gcc.scm (gcc): Change from GCC-5 to GCC-7.
(gfortran): Change to GFORTRAN-7.
(gcc-objc): Change to GCC-OBJC-7.
(gcc-objc++): Change to GCC-OBJC++-7.
* gnu/packages/rust.scm (rust-1.19.0)[native-search-paths]: Change from
C_INCLUDE_PATH & co to CPATH.
This is a followup to e47c69f226 and a
repetition of f00b85ff8d.
* gnu/packages/commencement.scm (file-boot0): Use 'inherit' instead of
'package/inherit'.
* gnu/packages/patches/file-CVE-2018-10360.patch: New file.
* gnu/packages/file.scm (file)[replacement]: New field.
(file/fixed): New variable.
* gnu/packages/commencement.scm (file-boot0): Use 'package/inherit' to
receive security fixes.
* gnu/local.mk (dist_patch_DATA): Register it.
GLIBC-FINAL already propagates linux-libre-headers, so drop the bootstrap input.
* gnu/packages/commencement.scm (%boot2-inputs): Remove
%BOOTSTRAP-LINUX-LIBRE-HEADERS.
* gnu/packages/bootstrap.scm (%tinycc-seed): Remove.
(%bootstrap-inputs): Use %bootstrap-mes instead of %mes-seed and %tinycc-seed.
* gnu/packages/commencement.scm (mescc-tools-boot, mes-boot, tcc-boot0): Build
with %bootstrap-mes instead of %mes-seed and %tinycc-seed.
This update is a preparation for the %bootstrap-mes package; due to some small
problems it fails to build with plain mes-0.18. mes-boot0 stays at 0.18 only
to avoid another rebuild world.
%bootstrap-mes brings the building and packaging the Mes bootstrap seeds from
manual operation into Guix. We will bump mes and mes-boot0 to a future 0.18.1
or 0.19 and regenerate %bootstrap-mes in a nex iteration.
08f04f55 build: Oops, remove stray lib/linux/x86_64-mes/crt1.
33f37f27 build: x86_64 bootstrap build fixes and workaround.
4ae2a111 doc: Release update.
5277669b mescc: Oops, delete wrong line of assembly.
44cc97a8 admin: Release update.
* gnu/packages/mes.scm (mes): Update to 0.18.0-08f04f55.
* gnu/packages/commencement.scm (mes-boot0): Stay at 0.18.0.
* gnu/packages/commencement.scm (mescc-tools-boot): Update to 0.5.2.
* gnu/packages/patches/mescc-tools-boot.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/bootstrap.scm (%bootstrap-inputs): Replace %bootstrap-libc,
%bootstrap-gcc, and %bootstrap-binutils with Mes seeds for x86_64 too.
* gnu/packages/commencement.scm (tcc-boot0, tcc-boot, gcc-mesboot1,
gcc-mesboot1-wrapper, m4-mesboot, %bootstrap-inputs+toolchain,
libstdc++-boot0, gcc-boot0, bison-boot0): For x86_64-linux, use i686-linux
glibc-dynamic-linker and Mes bootstrap settings.
(gcc-boot0-intermediate-wrapped): New variable, extract from
static-bash-for-glibc.
(static-bash-for-glibc): Use it.
(gcc-final): Copy gmp&co phase from gcc-boot0, inherit other arguments
from gcc; avoid i686-linux impersonation from gcc-boot0.
* doc/guix.texi (Bootstrapping, Reduced Binary Seed Bootstrap): Note
x86_64-linux also as Reduced Binary Seed bootstrap.
* gnu/packages/commencement.scm (diffutils-boot0, findutils-boot0, perl-boot0,
bison-boot0, flex-boot0, texinfo-boot0, static-bash-for-glibc, gettext-boot0,
bash-final, guile-final, glibc-utf8-locales-final, gnu-make-final,
coreutils-final, grep-final, sed-final, %final-inputs): Use thunk for inputs
in package-with-explicit-inputs. This makes --system=i686-linux behave
identical to a native x86 build and prepares for Mes bootstrap.
(ld-wrapper-boot0, ld-wrapper-boot3): Change to procedure. Explicitly
add #:guile-for-build. Update users.
* gnu/packages/commencement.scm (%bootstrap-inputs+toolchain): : New procedure
replacing %bootstrap-inputs to prepare for Mes bootstrap. Update users.
* tests/union.scm (%bootstrap-inputs): New variable: set to
%bootstrap-inputs+toolchain.