Commit graph

152 commits

Author SHA1 Message Date
Pierre Langlois
48b754553a
gnu: glibc-for-bootstrap: Build with GCC 7.
Fixes <https://issues.guix.gnu.org/52066>.

* gnu/packages/make-bootstrap.scm (glibc-for-bootstrap)[native-inputs]:
Add gcc-7.
2021-11-27 14:23:30 +00:00
Ludovic Courtès
b00fbabdf6
gnu: guile: Use 'modify-inputs' where appropriate.
* gnu/packages/guile.scm (guile-3.0)[propagated-inputs]: Use
'modify-inputs'.
(guile-3.0/libgc-7)[propagated-inputs]: Likewise.
(guile-for-guile-emacs)[native-inputs]: Likewise.
* gnu/packages/make-bootstrap.scm (make-guile-static): Likewise.
2021-09-30 00:06:30 +02:00
Ludovic Courtès
da8be73d5b
gnu: guile-static: Disable JIT on GNU/Hurd.
* gnu/packages/make-bootstrap.scm (make-guile-static): Pass
"--disable-jit" when targeting GNU/Hurd.
2021-09-30 00:06:30 +02:00
Ludovic Courtès
191c1992b8
gnu: make-bootstrap: Remove more input labels.
* 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.
2021-09-30 00:06:29 +02:00
Ludovic Courtès
26d31db742
gnu: make-bootstrap: Remove input labels.
* gnu/packages/make-bootstrap.scm (%static-inputs): Remove labels.
(%static-binaries)[arguments]: Special-case 'name' for "bash-static".
(%linux-libre-headers-stripped)[inputs]: Remove label.
(%mes-minimal)[native-inputs]: Remove label.
(tarball-package)[native-inputs]: Remove labels.
[inputs]: Remove.
[arguments]: Rewrite as a gexp.
(%bootstrap-tarballs)[inputs]: Remove labels.
2021-09-30 00:06:29 +02:00
Thiago Jung Bauermann
106181c0a0
gnu: make-bootstrap: Enable tests in static gawk build.
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>
2021-09-28 23:45:01 +02:00
Ludovic Courtès
7d30e6e5c2
gnu: make-bootstrap: Allow compilation of the statically-link gawk.
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.
2021-09-28 23:45:00 +02:00
Ludovic Courtès
08005133ec
gnu: glibc-static: Fix static NSS support.
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.
2021-09-06 13:50:00 +02:00
Ludovic Courtès
da32015db0
gnu: mes-minimal-stripped: Explicitly disallow references.
* gnu/packages/make-bootstrap.scm (%mes-minimal-stripped)[arguments]:
Add #:allowed-references.
2021-07-26 13:24:28 +02:00
Ludovic Courtès
81096caf7d
gnu: mes: Switch to Guile 3.0.
* gnu/packages/mes.scm (nyacc-1.00.2)[inputs]: Change GUILE-2.2 to
GUILE-3.0.
(mes-0.19)[native-inputs]: Likewise.
* gnu/packages/make-bootstrap.scm (%mes-minimal)[native-inputs]:
Likewise.
2021-07-26 13:24:28 +02:00
Ludovic Courtès
114a9f1f80
gnu: mescc-tools: Update to 1.2.0.
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.
2021-07-26 13:24:28 +02:00
Ludovic Courtès
8b627a7701
gnu: mes-minimal: Remove unused variable.
* gnu/packages/make-bootstrap.scm (%mes-minimal): Remove unused
'triplet' variable.
2021-07-26 13:24:23 +02:00
Ludovic Courtès
0e47fcced4
Merge branch 'master' into core-updates 2021-07-18 19:50:01 +02:00
Maxime Devos
637a1e7dcc
utils: Define 'target-hurd?' predicate.
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>
2021-07-14 15:38:03 +02:00
Efraim Flashner
49e2e75ced
gnu: %guile-3.0-static-stripped: Rename to %guile-static-stripped.
* gnu/packages/make-bootstrap.scm (%guile-3.0-static-stripped): Rename
to %guile-static-stripped.
(%guile-bootstrap-tarball): Adjust accordingly.
* gnu/system/linux-initrd.scm (expression->initrd): Use
%guile-static-stripped as default guile.
* doc/guix.texi (initial RAM disk)[expression->initrd]: Adjust
documentation accordingly.
2021-07-08 09:39:05 +03:00
Efraim Flashner
e48cff0965
gnu: make-bootstrap: Use guile-3.0 bootstrap tarball.
* gnu/packages/make-bootstrap.scm (%guile-bootstrap-tarball): Use
guile-3.0.
(%guile-static-stripped): Remove variable.
2021-07-08 09:29:03 +03:00
Efraim Flashner
f819b46acb
gnu: make-bootstrap: Build with gcc-7.
* 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.
2021-07-08 09:28:38 +03:00
Ludovic Courtès
dbacdb8c03
gnu: bootstrap-tarballs: Turn builder into a gexp.
* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[arguments]: Turn
 #:builder into a gexp.
2021-07-05 23:57:20 +02:00
Ludovic Courtès
8740a62b6b
gnu: bootstrap-tarballs: Fix build.
* 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.
2021-07-05 22:18:23 +02:00
Marius Bakke
69b048bf62
gnu: guile-static: Fix build without GMP.
* gnu/packages/make-bootstrap.scm (make-guile-static)[arguments]: Add
"--enable-mini-gmp" to #:configure-flags.
2021-05-22 17:28:37 +02:00
Marius Bakke
986e9025a5
gnu: guile-static: Remove obsolete workaround.
* gnu/packages/make-bootstrap.scm (make-guile-static)[arguments]: Don't
disable JIT on ARMv7.
2021-05-22 17:28:37 +02:00
Efraim Flashner
2aab587f84
Merge remote-tracking branch 'origin/master' into core-updates 2021-03-24 20:50:44 +02:00
Jan (janneke) Nieuwenhuizen
a9d537594d
bootstrap: mescc-tools-static: Base arguments on version 0.5.2.
* gnu/packages/make-bootstrap.scm (%mescc-tools-static)[arguments]: Use
fixed package-arguments of mescc-tools-0.5.2.
2021-03-14 16:43:46 +01:00
Ludovic Courtès
2a3fccf70f
gnu: binutils: Update to 2.35.1.
* gnu/packages/base.scm (binutils): Update to 2.35.1.
[arguments]: Remove #:make-flags.
[properties]: Remove.
(binutils+documentation): Remove.
(binutils-gold): Inherit from BINUTILS.
* gnu/packages/make-bootstrap.scm (%binutils-static)[arguments]:
Remove #:make-flags.
2020-09-20 23:56:30 +02:00
Ludovic Courtès
b2ee53d5ae
gnu: guile-static: Disable JIT on ARMv7.
* gnu/packages/make-bootstrap.scm (make-guile-static): Pass
"--disable-jit" when 'target-arm32?' is true.
2020-06-06 23:28:49 +02:00
Marius Bakke
3ba23f0582
gnu: Add relocatable static Guile 3.0 variant.
* 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.
2020-05-01 22:06:33 +02:00
Marius Bakke
e66bbd4201
gnu: %guile-static-stripped: Rewrite in terms of 'make-guile-static-stripped'.
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.
2020-05-01 22:06:33 +02:00
Marius Bakke
db7c73f53a
gnu: %guile-static: Rewrite in terms of 'make-guile-static'.
The derivation remains unchanged.

* gnu/packages/make-bootstrap.scm (make-guile-static): New procedure.
(%guile-static): Adjust accordingly.
2020-05-01 22:06:33 +02:00
Marius Bakke
313bf502b5
gnu: gcc-static: Make sure #:modules is not overridden by the inherited GCC.
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.
2020-03-28 20:55:03 +01:00
Marius Bakke
aebcbb27bc
gnu: guile-static: Provide a libgc variant with statically built libraries.
* 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.
2020-03-28 08:59:35 +01:00
Jan Nieuwenhuizen
3342a1182b
gnu: make-bootstrap: Use _IOLBF on Guile 2.0 only.
* 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.
2020-03-26 07:43:36 +01:00
Jan Nieuwenhuizen
25bc0f34c6
gnu: bootstrap: gcc-static: Use gcc-5.
* 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.
2020-03-24 23:31:34 +01:00
Jan Nieuwenhuizen
eef44fea17
Revert "gnu: guile-static-stripped: Update to 2.2."
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.
2020-03-24 23:31:34 +01:00
Jan Nieuwenhuizen
6340afee28
gnu: commencement: %bootstrap-tarballs: Remove %bootstrap-binaries-tarball.
* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[i686-linux,
x86_64-linux]: Remove %bootstrap-binaries-tarball.
* gnu/packages/commencement.scm (file-boot0): Drop bzlib dependency.
2020-02-17 23:21:03 +01:00
Marius Bakke
5d8a4354ac
gnu: isl: Move the static library to a separate output.
* gnu/packages/gcc.scm (isl)[outputs, arguments]: New fields.
* gnu/packages/make-bootstrap.scm (%gcc-static)[inputs]: Add ISL:STATIC.
2020-02-15 22:02:56 +01:00
Marius Bakke
3e3a37b2bc
gnu: binutils: Update to 2.34.
* gnu/packages/base.scm (binutils): Update to 2.34.
[arguments]: Add #:make-flags.
[properties]: New field.
(binutils+documentation): New public variable.
* gnu/packages/make-bootstrap.scm (%binutils-static)[arguments]: Inherit
 #:make-flags.
2020-02-15 22:02:55 +01:00
Ludovic Courtès
2073b55e6b
gnu: gcc: Switch back to using 'C_INCLUDE_PATH' instead of 'CPATH'.
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.
2020-02-06 18:47:15 +01:00
Mathieu Othacehe
8bd2b15b06
gnu: make-bootstrap: Add cross-libc:static to the inputs.
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".
2020-01-16 10:15:12 +01:00
Efraim Flashner
b7fd304e28
gnu: Remove static-bash-for-bootstrap.
* 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.
2019-11-28 15:20:37 +02:00
Ludovic Courtès
929c365ad0
gnu: make-bootstrap: Slightly clarify 'package-with-relocatable-glibc'.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)
[cross-bootstrap-libc]: Take an explicit 'target' argument.  Remove
redundant 'parameterize' form.
[inputs, native-inputs]: Adjust accordingly.
2019-11-09 23:04:14 +01:00
Ludovic Courtès
0c72a719ef
gnu: make-bootstrap: Memoize GCC variant.
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.
2019-11-09 23:04:14 +01:00
Ludovic Courtès
a273796ce5
gnu: make-bootstrap: Memoize 'glibc-for-bootstrap'.
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'.
2019-10-21 18:16:16 +02:00
Jan Nieuwenhuizen
737c83f0ff
bootstrap: bash: Update for bash-5.0.
* 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.
2019-09-29 17:47:18 +02:00
Jan Nieuwenhuizen
bffd8fcd31
bootstrap: mes: Add mes-0.19.
* gnu/packages/mes.scm (mes-0.19): New variable.
(mes): Inherit it.
* gnu/packages/make-bootstrap.scm (%mes-minimal): Likewise.
2019-09-29 17:47:18 +02:00
Jan Nieuwenhuizen
066cb9bab2
bootstrap: mescc-tools: Use mescc-tools-0.5.2, mescc-tools.
* gnu/packages/mes.scm (mescc-tools-0.5.2): New variable; rename from
mescc-tools.
(mescc-tools): Rename from mescc-tools-0.6.1.  Fix build.
* gnu/packages/make-bootstrap.scm (%mescc-tools-static): Inherit fixed
mescc-tools-0.5.2.
2019-09-29 17:47:18 +02:00
Mark H Weaver
0481289cbc
Merge branch 'master' into core-updates 2019-08-29 17:19:18 -04:00
Mark H Weaver
9e6256ba0f
bootstrap: guile-static: Disable parallel build.
* gnu/packages/make-bootstrap.scm (%guile-static)[arguments]:
Override #:parallel-build? to be #f.
2019-08-15 14:46:23 -04:00
Mark H Weaver
fe507d7a3d
bootstrap: Build bootstrap bash deterministically.
* 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'.
2019-08-15 14:46:20 -04:00
Mark H Weaver
6744cef5b0
bootstrap: Build the new reduced binary seed bootstrap on x86.
* 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.
2019-08-15 14:46:18 -04:00
Jan Nieuwenhuizen
ed050b1cf5
bootstrap: Add mes-minimal-stripped-tarball.
* gnu/packages/make-bootstrap.scm (%mes-minimal, %mes-minimal-stripped,
%mes-bootstrap-tarball): New variable.

Modified-By: Mark H Weaver <mhw@netris.org>
2019-08-15 14:46:16 -04:00