Package: guix-patches;
Reported by: Thiago Jung Bauermann <bauermann <at> kolabnow.com>
Date: Wed, 21 Jul 2021 00:47:01 UTC
Severity: normal
Tags: patch
View this message in rfc822 format
From: Thiago Jung Bauermann <bauermann <at> kolabnow.com> To: 49672 <at> debbugs.gnu.org Cc: Thiago Jung Bauermann <bauermann <at> kolabnow.com> 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 <at> 0.9.1b\", return two values: \"foo\"
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.