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.
This commit is contained in:
Chris Marusich 2021-01-10 16:58:57 -08:00
parent dc68018e01
commit 8a1118a96c
No known key found for this signature in database
GPG key ID: DD409A15D822469D

View file

@ -5,6 +5,8 @@
;;; Copyright © 2018, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019 Carl Dong <contact@carldong.me> ;;; Copyright © 2019 Carl Dong <contact@carldong.me>
;;; Copyright © 2019 Léo Le Bouter <lle-bout@zaclys.net> ;;; Copyright © 2019 Léo Le Bouter <lle-bout@zaclys.net>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -122,16 +124,27 @@ (define %bootstrap-executables
("tar" ("tar"
,(base32 "06gmqdjq3rl8lr47b9fyx4ifnm5x56ymc8lyryp1ax1j2s4y5jb4")) ,(base32 "06gmqdjq3rl8lr47b9fyx4ifnm5x56ymc8lyryp1ax1j2s4y5jb4"))
("xz" ("xz"
,(base32 "09j1d69qr0hhhx4k4ih8wp00dfc9y4rp01hfg3vc15yxd0jxabh5"))))) ,(base32 "09j1d69qr0hhhx4k4ih8wp00dfc9y4rp01hfg3vc15yxd0jxabh5")))
("powerpc64le-linux"
("bash"
,(base32 "1kiw7n6mkdy2x9in97646nb7aiayxr090ws1hbrlazah3fjqi6nj"))
("mkdir"
,(base32 "04dpvi231zcl40ig048vqqnyvmnkw1byrm1q1qqvs1f0g16yhrrk"))
("tar"
,(base32 "150c8948cz8r208g6qgn2dn4f4zs5kpgbpbg6bwag6yw42rapw2l"))
("xz"
,(base32 "0v5738idy9pqzcbrjdpxi5c6qs5m78zrpsydmrpx5cfcfzbkxzjh")))))
(define %bootstrap-executable-base-urls (define %bootstrap-executable-base-urls
;; This is where the bootstrap executables come from. ;; This is where the bootstrap executables come from.
'("https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/" '("https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/"
"https://alpha.gnu.org/gnu/guix/bootstrap/"
"http://lilypond.org/janneke/guix/")) "http://lilypond.org/janneke/guix/"))
(define (bootstrap-executable-file-name system program) (define (bootstrap-executable-file-name system program)
"Return the FILE-NAME part of url where PROGRAM can be found for SYSTEM." "Return the FILE-NAME part of url where PROGRAM can be found for SYSTEM."
(match system (match system
("powerpc64le-linux" (string-append system "/20210106/" program))
("i586-gnu" (string-append system "/20200326/" program)) ("i586-gnu" (string-append system "/20200326/" program))
(_ (string-append system "/" program (_ (string-append system "/" program
"?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e")))) "?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e"))))
@ -332,6 +345,8 @@ (define (bootstrap-guile-url-path system)
"/20150101/guile-2.0.11.tar.xz") "/20150101/guile-2.0.11.tar.xz")
("i586-gnu" ("i586-gnu"
"/20200326/guile-static-stripped-2.0.14-i586-pc-gnu.tar.xz") "/20200326/guile-static-stripped-2.0.14-i586-pc-gnu.tar.xz")
("powerpc64le-linux"
"/20210106/guile-static-stripped-2.0.14-powerpc64le-linux-gnu.tar.xz")
(_ (_
"/20131110/guile-2.0.9.tar.xz")))) "/20131110/guile-2.0.9.tar.xz"))))
@ -346,6 +361,8 @@ (define (bootstrap-guile-hash system)
(base32 "0fzp93lvi0hn54acc0fpvhc7bvl0yc853k62l958cihk03q80ilr")) (base32 "0fzp93lvi0hn54acc0fpvhc7bvl0yc853k62l958cihk03q80ilr"))
("armhf-linux" ("armhf-linux"
(base32 "1mi3brl7l58aww34rawhvja84xc7l1b4hmwdmc36fp9q9mfx0lg5")) (base32 "1mi3brl7l58aww34rawhvja84xc7l1b4hmwdmc36fp9q9mfx0lg5"))
("powerpc64le-linux"
(base32 "1rnyfz5q38jyvxddj617443bnnzql4vw0mxzqpj8wz48wx4bhbq0"))
("aarch64-linux" ("aarch64-linux"
(base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r")) (base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r"))
("i586-gnu" ("i586-gnu"
@ -479,6 +496,8 @@ (define %bootstrap-coreutils&co
"/20150101/static-binaries.tar.xz") "/20150101/static-binaries.tar.xz")
("aarch64-linux" ("aarch64-linux"
"/20170217/static-binaries.tar.xz") "/20170217/static-binaries.tar.xz")
("powerpc64le-linux"
"/20210106/static-binaries-0-powerpc64le-linux-gnu.tar.xz")
("i586-gnu" ("i586-gnu"
"/20200326/static-binaries-0-i586-pc-gnu.tar.xz") "/20200326/static-binaries-0-i586-pc-gnu.tar.xz")
(_ (_
@ -498,6 +517,9 @@ (define %bootstrap-coreutils&co
("aarch64-linux" ("aarch64-linux"
(base32 (base32
"18dfiq6c6xhsdpbidigw6480wh0vdgsxqq3xindq4lpdgqlccpfh")) "18dfiq6c6xhsdpbidigw6480wh0vdgsxqq3xindq4lpdgqlccpfh"))
("powerpc64le-linux"
(base32
"0afs2j9z2d1hjq42myz4iwjh0aqgzf59inifw87x6b6p1z9wv92v"))
("i586-gnu" ("i586-gnu"
(base32 (base32
"17kllqnf3fg79gzy9ansgi801c46yh9c23h4d923plvb0nfm1cfn")) "17kllqnf3fg79gzy9ansgi801c46yh9c23h4d923plvb0nfm1cfn"))
@ -547,6 +569,8 @@ (define %bootstrap-binutils
"/20150101/binutils-2.25.tar.xz") "/20150101/binutils-2.25.tar.xz")
("aarch64-linux" ("aarch64-linux"
"/20170217/binutils-2.27.tar.xz") "/20170217/binutils-2.27.tar.xz")
("powerpc64le-linux"
"/20210106/binutils-static-stripped-2.34-powerpc64le-linux-gnu.tar.xz")
("i586-gnu" ("i586-gnu"
"/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz") "/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz")
(_ (_
@ -566,6 +590,9 @@ (define %bootstrap-binutils
("aarch64-linux" ("aarch64-linux"
(base32 (base32
"111s7ilfiby033rczc71797xrmaa3qlv179wdvsaq132pd51xv3n")) "111s7ilfiby033rczc71797xrmaa3qlv179wdvsaq132pd51xv3n"))
("powerpc64le-linux"
(base32
"1klxy945c61134mzhqzz2gbk8w0n8jq7arwkrvz78d22ff2q0cwz"))
("i586-gnu" ("i586-gnu"
(base32 (base32
"11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs")) "11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs"))
@ -622,6 +649,8 @@ (define %bootstrap-glibc
"/20150101/glibc-2.20.tar.xz") "/20150101/glibc-2.20.tar.xz")
("aarch64-linux" ("aarch64-linux"
"/20170217/glibc-2.25.tar.xz") "/20170217/glibc-2.25.tar.xz")
("powerpc64le-linux"
"/20210106/glibc-stripped-2.31-powerpc64le-linux-gnu.tar.xz")
("i586-gnu" ("i586-gnu"
"/20200326/glibc-stripped-2.31-i586-pc-gnu.tar.xz") "/20200326/glibc-stripped-2.31-i586-pc-gnu.tar.xz")
(_ (_
@ -641,6 +670,9 @@ (define %bootstrap-glibc
("aarch64-linux" ("aarch64-linux"
(base32 (base32
"07nx3x8598i2924rjnlrncg6rm61c9bmcczbbcpbx0fb742nvv5c")) "07nx3x8598i2924rjnlrncg6rm61c9bmcczbbcpbx0fb742nvv5c"))
("powerpc64le-linux"
(base32
"1a1df6z8gkaq09md3jy94lixnh20599p58p0s856p10xwjaqr1iz"))
("i586-gnu" ("i586-gnu"
(base32 (base32
"14ddm10lpbas8bankmn5bcrlqvz1v5dnn1qjzxb19r57vd2w5952")) "14ddm10lpbas8bankmn5bcrlqvz1v5dnn1qjzxb19r57vd2w5952"))
@ -713,6 +745,8 @@ (define %bootstrap-gcc
"/20150101/gcc-4.8.4.tar.xz") "/20150101/gcc-4.8.4.tar.xz")
("aarch64-linux" ("aarch64-linux"
"/20170217/gcc-5.4.0.tar.xz") "/20170217/gcc-5.4.0.tar.xz")
("powerpc64le-linux"
"/20210106/gcc-stripped-5.5.0-powerpc64le-linux-gnu.tar.xz")
("i586-gnu" ("i586-gnu"
"/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz") "/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz")
(_ (_
@ -732,6 +766,9 @@ (define %bootstrap-gcc
("aarch64-linux" ("aarch64-linux"
(base32 (base32
"1ar3vdzyqbfm0z36kmvazvfswxhcihlacl2dzdjgiq25cqnq9ih1")) "1ar3vdzyqbfm0z36kmvazvfswxhcihlacl2dzdjgiq25cqnq9ih1"))
("powerpc64le-linux"
(base32
"151kjsai25vz2s667bgzpisx8f281fpl3n9pxz2yrp9jlnadz3m1"))
("i586-gnu" ("i586-gnu"
(base32 (base32
"1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5")) "1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5"))