guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/03: gnu: Add emacs-jinx.


From: guix-commits
Subject: 03/03: gnu: Add emacs-jinx.
Date: Sat, 9 Sep 2023 06:28:16 -0400 (EDT)

lilyp pushed a commit to branch master
in repository guix.

commit cab7ae94ec5e6e2c49946c82847d27499facc09a
Author: Mekeor Melire <mekeor@posteo.de>
AuthorDate: Sun Jun 18 23:17:18 2023 +0000

    gnu: Add emacs-jinx.
    
    * gnu/packages/emacs-xyz.scm (emacs-jinx): New variable.
    
    Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
---
 gnu/packages/emacs-xyz.scm | 61 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 1cce55bce9..e971edb676 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -181,6 +181,7 @@
   #:use-module (gnu packages djvu)
   #:use-module (gnu packages ebook)
   #:use-module (gnu packages emacs)
+  #:use-module (gnu packages enchant)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages games)
@@ -10349,6 +10350,66 @@ insertion mode.  When enabled all keys are implicitly 
prefixed with
 sgml/html integration, and indentation (working with sgml).")
     (license license:gpl3+)))
 
+(define-public emacs-jinx
+  (package
+    (name "emacs-jinx")
+    (version "0.8")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/minad/jinx";)
+         (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1y097rnf9zg26jf4vh74a0laddfp4x6pp1fjqs3xqgwc0cmdq59w"))))
+    (build-system emacs-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'expand-load-path 'build-jinx-mod
+            (lambda* _
+              (invoke
+               "emacs" "--batch" "-L" "."
+               "-l" "jinx.el"
+               "-f" "jinx--load-module")))
+          (add-after 'expand-load-path 'build-info
+            (lambda _
+              (invoke "emacs" "--batch"
+                      "--eval=(require 'ox-texinfo)"
+                      "--eval=(find-file \"README.org\")"
+                      "--eval=(org-texinfo-export-to-info)")))
+          (add-after 'build-jinx-mod 'patch-path-to-jinx-mod
+            (lambda _
+              (let ((file "jinx.el"))
+                (make-file-writable file)
+                (emacs-substitute-sexps file
+                  ("\"Compile and load dynamic module.\""
+                   `(module-load
+                     ,(string-append #$output
+                                     "/lib/emacs/jinx-mod.so")))))))
+          (add-after 'install 'install-jinx-mod
+            (lambda _
+              (install-file "jinx-mod.so"
+                            (string-append #$output "/lib/emacs"))))
+          (add-after 'install 'install-info
+            (lambda _
+              (install-file "jinx.info"
+                            (string-append #$output "/share/info")))))))
+    (inputs (list enchant))
+    (propagated-inputs (list emacs-compat))
+    (native-inputs (list emacs-compat enchant pkg-config texinfo))
+    (home-page "https://github.com/minad/jinx";)
+    (synopsis "Emacs Enchanted Spell Checker")
+    (description "Jinx is a just-in-time spell-checker for Emacs
+based on the enchant library.  It lazily highlights misspelled words in the
+text of the visible portion of the buffer by honouring window boundaries as
+well as text folding, if any.")
+    (license license:gpl3+)))
+
 (define-public emacs-jit-spell
   (package
     (name "emacs-jit-spell")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]