unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Andrew Tropin via Guix-patches via <guix-patches@gnu.org>
To: Liliana Marie Prikler <liliana.prikler@gmail.com>, 67260@debbugs.gnu.org
Cc: cox.katherine.e+guix@gmail.com, liliana.prikler@gmail.com,
	Suhail <suhail@bayesians.ca>
Subject: [bug#67260] [PATCH emacs-team v11 0/7] You thought it was term/internal.el, but it was me, Dio!
Date: Mon, 04 Mar 2024 10:13:54 +0300	[thread overview]
Message-ID: <87il22bhal.fsf@trop.in> (raw)
In-Reply-To: <cover.1708761863.git.liliana.prikler@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 5818 bytes --]

On 2024-02-24 09:04, Liliana Marie Prikler wrote:

> After a week of debugging the internals of how Emacs compiles, loads,
> and dumps (!) its .eln-files, I finally came up with the perfectly
> cursed mix that enables us to actually load *and* graft our natively
> compiled packages with ease.
>
> In unrelated news, I feel like I should wear a witch hat for faster
> development cycles.
>
> Liliana Marie Prikler (7):
>   gnu: emacs: Build trampolines.
>   gnu: emacs: Don't hash file names in native compilation.
>   gnu: emacs: Check integrity of native-compiled files.
>   gnu: emacs: Disable jit compilation.
>   build-system: emacs: Compute relative file names.
>   gnu: emacs-org: Fix native builds.
>   gnu: emacs-magit: Fix native builds.
>
>  Makefile.am                                   |   1 +
>  gnu/local.mk                                  |   2 +
>  .../aux-files/emacs/comp-integrity.el         | 126 +++++++
>  gnu/packages/emacs-xyz.scm                    |  10 +-
>  gnu/packages/emacs.scm                        |  20 +-
>  .../emacs-disable-jit-compilation.patch       |  19 +
>  .../emacs-native-comp-fix-filenames.patch     | 338 ++++++++++++++++++
>  guix/build/emacs-utils.scm                    |   4 +-
>  8 files changed, 516 insertions(+), 4 deletions(-)
>  create mode 100644 gnu/packages/aux-files/emacs/comp-integrity.el
>  create mode 100644 gnu/packages/patches/emacs-disable-jit-compilation.patch
>  create mode 100644 gnu/packages/patches/emacs-native-comp-fix-filenames.patch
>
>
> base-commit: aae61f54ff6acf5cc0e0355dc85babf29f625660

For usual emacs it seems to work, (require 'magit) with clean eln cache
doesn't trigger any builds. For emacs-pgtk it fails to build emacs:

guix time-machine --url='https://git.guix-patches.cbaines.net/git/guix-patches' --branch=issue-67260 --disable-authentication -- shell emacs-pgtk emacs-magit --pure -E '.*GTK.*|.*XDG.*|.*DISPLAY.*' -- emacs -Q

--8<---------------cut here---------------start------------->8---
   passed  94/97  expect-window-right-native (0.002412 sec)
Test expect-x-dnd-init-frame-native backtrace:
  signal(void-function (x-dnd-init-frame))
  apply(signal (void-function (x-dnd-init-frame)))
  (setq value-477 (apply fn-475 args-476))
  (unwind-protect (setq value-477 (apply fn-475 args-476)) (setq form-
  (if (unwind-protect (setq value-477 (apply fn-475 args-476)) (setq f
  (let (form-description-479) (if (unwind-protect (setq value-477 (app
  (let ((value-477 'ert-form-evaluation-aborted-478)) (let (form-descr
  (let* ((fn-475 #'eq) (args-476 (condition-case err (let ((signal-hoo
  (lambda nil (let* ((fn-475 #'eq) (args-476 (condition-case err (let 
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name expect-x-dnd-init-frame-native :docum
  ert-run-or-rerun-test(#s(ert--stats :selector t :tests ... :test-map
  ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
  ert-run-tests-batch(nil)
  ert-run-tests-batch-and-exit()
  command-line-1(("--load" "/gnu/store/ql9y5r4ydz4dl8jjf2b2bz9fqhxmbm3
  command-line()
  normal-top-level()
Test expect-x-dnd-init-frame-native condition:
    (void-function x-dnd-init-frame)
   FAILED  95/97  expect-x-dnd-init-frame-native (0.000082 sec) at ../../../gnu/store/ql9y5r4ydz4dl8jjf2b2bz9fqhxmbm3x-comp-integrity.el:1
Test expect-x-handle-no-bitmap-icon-native backtrace:
  signal(void-function (x-handle-no-bitmap-icon))
  apply(signal (void-function (x-handle-no-bitmap-icon)))
  (setq value-482 (apply fn-480 args-481))
  (unwind-protect (setq value-482 (apply fn-480 args-481)) (setq form-
  (if (unwind-protect (setq value-482 (apply fn-480 args-481)) (setq f
  (let (form-description-484) (if (unwind-protect (setq value-482 (app
  (let ((value-482 'ert-form-evaluation-aborted-483)) (let (form-descr
  (let* ((fn-480 #'eq) (args-481 (condition-case err (let ((signal-hoo
  (lambda nil (let* ((fn-480 #'eq) (args-481 (condition-case err (let 
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name expect-x-handle-no-bitmap-icon-native
  ert-run-or-rerun-test(#s(ert--stats :selector t :tests ... :test-map
  ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
  ert-run-tests-batch(nil)
  ert-run-tests-batch-and-exit()
  command-line-1(("--load" "/gnu/store/ql9y5r4ydz4dl8jjf2b2bz9fqhxmbm3
  command-line()
  normal-top-level()
Test expect-x-handle-no-bitmap-icon-native condition:
    (void-function x-handle-no-bitmap-icon)
   FAILED  96/97  expect-x-handle-no-bitmap-icon-native (0.000111 sec) at ../../../gnu/store/ql9y5r4ydz4dl8jjf2b2bz9fqhxmbm3x-comp-integrity.el:1
   passed  97/97  expect-x-setup-function-keys-native (0.004165 sec)

Ran 97 tests, 95 results as expected, 2 unexpected (2024-03-02 05:46:28+0000, 0.361428 sec)

2 unexpected results:
   FAILED  expect-x-dnd-init-frame-native
   FAILED  expect-x-handle-no-bitmap-icon-native

error: in phase 'validate-comp-integrity': uncaught exception:
%exception #<&invoke-error program: "/gnu/store/m01icx06dw1vs1krcj4jbmw71nv430dp-emacs-pgtk-29.2/bin/emacs" arguments: ("--batch" "--load" "/gnu/store/ql9y5r4ydz4dl8jjf2b2bz9fqhxmbm3x-comp-integrity.el" "-f" "ert-run-tests-batch-and-exit") exit-status: 1 term-signal: #f stop-signal: #f> 
phase `validate-comp-integrity' failed after 0.5 seconds
command "/gnu/store/m01icx06dw1vs1krcj4jbmw71nv430dp-emacs-pgtk-29.2/bin/emacs" "--batch" "--load" "/gnu/store/ql9y5r4ydz4dl8jjf2b2bz9fqhxmbm3x-comp-integrity.el" "-f" "ert-run-tests-batch-and-exit" failed with status 1
--8<---------------cut here---------------end--------------->8---

Thank you very much for working on it!

-- 
Best regards,
Andrew Tropin

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

  parent reply	other threads:[~2024-03-04  7:15 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 3/3] build-system: emacs: Compute relative file names 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
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 2/6] gnu: emacs: Don't hash file names in native compilation Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v5 4/6] gnu: emacs-org: Fix native builds Liliana Marie Prikler
2024-01-21 12:12   ` [bug#67260] [PATCH v5 5/6] gnu: emacs-magit: " 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 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 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 6/7] gnu: emacs-org: 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 7/7] gnu: emacs-magit: Fix native builds 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 14:09   ` [bug#67260] [PATCH v7 4/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 7/7] gnu: emacs-magit: Fix native builds 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 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 6/7] gnu: emacs-org: Fix native builds 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 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 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 12:12   ` [bug#67260] [PATCH v6 3/7] gnu: emacs: Don't hash file names in native compilation Liliana Marie Prikler
2024-01-21 14:09   ` [bug#67260] [PATCH v6 7/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 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 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 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 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-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-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 5/7] build-system: emacs: Compute relative file names 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 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 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 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
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 6/7] gnu: emacs-org: Fix native builds 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 7/7] gnu: emacs-magit: Fix native builds 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 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   ` Andrew Tropin via Guix-patches via [this message]
2024-03-04 19:59     ` [bug#67260] [PATCH emacs-team v11 0/7] You thought it was term/internal.el, but it was me, Dio! 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=87il22bhal.fsf@trop.in \
    --to=guix-patches@gnu.org \
    --cc=67260@debbugs.gnu.org \
    --cc=andrew@trop.in \
    --cc=cox.katherine.e+guix@gmail.com \
    --cc=liliana.prikler@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).