unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Liliana Marie Prikler <liliana.prikler@gmail.com>
To: Suhail <suhail@bayesians.ca>
Cc: cox.katherine.e+guix@gmail.com, 67260@debbugs.gnu.org, andrew@trop.in
Subject: [bug#67260] [PATCH emacs-team v10 0/7] Preload most of the things
Date: Sat, 17 Feb 2024 16:15:18 +0100	[thread overview]
Message-ID: <e03e61ea80a06889c254c75ac6d78db2729baa53.camel@gmail.com> (raw)
In-Reply-To: <875xyndu36.fsf@bayesians.ca>

Am Samstag, dem 17.02.2024 um 14:49 +0000 schrieb Suhail:
> Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> > ... don't appear to be preloaded through the loadup script, so I
> > have no idea how to catch them or whether it's even worth doing so.
> 
> I dug into this a little deeper.  It seems that by adjusting the
> load-path one is able to load the natively-compiled variants instead
> of the byte-compiled for these features.  Oddly, this adjustment
> doesn't seem to be needed in non-Guix Emacs which may suggest the
> presence of a bug.  I'm hoping you have some insight that explains
> this difference in behaviour.
We adjust our load paths with environment variables.  I don't think our
choice of putting Emacs itself last is wrong here.

> After modifying the previous test-native-comp-p--preloaded.el (in
> hindsight, the preloaded part may be a misnomer) with the below patch
> I got all the 97 cases passing.
> 
> #+begin_src diff
>   diff -u ./test-native-comp-p--preloaded.el ./test-native-comp-p--
> preloaded.el
>   --- ./test-native-comp-p--preloaded.el        2024-02-17
> 08:49:36.294930488 -0500
>   +++ ./test-native-comp-p--preloaded.el        2024-02-17
> 08:38:45.102839041 -0500
>   @@ -155,8 +155,50 @@
>            (x-dnd-init-frame)
>            (x-handle-no-bitmap-icon)))
>  
>   +(defun hack/tweak-load-path-in-guix ()
>   +  "Tweak `load-path' to allow natively compiled versions to be
> loaded.
>   +
>   +If we ensure that the `load-path' entries for `term/internal',
>   +`mule-util' and `ucs-normalize' exist and they occur before the
>   +share/emacs/<emacs-version>/lisp entry then we are able to load
>   +the natively compiled versions of these libraries.  Of those
>   +three, the entry for `term/internal' is missing whereas the
>   +others currently occur after the share/emacs/<emacs-version>/lisp
>   +entry.  We remedy that here.
>   +
>   +Notably, in non-Guix Emacs this isn't needed.  I.e., the fact
>   +that the share/emacs/<emacs-version>/lisp entry precedes the
>   +entries for `mule-util' and `ucs-normalize' is okay as is the
>   +fact that the entry for `term/internal' is missing."
>   +  (when (getenv "GUIX_ENVIRONMENT")
>   +    (require 'find-func)
>   +    ;; first we'll add the missing entry for `term/internal'
>   +    (add-to-list 'load-path
>   +                 (directory-file-name
>   +                  (file-name-directory
>   +                   (find-library-name (symbol-name
> 'term/internal))))
>   +                 ;; NOTE: we don't need to append; doing so simply
> to confirm that
>   +                 ;; it's only the relative position wrt the
>   +                 ;; share/emacs/<emacs-version>/lisp entry that
> matters.
>   +                 t)
>   +    ;; then we'll ensure that the entry for share/emacs/<emacs-
> version>/lisp is at
>   +    ;; the end
>   +    (let* ((sitelisppath (format "/share/emacs/%s/lisp"
>   +                                 emacs-version))
>   +           (pathsuffix (seq-filter
>   +                        #'(lambda (x)
>   +                            (string-suffix-p sitelisppath x))
>   +                        load-path))
>   +           (pathprefix (seq-filter
>   +                        #'(lambda (x)
>   +                            (not
>   +                             (string-suffix-p sitelisppath x)))
>   +                        load-path)))
>   +      (setq load-path (append pathprefix pathsuffix)))))
>   +
>    (defun report/compilation-status/run ()
>      "Run all cases and report those that aren't native-compiled."
>   +  (hack/tweak-load-path-in-guix)
>      (let* ((results (mapcar (lambda (args) (apply
> #'report/compilation-status args))
>                              report/compilation-
> status/cases/preloaded))
>             (failing (seq-filter (lambda (x) (not (eq (cdr x)
> 'native-compiled)))
>   @@ -169,5 +211,5 @@
>                (if failing
>                    (concat (format "  %s failing cases below:\n\n"
> numfailing)
>                            (pp-to-string failing))
>   -              " Success!"))))
>   +              " Success!\n"))))
>    ;; guix/hacking/reviews/emacs-aot/test-native-comp-p/preloaded
> ends here
> 
>   Diff finished.  Sat Feb 17 08:50:04 2024
> #+end_src
This won't work for the common use case of running Emacs from the
store.  Can you do some more research as to how this confusion comes to
be?

Cheers


  reply	other threads:[~2024-02-17 15:17 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-18 13:42 [bug#67260] [PATCH emacs-team 0/2] Think ahead when compiling Liliana Marie Prikler
2023-11-18 13:38 ` [bug#67260] [PATCH emacs-team 2/2] gnu: emacs: Don't hash file names in native compilation Liliana Marie Prikler
2023-11-18 15:44 ` [bug#67260] [PATCH emacs-team 0/2] Think ahead when compiling Andrew Tropin
2023-11-18 15:51   ` Liliana Marie Prikler
2023-11-22 12:09 ` Mekeor Melire
2023-11-22 17:39   ` Liliana Marie Prikler
2023-11-25 11:13 ` [bug#67260] [PATCH emacs-team v3 1/3] gnu: emacs: Build trampolines Liliana Marie Prikler
2023-11-25 11:13   ` [bug#67260] [PATCH emacs-team v3 2/3] gnu: emacs: Don't hash file names in native compilation Liliana Marie Prikler
2023-11-25 11:13   ` [bug#67260] [PATCH emacs-team v3 3/3] build-system: emacs: Compute relative file names Liliana Marie Prikler
2024-01-18  5:55 ` [bug#67260] [PATCH emacs-team 0/2] Think ahead when compiling Suhail via Guix-patches via
2024-01-21 12:12 ` [bug#67260] [PATCH v5 1/6] gnu: emacs: Build trampolines Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v5 3/6] build-system: emacs: Compute relative file names Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v5 2/6] gnu: emacs: Don't hash file names in native compilation Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v5 5/6] gnu: emacs-magit: Fix native builds Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v5 4/6] gnu: emacs-org: " Liliana Marie Prikler
2024-01-21 14:09   ` [bug#67260] [PATCH v5 6/6] gnu: emacs: Disable jit compilation Liliana Marie Prikler
2024-01-22  4:16 ` Suhail via Guix-patches via
2024-01-22  4:36 ` Suhail via Guix-patches via
2024-01-22 20:21 ` [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v6 2/7] gnu: emacs: Build trampolines Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v6 4/7] build-system: emacs: Compute relative file names Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v6 3/7] gnu: emacs: Don't hash file names in native compilation Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v6 5/7] gnu: emacs-org: Fix native builds Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v6 6/7] gnu: emacs-magit: " Liliana Marie Prikler
2024-01-21 14:09   ` [bug#67260] [PATCH v6 7/7] gnu: emacs: Disable jit compilation Liliana Marie Prikler
2024-01-22 20:21 ` [bug#67260] [PATCH v8 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v8 2/7] gnu: emacs: Build trampolines Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v8 3/7] gnu: emacs: Don't hash file names in native compilation Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v8 7/7] gnu: emacs-magit: Fix native builds Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v8 6/7] gnu: emacs-org: " Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v8 5/7] build-system: emacs: Compute relative file names Liliana Marie Prikler
2024-01-21 14:09   ` [bug#67260] [PATCH v8 4/7] gnu: emacs: Disable jit compilation Liliana Marie Prikler
2024-01-22 20:21 ` [bug#67260] [PATCH v7 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v7 2/7] gnu: emacs: Build trampolines Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v7 5/7] build-system: emacs: Compute relative file names Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v7 7/7] gnu: emacs-magit: Fix native builds Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v7 3/7] gnu: emacs: Don't hash file names in native compilation Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v7 6/7] gnu: emacs-org: Fix native builds Liliana Marie Prikler
2024-01-21 14:09   ` [bug#67260] [PATCH v7 4/7] gnu: emacs: Disable jit compilation Liliana Marie Prikler
2024-01-25 23:53 ` [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH Suhail via Guix-patches via
2024-01-26  7:49 ` Suhail via Guix-patches via
2024-01-26  8:20 ` Suhail via Guix-patches via
2024-01-26 22:45 ` Suhail via Guix-patches via
2024-01-27 15:36 ` Suhail via Guix-patches via
2024-01-27 16:24 ` Suhail via Guix-patches via
2024-01-27 17:15 ` Suhail via Guix-patches via
2024-01-27 19:39 ` Suhail via Guix-patches via
2024-01-28  0:13 ` Suhail via Guix-patches via
2024-01-28  0:18 ` Suhail via Guix-patches via
2024-01-28 16:17 ` Suhail via Guix-patches via
2024-02-13 18:30 ` [bug#67260] [PATCH v7 " Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH v9 " Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH v7 3/7] gnu: emacs: Don't hash file names in native compilation Liliana Marie Prikler
2024-02-13 18:30     ` [bug#67260] [PATCH v9 " Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH v7 6/7] gnu: emacs-org: Fix native builds Liliana Marie Prikler
2024-02-13 18:30     ` [bug#67260] [PATCH v9 " Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH v7 4/7] gnu: emacs: Disable jit compilation Liliana Marie Prikler
2024-02-13 18:30     ` [bug#67260] [PATCH v9 " Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH v7 2/7] gnu: emacs: Build trampolines Liliana Marie Prikler
2024-02-13 18:30     ` [bug#67260] [PATCH v9 " Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH v7 7/7] gnu: emacs-magit: Fix native builds Liliana Marie Prikler
2024-02-13 18:30     ` [bug#67260] [PATCH v9 " Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH v7 5/7] build-system: emacs: Compute relative file names Liliana Marie Prikler
2024-02-13 18:30     ` [bug#67260] [PATCH v9 " Liliana Marie Prikler
2024-02-14  0:56 ` [bug#67260] [PATCH emacs-team v9*] Think ahead when compiling Suhail via Guix-patches via
2024-02-14  8:41 ` [bug#67260] [PATCH emacs-team v9*] Test for AOT native-comp Suhail via Guix-patches via
2024-02-16 15:09 ` [bug#67260] [PATCH emacs-team v10 0/7] Preload most of the things Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH emacs-team v10 2/7] gnu: emacs: Build trampolines Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH emacs-team v10 6/7] gnu: emacs-org: Fix native builds Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH emacs-team v10 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH emacs-team v10 4/7] gnu: emacs: Disable jit compilation Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH emacs-team v10 7/7] gnu: emacs-magit: Fix native builds Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH emacs-team v10 5/7] build-system: emacs: Compute relative file names Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH emacs-team v10 3/7] gnu: emacs: Don't hash file names in native compilation Liliana Marie Prikler
2024-02-17 14:49 ` [bug#67260] [PATCH emacs-team v10 0/7] Preload most of the things Suhail via Guix-patches via
2024-02-17 15:15   ` Liliana Marie Prikler [this message]
2024-02-18  0:56     ` Suhail via Guix-patches via
2024-02-18  9:19       ` Liliana Marie Prikler
2024-02-19 21:42         ` Suhail via Guix-patches via
2024-02-20 17:51           ` Liliana Marie Prikler
2024-02-20 18:41             ` Suhail via Guix-patches via
2024-02-24  8:04 ` [bug#67260] [PATCH emacs-team v11 0/7] You thought it was term/internal.el, but it was me, Dio! Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH emacs-team v11 7/7] gnu: emacs-magit: Fix native builds Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH emacs-team v11 6/7] gnu: emacs-org: " Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH emacs-team v11 2/7] gnu: emacs: Don't hash file names in native compilation Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH emacs-team v11 5/7] build-system: emacs: Compute relative file names Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH emacs-team v11 4/7] gnu: emacs: Disable jit compilation Liliana Marie Prikler
2024-02-13 18:30   ` [bug#67260] [PATCH emacs-team v11 1/7] gnu: emacs: Build trampolines Liliana Marie Prikler
2024-02-24  6:18   ` [bug#67260] [PATCH emacs-team v11 3/7] gnu: emacs: Check integrity of native-compiled files Liliana Marie Prikler
2024-03-04  7:13   ` [bug#67260] [PATCH emacs-team v11 0/7] You thought it was term/internal.el, but it was me, Dio! Andrew Tropin via Guix-patches via
2024-03-04 19:59     ` Liliana Marie Prikler
2024-03-01 17:35 ` Suhail via Guix-patches via
2024-03-01 19:40   ` bug#67260: " Liliana Marie Prikler
2024-03-07  8:55     ` [bug#67260] " Andrew Tropin via Guix-patches via
2024-03-07 17:52       ` Liliana Marie Prikler
2024-03-08  9:20         ` Andrew Tropin via Guix-patches via

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

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e03e61ea80a06889c254c75ac6d78db2729baa53.camel@gmail.com \
    --to=liliana.prikler@gmail.com \
    --cc=67260@debbugs.gnu.org \
    --cc=andrew@trop.in \
    --cc=cox.katherine.e+guix@gmail.com \
    --cc=suhail@bayesians.ca \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).