* gnu/packages/make-bootstrap.scm (%binutils-static-stripped)[inputs]:
Remove.
[arguments]: Turn #:builder into a gexp.
(%mes-minimal-stripped)[inputs]: Remove.
[arguments]: Turn #:builder into a gexp.
(make-guile-static-stripped): Likewise.
The tests were disabled because gawk’s extension mechanism doesn’t work
when it’s built statically, and some tests fail because of that.
Another alternative is to disable the extension mechanism during
configuration time, which causes the testsuite to pass again.
* gnu/packages/make-bootstrap.scm (%static-inputs)[gawk]<#:tests?>: Remove.
<#:configure-flags>: Add.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Previously, linking would fail due to the '-fno-common' default in GCC 10:
ld: /gnu/store/…-glibc-2.33-static/lib/libc.a(getopt.o): in function `_getopt_internal_r':
(.text+0x6e0): multiple definition of `_getopt_internal_r'; support/libsupport.a(getopt.o):/tmp/guix-build-gawk-5.1.0.drv-0/gawk-5.1.0/support/getopt.c:404: first defined here
ld: /gnu/store/…-glibc-2.33-static/lib/libc.a(getopt.o): in function `_getopt_internal':
Reported by Thiago Jung Bauermann <bauermann@kolabnow.com>.
* gnu/packages/make-bootstrap.scm (%static-inputs) <gawk>: Remove
getopt.o from libsupport.a.
Support for static NSS broke in glibc 2.33, meaning that 'getpw' &
co. would always fail. This patch backports the upstream fix to
reinstate it.
Reported by Marius Bakke.
* gnu/packages/patches/glibc-static-nss.patch: New file.
* gnu/packages/make-bootstrap.scm (glibc-for-bootstrap): Use it.
* gnu/local.mk (dist_patch_DATA): Add it.
Fixes <https://issues.guix.gnu.org/49515>.
* gnu/packages/mes.scm (mescc-tools-0.5.2): Remove.
(mescc-tools): Update to 1.2.0. Use 'git-fetch'.
* gnu/packages/make-bootstrap.scm (%mescc-tools-static): Inherit from
MESCC-TOOLS rather than MESCC-TOOLS-0.5.2.
(%mes-minimal): Inherit from MES rather than MES-0.19.
[arguments]: Remove 'delete-file-recursively' for /mes/scaffold.
It behaves similarily to the other target-...? procedures.
The usage of hurd-triplet? / target-hurd? in libgc appears
incorrect to me, as (%current-system) is normally never false.
* gnu/packages/hurd.scm (hurd-triplet?): Move to ...
* guix/util.scm (target-hurd?): ... here, let its argument
default to (%current-target-system) or (%current-system),
and write a docstring.
* gnu/packages/hurd.scm
(hurd-target?, hurd-system?): Use target-hurd? instead of
hurd-triplet?.
* gnu/packages/bdw-gc.scm (libgc): Likewise.
* gnu/packages/cross-base.scm
(cross-libc)[arguments]<#:configure-flags>: Likewise.
(cross-libc)[arguments]<#:phases>: Likewise.
(cross-libc)[arguments]<#:native-inputs>: Likewise.
* gnu/packages/make-boostrap.scm
(%glibc-stripped)[inputs]: Likewise.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu/packages/make-bootstrap.scm (gcc-for-bootstrap)[Inherit]: Inherit
from gcc-7.
[inputs]: Use package-inputs from gcc-7.
(package-with-relocatable-glibc)[native-inputs]: Have cross-gcc use
gcc-7.
(%gcc-static)[inherit]: Inherit from gcc-7.
[arguments]: Use package-arguments from gcc-7.
[inputs]: Replace isl-0.18 with isl. Use package-inputs from gcc-7.
[native-inputs]: Use package-native-inputs from gcc-7.
(%gcc-stripped)[inherit]: Inherit from gcc-7.
* 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>