mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-04 02:19:18 -05:00
build-system: linux-module: Support source-directory.
As with guile-build-system, the module to be build need not necessarily live at the root of the build tree. * guix/build/linux-module-build-system.scm (build, install): Add source-directory argument and append it to "M" variable when invoking make. * guix/build-system/linux-module.scm (linux-module-build): Add source-directory argument.
This commit is contained in:
parent
a72519489f
commit
c8e2358cca
2 changed files with 8 additions and 5 deletions
|
@ -158,6 +158,7 @@ (define* (linux-module-build store name inputs
|
|||
(outputs '("out"))
|
||||
(make-flags ''())
|
||||
(system (%current-system))
|
||||
(source-directory ".")
|
||||
(guile #f)
|
||||
(substitutable? #t)
|
||||
(imported-modules
|
||||
|
@ -175,7 +176,8 @@ (define builder
|
|||
((source)
|
||||
source)
|
||||
(source
|
||||
source))
|
||||
source))
|
||||
#:source-directory ,source-directory
|
||||
#:search-paths ',(map search-path-specification->sexp
|
||||
search-paths)
|
||||
#:phases ,phases
|
||||
|
|
|
@ -49,16 +49,17 @@ (define* (configure #:key inputs target arch #:allow-other-keys)
|
|||
; TODO: kernel ".config".
|
||||
#t)
|
||||
|
||||
(define* (build #:key inputs make-flags #:allow-other-keys)
|
||||
(define* (build #:key inputs make-flags (source-directory ".") #:allow-other-keys)
|
||||
(apply invoke "make" "-C"
|
||||
(string-append (assoc-ref inputs "linux-module-builder")
|
||||
"/lib/modules/build")
|
||||
(string-append "M=" (getcwd))
|
||||
(string-append "M=" (getcwd) "/" source-directory)
|
||||
(or make-flags '())))
|
||||
|
||||
;; This block was copied from make-linux-libre--only took the "modules_install"
|
||||
;; part.
|
||||
(define* (install #:key make-flags inputs native-inputs outputs
|
||||
(define* (install #:key make-flags (source-directory ".")
|
||||
inputs native-inputs outputs
|
||||
#:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(moddir (string-append out "/lib/modules")))
|
||||
|
@ -67,7 +68,7 @@ (define* (install #:key make-flags inputs native-inputs outputs
|
|||
(apply invoke "make" "-C"
|
||||
(string-append (assoc-ref inputs "linux-module-builder")
|
||||
"/lib/modules/build")
|
||||
(string-append "M=" (getcwd))
|
||||
(string-append "M=" (getcwd) "/" source-directory)
|
||||
;; Disable depmod because the Guix system's module directory
|
||||
;; is an union of potentially multiple packages. It is not
|
||||
;; possible to use depmod to usefully calculate a dependency
|
||||
|
|
Loading…
Reference in a new issue