guix_mirror_bot pushed a commit to branch core-packages-team in repository guix.
commit 491d29ea4788122c46aa99e3cfed11851057a336 Author: Nicolas Graves <[email protected]> AuthorDate: Sun Oct 19 22:18:47 2025 +0200 gnu: bootstrap-packages: Drop input labels. * gnu/packages/bootstrap.scm (bootstrap-executable): Prefix the store file name with "bootstrap-". (package-from-tarball, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc) [arguments]: Use gexps. Enforce a new standard to get the input from its file name (rather than its label). [inputs]: Improve style, drop label use. Change-Id: I61dd30f2bffc86167f84c613b4aebe43bf3becbc Signed-off-by: Ludovic Courtès <[email protected]> --- gnu/packages/bootstrap.scm | 586 +++++++++++++++++++++------------------------ 1 file changed, 277 insertions(+), 309 deletions(-) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index 2fc70210635..3302e8f53b1 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -44,7 +44,7 @@ #:select (raw-derivation derivation-input derivation->output-path)) #:use-module (guix utils) #:use-module ((guix build utils) #:select (elf-file?)) - #:use-module ((guix gexp) #:select (lower-object local-file)) + #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix memoization) #:use-module (guix i18n) @@ -203,10 +203,7 @@ for system '~a'") (uri (map (cute string-append <> (bootstrap-executable-file-name system program)) %bootstrap-executable-base-urls)) - ;; XXX: In the long term, migrate all boostrap executables to - ;; (string-append "bootstrap-" program), and drop the additional - ;; file-name argument. - (file-name file-name) + (file-name (string-append "bootstrap-" program)) (hash (content-hash bv sha256)))))))) (define* (bootstrap-executable program system #:optional file-name) @@ -266,32 +263,33 @@ or false to signal an error." (version "0") (build-system trivial-build-system) (arguments - `(#:guile ,%bootstrap-guile - #:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - - (let ((out (assoc-ref %outputs "out")) - (tar (assoc-ref %build-inputs "tar")) - (xz (assoc-ref %build-inputs "xz")) - (tarball (assoc-ref %build-inputs "tarball"))) - - (mkdir out) - (copy-file tarball "binaries.tar.xz") - (invoke xz "-d" "binaries.tar.xz") - (let ((builddir (getcwd))) - (with-directory-excursion out - (invoke tar "xvf" - (string-append builddir "/binaries.tar")) - ,@(if snippet (list snippet) '()) - (or (not ,program-to-test) - (invoke (string-append "bin/" ,program-to-test) - "--version")))))))) + (list + #:guile %bootstrap-guile + #:modules '((guix build utils)) + #:builder + #~(begin + (use-modules (guix build utils)) + + (let ((tar (assoc-ref %build-inputs "bootstrap-tar")) + (xz (assoc-ref %build-inputs "bootstrap-xz")) + (tarball (assoc-ref %build-inputs + #$(string-append name ".tar.xz")))) + + (mkdir #$output) + (copy-file tarball "binaries.tar.xz") + (invoke xz "-d" "binaries.tar.xz") + (let ((builddir (getcwd))) + (with-directory-excursion #$output + (invoke tar "xvf" + (string-append builddir "/binaries.tar")) + #$@(if snippet (list snippet) '()) + (or (not #$program-to-test) + (invoke (string-append "bin/" #$program-to-test) + "--version")))))))) (inputs - `(("tar" ,(bootstrap-executable "tar" (%current-system))) - ("xz" ,(bootstrap-executable "xz" (%current-system))) - ("tarball" ,(bootstrap-origin (source (%current-system)))))) + (list (bootstrap-executable "tar" (%current-system)) + (bootstrap-executable "xz" (%current-system)) + (bootstrap-origin (source (%current-system))))) (source #f) (synopsis description) (description description) @@ -634,37 +632,29 @@ $out/bin/guile --version~%" (_ "/20131110/static-binaries.tar.xz"))) %bootstrap-base-urls)) + (file-name "bootstrap-binaries.tar.xz") (sha256 - (match system - ("x86_64-linux" - (base32 - "0c533p9dhczzcsa1117gmfq3pc8w362g4mx84ik36srpr7cx2bg4")) - ("i686-linux" - (base32 - "0s5b3jb315n13m1k8095l0a5hfrsz8g0fv1b6riyc5hnxqyphlak")) - ("armhf-linux" - (base32 - "0gf0fn2kbpxkjixkmx5f4z6hv6qpmgixl69zgg74dbsfdfj8jdv5")) - ("aarch64-linux" - (base32 - "18dfiq6c6xhsdpbidigw6480wh0vdgsxqq3xindq4lpdgqlccpfh")) - ("powerpc64le-linux" - (base32 - "0afs2j9z2d1hjq42myz4iwjh0aqgzf59inifw87x6b6p1z9wv92v")) - ("i586-gnu" - (base32 - "17kllqnf3fg79gzy9ansgi801c46yh9c23h4d923plvb0nfm1cfn")) - ("x86_64-gnu" - (base32 - "0xnw5p6279m8xazbhal5ld5qxsya0249z2l6jcc7w9ndh2gnx07v")) - ("powerpc-linux" - (base32 - "0kspxy0yczan2vlih6aa9hailr2inz000fqa0gn5x9d1fxxa5y8m")) - ("riscv64-linux" - (base32 - "0x0xjlpmyh6rkr51p00gp6pscgl6zjida1rsg8vk3rinyi6rrbkg")) - ("mips64el-linux" - (base32 + (base32 + (match system + ("x86_64-linux" + "0c533p9dhczzcsa1117gmfq3pc8w362g4mx84ik36srpr7cx2bg4") + ("i686-linux" + "0s5b3jb315n13m1k8095l0a5hfrsz8g0fv1b6riyc5hnxqyphlak") + ("armhf-linux" + "0gf0fn2kbpxkjixkmx5f4z6hv6qpmgixl69zgg74dbsfdfj8jdv5") + ("aarch64-linux" + "18dfiq6c6xhsdpbidigw6480wh0vdgsxqq3xindq4lpdgqlccpfh") + ("powerpc64le-linux" + "0afs2j9z2d1hjq42myz4iwjh0aqgzf59inifw87x6b6p1z9wv92v") + ("i586-gnu" + "17kllqnf3fg79gzy9ansgi801c46yh9c23h4d923plvb0nfm1cfn") + ("x86_64-gnu" + "0xnw5p6279m8xazbhal5ld5qxsya0249z2l6jcc7w9ndh2gnx07v") + ("powerpc-linux" + "0kspxy0yczan2vlih6aa9hailr2inz000fqa0gn5x9d1fxxa5y8m") + ("riscv64-linux" + "0x0xjlpmyh6rkr51p00gp6pscgl6zjida1rsg8vk3rinyi6rrbkg") + ("mips64el-linux" "072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753")))))) "fgrep" ; the program to test "Bootstrap binaries of Coreutils, Awk, etc." @@ -692,6 +682,7 @@ $out/bin/guile --version~%" "/i686-linux/20190815/" "linux-libre-headers-stripped-4.14.67-i686-linux.tar.xz") %bootstrap-base-urls)) + (file-name "linux-libre-headers-bootstrap.tar.xz") (sha256 (base32 "0sm2z9x4wk45bh6qfs94p0w1d6hsy6dqx9sw38qsqbvxwa1qzk8s")))) @@ -699,63 +690,56 @@ $out/bin/guile --version~%" "Bootstrap linux-libre-headers")) (define %bootstrap-binutils - (package-from-tarball "binutils-bootstrap" - (lambda (system) - (origin - (method url-fetch) - (uri (map (cut string-append <> "/" system - (match system - ("armhf-linux" - "/20150101/binutils-2.25.tar.xz") - ("aarch64-linux" - "/20170217/binutils-2.27.tar.xz") - ("powerpc64le-linux" - "/20210106/binutils-static-stripped-2.34-powerpc64le-linux-gnu.tar.xz") - ("i586-gnu" - "/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz") - ("x86_64-gnu" - "/20260302/binutils-static-stripped-2.44-x86_64-pc-gnu.tar.xz") - ("powerpc-linux" - "/20200923/binutils-2.35.1.tar.xz") - ("riscv64-linux" - "/20210725/binutils-2.34.tar.xz") - (_ - "/20131110/binutils-2.23.2.tar.xz"))) - %bootstrap-base-urls)) - (sha256 - (match system - ("x86_64-linux" - (base32 - "1j5yivz7zkjqfsfmxzrrrffwyayjqyfxgpi89df0w4qziqs2dg20")) - ("i686-linux" - (base32 - "14jgwf9gscd7l2pnz610b1zia06dvcm2qyzvni31b8zpgmcai2v9")) - ("armhf-linux" - (base32 - "1v7dj6bzn6m36f20gw31l99xaabq4xrhrx3gwqkhhig0mdlmr69q")) - ("aarch64-linux" - (base32 - "111s7ilfiby033rczc71797xrmaa3qlv179wdvsaq132pd51xv3n")) - ("powerpc64le-linux" - (base32 - "1klxy945c61134mzhqzz2gbk8w0n8jq7arwkrvz78d22ff2q0cwz")) - ("riscv64-linux" - (base32 - "0n9qf4vbilfmh1lknhw000waakj4q6s50pnjazr5137skm976z5m")) - ("i586-gnu" - (base32 - "11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs")) - ("x86_64-gnu" - (base32 - "033bgmaa012b2lw8g76b02mjgzdnzv2yd3jvaqbhqrr5q9r3xn04")) - ("powerpc-linux" - (base32 - "0asbg1c4avkrvh057mx0942xwddd136jni382zqsxzn79ls42yq8")) - ("mips64el-linux" - (base32 - "1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7")))))) - "ld" ; the program to test - "Bootstrap binaries of the GNU Binutils")) + (package-from-tarball + "binutils-bootstrap" + (lambda (system) + (origin + (method url-fetch) + (uri (map (cut string-append <> "/" system + (match system + ("armhf-linux" + "/20150101/binutils-2.25.tar.xz") + ("aarch64-linux" + "/20170217/binutils-2.27.tar.xz") + ("powerpc64le-linux" + "/20210106/binutils-static-stripped-2.34-powerpc64le-linux-gnu.tar.xz") + ("i586-gnu" + "/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz") + ("x86_64-gnu" + "/20260302/binutils-static-stripped-2.44-x86_64-pc-gnu.tar.xz") + ("powerpc-linux" + "/20200923/binutils-2.35.1.tar.xz") + ("riscv64-linux" + "/20210725/binutils-2.34.tar.xz") + (_ + "/20131110/binutils-2.23.2.tar.xz"))) + %bootstrap-base-urls)) + (file-name "binutils-bootstrap.tar.xz") + (sha256 + (base32 + (match system + ("x86_64-linux" + "1j5yivz7zkjqfsfmxzrrrffwyayjqyfxgpi89df0w4qziqs2dg20") + ("i686-linux" + "14jgwf9gscd7l2pnz610b1zia06dvcm2qyzvni31b8zpgmcai2v9") + ("armhf-linux" + "1v7dj6bzn6m36f20gw31l99xaabq4xrhrx3gwqkhhig0mdlmr69q") + ("aarch64-linux" + "111s7ilfiby033rczc71797xrmaa3qlv179wdvsaq132pd51xv3n") + ("powerpc64le-linux" + "1klxy945c61134mzhqzz2gbk8w0n8jq7arwkrvz78d22ff2q0cwz") + ("riscv64-linux" + "0n9qf4vbilfmh1lknhw000waakj4q6s50pnjazr5137skm976z5m") + ("i586-gnu" + "11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs") + ("x86_64-gnu" + "033bgmaa012b2lw8g76b02mjgzdnzv2yd3jvaqbhqrr5q9r3xn04") + ("powerpc-linux" + "0asbg1c4avkrvh057mx0942xwddd136jni382zqsxzn79ls42yq8") + ("mips64el-linux" + "1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7")))))) + "ld" ; the program to test + "Bootstrap binaries of the GNU Binutils")) (define %bootstrap-glibc ;; The initial libc. @@ -765,99 +749,91 @@ $out/bin/guile --version~%" (source #f) (build-system trivial-build-system) (arguments - `(#:guile ,%bootstrap-guile - #:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - - (let ((out (assoc-ref %outputs "out")) - (tar (assoc-ref %build-inputs "tar")) - (xz (assoc-ref %build-inputs "xz")) - (tarball (assoc-ref %build-inputs "tarball"))) - - (mkdir out) - (copy-file tarball "binaries.tar.xz") - (invoke xz "-d" "binaries.tar.xz") - (let ((builddir (getcwd))) - (with-directory-excursion out - (invoke tar "xvf" - (string-append builddir - "/binaries.tar")) - (chmod "lib" #o755) - - ;; Patch linker scripts so they refer to the right file-names. - (substitute* ,(cond ((target-hurd64?) - ''("lib/libc.so" "lib/libm.so")) - ((and (not (target-hurd?)) - (or (target-x86?) - (target-arm?))) - ''("lib/libc.so" "lib/libpthread.so")) - (else - ''("lib/libc.so"))) - (("/[^ ]+/lib/(libc|libh|libm|libpthread|ld)" _ prefix) - (string-append out "/lib/" prefix))) - ,@(if (target-arm32?) - `((substitute* "lib/libpthread.so" - (("/[^ ]+/lib/libpthread_nonshared\\.a") ""))) - `()))))))) + (list + #:guile %bootstrap-guile + #:modules '((guix build utils)) + #:builder + #~(begin + (use-modules (guix build utils)) + + (let ((tar (assoc-ref %build-inputs "bootstrap-tar")) + (xz (assoc-ref %build-inputs "bootstrap-xz")) + (tarball (assoc-ref %build-inputs "glibc.tar.xz"))) + + (mkdir #$output) + (copy-file tarball "binaries.tar.xz") + (invoke xz "-d" "binaries.tar.xz") + (let ((builddir (getcwd))) + (with-directory-excursion #$output + (invoke tar "xvf" + (string-append builddir + "/binaries.tar")) + (chmod "lib" #o755) + + ;; Patch linker scripts so they refer to the right file-names. + (substitute* #$(cond ((target-hurd64?) + ''("lib/libc.so" "lib/libm.so")) + ((and (not (target-hurd?)) + (or (target-x86?) + (target-arm?))) + ''("lib/libc.so" "lib/libpthread.so")) + (else + ''("lib/libc.so"))) + (("/[^ ]+/lib/(libc|libh|libm|libpthread|ld)" _ prefix) + (string-append #$output "/lib/" prefix))) + #$@(if (target-arm32?) + #~((substitute* "lib/libpthread.so" + (("/[^ ]+/lib/libpthread_nonshared\\.a") ""))) + #~()))))))) (inputs - `(("tar" ,(bootstrap-executable "tar" (%current-system))) - ("xz" ,(bootstrap-executable "xz" (%current-system))) - ("tarball" ,(bootstrap-origin - (origin - (method url-fetch) - (uri (map (cut string-append <> "/" (%current-system) - (match (%current-system) - ("armhf-linux" - "/20150101/glibc-2.20.tar.xz") - ("aarch64-linux" - "/20170217/glibc-2.25.tar.xz") - ("powerpc64le-linux" - "/20210106/glibc-stripped-2.31-powerpc64le-linux-gnu.tar.xz") - ("i586-gnu" - "/20240816/glibc-stripped-2.39-i586-pc-gnu.tar.xz") - ("x86_64-gnu" - "/20260302/glibc-stripped-2.41-x86_64-pc-gnu.tar.xz") - ("powerpc-linux" - "/20200923/glibc-2.32.tar.xz") - ("riscv64-linux" - "/20210725/glibc-2.31.tar.xz") - (_ - "/20131110/glibc-2.18.tar.xz"))) - %bootstrap-base-urls)) - (sha256 - (match (%current-system) - ("x86_64-linux" - (base32 - "0jlqrgavvnplj1b083s20jj9iddr4lzfvwybw5xrcis9spbfzk7v")) - ("i686-linux" - (base32 - "1hgrccw1zqdc7lvgivwa54d9l3zsim5pqm0dykxg0z522h6gr05w")) - ("armhf-linux" - (base32 - "18cmgvpllqfpn6khsmivqib7ys8ymnq0hdzi3qp24prik0ykz8gn")) - ("aarch64-linux" - (base32 - "07nx3x8598i2924rjnlrncg6rm61c9bmcczbbcpbx0fb742nvv5c")) - ("powerpc64le-linux" - (base32 - "1a1df6z8gkaq09md3jy94lixnh20599p58p0s856p10xwjaqr1iz")) - ("riscv64-linux" - (base32 - "0d9x80vm7ca1pd2whcmpm1h14zxpb58kqajlxlwffzm04xfsjnxm")) - ("i586-gnu" - (base32 - "0x2x6w611k6v9qdabacawamw2475p04hm3s0q95xcg063wjq4ig2")) - ("x86_64-gnu" - (base32 - "1lpvk0l7qqvz46cnxm64a1a40zg0gj90j3glyk67i1sh5r4znlmy")) - ("powerpc-linux" - (base32 - "0smmssyjrlk5cvx49586smmk81gkwff0i6r91n4rir4jm6ba25sb")) - ("mips64el-linux" - (base32 - "0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg"))))))))) + (list (bootstrap-executable "tar" (%current-system)) + (bootstrap-executable "xz" (%current-system)) + (bootstrap-origin + (origin + (method url-fetch) + (uri (map (cut string-append <> "/" (%current-system) + (match (%current-system) + ("armhf-linux" + "/20150101/glibc-2.20.tar.xz") + ("aarch64-linux" + "/20170217/glibc-2.25.tar.xz") + ("powerpc64le-linux" + "/20210106/glibc-stripped-2.31-powerpc64le-linux-gnu.tar.xz") + ("i586-gnu" + "/20240816/glibc-stripped-2.39-i586-pc-gnu.tar.xz") + ("x86_64-gnu" + "/20260302/glibc-stripped-2.41-x86_64-pc-gnu.tar.xz") + ("powerpc-linux" + "/20200923/glibc-2.32.tar.xz") + ("riscv64-linux" + "/20210725/glibc-2.31.tar.xz") + (_ + "/20131110/glibc-2.18.tar.xz"))) + %bootstrap-base-urls)) + (file-name "glibc.tar.xz") + (sha256 + (base32 + (match (%current-system) + ("x86_64-linux" + "0jlqrgavvnplj1b083s20jj9iddr4lzfvwybw5xrcis9spbfzk7v") + ("i686-linux" + "1hgrccw1zqdc7lvgivwa54d9l3zsim5pqm0dykxg0z522h6gr05w") + ("armhf-linux" + "18cmgvpllqfpn6khsmivqib7ys8ymnq0hdzi3qp24prik0ykz8gn") + ("aarch64-linux" + "07nx3x8598i2924rjnlrncg6rm61c9bmcczbbcpbx0fb742nvv5c") + ("powerpc64le-linux" + "1a1df6z8gkaq09md3jy94lixnh20599p58p0s856p10xwjaqr1iz") + ("riscv64-linux" + "0d9x80vm7ca1pd2whcmpm1h14zxpb58kqajlxlwffzm04xfsjnxm") + ("i586-gnu" + "0x2x6w611k6v9qdabacawamw2475p04hm3s0q95xcg063wjq4ig2") + ("x86_64-gnu" + "1lpvk0l7qqvz46cnxm64a1a40zg0gj90j3glyk67i1sh5r4znlmy") + ("powerpc-linux" + "0smmssyjrlk5cvx49586smmk81gkwff0i6r91n4rir4jm6ba25sb") + ("mips64el-linux" + "0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg")))))))) (synopsis "Bootstrap binaries and headers of the GNU C Library") (description synopsis) (home-page #f) @@ -872,110 +848,102 @@ $out/bin/guile --version~%" (source #f) (build-system trivial-build-system) (arguments - `(#:guile ,%bootstrap-guile - #:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils) - (ice-9 popen)) - - (let ((out (assoc-ref %outputs "out")) - (tar (assoc-ref %build-inputs "tar")) - (xz (assoc-ref %build-inputs "xz")) - (bash (assoc-ref %build-inputs "bash")) - (libc (assoc-ref %build-inputs "libc")) - (tarball (assoc-ref %build-inputs "tarball"))) - - (mkdir out) - (copy-file tarball "binaries.tar.xz") ;avoid: more than one hard link - (invoke xz "-d" "binaries.tar.xz") - (let ((builddir (getcwd)) - (bindir (string-append out "/bin"))) - - (define (wrap-program program) - (let ((wrapped (format #f ".~a-wrapped" program))) - (rename-file program wrapped) - (call-with-output-file program - (lambda (p) - (format p "#!~a + (list + #:guile %bootstrap-guile + #:modules '((guix build utils)) + #:builder + #~(begin + (use-modules (guix build utils) + (ice-9 popen)) + + (let ((tar (assoc-ref %build-inputs "bootstrap-tar")) + (xz (assoc-ref %build-inputs "bootstrap-xz")) + (bash (assoc-ref %build-inputs "bootstrap-bash")) + (libc (assoc-ref %build-inputs "glibc-bootstrap")) + (tarball (assoc-ref %build-inputs "gcc.tar.xz"))) + + (mkdir #$output) + (copy-file tarball "binaries.tar.xz") ;avoid: more than one hard link + (invoke xz "-d" "binaries.tar.xz") + (let ((builddir (getcwd)) + (bindir (string-append #$output "/bin"))) + + (define (wrap-program program) + (let ((wrapped (format #f ".~a-wrapped" program))) + (rename-file program wrapped) + (call-with-output-file program + (lambda (p) + (format p "#!~a exec ~a/bin/~a -B~a/lib \ -Wl,-rpath -Wl,~a/lib \ -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" - bash - out wrapped - libc libc libc - ,(glibc-dynamic-linker))))) - (chmod program #o555)) - - (with-directory-excursion out - (invoke tar "xvf" - (string-append builddir "/binaries.tar"))) - - (with-directory-excursion bindir - (chmod "." #o755) - (for-each wrap-program - ,(if (target-hurd64?) - ''("gcc" "g++") - ''("gcc"))))))))) + bash + #$output wrapped + libc libc libc + #$(glibc-dynamic-linker))))) + (chmod program #o555)) + + (with-directory-excursion #$output + (invoke tar "xvf" + (string-append builddir "/binaries.tar"))) + + (with-directory-excursion bindir + (chmod "." #o755) + (for-each wrap-program + #$(if (target-hurd64?) + ''("gcc" "g++") + ''("gcc"))))))))) (inputs - `(("tar" ,(bootstrap-executable "tar" (%current-system))) - ("xz" ,(bootstrap-executable "xz" (%current-system))) - ("bash" ,(bootstrap-executable "bash" (%current-system))) - ("libc" ,%bootstrap-glibc) - ("tarball" ,(bootstrap-origin - (origin - (method url-fetch) - (uri (map (cut string-append <> "/" (%current-system) - (match (%current-system) - ("armhf-linux" - "/20150101/gcc-4.8.4.tar.xz") - ("aarch64-linux" - "/20170217/gcc-5.4.0.tar.xz") - ("powerpc64le-linux" - "/20210106/gcc-stripped-5.5.0-powerpc64le-linux-gnu.tar.xz") - ("i586-gnu" - "/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz") - ("x86_64-gnu" - "/20260302/gcc-stripped-14.3.0-x86_64-pc-gnu.tar.xz") - ("powerpc-linux" - "/20200923/gcc-5.5.0.tar.xz") - ("riscv64-linux" - "/20210725/gcc-7.5.0.tar.xz") - (_ - "/20131110/gcc-4.8.2.tar.xz"))) - %bootstrap-base-urls)) - (sha256 - (match (%current-system) - ("x86_64-linux" - (base32 - "17ga4m6195n4fnbzdkmik834znkhs53nkypp6557pl1ps7dgqbls")) - ("i686-linux" - (base32 - "150c1arrf2k8vfy6dpxh59vcgs4p1bgiz2av5m19dynpks7rjnyw")) - ("armhf-linux" - (base32 - "0ghz825yzp43fxw53kd6afm8nkz16f7dxi9xi40bfwc8x3nbbr8v")) - ("aarch64-linux" - (base32 - "1ar3vdzyqbfm0z36kmvazvfswxhcihlacl2dzdjgiq25cqnq9ih1")) - ("powerpc64le-linux" - (base32 - "151kjsai25vz2s667bgzpisx8f281fpl3n9pxz2yrp9jlnadz3m1")) - ("riscv64-linux" - (base32 - "1k4mbnb54wj2q37fgshf5dfixixqnhn002vhzvi9pnb57xb9v14d")) - ("i586-gnu" - (base32 - "1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5")) - ("x86_64-gnu" - (base32 - "1fhi7f5zld08b6qsyv1d48ha7z0vr8pxr4kf8x7aq1a3kbcv5rkz")) - ("powerpc-linux" - (base32 - "1p7df3yixhm87dw5sccc6yn1i9db1r9hnmsg87wq5xi4rfmirq7w")) - ("mips64el-linux" - (base32 - "1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks"))))))))) + (list (bootstrap-executable "tar" (%current-system)) + (bootstrap-executable "xz" (%current-system)) + (bootstrap-executable "bash" (%current-system)) + %bootstrap-glibc + (bootstrap-origin + (origin + (method url-fetch) + (uri (map (cut string-append <> "/" (%current-system) + (match (%current-system) + ("armhf-linux" + "/20150101/gcc-4.8.4.tar.xz") + ("aarch64-linux" + "/20170217/gcc-5.4.0.tar.xz") + ("powerpc64le-linux" + "/20210106/gcc-stripped-5.5.0-powerpc64le-linux-gnu.tar.xz") + ("i586-gnu" + "/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz") + ("x86_64-gnu" + "/20260302/gcc-stripped-14.3.0-x86_64-pc-gnu.tar.xz") + ("powerpc-linux" + "/20200923/gcc-5.5.0.tar.xz") + ("riscv64-linux" + "/20210725/gcc-7.5.0.tar.xz") + (_ + "/20131110/gcc-4.8.2.tar.xz"))) + %bootstrap-base-urls)) + (file-name "gcc.tar.xz") + (sha256 + (base32 + (match (%current-system) + ("x86_64-linux" + "17ga4m6195n4fnbzdkmik834znkhs53nkypp6557pl1ps7dgqbls") + ("i686-linux" + "150c1arrf2k8vfy6dpxh59vcgs4p1bgiz2av5m19dynpks7rjnyw") + ("armhf-linux" + "0ghz825yzp43fxw53kd6afm8nkz16f7dxi9xi40bfwc8x3nbbr8v") + ("aarch64-linux" + "1ar3vdzyqbfm0z36kmvazvfswxhcihlacl2dzdjgiq25cqnq9ih1") + ("powerpc64le-linux" + "151kjsai25vz2s667bgzpisx8f281fpl3n9pxz2yrp9jlnadz3m1") + ("riscv64-linux" + "1k4mbnb54wj2q37fgshf5dfixixqnhn002vhzvi9pnb57xb9v14d") + ("i586-gnu" + "1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5") + ("x86_64-gnu" + "1fhi7f5zld08b6qsyv1d48ha7z0vr8pxr4kf8x7aq1a3kbcv5rkz") + ("powerpc-linux" + "1p7df3yixhm87dw5sccc6yn1i9db1r9hnmsg87wq5xi4rfmirq7w") + ("mips64el-linux" + "1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))) (native-search-paths (list (search-path-specification (variable "C_INCLUDE_PATH")
