[PATCH] gnu: Add emacs-xah-fly-keys.

DoneSubmitted by Jai Vetrivelan.
Details
3 participants
  • Jai Vetrivelan
  • Nicolas Goaziou
  • Maxime Devos
Owner
unassigned
Severity
normal
J
J
Jai Vetrivelan wrote on 12 Mar 13:23 +0100
(address . guix-patches@gnu.org)
874k43tl50.fsf@gmail.com
This patch adds the xah-fly-keys package.
From ef13bc5df0030ada79826d77fda32a58cb03a025 Mon Sep 17 00:00:00 2001
From: Jai Vetrivelan <jaivetrivelan@gmail.com>
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(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 826c2141a9..98b04d3d34 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 "fc0d82958eb484b630e5b87adff6b670e1697f20"))
+    (package
+    (name "emacs-xah-fly-keys")
+    (version "16.14.20220304152948")
+    (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
+               "18sf3k6al00n1m36b67yzswfpj5gf14zipw5waxw0vsa10f48wm7"))))
+    (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:gpl2))))
+
 (define-public emacs-cdlatex
   (package
     (name "emacs-cdlatex")

base-commit: 662f1f7bbac54d5762a06862b6174977003f46b9
-- 
2.34.0
There's no COPYING or LICENSE file in the repository, and the emacs-lisp
file states:

┌────
│ ;; License: GPL v2. Tell your friends to buy a copy.
└────

Please let me know if this package is considered free software to be
included in Guix. Thank you.

--
Jai Vetrivelan
-----BEGIN PGP SIGNATURE-----

iQJMBAEBCAA2FiEE0sFiNFJFp/P+5XqUp+GV74GQxVIFAmIskMAYHGphaXZldHJp
dmVsYW5AZ21haWwuY29tAAoJEKfhle+BkMVSyLwQAIvcQQj+lpjjSAX6CqGWGkYT
YO6CYYM54jTgLKFEIikVwaReFCep2LV/Ds23DJ0JBoo+WqBBK3z6mKG8jlM50UIr
DKYplako7JfpdH8jkEgWugGiLJsI+2w7kLwodT+eNNfRVt0tSyxjtCdxcQy38URh
wJD2ZhkVzMEc1chY9T9EMT/abm01QNCrvLGSB/MbNF623Itw9bTjT0254CxiwHDF
FJVTxGsV9yIwWjQckI4Yglqklg8zV8bF6g9EJAAzSuLmuvljd2Uk0geXjY+mhyry
QqXDqaIgt7WoYwjubz2L7SsqUJ6z4PQAopEqWqXnYHGpkKWSjnVNNFqJI+B744BZ
Y1WjxiSWT7VZsjC38RkssAc8tzeikVbRNCaPwM9oVfdcGIy5ztI0vFYcitf029bY
k10NtaoiGUbszuhYmnkI3X0vCUzV7/FA4nw77TyU2mak+ciWDa8p7y17R0SqNDbl
Gvi/EMfCK1gXn69GiuWHOjwNJLtDV8GR7fpXMn8ay+S6CCCfyGm1jqYQ5G/yS6NP
ZCiyGEEezavgA0K8bQxdjIC9GNcMq0S3+i+ovSheOSDoGZWIprPvEcNpk8T8Kw2r
cV8TN7Xn4+x+eB+2u8oEO6OQpOhp4MHs+cMp4Spbktb5lunxhByjeZEVuAR5DAOY
sNxqA5Psy5yMY9Ow2EzY
=8d3+
-----END PGP SIGNATURE-----

M
M
Maxime Devos wrote on 12 Mar 18:59 +0100
8853d5968ea3bd8245079e5e69ed90c2a04d8b75.camel@telenet.be
Jai Vetrivelan schreef op za 12-03-2022 om 17:53 [+0530]:
Toggle quote (11 lines)
> There's no COPYING or LICENSE file in the repository, and the emacs-
> lisp
> file states:
>
> ┌────
> │ ;; License: GPL v2. Tell your friends to buy a copy.
> └────
>
> Please let me know if this package is considered free software to be
> included in Guix. Thank you.

Emacs is GPL3+ (according to guix show). This extension of Emacs is
GPL2-only (according to the package definition).  Seems like the author
intended it to be free software, but accidentally made a license
incompatibility?

Additionally, IIRC, the GPL has some requirements about including a
copy of the GPL.

I assume these issue would be easy to correct by contacting upstream.

I looked a little further and saw
.el is just a little out-of-date.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYizfgxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7ug/APsFcpf8wkhDjb3GUg2PJo7uPcq/
1ZZPydndy12/1NPDsAD/T/bqkGFyP5M7lezRAwPkzkp02HScNCgUOeiP93qnpg0=
=9NlF
-----END PGP SIGNATURE-----


J
J
Jai Vetrivelan wrote on 13 Mar 04:03 +0100
(name . Maxime Devos)(address . maximedevos@telenet.be)
8735jmy2nx.fsf@gmail.com
Hello Maxime,

On 2022-03-12, 18:59 +0100, Maxime Devos <maximedevos@telenet.be> wrote:

Toggle quote (5 lines)
> Emacs is GPL3+ (according to guix show). This extension of Emacs is
> GPL2-only (according to the package definition). Seems like the author
> intended it to be free software, but accidentally made a license
> incompatibility?

Is there any requirement for third party elisp packages to be /gpl3-or-later/?
talks only about packages in the ELPA (xah-fly-keys is not a part of any
ELPA). One package in emacs-xyz.scm is /gpl2-only/, which upstream has
updated to /gpl3+/. [1]

My original concern was the second sentence of the license string.

Toggle quote (9 lines)
> Additionally, IIRC, the GPL has some requirements about including a
> copy of the GPL.
>
> I assume these issue would be easy to correct by contacting upstream.
>
> I looked a little further and saw
> <https://github.com/xahlee/xah-fly-keys/issues/28>, so I guess that
> the .el is just a little out-of-date.

I have contacted the author off-list regarding clarification on license.


--
Jai Vetrivelan
-----BEGIN PGP SIGNATURE-----

iQJMBAEBCAA2FiEE0sFiNFJFp/P+5XqUp+GV74GQxVIFAmItXwcYHGphaXZldHJp
dmVsYW5AZ21haWwuY29tAAoJEKfhle+BkMVSzW8QAMEDyGxCFJ20gG1n4pM3TUmN
LPegYAnmsoZNnVbj6Y9YCgeSRdYCGItgQZapzwL+IJ/pTX48Zg+K2pw9hU8dfVyS
ersnRPS/y2g6WfzYtqeL6seFJxUYLYhmqsdnVIQ6VR/fUw44SoaEzi+LG8ed5i/C
f37OwFaFMEyvAt1Q63+EzG30aGySqHPZtOkFtmY2oK8+aOHGkB2LW7/OoKtWxHEM
8WVVIR3hckygU6oupiRaq+iSAWjJYmoj7ZL+pDOFZiP608F/VtqfvjZVzmcbpfYy
J6AuW2bIsLy7li/8buzpdWC8MDWkHW6jLeHfj8yRd+YiWvWv+zAW0gGE+4mBQ8sR
O3o/2Y5SRdoKKLf7FCM6LUbRROts4LXRCqr+wONsapHmzzQPG508CaFh41/ETNtC
06K09kqI6/E+28HOaC5aXuFDNzUojRqyZsONWkK43/DE4ez8Guxb4BaNdxMw2h7n
cb70cbb+EP8R/GAQCk7S0hPfVOorDuaXdhSgT1T7ebHgse0KUkDqgTfaeY5VmLi1
F7sZG8sDnwHAh9J8TKEfSiVdedgZNJcajiJ1PnPOqHENZ0eNdzc5Osn+r17Q8K//
xhcUqRs5/0H2eo1o/TeJCIFz1E326a8xiZgYWsjfM56FyGhwhXPXKK4WIHBUmNx4
TG/jNVrOhRl2FQmibItO
=qG2r
-----END PGP SIGNATURE-----

M
M
Maxime Devos wrote on 13 Mar 10:08 +0100
(name . Jai Vetrivelan)(address . jaivetrivelan@gmail.com)
65b90bbd6f57dc023cc274bb149541d2d3d13072.camel@telenet.be
Jai Vetrivelan schreef op zo 13-03-2022 om 08:33 [+0530]:
Toggle quote (5 lines)
> 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.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYi20qxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7jZdAQDvxIYEI5W+q3OxnFbC5Dgxy5xG
OYhnN+Rcgp/JzW0UCwD/QTy2CWZAHSk0nZrkNjAq0av4sKgk9Xg33h4shCQ5bQ4=
=h3M6
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 13 Mar 10:20 +0100
(name . Jai Vetrivelan)(address . jaivetrivelan@gmail.com)
4904c91bfe40bbabcfe204c42bb56cc6054ee537.camel@telenet.be
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/?

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,

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYi23axccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7qNoAQCk8R/Pw3I/aYqDO2w87qXmlqH8
qA44sccJ7ewQFFARogD9G8ULb49671x2b2w3af+jdNljtgcXagrFdYcX0jhbnQ8=
=+Jjy
-----END PGP SIGNATURE-----


J
J
Jai Vetrivelan wrote on 13 Mar 11:48 +0100
(name . Maxime Devos)(address . maximedevos@telenet.be)
87o82aw2kz.fsf@gmail.com
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 <maximedevos@telenet.be> wrote:

Toggle quote (8 lines)
> 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 <maximedevos@telenet.be> wrote:

Toggle quote (13 lines)
> 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 <jaivetrivelan@gmail.com>
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(+)

Toggle diff (38 lines)
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
-----BEGIN PGP SIGNATURE-----

iQJMBAEBCAA2FiEE0sFiNFJFp/P+5XqUp+GV74GQxVIFAmIty/EYHGphaXZldHJp
dmVsYW5AZ21haWwuY29tAAoJEKfhle+BkMVSltYP/0m3TRYCxfglg/bRbBGA/qBC
OT2jU/PwUil5N0gaCGERbiRsLXk6rKQzSpxXKZOSdbIDQMqqKp+3Wu0HUkMTfMFa
ClpJQSFlAdEla/FCuS25F4XEBR4GgvKUU64y6dyP7qB7OdIEqbRy+Ti3PD4eQD0b
UA0e1355fDCuQj08S2I71GntEzVbXjZq/UB4yqsY8sKefHa/1xgUDbXAOg6okUau
/sdR2fObvXBYcawZKsu2XyQf+ViE5SJ0WhU2iFF5d/26ixZfqx13BbKMgbcWLhf1
tUgoliSpYwvZeR0smwBCEP4DQemVQyFHAggyqzVeY6dfr/9iCdLotME5R11LAnhb
9vAN6dJyqfchiPIH2qRN2nwcid0H5WdLTKuj1e7cvn6k5quEdSmrq9c4o7sQqMir
RO4c9ZWPgZm/mODvf04Kixx09+aDmf+cpwAFX8nbq9O5/WPj6gIbtbPKEv0duDqq
KqjZ4fhUWP2QkCRCSGqTBYXIhV/CdYFkDGaIf0JwtkZ1mC60qSkZ0i/58e4ezW1y
XPmN4A3PUsilciI5sDYi8Py3UFn6ZLWh7HWav/ieX2nQiLOiD9y3GXRu+P0BQRdw
NoHH0kx8+j/VqfBF0/sOhgnV8rQksCfhK+bUvvym0Omkfvs9OlZn8SS4uqe5jgVe
XqG99vuY2I9ltkxUvcNM
=GVGZ
-----END PGP SIGNATURE-----

M
M
Maxime Devos wrote on 13 Mar 12:09 +0100
(name . Jai Vetrivelan)(address . jaivetrivelan@gmail.com)
e1893a14905d831bb1fad72017d04cf3568c52ea.camel@telenet.be
Jai Vetrivelan schreef op zo 13-03-2022 om 16:18 [+0530]:
Toggle quote (11 lines)
> +(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)))

'commit' is only used in one place, so the 'let' binding is not
necessary here, you could write

(git-reference
(commit ""6e974bd21f2d42aaa6d0b331a162cb554085b72e"))

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYi3Q9RccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7pr0AP4uK3s7kYFvoG7SfbyI1+fKbJqm
TCyYt7PXJvUqGeGkdwEAvJePJz+w/QRgc3NHDBkBXkUkNWoG4jXu6gTQEQMhPQk=
=AVrw
-----END PGP SIGNATURE-----


N
N
Nicolas Goaziou wrote on 7 Jun 21:56 +0200
(name . Jai Vetrivelan)(address . jaivetrivelan@gmail.com)(address . 54351-done@debbugs.gnu.org)
87fskgqmc2.fsf@nicolasgoaziou.fr
Hello,

Jai Vetrivelan <jaivetrivelan@gmail.com> writes:

Toggle quote (2 lines)
> This patch adds the xah-fly-keys package.

Applied with license fixed and let-binding removed, as Maxime Devos
suggested.

I also bumped it to latest release.

Thank you.

Regards,
--
Nicolas Goaziou
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 54351@debbugs.gnu.org