[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch master updated: gnu: Add rvvm.
From: |
guix-commits |
Subject: |
branch master updated: gnu: Add rvvm. |
Date: |
Wed, 26 Jul 2023 04:34:38 -0400 |
This is an automated email from the git hooks/post-receive script.
efraim pushed a commit to branch master
in repository guix.
The following commit(s) were added to refs/heads/master by this push:
new ca133a7c4d gnu: Add rvvm.
ca133a7c4d is described below
commit ca133a7c4d8bf07618b17a614b872fb8538da77b
Author: Juliana Sims <juli@incana.org>
AuthorDate: Tue Jul 25 14:42:45 2023 -0400
gnu: Add rvvm.
* gnu/packages/virtualization.scm (rvvm): New variable.
Co-authored-by: Efraim Flashner <efraim@flashner.co.il>
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
---
gnu/packages/virtualization.scm | 52 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 729c61de8d..db7df83524 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -28,6 +28,7 @@
;;; Copyright © 2022 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
+;;; Copyright © 2023 Juliana Sims <juli@incana.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1126,6 +1127,57 @@ Guix to build virtual machines.")
Debian or a derivative using @command{debootstrap}.")
(license license:gpl2+)))
+(define-public rvvm
+ (package
+ (name "rvvm")
+ (version "0.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/LekKit/RVVM")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ldabcrmpa044bahpqa6ymwbhhwy69slh77f0m3421sq6j50l06p"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ ;; See src/rvjit/rvjit.h for list of architectures.
+ #~(#$@(if (or (target-x86?)
+ (target-arm?))
+ #~'()
+ #~(list "-DRVVM_USE_JIT=NO")))
+ #:modules `((srfi srfi-26)
+ (guix build utils)
+ (guix build cmake-build-system))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Install phase inspired by the Makefile.
+ (replace 'install
+ (lambda _
+ (let ((src "../source/src/")
+ (incl (string-append #$output "/include/rvvm/")))
+ (install-file "rvvm" (string-append #$output "/bin"))
+ (for-each
+ (cut install-file <> (string-append #$output "/lib"))
+ (find-files "." "\\.(so|a)$"))
+ (install-file (string-append src "rvvmlib.h") incl)
+ (for-each
+ (cut install-file <> (string-append incl "devices"))
+ (find-files (string-append src "devices") "\\.h$"))))))
+ #:tests? #f)) ; no tests
+ (home-page "https://github.com/LekKit/RVVM")
+ (synopsis "RISC-V virtual machine")
+ (description
+ "RVVM is a RISC-V CPU and system software implementation written in C. It
+supports the entire RV64GC ISA, and it passes compliance tests for both RV64
and
+RV32. OpenSBI, U-Boot, and custom firmwares boot and execute properly. It is
+capable of running Linux, FreeBSD, OpenBSD, Haiku, and other OSes.
Furthermore,
+it emulates a variety of hardware and peripherals.")
+ (license (list license:gpl3+ license:mpl2.0))))
+
(define-public spike
(package
(name "spike")
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch master updated: gnu: Add rvvm.,
guix-commits <=