From abb215e6dbee73fefc32dbfd13cf153b028bcf93 Mon Sep 17 00:00:00 2001
From: Lu Hui <luhux76@gmail.com>
Date: Fri, 16 Sep 2022 18:34:59 +0800
Subject: [PATCH] gnu: busybox: fix the cross build.
* gnu/packages/busybox.scm (busybox): fix cross build
---
gnu/packages/busybox.scm | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
@@ -2,6 +2,7 @@
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2022 LuHui <luhux76@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,8 +46,9 @@ (define-public busybox
"0jfm9fik7nv4w21zqdg830pddgkdjmplmna9yjn9ck1lwn4vsps1"))))
(build-system gnu-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
(add-before 'configure 'disable-timestamps
(lambda _
(setenv "KCONFIG_NOTIMESTAMP" "1")))
@@ -65,7 +67,7 @@ (define-public busybox
(("# CONFIG_INSTALL_NO_USR is not set")
"CONFIG_INSTALL_NO_USR=y"))))
(replace 'check
- (lambda* (#:key make-flags #:allow-other-keys)
+ (lambda* (#:key tests? make-flags #:allow-other-keys)
(substitute* '("testsuite/du/du-s-works"
"testsuite/du/du-works")
(("/bin") "/etc")) ; there is no /bin but there is a /etc
@@ -93,17 +95,23 @@ (define-public busybox
(delete-file "testsuite/which/which-uses-default-path")
(rmdir "testsuite/which")
- (apply invoke "make"
- ;; "V=1"
- "SKIP_KNOWN_BUGS=1"
- "SKIP_INTERNET_TESTS=1"
- "check" make-flags)))
+ (when tests?
+ (apply invoke "make"
+ ;; "V=1"
+ "SKIP_KNOWN_BUGS=1"
+ "SKIP_INTERNET_TESTS=1"
+ "check" make-flags))))
(replace 'install
(lambda* (#:key outputs make-flags #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(apply invoke "make"
(string-append "CONFIG_PREFIX=" out)
- "install" make-flags)))))))
+ "install" make-flags)))))
+ #:make-flags
+ #~(let ((target #$(%current-target-system)))
+ (if target
+ (list (string-append "CROSS_COMPILE=" target "-"))
+ '()))))
(native-inputs (list perl ; needed to generate the man pages (pod2man)
;; The following are needed by the tests.
inetutils
--
2.37.3