summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2024-01-07 18:31:32 +0100
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2024-01-07 18:31:32 +0100
commit2cbb1a6e1e2679c7db74b6b906d223fb3661d09f (patch)
treeab4101e769bbac1d53950004044fd297223b9492 /guix
parentb369dc272eeba4eafb2bc7dc56f7b3cf09fb0961 (diff)
parentb212e6934643e085f168a5364cb593f61aa616ba (diff)
Merge branch 'master' into gnome-team
Diffstat (limited to 'guix')
-rw-r--r--guix/platforms/x86.scm10
-rw-r--r--guix/ui.scm4
-rw-r--r--guix/utils.scm12
3 files changed, 23 insertions, 3 deletions
diff --git a/guix/platforms/x86.scm b/guix/platforms/x86.scm
index 4ed5638c14..0c8fc7296c 100644
--- a/guix/platforms/x86.scm
+++ b/guix/platforms/x86.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
+;;; Copyright © 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +22,7 @@
#:use-module (guix records)
#:export (i686-linux
x86_64-linux
+ x86_64-linux-x32
i686-mingw
x86_64-mingw
i586-gnu))
@@ -41,6 +43,14 @@
(rust-target "x86_64-unknown-linux-gnu")
(glibc-dynamic-linker "/lib/ld-linux-x86-64.so.2")))
+(define x86_64-linux-x32
+ (platform
+ (target "x86_64-linux-gnux32")
+ (system #f)
+ (linux-architecture "x86_64")
+ (rust-target "x86_64-unknown-linux-gnux32")
+ (glibc-dynamic-linker "/lib/ld-linux-x32.so.2")))
+
(define i686-mingw
(platform
(target "i686-w64-mingw32")
diff --git a/guix/ui.scm b/guix/ui.scm
index e3bf07212f..962d291d2e 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
@@ -555,7 +555,7 @@ See the \"Application Setup\" section in the manual, for more info.\n"))
(leave-on-EPIPE
(simple-format #t "~a (~a) ~a~%"
command %guix-package-name %guix-version)
- (format #t "Copyright ~a 2023 ~a"
+ (format #t "Copyright ~a 2024 ~a"
;; TRANSLATORS: Translate "(C)" to the copyright symbol
;; (C-in-a-circle), if this symbol is available in the user's
;; locale. Otherwise, do not translate "(C)"; leave it as-is. */
diff --git a/guix/utils.scm b/guix/utils.scm
index 8e71f97e1c..e4e9d922e7 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018, 2020 Marius Bakke <marius@gnu.org>
-;;; Copyright © 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020, 2021, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
@@ -97,6 +97,7 @@
target-x86-32?
target-x86-64?
target-x86?
+ target-x32?
target-arm32?
target-aarch64?
target-arm?
@@ -634,6 +635,8 @@ returned by `config.guess'."
(else triplet))))
(cond ((string-match "^arm[^-]*-([^-]+-)?linux-gnueabihf" triplet)
"armhf-linux")
+ ;; Otherwise it will show up as x86_64-linux... which isn't wrong.
+ ((string-match "x86_64-linux-gnux32" triplet) "x86_64-linux-gnux32")
((string-match "^([^-]+)-([^-]+-)?linux-gnu.*" triplet)
=>
(lambda (m)
@@ -710,6 +713,13 @@ a character other than '@'."
architecture (x86_64)?"
(string-prefix? "x86_64-" target))
+(define* (target-x32? #:optional (target (or (%current-target-system)
+ (%current-system))))
+ "Is the architecture of TARGET a variant of Intel/AMD's 64-bit
+architecture (x86_64) using 32-bit data types?"
+ (and (target-x86-64? target)
+ (string-suffix? "gnux32" target)))
+
(define* (target-x86? #:optional (target (or (%current-target-system)
(%current-system))))
(or (target-x86-32? target) (target-x86-64? target)))