unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#64820] [PATCH] gnu: rvvm: Add rvvm.
@ 2023-07-24  6:47 Juliana Sims
  2023-07-24 19:15 ` Juliana Sims
  0 siblings, 1 reply; 4+ messages in thread
From: Juliana Sims @ 2023-07-24  6:47 UTC (permalink / raw)
  To: 64820; +Cc: Juliana Sims

Hello,

This patch adds the RISC-V Virtual Machine which seems like a handy little tool
and claims to be faster than qemu. Neat!

Thanks,
Juliana

* gnu/packages/virtualization.scm (rvvm): New symbol.
---
 gnu/packages/virtualization.scm | 53 ++++++++++++++++++++++++++-------
 1 file changed, 43 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 3f6c32f390..705d1ac183 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -1127,6 +1127,39 @@ (define-public ganeti-instance-debootstrap
 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 #:phases #~(modify-phases %standard-phases
+                        (replace 'install
+                          (lambda _
+                            (let ((bindir (string-append #$output "/bin/")))
+                              (mkdir-p bindir)
+                              (copy-file "rvvm"
+                                         (string-append bindir "rvvm"))))))
+           #: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")
@@ -1134,22 +1167,22 @@ (define-public spike
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                     (url "https://github.com/riscv-software-src/riscv-isa-sim")
-                     (commit (string-append "v" version))))
+                    (url "https://github.com/riscv-software-src/riscv-isa-sim")
+                    (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
                (base32 "0cik2m0byfp9ppq0hpg3xyrlp5ag1i4dww7a7872mlm36xxqagg0"))))
     (build-system gnu-build-system)
     (arguments
      (list
-       #:phases
-       #~(modify-phases %standard-phases
-           (add-before 'configure 'configure-dtc-path
-             (lambda* (#:key inputs #:allow-other-keys)
-               ;; Reference dtc by its absolute store path.
-               (substitute* "riscv/dts.cc"
-                 (("DTC")
-                  (string-append "\"" (search-input-file inputs "/bin/dtc") "\""))))))))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'configure 'configure-dtc-path
+            (lambda* (#:key inputs #:allow-other-keys)
+              ;; Reference dtc by its absolute store path.
+              (substitute* "riscv/dts.cc"
+                (("DTC")
+                 (string-append "\"" (search-input-file inputs "/bin/dtc") "\""))))))))
     (inputs
      (list bash-minimal dtc))
     (native-inputs

base-commit: a0c387cb7942742851397687c584b1cacefe5122
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#64820] [PATCH] gnu: rvvm: Add rvvm.
  2023-07-24  6:47 [bug#64820] [PATCH] gnu: rvvm: Add rvvm Juliana Sims
@ 2023-07-24 19:15 ` Juliana Sims
  2023-07-25 18:42   ` [bug#64820] [PATCH v2] gnu: " Juliana Sims
  0 siblings, 1 reply; 4+ messages in thread
From: Juliana Sims @ 2023-07-24 19:15 UTC (permalink / raw)
  To: 64820

[-- Attachment #1: Type: text/plain, Size: 201 bytes --]

It would appear paredit has betrayed me - as it is wont to do - and "corrected" code I didn't touch.

*deep sigh*

Later I will send an updated patch that only touches the actual code I'm changing.

[-- Attachment #2: Type: text/html, Size: 272 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#64820] [PATCH v2] gnu: Add rvvm.
  2023-07-24 19:15 ` Juliana Sims
@ 2023-07-25 18:42   ` Juliana Sims
  2023-07-26  8:34     ` bug#64820: " Efraim Flashner
  0 siblings, 1 reply; 4+ messages in thread
From: Juliana Sims @ 2023-07-25 18:42 UTC (permalink / raw)
  To: 64820; +Cc: vagrant, ludo, efraim, Juliana Sims

Hello,

This is the corrected form of the patch which correctly only adds the new
package. I have taken the liberty of CC'ing the embedded team as well, as this
seems closest to their domain.

Thanks,
Juli

* gnu/packages/virtualization.scm (rvvm): New symbol.
---
 gnu/packages/virtualization.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 3f6c32f390..f90705477c 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -1127,6 +1127,39 @@ (define-public ganeti-instance-debootstrap
 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 #:phases #~(modify-phases %standard-phases
+                        (replace 'install
+                          (lambda _
+                            (let ((bindir (string-append #$output "/bin/")))
+                              (mkdir-p bindir)
+                              (copy-file "rvvm"
+                                         (string-append bindir "rvvm"))))))
+           #: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")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* bug#64820: [PATCH v2] gnu: Add rvvm.
  2023-07-25 18:42   ` [bug#64820] [PATCH v2] gnu: " Juliana Sims
@ 2023-07-26  8:34     ` Efraim Flashner
  0 siblings, 0 replies; 4+ messages in thread
From: Efraim Flashner @ 2023-07-26  8:34 UTC (permalink / raw)
  To: Juliana Sims; +Cc: vagrant, ludo, 64820-done

[-- Attachment #1: Type: text/plain, Size: 383 bytes --]

I made some changes to the install phase to match the install from the
Makefile and I adjusted the configure-flags to not try to use JIT on
unsupported architectures.

-- 
Efraim Flashner   <efraim@flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-07-26  8:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-24  6:47 [bug#64820] [PATCH] gnu: rvvm: Add rvvm Juliana Sims
2023-07-24 19:15 ` Juliana Sims
2023-07-25 18:42   ` [bug#64820] [PATCH v2] gnu: " Juliana Sims
2023-07-26  8:34     ` bug#64820: " Efraim Flashner

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).