[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/33: gnu: emacs: Wrap EMACSLOADPATH.
From: |
guix-commits |
Subject: |
02/33: gnu: emacs: Wrap EMACSLOADPATH. |
Date: |
Sat, 1 May 2021 14:37:47 -0400 (EDT) |
leoprikler pushed a commit to branch master
in repository guix.
commit 307a2d2e2a833c2e1f7a79f46e4c6945c618cd8c
Author: Leo Prikler <leo.prikler@student.tugraz.at>
AuthorDate: Sat Apr 17 19:06:17 2021 +0200
gnu: emacs: Wrap EMACSLOADPATH.
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 7447cfe..e1b01ac 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")
- 01/33: profiles: Add hook for Emacs subdirs., (continued)
- 01/33: profiles: Add hook for Emacs subdirs., guix-commits, 2021/05/01
- 03/33: gnu: emacs: Add coreutils and gzip to PATH., guix-commits, 2021/05/01
- 12/33: gnu: emacs-pdf-tools: Adjust to changes in emacs-build-system., guix-commits, 2021/05/01
- 05/33: gnu: emacs-libgit: Adjust to changes in emacs-build-system., guix-commits, 2021/05/01
- 17/33: gnu: emacs-edbi: Adjust to changes in emacs-build-system., guix-commits, 2021/05/01
- 06/33: gnu: emacs-guix: Adjust to changes in emacs-build-system., guix-commits, 2021/05/01
- 08/33: gnu: Add emacs-telega-contrib., guix-commits, 2021/05/01
- 30/33: gnu: emacs-w3m: Adjust to changes in emacs-build-system., guix-commits, 2021/05/01
- 13/33: gnu: emacs-shroud: Adjust to changes in emacs-build-system., guix-commits, 2021/05/01
- 15/33: gnu: emacs-sly-stepper: Remove generated sources., guix-commits, 2021/05/01
- 02/33: gnu: emacs: Wrap EMACSLOADPATH.,
guix-commits <=
- 04/33: build-system: emacs: Use subdirectories again., guix-commits, 2021/05/01
- 09/33: gnu: emacs-emacsql: Adjust to changes in emacs-build-system., guix-commits, 2021/05/01
- 16/33: gnu: emacs-org-contrib: Adjust to changes in emacs-build-system., guix-commits, 2021/05/01
- 22/33: gnu: emacs-realgud: Adjust to changes in emacs-build-system., guix-commits, 2021/05/01
- 19/33: gnu: emacs-vterm: Adjust to changes in emacs-build-system., guix-commits, 2021/05/01
- 20/33: gnu: notmuch: Adjust to changes in emacs-build-system., guix-commits, 2021/05/01
- 25/33: gnu: emacs-guix: Update to 0.5.2-4.8ce6d21., guix-commits, 2021/05/01
- 23/33: gnu: emacs-geiser: Update to 0.13., guix-commits, 2021/05/01
- 29/33: gnu: emacs-dvc: Adjust to changes in emacs-build-system., guix-commits, 2021/05/01
- 33/33: gnu: emacs-julia-snail: Adjust to changes in emacs-build-system., guix-commits, 2021/05/01