[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#49672] [PATCH 7/9] bootloader: grub: Fix mix of GNU triplet and Nix
From: |
Thiago Jung Bauermann |
Subject: |
[bug#49672] [PATCH 7/9] bootloader: grub: Fix mix of GNU triplet and Nix system identifier |
Date: |
Tue, 20 Jul 2021 22:00:41 -0300 |
‘install-grub-efi-netboot’ calls ‘nix-system->gnu-triplet’ on
‘%current-target-system’, but that parameter already contains a GNU triplet
identifier.
There’s no bug in practice because ‘install-grub-efi-netboot’ only uses the
arch part of the identifier, which is the same for both. Nevertheless, it’s
best to fix the confusion.
Therefore, define a ‘current-target-gnu-triplet’ procedure which returns
the GNU triplet identifier for the current target – whether we are
cross-building or not – and use it in ‘install-grub-efi-netboot’.
Also take the opportunity to use the new procedure in packages ‘gcc-4.7’,
‘rust-1.19’ and ‘mplayer’, which have the same logic as the new procedure.
* gnu/bootloader/grub.scm (install-grub-efi-netboot): Use
‘current-target-gnu-triplet’.
* gnu/packages/gcc.scm (gcc-4.7)[configure-flags]: Likewise.
* gnu/packages/rust.scm (rust-1.19)[arguments]<#:phases>: Likewise.
* gnu/packages/video.scm (mplayer)[arguments]<#:phases>: Likewise.
* guix/utils.scm (current-target-gnu-triplet): Define new procedure.
---
gnu/bootloader/grub.scm | 5 +----
gnu/packages/gcc.scm | 5 +----
gnu/packages/rust.scm | 4 +---
gnu/packages/video.scm | 4 +---
guix/utils.scm | 7 +++++++
5 files changed, 11 insertions(+), 14 deletions(-)
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm
index ce146aba3c60..fe82a3c1e9ed 100644
--- a/gnu/bootloader/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -610,10 +610,7 @@ fi~%"))))
(define (install-grub-efi-netboot subdir)
"Define a grub-efi-netboot bootloader installer for installation in SUBDIR,
which is usually efi/Guix or efi/boot."
- (let* ((system (string-split (nix-system->gnu-triplet
- (or (%current-target-system)
- (%current-system)))
- #\-))
+ (let* ((system (string-split (current-target-gnu-triplet) #\-))
(arch (first system))
(boot-efi-link (match system
;; These are the supportend systems and the names
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 2fe30b13210e..4adcb5fc0d69 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -138,10 +138,7 @@ where the OS part is overloaded to denote a specific
ABI---into GCC
"--without-headers")))
;; Pass the right options for the target triplet.
- (let ((triplet
- (or (%current-target-system)
- (nix-system->gnu-triplet (%current-system)))))
- (gcc-configure-flags-for-triplet triplet))
+ (gcc-configure-flags-for-triplet
(current-target-gnu-triplet))
(maybe-target-tools))))))
(hidden-package
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 73f94a3929bd..c8bb4d158711 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -402,9 +402,7 @@ test = { path = \"../libtest\" }
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (target-system ,(or (%current-target-system)
- (nix-system->gnu-triplet
- (%current-system))))
+ (target-system ,(current-target-gnu-triplet))
(out-libs (string-append out "/lib/rustlib/"
target-system "/lib")))
;(setenv "CFG_PREFIX" out)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 6cf8b90ffa95..375e2297b889 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2032,9 +2032,7 @@ streaming protocols.")
'("--target=mips3-linux"))
(_ (list (string-append
"--target="
- (or (%current-target-system)
- (nix-system->gnu-triplet
- (%current-system)))))))
+ (current-target-gnu-triplet)))))
"--disable-iwmmxt")))))))
(home-page "https://www.mplayerhq.hu")
(synopsis "Audio and video player")
diff --git a/guix/utils.scm b/guix/utils.scm
index 4072dea89051..61da05137186 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -78,6 +78,7 @@
%current-system
%current-target-system
current-target-nix-system
+ current-target-gnu-triplet
package-name->name+version
target-mingw?
target-arm32?
@@ -527,6 +528,12 @@ cross-building or not."
(or (and=> (%current-target-system) gnu-triplet->nix-system)
(%current-system)))
+(define (current-target-gnu-triplet)
+ "Return the GNU triplet identifier for the current target, whether we are
+cross-building or not."
+ (or (%current-target-system)
+ (nix-system->gnu-triplet (%current-system))))
+
(define* (package-name->name+version spec
#:optional (delimiter #\@))
"Given SPEC, a package name like \"foo@0.9.1b\", return two values: \"foo\"
- [bug#49672] [PATCH 0/9] Target check fixes and cleanups, Thiago Jung Bauermann, 2021/07/20
- [bug#49672] [PATCH 1/9] gnu: Fix check of ‘%current-system’ and ‘%current-target-system’, Thiago Jung Bauermann, 2021/07/20
- [bug#49672] [PATCH 2/9] utils: Add ‘current-target-nix-system’ helper, Thiago Jung Bauermann, 2021/07/20
- [bug#49672] [PATCH 3/9] gnu: Query membership in ‘supported-systems’ list with Nix identifier, Thiago Jung Bauermann, 2021/07/20
- [bug#49672] [PATCH 7/9] bootloader: grub: Fix mix of GNU triplet and Nix system identifier,
Thiago Jung Bauermann <=
- [bug#49672] [PATCH 4/9] gnu: Use ‘current-target-nix-system’ in pattern matches, Thiago Jung Bauermann, 2021/07/20
- [bug#49672] [PATCH 5/9] gnu: Use ‘current-target-nix-system’ in prefix checks, Thiago Jung Bauermann, 2021/07/20
- [bug#49672] [PATCH 6/9] gnu: Fix GNU/Linux system detection, Thiago Jung Bauermann, 2021/07/20
- [bug#49672] [PATCH 8/9] gnu: ustr: Don’t pass default argument, Thiago Jung Bauermann, 2021/07/20
- [bug#49672] [PATCH 9/9] gnu: Use existing target helpers from ‘(guix utils)’, Thiago Jung Bauermann, 2021/07/20