From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Leo Prikler <leo.prikler@student.tugraz.at>
Cc: 47458@debbugs.gnu.org
Subject: bug#47458: Terrible UX upgrading Emacs in Guix
Date: Sun, 04 Apr 2021 00:35:31 -0400 [thread overview]
Message-ID: <87wntipsz0.fsf_-_@gmail.com> (raw)
In-Reply-To: <20210330184101.7643-1-leo.prikler@student.tugraz.at> (Leo Prikler's message of "Tue, 30 Mar 2021 20:41:01 +0200")
Hi Leo!
Leo Prikler <leo.prikler@student.tugraz.at> writes:
> 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)))
Shouldn't we wrap all the binaries to be on the safe side? Things such
as emacsclient probably ought to have EMACSLOADPATH set correctly, no?
> (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")
This makes sense, and can make it to master rather than core-updates,
which is neat.
Thank you :-)
Maxim
next prev parent reply other threads:[~2021-04-04 4:36 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-26 6:11 [bug#43627] [PATCH core-updates]: Add a 'append-separator?' field to the <search-path-specification> record Maxim Cournoyer
2020-09-26 6:14 ` [bug#43627] [PATCH core-updates 1/3] guix: Add an append-separator? " Maxim Cournoyer
2020-09-26 6:14 ` [bug#43627] [PATCH core-updates 2/3] gnu: emacs: Use the new append-separator? option to define its search path Maxim Cournoyer
2020-09-26 6:14 ` [bug#43627] [PATCH core-updates 3/3] Revert "emacs-build-system: Ensure the core libraries appear last in the load path." Maxim Cournoyer
2020-09-27 19:01 ` [bug#43627] [PATCH core-updates]: Add a 'append-separator?' field to the <search-path-specification> record Ludovic Courtès
2020-10-03 21:22 ` Maxim Cournoyer
2020-11-02 13:59 ` Ludovic Courtès
2020-11-08 5:49 ` Maxim Cournoyer
2021-03-30 15:51 ` [bug#43627] [PATCH core-updates v2 1/2] guix: Add an append-separator? " Maxim Cournoyer
2021-03-30 15:51 ` [bug#43627] [PATCH core-updates v2 2/2] gnu: emacs: Use the new append-separator? option to define its search path Maxim Cournoyer
2021-04-10 20:42 ` [bug#43627] [PATCH core-updates v2 1/2] guix: Add an append-separator? field to the <search-path-specification> record Ludovic Courtès
2021-05-20 14:24 ` bug#43627: " Maxim Cournoyer
2021-03-30 18:41 ` [bug#43627] [PATCH] gnu: emacs: Wrap EMACSLOADPATH Leo Prikler
2021-04-04 4:35 ` Maxim Cournoyer [this message]
2021-04-04 7:49 ` bug#47458: Terrible UX upgrading Emacs in Guix Leo Prikler
2021-04-06 12:09 ` Maxim Cournoyer
2021-04-06 15:49 ` Leo Prikler
2021-04-07 19:46 ` Maxim Cournoyer
2021-05-20 13:24 ` Maxim Cournoyer
-- strict thread matches above, loose matches on Subject: below --
2021-03-29 2:02 Mark H Weaver
2021-03-29 8:07 ` Leo Prikler
2021-03-29 8:24 ` Maxime Devos
2021-03-29 8:43 ` Leo Prikler
2021-03-29 15:55 ` [bug#45359] " Ludovic Courtès
2021-03-29 15:55 ` Ludovic Courtès
2021-03-29 18:25 ` bug#45359: " Maxim Cournoyer
2020-12-22 3:28 ` [bug#45359] [PATCH]: Re-introduce Emacs packages specific installation prefix Maxim Cournoyer
2020-12-22 8:51 ` bug#45316: " Leo Prikler
2020-12-22 18:09 ` Maxim Cournoyer
2020-12-22 19:10 ` Leo Prikler
2020-12-26 5:01 ` Maxim Cournoyer
2020-12-26 10:56 ` Leo Prikler
2020-12-27 4:44 ` Maxim Cournoyer
2020-12-27 8:46 ` Leo Prikler
[not found] ` <handler.45359.D45359.161704236132600.notifdone@debbugs.gnu.org>
2021-03-29 18:45 ` [bug#45359] closed (Re: bug#47458: Terrible UX upgrading Emacs in Guix) Maxim Cournoyer
2021-03-29 18:48 ` bug#45359: [PATCH]: Re-introduce Emacs packages specific installation prefix Maxim Cournoyer
2021-03-30 8:04 ` [bug#45359] bug#47458: Terrible UX upgrading Emacs in Guix Ludovic Courtès
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wntipsz0.fsf_-_@gmail.com \
--to=maxim.cournoyer@gmail.com \
--cc=47458@debbugs.gnu.org \
--cc=leo.prikler@student.tugraz.at \
/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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.