[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#67260] [PATCH v4 1/5] gnu: emacs: Build trampolines.
From: |
Andrew Tropin |
Subject: |
[bug#67260] [PATCH v4 1/5] gnu: emacs: Build trampolines. |
Date: |
Thu, 28 Dec 2023 08:56:15 +0300 |
On 2023-12-27 21:03, Liliana Marie Prikler wrote:
> Am Mittwoch, dem 27.12.2023 um 21:27 +0300 schrieb Andrew Tropin:
>> On 2023-12-27 17:40, Liliana Marie Prikler wrote:
>>
>> > Am Mittwoch, dem 27.12.2023 um 14:00 +0300 schrieb Andrew Tropin:
>> > > On 2023-11-25 12:13, Liliana Marie Prikler wrote:
>> > >
>> > > > * gnu/packages/emacs.scm (emacs-no-x)[#:phases]: Add ‘build-
>> > > > trampolines’.
>> > > >
>> > > > Change-Id: I33303bcbaf6cbda15867a5546e793c05d1f0e67b
>> > > > ---
>> > > > gnu/packages/emacs.scm | 5 ++++-
>> > > > 1 file changed, 4 insertions(+), 1 deletion(-)
>> > > >
>> > > > diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
>> > > > index b9d9e2b891..55eab48c25 100644
>> > > > --- a/gnu/packages/emacs.scm
>> > > > +++ b/gnu/packages/emacs.scm
>> > > > @@ -327,7 +327,10 @@ (define-public emacs-no-x
>> > > > (string-append
>> > > > "-B" #$(this-package-input "libgccjit")
>> > > > "/lib/")
>> > > > (string-append
>> > > > - "-B" #$(this-package-input "libgccjit")
>> > > > "/lib/gcc/"))))))))))
>> > > > + "-B" #$(this-package-input "libgccjit")
>> > > > "/lib/gcc/"))))))
>> > > > + (add-after 'build 'build-trampolines
>> > > > + (lambda* (#:key make-flags #:allow-other-keys)
>> > > > + (apply invoke "make" "trampolines" make-
>> > > > flags)))))))
>> > > > (inputs
>> > > > (modify-inputs (package-inputs emacs-minimal)
>> > > > (prepend gnutls
>> > > >
>> > > > base-commit: 60c97924e9519361494aaf0686e28eb831a42315
>> > >
>> > > Applied the patch series v4 to emacs-team branch, removed all eln
>> > > files
>> > > in ~/.cache/emacs and ~/.config/emacs, executed
>> > >
>> > > --8<---------------cut here---------------start------------->8---
>> > > ./pre-inst-env guix shell emacs-pgtk emacs-magit \
>> > > --pure -E '.*GTK.*|.*XDG.*|.*DISPLAY.*' -- emacs -Q
>> > > # M-S-: (require 'magit) RET
>> > > --8<---------------cut here---------------end--------------->8---
>> > You're missing --with-input=emacs-minimal=emacs. You are not
>> > natively compiling emacs-magit atm.
>>
>> Right, thank you!
> Turns out you also need to do this with emacs-no-x due to emacs-libgit.
>
> Friendly reminder that we don't have build system/packaging utilities
> to easily replace emacs versions yet, so magit might not have been the
> wisest choice to showcase here.
>
> More worryingly, it appears you're recompiling Emacs itself here. This
> should not be happening. However, it turns out that your eln-cache is
> always first on the native load path and thus already compiled files
> won't be found.¹ Try adding
> --eval='(setq native-comp-jit-compilation nil)'
> and see whether you can load natively compiled procedures and have them
> show as natively compiled.
--8<---------------cut here---------------start------------->8---
native-comp-eln-load-path is a variable defined in ‘C source code’.
Its value is
("/home/bob/.config/emacs/eln-cache/"
"/gnu/store/lxf6aqh5b1zzaclfxcivk8vw1q4fhrrn-profile/lib/emacs/native-site-lisp"
"../native-lisp/")
--8<---------------cut here---------------end--------------->8---
--8<---------------cut here---------------start------------->8---
ls ~/.config/emacs/eln-cache/**/
/home/bob/.config/emacs/eln-cache/:
29.1-5c9913f6/
/home/bob/.config/emacs/eln-cache/29.1-5c9913f6/:
subr--trampoline-6d616b652d70726f63657373_make_process_0.eln
--8<---------------cut here---------------end--------------->8---
magit-status is an interactive native-compiled Lisp function in
‘magit-status.el’.
>
> Cheers
>
> ¹ Maybe there's a smarter way to locate them files? Did I go wrong in
> one of my patches?
>
--
Best regards,
Andrew Tropin
signature.asc
Description: PGP signature