gnu: emacs-next: Update to 30.0.60-1.4e22ef8.

* gnu/packages/aux-files/emacs/comp-integrity-next.el: New file.
* Makefile.am (AUX_FILES): Register it here.
* gnu/packages/emacs.scm (emacs-next-minimal): Update to 30.0.60-1.4e22ef8.
(emacs->emacs-next)[arguments]: Swap out ‘validate-comp-integrity’ phase,
so as to refer to the new integrity check.
This commit is contained in:
Liliana Marie Prikler 2024-06-30 14:00:05 +02:00
parent 4ac22b897d
commit 74d723b4a8
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87
3 changed files with 148 additions and 5 deletions

View file

@ -427,6 +427,7 @@ dist_noinst_DATA = \
AUX_FILES = \
gnu/packages/aux-files/chromium/master-preferences.json \
gnu/packages/aux-files/emacs/comp-integrity.el \
gnu/packages/aux-files/emacs/comp-integrity-next.el \
gnu/packages/aux-files/emacs/guix-emacs.el \
gnu/packages/aux-files/findclass.php \
gnu/packages/aux-files/guix.vim \

View file

@ -0,0 +1,121 @@
(require 'ert)
(eval-when-compile
(defmacro expect-feature (&optional feature)
`(progn
(eval-when-compile
(or (not ',feature)
(require ',feature)))))
(defmacro expect-native (fun &optional feature)
`(progn
(expect-feature ,feature)
(should (native-comp-function-p (symbol-function ',fun)))))
(defmacro expect-native-if-bound (fun &optional feature)
`(and (expect-feature ,feature)
(boundp ',fun)
(should (native-comp-function-p (symbol-function ',fun)))))
(defmacro expect-builtin (fun &optional feature)
`(should (primitive-function-p (symbol-function ',fun)))))
(expect-native abbrev-mode)
(expect-native backquote-process)
(expect-native mode-line-widen)
(expect-native buffer-menu)
(expect-native button-mode)
(expect-native byte-run-strip-symbol-positions)
(expect-native case-table-get-table)
(expect-native cconv-convert)
(expect-native use-default-char-width-table)
(expect-native cl-generic-p)
(expect-native cl-struct-define)
(expect-native-if-bound x-setup-function-keys)
(expect-native encode-composition-rule)
(expect-native custom-declare-face)
(expect-native minibuffer-prompt-properties--setter)
(expect-native custom-add-choice)
(expect-native debug-early)
(expect-native display-table-slot disp-table)
(expect-native dnd-open-file)
(expect-native dos-mode25 dos-fns)
(expect-native find-file-text dos-w32)
(expect-native-if-bound dynamic-setting-handle-config-changed-event)
(expect-native easy-menu-item-present-p)
(expect-native eldoc-mode)
(expect-native electric-indent-mode)
(expect-native elisp-mode-syntax-propertize)
(expect-native getenv)
(expect-native epa-file-find-file-hook)
(expect-native face-list)
(expect-native find-file-noselect)
(expect-native fill-region)
(expect-native font-lock-change-mode)
(expect-native font-lock-add-keywords)
(expect-native-if-bound fontset-plain-name)
(expect-native format-read)
(expect-native frame-edges)
(expect-native-if-bound fringe-mode)
(expect-native help-quick)
(expect-native-if-bound image-type)
(expect-native indent-region)
(expect-native indian-compose-regexp)
(expect-native msdos-setup-keyboard term/internal)
(expect-native isearch-abort)
(expect-native iso-transl-set-language)
(expect-native jit-lock-mode)
(expect-native jka-compr-build-file-regexp)
(expect-native keymap-global-set)
(expect-native forward-sexp)
(expect-native lisp-string-in-doc-position-p)
(expect-native ls-lisp-set-options ls-lisp)
(expect-native macroexp-compiling-p)
(expect-native map-y-or-n-p)
(expect-native menu-find-file-existing)
(expect-native completion-boundaries)
(expect-native egyptian-shape-grouping)
(expect-native mouse-double-click-time)
(expect-native convert-define-charset-argument)
(expect-native coding-system-change-eol-conversion)
(expect-native store-substring mule-util)
(expect-native-if-bound mouse-wheel-change-button)
(expect-native advice-function-mapc)
(expect-native comment-string-strip)
(expect-builtin obarray-make)
(expect-native obarray-map)
(expect-native oclosure-type)
(expect-native forward-page)
(expect-native sentence-end)
(expect-native show-paren-function)
(expect-native pgtk-dnd-init-frame pgtk-dnd)
(expect-native prog-context-menu)
(expect-native-if-bound regexp-opt)
(expect-native get-register)
(expect-native query-replace-descr)
(expect-native rfn-eshadow-setup-minibuffer)
(expect-native read-multiple-choice)
(expect-native-if-bound scroll-bar-scale)
(expect-native gui-select-text)
(expect-native seq-first)
(expect-native hack-read-symbol-shorthands)
(expect-native next-error-find-buffer)
(expect-native exit-splash-screen)
(expect-native buffer-local-boundp)
(expect-native syntax-propertize-multiline)
(expect-native tab-bar-mode)
(expect-native tabulated-list-put-tag)
(expect-native text-mode)
(expect-native timer-activate)
(expect-native tool-bar-mode)
(expect-native tooltip-mode)
(expect-native tty-color-desc)
(expect-native ucs-normalize-hfs-nfd-comp-p ucs-normalize)
(expect-native uniquify-item-p)
(expect-native vc-mode)
(expect-native emacs-version)
(expect-native define-widget)
(expect-native window-right)
(expect-native x-dnd-init-frame x-dnd)
(expect-native-if-bound x-handle-no-bitmap-icon)

View file

@ -566,12 +566,12 @@ (define-public emacs-wide-int
#~(cons "--with-wide-int" #$flags))))))
(define-public emacs-next-minimal
(let ((commit "170c6557922dad7e6e9bc0d6dadf6c080108fd42")
(revision "2"))
(let ((commit "4e22ef870c4b650f29c4441ac51b6a2ac506ea57")
(revision "1"))
(package
(inherit emacs-minimal)
(name "emacs-next-minimal")
(version (git-version "30.0.50" revision commit))
(version (git-version "30.0.60" revision commit))
(source
(origin
(method git-fetch)
@ -580,7 +580,7 @@ (define-public emacs-next-minimal
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "04carva3b6h9fnlzazrsxsj41hcnjc26kxjij07l159azi40l6sk"))
(base32 "1zl9ffj3ph4msr1r4qw09x1wljpv2lbr7ypqd0p3q89m2qpvfn80"))
(patches
(search-patches "emacs-next-exec-path.patch"
"emacs-fix-scheme-indent-function.patch"
@ -598,7 +598,28 @@ (define* (emacs->emacs-next emacs #:optional name
(string-drop (package-name emacs)
(string-length "emacs"))))))
(version version)
(source source)))
(source source)
(arguments
(substitute-keyword-arguments (package-arguments emacs)
((#:phases phases)
#~(modify-phases #$phases
(replace 'validate-comp-integrity
(lambda* (#:key outputs #:allow-other-keys)
#$(cond
((%current-target-system)
#~(display
"Cannot validate native compilation on cross builds.\n"))
((member (%current-system) '("armhf-linux" "i686-linux"))
#~(display "Integrity test is broken on 32 bit systems.\n"))
(else
#~(invoke
(string-append (assoc-ref outputs "out") "/bin/emacs")
"--batch"
"--load"
#$(local-file
(search-auxiliary-file
"emacs/comp-integrity-next.el"))
"-f" "ert-run-tests-batch-and-exit")))))))))))
(define-public emacs-next (emacs->emacs-next emacs))
(define-public emacs-next-pgtk (emacs->emacs-next emacs-pgtk))