Subject: [bug#54351] [PATCH] gnu: Add emacs-xah-fly-keys.

From: Jai Vetrivelan <[email-masked]>
Date: Sun, 13 Mar 2022 16:18:12 +0530

The license of xah-fly-keys has been updated to gpl3 with commit
6e974bd21f2d42aaa6d0b331a162cb554085b72e. I think the patch can now be
applied with commit pointing to current HEAD.

On 2022-03-13, 10:08 +0100, Maxime Devos <[email-masked]> wrote:

> Jai Vetrivelan schreef op zo 13-03-2022 om 08:33 [+0530]:
>> I have contacted the author off-list regarding clarification on
>> license.
>> 
>> [1] https://github.com/rlister/org-present/pull/39
>
> That's for org-present, not emacs-xah-fly-keys.

I terribly bad at footnotes, that link was meant for

“One package in emacs-xyz.scm is /gpl2-only/, which upstream has
updated to /gpl3+/. [1]”

On 2022-03-13, 10:20 +0100, Maxime Devos <[email-masked]> wrote:

> Jai Vetrivelan schreef op zo 13-03-2022 om 08:33 [+0530]:
> Is there any requirement for third party elisp packages to be /gpl3-
> or-later/?
> <https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg01069.html>
>
> GPL-3-only should also be fine I think (at least, as long as the Emacs
> in Guix isn't updated to a new Emacs that is GPL4+)).  I guess that
> gpl2+ is also fine in Guix (at least for ‘old’ emacs packages that were
> written with ‘old’ GPL2+ Emacen in mind, perhaps also for other
> packages but I don't know the legalities of that at all) though I
> recommend the authors of these packages to update anyway (just in case,
> and because of <https://www.gnu.org/licenses/rms-why-gplv3.html>).

I'll read the link, thanks.

Here's the updated patch:

From 5448f8ff41ba12dfd5388271ea8aad9e2ff20175 Mon Sep 17 00:00:00 2001
From: Jai Vetrivelan <[email-masked]>
Date: Sat, 12 Mar 2022 17:01:43 +0530
Subject: [PATCH] gnu: Add emacs-xah-fly-keys.

* gnu/packages/emacs-xyz.scm (emacs-xah-fly-keys): New variable.
---
 gnu/packages/emacs-xyz.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 826c2141a9..eb98fa2ef6 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -14078,6 +14078,29 @@ (define-public emacs-xmlgen
 conversion for Emacs Lisp.")
     (license license:gpl2+)))
 
+(define-public emacs-xah-fly-keys
+  (let ((commit "6e974bd21f2d42aaa6d0b331a162cb554085b72e"))
+    (package
+    (name "emacs-xah-fly-keys")
+    (version "16.14.20220313004708")
+    (source (origin
+             (method git-fetch)
+             (uri (git-reference
+                   (url "https://github.com/xahlee/xah-fly-keys")
+                   (commit commit)))
+             (file-name (git-file-name name version))
+             (sha256
+              (base32
+               "0sk9ppnqgzc1xvqjp0qfw9jm6klxzrj23hapx4y4d0lmy454vbnb"))))
+    (build-system emacs-build-system)
+    (home-page "http://xahlee.info/emacs/misc/ergoemacs_vi_mode.html")
+    (synopsis "Modal keybinding system for emacs, based on command frequency and
+ergonomics.")
+    (description "xah-fly-keys.el is a modal editing mode for emacs, like vi,
+but the design of key/command choice is based on command frequency statistics
+and ease-of-key score. Most frequently used commands have most easy keys.")
+    (license license:gpl3))))
+
 (define-public emacs-cdlatex
   (package
     (name "emacs-cdlatex")

base-commit: 662f1f7bbac54d5762a06862b6174977003f46b9
-- 
2.34.0

-- 
Jai Vetrivelan