diff options
author | Carlos Sánchez de La Lama <csanchezdll@gmail.com> | 2017-01-04 23:50:37 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-01-04 23:57:05 +0100 |
commit | 440a3143f01083649dedddc97a0d6108bb3d2920 (patch) | |
tree | ac7c97b5a933a34e01cb3e734d4dcb8c28068d78 /gnu | |
parent | fc649d0aada3d71de75ee6ca149bc8bbd045efd5 (diff) | |
download | guix-440a3143f01083649dedddc97a0d6108bb3d2920.tar.gz guix-440a3143f01083649dedddc97a0d6108bb3d2920.zip |
gnu: linux-libre: Adjust for PowerPC.
* gnu/packages/linux.scm (system->defconfig): New procedure.
(linux-libre-headers)[arguments]: Use it in 'build' phase to determine
the target name.
* gnu/packages/cross-base.scm (cross-kernel-headers)[xlinux-headers]
(arguments): Likewise.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/cross-base.scm | 2 | ||||
-rw-r--r-- | gnu/packages/linux.scm | 16 |
2 files changed, 14 insertions, 4 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index e6553dcd34..da2efc3642 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -315,7 +315,7 @@ GCC that does not target a libc; otherwise, target that libc." (setenv "ARCH" ,(system->linux-architecture target)) (format #t "`ARCH' set to `~a' (cross compiling)~%" (getenv "ARCH")) - (and (zero? (system* "make" "defconfig")) + (and (zero? (system* "make" ,(system->defconfig target))) (zero? (system* "make" "mrproper" "headers_check")))) ,phases)))) (native-inputs `(("cross-gcc" ,xgcc) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a040aeb768..a0d86bb40e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org> +;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -98,6 +99,13 @@ ((string-prefix? "aarch64" arch) "arm64") (else arch)))) +(define-public (system->defconfig system) + "Some systems (notably powerpc-linux) require a special target for kernel +defconfig. Return the appropiate make target if applicable, otherwise return +\"defconfig\"." + (cond ((string-prefix? "powerpc-" system) "pmac32_defconfig") + (else "defconfig"))) + (define (linux-libre-urls version) "Return a list of URLs for Linux-Libre VERSION." (list (string-append @@ -137,11 +145,13 @@ (lambda _ (let ((arch ,(system->linux-architecture (or (%current-target-system) - (%current-system))))) + (%current-system)))) + (defconfig ,(system->defconfig + (or (%current-target-system) + (%current-system))))) (setenv "ARCH" arch) (format #t "`ARCH' set to `~a'~%" (getenv "ARCH")) - - (and (zero? (system* "make" "defconfig")) + (and (zero? (system* "make" defconfig)) (zero? (system* "make" "mrproper" "headers_check")))))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) |