144 Commits

Author SHA1 Message Date
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 2acfe022a740f79b593348cc6362cc4ee8f33bb4.
* 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 56c833ea287f8f6d3c72f8bddc314960c0164d64
and 25bc0f34c6c059394f546f29a203c2cb9b7cdcf6 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 2acfe022a740f79b593348cc6362cc4ee8f33bb4.

* 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 4610ab7c9a5327df0d475262817bc081a5891aa8. '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
Jan Nieuwenhuizen
fb925c7257
bootstrap: Add mescc-tools-static-stripped-tarball.
* 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>
2019-08-15 14:46:13 -04:00
Jan Nieuwenhuizen
5b8c6abcfc
gnu: Add linux-libre-headers-bootstrap-tarball.
* gnu/packages/make-bootstrap.scm (%linux-libre-headers-stripped): New variable.
(%linux-libre-headers-bootstrap-tarball): New variable.
2019-08-15 14:46:10 -04:00
Marius Bakke
f16a866f74
gnu: bootstrap-tarballs: Don't include the native Mes when cross-compiling.
* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[inputs]: Check
%CURRENT-TARGET-SYSTEM when deciding whether to use the reduced binary seeds.
2019-07-02 01:06:31 +02:00
Marius Bakke
25a54eb04d
gnu: make-bootstrap: Adjust for GCC 7.
* 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.
2019-07-02 01:06:31 +02:00
Marius Bakke
7c836efacc
gnu: make-bootstrap: Restore cross-compilation workarounds.
These workarounds were removed in cf8264364761857ca3550398369a0f20d7b0d512 and
218eb6e611c0a238802bf9cb5742d37cea0bb012, but were needed for %BOOTSTRAP-TARBALLS.

* gnu/packages/make-bootstrap.scm (%static-inputs)[coreutils, tar]: Add
<#:configure-flags>.
2019-07-02 01:06:30 +02:00
Marius Bakke
e050aa1990
gnu: make-bootstrap: Adjust for GCC7.
This is a follow-up to commit 01e8263febb9634564b4b73af49b81a36567a11b.

* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc): Add the
GCC7 'treat-glibc-as-system-header' build phase.
2019-02-28 19:15:02 +01:00
Ludovic Courtès
86974d8a92
Merge branch 'master' into core-updates 2018-12-20 18:39:04 +01:00
Jan Nieuwenhuizen
20dd94b82f
bootstrap: Merge mes-minimal into mes-minimal-stripped.
* gnu/packages/make-bootstrap.scm (%mes-minimal): Remove.
(%mes-minimal-stripped): Configure using --mes.  Strip installation.
2018-12-16 22:49:10 +01:00