diff options
author | Janneke Nieuwenhuizen <janneke@gnu.org> | 2024-11-18 09:46:17 +0100 |
---|---|---|
committer | Janneke Nieuwenhuizen <janneke@gnu.org> | 2024-12-03 08:39:01 +0100 |
commit | a82e75d807f500560e5104cd9b3f3263515750bd (patch) | |
tree | 1089d3f6b4b6182c35ada5d809cad8b7ff450dd9 | |
parent | bd785af9955e8e5054bc6109e4c4e6c17f54b6e0 (diff) | |
download | guix-a82e75d807f500560e5104cd9b3f3263515750bd.tar guix-a82e75d807f500560e5104cd9b3f3263515750bd.tar.gz |
gnu: Use gcc-14, gcc-toolchain-14 on the 64bit Hurd.
This enables building packages in a 64bit childhurd. It will not enable
offloading to a childhurd.
* guix/utils.scm (host-hurd?, host-x86-64, host-hurd64?): New procedures.
* gnu/packages/commencement.scm (gcc-toolchain): Use them to determine if the
host is a 64bit Hurd, and use gcc-toolchain-14.
* gnu/packages/gcc.scm (gcc): Likewise, to use gcc-14.
Change-Id: I55e43fdc61e3ea5fc13065fc7ca854b951c94930
-rw-r--r-- | gnu/packages/commencement.scm | 4 | ||||
-rw-r--r-- | gnu/packages/gcc.scm | 5 | ||||
-rw-r--r-- | guix/utils.scm | 19 |
3 files changed, 26 insertions, 2 deletions
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index a14de3002f..3f11bb3384 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3642,7 +3642,9 @@ is the GNU Compiler Collection.") ;; The default GCC (define-public gcc-toolchain - gcc-toolchain-11) + (if (host-hurd64?) + gcc-toolchain-14 + gcc-toolchain-11)) (define-public gcc-toolchain-aka-gcc ;; It's natural for users to try "guix install gcc". This package diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index e437bf5826..6247919fec 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -858,7 +858,10 @@ It also includes runtime support libraries for these languages.") ;; Note: When changing the default gcc version, update ;; the gcc-toolchain-* definitions. -(define-public gcc gcc-11) +(define-public gcc + (if (host-hurd64?) + gcc-14 + gcc-11)) ;;; diff --git a/guix/utils.scm b/guix/utils.scm index e100c03365..537d0490e0 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -96,6 +96,9 @@ system-hurd? target-hurd64? system-hurd64? + host-hurd? + host-hurd64? + host-x86-64? target-mingw? target-x86-32? target-x86-64? @@ -729,6 +732,22 @@ a character other than '@'." (and (system-hurd?) (target-64bit? (%current-system)))) +(define (host-hurd?) + "Are we running on a Hurd system? This is almost never the right function, +use target-hurd? or system-hurd? instead." + (equal? (utsname:sysname (uname)) "GNU")) + +(define (host-x86-64?) + "Are we running on a x86_64 system? This is almost never the right +function, use target-x86-64? or system-x86-64? instead." + (equal? (utsname:machine (uname)) "x86_64")) + +(define (host-hurd64?) + "Are we running on a 64bit Hurd? This is almost never the right +function, use target-hurd64? or system-hurd64? instead." + (and (host-hurd?) + (host-x86-64?))) + (define* (target-mingw? #:optional (target (%current-target-system))) "Is the operating system of TARGET Windows?" (and target |