summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2021-12-23 22:18:22 +0100
committerTobias Geerinckx-Rice <me@tobias.gr>2022-01-16 01:00:01 +0100
commit2e86059172d901dcb24d29f7a477d2229b02cd6b (patch)
tree4fe0e6cfc848db071247f187c7382aeeedde26fe
parenta61633d4ba0f3b9692e3b4d0760ef46906fa6846 (diff)
downloadguix-patches-2e86059172d901dcb24d29f7a477d2229b02cd6b.tar
guix-patches-2e86059172d901dcb24d29f7a477d2229b02cd6b.tar.gz
build-system/linux-module: Use G-expressions.
* guix/build-system/linux-module.scm (make-linux-module-builder) [arguments]: Rewrite as G-expressions.
-rw-r--r--guix/build-system/linux-module.scm93
1 files changed, 46 insertions, 47 deletions
diff --git a/guix/build-system/linux-module.scm b/guix/build-system/linux-module.scm
index 57fce8e96e..e82a9ca65c 100644
--- a/guix/build-system/linux-module.scm
+++ b/guix/build-system/linux-module.scm
@@ -61,53 +61,52 @@
`(("linux" ,linux)))
(arguments
(substitute-keyword-arguments (package-arguments linux)
- ((#:phases phases)
- `(modify-phases ,phases
- (replace 'build
- (lambda _
- (invoke "make" "modules_prepare")))
- (delete 'strip) ; faster.
- (replace 'install
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (out-lib-build (string-append out "/lib/modules/build")))
- ;; Delete some huge items that we probably don't need.
- ;; TODO: Only preserve the minimum, i.e. [Kbuild], Kconfig,
- ;; scripts, include, ".config".
- (copy-recursively "." out-lib-build)
- (for-each (lambda (name)
- (when (file-exists? name)
- (delete-file-recursively name)))
- (map (lambda (name)
- (string-append out-lib-build "/" name))
- '("arch" ; 137 MB
- ;"tools" ; 44 MB ; Note: is built by our 'build phase.
- "tools/testing" ; 14 MB
- "tools/perf" ; 17 MB
- "drivers" ; 600 MB
- "Documentation" ; 52 MB
- "fs" ; 43 MB
- "net" ; 33 MB
- "samples" ; 2 MB
- "sound"))) ; 40 MB
- ;; Reinstate arch/**/dts since "scripts/dtc" depends on it.
- ;; Reinstate arch/**/include directories.
- ;; Reinstate arch/**/Makefile.
- ;; Reinstate arch/**/module.lds.
- (for-each
- (lambda (name)
- (mkdir-p (dirname (string-append out-lib-build "/" name)))
- (copy-recursively name
- (string-append out-lib-build "/" name)))
- (append (find-files "arch" "^(dts|include)$" #:directories? #t)
- (find-files "arch" "^(Makefile|module.lds)$")))
- (let* ((linux (assoc-ref inputs "linux")))
- (install-file (string-append linux "/System.map")
- out-lib-build)
- (let ((source (string-append linux "/Module.symvers")))
- (when (file-exists? source)
- (install-file source out-lib-build))))
- #t)))))))))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'build
+ (lambda _
+ (invoke "make" "modules_prepare")))
+ (delete 'strip) ; faster
+ (replace 'install
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((out-lib-build (string-append #$output "/lib/modules/build")))
+ ;; Delete some huge items that we probably don't need.
+ ;; TODO: Only preserve the minimum, i.e. [Kbuild], Kconfig,
+ ;; scripts, include, ".config".
+ (copy-recursively "." out-lib-build)
+ (for-each (lambda (name)
+ (when (file-exists? name)
+ (delete-file-recursively name)))
+ (map (lambda (name)
+ (string-append out-lib-build "/" name))
+ '("arch" ; 137 MB
+ ;;"tools" ; 44 MB built by our 'build phase
+ "tools/testing" ; 14 MB
+ "tools/perf" ; 17 MB
+ "drivers" ; 600 MB
+ "Documentation" ; 52 MB
+ "fs" ; 43 MB
+ "net" ; 33 MB
+ "samples" ; 2 MB
+ "sound"))) ; 40 MB
+ ;; Reinstate arch/**/dts since "scripts/dtc" depends on it.
+ ;; Reinstate arch/**/include directories.
+ ;; Reinstate arch/**/Makefile.
+ ;; Reinstate arch/**/module.lds.
+ (for-each
+ (lambda (name)
+ (mkdir-p (dirname (string-append out-lib-build "/" name)))
+ (copy-recursively name
+ (string-append out-lib-build "/" name)))
+ (append (find-files "arch" "^(dts|include)$"
+ #:directories? #t)
+ (find-files "arch" "^(Makefile|module.lds)$")))
+ (let* ((linux #$(this-package-input "linux")))
+ (install-file (string-append linux "/System.map")
+ out-lib-build)
+ (let ((source (string-append linux "/Module.symvers")))
+ (when (file-exists? source)
+ (install-file source out-lib-build)))))))))))))
(define* (lower name
#:key source inputs native-inputs outputs