From 96f227e2fac7166600da60153da775e68e5adde8 Mon Sep 17 00:00:00 2001 From: Gabriel Wicki Date: Tue, 25 Apr 2023 17:48:41 +0200 Subject: gnu: Add emacs-riscv-mode. * gnu/packages/emacs-xyz.scm (emacs-riscv-mode): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index be091237fb..82c6d73ba5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -127,6 +127,7 @@ ;;; Copyright © 2023 Dominik Delgado Steuter ;;; Copyright © 2023 Juliana Sims ;;; Copyright © 2023 Evgeny Pisemsky +;;; Copyright © 2023 Gabriel Wicki ;;; ;;; This file is part of GNU Guix. ;;; @@ -259,6 +260,7 @@ (define-module (gnu packages emacs-xyz) #:use-module (gnu packages erlang) #:use-module (gnu packages statistics) #:use-module (gnu packages libcanberra) + #:use-module (gnu packages virtualization) #:use-module (gnu packages web-browsers) #:use-module (gnu packages wget) #:use-module (guix utils) @@ -35888,6 +35890,40 @@ (define-public emacs-nasm-mode Unlike Emacs' generic ASM mode, it understands NASM-specific syntax.") (license license:unlicense))) +(define-public emacs-riscv-mode + (let ((commit "8e335b9c93de93ed8dd063d702b0f5ad48eef6d7") + (revision "1")) + (package + (name "emacs-riscv-mode") + (version (git-version "0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AdamNiederer/riscv-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06jlf84mx49scw3zm1wjj25zinr2yr9abiyh83rli78wb1hdc0l4")))) + (build-system emacs-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'hardcode-spike + (lambda* (#:key inputs #:allow-other-keys) + (emacs-substitute-variables "riscv-mode.el" + ("riscv-interpreter" + (search-input-file inputs "/bin/spike")))))))) + (inputs (list spike)) + (home-page "https://github.com/AdamNiederer/riscv-mode") + (synopsis "Emacs major mode for RISC-V assembly") + (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. -- cgit v1.2.3