about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner2022-03-23 09:40:20 +0200
committerEfraim Flashner2022-03-23 09:40:20 +0200
commitb7c869b8da2d640b213b5494865e8a756414632a (patch)
treecfc522178b4495d01d892afa448c407f3afd3b33
parent95330d0601eb37c17b067eba8a15c2eb2ae35af2 (diff)
downloadguix-bioinformatics-b7c869b8da2d640b213b5494865e8a756414632a.tar.gz
gn: Add riscv-pk.
-rw-r--r--gn/packages/virtualization.scm45
1 files changed, 44 insertions, 1 deletions
diff --git a/gn/packages/virtualization.scm b/gn/packages/virtualization.scm
index 0636cba..5421a2b 100644
--- a/gn/packages/virtualization.scm
+++ b/gn/packages/virtualization.scm
@@ -5,12 +5,13 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
-  #:use-module (guix build-system python)
+  #:use-module (guix build-system gnu)
   #:use-module (guix build-system scons)
   #:use-module (gnu packages)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpp)
+  #:use-module (gnu packages cross-base)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages image)
   #:use-module (gnu packages m4)
@@ -19,6 +20,48 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz))
 
+(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
+     (list
+       #:out-of-source? #t
+       ;#:configure-flags
+       ;#~(list "--host=riscv64-linux-gnu")
+       #:target "riscv64-linux-gnu"
+       #:phases
+       #~(modify-phases %standard-phases
+           (add-after 'unpack 'force-install-directory
+             (lambda _
+               (substitute* "Makefile.in"
+                 (("\\$\\(install_subdir\\)") "")))))))
+    (native-inputs
+     (if (not (string-prefix? "riscv64" (%current-system)))
+       (list (cross-gcc "riscv64-linux-gnu")
+             (cross-binutils "riscv64-linux-gnu"))
+       '()))
+    (home-page "https://github.com/riscv-software-src/riscv-pk")
+    (synopsis "RISC-V Proxy Kernel")
+    (description "The RISC-V Proxy Kernel, @code{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 and thus handles I/O-related system calls by proxying
+them to a host computer.  This package also contains the Berkeley Boot Loader,
+@code{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)))
+
 (define-public gem5
   (package
     (name "gem5")