summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-02-16 11:19:17 +0200
committerEfraim Flashner <efraim@flashner.co.il>2023-02-20 10:52:20 +0200
commit8fa5e0acecf429d562ee849f8465a76e9b245f16 (patch)
treed4814fde691de9ed99e4f2ce1195f355b5dcfdc9
parent53e27f8abf1163e29fb5fc17af38b90a67a18138 (diff)
gnu: Add fcode-utils.
* gnu/packages/firmware.scm (fcode-utils): New variable.
-rw-r--r--gnu/packages/firmware.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 23975c72e8..f99ee32abf 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -69,6 +69,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages shells)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
@@ -347,6 +348,45 @@ broadband modem as found, for example, on PinePhone.")
(home-page "https://gitlab.com/mobian1/devices/eg25-manager")
(license license:gpl3+)))
+(define-public fcode-utils
+ (package
+ (name "fcode-utils")
+ (version "1.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/openbios/fcode-utils")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0yyqmiqvlf644jrv8x39aqdqywdnm80k62d2assgcammwbc7krya"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:test-target "tests"
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "DESTDIR=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)))) ; No configure script.
+ (native-inputs
+ (list tcsh))
+ (home-page "https://www.openfirmware.info/FCODE_suite")
+ (synopsis "Utilities to process FCODE, OpenFirmware's byte code")
+ (description "This is the OpenBIOS FCODE suite. It contains a set of
+utilites used to process FCODE, OpenFirmware's byte code, consisting of:
+@enumerate
+@item toke - A tokenizer
+@item detok - A detokenizer
+@item romheaders - A PCI rom header utility
+@item localvalues - A portable implementation of Forth local values
+@end enumerate")
+ (license (list license:gpl2
+ ;; localvalues implementation and some documentation.
+ license:cpl1.0))))
+
(define* (make-openbios-package name arch)
(let ((target (cond
((string-suffix? "ppc" arch)