[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")