Package: guix-patches;
Reported by: Morgan Smith <Morgan.J.Smith <at> outlook.com>
Date: Mon, 24 Feb 2025 20:05:02 UTC
Severity: normal
Tags: patch
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Morgan Smith <Morgan.J.Smith <at> outlook.com> To: 76529 <at> debbugs.gnu.org Cc: Morgan Smith <Morgan.J.Smith <at> outlook.com>, Andrew Tropin <andrew <at> trop.in>, Divya Ranjan Pattanaik <divya <at> subvertising.org>, Ian Eure <ian <at> retrospec.tv>, Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>, Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [bug#76529] [PATCH 1/4] gnu: emacs: Update to 30.1. Date: Mon, 24 Feb 2025 17:56:23 -0500
* gnu/packages/emacs.scm (emacs-minimal): Update to 30.1. (guile-emacs): Remove now unneeded phase. * gnu/packages/aux-files/emacs/comp-integrity.el: Update with new type names. * gnu/packages/patches/emacs-exec-path.patch: Replace with 'emacs-next-...' patch. * gnu/packages/patches/emacs-native-comp-driver-options.patch: Likewise * gnu/packages/patches/emacs-native-comp-fix-filenames.patch: Likewise Change-Id: Ic144329bfe5a126a5d7e86dd0fdb726cf92de175 --- .../aux-files/emacs/comp-integrity.el | 6 +- gnu/packages/emacs.scm | 9 +- gnu/packages/patches/emacs-exec-path.patch | 26 +++--- .../emacs-native-comp-driver-options.patch | 7 +- .../emacs-native-comp-fix-filenames.patch | 93 ++++++++++--------- 5 files changed, 73 insertions(+), 68 deletions(-) diff --git a/gnu/packages/aux-files/emacs/comp-integrity.el b/gnu/packages/aux-files/emacs/comp-integrity.el index abe7e7c0c9..4e8233a276 100644 --- a/gnu/packages/aux-files/emacs/comp-integrity.el +++ b/gnu/packages/aux-files/emacs/comp-integrity.el @@ -16,9 +16,9 @@ (let ((desc (substring-no-properties (with-output-to-string (help-fns-function-description-header ',fun))))) - (cond ((string-search "native-compiled" desc) 'native) - ((string-search "byte-compiled" desc) 'byte) - ((string-search "built-in" desc) 'built-in) + (cond ((string-search "native-comp-function" desc) 'native) + ((string-search "byte-code-function" desc) 'byte) + ((string-search "primitive-function" desc) 'built-in) (t nil)))))))) (defmacro expect-native (fun &optional feature) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index c5e671c6a9..4d14feb38b 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -100,7 +100,7 @@ (define (%emacs-modules build-system) (define-public emacs-minimal (package (name "emacs-minimal") - (version "29.4") + (version "30.1") ;; Note: When using (replacement …), ensure that comp-native-version-dir ;; stays the same across grafts. ;; Run `make check-system TESTS=emacs-native-comp' to ensure that grafts @@ -111,7 +111,7 @@ (define-public emacs-minimal version ".tar.xz")) (sha256 (base32 - "0dd2mh6maa7dc5f49qdzj7bi4hda4wfm1cvvgq560djcz537k2ds")) + "13qkdx515qv7m8b2mpd37p16frs0xgl7bw8xvv397bz6fspc3jkc")) (patches (search-patches "emacs-disable-jit-compilation.patch" "emacs-exec-path.patch" "emacs-fix-scheme-indent-function.patch" @@ -172,7 +172,6 @@ (define-public emacs-minimal "lisp/mail/feedmail.el" "lisp/obsolete/pgg-pgp.el" "lisp/obsolete/pgg-pgp5.el" - "lisp/obsolete/terminal.el" "lisp/org/ob-eval.el" "lisp/textmodes/artist.el" "lisp/progmodes/sh-script.el" @@ -721,10 +720,6 @@ (define-public guile-emacs ;; Likewise, we don't need to patch helper binaries ;; like etags, ctags or ebrowse. "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))))) - (add-after 'unpack 'help-patch-progam-file-names - (lambda _ - (call-with-output-file "lisp/obsolete/terminal.el" - (lambda (port) (display port))))) (add-after 'configure 'touch-lisp/finder-inf.el (lambda _ (call-with-output-file "lisp/finder-inf.el" diff --git a/gnu/packages/patches/emacs-exec-path.patch b/gnu/packages/patches/emacs-exec-path.patch index 9a76b0237d..6e33e25258 100644 --- a/gnu/packages/patches/emacs-exec-path.patch +++ b/gnu/packages/patches/emacs-exec-path.patch @@ -2,15 +2,17 @@ Do not capture the build-time value of $PATH in the 'emacs' executable since this can noticeably increase the size of the closure of Emacs with things like GCC being referenced. ---- a/lisp/loadup.el -+++ b/lisp/loadup.el -@@ -530,7 +530,8 @@ lost after dumping"))) - ((equal dump-mode "dump") "emacs") - ((equal dump-mode "bootstrap") "emacs") - ((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp") -- (t (error "Unrecognized dump mode %s" dump-mode))))) -+ (t (error "Unrecognized dump mode %s" dump-mode)))) -+ (exec-path nil)) - (when (and (featurep 'native-compile) - (equal dump-mode "pdump")) - ;; Don't enable this before bootstrap is completed, as the +Index: emacs-next/lisp/loadup.el +=================================================================== +--- emacs-next.orig/lisp/loadup.el ++++ emacs-next/lisp/loadup.el +@@ -599,7 +599,8 @@ lost after dumping"))) + ((equal dump-mode "dump") "emacs") + ((equal dump-mode "bootstrap") "emacs") + ((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp") +- (t (error "Unrecognized dump mode %s" dump-mode))))) ++ (t (error "Unrecognized dump mode %s" dump-mode)))) ++ (exec-path nil)) + (when (and (featurep 'native-compile) + (equal dump-mode "pdump")) + ;; Don't enable this before bootstrap is completed, as the diff --git a/gnu/packages/patches/emacs-native-comp-driver-options.patch b/gnu/packages/patches/emacs-native-comp-driver-options.patch index 308c4f1212..e4ed5a48f1 100644 --- a/gnu/packages/patches/emacs-native-comp-driver-options.patch +++ b/gnu/packages/patches/emacs-native-comp-driver-options.patch @@ -2,12 +2,13 @@ We substitute this anyway, so let's make it easier to substitute. --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el -@@ -178,8 +178,7 @@ and above." +@@ -203,9 +203,7 @@ and above." :type '(repeat string) :version "28.1") --(defcustom native-comp-driver-options (when (eq system-type 'darwin) -- '("-Wl,-w")) +-(defcustom native-comp-driver-options +- (cond ((eq system-type 'darwin) '("-Wl,-w")) +- ((eq system-type 'cygwin) '("-Wl,-dynamicbase"))) +(defcustom native-comp-driver-options nil "Options passed verbatim to the native compiler's back-end driver. Note that not all options are meaningful; typically only the options diff --git a/gnu/packages/patches/emacs-native-comp-fix-filenames.patch b/gnu/packages/patches/emacs-native-comp-fix-filenames.patch index 169323f290..7897fa9b04 100644 --- a/gnu/packages/patches/emacs-native-comp-fix-filenames.patch +++ b/gnu/packages/patches/emacs-native-comp-fix-filenames.patch @@ -12,11 +12,11 @@ way into the actual variable despite attempts to remove it by calling The user-visible procedure ‘startup-redirect-eln-cache’ is kept, as packages may require it, but only pushes the new value now. -Index: emacs-29.2/src/comp.c +Index: emacs-next/src/comp.c =================================================================== ---- emacs-29.2.orig/src/comp.c -+++ emacs-29.2/src/comp.c -@@ -4396,26 +4396,17 @@ DEFUN ("comp-el-to-eln-rel-filename", Fc +--- emacs-next.orig/src/comp.c ++++ emacs-next/src/comp.c +@@ -4403,26 +4403,17 @@ DEFUN ("comp-el-to-eln-rel-filename", Fc Scomp_el_to_eln_rel_filename, 1, 1, 0, doc: /* Return the relative name of the .eln file for FILENAME. FILENAME must exist, and if it's a symlink, the target must exist. @@ -49,7 +49,7 @@ Index: emacs-29.2/src/comp.c if (NILP (Ffile_exists_p (filename))) xsignal1 (Qfile_missing, filename); -@@ -4423,64 +4414,55 @@ one for the file name and another for it +@@ -4430,64 +4421,55 @@ one for the file name and another for it filename = Fw32_long_file_name (filename); #endif @@ -157,7 +157,7 @@ Index: emacs-29.2/src/comp.c } DEFUN ("comp-el-to-eln-filename", Fcomp_el_to_eln_filename, -@@ -4494,13 +4476,7 @@ If BASE-DIR is non-nil, use it as the di +@@ -4501,13 +4483,7 @@ If BASE-DIR is non-nil, use it as the di non-absolute BASE-DIR is interpreted as relative to `invocation-directory'. If BASE-DIR is omitted or nil, look for the first writable directory in `native-comp-eln-load-path', and use as BASE-DIR its subdirectory @@ -172,7 +172,7 @@ Index: emacs-29.2/src/comp.c (Lisp_Object filename, Lisp_Object base_dir) { Lisp_Object source_filename = filename; -@@ -4548,10 +4524,11 @@ the latter is supposed to be used by the +@@ -4555,10 +4531,11 @@ the latter is supposed to be used by the Lisp_Object lisp_preloaded = Fgetenv_internal (build_string ("LISP_PRELOADED"), Qnil); base_dir = Fexpand_file_name (Vcomp_native_version_dir, base_dir); @@ -186,7 +186,7 @@ Index: emacs-29.2/src/comp.c CALL1I (split-string, lisp_preloaded)))))) base_dir = Fexpand_file_name (build_string ("preloaded"), base_dir); -@@ -5863,10 +5840,7 @@ The last directory of this list is assum +@@ -5875,10 +5852,7 @@ The last directory of this list is assum the system *.eln files, which are the files produced when building Emacs. */); @@ -198,11 +198,11 @@ Index: emacs-29.2/src/comp.c DEFVAR_LISP ("native-comp-enable-subr-trampolines", Vnative_comp_enable_subr_trampolines, -Index: emacs-29.2/lisp/startup.el +Index: emacs-next/lisp/startup.el =================================================================== ---- emacs-29.2.orig/lisp/startup.el -+++ emacs-29.2/lisp/startup.el -@@ -545,9 +545,6 @@ DIRS are relative." +--- emacs-next.orig/lisp/startup.el ++++ emacs-next/lisp/startup.el +@@ -527,9 +527,6 @@ DIRS are relative." (defvar native-comp-jit-compilation) (defvar native-comp-enable-subr-trampolines) @@ -212,7 +212,7 @@ Index: emacs-29.2/lisp/startup.el (defun startup-redirect-eln-cache (cache-directory) "Redirect the user's eln-cache directory to CACHE-DIRECTORY. CACHE-DIRECTORY must be a single directory, a string. -@@ -558,22 +555,10 @@ to `user-emacs-directory'. +@@ -540,22 +537,10 @@ to `user-emacs-directory'. For best results, call this function in your early-init file, so that the rest of initialization and package loading uses the updated value." @@ -232,10 +232,10 @@ Index: emacs-29.2/lisp/startup.el - (setq startup--original-eln-load-path - (copy-sequence native-comp-eln-load-path)))) - - (defun normal-top-level () - "Emacs calls this function when it first starts up. - It sets `command-line-processed', processes the command-line, -@@ -1362,12 +1347,6 @@ please check its value") + (defun startup--rescale-elt-match-p (font-pattern font-object) + "Test whether FONT-OBJECT matches an element of `face-font-rescale-alist'. + FONT-OBJECT is a font-object that specifies a font to test. +@@ -1383,12 +1368,6 @@ please check its value") startup-init-directory))) (setq early-init-file user-init-file) @@ -248,7 +248,7 @@ Index: emacs-29.2/lisp/startup.el ;; If any package directory exists, initialize the package system. (and user-init-file package-enable-at-startup -@@ -1502,12 +1481,6 @@ please check its value") +@@ -1523,12 +1502,6 @@ please check its value") startup-init-directory)) t) @@ -261,10 +261,10 @@ Index: emacs-29.2/lisp/startup.el (when (and deactivate-mark transient-mark-mode) (with-current-buffer (window-buffer) (deactivate-mark))) -Index: emacs-29.2/lisp/loadup.el +Index: emacs-next/lisp/loadup.el =================================================================== ---- emacs-29.2.orig/lisp/loadup.el -+++ emacs-29.2/lisp/loadup.el +--- emacs-next.orig/lisp/loadup.el ++++ emacs-next/lisp/loadup.el @@ -53,6 +53,14 @@ (setq redisplay--inhibit-bidi t) @@ -280,9 +280,16 @@ Index: emacs-29.2/lisp/loadup.el ;; Add subdirectories to the load-path for files that might get ;; autoloaded when bootstrapping or running Emacs normally. -@@ -494,22 +502,20 @@ lost after dumping"))) - (concat eln-dest-dir "native-lisp/" comp-native-version-dir "/")) +@@ -538,27 +546,25 @@ This to have it working when installed o + directory got moved. This is set to be a pair in the form of: + \(rel-filename-from-install-bin . rel-filename-from-local-bin)." + (when (and load--bin-dest-dir load--eln-dest-dir) +- (setq eln-dest-dir +- (concat load--eln-dest-dir "native-lisp/" comp-native-version-dir "/")) ++ (setq load--eln-versioned-dest-dir ++ (concat load--eln-dest-dir "native-lisp/" comp-native-version-dir "/")) (maphash (lambda (_ cu) + (when (stringp (native-comp-unit-file cu)) (let* ((file (native-comp-unit-file cu)) - (preloaded (equal (substring (file-name-directory file) - -10 -1) @@ -302,33 +309,33 @@ Index: emacs-29.2/lisp/loadup.el - (file-name-nondirectory - file) - eln-dest-dir-eff) -- bin-dest-dir) +- load--bin-dest-dir) + (file-relative-name + (expand-file-name + (save-match-data + (string-match native-lisp-needle file) + (substring file (match-end 0))) -+ eln-dest-dir) -+ bin-dest-dir) ++ load--eln-versioned-dest-dir) ++ load--bin-dest-dir) ;; Relative filename from the built uninstalled binary. - (file-relative-name file invocation-directory))))) - comp-loaded-comp-units-h))) -@@ -557,7 +563,9 @@ lost after dumping"))) - (equal dump-mode "pdump")) - ;; Don't enable this before bootstrap is completed, as the - ;; compiler infrastructure may not be usable yet. -- (setq native-comp-enable-subr-trampolines t)) -+ (setq native-comp-enable-subr-trampolines t -+ ;; We loaded everything we could. -+ comp-file-preloaded-p nil)) - (message "Dumping under the name %s" output) - (condition-case () - (delete-file output) -Index: emacs-29.2/src/Makefile.in + (file-relative-name file invocation-directory)))))) + comp-loaded-comp-units-h))) +@@ -644,7 +650,9 @@ directory got moved. This is set to be + (equal dump-mode "pdump")) + ;; Don't enable this before bootstrap is completed, as the + ;; compiler infrastructure may not be usable yet. +- (setq native-comp-enable-subr-trampolines t)) ++ (setq native-comp-enable-subr-trampolines t ++ ;; We loaded everything we could. ++ comp-file-preloaded-p nil)) + (message "Dumping under the name %s" output) + (condition-case () + (delete-file output) +Index: emacs-next/src/Makefile.in =================================================================== ---- emacs-29.2.orig/src/Makefile.in -+++ emacs-29.2/src/Makefile.in -@@ -553,6 +553,7 @@ shortlisp := $(filter-out ${shortlisp_fi +--- emacs-next.orig/src/Makefile.in ++++ emacs-next/src/Makefile.in +@@ -591,6 +591,7 @@ shortlisp := $(filter-out ${shortlisp_fi ## We don't really need to sort, but may as well use it to remove duplicates. shortlisp := loaddefs.el loadup.el $(sort ${shortlisp}) export LISP_PRELOADED = ${shortlisp} base-commit: 61428ccf41f21f5ea1e4f1eec722ef9b1efc3a0e -- 2.48.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.