[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#47661] [PATCH 02/33] gnu: emacs: Wrap EMACSLOADPATH.
From: |
Leo Prikler |
Subject: |
[bug#47661] [PATCH 02/33] gnu: emacs: Wrap EMACSLOADPATH. |
Date: |
Thu, 8 Apr 2021 19:49:36 +0200 |
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
- [bug#47661] [PATCH 00/33] Improve Emacs UX., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 02/33] gnu: emacs: Wrap EMACSLOADPATH.,
Leo Prikler <=
- [bug#47661] [PATCH 08/33] gnu: Add emacs-telega-contrib., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 07/33] gnu: emacs-telega: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 04/33] build-system: emacs: Use subdirectories again., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 11/33] gnu: emacs-ert-runner: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 03/33] gnu: emacs: Patch more program file names., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 10/33] gnu: emacs-howm: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 06/33] gnu: emacs-guix: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/08
- [bug#47661] [PATCH 14/33] gnu: emacs-sly-stepper: Adjust to changes in emacs-build-system., Leo Prikler, 2021/04/08