me
/
guix
Archived
1
0
Fork 0

gnu: Add make-crust-tools.

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

Change-Id: Iac05ecf1796e4c10692a423c12423ea9b078d141
master
Jean-Pierre De Jesus DIAZ 2024-01-19 14:54:47 +01:00 committed by Mathieu Othacehe
parent dde246ed41
commit 938f153784
No known key found for this signature in database
GPG Key ID: 8354763531769CA6
1 changed files with 44 additions and 0 deletions

View File

@ -1252,6 +1252,50 @@ AR100.")
;; Most files are dual-licensed "BSD-3 OR GPL2", a few are GPL2 only.
(license (list license:bsd-3 license:gpl2)))))
(define make-crust-tools
(mlambda (platform firmware)
(package
(inherit firmware)
(name (string-append "crust-"
(string-replace-substring platform "_" "-")
"-tools"))
(arguments
(list #:make-flags
#~(list "V=1"
"LEX=flex"
(string-append "HOSTAR=" #$(ar-for-target))
(string-append "HOSTCC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'do-not-build-tests
(lambda _
;; Attempting to build the tools test binary on a
;; non-aarch64 architecture fails with: "No cache
;; cleaning implementation available for this
;; architecture". Avoid building it (see:
;; https://github.com/crust-firmware/crust/issues/182).
(substitute* "tools/Makefile"
(("tools-y \\+= test") ""))))
(replace 'configure
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(copy-file (search-input-file inputs "/libexec/.config")
".config")))
(replace 'build
(lambda* (#:key make-flags parallel-build?
#:allow-other-keys)
(apply invoke "make" "tools"
`(,@(if parallel-build?
`("-j"
,(number->string (parallel-job-count)))
'())
,@make-flags))))
(replace 'install
(lambda _
(install-file "build/tools/load"
(string-append #$output "/bin")))))))
(synopsis "Firmware for Allwinner sunxi SoCs (tools)")
(inputs (list firmware)))))
(define-public crust-pinebook
(make-crust-package "pinebook"))