Subject: [bug#63071] [PATCH] gnu: Add emacs-riscv-mode

From: Gabriel Wicki <[email-masked]>
Date: Tue, 25 Apr 2023 19:23:15 +0200

Hello!

I hope this email finds you in a state of well-being!

I've come around to package this small little emacs-package which is
supposed to aid RISC-V assembly development.  Please let me know if I
can fix/improve/adjust anything with the patch.

It is based on commit 8c5ba69d6e9e4b1b9d6b5e9cd28859b19e8e180c

Best wishes,
gabber

>From 3046e712491fa0bdc21c4d7aef62eedc134df783 Mon Sep 17 00:00:00 2001
Message-Id: <[email-masked]>
From: Gabriel Wicki <[email-masked]>
Date: Tue, 25 Apr 2023 17:48:41 +0200
Subject: [PATCH] gnu: Add emacs-riscv-mode.

* gnu/packages/emacs-xyz.scm (emacs-riscv-mode): New variable.
---
 gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 7c8af093fc..7b10bed7df 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -35854,6 +35854,32 @@ (define-public emacs-nasm-mode
 Unlike Emacs' generic ASM mode, it understands NASM-specific syntax.")
     (license license:unlicense)))
 
+(define-public emacs-riscv-mode
+  (let ((url "https://github.com/AdamNiederer/riscv-mode")
+        (commit "8e335b9c93de93ed8dd063d702b0f5ad48eef6d7")
+        (revision "1")
+        (version "0"))
+    (package
+      (name "emacs-riscv-mode")
+      (version (git-version version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url url)
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "06jlf84mx49scw3zm1wjj25zinr2yr9abiyh83rli78wb1hdc0l4"))))
+      (build-system emacs-build-system)
+      (home-page url)
+      (synopsis "RISC-V assembly major mode")
+      (description
+       "RISC-V mode is a major mode for editing RISC-V assembly programs.
+It includes syntax highlighting, syntactic indentation and code evaluation
+with spike.")
+      (license license:gpl3))))
+
 (define-public emacs-validate-html
   ;; XXX: Upstream did not tag commits yet.  However, commit below matches the
   ;; last version bump.  Version is extracted from the keyword in main file.
-- 
2.39.2