GNU bug report logs -
#43627
[PATCH core-updates]: Add a 'append-separator?' field to the <search-path-specification> record.
Previous Next
Full log
View this message in rfc822 format
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 | 31 ++++++++++++++++---------------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 7447cfe33a..e12c489f8d 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -201,6 +201,20 @@
(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")
+ ;; versioned and unversioned emacs binaries
+ "^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 +269,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 +306,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.0
This bug report was last modified 4 years ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.