diff mbox series

[bug#54615,v2,2/2] gnu: Add riscv-pk.

Message ID 20220328185557.27310-3-arunisaac@systemreboot.net
State Accepted
Headers show
Series Add riscv-pk and improve spike | expand

Commit Message

Arun Isaac March 28, 2022, 6:55 p.m. UTC
* gnu/packages/virtualization.scm (riscv-pk): New variable.
---
 gnu/packages/virtualization.scm | 38 +++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

Comments

M March 28, 2022, 7:24 p.m. UTC | #1
Arun Isaac schreef op di 29-03-2022 om 00:25 [+0530]:
> +       #:make-flags (list (string-append "INSTALLDIR="
> +                                         (assoc-ref %outputs "out")))

%outputs is almost undocumented (and for some build systems even
undefined), I recommend G-exps instead:

  (arguments
    (list #:make-flags
          #~(list (string-append "INSTALLDIR=" #$output))
          ...))

Greetings,
Maxime.
diff mbox series

Patch

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 9c86670ce7..5904f274f5 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -2365,3 +2365,41 @@  (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
+     `(#:out-of-source? #t
+       #: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")))
+    (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)))