GNU bug report logs - #47661
[PATCH 00/33] Improve Emacs UX.

Previous Next

Package: guix-patches;

Reported by: Leo Prikler <leo.prikler <at> student.tugraz.at>

Date: Thu, 8 Apr 2021 17:47:02 UTC

Severity: normal

Tags: patch

Done: Leo Prikler <leo.prikler <at> student.tugraz.at>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: 47661 <at> debbugs.gnu.org
Subject: [bug#47661] [PATCH v2 03/33] gnu: emacs: Add coreutils and gzip to PATH.
Date: Sat, 17 Apr 2021 19:06:18 +0200
Some parts of Emacs (dired, compression handling, Tramp) shell out to commands
and patching them all is a daunting task.  Also, w.r.t. Tramp, we need those
commands to be portable across multiple machines, which need not only be Guix
machines (and even if they are, store items can be different).  This patch
ensures a ‘sane’ setup FSVO ‘sane’.

* gnu/packages/emacs.scm (emacs)[wrap-load-path]: Rename to...
[wrap-emacs-paths] ... this.  Also patch PATH.
---
 gnu/packages/emacs.scm | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index e1b01ac22b..5316d25151 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -201,8 +201,8 @@
                 (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
                 "bin/emacs")
                #t)))
-         (add-after 'strip-double-wrap 'wrap-load-path
-           (lambda* (#:key outputs #:allow-other-keys)
+         (add-after 'strip-double-wrap 'wrap-emacs-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (lisp-dirs (find-files (string-append out "/share/emacs")
                                            "^lisp$"
@@ -210,6 +210,13 @@
                (for-each
                 (lambda (prog)
                   (wrap-program prog
+                    ;; emacs-next and variants rely on uname being in PATH for
+                    ;; Tramp.  Tramp paths can't be hardcoded, because they
+                    ;; need to be portable.
+                    `("PATH" suffix
+                      ,(map (lambda (in) (string-append in "/bin"))
+                            (list (assoc-ref inputs "gzip")
+                                  (assoc-ref inputs "coreutils"))))
                     `("EMACSLOADPATH" suffix ,lisp-dirs)))
                 (find-files (string-append out "/bin")
                             ;; Matches versioned and unversioned emacs binaries.
@@ -231,6 +238,10 @@
      `(("gnutls" ,gnutls)
        ("ncurses" ,ncurses)
 
+       ;; Required for "core" functionality, such as dired and compression.
+       ("coreutils" ,coreutils)
+       ("gzip" ,gzip)
+
        ;; Avoid Emacs's limited movemail substitute that retrieves POP3 email
        ;; only via insecure channels.  This is not needed for (modern) IMAP.
        ("mailutils" ,mailutils)
@@ -361,7 +372,9 @@ also enabled and works without glitches even on X server."))))
            (delete 'strip-double-wrap)))))
     (inputs
      `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el"))
-       ("ncurses" ,ncurses)))
+       ("ncurses" ,ncurses)
+       ("coreutils" ,coreutils)
+       ("gzip" ,gzip)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))))
 
-- 
2.31.1





This bug report was last modified 4 years and 101 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.