me
/
guix
Archived
1
0
Fork 0
Commit Graph

104 Commits (ac6e19b08259f2085ae4757bf4efb095fbdd23e9)

Author SHA1 Message Date
Chris Marusich 8a1118a96c
gnu: bootstrap: Add support for powerpc64le-linux.
The bootstrap tarballs used by these bootstrap packages were created via the
following steps:

- Create a new x86_64 VM using QEMU.
- Use
  https://ftp.gnu.org/gnu/guix/guix-system-install-1.2.0.x86_64-linux.iso.xz
  to install Guix System 1.2.0 in the VM.
- Run: guix pull --no-substitutes --commit=662e7e28d576ada91fc9dec7d27c100666114f03
- Run: guix build --no-substitutes --target=powerpc64le-linux-gnu bootstrap-tarballs

With the exception of gcc-static, all bootstrap binaries contained in these
tarballs can be built reproducibly.  Unfortunately, gcc-static is not always
reproducible when everything is built from source on separate machines.
Despite investigation efforts, the cause remains unclear, so we have decided
to move forward with these binaries to unblock further bootstrapping work.
For details, see <https://bugs.gnu.org/41669>.

* gnu/packages/bootstrap.scm (%bootstrap-executables)
(bootstrap-executable-file-name, bootstrap-guile-url-path)
(bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils)
(%bootstrap-glibc, %bootstrap-gcc): Add entries for powerpc64le-linux.
(%bootstrap-executable-base-urls): Add an entry for alpha.gnu.org.
2021-03-23 23:19:53 -07:00
Léo Le Bouter 8159ce1970
gnu: bootstrap: Add powerpc64-linux dynamic linker.
This makes it possible to build bootstrap binaries for powerpc64-linux:

  guix build --target=powerpc64-linux-gnu bootstrap-tarballs

* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add an entry for
powerpc64-linux.

Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2020-06-01 11:37:24 -07:00
Ludovic Courtès ce0be5675b
packages: Introduce <content-hash> and use it in <origin>.
* guix/packages.scm (<content-hash>): New record type.
(define-content-hash-constructor, build-content-hash)
(content-hash): New macros.
(print-content-hash): New procedure.
(<origin>): Rename constructor to '%origin'.
[sha256]: Remove field.
[hash]: New field.  Adjust users.
(origin-compatibility-helper, origin): New macros.
(origin-sha256): New deprecated procedure.
(origin->derivation): Adjust accordingly.
* tests/packages.scm ("package-source-derivation, origin, sha512"): New
test.
* guix/tests.scm: Hide (gcrypt hash) 'sha256' for proper syntax
matching.
* tests/challenge.scm: Add #:prefix for (gcrypt hash) and adjust users.
* tests/derivations.scm: Likewise.
* tests/store.scm: Likewise.
* tests/graph.scm ("bag DAG, including origins"): Provide 'sha256' field
with the right length.
* gnu/packages/aspell.scm (aspell-dictionary)
(aspell-dict-ca, aspell-dict-it): Use 'hash' and 'content-hash' for
proper syntax matching.
* gnu/packages/bash.scm (bash-patch): Rename 'sha256' to 'sha256-bv'.
* gnu/packages/bootstrap.scm (bootstrap-executable): Rename 'sha256' to 'bv'.
* gnu/packages/readline.scm (readline-patch): Likewise.
* gnu/packages/virtualization.scm (qemu-patch): Rename 'sha256' to
'sha256-bv'.
* guix/import/utils.scm: Hide (gcrypt hash) 'sha256'.
2020-05-22 01:29:39 +02:00
Efraim Flashner 6741f543e6
gnu: bootstrap: Add support for the Hurd.
On 3342a1182b
   gnu: make-bootstrap: Use _IOLBF on Guile 2.0 only.

Run
    ./pre-inst-env guix build --target=i586-pc-gnu bootstrap-tarballs --verbosity=1

Producing

    /gnu/store/lhca65c997pvic5cfrpm0dasniwqlg2a-bootstrap-tarballs-0

With guix hash -rx /gnu/store/lhca65c997pvic5cfrpm0dasniwqlg2a-bootstrap-tarballs-0

    07jnq2by98f2a45k8wd2gj62iazvwfa4z7p3w3id4m1g0fdsvc3b

* gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for the
Hurd.
(bootstrap-executable-url): Use lilypond url for the Hurd.
(bootstrap-guile-url-path): Likewise.
(bootstrap-guile-hash): Add entry for the Hurd.
(%bootstrap-coreutils&co): Likewise.
(%bootstrap-binutils): Likewise.
(%bootstrap-glibc): Likewise.
(%bootstrap-gcc): Likewise.
* guix/packages.scm (%supported-systems): Add i586-gnu.

Co-authored-by: Jan Nieuwenhuizen <janneke@gnu.org>
2020-03-26 12:58:51 +01:00
Jan Nieuwenhuizen fef7710937
gnu: bootstrap: Use fall-back mechanism for bootstrap-executables.
* gnu/packages/bootstrap.scm (%bootstrap-executable-base-urls): New variable.
Add lilypond.org url as a fall-back.
(bootstrap-executable-file-name): New function.
(bootstrap-executable): Use them to implement fall-back for donwloads of
bootstrap executables.
2020-03-24 23:31:34 +01:00
Jan Nieuwenhuizen d77860dbc8
gnu: bootstrap: Remove %bootstrap-coreutils&co, %bootstrap-bash.
* gnu/packages/bootstrap.scm (%bootstrap-inputs)[i686-linux,x86-linux]: Remove
%bootstrap-coreutils&co, %bootstrap-bash.
2020-02-17 23:21:03 +01:00
Jan Nieuwenhuizen 6fc09bd74f
gnu: bootstrap: Add janneke's guix package url.
* gnu/packages/bootstrap.scm (%bootstrap-base-urls): Add janneke's guix
package url.
2020-02-17 23:16:39 +01:00
Ludovic Courtès 7e1a74da93
gnu: bootstrap: Memoize 'bootstrap-origin'.
* gnu/packages/bootstrap.scm (bootstrap-origin): Memoize with
'mlambdaq'.  This improves memoization of origins in (gnu packages
commencement).
2019-11-04 23:35:31 +01:00
Ludovic Courtès ac19950507
gnu: bootstrap: Cache the 'bootstrap-executable' origins.
This reduces the number of lookups in the 'add-data-to-store' cache from
2705 to 2685 (hit rate: 10% to 9%) when running:

  GUIX_PROFILING=add-data-to-store-cache guix build libreoffice -nd

* gnu/packages/bootstrap.scm (raw-build)[->store]: Use 'lower-object'
instead of 'origin->derivation'.  This allows the origin-to-derivation
mapping to be cached.
2019-10-27 23:05:01 +01:00
Ludovic Courtès 5166d02730
gnu: bootstrap: 'bootstrap-origin' preserves eq?-ness when no changes are made.
This reduces the number of lookups in the 'add-data-to-store' cache from
2743 to 2705 (hit rate: 11% to 10%) when running

  GUIX_PROFILING=add-data-to-store-cache guix build libreoffice -nd

The execution time of "guix build libreoffice -nd" goes from 1.80s to 1.78s.

* gnu/packages/bootstrap.scm (bootstrap-origin): Return SOURCE unchanged
when its has no patches and no snippet.
2019-10-27 23:05:00 +01:00
Mark H Weaver 7f1d2dd35a
gnu: bootstrap: Update to the 20190815 bootstrap binaries.
These new bootstrap binaries were built using Guix at commit
9e6256ba0f, tagged as "bootstrap-20190815".

* gnu/packages/bootstrap.scm (%bootstrap-linux-libre-headers): Update the
download URL.
(%bootstrap-mescc-tools, %bootstrap-mes): Update the download URL and hash.
2019-08-27 12:40:57 -04:00
Ludovic Courtès f32c3d4d06
gnu: bootstrap: Add ftp.gnu.org to '%bootstrap-base-urls'.
* gnu/packages/bootstrap.scm (%bootstrap-base-urls): Add
ftp.gnu.org/gnu/guix/bootstrap.
2019-08-27 12:40:50 -04:00
Mark H Weaver 893c2df00d
Merge branch 'master' into core-updates 2019-08-22 15:53:27 -04:00
Carl Dong 67dac6b892
gnu: mingw: Add x86_64 support.
This patch parameterizes previously hard-coded instances of
i686-w64-mingw32, adding support for x86_64-w64-mingw32.

* gnu/packages/mingw.scm (make-mingw-w64): New procedure.
(mingw-w64-i686, mingw-w64-x86_64): New variables.
(%mingw-triplet): Remove.
(mingw-w64): Update to point to 'mingw-w64-i686'.
* gnu/packages/cross-base.scm (cross-gcc): Use 'libc' keyword argument
if specified, instead of treating it as a boolean.
(native-libc): Return the correct mingw-w64 depending on machine
specified in target.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add "x86_64-mingw".
* gnu/build/cross-toolchain.scm (set-cross-path/mingw): Replace
hardcoded 'i686-w64-mingw32' instances with 'target' keyword argument.
(cross-gcc-build-phases): Update accordingly; use 'target-mingw?'
implementation of target checking and add commentary.
* gnu/ci.scm (%cross-targets): Add "x86_64-w64-mingw32".
2019-08-14 21:29:53 +02:00
Ludovic Courtès 64de896a71
Merge branch 'master' into core-updates 2019-07-17 15:51:10 +02:00
Ludovic Courtès 266e54e2ac
gnu: guile-bootstrap: Use the new 'derivation' calling convention.
* gnu/packages/bootstrap.scm (raw-build): In 'derivation' call,
distinguish #:inputs from #:sources, passing a list of
<derivation-input> as #:inputs.
2019-07-15 10:01:05 +02:00
Ludovic Courtès 1ba0b1e6ec
packages: Remove 'search-bootstrap-binary'.
* gnu/packages.scm (%bootstrap-binaries-path, search-bootstrap-binary):
Remove.
* gnu/packages/bootstrap.scm (bootstrap-executable): Export.
* guix/tests.scm (bootstrap-binary-file, search-bootstrap-binary):
Export.
* tests/derivations.scm: Remove (gnu packages) import.
* tests/grafts.scm: Likewise.
* tests/guix-daemon.sh: Likewise.
2019-06-14 21:57:39 +02:00
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