GNU bug report logs - #64820
[PATCH] gnu: rvvm: Add rvvm.

Previous Next

Package: guix-patches;

Reported by: Juliana Sims <juli <at> incana.org>

Date: Mon, 24 Jul 2023 06:49:01 UTC

Severity: normal

Tags: patch

Done: Efraim Flashner <efraim <at> flashner.co.il>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 64820 in the body.
You can then email your comments to 64820 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#64820; Package guix-patches. (Mon, 24 Jul 2023 06:49:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Juliana Sims <juli <at> incana.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 24 Jul 2023 06:49:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Juliana Sims <juli <at> incana.org>
To: guix-patches <at> gnu.org
Cc: Juliana Sims <juli <at> incana.org>
Subject: [PATCH] gnu: rvvm: Add rvvm.
Date: Mon, 24 Jul 2023 02:47:06 -0400
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





Information forwarded to guix-patches <at> gnu.org:
bug#64820; Package guix-patches. (Mon, 24 Jul 2023 19:16:02 GMT) Full text and rfc822 format available.

Message #8 received at 64820 <at> debbugs.gnu.org (full text, mbox):

From: Juliana Sims <juli <at> incana.org>
To: 64820 <at> debbugs.gnu.org
Subject: Re: [PATCH] gnu: rvvm: Add rvvm.
Date: Mon, 24 Jul 2023 19:15:34 +0000
[Message part 1 (text/plain, inline)]
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.
[Message part 2 (text/html, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#64820; Package guix-patches. (Tue, 25 Jul 2023 18:45:02 GMT) Full text and rfc822 format available.

Message #11 received at 64820 <at> debbugs.gnu.org (full text, mbox):

From: Juliana Sims <juli <at> incana.org>
To: 64820 <at> debbugs.gnu.org
Cc: vagrant <at> debian.org, ludo <at> gnu.org, efraim <at> flashner.co.il,
 Juliana Sims <juli <at> incana.org>
Subject: [PATCH v2] gnu: Add rvvm.
Date: Tue, 25 Jul 2023 14:42:45 -0400
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





Reply sent to Efraim Flashner <efraim <at> flashner.co.il>:
You have taken responsibility. (Wed, 26 Jul 2023 08:35:01 GMT) Full text and rfc822 format available.

Notification sent to Juliana Sims <juli <at> incana.org>:
bug acknowledged by developer. (Wed, 26 Jul 2023 08:35:02 GMT) Full text and rfc822 format available.

Message #16 received at 64820-done <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Juliana Sims <juli <at> incana.org>
Cc: vagrant <at> debian.org, ludo <at> gnu.org, 64820-done <at> debbugs.gnu.org
Subject: Re: [PATCH v2] gnu: Add rvvm.
Date: Wed, 26 Jul 2023 11:34:34 +0300
[Message part 1 (text/plain, inline)]
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 <at> 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
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 23 Aug 2023 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 301 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.