Subject: [PATCH 3/6] gnu: Add emacs-lin.

From: Jai Vetrivelan <[email-masked]>
Date: Sun, 20 Mar 2022 18:50:37 +0530

>From 206367ee989b1c881aeeb857fca8bae7a901e0cf Mon Sep 17 00:00:00 2001
From: Jai Vetrivelan <[email-masked]>
Date: Sun, 20 Mar 2022 17:23:42 +0530
Subject: [PATCH 3/6] gnu: Add emacs-lin.

* gnu/packages/emacs-xyz.scm (emacs-lin): New variable.
---
 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 567dfc4eb8..eb2f857abd 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -13688,6 +13688,42 @@ (define-public emacs-linum-relative
 number on the left margin in Emacs.")
     (license license:gpl2+)))
 
+(define-public emacs-lin
+  (package
+   (name "emacs-lin")
+   (version "0.2.0")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://gitlab.com/protesilaos/lin.git/")
+                  (commit version)))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32
+              "14aawkgqwwg0sv7wfz6b3f266vga2wjldm8vwdycyipcz89bf73w"))))
+   (native-inputs (list texinfo))
+    (build-system emacs-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'makeinfo
+           (lambda* (#:key outputs #:allow-other-keys)
+             (invoke "emacs"
+                     "--batch"
+                     "--eval=(require 'ox-texinfo)"
+                     "--eval=(find-file \"README.org\")"
+                     "--eval=(org-texinfo-export-to-info)")
+             (install-file "lin.info"
+                           (string-append (assoc-ref outputs "out")
+                                          "/share/info")))))))
+   (home-page "https://protesilaos.com/emacs/lin")
+   (synopsis "Make @command{hl-line-mode} more suitable for selection UIs")
+   (description "Lin is a stylistic enhancement for Emacs’ built-in
+@command{hl-line-mode}.  It remaps the hl-line face (or equivalent)
+buffer-locally to a style that is optimal for major modes where line selection
+is the primary mode of interaction.")
+   (license license:gpl3+))) ; GFDLv1.3+ for the manual
+
 (define-public emacs-idle-highlight
   (package
     (name "emacs-idle-highlight")
-- 
2.34.0