summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanneke Nieuwenhuizen <janneke@gnu.org>2024-11-06 13:37:10 +0100
committerJanneke Nieuwenhuizen <janneke@gnu.org>2024-12-03 08:38:00 +0100
commit4d9c5984fee481d74c2f504094b4797bbb4104d4 (patch)
treea5011e48f764fbe3fd3c041964b410cb6a5fbe9d
parentec8a5ec15f898e864705e5a5c834532e3fa8d0a4 (diff)
gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd.
On commit: ec8a5ec15f898e864705e5a5c834532e3fa8d0a4 gnu: make-bootstrap: Update gcc-static to gcc-14, for the 64bit Hurd. Run: ./pre-inst-env guix build --target=x86_64-gnu bootstrap-tarballs Producing: /gnu/store/w1n7bdpn88plcc49h7n0jriaj41sgwx8-bootstrap-tarballs-0/ With guix hash -r: 15cb1xh7s2hhp8s0d81bjnw1759w9sh7ckc9n5jq2f3rqw6z76by * gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for x86_64-gnu. (%bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Add entry for x86_64-gnu. * guix/packages.scm (%supported-systems, %hurd-systems): Add x86_64-gnu. (%cuirass-supported-systems): Remove x86_64-gnu. * guix/utils.scm (target-64bit?): Add x86_64-gnu. * m4/guix.m4: Add x86_64-gnu as a supported system. * doc/guix.texi (GNU Distribution): Add x86_64-gnu. Change-Id: I828159aedb3f66caba98e935083cc3682429f219
-rw-r--r--doc/guix.texi9
-rw-r--r--gnu/packages/bootstrap.scm36
-rw-r--r--guix/packages.scm8
-rw-r--r--m4/guix.m412
4 files changed, 57 insertions, 8 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 3278aeb7d66..f43cb539904 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -36,7 +36,7 @@ Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@*
36Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@* 36Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@*
37Copyright @copyright{} 2016 John Darrington@* 37Copyright @copyright{} 2016 John Darrington@*
38Copyright @copyright{} 2016, 2017 Nikita Gillmann@* 38Copyright @copyright{} 2016, 2017 Nikita Gillmann@*
39Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan Nieuwenhuizen@* 39Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Janneke Nieuwenhuizen@*
40Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@* 40Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@*
41Copyright @copyright{} 2016 Alex ter Weele@* 41Copyright @copyright{} 2016 Alex ter Weele@*
42Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* 42Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@*
@@ -639,6 +639,13 @@ way for you to give it a try is by setting up an instance of
639(@pxref{transparent-emulation-qemu, @code{hurd-vm-service-type}}). 639(@pxref{transparent-emulation-qemu, @code{hurd-vm-service-type}}).
640@xref{Contributing}, on how to help! 640@xref{Contributing}, on how to help!
641 641
642@item x86_64-gnu
643@uref{https://hurd.gnu.org, GNU/Hurd} on the @code{x86_64} Intel/AMD
64464-bit architecture.
645
646This configuration is even more experimental and under heavy upstream
647development.
648
642@item mips64el-linux (unsupported) 649@item mips64el-linux (unsupported)
643little-endian 64-bit MIPS processors, specifically the Loongson series, 650little-endian 64-bit MIPS processors, specifically the Loongson series,
644n32 ABI, and Linux-Libre kernel. This configuration is no longer fully 651n32 ABI, and Linux-Libre kernel. This configuration is no longer fully
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 27798fe2783..80279183239 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -125,6 +125,15 @@
125 ,(base32 "0nq2c1zb3wv5bf7kd83sziaashydazrn7xgq6kijlk0zj2syzc2m")) 125 ,(base32 "0nq2c1zb3wv5bf7kd83sziaashydazrn7xgq6kijlk0zj2syzc2m"))
126 ("xz" 126 ("xz"
127 ,(base32 "033rhpk6zrpxpd6ffjyg5y2zwq9x9cnq0zljb7k8jlncbalsayq5"))) 127 ,(base32 "033rhpk6zrpxpd6ffjyg5y2zwq9x9cnq0zljb7k8jlncbalsayq5")))
128 ("x86_64-gnu"
129 ("bash"
130 ,(base32 "1xvhwyvamlcva01zv6pz7br7d2lgq5qd14misi8wffxc78c4lndk"))
131 ("mkdir"
132 ,(base32 "1c5irkgxaxpwlxzf68xg47j7m6ibd9xqvxznlml42nhfnrka447s"))
133 ("tar"
134 ,(base32 "0ak7sri6294y1g3ia1yrf7facxc7dij02mlxi4xg6k5yszv1jd3w"))
135 ("xz"
136 ,(base32 "0zz9pgw0pyadqsq9nvvpiryk1gpmm89754m6xlqh4ssbbvzpk3y6")))
128 ("mips64el-linux" 137 ("mips64el-linux"
129 ("bash" 138 ("bash"
130 ,(base32 "1aw046dhda240k9pb9iaj5aqkm23gkvxa9j82n4k7fk87nbrixw6")) 139 ,(base32 "1aw046dhda240k9pb9iaj5aqkm23gkvxa9j82n4k7fk87nbrixw6"))
@@ -165,6 +174,7 @@
165 (match system 174 (match system
166 ("powerpc64le-linux" (string-append system "/20210106/" program)) 175 ("powerpc64le-linux" (string-append system "/20210106/" program))
167 ("i586-gnu" (string-append system "/20200326/" program)) 176 ("i586-gnu" (string-append system "/20200326/" program))
177 ("x86_64-gnu" (string-append system "/20241122/" program))
168 ("powerpc-linux" (string-append system "/20200923/bin/" program)) 178 ("powerpc-linux" (string-append system "/20200923/bin/" program))
169 ("riscv64-linux" (string-append system "/20210725/bin/" program)) 179 ("riscv64-linux" (string-append system "/20210725/bin/" program))
170 (_ (string-append system "/" program 180 (_ (string-append system "/" program
@@ -366,6 +376,8 @@ or false to signal an error."
366 "/20150101/guile-2.0.11.tar.xz") 376 "/20150101/guile-2.0.11.tar.xz")
367 ("i586-gnu" 377 ("i586-gnu"
368 "/20200326/guile-static-stripped-2.0.14-i586-pc-gnu.tar.xz") 378 "/20200326/guile-static-stripped-2.0.14-i586-pc-gnu.tar.xz")
379 ("x86_64-gnu"
380 "/20241122/guile-static-stripped-3.0.9-x86_64-pc-gnu.tar.xz")
369 ("powerpc64le-linux" 381 ("powerpc64le-linux"
370 "/20210106/guile-static-stripped-2.0.14-powerpc64le-linux-gnu.tar.xz") 382 "/20210106/guile-static-stripped-2.0.14-powerpc64le-linux-gnu.tar.xz")
371 ("riscv64-linux" 383 ("riscv64-linux"
@@ -387,9 +399,11 @@ or false to signal an error."
387 ("powerpc64le-linux" 399 ("powerpc64le-linux"
388 (base32 "1rnyfz5q38jyvxddj617443bnnzql4vw0mxzqpj8wz48wx4bhbq0")) 400 (base32 "1rnyfz5q38jyvxddj617443bnnzql4vw0mxzqpj8wz48wx4bhbq0"))
389 ("aarch64-linux" 401 ("aarch64-linux"
390 (base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r")) 402 (base32 "1ymp3lck1l5fybsa542ny2fdkfydfcfvqbgr3qh03yvq4fwfn6mc"))
391 ("i586-gnu" 403 ("i586-gnu"
392 (base32 "0wgqpsmvg25rnqn49ap7kwd2qxccd8dr4lllzp7i3rjvgav27vac")) 404 (base32 "0wgqpsmvg25rnqn49ap7kwd2qxccd8dr4lllzp7i3rjvgav27vac"))
405 ("x86_64-gnu"
406 (base32 "109p34v8fgxznxdyb90y74qj6ppwgb5qj0c2pa3gxba7x1r0p4k1"))
393 ("powerpc-linux" 407 ("powerpc-linux"
394 (base32 "1by2p7s27fbyjzfkcw8h65h4kkqh7d23kv4sgg5jppjn2qx7swq4")) 408 (base32 "1by2p7s27fbyjzfkcw8h65h4kkqh7d23kv4sgg5jppjn2qx7swq4"))
395 ("riscv64-linux" 409 ("riscv64-linux"
@@ -599,6 +613,8 @@ $out/bin/guile --version~%"
599 "/20210106/static-binaries-0-powerpc64le-linux-gnu.tar.xz") 613 "/20210106/static-binaries-0-powerpc64le-linux-gnu.tar.xz")
600 ("i586-gnu" 614 ("i586-gnu"
601 "/20200326/static-binaries-0-i586-pc-gnu.tar.xz") 615 "/20200326/static-binaries-0-i586-pc-gnu.tar.xz")
616 ("x86_64-gnu"
617 "/20241122/static-binaries-0-x86_64-pc-gnu.tar.xz")
602 ("powerpc-linux" 618 ("powerpc-linux"
603 "/20200923/static-binaries.tar.xz") 619 "/20200923/static-binaries.tar.xz")
604 ("riscv64-linux" 620 ("riscv64-linux"
@@ -626,6 +642,9 @@ $out/bin/guile --version~%"
626 ("i586-gnu" 642 ("i586-gnu"
627 (base32 643 (base32
628 "17kllqnf3fg79gzy9ansgi801c46yh9c23h4d923plvb0nfm1cfn")) 644 "17kllqnf3fg79gzy9ansgi801c46yh9c23h4d923plvb0nfm1cfn"))
645 ("x86_64-gnu"
646 (base32
647 "04zksa2457h1vcl5ry2hyzhhsg8fckvfdgadp0viba3anwms2463"))
629 ("powerpc-linux" 648 ("powerpc-linux"
630 (base32 649 (base32
631 "0kspxy0yczan2vlih6aa9hailr2inz000fqa0gn5x9d1fxxa5y8m")) 650 "0kspxy0yczan2vlih6aa9hailr2inz000fqa0gn5x9d1fxxa5y8m"))
@@ -682,6 +701,8 @@ $out/bin/guile --version~%"
682 "/20210106/binutils-static-stripped-2.34-powerpc64le-linux-gnu.tar.xz") 701 "/20210106/binutils-static-stripped-2.34-powerpc64le-linux-gnu.tar.xz")
683 ("i586-gnu" 702 ("i586-gnu"
684 "/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz") 703 "/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz")
704 ("x86_64-gnu"
705 "/20241122/binutils-static-stripped-2.41-x86_64-pc-gnu.tar.xz")
685 ("powerpc-linux" 706 ("powerpc-linux"
686 "/20200923/binutils-2.35.1.tar.xz") 707 "/20200923/binutils-2.35.1.tar.xz")
687 ("riscv64-linux" 708 ("riscv64-linux"
@@ -712,6 +733,9 @@ $out/bin/guile --version~%"
712 ("i586-gnu" 733 ("i586-gnu"
713 (base32 734 (base32
714 "11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs")) 735 "11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs"))
736 ("x86_64-gnu"
737 (base32
738 "1fasv76rppnqlshjqc7dbzngic9cqswi5ydzg6w9rc075daqk8kb"))
715 ("powerpc-linux" 739 ("powerpc-linux"
716 (base32 740 (base32
717 "0asbg1c4avkrvh057mx0942xwddd136jni382zqsxzn79ls42yq8")) 741 "0asbg1c4avkrvh057mx0942xwddd136jni382zqsxzn79ls42yq8"))
@@ -772,6 +796,8 @@ $out/bin/guile --version~%"
772 "/20210106/glibc-stripped-2.31-powerpc64le-linux-gnu.tar.xz") 796 "/20210106/glibc-stripped-2.31-powerpc64le-linux-gnu.tar.xz")
773 ("i586-gnu" 797 ("i586-gnu"
774 "/20240816/glibc-stripped-2.39-i586-pc-gnu.tar.xz") 798 "/20240816/glibc-stripped-2.39-i586-pc-gnu.tar.xz")
799 ("x86_64-gnu"
800 "/20241122/glibc-stripped-2.39-x86_64-pc-gnu.tar.xz")
775 ("powerpc-linux" 801 ("powerpc-linux"
776 "/20200923/glibc-2.32.tar.xz") 802 "/20200923/glibc-2.32.tar.xz")
777 ("riscv64-linux" 803 ("riscv64-linux"
@@ -802,6 +828,9 @@ $out/bin/guile --version~%"
802 ("i586-gnu" 828 ("i586-gnu"
803 (base32 829 (base32
804 "0x2x6w611k6v9qdabacawamw2475p04hm3s0q95xcg063wjq4ig2")) 830 "0x2x6w611k6v9qdabacawamw2475p04hm3s0q95xcg063wjq4ig2"))
831 ("x86_64-gnu"
832 (base32
833 "1w4h91kxl64a62l646966i73zp2cj6w4dmyc64fh0c1hhdykxass"))
805 ("powerpc-linux" 834 ("powerpc-linux"
806 (base32 835 (base32
807 "0smmssyjrlk5cvx49586smmk81gkwff0i6r91n4rir4jm6ba25sb")) 836 "0smmssyjrlk5cvx49586smmk81gkwff0i6r91n4rir4jm6ba25sb"))
@@ -878,6 +907,8 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
878 "/20210106/gcc-stripped-5.5.0-powerpc64le-linux-gnu.tar.xz") 907 "/20210106/gcc-stripped-5.5.0-powerpc64le-linux-gnu.tar.xz")
879 ("i586-gnu" 908 ("i586-gnu"
880 "/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz") 909 "/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz")
910 ("x86_64-gnu"
911 "/20241122/gcc-stripped-14.2.0-x86_64-pc-gnu.tar.xz")
881 ("powerpc-linux" 912 ("powerpc-linux"
882 "/20200923/gcc-5.5.0.tar.xz") 913 "/20200923/gcc-5.5.0.tar.xz")
883 ("riscv64-linux" 914 ("riscv64-linux"
@@ -908,6 +939,9 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
908 ("i586-gnu" 939 ("i586-gnu"
909 (base32 940 (base32
910 "1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5")) 941 "1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5"))
942 ("x86_64-gnu"
943 (base32
944 "1cgbhc76hlccx6v2z7kk7z173lryyq3la5mmbwivl6hbl1zcqg3m"))
911 ("powerpc-linux" 945 ("powerpc-linux"
912 (base32 946 (base32
913 "1p7df3yixhm87dw5sccc6yn1i9db1r9hnmsg87wq5xi4rfmirq7w")) 947 "1p7df3yixhm87dw5sccc6yn1i9db1r9hnmsg87wq5xi4rfmirq7w"))
diff --git a/guix/packages.scm b/guix/packages.scm
index dbb85974887..0ce32760513 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -10,6 +10,7 @@
10;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be> 10;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
11;;; Copyright © 2022 jgart <jgart@dismail.de> 11;;; Copyright © 2022 jgart <jgart@dismail.de>
12;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com> 12;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
13;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
13;;; 14;;;
14;;; This file is part of GNU Guix. 15;;; This file is part of GNU Guix.
15;;; 16;;;
@@ -419,7 +420,7 @@ from forcing GEXP-PROMISE."
419(define %64bit-supported-systems 420(define %64bit-supported-systems
420 ;; This is the list of 64-bit system types that are supported. 421 ;; This is the list of 64-bit system types that are supported.
421 '("x86_64-linux" "mips64el-linux" "aarch64-linux" "powerpc64le-linux" 422 '("x86_64-linux" "mips64el-linux" "aarch64-linux" "powerpc64le-linux"
422 "riscv64-linux")) 423 "riscv64-linux" "x86_64-gnu"))
423 424
424(define %supported-systems 425(define %supported-systems
425 ;; This is the list of system types that are supported. By default, we 426 ;; This is the list of system types that are supported. By default, we
@@ -428,14 +429,15 @@ from forcing GEXP-PROMISE."
428 429
429(define %hurd-systems 430(define %hurd-systems
430 ;; The GNU/Hurd systems for which support is being developed. 431 ;; The GNU/Hurd systems for which support is being developed.
431 '("i586-gnu")) 432 '("i586-gnu" "x86_64-gnu"))
432 433
433(define %cuirass-supported-systems 434(define %cuirass-supported-systems
434 ;; This is the list of system types for which build machines are available. 435 ;; This is the list of system types for which build machines are available.
435 ;; 436 ;;
436 ;; XXX: MIPS is unavailable in CI: 437 ;; XXX: MIPS is unavailable in CI:
437 ;; <https://lists.gnu.org/archive/html/guix-devel/2017-03/msg00790.html>. 438 ;; <https://lists.gnu.org/archive/html/guix-devel/2017-03/msg00790.html>.
438 (fold delete %supported-systems '("mips64el-linux" "powerpc-linux" "riscv64-linux"))) 439 (fold delete %supported-systems '("mips64el-linux" "powerpc-linux"
440 "riscv64-linux" "x86_64-gnu")))
439 441
440(define (maybe-add-input-labels inputs) 442(define (maybe-add-input-labels inputs)
441 "Add labels to INPUTS unless it already has them." 443 "Add labels to INPUTS unless it already has them."
diff --git a/m4/guix.m4 b/m4/guix.m4
index b93daba5c3a..8c2757a8b74 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -3,6 +3,7 @@ dnl Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2021 Ludovic Co
3dnl Copyright © 2014 Mark H Weaver <mhw@netris.org> 3dnl Copyright © 2014 Mark H Weaver <mhw@netris.org>
4dnl Copyright © 2017, 2020, 2021, 2023 Efraim Flashner <efraim@flashner.co.il> 4dnl Copyright © 2017, 2020, 2021, 2023 Efraim Flashner <efraim@flashner.co.il>
5dnl Copyright © 2021 Chris Marusich <cmmarusich@gmail.com> 5dnl Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
6dnl Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
6dnl 7dnl
7dnl This file is part of GNU Guix. 8dnl This file is part of GNU Guix.
8dnl 9dnl
@@ -61,8 +62,13 @@ AC_DEFUN([GUIX_SYSTEM_TYPE], [
61 linux-musl*) 62 linux-musl*)
62 guix_system="$machine_name-linux";; 63 guix_system="$machine_name-linux";;
63 gnu*) 64 gnu*)
64 # Always use i586 for GNU/Hurd. 65 case "$machine_name" in
65 guix_system="i586-gnu";; 66 i386|i486|i586|i686)
67 # Always use i586 for 32bit GNU/Hurd.
68 guix_system="i586-gnu";;
69 *)
70 guix_system="$machine_name-gnu";;
71 esac;;
66 *) 72 *)
67 # Strip the version number from names such as `gnu0.3', 73 # Strip the version number from names such as `gnu0.3',
68 # `darwin10.2.0', etc. 74 # `darwin10.2.0', etc.
@@ -91,7 +97,7 @@ courageous and port the GNU System distribution to it (see
91 # Currently only Linux-based systems are supported, and only on some 97 # Currently only Linux-based systems are supported, and only on some
92 # platforms. 98 # platforms.
93 case "$guix_system" in 99 case "$guix_system" in
94 x86_64-linux|i686-linux|armhf-linux|aarch64-linux|powerpc64le-linux|riscv64-linux|i586-gnu) 100 x86_64-linux|i686-linux|armhf-linux|aarch64-linux|powerpc64le-linux|riscv64-linux|i586-gnu|x86_64-gnu)
95 ;; 101 ;;
96 mips64el-linux|powerpc-linux) 102 mips64el-linux|powerpc-linux)
97 AC_MSG_WARN([building Guix on `$guix_system', which is not supported]) 103 AC_MSG_WARN([building Guix on `$guix_system', which is not supported])