Commit graph

113 commits

Author SHA1 Message Date
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 cf82643647 and
218eb6e611, 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 01e8263feb.

* 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
Jan Nieuwenhuizen
efa1ea20e6
bootstrap: mes-minimal-stripped: Do not strip bin.
* gnu/packages/make-bootstrap.scm (%mes-minimal-stripped): Do not strip bin.
2018-12-16 20:02:09 +01:00
Ludovic Courtès
4dd1edc7ae
gnu: glibc-stripped: Empty 'native-inputs' and 'propagated-inputs'.
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.
2018-12-14 23:55:55 +01:00
Marius Bakke
5b2da2a659
gnu: xz: Move liblzma.a to separate output.
* gnu/packages/compression.scm (xz)[arguments, outputs]: New fields.
* gnu/packages/make-bootstrap.scm (%static-inputs)[xz]: Don't inherit outputs.
2018-12-12 20:10:56 +01:00
Jan Nieuwenhuizen
da91723cc5
bootstrap: Force i686-linux for bootstrap-tarballs.
* gnu/packages/make-bootstrap.scm (%mescc-tools-static): Force i686-linux for
bootstrap-tarballs.
(%mes-minimal): Likewise.  Remove i686-linux cross-compiler dependency.
* gnu/packages/commencement.scm (mes-boot): Support strict i686-linux build on
x86_64.
2018-11-24 08:17:20 +01:00
Jan Nieuwenhuizen
d9ed0a4630
bootstrap: Update %bootstrap-tarballs.
* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs): Update to use
%mescc-tools-bootstrap-tarball, %mes-bootstrap-tarball,
%linux-libre-headers-bootstrap-tarball.
2018-11-18 16:45:03 +01:00
Jan Nieuwenhuizen
a647da364a
bootstrap: Add %mes-minimal.
%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.
2018-11-18 16:38:11 +01:00
Jan Nieuwenhuizen
fae3c0d953
bootstrap: Add mescc-tools-static, mescc-tools-static-tarball.
* gnu/packages/make-bootstrap.scm (%mescc-tools-static,
%mescc-tools-bootstrap-tarball): New variable.
2018-11-18 08:08:17 +01:00
Jan Nieuwenhuizen
35dcf85157
bootstrap: Add %mes-stripped, %mes-bootstrap-tarball.
* gnu/packages/make-bootstrap.scm (%mes-stripped): New variable.
(%mes-bootstrap-tarball): New variable.
* gnu/packages/mes.scm: Oops, remove stray (gnu packages commencement) module
include.
2018-10-21 23:26:21 +02:00
Jan Nieuwenhuizen
d536c39e54
bootstrap: Replace GNU toolchain seeds with Mes for i686-linux.
* gnu/packages/bootstrap.scm (%bootstrap-inputs)[i686-linux]: Replace
%bootstrap-gcc, %bootstrap-binutils, %bootstrap-glibc with %mescc-tools-seed,
%mes-seed, %srfi-43 and %tinycc-seed.
* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[i686-linux]: Replace
gcc-tarball, binutils-tarball, glibc-tarball with %mescc-tools-seed,
%mes-seed, %srfi-43 and %tinycc-seed.
* gnu/packages/commencement.scm (%bootstrap-inputs+toolchain)[i686-linux]: Add
glibc-mesboot, binutils-mesboot, gcc-wrapper, gcc-mesboot.
(file-boot0)[i686-linux]: Disable strip-binaries?, validate-runpath?.
(libstdc++-boot0)[i686-linux]: Add libtool install workarourd: copy
libstdc++.so.0.0.20 from gcc-mesboot.
(gcc-boot0)[i686-linux]: Add libtool install workaround: touch
libcc1.so.0.0.0, libcc1plugin.so.0.0.0.
(perl-boot0): Disable validate-runpath?.
(bison-boot0)[i686-linux]: Do not use ranlib -D.
2018-09-23 09:46:26 +02:00
Jan Nieuwenhuizen
990ee30164
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.
2018-09-23 09:46:25 +02:00
Marius Bakke
3f35e0da86
gnu: bootstrap-tarballs: Adjust to static outputs of zlib and libunistring.
* gnu/packages/make-bootstrap.scm (%gcc-static)[inputs]: Add ZLIB:STATIC.
(%guile-static)[inputs]: Add LIBUNISTRING:STATIC.
2018-08-21 17:24:26 +02:00
Marius Bakke
3359a70834
gnu: make-bootstrap: Inherit tar arguments in %static-inputs.
* gnu/packages/make-bootstrap.scm (%static-inputs)[tar]: Use
SUBSTITUTE-KEYWORD-ARGUMENTS so #:make-flags are inherited.
2018-04-05 23:42:26 +02:00
Mark H Weaver
647888845c
Merge branch 'master' into core-updates 2018-03-20 00:49:05 -04:00
Tobias Geerinckx-Rice
c695fb769c
gnu: Fix common unquote typos.
It's easy to mistype ‘("foo" foo)’ as ‘("foo", foo)’ (which also works).
Fix such typos for the proper edification of our young.

* gnu/packages/android.scm: Move unquotes to their operands.
* gnu/packages/bootloaders.scm: Likewise.
* gnu/packages/build-tools.scm: Likewise.
* gnu/packages/chemistry.scm: Likewise.
* gnu/packages/compression.scm: Likewise.
* gnu/packages/connman.scm: Likewise.
* gnu/packages/django.scm: Likewise.
* gnu/packages/emulators.scm: Likewise.
* gnu/packages/engineering.scm: Likewise.
* gnu/packages/file-systems.scm: Likewise.
* gnu/packages/freedesktop.scm: Likewise.
* gnu/packages/games.scm: Likewise.
* gnu/packages/gimp.scm: Likewise.
* gnu/packages/gl.scm: Likewise.
* gnu/packages/gnome.scm: Likewise.
* gnu/packages/graphics.scm: Likewise.
* gnu/packages/haskell.scm: Likewise.
* gnu/packages/irc.scm: Likewise.
* gnu/packages/julia.scm: Likewise.
* gnu/packages/kde-frameworks.scm: Likewise.
* gnu/packages/linux.scm: Likewise.
* gnu/packages/lua.scm: Likewise.
* gnu/packages/mail.scm: Likewise.
* gnu/packages/make-bootstrap.scm: Likewise.
* gnu/packages/messaging.scm: Likewise.
* gnu/packages/music.scm: Likewise.
* gnu/packages/networking.scm: Likewise.
* gnu/packages/ocaml.scm: Likewise.
* gnu/packages/perl.scm: Likewise.
* gnu/packages/python.scm: Likewise.
* gnu/packages/python-web.scm: Likewise.
* gnu/packages/qt.scm: Likewise.
* gnu/packages/ratpoison.scm: Likewise.
* gnu/packages/sdl.scm: Likewise.
* gnu/packages/sml.scm: Likewise.
* gnu/packages/terminals.scm: Likewise.
* gnu/packages/text-editors.scm: Likewise.
* gnu/packages/video.scm: Likewise.
* gnu/packages/virtualization.scm: Likewise.
* gnu/packages/vulkan.scm: Likewise.
* gnu/packages/wget.scm: Likewise.
* gnu/packages/wine.scm: Likewise.
* gnu/packages/wm.scm: Likewise.
* gnu/packages/xdisorg.scm: Likewise.
* gnu/packages/xml.scm: Likewise.
* gnu/packages/xorg.scm: Likewise.
2018-03-17 16:37:27 +01:00
Mark H Weaver
d1c86620f3
gnu: make-bootstrap: tarball-package: Use invoke instead of system*.
* gnu/packages/make-bootstrap.scm (tarball-package)[arguments]: Use invoke.
The builder always returns #t.
2018-03-16 06:44:26 -04:00
Mark H Weaver
1a83e2a286
gnu: guile-static-stripped: Use invoke instead of system*.
* gnu/packages/make-bootstrap.scm (guile-static-stripped)[arguments]: Use
invoke and remove vestigial plumbing.
2018-03-16 06:44:24 -04:00
Mark H Weaver
c2af3b0725
gnu: gcc-stripped: Use invoke instead of system*.
* gnu/packages/make-bootstrap.scm (gcc-stripped)[arguments]: Use invoke.  All
phases return #t.
2018-03-16 06:44:22 -04:00
Ricardo Wurmus
8c72ed923d
Merge branch 'master' into core-updates 2018-03-14 17:37:20 +01:00
Ludovic Courtès
63e48300d1
gnu: guile-static-stripped: Remove dependency on bash-minimal.
Previously guile-static-stripped, which is embedded in the initrd, would
depend on 'bash-minimal' and 'glibc'; the closure size was 77 MiB.  Now
the closure size is down to 45.7 MiB.

Reported by Danny Milosavljevic <dannym@scratchpost.org> in
<https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00505.html>.

* gnu/packages/make-bootstrap.scm (%guile-static): Remove the
'pre-configure' phase.
(%guile-static-stripped)[arguments]: Add #:allowed-references.
2018-02-28 22:47:48 +01:00
Ludovic Courtès
29d37e999c
gnu: make-bootstrap: Build grep without PCRE support.
Partly fixes <https://bugs.gnu.org/24841>.
Reported by Chris Marusich <cmmarusich@gmail.com>.

This fixes cross-compilation of the statically-linked grep.

* gnu/packages/make-bootstrap.scm (%static-inputs): Add 'inputs' field
for grep.
2018-02-28 00:33:48 +01:00
Tobias Geerinckx-Rice
edbce464b9
gnu: make-bootstrap: Update phase style.
* gnu/packages/make-bootstrap.scm (%static-inputs): Use MODIFY-PHASES
syntax and end phases with #t.
(%binutils-static, %gcc-static)[arguments]: Likewise.
2018-02-20 16:06:10 +01:00
Ludovic Courtès
4610ab7c9a
gnu: make-bootstrap: Add libc:static to the inputs.
Fixes use of 'getpwnam' & co. from the statically-linked guile in the
initrd, as reported by Leo Famulari <leo@famulari.name> at
<https://lists.gnu.org/archive/html/guix-devel/2018-01/msg00061.html>.

* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)[native-inputs]:
Add "libc:static".
2018-01-10 10:05:56 +01:00
Ludovic Courtès
c99a64e15f
gnu: guile-static: Reuse the existing phases.
This is a followup to 33c3a214a4.

* gnu/packages/make-bootstrap.scm (%guile-static)[arguments]: Use
'substitute-keyword-arguments'.  Honor the existing phases.
2017-12-31 01:20:30 +01:00
Ludovic Courtès
2acfe022a7
gnu: guile-static-stripped: Update to 2.2.
* gnu/packages/make-bootstrap.scm (%guile-static): Replace GUILE-2.0
with GUILE-2.2.  Use "guile-2.2-default-utf8.patch" instead of
"guile-default-utf8.patch".
* gnu/packages/patches/guile-2.2-default-utf8.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
2017-07-18 15:31:12 +02:00
Ludovic Courtès
d5ec5ed719
packages: Mark 'replacement' as an "innate" field.
Suggested by Mark H Weaver
at <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00355.html>.

* guix/packages.scm (<package>)[replacement]: Mark as "innate".
* gnu/packages/base.scm (glibc-2.25-patched, glibc-2.24)
(glibc-2.23, glibc-2.22, glibc-2.21, glibc-locales): Remove
'replacement' field, which was set to #f.
* gnu/packages/commencement.scm (perl-boot0): Likewise.
* gnu/packages/fontutils.scm (graphite2/fixed): Likewise.
* gnu/packages/ghostscript.scm (ghostscript/fixed): Likewise.
* gnu/packages/gnupg.scm (libgcrypt-1.7.8): Likewise.
* gnu/packages/guile.scm (guile-2.0/fixed, guile-2.2): Likewise.
* gnu/packages/icu4c.scm (icu4c/fixed): Likewise.
* gnu/packages/image.scm (libpng-apng): Likewise.
* gnu/packages/make-bootstrap.scm (%guile-static): Likewise.
* gnu/packages/pcre.scm (pcre/fixed): Likewise.
* gnu/packages/perl.scm (perl/fixed): Likewise.
* gnu/packages/ruby.scm (ruby-2.3, ruby-2.2, ruby-2.1)
(ruby-1.8): Likewise.
* gnu/packages/tls.scm (gnutls-3.5.13, gnutls/guile-2.2): Likewise.
* gnu/packages/xml.scm (expat-2.2.1): Likewise.
2017-07-03 23:51:22 +02:00
Mark H Weaver
e0775d2a01
gnu: Fix another call to cross-gcc.
This is a followup to commit 7b3318e34f.

* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)
[native-inputs]: Fix 'cross-gcc' call.
* gnu/packages/cross-base.scm: Fix example 'cross-gcc' call in a comment.
2017-05-26 04:05:21 -04:00
Marius Bakke
84157bb8bf
Merge branch 'master' into core-updates
Most conflicts are from 6fd52309b8.
2017-03-30 22:59:53 +02:00
Tobias Geerinckx-Rice
6fd52309b8
gnu: Use HTTPS for almost all gnu.org HOME-PAGEs.
All HTTP gnu.org (and supported subdomain) HOME-PAGEs changed to HTTPS.
2017-03-30 01:30:16 +02:00
Efraim Flashner
b05fa64fcf
gnu: %static-inputs: Use 'grep' without custom phase.
This reverts commit 1063d325ea for during
creation of the bootstrap-binaries.

* gnu/packages/make-bootstrap.scm (%static-inputs): Use a custom 'grep'
without the absolute path name in fgrep/egrep.
2017-02-17 12:45:31 +02:00
Leo Famulari
74288230ea
Merge branch 'master' into core-updates 2017-01-06 17:14:41 -05:00
Carlos Sánchez de La Lama
fc649d0aad
gnu: gcc: Adjust for PowerPC.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Add powerpc specific
substitutions for dynamic linker and start files locations in
'pre-configure' phase.
* gnu/packages/make-bootstrap.scm (%gcc-static)[arguments]: Add
"gcc/config/rs6000/sysv4.h" to the list of files in 'remove-lgcc_s'
phase.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-04 23:55:36 +01:00