Commit Graph

87 Commits

Author SHA1 Message Date
Ludovic Courtès 03d76577b9
tests: Make builds less expensive.
The switch to the reduced bootstrap broke build time assumptions made by
tests, notably the assumption that GNU-MAKE-BOOT0 was cheap to build.
This commit adjusts this to make these tests cheaper.

* gnu/packages/bootstrap.scm (%bootstrap-inputs-for-tests): New variable.
* guix/tests.scm (gnu-make-for-tests): New variable.
* tests/guix-environment.sh: Use GNU-MAKE-FOR-TESTS instead of
GNU-MAKE-BOOT0.  Remove test with FINDUTILS-BOOT0.
* tests/guix-package-net.sh (boot_make): Use GNU-MAKE-FOR-TESTS.
* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
* tests/profiles.scm ("profile-derivation relative symlinks, two entries"):
Likewise.
* tests/union.scm (%bootstrap-inputs): Remove.
("union-build"): Use %BOOTSTRAP-INPUTS-FOR-TESTS instead of
%BOOTSTRAP-INPUTS.
2019-06-14 21:57:39 +02:00
Ludovic Courtès 836a85da0e
gnu: bootstrap: Download the bootstrap bash, mkdir, tar, and xz binaries.
* gnu/packages/bootstrap.scm (%bootstrap-executables): New variable.
(bootstrap-executable-url, bootstrap-executable): New procedure.
(raw-build)[->store]: Use 'run-with-store' and 'origin->derivation'.
Add calls to 'derivation->output-path', and remove the list of
references passed to 'add-text-to-store' for BUILDER.  Augment the list
of #:inputs passed to 'derivation'.
(package-from-tarball): Use 'bootstrap-executable' instead of
'search-bootstrap-binary'.
(%bootstrap-glibc, %bootstrap-gcc, %bootstrap-mescc-tools)
(%bootstrap-mes): Likewise.
* guix/scripts/environment.scm (environment-bash): Use
'bootstrap-executable' instead of 'search-bootstrap-binary'.
(guix-environment): Adjust CONTAINER? case accordingly.
* po/guix/POTFILES.in: Add gnu/packages/bootstrap.scm.
2019-06-14 21:57:01 +02:00
Ludovic Courtès d9bbfe042e
Merge branch 'master' into core-updates 2019-06-13 13:24:35 +02:00
Carl Dong 7180dd6716
gnu: Add basic support for riscv64-linux-gnu targets.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add
"riscv64-linux".
* gnu/packages/linux.scm (system->linux-architecture): Add "riscv"
prefix.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-05-29 15:40:31 +02:00
Ricardo Wurmus ba88eea2b3
Merge branch 'master' into core-updates 2019-02-06 13:03:26 +01:00
Danny Milosavljevic 7f2d67c826
gnu: Add dummy linker for arm-elf.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for arm-elf.
2019-01-07 16:39:35 +01:00
Ludovic Courtès 0b07f22728
gnu: bootstrap: Add missing 'supported-systems', remove extra 'match'.
Previously evaluation would fail for armhf, aarch64, and mips64el.

* gnu/packages/bootstrap.scm (%bootstrap-mescc-tools)[supported-systems]:
New field.
(%bootstrap-mes)[supported-systems]: New field.
[inputs]: Remove 'match' form on %current-system, which would fail on
non-Intel platforms.
2018-12-25 02:17:58 +01:00
Jan Nieuwenhuizen 03a45a4022
bootstrap: srfi-43: Remove.
* gnu/packages/bootstrap.scm (%bootstrap-inputs): Remove srfi-43.
(srfi-43): Remove.
2018-12-20 12:04:04 +01:00
Jan Nieuwenhuizen c89bbcccb2
bootstrap: bootstrap-mes: Update.
Built with

    ef809e3ac0
    bootstrap: Add mes-boot0; decouple mes-boot from Mes.

* gnu/packages/bootstrap.scm (%bootstrap-mes): Update.
2018-12-20 12:04:03 +01:00
Jan Nieuwenhuizen f8067e0329
bootstrap: bootstrap-mes: Update.
Built with

    464baaf735
    gnu: mes: Update to a155a0a9a2d941b15c1b98e5cce787de40a8dacd.

* gnu/packages/bootstrap.scm (%bootstrap-mes): Update.
2018-12-16 22:48:29 +01:00
Jan Nieuwenhuizen da3c6a7f19
bootstrap: Switch to official bootstrap urls.
Built with

    4ae7dc7b9a
    gnu: Remove duplicate linux-libre-headers package from bootstrap inputs.

* gnu/packages/bootstrap.scm (%bootstrap-linux-libre-headers): Switch to
official bootstrap urls.
(%bootstrap-mescc-tools): Likewise.
(%bootstrap-mes): Likewise.
2018-12-11 18:10:15 +01:00
Jan Nieuwenhuizen 4fd4efc812
bootstrap: Replace %mescc-tools-seed with %bootstrap-mescc-tools.
* gnu/packages/bootstrap.scm (%mescc-tools-seed): Remove.
(%bootstrap-inputs): Replace %mescc-tools-seed with %bootstrap-mescc-tools.
* gnu/packages/commencement.scm (mes-boot): Likewise.
(tcc-boot0): Likewise.
(mescc-tools-boot): Remove.
2018-11-18 16:45:03 +01:00
Jan Nieuwenhuizen 562c37c7be
bootstrap: Update %bootstrap-mes.
Built with

    b00a95be28
    bootstrap: Add %bootstrap-mescc-tools.

* gnu/packages/bootstrap.scm (%bootstrap-mes): Update.
2018-11-18 16:44:13 +01:00
Jan Nieuwenhuizen b00a95be28
bootstrap: Add %bootstrap-mescc-tools.
Built with
    a647da364a
    bootstrap: Add %mes-minimal.

* gnu/packages/bootstrap.scm (%bootstrap-mescc-tools): New variable.
2018-11-18 16:43:21 +01:00
Jan Nieuwenhuizen 1a99a9c45c
bootstrap: Build with %bootstrap-mes.
* gnu/packages/bootstrap.scm (%tinycc-seed): Remove.
(%bootstrap-inputs): Use %bootstrap-mes instead of %mes-seed and %tinycc-seed.
* gnu/packages/commencement.scm (mescc-tools-boot, mes-boot, tcc-boot0): Build
with %bootstrap-mes instead of %mes-seed and %tinycc-seed.
2018-10-23 20:54:42 +02:00
Jan Nieuwenhuizen 5f02c9b7d6
bootstrap: Add %bootstrap-mes.
Built with
    668ffe1e4e bootstrap: Move use-modules to top of builder.

Todo: host these on ftp.gnu.org/pub/guix/...

* gnu/packages/bootstrap.scm (%bootstrap-mes): New variable.
2018-10-23 20:54:42 +02:00
Jan Nieuwenhuizen 668ffe1e4e
bootstrap: Move use-modules to top of builder.
* gnu/packages/bootstrap.scm (package-from-tarball): Move use-modules to top of builder.
(%bootstrap-glibc): Likewise.
(%bootstrap-gcc): Likewise.
2018-10-21 23:41:14 +02:00
Jan Nieuwenhuizen a52b11a667
gnu: %tinycc-seed: Update for mes 0.18.
* gnu/packages/bootstrap.scm (%tinycc-seed): Update for mes 0.18.
2018-10-07 16:29:38 +02:00
Jan Nieuwenhuizen 1b30689343
gnu: %mes-seed: Update to 0.18.
* gnu/packages/bootstrap.scm (%mes-seed): Update to 0.18.
2018-10-07 16:29:35 +02:00
Jan Nieuwenhuizen f7a331c068
gnu: %mescc-tools-seed: Update to 0.5.2.
* gnu/packages/bootstrap.scm (%mescc-tools-seed): Update to 0.5.2.
2018-10-07 16:27:57 +02:00
Jan Nieuwenhuizen eb4434598c
bootstrap: Reduced Binary Seed bootstrap for x86_64 too.
* gnu/packages/bootstrap.scm (%bootstrap-inputs): Replace %bootstrap-libc,
%bootstrap-gcc, and %bootstrap-binutils with Mes seeds for x86_64 too.
* gnu/packages/commencement.scm (tcc-boot0, tcc-boot, gcc-mesboot1,
gcc-mesboot1-wrapper, m4-mesboot, %bootstrap-inputs+toolchain,
libstdc++-boot0, gcc-boot0, bison-boot0): For x86_64-linux, use i686-linux
glibc-dynamic-linker and Mes bootstrap settings.
(gcc-boot0-intermediate-wrapped): New variable, extract from
static-bash-for-glibc.
(static-bash-for-glibc): Use it.
(gcc-final): Copy gmp&co phase from gcc-boot0, inherit other arguments
from gcc; avoid i686-linux impersonation from gcc-boot0.
* doc/guix.texi (Bootstrapping, Reduced Binary Seed Bootstrap): Note
x86_64-linux also as Reduced Binary Seed bootstrap.
2018-09-23 09:46:26 +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 aec77e8695
bootstrap: Add Mes bootstrap seeds.
* gnu/packages/bootstrap.scm (%mescc-tools-seed, %mes-seed, %tinycc-seed,
%srfi-43): New variable.
2018-09-23 09:46:26 +02:00
Jan Nieuwenhuizen dbabfc470d
guix: package-from-tarball: Allow PROGRAM-TO-TEST to be #f.
* gnu/packages/bootstrap.scm (package-from-tarball): Allow PROGRAM-TO-TEST to
be #f.
2018-09-23 09:46:25 +02:00
Jan Nieuwenhuizen a2b2070b67
bootstrap: %bootstrap-inputs: Wrap input lists into thunks.
* gnu/packages/bootstrap.scm (%bootstrap-inputs): Change to procedure.  Update
users; prepares for Mes bootstrap.
* gnu/packages/commencement.scm (%boot0-inputs, %boot1-inputs, %boot2-inputs,
%boot3-inputs, %boot4-inputs, %boot5-inputs, %boot-6-inputs): Change to
procedure.  Update users.
* tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths): Make a
procedure, filter on package?.  Update users.
2018-09-22 22:40:12 +02:00
Marius Bakke 5576cfabf3
Merge branch 'master' into core-updates 2018-03-29 17:34:41 +02:00
Ludovic Courtès 7ddd418a1d
gnu: bootstrap: Remove unneeded import.
* gnu/packages/bootstrap.scm: Remove unneeded (guix build utils) import.
2018-03-27 14:51:44 +02:00
Mark H Weaver ad1656dc91
bootstrap: Use invoke instead of system*.
* gnu/packages/bootstrap.scm (package-from-tarball): Ignore the result of
the snippet procedure.  Use invoke and remove vestigial plumbing.
(%bootstrap-coreutils&co): Remove the vestigial #t from the snippet.
(%bootstrap-glibc, %bootstrap-gcc)[arguments]: Use invoke.  Return #t from the
builder.
2018-03-16 05:01:59 -04:00
mephi42 b91004c2f5
gnu: Add basic support for s390x-linux-gnu targets.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add
  "s390x-linux".
* gnu/packages/linux.scm (system->linux-architecture): Add "s390"
  prefix.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-02-19 22:22:21 +01:00
Ludovic Courtès 6d7b26a39f
gnu: bootstrap: 'package-with-bootstrap-guile' uses 'eq?' memoization.
* gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Use
'mlambdaq'.
2018-01-18 16:37:41 +01:00
Ludovic Courtès 3e5750af74
gnu: guix: Factorize downloads of bootstrap tarball.
* gnu/packages/bootstrap.scm (bootstrap-guile-origin): New procedure.
* gnu/packages/package-management.scm (guix)[inputs]: Remove
'boot-guile' procedure; use 'bootstrap-guile-origin' instead.
2017-08-28 23:51:32 +02:00
Ludovic Courtès 894fc4e9f5
gnu: bootstrap: Prefer HTTPS for downloads.
* gnu/packages/bootstrap.scm (%bootstrap-base-urls): Add "https" URL first.
2017-08-28 23:49:52 +02:00
Ludovic Courtès 5c93d23324
gnu: guile-bootstrap: Use a fixed-output derivation to download.
* gnu/packages/bootstrap.scm (bootstrap-guile-url-path)
(bootstrap-guile-hash, download-bootstrap-guile): New procedures.
(raw-build): Use it.  Script uses $GUILE_TARBALL.  Add GUILE to the
inputs of the derivation.
2017-08-28 23:15:35 +02:00
Ludovic Courtès c89e210788
gnu: Add basic support for powerpc64le-linux-gnu targets.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add
"powerpc64le-linux".
* gnu/packages/linux.scm (system->linux-architecture): Add "powerpc"
prefix.
(system->defconfig): Add "powerpc64le-" prefix.
2017-07-07 17:07:16 +02:00
Danny Milosavljevic 7cf06d62bf
gnu: Add gcc-vc4.
Fixes <https://bugs.gnu.org/26541>.

* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add vc4-elf.
* gnu/packages/embedded.scm (gcc-vc4): New variable.
2017-05-01 01:14:27 +02:00
Ludovic Courtès e90e0fad1b
Merge branch 'master' into core-updates 2017-03-09 16:35:41 +01:00
Sergei Trofimovich 605fec783f
gnu: Add basic support for "alpha-linux" systems.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add
"/lib/ld-linux.so.2" as "alpha-linux" ld.so.
* gnu/packages/linux.scm (system->linux-architecture): Add "alpha" arch.

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-03-07 18:20:33 +01:00
Efraim Flashner 3b88f3767d
gnu: Add bootstrap-binaries for 'aarch64-linux'.
These bootstrap-binaries were built against commit
8f8f250bdc.

* gnu/packages/bootstrap/aarch64-linux/bash,
gnu/packages/bootstrap/aarch64-linux/mkdir,
gnu/packages/bootstrap/aarch64-linux/xz,
gnu/packages/bootstrap/aarch64-linux/tar: New files.

* gnu/local.mk (bootstrap_aarch64_linuxdir)
(dist_bootstrap_aarch64_linux_DATA)
(nodist_bootstrap_aarch64_linux_DATA): New variables.
(DISTCLEANFILES): Add $(nodist_bootstrap_aarch64_linux_DATA).
(gnu/packages/bootstrap/aarch64-linux/guile-2.0.14.tar.xz): New target.
* build-aux/download.scm (filename->uri): Add aarch64-linux entry.
* gnu/packages/bootstrap.scm (raw-build): Use guile-2.0.14.tar.xz on
aarch64-linux.
(glibc-dynamic-linker, %bootstrap-coreutils&co, %boostrap-binutils)
(%bootstrap-glibc, %bootstrap-gcc): Add aarch64-linux cases.
* m4/guix.m4 (GUIX_SYSTEM_TYPE): Add aarch64 case.
(GUIX_ASSERT_SUPPORTED_SYSTEM): Add aarch64-linux to supported list.
* doc/guix.texi (GNU Distribution): Add aarch64-linux to the list of
supported systems.
* tests/packages.scm (package-search-derivation, snippet): Add aarch64
case.
2017-02-20 12:58:07 +02:00
Efraim Flashner 653add37af
gnu: %bootstrap-coreutils&co: Patch egrep/fgrep to work regardless of $PATH.
This is the bootstrap version of 1063d325ea

* gnu/packages/bootstrap.scm (%bootstrap-coreutils&co)[source]: Patch
the absolute location of 'grep' when called from 'egrep' or 'fgrep'.
2017-02-20 12:58:06 +02:00
Leo Famulari e8c83d04e1
Merge branch 'master' into core-updates 2017-02-02 10:52:24 -05:00
Ludovic Courtès 55b2d92145
Use 'mlambda' instead of 'memoize'.
* gnu/packages.scm (find-newest-available-packages): Use 'mlambda'
instead of (memoize (lambda ...) ...).
* gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Likewise.
* guix/build-system/gnu.scm (package-with-explicit-inputs)[rewritten-input]:
Likewise.
* guix/build-system/python.scm (package-with-explicit-python)[transform]:
Likewise.
* guix/derivations.scm (derivation->string): Likewise.
* guix/gnu-maintenance.scm (gnu-package?): Likewise.
* guix/modules.scm (module-file-dependencies): Likewise.
* guix/scripts/graph.scm (standard-package-set): Likewise.
* guix/scripts/lint.scm (official-gnu-packages*): Likewise.
* guix/store.scm (store-regexp*): Likewise.
* guix/utils.scm (location): Likewise.
2017-01-28 18:55:20 +01:00
Ludovic Courtès f9704f179a
Add (guix memoization).
* guix/combinators.scm (memoize): Remove.
* guix/memoization.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/packages.scm, gnu/packages/bootstrap.scm,
guix/build-system/gnu.scm, guix/build-system/python.scm,
guix/derivations.scm, guix/gnu-maintenance.scm,
guix/import/cran.scm, guix/import/elpa.scm,
guix/modules.scm, guix/scripts/build.scm,
guix/scripts/graph.scm, guix/scripts/lint.scm,
guix/store.scm, guix/utils.scm: Adjust imports accordingly.
2017-01-28 18:55:20 +01:00
Leo Famulari 74288230ea
Merge branch 'master' into core-updates 2017-01-06 17:14:41 -05:00
Carlos Sánchez de La Lama 4a6f099e2c
gnu: bootstrap: Add the dynamic linker name for "powerpc-linux".
This commit completes cross-compilation support for powerpc-linux-gnu.

* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add "powerpc-linux"
case.
2017-01-04 23:57:30 +01:00
Ricardo Wurmus 6f5b1c9107
gnu: Add dummy linker for propeller-elf.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for
propeller-elf.
2017-01-01 13:56:27 +01:00
Ludovic Courtès d44fb7dd60
gnu: bootstrap: Add FTP URL for bootstrap binaries.
* gnu/packages/bootstrap.scm (%bootstrap-base-urls): Add
ftp://alpha.gnu.org (http://alpha.gnu.org is currently unresponsive.)
2016-12-17 14:46:42 +01:00
Ricardo Wurmus 35a37efbfd
gnu: Add arm-none-eabi cross compiler.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for "arm-eabi".
* gnu/packages/embedded.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2016-10-09 15:45:59 +02:00
Leo Famulari eb74eb4199
Merge branch 'master' into core-updates 2016-05-13 02:08:11 -04:00
Ludovic Courtès 958dd3ce68
utils: Move combinators to (guix combinators).
* guix/utils.scm (compile-time-value, memoize, fold2)
(fold-tree, fold-tree-leaves): Move to...
* guix/combinators: ... here.  New file.
* tests/utils.scm ("fold2, 1 list", "fold2, 2 lists")
(fold-tree tests): Move to...
* tests/combinators.scm: ... here.  New file.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* gnu/packages.scm, gnu/packages/bootstrap.scm,
gnu/services/herd.scm, guix/build-system/gnu.scm,
guix/build-system/python.scm, guix/derivations.scm,
guix/gnu-maintenance.scm, guix/import/elpa.scm,
guix/scripts/archive.scm, guix/scripts/build.scm,
guix/scripts/graph.scm, guix/scripts/lint.scm,
guix/scripts/size.scm, guix/scripts/substitute.scm,
guix/serialization.scm, guix/store.scm, guix/ui.scm: Adjust imports
accordingly.
2016-05-04 23:35:55 +02:00
Mathieu Lirzin c3052d6bcd Merge branch 'master' into core-updates 2016-05-02 17:53:40 +02:00