[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#67260] [PATCH emacs-team v11 0/7] You thought it was term/internal.
From: |
Andrew Tropin |
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 |
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
signature.asc
Description: PGP signature