gnu: emacs: Update to 27.1.
* gnu/packages/emacs.scm (emacs): Update to 27.1. [source]: In snippet, use 'find-files' to find 'eshell/esh-groups.el' if it exists, but gracefully handle its absence. [arguments]: Add "--with-cairo" to configure-flags. Add 'restore-emacs-pdmp' and 'make-compressed-files-writable' phases. Explicitly return #t from 'install-site-start' phase. [inputs]: Add cairo, pango, harfbuzz, jansson, and gmp. Remove imagemagick. (emacs-next): Remove variable. (emacs-minimal, emacs-xwidgets): Use 'package/inherit'. [arguments]: Remove 'restore-emacs-pdmp' phase. (emacs-no-x): Use 'package/inherit'. [arguments]: Remove "--with-cairo" from configure-flags. Remove 'restore-emacs-pdmp' phase. [inputs]: Remove cairo, pango, and harfbuzz. (emacs-no-x-toolkit): Use 'package/inherit'. [arguments]: Remove 'restore-emacs-pdmp' phase. Remove superfluous quasiquote+unquote-splicing pair. (emacs-wide-int): Use 'package/inherit'. (guile-emacs): Use 'package/inherit'. [arguments]: Remove "--with-cairo" from configure-flags. Remove 'restore-emacs-pdmp' phase. * gnu/packages/patches/emacs-ignore-empty-xim-styles.patch, gnu/packages/patches/emacs-source-date-epoch.patch: Adapt to apply cleanly to emacs-27.1. * gnu/packages/patches/emacs-exec-path.patch: Replace with the previous contents of 'emacs27-exec-path.patch', but remove the superfluous comment about it being "like emacs-exec-path.patch, but for Emacs 27". * gnu/packages/patches/emacs27-exec-path.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove 'emacs27-exec-path.patch'.master
parent
c05d2cfcbe
commit
36a09d1853
|
@ -918,7 +918,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/elixir-path-length.patch \
|
%D%/packages/patches/elixir-path-length.patch \
|
||||||
%D%/packages/patches/elm-compiler-disable-reactor.patch \
|
%D%/packages/patches/elm-compiler-disable-reactor.patch \
|
||||||
%D%/packages/patches/elm-compiler-fix-map-key.patch \
|
%D%/packages/patches/elm-compiler-fix-map-key.patch \
|
||||||
%D%/packages/patches/emacs27-exec-path.patch \
|
|
||||||
%D%/packages/patches/emacs-exec-path.patch \
|
%D%/packages/patches/emacs-exec-path.patch \
|
||||||
%D%/packages/patches/emacs-exwm-fix-fullscreen-states.patch \
|
%D%/packages/patches/emacs-exwm-fix-fullscreen-states.patch \
|
||||||
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
|
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||||
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
|
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
|
||||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
|
||||||
;;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
|
;;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
|
||||||
;;; Copyright © 2016, 2018 Arun Isaac <arunisaac@systemreboot.net>
|
;;; Copyright © 2016, 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||||
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
|
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
|
||||||
|
@ -61,6 +61,7 @@
|
||||||
#:use-module (gnu packages imagemagick)
|
#:use-module (gnu packages imagemagick)
|
||||||
#:use-module (gnu packages linux) ; alsa-lib
|
#:use-module (gnu packages linux) ; alsa-lib
|
||||||
#:use-module (gnu packages mail) ; for mailutils
|
#:use-module (gnu packages mail) ; for mailutils
|
||||||
|
#:use-module (gnu packages multiprecision)
|
||||||
#:use-module (gnu packages ncurses)
|
#:use-module (gnu packages ncurses)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages texinfo)
|
#:use-module (gnu packages texinfo)
|
||||||
|
@ -75,14 +76,14 @@
|
||||||
(define-public emacs
|
(define-public emacs
|
||||||
(package
|
(package
|
||||||
(name "emacs")
|
(name "emacs")
|
||||||
(version "26.3")
|
(version "27.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/emacs/emacs-"
|
(uri (string-append "mirror://gnu/emacs/emacs-"
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d"))
|
"0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a"))
|
||||||
(patches (search-patches "emacs-exec-path.patch"
|
(patches (search-patches "emacs-exec-path.patch"
|
||||||
"emacs-fix-scheme-indent-function.patch"
|
"emacs-fix-scheme-indent-function.patch"
|
||||||
"emacs-ignore-empty-xim-styles.patch"
|
"emacs-ignore-empty-xim-styles.patch"
|
||||||
|
@ -95,15 +96,7 @@
|
||||||
(for-each delete-file
|
(for-each delete-file
|
||||||
(append (find-files "." "\\.elc$")
|
(append (find-files "." "\\.elc$")
|
||||||
(find-files "." "loaddefs\\.el$")
|
(find-files "." "loaddefs\\.el$")
|
||||||
;; This is the only "autoloads" file that
|
(find-files "eshell" "^esh-groups\\.el$")))
|
||||||
;; does not have "*loaddefs.el" name.
|
|
||||||
;; TODO: Next time changing this package,
|
|
||||||
;; replace the following with a call to
|
|
||||||
;; `find-files', so that `delete-file'
|
|
||||||
;; wouldn't error out when the file is
|
|
||||||
;; missing, making the entire snippet field
|
|
||||||
;; reusable as-is for `emacs-next' below.
|
|
||||||
'("eshell/esh-groups.el")))
|
|
||||||
|
|
||||||
;; Make sure Tramp looks for binaries in the right places on
|
;; Make sure Tramp looks for binaries in the right places on
|
||||||
;; remote Guix System machines, where 'getconf PATH' returns
|
;; remote Guix System machines, where 'getconf PATH' returns
|
||||||
|
@ -130,6 +123,7 @@
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f ; no check target
|
`(#:tests? #f ; no check target
|
||||||
#:configure-flags (list "--with-modules"
|
#:configure-flags (list "--with-modules"
|
||||||
|
"--with-cairo"
|
||||||
"--disable-build-details")
|
"--disable-build-details")
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
|
@ -180,7 +174,31 @@
|
||||||
;; which leads to conflicts.
|
;; which leads to conflicts.
|
||||||
(delete-file (string-append lisp-dir "/subdirs.el"))
|
(delete-file (string-append lisp-dir "/subdirs.el"))
|
||||||
;; Byte compile the site-start files.
|
;; Byte compile the site-start files.
|
||||||
(emacs-byte-compile-directory lisp-dir)))))))
|
(emacs-byte-compile-directory lisp-dir))
|
||||||
|
#t))
|
||||||
|
(add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
|
||||||
|
;; restore the dump file that Emacs installs somewhere in
|
||||||
|
;; libexec/ to its original state
|
||||||
|
(lambda* (#:key outputs target #:allow-other-keys)
|
||||||
|
(let* ((libexec (string-append (assoc-ref outputs "out")
|
||||||
|
"/libexec"))
|
||||||
|
;; each of these find-files should return one file
|
||||||
|
(pdmp (find-files libexec "^emacs\\.pdmp$"))
|
||||||
|
(pdmp-real (find-files libexec
|
||||||
|
"^\\.emacs\\.pdmp-real$")))
|
||||||
|
(for-each (lambda (wrapper real)
|
||||||
|
(delete-file wrapper)
|
||||||
|
(rename-file real wrapper))
|
||||||
|
pdmp pdmp-real))
|
||||||
|
#t))
|
||||||
|
(add-before 'reset-gzip-timestamps 'make-compressed-files-writable
|
||||||
|
;; The 'reset-gzip-timestamps phase will throw a permission error
|
||||||
|
;; if gzip files aren't writable then. This phase is needed when
|
||||||
|
;; building from a git checkout.
|
||||||
|
(lambda _
|
||||||
|
(for-each make-file-writable
|
||||||
|
(find-files %output ".*\\.t?gz$"))
|
||||||
|
#t)))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("gnutls" ,gnutls)
|
`(("gnutls" ,gnutls)
|
||||||
("ncurses" ,ncurses)
|
("ncurses" ,ncurses)
|
||||||
|
@ -192,12 +210,16 @@
|
||||||
;; TODO: Add the optional dependencies.
|
;; TODO: Add the optional dependencies.
|
||||||
("libx11" ,libx11)
|
("libx11" ,libx11)
|
||||||
("gtk+" ,gtk+)
|
("gtk+" ,gtk+)
|
||||||
|
("cairo" ,cairo)
|
||||||
|
("pango" ,pango)
|
||||||
|
("harfbuzz" ,harfbuzz)
|
||||||
("libxft" ,libxft)
|
("libxft" ,libxft)
|
||||||
("libtiff" ,libtiff)
|
("libtiff" ,libtiff)
|
||||||
("giflib" ,giflib)
|
("giflib" ,giflib)
|
||||||
("libjpeg" ,libjpeg-turbo)
|
("libjpeg" ,libjpeg-turbo)
|
||||||
("imagemagick" ,imagemagick)
|
|
||||||
("acl" ,acl)
|
("acl" ,acl)
|
||||||
|
("jansson" ,jansson)
|
||||||
|
("gmp" ,gmp)
|
||||||
|
|
||||||
;; When looking for libpng `configure' links with `-lpng -lz', so we
|
;; When looking for libpng `configure' links with `-lpng -lz', so we
|
||||||
;; must also provide zlib as an input.
|
;; must also provide zlib as an input.
|
||||||
|
@ -243,119 +265,20 @@ large Lisp programs. It has full Unicode support for nearly all human
|
||||||
languages.")
|
languages.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public emacs-next
|
|
||||||
(let ((commit "c36c5a3dedbb2e0349be1b6c3b7567ea7b594f1c")
|
|
||||||
(revision "0")
|
|
||||||
(emacs-version "27.0.91"))
|
|
||||||
(package
|
|
||||||
(inherit emacs)
|
|
||||||
(name "emacs-next")
|
|
||||||
(version (git-version emacs-version revision commit))
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://git.savannah.gnu.org/git/emacs.git")
|
|
||||||
(commit commit)))
|
|
||||||
(sha256
|
|
||||||
(base32 "0mlrg2npy1r79laahkgzhxd1qassfcdz8qk1cpw7mqgf6y5x505h"))
|
|
||||||
(file-name (git-file-name name version))
|
|
||||||
(patches (search-patches "emacs27-exec-path.patch"
|
|
||||||
"emacs-fix-scheme-indent-function.patch"
|
|
||||||
"emacs-ignore-empty-xim-styles.patch"
|
|
||||||
"emacs-source-date-epoch.patch"))
|
|
||||||
(modules (origin-modules (package-source emacs)))
|
|
||||||
;; TODO: once the snippet for `emacs' is changed to not fail when
|
|
||||||
;; eshell/esh-groups.el does not exist, replace this snippet with
|
|
||||||
;; (snippet (origin-snippet (package-source emacs))))).
|
|
||||||
(snippet
|
|
||||||
'(with-directory-excursion "lisp"
|
|
||||||
;; Make sure Tramp looks for binaries in the right places on
|
|
||||||
;; remote Guix System machines, where 'getconf PATH' returns
|
|
||||||
;; something bogus.
|
|
||||||
(substitute* "net/tramp-sh.el"
|
|
||||||
;; Patch the line after "(defcustom tramp-remote-path".
|
|
||||||
(("\\(tramp-default-remote-path")
|
|
||||||
(format #f "(tramp-default-remote-path ~s ~s ~s ~s "
|
|
||||||
"~/.guix-profile/bin" "~/.guix-profile/sbin"
|
|
||||||
"/run/current-system/profile/bin"
|
|
||||||
"/run/current-system/profile/sbin")))
|
|
||||||
|
|
||||||
;; Make sure Man looks for C header files in the right
|
|
||||||
;; places.
|
|
||||||
(substitute* "man.el"
|
|
||||||
(("\"/usr/local/include\"" line)
|
|
||||||
(string-join
|
|
||||||
(list line
|
|
||||||
"\"~/.guix-profile/include\""
|
|
||||||
"\"/var/guix/profiles/system/profile/include\"")
|
|
||||||
" ")))
|
|
||||||
#t))))
|
|
||||||
(arguments
|
|
||||||
(substitute-keyword-arguments (package-arguments emacs)
|
|
||||||
((#:configure-flags flags)
|
|
||||||
`(cons* "--with-harfbuzz" ,flags))
|
|
||||||
((#:phases phases)
|
|
||||||
`(modify-phases ,phases
|
|
||||||
;; The 'reset-gzip-timestamps phase will throw a
|
|
||||||
;; permission error if gzip files aren't writable then
|
|
||||||
(add-before
|
|
||||||
'reset-gzip-timestamps
|
|
||||||
'make-compressed-files-writable
|
|
||||||
(lambda _
|
|
||||||
(for-each make-file-writable
|
|
||||||
(find-files %output ".*\\.t?gz$"))
|
|
||||||
#t))
|
|
||||||
;; restore the dump file that Emacs installs somewhere in
|
|
||||||
;; libexec/ to its original state
|
|
||||||
(add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
|
|
||||||
(lambda* (#:key outputs target #:allow-other-keys)
|
|
||||||
(let* ((libexec (string-append (assoc-ref outputs "out")
|
|
||||||
"/libexec"))
|
|
||||||
;; each of these find-files should return one file
|
|
||||||
(pdmp (find-files libexec "^emacs\\.pdmp$"))
|
|
||||||
(pdmp-real (find-files libexec
|
|
||||||
"^\\.emacs\\.pdmp-real$")))
|
|
||||||
(for-each (lambda (wrapper real)
|
|
||||||
(delete-file wrapper)
|
|
||||||
(rename-file real wrapper))
|
|
||||||
pdmp pdmp-real)
|
|
||||||
#t)))))))
|
|
||||||
(inputs
|
|
||||||
`(("jansson" ,jansson)
|
|
||||||
("harfbuzz" ,harfbuzz)
|
|
||||||
;; Emacs no longer uses ImageMagick by default
|
|
||||||
;; https://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS?h=emacs-27.0.91&id=c36c5a3dedbb2e0349be1b6c3b7567ea7b594f1c#n102
|
|
||||||
,@(alist-delete "imagemagick" (package-inputs emacs))))
|
|
||||||
(native-inputs
|
|
||||||
`(("autoconf" ,autoconf) ; needed when building from trunk
|
|
||||||
,@(package-native-inputs emacs)))
|
|
||||||
|
|
||||||
;; TODO: consider changing `emacs' to use a more robust way of
|
|
||||||
;; specifying version for "EMACSLOADPATH", so as to avoid having to
|
|
||||||
;; duplicate native-search-paths here.
|
|
||||||
(native-search-paths
|
|
||||||
(list (search-path-specification
|
|
||||||
(variable "EMACSLOADPATH")
|
|
||||||
;; The versioned entry is for the Emacs' builtin libraries.
|
|
||||||
(files
|
|
||||||
(list "share/emacs/site-lisp"
|
|
||||||
(string-append "share/emacs/" emacs-version "/lisp"))))
|
|
||||||
(search-path-specification
|
|
||||||
(variable "INFOPATH")
|
|
||||||
(files '("share/info"))))))))
|
|
||||||
|
|
||||||
(define-public emacs-minimal
|
(define-public emacs-minimal
|
||||||
;; This is the version that you should use as an input to packages that just
|
;; This is the version that you should use as an input to packages that just
|
||||||
;; need to byte-compile .el files.
|
;; need to byte-compile .el files.
|
||||||
(package (inherit emacs)
|
(package/inherit emacs
|
||||||
(name "emacs-minimal")
|
(name "emacs-minimal")
|
||||||
(synopsis "The extensible text editor (used only for byte-compilation)")
|
(synopsis "The extensible text editor (used only for byte-compilation)")
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments emacs)
|
(substitute-keyword-arguments (package-arguments emacs)
|
||||||
((#:configure-flags flags ''())
|
((#:configure-flags flags ''())
|
||||||
`(list "--with-gnutls=no" "--disable-build-details"))))
|
`(list "--with-gnutls=no" "--disable-build-details"))
|
||||||
|
((#:phases phases)
|
||||||
|
`(modify-phases ,phases
|
||||||
|
(delete 'restore-emacs-pdmp)))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el"))
|
`(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el"))
|
||||||
("ncurses" ,ncurses)))
|
("ncurses" ,ncurses)))
|
||||||
|
@ -363,8 +286,7 @@ languages.")
|
||||||
`(("pkg-config" ,pkg-config)))))
|
`(("pkg-config" ,pkg-config)))))
|
||||||
|
|
||||||
(define-public emacs-xwidgets
|
(define-public emacs-xwidgets
|
||||||
(package
|
(package/inherit emacs
|
||||||
(inherit emacs)
|
|
||||||
(name "emacs-xwidgets")
|
(name "emacs-xwidgets")
|
||||||
(synopsis "The extensible, customizable, self-documenting text
|
(synopsis "The extensible, customizable, self-documenting text
|
||||||
editor (with xwidgets support)")
|
editor (with xwidgets support)")
|
||||||
|
@ -372,14 +294,17 @@ editor (with xwidgets support)")
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments emacs)
|
(substitute-keyword-arguments (package-arguments emacs)
|
||||||
((#:configure-flags flags ''())
|
((#:configure-flags flags ''())
|
||||||
`(cons "--with-xwidgets" ,flags))))
|
`(cons "--with-xwidgets" ,flags))
|
||||||
|
((#:phases phases)
|
||||||
|
`(modify-phases ,phases
|
||||||
|
(delete 'restore-emacs-pdmp)))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("webkitgtk" ,webkitgtk)
|
`(("webkitgtk" ,webkitgtk)
|
||||||
("libxcomposite" ,libxcomposite)
|
("libxcomposite" ,libxcomposite)
|
||||||
,@(package-inputs emacs)))))
|
,@(package-inputs emacs)))))
|
||||||
|
|
||||||
(define-public emacs-no-x
|
(define-public emacs-no-x
|
||||||
(package (inherit emacs)
|
(package/inherit emacs
|
||||||
(name "emacs-no-x")
|
(name "emacs-no-x")
|
||||||
(synopsis "The extensible, customizable, self-documenting text
|
(synopsis "The extensible, customizable, self-documenting text
|
||||||
editor (console only)")
|
editor (console only)")
|
||||||
|
@ -388,13 +313,20 @@ editor (console only)")
|
||||||
(package-inputs emacs)
|
(package-inputs emacs)
|
||||||
'("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg"
|
'("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg"
|
||||||
"imagemagick" "libpng" "librsvg" "libxpm" "libice"
|
"imagemagick" "libpng" "librsvg" "libxpm" "libice"
|
||||||
"libsm"
|
"libsm" "cairo" "pango" "harfbuzz"
|
||||||
|
|
||||||
;; These depend on libx11, so remove them as well.
|
;; These depend on libx11, so remove them as well.
|
||||||
"libotf" "m17n-lib" "dbus")))))
|
"libotf" "m17n-lib" "dbus")))
|
||||||
|
(arguments
|
||||||
|
(substitute-keyword-arguments (package-arguments emacs)
|
||||||
|
((#:configure-flags flags ''())
|
||||||
|
`(delete "--with-cairo" ,flags))
|
||||||
|
((#:phases phases)
|
||||||
|
`(modify-phases ,phases
|
||||||
|
(delete 'restore-emacs-pdmp)))))))
|
||||||
|
|
||||||
(define-public emacs-no-x-toolkit
|
(define-public emacs-no-x-toolkit
|
||||||
(package (inherit emacs)
|
(package/inherit emacs
|
||||||
(name "emacs-no-x-toolkit")
|
(name "emacs-no-x-toolkit")
|
||||||
(synopsis "The extensible, customizable, self-documenting text
|
(synopsis "The extensible, customizable, self-documenting text
|
||||||
editor (without an X toolkit)" )
|
editor (without an X toolkit)" )
|
||||||
|
@ -402,13 +334,15 @@ editor (without an X toolkit)" )
|
||||||
(inputs (append `(("inotify-tools" ,inotify-tools))
|
(inputs (append `(("inotify-tools" ,inotify-tools))
|
||||||
(alist-delete "gtk+" (package-inputs emacs))))
|
(alist-delete "gtk+" (package-inputs emacs))))
|
||||||
(arguments
|
(arguments
|
||||||
`(,@(substitute-keyword-arguments (package-arguments emacs)
|
(substitute-keyword-arguments (package-arguments emacs)
|
||||||
((#:configure-flags cf)
|
((#:configure-flags flags ''())
|
||||||
`(cons "--with-x-toolkit=no" ,cf)))))))
|
`(cons "--with-x-toolkit=no" ,flags))
|
||||||
|
((#:phases phases)
|
||||||
|
`(modify-phases ,phases
|
||||||
|
(delete 'restore-emacs-pdmp)))))))
|
||||||
|
|
||||||
(define-public emacs-wide-int
|
(define-public emacs-wide-int
|
||||||
(package
|
(package/inherit emacs
|
||||||
(inherit emacs)
|
|
||||||
(name "emacs-wide-int")
|
(name "emacs-wide-int")
|
||||||
(synopsis "The extensible, customizable, self-documenting text
|
(synopsis "The extensible, customizable, self-documenting text
|
||||||
editor (with wide ints)" )
|
editor (with wide ints)" )
|
||||||
|
@ -420,7 +354,7 @@ editor (with wide ints)" )
|
||||||
(define-public guile-emacs
|
(define-public guile-emacs
|
||||||
(let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b")
|
(let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b")
|
||||||
(revision "0"))
|
(revision "0"))
|
||||||
(package (inherit emacs)
|
(package/inherit emacs
|
||||||
(name "guile-emacs")
|
(name "guile-emacs")
|
||||||
(version (git-version "0.0.0" revision commit))
|
(version (git-version "0.0.0" revision commit))
|
||||||
(source (origin
|
(source (origin
|
||||||
|
@ -444,6 +378,8 @@ editor (with wide ints)" )
|
||||||
;; Tests aren't passing for now.
|
;; Tests aren't passing for now.
|
||||||
#:tests? #f
|
#:tests? #f
|
||||||
,@(package-arguments emacs))
|
,@(package-arguments emacs))
|
||||||
|
((#:configure-flags flags ''())
|
||||||
|
`(delete "--with-cairo" ,flags))
|
||||||
((#:phases phases)
|
((#:phases phases)
|
||||||
`(modify-phases ,phases
|
`(modify-phases ,phases
|
||||||
(add-after 'unpack 'autogen
|
(add-after 'unpack 'autogen
|
||||||
|
@ -452,7 +388,8 @@ editor (with wide ints)" )
|
||||||
;; Build sometimes fails: deps/dispnew.d: No such file or directory
|
;; Build sometimes fails: deps/dispnew.d: No such file or directory
|
||||||
(add-before 'build 'make-deps-dir
|
(add-before 'build 'make-deps-dir
|
||||||
(lambda _
|
(lambda _
|
||||||
(invoke "mkdir" "-p" "src/deps"))))))))))
|
(invoke "mkdir" "-p" "src/deps")))
|
||||||
|
(delete 'restore-emacs-pdmp))))))))
|
||||||
|
|
||||||
(define-public m17n-db
|
(define-public m17n-db
|
||||||
(package
|
(package
|
||||||
|
|
|
@ -4,15 +4,13 @@ with things like GCC being referenced.
|
||||||
|
|
||||||
--- a/lisp/loadup.el
|
--- a/lisp/loadup.el
|
||||||
+++ b/lisp/loadup.el
|
+++ b/lisp/loadup.el
|
||||||
@@ -64,6 +64,11 @@
|
@@ -481,7 +481,8 @@ lost after dumping")))
|
||||||
(expand-file-name "textmodes" dir)
|
((equal dump-mode "dump") "emacs")
|
||||||
(expand-file-name "vc" dir)))))
|
((equal dump-mode "bootstrap") "emacs")
|
||||||
|
((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp")
|
||||||
+;; Reset 'exec-path' so we don't capture the build-time $PATH in the
|
- (t (error "unrecognized dump mode %s" dump-mode)))))
|
||||||
+;; 'emacs' executable.
|
+ (t (error "unrecognized dump mode %s" dump-mode))))
|
||||||
+(setq-default exec-path nil)
|
+ (exec-path nil))
|
||||||
+(setq exec-path nil)
|
(message "Dumping under the name %s" output)
|
||||||
+
|
(condition-case ()
|
||||||
(if (eq t purify-flag)
|
(delete-file output)
|
||||||
;; Hash consing saved around 11% of pure space in my tests.
|
|
||||||
(setq purify-flag (make-hash-table :test 'equal :size 70000)))
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ Index: emacs-26.3/src/xfns.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- emacs-26.3.orig/src/xfns.c
|
--- emacs-26.3.orig/src/xfns.c
|
||||||
+++ emacs-26.3/src/xfns.c
|
+++ emacs-26.3/src/xfns.c
|
||||||
@@ -2533,6 +2533,8 @@ xic_free_xfontset (struct frame *f)
|
@@ -2628,6 +2628,8 @@ xic_free_xfontset (struct frame *f)
|
||||||
static XIMStyle
|
static XIMStyle
|
||||||
best_xim_style (XIMStyles *xim)
|
best_xim_style (XIMStyles *xim)
|
||||||
{
|
{
|
||||||
|
@ -14,7 +14,7 @@ Index: emacs-26.3/src/xfns.c
|
||||||
int i, j;
|
int i, j;
|
||||||
int nr_supported = ARRAYELTS (supported_xim_styles);
|
int nr_supported = ARRAYELTS (supported_xim_styles);
|
||||||
|
|
||||||
@@ -2541,6 +2543,7 @@ best_xim_style (XIMStyles *xim)
|
@@ -2636,6 +2638,7 @@ best_xim_style (XIMStyles *xim)
|
||||||
if (supported_xim_styles[i] == xim->supported_styles[j])
|
if (supported_xim_styles[i] == xim->supported_styles[j])
|
||||||
return supported_xim_styles[i];
|
return supported_xim_styles[i];
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,9 @@ Honor SOURCE_DATE_EPOCH variable to avoid non-determinism in generated
|
||||||
|
|
||||||
--- a/lisp/emacs-lisp/autoload.el
|
--- a/lisp/emacs-lisp/autoload.el
|
||||||
+++ b/lisp/emacs-lisp/autoload.el
|
+++ b/lisp/emacs-lisp/autoload.el
|
||||||
@@ -378,8 +378,12 @@
|
@@ -419,8 +419,12 @@
|
||||||
"Insert the section-header line,
|
;; nil t))
|
||||||
which lists the file name and which functions are in it, etc."
|
;; (match-end 2))))
|
||||||
(insert generate-autoload-section-header)
|
(insert generate-autoload-section-header)
|
||||||
- (prin1 `(autoloads ,autoloads ,load-name ,file ,time)
|
- (prin1 `(autoloads ,autoloads ,load-name ,file ,time)
|
||||||
- outbuf)
|
- outbuf)
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
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.
|
|
||||||
|
|
||||||
(like emacs-exec-path.patch, but for Emacs 27)
|
|
||||||
|
|
||||||
--- a/lisp/loadup.el
|
|
||||||
+++ b/lisp/loadup.el
|
|
||||||
@@ -479,7 +479,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))
|
|
||||||
(message "Dumping under the name %s" output)
|
|
||||||
(condition-case ()
|
|
||||||
(delete-file output)
|
|
Reference in New Issue