[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#54615] [PATCH 2/2] gnu: Add riscv-pk.
From: |
Arun Isaac |
Subject: |
[bug#54615] [PATCH 2/2] gnu: Add riscv-pk. |
Date: |
Tue, 29 Mar 2022 00:13:19 +0530 |
* gnu/packages/virtualization.scm (riscv-pk): New variable.
---
gnu/packages/virtualization.scm | 48 +++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 9c86670ce7..1f83addb1b 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -2365,3 +2365,51 @@ (define-public python-transient
"@code{transient} is a wrapper for QEMU allowing the creation of virtual
machines with shared folder, ssh, and disk creation support.")
(license license:expat)))
+
+(define-public riscv-pk
+ (package
+ (name "riscv-pk")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/riscv-software-src/riscv-pk")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1cc0rz4q3a1zw8756b8yysw8lb5g4xbjajh5lvqbjix41hbdx6xz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list (string-append "INSTALLDIR="
+ (assoc-ref %outputs "out")))
+ ;; Add flags to keep symbols fromhost and tohost. These symbols are
+ ;; required for the correct functioning of pk.
+ #:strip-flags (list "--strip-unneeded"
+ "--keep-symbol=fromhost"
+ "--keep-symbol=tohost"
+ "--enable-deterministic-archives")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'pre-configure
+ (lambda _
+ ;; Building directly in the source tree is not supported. So,
+ ;; create a build directory and make configure accessible from
+ ;; there.
+ (mkdir-p "build")
+ (chdir "build")
+ (symlink "../configure" "configure")))
+ (delete 'strip))))
+ (home-page "https://github.com/riscv-software-src/riscv-pk")
+ (synopsis "RISC-V Proxy Kernel")
+ (description "The RISC-V Proxy Kernel, @command{pk}, is a lightweight
+application execution environment that can host statically-linked RISC-V ELF
+binaries. It is designed to support tethered RISC-V implementations with
+limited I/O capability and thus handles I/O-related system calls by proxying
+them to a host computer.
+
+This package also contains the Berkeley Boot Loader, @command{bbl}, which is a
+supervisor execution environment for tethered RISC-V systems. It is designed
+to host the RISC-V Linux port.")
+ (license license:bsd-3)))
--
2.34.0