diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-07-17 15:23:04 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-07-17 15:36:04 +0200 |
commit | 6bfcb729268e0d20c6ae78224aef0eaad2ee2e74 (patch) | |
tree | 56f223208f4ebdae2821703eaeecd4dcbc46c5d5 | |
parent | f5854abc881ea279c0496234037621e145831e6c (diff) | |
download | guix-6bfcb729268e0d20c6ae78224aef0eaad2ee2e74.tar.gz guix-6bfcb729268e0d20c6ae78224aef0eaad2ee2e74.zip |
gnu: u-boot: Fix target/system comparison in 'make-u-boot-package'.
Until now, running, say:
guix build -e '(@@ (gnu packages bootloaders) u-boot-a20-olinuxino-micro)' \
-s armhf-linux
on an x86_64-linux machine wouldn't have the desired effect
because (%current-system) would return "x86_64-linux" when 'same-arch?'
was evaluated. This fixes that.
* gnu/packages/bootloaders.scm (make-u-boot-package)[same-arch?]: Turn
into a thunk so that (%current-system) is evaluated in the right
context, and adjust callers. Use 'string=?' instead of 'string-prefix?'.
-rw-r--r-- | gnu/packages/bootloaders.scm | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index dda258a52e..41a2de9706 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -524,17 +524,16 @@ board-independent tools."))) (define-public (make-u-boot-package board triplet) "Returns a u-boot package for BOARD cross-compiled for TRIPLET." - (let ((same-arch? (if (string-prefix? (%current-system) - (gnu-triplet->nix-system triplet)) - `#t - `#f))) + (let ((same-arch? (lambda () + (string=? (%current-system) + (gnu-triplet->nix-system triplet))))) (package (inherit u-boot) (name (string-append "u-boot-" (string-replace-substring (string-downcase board) "_" "-"))) (native-inputs - `(,@(if (not same-arch?) + `(,@(if (not (same-arch?)) `(("cross-gcc" ,(cross-gcc triplet #:xgcc gcc-7)) ("cross-binutils" ,(cross-binutils triplet))) `(("gcc-7" ,gcc-7))) @@ -547,7 +546,7 @@ board-independent tools."))) #:test-target "test" #:make-flags (list "HOSTCC=gcc" - ,@(if (not same-arch?) + ,@(if (not (same-arch?)) `((string-append "CROSS_COMPILE=" ,triplet "-")) '())) #:phases |