Subject: [bug#49585] [PATCH] gnu: Add emacs-worf.

From: [email-masked]
Date: Thu, 15 Jul 2021 17:34:30 -0400

From: Morgan Smith <[email-masked]>

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

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 9f9f9909b3..6cf8f36432 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -19422,6 +19422,44 @@ It replaces the standard completions buffer with Ido prompt.")
 using user-provided rules.")
     (license license:gpl3+)))
 
+(define-public emacs-worf
+  ;; Last release was in 2016
+  (let ((revision "0")
+        (commit "28d381e2603a79340a94a410acbbb8a6b3e237d8"))
+    (package
+      (name "emacs-worf")
+      (version (git-version "0.1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/abo-abo/worf")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "15567bns5kag47d58xapr4z0gfj5py3a8lwfpjlhmzccmarjr7x8"))))
+      (build-system emacs-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'delete-elpa.el
+             (lambda _
+               (delete-file "elpa.el")))
+           (add-after 'unpack 'require-hydra
+             (lambda _
+               (substitute* "worf.el"
+                 ((";;; Code:") ";;; Code:\n(require 'hydra)")))))))
+      (propagated-inputs
+       `(("ace-link" ,emacs-ace-link)
+         ("hydra" ,emacs-hydra)
+         ("swiper" ,emacs-swiper)
+         ("zoutline" ,emacs-zoutline)))
+      (home-page "https://github.com/abo-abo/worf")
+      (synopsis "Minor mode that provides vi-like bindings for org-mode")
+      (description "Minor mode that provides vi-like bindings for org-mode")
+      (license license:gpl3+))))
+
 (define-public emacs-on-screen
   (package
     (name "emacs-on-screen")
-- 
2.32.0