diff mbox series

[bug#68355,8/8] gnu: make-crust-package: Unite firmware and tools.

Message ID 14de180628dedfa8a21d08a0243a76c12b6f7f06.1704841447.git.jean@foundationdevices.com
State New
Headers show
Series guix: Add or1k-elf platform. | expand

Commit Message

Jean-Pierre De Jesus DIAZ Jan. 9, 2024, 11:14 p.m. UTC
* gnu/packages/firmware.scm (make-crust-package): Perform union of
  make-crust-firmware and make-crust-tools.

* gnu/packages/firmware.scm (make-crust-firmware): New procedure.

Change-Id: I687bb6d53aae9bd60ed988baf9d17e92f31faa7b
---
 gnu/packages/firmware.scm | 28 ++++++++++++++++++++++++++--
 1 file changed, 26 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index c3deab5224..71444f190d 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -1190,11 +1190,12 @@  (define-public arm-trusted-firmware-imx8mq
           ;; Adding debug symbols causes the size to exceed limits.
           #~(delete "DEBUG=1" #$flags)))))))
 
-(define make-crust-package
+(define make-crust-firmware
   (mlambda (platform)
     (package
       (name (string-append "crust-"
-                           (string-replace-substring platform "_" "-")))
+                           (string-replace-substring platform "_" "-")
+                           "-firmware"))
       (version "0.6")
       (source
        (origin
@@ -1287,6 +1288,29 @@  (define make-crust-tools
       (synopsis "System control processor firmware for Allwinner sunxi boards (tools)")
       (inputs (list firmware)))))
 
+(define make-crust-package
+  (mlambda (platform)
+    (let* ((firmware (make-crust-firmware platform))
+           (tools (make-crust-tools platform firmware)))
+      (package
+        (inherit firmware)
+        (name (string-append "crust-"
+                             (string-replace-substring platform "_" "-")))
+        (source #f)
+        (build-system trivial-build-system)
+        (arguments
+         (list #:modules '((guix build union))
+               #:builder
+               #~(begin
+                   (use-modules (ice-9 match)
+                                (guix build union))
+
+                   (match %build-inputs
+                     (((names . directory) ...)
+                      (union-build #$output directory))))))
+        (native-inputs '())
+        (inputs (list firmware tools))))))
+
 (define-public crust-pinebook
   (make-crust-package "pinebook"))