[PATCH] gnu: Add emacs-jinx.

  • Done
  • quality assurance status badge
Details
2 participants
  • Liliana Marie Prikler
  • mekeor
Owner
unassigned
Submitted by
mekeor
Severity
normal
M
M
mekeor wrote on 10 Jun 2023 01:00
(address . guix-patches@gnu.org)
88d5ddf1b26b5f4c23601780aa29158e46a6cbfe.1686354110.git.mekeor@posteo.de
* gnu/packages/emacs-xyz.scm (emacs-jinx): New variable.
---
Hello Guix! I have some questions about this patch that I'm submitting:

- emacs-jinx needs gcc at build time. Should I use gcc-toolchain (or
rather the internal gcc) package?

- When using the module (gnu packages commencement), I first got the
following warning. That's why I decided to use it with a prefix
instead. What do you think about that?

WARNING: (gnu packages emacs-xyz): `canonical-package' imported from
both (gnu packages base) and (gnu packages commencement)

- I did not introduce any (revision "0") variable or so. I hope that's
okay. I'm not sure when to use it.

- I placed the package declaration right after other spelling related
Emacs packages. Unfortunately, the declaration of emacs-jit-spell is
not close. I could send another additional patch that moves all
spelling-related Emacs packages into an own section, if you'd like.
Like this:

;;;
;;; Spelling
;;;

Anyways. Cheers!

gnu/packages/emacs-xyz.scm | 73 ++++++++++++++++++++++++++++++++++++++
1 file changed, 73 insertions(+)

Toggle diff (102 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0ea9732bfa..7e4f1a1fea 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -148,6 +148,7 @@
(define-module (gnu packages emacs-xyz)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module ((gnu packages commencement) #:prefix commencement:)
#:use-module (guix packages)
#:use-module (guix cvs-download)
#:use-module (guix download)
@@ -265,6 +266,7 @@ (define-module (gnu packages emacs-xyz)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages web-browsers)
#:use-module (gnu packages wget)
+ #:use-module (gnu packages enchant)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
@@ -31922,6 +31924,77 @@ (define-public emacs-spell-fu
that runs from the syntax highlighter without starting external processes.")
(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 "7fced90fdaca5a482cd08b80967e0eac5ee8d885")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1y097rnf9zg26jf4vh74a0laddfp4x6pp1fjqs3xqgwc0cmdq59w"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-compat))
+ (native-inputs
+ (list
+ emacs-compat
+ enchant
+ commencement:gcc-toolchain
+ pkg-config
+ texinfo))
+ (inputs (list enchant))
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Compile the accompanying jinx-mod.c file with Emacs and
+ ;; jinx.el. This needs to happen after expand-load-path phase so
+ ;; that jinx.el is able to load emacs-compat.
+ (add-after 'expand-load-path 'compile-jinx-mod-c
+ (lambda _
+ (invoke
+ "emacs" "--batch" "-L" "."
+ "-l" "jinx.el"
+ "-f" "jinx--load-module")
+ (install-file "jinx-mod.so"
+ (string-append #$output "/lib"))))
+ ;; Patch Jinx.el to load the previously compiled jinx-mod.so from
+ ;; correct output path instead of attempting to compile it.
+ (add-after 'compile-jinx-mod-c 'use-compiled-jinx-mod-so
+ (lambda _
+ (let ((file "jinx.el"))
+ (make-file-writable file)
+ (emacs-substitute-sexps file
+ ("\"Compile and load dynamic module.\""
+ `(module-load
+ ,(string-append #$output "/lib/jinx-mod.so")))))))
+ (add-after 'install 'makeinfo
+ (lambda _
+ (invoke "emacs" "--batch"
+ "--eval=(require 'ox-texinfo)"
+ "--eval=(find-file \"README.org\")"
+ "--eval=(org-texinfo-export-to-info)")
+ (install-file "jinx.info"
+ (string-append #$output "/share/info")))))))
+ (home-page "https://github.com/minad/jinx")
+ (synopsis "Emacs Enchanted Spell Checker")
+ (description
+ "Jinx is a fast just-in-time spell-checker for Emacs. Jinx highlights
+misspelled words in the text of the visible portion of the buffer. For
+efficiency, Jinx highlights misspellings lazily, recognizes window boundaries
+and text folding, if any. For example, when unfolding or scrolling, only the
+newly visible part of the text is checked if it has not been checked before.
+Each misspelling can be corrected from a list of dictionary words presented as
+a completion menu. Jinx's high performance and low resource usage comes from
+directly calling the widely-used API of the Enchant library.")
+ (license license:gpl3+)))
+
(define-public emacs-org-emms
(let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
(revision "1"))

base-commit: 297ba5c15a32845ab8514aeb6f405ebd4290142d
--
2.39.2
M
M
Mekeor Melire wrote on 18 Jun 2023 13:34
Should jinx-mod.so be installed into /.../lib or into /.../share/emacs/site-lisp/...?
(address . 63987@debbugs.gnu.org)(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
874jn56lvd.fsf@posteo.de
Hello Guix,

my previous patch added a package definition for emacs-jinx. The package definition works by installing the accompanying jinx-mod.so into the package's $out/lib directory, and patching jinx.el so that it loads that library from the correct path.

The maintainer of the Emacs package suggests to rather install jinx-mod.so into $out/share/emacs/site-lisp/jinx-.../ instead, i.e. right next to the .el-files: https://github.com/minad/jinx/issues/86#issuecomment-1596102645

What do you think?
L
L
Liliana Marie Prikler wrote on 18 Jun 2023 13:56
c395318ee624156577b3cb56196da72fc6a75fa2.camel@gmail.com
Hi Mekeor,

Am Sonntag, dem 18.06.2023 um 11:34 +0000 schrieb Mekeor Melire:
Toggle quote (13 lines)
> Hello Guix,
>
> my previous patch added a package definition for emacs-jinx. The
> package definition works by installing the accompanying jinx-mod.so
> into the package's $out/lib directory, and patching jinx.el so that
> it loads that library from the correct path.
>
> The maintainer of the Emacs package suggests to rather install jinx-
> mod.so into $out/share/emacs/site-lisp/jinx-.../ instead, i.e. right
> next to the .el-files:
> https://github.com/minad/jinx/issues/86#issuecomment-1596102645
>
> What do you think?
The way you did it SGTM. If you fear that it might shadow other shared
libraries (probably an unnecessary fear, but who knows?), you could use
lib/emacs instead. Other comments will come in a separate reply to
your first mail.  

Stay tuned!
L
L
Liliana Marie Prikler wrote on 18 Jun 2023 14:14
Re: [PATCH] gnu: Add emacs-jinx.
178e4d85bac266c22b187bb462a87258f952f0e3.camel@gmail.com
Am Freitag, dem 09.06.2023 um 23:00 +0000 schrieb mekeor@posteo.de:
Toggle quote (7 lines)
> * gnu/packages/emacs-xyz.scm (emacs-jinx): New variable.
> ---
> Hello Guix! I have some questions about this patch that I'm
> submitting:
>
> - emacs-jinx needs gcc at build time. Should I use gcc-toolchain (or
>   rather the internal gcc) package?
Regular GCC ought to suffice. I'm not sure why it isn't an implicit
input of emacs-build-system, but you get what you code for.

Toggle quote (11 lines)
> - When using the module (gnu packages commencement), I first got the
>   following warning. That's why I decided to use it with a prefix
>   instead. What do you think about that?
>
>   WARNING: (gnu packages emacs-xyz): `canonical-package' imported
> from
>   both (gnu packages base) and (gnu packages commencement)
>
> - I did not introduce any (revision "0") variable or so. I hope
> that's
>   okay. I'm not sure when to use it.
I personally only find that okay when using tagged releases, but
there's different opinions on that and slightly varying styles
throughout the code base. I'd prefer it if you used the 
(commit (f version))
pattern, where f is some transformation – including (commit version).

Toggle quote (6 lines)
> - I placed the package declaration right after other spelling related
>   Emacs packages. Unfortunately, the declaration of emacs-jit-spell
> is
>   not close. I could send another additional patch that moves all
>   spelling-related Emacs packages into an own section, if you'd like.
>   Like this:
Sorting-wise, why not place it right before emacs-jit-spell?
jinx < jit.

Toggle quote (78 lines)
>   ;;;
>   ;;; Spelling
>   ;;;
>
> Anyways. Cheers!
>
>  gnu/packages/emacs-xyz.scm | 73
> ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 73 insertions(+)
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index 0ea9732bfa..7e4f1a1fea 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -148,6 +148,7 @@
>  
>  (define-module (gnu packages emacs-xyz)
>    #:use-module ((guix licenses) #:prefix license:)
> +  #:use-module ((gnu packages commencement) #:prefix commencement:)
>    #:use-module (guix packages)
>    #:use-module (guix cvs-download)
>    #:use-module (guix download)
> @@ -265,6 +266,7 @@ (define-module (gnu packages emacs-xyz)
>    #:use-module (gnu packages virtualization)
>    #:use-module (gnu packages web-browsers)
>    #:use-module (gnu packages wget)
> +  #:use-module (gnu packages enchant)
>    #:use-module (guix utils)
>    #:use-module (srfi srfi-1)
>    #:use-module (ice-9 match))
> @@ -31922,6 +31924,77 @@ (define-public emacs-spell-fu
>  that runs from the syntax highlighter without starting external
> processes.")
>        (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 "7fced90fdaca5a482cd08b80967e0eac5ee8d885")))
> +        (file-name (git-file-name name version))
> +        (sha256
> +          (base32
> +           
> "1y097rnf9zg26jf4vh74a0laddfp4x6pp1fjqs3xqgwc0cmdq59w"))))
> +    (build-system emacs-build-system)
> +    (propagated-inputs (list emacs-compat))
> +    (native-inputs
> +      (list
> +        emacs-compat
> +        enchant
> +        commencement:gcc-toolchain
> +        pkg-config
> +        texinfo))
> +    (inputs (list enchant))
> +    (arguments
> +      (list
> +        #:phases
> +        #~(modify-phases %standard-phases
> +            ;; Compile the accompanying jinx-mod.c file with Emacs
> and
> +            ;; jinx.el. This needs to happen after expand-load-path
> phase so
> +            ;; that jinx.el is able to load emacs-compat.
> +            (add-after 'expand-load-path 'compile-jinx-mod-c
> +              (lambda _
> +                (invoke
> +                  "emacs" "--batch" "-L" "."
> +                  "-l" "jinx.el"
> +                  "-f" "jinx--load-module")
> +                (install-file "jinx-mod.so"
> +                  (string-append #$output "/lib"))))
The install-file ought to go in it's own phase, imho.
Toggle quote (13 lines)
> +            ;; Patch Jinx.el to load the previously compiled jinx-
> mod.so from
> +            ;; correct output path instead of attempting to compile
> it.
> +            (add-after 'compile-jinx-mod-c 'use-compiled-jinx-mod-so
> +              (lambda _
> +                (let ((file "jinx.el"))
> +                  (make-file-writable file)
> +                  (emacs-substitute-sexps file
> +                    ("\"Compile and load dynamic module.\""
> +                      `(module-load
> +                         ,(string-append #$output "/lib/jinx-
> mod.so")))))))
You might want to use a patch instead if a simple substitute-sexps.
Toggle quote (8 lines)
> +            (add-after 'install 'makeinfo
> +              (lambda _
> +                (invoke "emacs" "--batch"
> +                  "--eval=(require 'ox-texinfo)"
> +                  "--eval=(find-file \"README.org\")"
> +                  "--eval=(org-texinfo-export-to-info)")
> +                (install-file "jinx.info"
> +                  (string-append #$output "/share/info")))))))
Again, split build and install.
Toggle quote (10 lines)
> +    (home-page "https://github.com/minad/jinx")
> +    (synopsis "Emacs Enchanted Spell Checker")
> +    (description
> +      "Jinx is a fast just-in-time spell-checker for Emacs.  Jinx
> highlights
> +misspelled words in the text of the visible portion of the buffer. 
> For
> +efficiency, Jinx highlights misspellings lazily, recognizes window
> boundaries
> +and text folding, if any.
"Jinx highlights misspellings lazily and honours window boundaries as
well as potential text foldings."

Toggle quote (3 lines)
>   For example, when unfolding or scrolling, only the
> +newly visible part of the text is checked if it has not been checked
> before.
This is somewhat gratuitous information, leave it out :)

Toggle quote (3 lines)
> +Each misspelling can be corrected from a list of dictionary words
> presented as
> +a completion menu.  
That's something you'd expect, leave it.

Toggle quote (2 lines)
> Jinx's high performance and low resource usage comes from
> +directly calling the widely-used API of the Enchant library.")
Maybe mention this in the first sentence instead of making it the last:
"Jinx is a just-in-time spell-checker for Emacs based on the Enchant
library."


Cheers
M
M
Mekeor Melire wrote on 19 Jun 2023 01:02
[PATCH v2] gnu: Add emacs-jinx.
(address . 63987@debbugs.gnu.org)
87zg4w5pvi.fsf@posteo.de
* gnu/packages/emacs-xyz.scm (emacs-jinx): New variable.
---
Some (but not all) changes in this patch version:

1. The patch still installs jinx-mod.so into $output/lib.

2. The patch does not import (gnu packages commencement) anymore.

3. The patch does not use (let ((commit ...) (revision ...)) ...) anymore.

4. The patch now adds emacs-jinx right before emacs-jit-spell.

5. The patch now splits phases of installation and build of documentation and jinx-mod.

6. The patch now uses a more concise package description.

gnu/packages/emacs-xyz.scm | 60
++++++++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)

Toggle diff (85 lines)
diff --git a/gnu/packages/emacs-xyz.scm
b/gnu/packages/emacs-xyz.scm
index 24a4ae169e..574fd4cfca 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -177,6 +177,7 @@ (define-module (gnu packages emacs-xyz)
#: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)
@@ -10010,6 +10011,65 @@ (define-public emacs-jinja2-mode
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)
+ (propagated-inputs (list emacs-compat))
+ (native-inputs (list emacs-compat enchant pkg-config
texinfo))
+ (inputs (list enchant))
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'install 'build-jinx-mod
+ (lambda* _
+ (invoke
+ "emacs" "--batch" "-L" "."
+ "-l" "jinx.el"
+ "-f" "jinx--load-module")))
+ (add-before 'install '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/jinx-mod.so")))))))
+ (add-before 'install 'build-info
+ (lambda _
+ (invoke "emacs" "--batch"
+ "--eval=(require 'ox-texinfo)"
+ "--eval=(find-file \"README.org\")"
+ "--eval=(org-texinfo-export-to-info)")))
+ (add-after 'install 'install-jinx-mod
+ (lambda _
+ (install-file "jinx-mod.so"
+ (string-append #$output "/lib"))))
+ (add-after 'install 'install-info
+ (lambda _
+ (install-file "jinx.info"
+ (string-append #$output "/share/info")))))))
+ (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")
--
2.39.2
M
M
Mekeor Melire wrote on 19 Jun 2023 01:17
[PATCH v3] gnu: Add emacs-jinx.
(address . 63987@debbugs.gnu.org)
87v8fk5pgc.fsf@posteo.de
* gnu/packages/emacs-xyz.scm (emacs-jinx): New variable.
---
Sorry. Here's another edit that makes the order of phases more comprehensible.

gnu/packages/emacs-xyz.scm | 60
++++++++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)

Toggle diff (85 lines)
diff --git a/gnu/packages/emacs-xyz.scm
b/gnu/packages/emacs-xyz.scm
index 24a4ae169e..dcefa0475e 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -177,6 +177,7 @@ (define-module (gnu packages emacs-xyz)
#: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)
@@ -10010,6 +10011,65 @@ (define-public emacs-jinja2-mode
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)
+ (propagated-inputs (list emacs-compat))
+ (native-inputs (list emacs-compat enchant pkg-config
texinfo))
+ (inputs (list enchant))
+ (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/jinx-mod.so")))))))
+ (add-after 'install 'install-jinx-mod
+ (lambda _
+ (install-file "jinx-mod.so"
+ (string-append #$output "/lib"))))
+ (add-after 'install 'install-info
+ (lambda _
+ (install-file "jinx.info"
+ (string-append #$output "/share/info")))))))
+ (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")
--
2.39.2
M
M
Mekeor Melire wrote on 21 Jun 2023 00:04
Re: Should jinx-mod.so be installed into /.../lib or into /.../share/emacs/site-lisp/...?
(address . 63987@debbugs.gnu.org)
874jn1bwxu.fsf@posteo.de
2023-06-18 13:56 liliana.prikler@gmail.com:

Toggle quote (31 lines)
> Hi Mekeor,
>
> Am Sonntag, dem 18.06.2023 um 11:34 +0000 schrieb Mekeor Melire:
> > Hello Guix,
> >
> > my previous patch added a package definition for emacs-jinx.
> > The
> > package definition works by installing the accompanying
> > jinx-mod.so
> > into the package's $out/lib directory, and patching jinx.el so
> > that
> > it loads that library from the correct path.
> >
> > The maintainer of the Emacs package suggests to rather install
> > jinx-
> > mod.so into $out/share/emacs/site-lisp/jinx-.../ instead, i.e.
> > right
> > next to the .el-files:
> > https://github.com/minad/jinx/issues/86#issuecomment-1596102645
> >
> > What do you think?
> The way you did it SGTM. If you fear that it might shadow other
> shared
> libraries (probably an unnecessary fear, but who knows?), you
> could use
> lib/emacs instead. Other comments will come in a separate reply
> to
> your first mail.
>
> Stay tuned!

Daniel Mendler says: "My suggestion is that you put the library
file [jinx-mod.so] in some appropriate directory, which must be on
the load-path. I assume
that there exists some convention on Guix on where to install
native modules."

And I think they are right. We should have a convention about where to install native modules (.so-files) and add that directory to Emacs' load-path.

One approach would be to use $out/lib/emacs (or a new subdirectory of it). E.g. we would install jinx-mod.so into that path and Guix would add it to the EMACSLOADPATH environment-variable. (Currently, Guix only makes use of .../lib/emacs/native-site-lisp which is added to EMACSNATIVELOADPATH environment-variable.)

Another approach would be to agree on installing *.so-files into $out/share/site-lisp/PACKAGE-VERSION/ so that it is already present Emacs' load-path as is.

What do you think?
L
L
Liliana Marie Prikler wrote on 21 Jun 2023 06:23
Re: [bug#63987] Should jinx-mod.so be installed into /.../lib or into /.../share/emacs/site-lisp/...?
e4b9d2ab272b44bf82e6c4cd5b97bdcd5e271cea.camel@gmail.com
Am Dienstag, dem 20.06.2023 um 22:04 +0000 schrieb Mekeor Melire:
Toggle quote (15 lines)
> Daniel Mendler says: "My suggestion is that you put the library
> file [jinx-mod.so] in some appropriate directory, which must be on
> the load-path. I assume that there exists some convention on Guix on
> where to install native modules."
> https://github.com/minad/jinx/issues/86#issuecomment-1597221252
>
> And I think they are right. We should have a convention about where
> to install native modules (.so-files) and add that directory to
> Emacs' load-path.
>
> One approach would be to use $out/lib/emacs (or a new subdirectory of
> it). E.g. we would install jinx-mod.so into that path and Guix would
> add it to the EMACSLOADPATH environment-variable. (Currently, Guix
> only makes use of .../lib/emacs/native-site-lisp which is added to
> EMACSNATIVELOADPATH environment-variable.)
What's the functional difference between EMACSLOADPATH and
EMACSNATIVELOADPATH here? Why would the latter not work?

Toggle quote (5 lines)
> Another approach would be to agree on installing *.so-files into
> $out/share/site-lisp/PACKAGE-VERSION/ so that it is already present
> Emacs' load-path as is.
>
> What do you think?
/lib/emacs/native-site-lisp sounds like the wrong place regardless, as
does /share/site-lisp. Perhaps /lib/emacs/site-mod?

Cheers
L
L
Liliana Marie Prikler wrote on 9 Sep 2023 12:30
Re: [PATCH v3] gnu: Add emacs-jinx.
2e271b96280c2c99c38ef72b360162dacd8242ed.camel@gmail.com
Am Sonntag, dem 18.06.2023 um 23:17 +0000 schrieb Mekeor Melire:
Toggle quote (4 lines)
> * gnu/packages/emacs-xyz.scm (emacs-jinx): New variable.
> ---
> Sorry. Here's another edit that makes the order of phases more
> comprehensible.
Pushed with the following changes:

1. jinx-mod.so is installed to lib/emacs
2. inputs etc. are put after arguments

I also had a bit of a trouble applying your patch because it seems your
MUA breaks it; please take care that no gratuitous line breaks are
inserted.

Cheers
Closed
?