From f51fd97ec54a98668d63c52d8a6bd75d8dc3292e Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 1 Jun 2020 14:59:10 +0200 Subject: [PATCH] build-system: linux-module: Allow passing #:make-flags argument. * guix/build-system/linux-module.scm (linux-module-build): Add #:make-flags. (linux-module-build-cross): Add #:make-flags. * guix/build/linux-module-build-system.scm (install): Pass make-flags. Signed-off-by: Danny Milosavljevic --- guix/build-system/linux-module.scm | 4 ++++ guix/build/linux-module-build-system.scm | 11 +++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/guix/build-system/linux-module.scm b/guix/build-system/linux-module.scm index ca104f7c75..1077215671 100644 --- a/guix/build-system/linux-module.scm +++ b/guix/build-system/linux-module.scm @@ -129,6 +129,7 @@ (define* (linux-module-build store name inputs (phases '(@ (guix build linux-module-build-system) %standard-phases)) (outputs '("out")) + (make-flags ''()) (system (%current-system)) (guile #f) (substitutable? #t) @@ -156,6 +157,7 @@ (define builder #:arch ,(system->arch (or target system)) #:tests? ,tests? #:outputs %outputs + #:make-flags ,make-flags #:inputs %build-inputs))) (define guile-for-build @@ -181,6 +183,7 @@ (define* (linux-module-build-cross target native-drvs target-drvs (guile #f) (outputs '("out")) + (make-flags ''()) (search-paths '()) (native-search-paths '()) (tests? #f) @@ -228,6 +231,7 @@ (define %build-target-inputs #:target ,target #:arch ,(system->arch (or target system)) #:outputs %outputs + #:make-flags ,make-flags #:inputs %build-target-inputs #:native-inputs %build-host-inputs #:search-paths diff --git a/guix/build/linux-module-build-system.scm b/guix/build/linux-module-build-system.scm index 73d6b101f6..d51d76f94b 100644 --- a/guix/build/linux-module-build-system.scm +++ b/guix/build/linux-module-build-system.scm @@ -58,12 +58,13 @@ (define* (build #:key inputs make-flags #:allow-other-keys) ;; This block was copied from make-linux-libre--only took the "modules_install" ;; part. -(define* (install #:key inputs native-inputs outputs #:allow-other-keys) +(define* (install #:key make-flags inputs native-inputs outputs + #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (moddir (string-append out "/lib/modules"))) ;; Install kernel modules (mkdir-p moddir) - (invoke "make" "-C" + (apply invoke "make" "-C" (string-append (assoc-ref inputs "linux-module-builder") "/lib/modules/build") (string-append "M=" (getcwd)) @@ -76,7 +77,8 @@ (define* (install #:key inputs native-inputs outputs #:allow-other-keys) (string-append "INSTALL_PATH=" out) (string-append "INSTALL_MOD_PATH=" out) "INSTALL_MOD_STRIP=1" - "modules_install"))) + "modules_install" + (or make-flags '())))) (define %standard-phases (modify-phases gnu:%standard-phases @@ -84,7 +86,8 @@ (define %standard-phases (replace 'build build) (replace 'install install))) -(define* (linux-module-build #:key inputs (phases %standard-phases) +(define* (linux-module-build #:key inputs + (phases %standard-phases) #:allow-other-keys #:rest args) "Build the given package, applying all of PHASES in order, with a Linux kernel in attendance."