unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Leo Prikler <leo.prikler@student.tugraz.at>
To: 47661@debbugs.gnu.org
Subject: [bug#47661] [PATCH 02/33] gnu: emacs: Wrap EMACSLOADPATH.
Date: Thu,  8 Apr 2021 19:49:36 +0200	[thread overview]
Message-ID: <20210408175007.13360-2-leo.prikler@student.tugraz.at> (raw)
In-Reply-To: <20210408175007.13360-1-leo.prikler@student.tugraz.at>

With this, the search path specification of EMACSLOADPATH does no longer
depend on the version of Emacs, which should make upgrading major versions
less painful.  See also:
- <https://bugs.gnu.org/43627>
- <https://bugs.gnu.org/47458>

* gnu/packages/emacs.scm (emacs)[#:phases]: Add ‘wrap-load-path’.
[native-search-path]<EMACSLOADPATH>: Do not search for builtin libraries.
(emacs-next)[native-search-path]: Inherit from emacs.
---
 gnu/packages/emacs.scm | 35 ++++++++++++++++++++---------------
 1 file changed, 20 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 7447cfe33a..e1b01ac22b 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -201,6 +201,24 @@
                 (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)
+             (let* ((out (assoc-ref outputs "out"))
+                    (lisp-dirs (find-files (string-append out "/share/emacs")
+                                           "^lisp$"
+                                           #:directories? #t)))
+               (for-each
+                (lambda (prog)
+                  (wrap-program prog
+                    `("EMACSLOADPATH" suffix ,lisp-dirs)))
+                (find-files (string-append out "/bin")
+                            ;; Matches versioned and unversioned emacs binaries.
+                            ;; We don't patch emacsclient, because it takes its
+                            ;; environment variables from emacs.
+                            ;; Likewise, we don't need to patch helper binaries
+                            ;; like etags, ctags or ebrowse.
+                            "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))
+               #t)))
          (add-before 'reset-gzip-timestamps 'make-compressed-files-writable
            ;; The 'reset-gzip-timestamps phase will throw a permission error
            ;; if gzip files aren't writable then.  This phase is needed when
@@ -255,9 +273,7 @@
     (native-search-paths
      (list (search-path-specification
             (variable "EMACSLOADPATH")
-            ;; The versioned entry is for the Emacs' builtin libraries.
-            (files (list "share/emacs/site-lisp"
-                         (string-append "share/emacs/" version "/lisp"))))
+            (files '("share/emacs/site-lisp")))
            (search-path-specification
             (variable "INFOPATH")
             (files '("share/info")))))
@@ -294,18 +310,7 @@ languages.")
            "0igjm9kwiswn2dpiy2k9xikbdfc7njs07ry48fqz70anljj8y7y3"))))
       (native-inputs
        `(("autoconf" ,autoconf)
-         ,@(package-native-inputs emacs)))
-      (native-search-paths
-       (list (search-path-specification
-              (variable "EMACSLOADPATH")
-              ;; The versioned entry is for the Emacs' builtin libraries.
-              (files (list "share/emacs/site-lisp"
-                           (string-append "share/emacs/"
-                                          (version-major+minor+point version)
-                                          "/lisp"))))
-             (search-path-specification
-              (variable "INFOPATH")
-              (files '("share/info"))))))))
+         ,@(package-native-inputs emacs))))))
 
 (define-public emacs-next-pgtk
   (let ((commit "ae18c8ec4f0ef37c8c9cda473770ff47e41291e2")
-- 
2.31.1





  reply	other threads:[~2021-04-08 17:51 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-08 17:46 [bug#47661] [PATCH 00/33] Improve Emacs UX Leo Prikler
2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
2021-04-08 17:49   ` Leo Prikler [this message]
2021-04-08 17:49   ` [bug#47661] [PATCH 03/33] gnu: emacs: Patch more program file names Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 04/33] build-system: emacs: Use subdirectories again Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 05/33] gnu: emacs-libgit: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 06/33] gnu: emacs-guix: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 07/33] gnu: emacs-telega: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 08/33] gnu: Add emacs-telega-contrib Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 10/33] gnu: emacs-howm: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 11/33] gnu: emacs-ert-runner: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 12/33] gnu: emacs-pdf-tools: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 13/33] gnu: emacs-shroud: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 14/33] gnu: emacs-sly-stepper: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 15/33] gnu: emacs-sly-stepper: Remove generated sources Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 17/33] gnu: emacs-edbi: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 18/33] gnu: emacs-scel: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 19/33] gnu: emacs-vterm: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 20/33] gnu: notmuch: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 21/33] gnu: emacs-pyim: Update to 3.6 Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 23/33] gnu: emacs-geiser: Update to 0.13 Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 24/33] gnu: Add emacs-geiser-guile Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 25/33] gnu: emacs-guix: Update to 0.5.2-4.8ce6d21 Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 26/33] gnu: emacs-flycheck-guile: Add missing input Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 27/33] gnu: guile-studio: " Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 29/33] gnu: emacs-dvc: " Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 30/33] gnu: emacs-w3m: " Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 31/33] gnu: emacs-wget: Port to emacs-build-system Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 33/33] gnu: emacs-julia-snail: " Leo Prikler
2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 02/33] gnu: emacs: Wrap EMACSLOADPATH Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 03/33] gnu: emacs: Add coreutils and gzip to PATH Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 04/33] build-system: emacs: Use subdirectories again Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 05/33] gnu: emacs-libgit: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 06/33] gnu: emacs-guix: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 07/33] gnu: emacs-telega: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 08/33] gnu: Add emacs-telega-contrib Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 10/33] gnu: emacs-howm: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 11/33] gnu: emacs-ert-runner: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 12/33] gnu: emacs-pdf-tools: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 13/33] gnu: emacs-shroud: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 14/33] gnu: emacs-sly-stepper: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 15/33] gnu: emacs-sly-stepper: Remove generated sources Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 17/33] gnu: emacs-edbi: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 18/33] gnu: emacs-scel: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 19/33] gnu: emacs-vterm: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 20/33] gnu: notmuch: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 21/33] gnu: emacs-pyim: Update to 3.6 Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 23/33] gnu: emacs-geiser: Update to 0.13 Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 24/33] gnu: Add emacs-geiser-guile Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 25/33] gnu: emacs-guix: Update to 0.5.2-4.8ce6d21 Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 26/33] gnu: emacs-flycheck-guile: Add missing input Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 27/33] gnu: guile-studio: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 29/33] gnu: emacs-dvc: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 30/33] gnu: emacs-w3m: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 31/33] gnu: emacs-wget: Port to emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 33/33] gnu: emacs-julia-snail: " Leo Prikler
2021-04-29 12:16 ` [bug#47661] [PATCH 00/33] Improve Emacs UX Xinglu Chen
2021-04-29 14:58   ` Leo Prikler
2021-04-30  8:25     ` Xinglu Chen
2021-05-01 18:45       ` bug#47661: " Leo Prikler
2021-05-04  5:13         ` [bug#47661] " Arun Isaac
2021-05-04  6:38           ` Leo Prikler
2021-05-04 21:02             ` Arun Isaac
2021-05-04 21:22               ` Leo Prikler
2021-05-05  7:47                 ` Arun Isaac

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210408175007.13360-2-leo.prikler@student.tugraz.at \
    --to=leo.prikler@student.tugraz.at \
    --cc=47661@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).