* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[arguments]: Make
'use-modules' the first expression. Failing that, 'match' would not be
properly expanded when running on Guile 3.0.
* gnu/packages/patches/guile-2.2-default-utf8.patch: New file, extracted from
commit 2acfe022a7.
* gnu/packages/patches/guile-3.0-linux-syscalls.patch,
gnu/packages/patches/guile-3.0-relocatable.patch: New files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly. Move all Guile patches
together while at it.
* gnu/packages/make-bootstrap.scm (%guile-3.0-static-stripped): New public variable.
The derivation changes slightly, but the end result is bit-identical.
* gnu/packages/make-bootstrap.scm (make-guile-static-stripped): New procedure.
(%guile-static-stripped): Adjust accordingly.
This fixes a regression introduced by 56c833ea28
and 25bc0f34c6 where #:modules became ineffective.
* gnu/packages/make-bootstrap.scm (%gcc-static)[arguments]: Prepend the
required modules to those inherited from GCC-5. While at it, do not splice in
the inherited arguments.
* gnu/packages/bdw-gc.scm (libgc/static-libs): New public variable.
* gnu/packages/make-bootstrap.scm (%guile-static)[propagated-inputs]: Change
from LIBGC to LIBGC/STATIC-LIBS.
* gnu/packages/make-bootstrap.scm (%binutils-static-stripped, %gcc-stripped,
%bootstrap-tarballs)[arguments]: Wrap use of '_IOLBF' in 'cond-expand' and use
'line instead on Guile > 2.0.
* gnu/packages/make-bootstrap.scm (gcc-static): Use gcc-5. This fixes
building libstdc++-boot0 with a newly built %bootstrap-gcc.
(%gcc-stripped): Likewise.
(gcc-for-bootstrap): Likewise.
* gnu/packages/patches/gcc-5-hurd.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gcc.scm (gcc-5): Use it.
As discussed on IRC, keeping bootstrap Guile on 2.0 simplifies adding new
architectures and removes the need for parameterizing
gnu/packages/bootstrap.scm.
This reverts commit 2acfe022a7.
* gnu/packages/make-bootstrap.scm (%guile-static): Revert to guile-2.0. Retain
build recipe.
* gnu/packages/patches/guile-relocatable.patch: Update for Guile 2.0.14.
Fixes <https://bugs.gnu.org/30756>.
Initially reported by Julien Lepiller <julien@lepiller.eu>.
* gnu/packages/base.scm (make-gcc-libc): Remove
'treat-glibc-as-system-header' phase from 'arguments'.
* gnu/packages/commencement.scm (gcc-final): Likewise.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Add "include/c++" to
'CPLUS_INCLUDE_PATH'.
(gcc-6)[native-search-paths]: Remove.
* gnu/packages/make-bootstrap.scm (gcc-for-bootstrap): Remove
'native-search-paths' and 'arguments'.
* gnu/packages/patches/python-2.7-search-paths.patch,
gnu/packages/patches/python-3-search-paths.patch: Replace "CPATH" with
"C_INCLUDE_PATH".
* guix/build-system/cmake.scm (lower): When not cross-compiling, move
INPUTS from the 'host-inputs' field to the 'build-inputs' field of the
bag, right after NATIVE-INPUTS.
* guix/build-system/glib-or-gtk.scm (lower): Likewise.
* guix/build-system/gnu.scm (lower): Likewise.
* guix/build-system/meson.scm (lower): Likewise.
This is a follow-up of 4610ab7c9a. 'getpw' & co
fail with a cross-compiled statically-linked guile.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)[inputs]:
Add "cross-libc:static".
* gnu/packages/make-bootstrap.scm (static-bash-for-bootstrap): Remove
variable.
(%static-inputs): Let gawk use static-bash if %current-target-system.
Use static-bash.
This reduces the number of nodes in "guix graph guile-static-stripped"
from 165 to 150. Likewise, the hit rate in the 'add-data-to-store'
cache for "guix build guile-static-stripped -nd" goes from 24% to 12%.
* gnu/packages/make-bootstrap.scm (gcc-for-bootstrap): New procedure.
(package-with-relocatable-glibc): Use it.
This reduces the graph shown by:
guix graph -e '(@@ (gnu packages make-bootstrap) %gcc-static)'
from 258 nodes (2398 edges) to 179 nodes (1872 edges).
* gnu/packages/make-bootstrap.scm (glibc-for-bootstrap): Turn into an
'mlambdaq'.
(package-with-relocatable-glibc, %glibc-stripped): Explicitly pass an
argument to 'glibc-for-bootstrap'.
* gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch: Remove.
* gnu/packages/patches/bash-reproducible-linux-pgrp-pipe.patch: New file.
* gnu/packages/make-bootstrap.scm (static-bash-for-bootstrap): Update to use
it.
* gnu/local.mk (dist_patch_DATA): Likewise.
* gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/make-bootstrap.scm (static-bash-for-bootstrap): New variable.
(%static-inputs): Use 'static-bash-for-bootstrap' instead of 'static-bash'.
* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[inputs]: On i686-linux
and x86_64-linux, substitute linux-libre-headers, Mes, and MesCC, in place of
GCC, binutils, and glibc.
* gnu/packages/make-bootstrap.scm (%mes-minimal, %mes-minimal-stripped,
%mes-bootstrap-tarball): New variable.
Modified-By: Mark H Weaver <mhw@netris.org>
* gnu/packages/make-bootstrap.scm (%mescc-tools-static,
%mescc-tools-static-stripped, %mescc-tools-bootstrap-tarball): New variable.
Modified-By: Mark H Weaver <mhw@netris.org>
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)[native-inputs]:
Add SEARCH-PATHS to CROSS-GCC, and NATIVE-SEARCH-PATHS to the native GCC.
These workarounds were removed in cf82643647 and
218eb6e611, but were needed for %BOOTSTRAP-TARBALLS.
* gnu/packages/make-bootstrap.scm (%static-inputs)[coreutils, tar]: Add
<#:configure-flags>.
This is a follow-up to commit 01e8263feb.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc): Add the
GCC7 'treat-glibc-as-system-header' build phase.
These would needlessly pull in linux-libre-headers when running
"guix build bootstrap-tarballs --target=i586-pc-gnu".
* gnu/packages/make-bootstrap.scm (%glibc-stripped)[native-inputs]
[propagated-inputs]: New fields.
* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs): Update to use
%mescc-tools-bootstrap-tarball, %mes-bootstrap-tarball,
%linux-libre-headers-bootstrap-tarball.
%mes-minimal introduces a Mes for bootstrap that does not depend on graphviz,
perl, and texinfo and thus does not build any documentation. This removes
~100 dependencies from bootstrap-tarballs.
* gnu/packages/make-bootstrap.scm (%mes-minimal): New variable.
(%mes-minmal-stripped): Rename from %mes-stripped.
(%mes-bootstrap-tarball): Update.