[Work in progress] gnu: emacs: update to 27.1

DoneSubmitted by Jack Hill.
Details
10 participants
  • Morgan.J.Smith
  • Brett Gilio
  • Diego Nicola Barbato
  • Giovanni Biscuolo
  • Jack Hill
  • Alexey Abramov
  • Ludovic Courtès
  • Pierre Neidhardt
  • Mark H Weaver
  • Michael Rohleder
Owner
unassigned
Severity
normal
J
J
Jack Hill wrote on 7 Aug 2020 05:21
(address . guix-patches@gnu.org)
alpine.DEB.2.21.2008062225250.4809@marsh.hcoop.net
Hi Guix,
Now that there is a release candidate for Emacs 27.1, I started working on updating our Emacs packages. For the most part, it went smoothly, but there are some other packages that broke after updating Emacs. Of the packages reported by `guix refresh -l emacs`, the following had issues:
emacs-picpocket - picpocket uses ImageMagic, but Emacs no longer defaults to using ImageMagic [0]. This may not be a package that we want to support with Emacs >=27
[0] http://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS?h=emacs-27.1-rc1&id=27877e7bcfa37b2c97a3dde170f870d4729ff807#n96
bigloo - Currently fails to build [1], and the Emacs upgrade did not change that.
[1] https://issues.guix.gnu.org/42726
hop - depends on bigloo
emacs-haskell-mode - Tests newly fail with Emacs 27. Issue reported upstream [2]
[2] https://github.com/haskell/haskell-mode/issues/1714
emacs-dante - depends on emacs-haskell-mode
emacs-clojure-mode - Documentation tests newly fail wtih Emacs 27. Issue reported upstream [3]
[3] https://github.com/clojure-emacs/clojure-mode/issues/568
emacs-ample-regexps - This package builds from an arbitrary commit, and updating that fixed issues with Emacs 27 [4].
[4] https://issues.guix.gnu.org/42737
emacs-doom-themes - This package builds from an arbitrary commit, and updating that fixed issues with Emacs 27 [5].
[5] https://issues.guix.gnu.org/42736
emacs-treemacs - Tests newly fail with Emacs 27. Issue reported upstream [6].
[6] https://github.com/Alexander-Miller/treemacs/issues/707
emacs-lsp-java - depends on treemacs
emacs-treemacs-extra - depends on treemacs
emacs-psc-ide - Byte compilation fails with Emacs 27. Issue reported upstream [7].
[7] https://github.com/purescript-emacs/psc-ide-emacs/issues/193
emacs-treepi - Byte compilation failure. There is an existing upstram issue [8].
[8] https://github.com/volrath/treepy.el/issues/8
emacs-github-review - depends on emacs-treepi
notmuch - Tests time out.
emacs-elisp-ref - Tests fail. Issue reported upstream [9].
[9] https://github.com/Wilfred/elisp-refs/issues/29
emacs-helpful - depends on emacs-elisp-ref
emacs-racer - Tests fail. Issue reported upstream [10].
[10] https://github.com/racer-rust/emacs-racer/issues/136
emacs-md4rd - Byte compilation fails. Issue reported upstream [11].
[11] https://github.com/ahungry/md4rd/issues/28
Having said that, I will send the patch that I have for updating Emacs. This borrows heavily from the current definition of emacs-next. One thing I don't understand is why I had to add texinfo to the native inputs of emacs-minimal. Perhaps that can be removed with a configure option. That said, `guix size` reports a decrease from 205.3 MiB to 182.9 MiB for emacs-minimal (and emacs decreased from 1209.8 MiB to 859.7 MiB).
I've also left emacs-next alone for now. We'll probably want to update it as well at some point.
Best,Jack
J
J
Jack Hill wrote on 7 Aug 2020 05:23
[PATCH] gnu: emacs: Update to 27.1-rc1.
(address . 42738@debbugs.gnu.org)
20200807032302.27928-1-jackhill@jackhill.us
* gnu/packages/emacs.scm (emacs): Update to 27.1-rc1.[arguments]: Add --with-harfbuzz and --with-modules to #configure-flags. Addrestore-emacs-pdump phase.[inputs]: Add jansson and harfbuzz. Remove imagemagick.--- gnu/packages/emacs.scm | 68 ++++++++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 25 deletions(-)
Toggle diff (143 lines)diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scmindex ad8d4b0606..b809e90690 100644--- a/gnu/packages/emacs.scm+++ b/gnu/packages/emacs.scm@@ -58,7 +58,6 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages image)- #:use-module (gnu packages imagemagick) #:use-module (gnu packages linux) ; alsa-lib #:use-module (gnu packages mail) ; for mailutils #:use-module (gnu packages ncurses)@@ -75,18 +74,18 @@ (define-public emacs (package (name "emacs")- (version "26.3")+ (version "27.1") (source (origin- (method url-fetch)- (uri (string-append "mirror://gnu/emacs/emacs-"- version ".tar.xz"))- (sha256- (base32- "119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d"))- (patches (search-patches "emacs-exec-path.patch"+ (method git-fetch)+ (uri (git-reference+ (url "https://git.savannah.gnu.org/git/emacs.git")+ (commit "emacs-27.1-rc1")))+ (patches (search-patches "emacs27-exec-path.patch" "emacs-fix-scheme-indent-function.patch" "emacs-ignore-empty-xim-styles.patch" "emacs-source-date-epoch.patch"))+ (sha256+ (base32 "1vyw8bpairxfxim931xg3pwyl3afh2mmjxa2i1igsaiaaxyssbc6")) (modules '((guix build utils))) (snippet '(with-directory-excursion "lisp"@@ -94,16 +93,7 @@ ;; autoloads. (for-each delete-file (append (find-files "." "\\.elc$")- (find-files "." "loaddefs\\.el$")- ;; This is the only "autoloads" file that- ;; 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")))+ (find-files "." "loaddefs\\.el$"))) ;; Make sure Tramp looks for binaries in the right places on ;; remote Guix System machines, where 'getconf PATH' returns@@ -129,7 +119,8 @@ (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; no check target- #:configure-flags (list "--with-modules"+ #:configure-flags (list "--with-harfbuzz"+ "--with-modules" "--disable-build-details") #:phases (modify-phases %standard-phases@@ -180,9 +171,35 @@ ;; which leads to conflicts. (delete-file (string-append lisp-dir "/subdirs.el")) ;; Byte compile the site-start files.- (emacs-byte-compile-directory lisp-dir)))))))+ (emacs-byte-compile-directory lisp-dir))))+ ;; Needed when building from git+ (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$")))+ (when (not (null? pdmp-real))+ (for-each (lambda (wrapper real)+ (delete-file wrapper)+ (rename-file real wrapper))+ pdmp pdmp-real))+ #t)))))) (inputs `(("gnutls" ,gnutls)+ ("jansson" ,jansson)+ ("harfbuzz" ,harfbuzz) ("ncurses" ,ncurses) ;; Avoid Emacs's limited movemail substitute that retrieves POP3 email@@ -196,7 +213,6 @@ ("libtiff" ,libtiff) ("giflib" ,giflib) ("libjpeg" ,libjpeg-turbo)- ("imagemagick" ,imagemagick) ("acl" ,acl) ;; When looking for libpng `configure' links with `-lpng -lz', so we@@ -218,6 +234,7 @@ (native-inputs `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el")) ("pkg-config" ,pkg-config)+ ("autoconf" ,autoconf) ;Needed when building from git ("texinfo" ,texinfo))) (native-search-paths@@ -360,7 +377,9 @@ languages.") `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el")) ("ncurses" ,ncurses))) (native-inputs- `(("pkg-config" ,pkg-config)))))+ `(("pkg-config" ,pkg-config)+ ("autoconf" ,autoconf) ;Needed when building from git+ ("texinfo" ,texinfo))))) (define-public emacs-xwidgets (package@@ -387,8 +406,7 @@ editor (console only)") (inputs (fold alist-delete (package-inputs emacs) '("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg"- "imagemagick" "libpng" "librsvg" "libxpm" "libice"- "libsm"+ "libpng" "librsvg" "libxpm" "libice" "libsm" ;; These depend on libx11, so remove them as well. "libotf" "m17n-lib" "dbus")))))-- 2.28.0
J
J
Jack Hill wrote on 18 Aug 2020 08:23
Re: [bug#42738] [Work in progress] gnu: emacs: update to 27.1
(address . 42738@debbugs.gnu.org)(address . guix-devel@gnu.org)
alpine.DEB.2.21.2008180137010.4809@marsh.hcoop.net
I've added guix-devel to the cc: becasue the Emacs upgrade has come up a few times on IRC, and there are ways for you to help move this upgrade along. Any suggestions are welcome, but in particular, you can help with the following:
* Review the inputs and configure flags. Are there any additional changes needed for the new Emacs version? A good place to start with this would be the Emacs NEWS file. It's quite lengthy, so additional eyes would be quite helpful.
* Making sure packages build and work with Emacs 27.1. I expect this to involve elisp hacking and working with upstream.
I have the following updates, since I prepared at patch for the 27.1 release candidate:
On Thu, 6 Aug 2020, Jack Hill wrote:
Toggle quote (5 lines)> Hi Guix,>> Now that there is a release candidate for Emacs 27.1, I started working on > updating our Emacs packages.
Now that Emacs 27.1 has been released, I've updated the patch for released version. Per Michael Rohleder's (mroh) suggestion on IRC, I have added gmp as an input.
Is the emacs-wide-int variant needed with the new multiprecision functionality?
Toggle quote (4 lines)> For the most part, it went smoothly, but there are some other packages > that broke after updating Emacs. Of the packages reported by `guix > refresh -l emacs`, the following had issues:
I have not had a chance to try rebuilding the dependents, but I have updated news for the following packages:
Toggle quote (7 lines)> emacs-haskell-mode - Tests newly fail with Emacs 27. Issue reported upstream > [2]>> [2] https://github.com/haskell/haskell-mode/issues/1714>> emacs-dante - depends on emacs-haskell-mode
John Soo (jsoo) volunterred to look at the haskell packages. Thanks!
Toggle quote (5 lines)> emacs-ample-regexps - This package builds from an arbitrary commit,> and updating that fixed issues with Emacs 27 [4].>>[4] https://issues.guix.gnu.org/42737
This patch has been merged!
Toggle quote (5 lines)> emacs-doom-themes - This package builds from an arbitrary commit, and > updating that fixed issues with Emacs 27 [5].>> [5] https://issues.guix.gnu.org/42736
This patch has been merged!
Toggle quote (4 lines)> emacs-treemacs - Tests newly fail with Emacs 27. Issue reported upstream [6].>> [6] https://github.com/Alexander-Miller/treemacs/issues/707
Upstream has acknowledged the issue and is investigating.
Toggle quote (5 lines)> emacs-treepy - Byte compilation failure. There is an existing upstram issue> [8].>> [8] https://github.com/volrath/treepy.el/issues/8
Upstream fixed the issue, and Michael Rohleder got the fix into Guix. Thanks!
Toggle quote (2 lines)> emacs-github-review - depends on emacs-treepy
With the fixed treepy, emacs-github-review now builds as well.
Toggle quote (2 lines)> notmuch - Tests time out.
Work is being done upstream to add support for 27.1 [9]
[9] https://nmbug.notmuchmail.org/nmweb/show/87bljg8nxr.fsf%40cassou.me
J
J
Jack Hill wrote on 18 Aug 2020 08:26
[PATCH v2] gnu: emacs: Update to 27.1.
(address . 42738@debbugs.gnu.org)
20200818062632.28344-1-jackhill@jackhill.us
* gnu/packages/emacs.scm (emacs): Update to 27.1.[arguments]: Add --with-harfbuzz and --with-modules to #configure-flags. Addrestore-emacs-pdump phase.[inputs]: Add jansson, gmp, and harfbuzz. Remove imagemagick.--- gnu/packages/emacs.scm | 61 +++++++++++++++++++++++++++--------------- 1 file changed, 39 insertions(+), 22 deletions(-)
Toggle diff (135 lines)diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scmindex ad8d4b0606..3f1bff6c15 100644--- a/gnu/packages/emacs.scm+++ b/gnu/packages/emacs.scm@@ -58,9 +58,9 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages image)- #:use-module (gnu packages imagemagick) #:use-module (gnu packages linux) ; alsa-lib #:use-module (gnu packages mail) ; for mailutils+ #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages texinfo)@@ -75,18 +75,17 @@ (define-public emacs (package (name "emacs")- (version "26.3")+ (version "27.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/emacs/emacs-" version ".tar.xz"))- (sha256- (base32- "119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d"))- (patches (search-patches "emacs-exec-path.patch"+ (patches (search-patches "emacs27-exec-path.patch" "emacs-fix-scheme-indent-function.patch" "emacs-ignore-empty-xim-styles.patch" "emacs-source-date-epoch.patch"))+ (sha256+ (base32 "0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a")) (modules '((guix build utils))) (snippet '(with-directory-excursion "lisp"@@ -94,16 +93,7 @@ ;; autoloads. (for-each delete-file (append (find-files "." "\\.elc$")- (find-files "." "loaddefs\\.el$")- ;; This is the only "autoloads" file that- ;; 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")))+ (find-files "." "loaddefs\\.el$"))) ;; Make sure Tramp looks for binaries in the right places on ;; remote Guix System machines, where 'getconf PATH' returns@@ -129,7 +119,8 @@ (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; no check target- #:configure-flags (list "--with-modules"+ #:configure-flags (list "--with-harfbuzz"+ "--with-modules" "--disable-build-details") #:phases (modify-phases %standard-phases@@ -180,9 +171,35 @@ ;; which leads to conflicts. (delete-file (string-append lisp-dir "/subdirs.el")) ;; Byte compile the site-start files.- (emacs-byte-compile-directory lisp-dir)))))))+ (emacs-byte-compile-directory lisp-dir))))+ ;; Needed when building from git+ (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$")))+ (when (not (null? pdmp-real))+ (for-each (lambda (wrapper real)+ (delete-file wrapper)+ (rename-file real wrapper))+ pdmp pdmp-real))+ #t)))))) (inputs `(("gnutls" ,gnutls)+ ("jansson" ,jansson)+ ("harfbuzz" ,harfbuzz) ("ncurses" ,ncurses) ;; Avoid Emacs's limited movemail substitute that retrieves POP3 email@@ -195,8 +212,8 @@ ("libxft" ,libxft) ("libtiff" ,libtiff) ("giflib" ,giflib)+ ("gmp" ,gmp) ("libjpeg" ,libjpeg-turbo)- ("imagemagick" ,imagemagick) ("acl" ,acl) ;; When looking for libpng `configure' links with `-lpng -lz', so we@@ -360,7 +377,8 @@ languages.") `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el")) ("ncurses" ,ncurses))) (native-inputs- `(("pkg-config" ,pkg-config)))))+ `(("pkg-config" ,pkg-config)+ ("texinfo" ,texinfo))))) (define-public emacs-xwidgets (package@@ -387,8 +405,7 @@ editor (console only)") (inputs (fold alist-delete (package-inputs emacs) '("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg"- "imagemagick" "libpng" "librsvg" "libxpm" "libice"- "libsm"+ "libpng" "librsvg" "libxpm" "libice" "libsm" ;; These depend on libx11, so remove them as well. "libotf" "m17n-lib" "dbus")))))-- 2.28.0
A
A
Alexey Abramov wrote on 18 Aug 2020 10:57
(name . Jack Hill)(address . jackhill@jackhill.us)(address . 42738@debbugs.gnu.org)
87o8n8gwlv.fsf@mmer.org
Hi Jack,
Thanks.
I just checked, and seems like harfbuzz switch is not required. Newsfile also says that it is on by default.
--Alexey
M
M
Michael Rohleder wrote on 18 Aug 2020 15:04
Re: [bug#42738] [Work in progress] gnu: emacs: update to 27.1
(name . Jack Hill)(address . jackhill@jackhill.us)
87tux0rtoo.fsf@rohleder.de
Jack Hill <jackhill@jackhill.us> writes:
Toggle quote (4 lines)> Now that Emacs 27.1 has been released, I've updated the patch for> released version. Per Michael Rohleder's (mroh) suggestion on IRC, I> have added gmp as an input.
emacs (26 and 27) configure and compiles with gmp anyway. I couldn'tfind out where it's (implicit) coming from.I still like the input to make it explicit, though.
Toggle quote (3 lines)> Is the emacs-wide-int variant needed with the new multiprecision> functionality?
I don't think so.
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCAAdFiEEdV4t5dDVhcUueCgwfHr/vv7yyyUFAl870fcACgkQfHr/vv7yyyW0bwf/ctJ1Vx0eCtklOmz/+KJFCtWwOpLPpZqJHGPlV09fpD8SEMt8RS8VqO7k9Z8WfZxEQ84YqvEGOwPWrsf6UGLC4YtuMs/7m95lxJnT6iSqLi+gxt4LoKN/UaX3UxpD2NZmt76KegUNyGNZXCfG8aGFPHuaUahxvKMUf4Ne1CjgRDVT3Qy1235kfwjk0MXssaw7D80tm0pMGfo+M36SULEe2nofPORgtmSstA8pUsJOJ6iE/KAc7AB84JTmXwqm24qe4mMjSNjdhP68wg/3kmmcIKDbEvk9v83fYHRT12oyuZAwVmjRkI0KvjdvRZmMyp1mwzYDKf4MZWrLz8pXJMoIlQ===gW5N-----END PGP SIGNATURE-----
J
J
Jack Hill wrote on 19 Aug 2020 04:53
[bug#42738] [PATCH v2] gnu: emacs: Update to 27.1. (fwd)
(address . 42738@debbugs.gnu.org)
alpine.DEB.2.21.2008182253370.4809@marsh.hcoop.net
---------- Forwarded message ----------Date: Tue, 18 Aug 2020 12:21:46From: Zhu Zihao <cjpeople2013@gmail.com>To: jackhill@jackhill.usSubject: [bug#42738] [PATCH v2] gnu: emacs: Update to 27.1.
Can you add configuration options "--with-cairo"(Also add cairo as input)
the main advantage of cairo build is the power to display color emoji in Emacs.
Check https://github.com/emacs-mirror/emacs/blob/master/etc/NEWS.27#L53
In upcoming Emacs 28, --with-cairo will be the default choice for Emacs. See https://github.com/emacs-mirror/emacs/blob/master/etc/NEWS#L27
J
J
Jack Hill wrote on 19 Aug 2020 06:08
Re: [bug#42738] [Work in progress] gnu: emacs: update to 27.1
(name . Michael Rohleder)(address . mike@rohleder.de)
alpine.DEB.2.21.2008182335550.4809@marsh.hcoop.net
Thank you all for these improvements.
On Tue, 18 Aug 2020, Alexey Abramov wrote:
Toggle quote (3 lines)> I just checked, and seems like harfbuzz switch is not required. News > file also says that it is on by default.
Great. This was copied bliendly from the emacs-next package. I've removed it.
On Tue, 18 Aug 2020, Michael Rohleder wrote:
Toggle quote (9 lines)>Jack Hill <jackhill@jackhill.us> writes:>> Now that Emacs 27.1 has been released, I've updated the patch for>> released version. Per Michael Rohleder's (mroh) suggestion on IRC, I>> have added gmp as an input.>> emacs (26 and 27) configure and compiles with gmp anyway. I couldn't > find out where it's (implicit) coming from. I still like the input to > make it explicit, though.
Interesting, I didn't catch this. I like explicit better as well.
Toggle quote (5 lines)>> Is the emacs-wide-int variant needed with the new multiprecision>> functionality?>> I don't think so.
Ok, I've deprecated that package.
On Tue, 18 Aug 2020, Zhu Zihao wrote:
Toggle quote (4 lines)> Can you add configuration options "--with-cairo"(Also add cairo as > input) the main advantage of cairo build is the power to display color > emoji in Emacs.
Sounds good to me. I've enabled cairo, and per [1] removed libxft from the inputs.
[1] https://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS?h=emacs-27.1#n53
Best,Jack
J
J
Jack Hill wrote on 19 Aug 2020 06:09
[PATCH v3] gnu: emacs: Update to 27.1.
(address . 42738@debbugs.gnu.org)
20200819040941.32696-1-jackhill@jackhill.us
* gnu/packages/emacs.scm (emacs): Update to 27.1.[arguments]: Add --with-cairo and --with-modules to #configure-flags. Addrestore-emacs-pdump phase.[inputs]: Add cairo, jansson, gmp, and harfbuzz. Remove imagemagick and libxft.[native-inputs]: Add texlive.(emacs-wide-int): Mark as deprecated package.--- gnu/packages/emacs.scm | 71 ++++++++++++++++++++++++------------------ 1 file changed, 41 insertions(+), 30 deletions(-)
Toggle diff (154 lines)diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scmindex ad8d4b0606..98d60dfd24 100644--- a/gnu/packages/emacs.scm+++ b/gnu/packages/emacs.scm@@ -58,9 +58,9 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages image)- #:use-module (gnu packages imagemagick) #:use-module (gnu packages linux) ; alsa-lib #:use-module (gnu packages mail) ; for mailutils+ #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages texinfo)@@ -75,15 +75,14 @@ (define-public emacs (package (name "emacs")- (version "26.3")+ (version "27.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/emacs/emacs-" version ".tar.xz")) (sha256- (base32- "119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d"))- (patches (search-patches "emacs-exec-path.patch"+ (base32 "0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a"))+ (patches (search-patches "emacs27-exec-path.patch" "emacs-fix-scheme-indent-function.patch" "emacs-ignore-empty-xim-styles.patch" "emacs-source-date-epoch.patch"))@@ -94,16 +93,7 @@ ;; autoloads. (for-each delete-file (append (find-files "." "\\.elc$")- (find-files "." "loaddefs\\.el$")- ;; This is the only "autoloads" file that- ;; 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")))+ (find-files "." "loaddefs\\.el$"))) ;; Make sure Tramp looks for binaries in the right places on ;; remote Guix System machines, where 'getconf PATH' returns@@ -130,6 +120,9 @@ (arguments `(#:tests? #f ; no check target #:configure-flags (list "--with-modules"+ ;; --with-cairo will become the default in+ ;; Emacs 28+ "--with-cairo" "--disable-build-details") #:phases (modify-phases %standard-phases@@ -180,9 +173,35 @@ ;; which leads to conflicts. (delete-file (string-append lisp-dir "/subdirs.el")) ;; Byte compile the site-start files.- (emacs-byte-compile-directory lisp-dir)))))))+ (emacs-byte-compile-directory lisp-dir))))+ ;; Needed when building from git+ (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$")))+ (when (not (null? pdmp-real))+ (for-each (lambda (wrapper real)+ (delete-file wrapper)+ (rename-file real wrapper))+ pdmp pdmp-real))+ #t)))))) (inputs `(("gnutls" ,gnutls)+ ("jansson" ,jansson)+ ("harfbuzz" ,harfbuzz) ("ncurses" ,ncurses) ;; Avoid Emacs's limited movemail substitute that retrieves POP3 email@@ -190,13 +209,13 @@ ("mailutils" ,mailutils) ;; TODO: Add the optional dependencies.+ ("cairo" ,cairo) ("libx11" ,libx11) ("gtk+" ,gtk+)- ("libxft" ,libxft) ("libtiff" ,libtiff) ("giflib" ,giflib)+ ("gmp" ,gmp) ("libjpeg" ,libjpeg-turbo)- ("imagemagick" ,imagemagick) ("acl" ,acl) ;; When looking for libpng `configure' links with `-lpng -lz', so we@@ -360,7 +379,8 @@ languages.") `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el")) ("ncurses" ,ncurses))) (native-inputs- `(("pkg-config" ,pkg-config)))))+ `(("pkg-config" ,pkg-config)+ ("texinfo" ,texinfo))))) (define-public emacs-xwidgets (package@@ -387,8 +407,7 @@ editor (console only)") (inputs (fold alist-delete (package-inputs emacs) '("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg"- "imagemagick" "libpng" "librsvg" "libxpm" "libice"- "libsm"+ "libpng" "librsvg" "libxpm" "libice" "libsm" ;; These depend on libx11, so remove them as well. "libotf" "m17n-lib" "dbus")))))@@ -407,15 +426,7 @@ editor (without an X toolkit)" ) `(cons "--with-x-toolkit=no" ,cf))))))) (define-public emacs-wide-int- (package- (inherit emacs)- (name "emacs-wide-int")- (synopsis "The extensible, customizable, self-documenting text-editor (with wide ints)" )- (arguments- (substitute-keyword-arguments (package-arguments emacs)- ((#:configure-flags flags)- `(cons "--with-wide-int" ,flags))))))+ (deprecated-package "emacs-wide-int" emacs)) (define-public guile-emacs (let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b")-- 2.28.0
D
D
Diego Nicola Barbato wrote on 19 Aug 2020 10:22
Re: [bug#42738] [Work in progress] gnu: emacs: update to 27.1
(name . Jack Hill)(address . jackhill@jackhill.us)
87pn7nujss.fsf@GlaDOS.home
Hey Guix,
Jack Hill <jackhill@jackhill.us> writes:
[...]
Toggle quote (3 lines)> On Tue, 18 Aug 2020, Michael Rohleder wrote:>>Jack Hill <jackhill@jackhill.us> writes:
[...]
Toggle quote (7 lines)>>> Is the emacs-wide-int variant needed with the new multiprecision>>> functionality?>>>> I don't think so.>> Ok, I've deprecated that package.
I added the emacs-wide-int variant because emacs-telega requires 62-bit[sic] integers (https://debbugs.gnu.org/39412). While Telega shouldwork with regular (non-wide-int) Emacs 27.1 (thanks to the newmultiprecision functionality), the test which checks if Emacs is suitablefor running Telega will fail, because it does not know about "bignums"and looks at the value of most-positive-fixnum instead:
Toggle snippet (6 lines) ;; 62bits for numbers is required ;; i.e. ./configure --with-wide-int (cl-assert (= most-positive-fixnum 2305843009213693951) nil "Emacs with wide ints (--with-wide-int) is required")
I suggest we keep the emacs-wide-int variant until this issue has beenresolved, so that the Emacs update does not break emacs-telega on 32-bitsystems.
[...]
Greetings,
Diego
M
M
Michael Rohleder wrote on 19 Aug 2020 15:53
(name . Jack Hill)(address . jackhill@jackhill.us)(address . 42738@debbugs.gnu.org)
87pn7md9nh.fsf@rohleder.de
Jack Hill <jackhill@jackhill.us> writes:
Toggle quote (7 lines)>>> Is the emacs-wide-int variant needed with the new multiprecision>>> functionality?>>>> I don't think so.>> Ok, I've deprecated that package.
I think emacs-wide-int could still be useful on 32bit systems.
-- "One basic notion underlying Usenet is that it is a cooperative."
Having been on USENET for going on ten years, I disagree with this.The basic notion underlying USENET is the flame. -- Chuq Von Rospach
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCAAdFiEEdV4t5dDVhcUueCgwfHr/vv7yyyUFAl89LuIACgkQfHr/vv7yyyVhfAf/djCq6sTOtHgT8NNQQf41n1EyBAHDcYvLpxBOLsYt4PVjiwEFw6+8I7a3eomNDwLQOKYpDiNQKIZEUP/appJLO6JE+eP+q3T6JvvpzBxi6tXxdKclnbp0GIQBNeWLaU+QACEaQYwmSv8GFNCRdRfDQ9EUYFB5nDR3OI/d+8T1XENnDXPFA0SoXHzHflWHHl3Eyg8Z52k00zBaOOmXYIYimPk25l/1zcBxy3rU9q7WDXx9ygR7qQOtIgnw+Xcav5CWwZxThBwau9RbpWsAPTjq1ko/5qBUpaCgrm1aAeo69ZaV1/STtCHaePBDzocxRX7YKRnPBGOe9ko/rAFyYJjFMg===kNkU-----END PGP SIGNATURE-----
M
M
Morgan.J.Smith wrote on 27 Aug 2020 23:59
[PATCH v4] gnu: emacs: Update to 27.1.
(address . 42738@debbugs.gnu.org)
DM5PR1001MB210589E35972B5314D4D8381C5550@DM5PR1001MB2105.namprd10.prod.outlook.com
From: Morgan Smith <Morgan.J.Smith@outlook.com>
* gnu/packages/emacs.scm (emacs): Update to 27.1.[arguments]: Add --with-cairo and --with-modules to #:configure-flags. Addrestore-emacs-pdump phase.[inputs]: Add cairo, libxaw, jansson, gmp, and harfbuzz. Remove imagemagickand libxft.[native-inputs]: Add texlive.(emacs-wide-int): Mark as deprecated package.(emacs-no-x):[arguments]: Add --with-jpeg=no --with-gif=no --with-tiff=noto #:configure-flags.---
Hello!
Your patch didn't build for me so I made some slight changes. I addedlibxaw as an input, and added some configure flags to emacs-no-x.
I'm now using this patch to run Emacs 27.1 on my main machine(inadvisable I know), and my personal config is running flawlessy withthe exception of emacs-clojure-mode, emacs-elisp-regs, andemacs-helpful.
Hopefully this helps!
Morgan

gnu/packages/emacs.scm | 76 +++++++++++++++++++++++++----------------- 1 file changed, 46 insertions(+), 30 deletions(-)
Toggle diff (162 lines)diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scmindex ad8d4b0606..48ae899dcf 100644--- a/gnu/packages/emacs.scm+++ b/gnu/packages/emacs.scm@@ -58,9 +58,9 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages image)- #:use-module (gnu packages imagemagick) #:use-module (gnu packages linux) ; alsa-lib #:use-module (gnu packages mail) ; for mailutils+ #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages texinfo)@@ -75,15 +75,14 @@ (define-public emacs (package (name "emacs")- (version "26.3")+ (version "27.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/emacs/emacs-" version ".tar.xz")) (sha256- (base32- "119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d"))- (patches (search-patches "emacs-exec-path.patch"+ (base32 "0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a"))+ (patches (search-patches "emacs27-exec-path.patch" "emacs-fix-scheme-indent-function.patch" "emacs-ignore-empty-xim-styles.patch" "emacs-source-date-epoch.patch"))@@ -94,16 +93,7 @@ ;; autoloads. (for-each delete-file (append (find-files "." "\\.elc$")- (find-files "." "loaddefs\\.el$")- ;; This is the only "autoloads" file that- ;; 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")))+ (find-files "." "loaddefs\\.el$"))) ;; Make sure Tramp looks for binaries in the right places on ;; remote Guix System machines, where 'getconf PATH' returns@@ -130,6 +120,9 @@ (arguments `(#:tests? #f ; no check target #:configure-flags (list "--with-modules"+ ;; --with-cairo will become the default in+ ;; Emacs 28+ "--with-cairo" "--disable-build-details") #:phases (modify-phases %standard-phases@@ -180,9 +173,35 @@ ;; which leads to conflicts. (delete-file (string-append lisp-dir "/subdirs.el")) ;; Byte compile the site-start files.- (emacs-byte-compile-directory lisp-dir)))))))+ (emacs-byte-compile-directory lisp-dir))))+ ;; Needed when building from git+ (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$")))+ (when (not (null? pdmp-real))+ (for-each (lambda (wrapper real)+ (delete-file wrapper)+ (rename-file real wrapper))+ pdmp pdmp-real))+ #t)))))) (inputs `(("gnutls" ,gnutls)+ ("jansson" ,jansson)+ ("harfbuzz" ,harfbuzz) ("ncurses" ,ncurses) ;; Avoid Emacs's limited movemail substitute that retrieves POP3 email@@ -190,13 +209,14 @@ ("mailutils" ,mailutils) ;; TODO: Add the optional dependencies.+ ("cairo" ,cairo) ("libx11" ,libx11)+ ("libxaw" ,libxaw) ("gtk+" ,gtk+)- ("libxft" ,libxft) ("libtiff" ,libtiff) ("giflib" ,giflib)+ ("gmp" ,gmp) ("libjpeg" ,libjpeg-turbo)- ("imagemagick" ,imagemagick) ("acl" ,acl) ;; When looking for libpng `configure' links with `-lpng -lz', so we@@ -360,7 +380,8 @@ languages.") `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el")) ("ncurses" ,ncurses))) (native-inputs- `(("pkg-config" ,pkg-config)))))+ `(("pkg-config" ,pkg-config)+ ("texinfo" ,texinfo))))) (define-public emacs-xwidgets (package@@ -384,11 +405,14 @@ editor (with xwidgets support)") (synopsis "The extensible, customizable, self-documenting text editor (console only)") (build-system gnu-build-system)+ (arguments+ (substitute-keyword-arguments (package-arguments emacs)+ ((#:configure-flags flags ''())+ `(list "--with-jpeg=no" "--with-gif=no" "--with-tiff=no")))) (inputs (fold alist-delete (package-inputs emacs) '("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg"- "imagemagick" "libpng" "librsvg" "libxpm" "libice"- "libsm"+ "libpng" "librsvg" "libxpm" "libice" "libsm" ;; These depend on libx11, so remove them as well. "libotf" "m17n-lib" "dbus")))))@@ -407,15 +431,7 @@ editor (without an X toolkit)" ) `(cons "--with-x-toolkit=no" ,cf))))))) (define-public emacs-wide-int- (package- (inherit emacs)- (name "emacs-wide-int")- (synopsis "The extensible, customizable, self-documenting text-editor (with wide ints)" )- (arguments- (substitute-keyword-arguments (package-arguments emacs)- ((#:configure-flags flags)- `(cons "--with-wide-int" ,flags))))))+ (deprecated-package "emacs-wide-int" emacs)) (define-public guile-emacs (let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b")-- 2.28.0
J
J
Jack Hill wrote on 28 Aug 2020 07:35
(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
alpine.DEB.2.21.2008280133420.4809@marsh.hcoop.net
Hi Morgan,
On Thu, 27 Aug 2020, Morgan.J.Smith@outlook.com wrote:
Toggle quote (26 lines)> From: Morgan Smith <Morgan.J.Smith@outlook.com>>> * gnu/packages/emacs.scm (emacs): Update to 27.1.> [arguments]: Add --with-cairo and --with-modules to #:configure-flags. Add> restore-emacs-pdump phase.> [inputs]: Add cairo, libxaw, jansson, gmp, and harfbuzz. Remove imagemagick> and libxft.> [native-inputs]: Add texlive.> (emacs-wide-int): Mark as deprecated package.> (emacs-no-x):> [arguments]: Add --with-jpeg=no --with-gif=no --with-tiff=no> to #:configure-flags.> --->> Hello!>> Your patch didn't build for me so I made some slight changes. I added> libxaw as an input, and added some configure flags to emacs-no-x.>> I'm now using this patch to run Emacs 27.1 on my main machine> (inadvisable I know), and my personal config is running flawlessy with> the exception of emacs-clojure-mode, emacs-elisp-regs, and> emacs-helpful.>> Hopefully this helps!
Indeed it is, thank you!
Best,Jack
L
L
Ludovic Courtès wrote on 28 Aug 2020 16:18
Re: [PATCH v4] gnu: emacs: Update to 27.1.
87sgc6onvi.fsf@gnu.org
Hi Morgan, Mark, and all,
Morgan.J.Smith@outlook.com skribis:
Toggle quote (13 lines)> From: Morgan Smith <Morgan.J.Smith@outlook.com>>> * gnu/packages/emacs.scm (emacs): Update to 27.1.> [arguments]: Add --with-cairo and --with-modules to #:configure-flags. Add> restore-emacs-pdump phase.> [inputs]: Add cairo, libxaw, jansson, gmp, and harfbuzz. Remove imagemagick> and libxft.> [native-inputs]: Add texlive.> (emacs-wide-int): Mark as deprecated package.> (emacs-no-x):> [arguments]: Add --with-jpeg=no --with-gif=no --with-tiff=no> to #:configure-flags.
I see that Mark committed a similar patch just yesterday:
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=36a09d185343375a5cba370431870f9c4435d623
I suppose Mark hadn’t seen the ongoing discussion.
Mark, Morgan: could you see if there’s anything we’re missing from thepatch Morgan submitted?
At any rate, thanks a lot for the work everyone put in!
Ludo’, a happy Emacs user.
P
P
Pierre Neidhardt wrote on 28 Aug 2020 16:38
87eenqltry.fsf@ambrevar.xyz
I confirm that with Mark's commit emacs-clojure-mode and emacs-elisp-refs are also broken.
Cheers!
-- Pierre Neidhardthttps://ambrevar.xyz/
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAl9JFwEACgkQm9z0l6S7zH+0jAf+PtGE3kxXBpIE3zmTGpVqHBiQYDexVsrbjLHpvtiHos1bRYXmWBoKFcYIQzOC4+SmtL7L2B5lM6RCA3eH7RUMfbQQIpA5J/ZvZRjx5haUk0CFVgmlLJ+N5GFVHtdMEm5bYSnZbvFHlju90R4yTGUmo3FAB/FK7xsRhrSg3nGxBXmGuAs1IhHtULscelYnKfb+kClMZIB/kEufyj1WMdjw40eg37jta6Cw8IhRvnArP4HCVRYjM2aCSgZxAvv31jAyttoeK1pu/YT6R2UDKt/VLENnnVO1pVlF1+0CZ2KykwzZcMEN9a6o0YQ3Jh+ZWMDnzY1MpJ6JtE4moQiSicEkVQ===ySfL-----END PGP SIGNATURE-----
B
B
Brett Gilio wrote on 28 Aug 2020 19:00
Re: [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1.
(name . Ludovic Courtès)(address . ludo@gnu.org)
87h7smd7t1.fsf@gnu.org
Ludovic Courtès <ludo@gnu.org> writes:
Toggle quote (30 lines)> Hi Morgan, Mark, and all,>> Morgan.J.Smith@outlook.com skribis:>>> From: Morgan Smith <Morgan.J.Smith@outlook.com>>>>> * gnu/packages/emacs.scm (emacs): Update to 27.1.>> [arguments]: Add --with-cairo and --with-modules to #:configure-flags. Add>> restore-emacs-pdump phase.>> [inputs]: Add cairo, libxaw, jansson, gmp, and harfbuzz. Remove imagemagick>> and libxft.>> [native-inputs]: Add texlive.>> (emacs-wide-int): Mark as deprecated package.>> (emacs-no-x):>> [arguments]: Add --with-jpeg=no --with-gif=no --with-tiff=no>> to #:configure-flags.>> I see that Mark committed a similar patch just yesterday:>> https://git.savannah.gnu.org/cgit/guix.git/commit/?id=36a09d185343375a5cba370431870f9c4435d623>> I suppose Mark hadn’t seen the ongoing discussion.>> Mark, Morgan: could you see if there’s anything we’re missing from the> patch Morgan submitted?>> At any rate, thanks a lot for the work everyone put in!>> Ludo’, a happy Emacs user.
Also, are we planning to keep emacs-next and have it track 28.x orremove it?
Brett Gilio
J
J
Jack Hill wrote on 28 Aug 2020 19:08
(name . Brett Gilio)(address . brettg@gnu.org)
alpine.DEB.2.21.2008281307460.4809@marsh.hcoop.net
On Fri, 28 Aug 2020, Brett Gilio wrote:
Toggle quote (3 lines)> Also, are we planning to keep emacs-next and have it track 28.x or> remove it?
I believe bandali was planning to track 28.x.
Best,Jack
M
M
Mark H Weaver wrote on 28 Aug 2020 20:57
Re: [PATCH v4] gnu: emacs: Update to 27.1.
(name . Ludovic Courtès)(address . ludo@gnu.org)
87lfhybntk.fsf@netris.org
Hello Guix,
Ludovic Courtès <ludo@gnu.org> wrote:
Toggle quote (21 lines)> Morgan.J.Smith@outlook.com skribis:>>> From: Morgan Smith <Morgan.J.Smith@outlook.com>>>>> * gnu/packages/emacs.scm (emacs): Update to 27.1.>> [arguments]: Add --with-cairo and --with-modules to #:configure-flags. Add>> restore-emacs-pdump phase.>> [inputs]: Add cairo, libxaw, jansson, gmp, and harfbuzz. Remove imagemagick>> and libxft.>> [native-inputs]: Add texlive.>> (emacs-wide-int): Mark as deprecated package.>> (emacs-no-x):>> [arguments]: Add --with-jpeg=no --with-gif=no --with-tiff=no>> to #:configure-flags.>> I see that Mark committed a similar patch just yesterday:>> https://git.savannah.gnu.org/cgit/guix.git/commit/?id=36a09d185343375a5cba370431870f9c4435d623>> I suppose Mark hadn’t seen the ongoing discussion.
Indeed, I hadn't. Gah, I'm terribly sorry about this. I had done somequick web searches for preexisting work on this, but clearly they wereinsufficient, and I've never subscribed to the patches list. In thefuture, I'll know not to rely on web search engines for this.
Toggle quote (3 lines)> Mark, Morgan: could you see if there’s anything we’re missing from the> patch Morgan submitted?
Looking now, here are the main differences I see between our patches:
* I found that I had to remove the 'restore-emacs-pdump' phase from most of the other emacs variants, namely the ones that use 'gnu-build-system', because otherwise the inherited 'restore-emacs-pdump' phase would fail. Morgan's patch seems not to consider most of the other emacs variants, and I'm not sure if they were tested. I briefly tested all of them except for 'guile-emacs'.
* Morgan removed the snippet code that deletes "eshell/esh-groups.el", whereas I replaced it with a call to 'find-files' to remove it only if present, as the previous comment suggested. I'm not sure if this is still needed, though.
* Morgan's patch adds "libxaw" to inputs and "texinfo" to native-inputs. What's the rationale for these?
* I added 'pango' to the inputs, because the Emacs NEWS mentioned that Pango was used for font rendering when "--with-cairo" is used. However, it may be that "pango" finds its way into the build inputs without being explicitly mentioned.
* Morgan removed 'libxft' from the inputs of 'emacs', whereas I didn't. This was an oversight on my part. However, if we remove it, it's possible that we might need to add it back to 'emacs-no-x-toolkit'. The references that I see to Pango in the Emacs code are within "#ifdef HAVE_GTK3".
* In 'emacs-no-x', my patch removes the new graphical library inputs (cairo, pango, and harfbuzz) and the "--with-cairo" flag, whereas Morgan's patch leaves "cairo" and "harfbuzz" as inputs, and overwrites the inherited configure-flags to be precisely ("--with-jpeg=no" "--with-gif=no" "--with-tiff=no"), apparently discarding the inherited "--with-modules" and "--disable-build-details" flags.
* Morgan made 'emacs-wide-int' into a deprecated package, whereas I thought that it might still be useful. My rationale was this: from a brief skim, it looks like '--with-wide-int' might make *immediate* integers wider, which for some applications might perform much better than the heap-allocated arbitrary-size integers supported by Emacs 27. However, I didn't look carefully at this.
* I updated "emacs-exec-path.patch" and removed "emacs27-exec-path.patch", whereas Morgan's patch keeps both files and possibly leaves "emacs-exec-path.patch" orphaned.
* I updated the patches to apply cleanly to Emacs 27, although this was not strictly needed.
* I updated 'notmuch' in the previous commit to a version that builds successfully with Emacs 27.
Pierre Neidhardt <mail@ambrevar.xyz> wrote:
Toggle quote (3 lines)> I confirm that with Mark's commit> emacs-clojure-mode and emacs-elisp-refs are also broken.
Sorry about that. If the Emacs 27 update breaks important packages, itmight be that reverting it is the proper action. If the maintainersdecide to do this, I would not object.
Best regards, Mark
M
M
Morgan Smith wrote on 28 Aug 2020 23:10
DM5PR1001MB21050D5A7BEC8ADA8CCD852FC5520@DM5PR1001MB2105.namprd10.prod.outlook.com
Hello!
It seems I am taking some credit for Jack Hill's patch. I simply tookJack's patch (labeled as patch v3 in the debbugs thread) and attemptedto build it with my personal config. I noticed that it wouldn't buildproperly since emacs wanted libxaw and emacs-no-x wanted some imagelibrarys (libtiff, libjpeg, etc). The only contributions I made, whereto add libxaw to emacs and to add the configure flags to emacs-no-x. Imade these changes and posted them as patch v4. However, the patch Markcommitted does build for me so you can ignore my contributions (whichweren't well thought out to begin with).
The rest of your questions should be directed to Jack.
(Also just my 2 cents, we should have upgraded emacs-next to 27.1 andonly upgraded emacs a week later. Emacs deserves more care than mostpackages due to its dependence on so many other packages. Not trying toshame anyone, just something to think of for next time.)
Thanks,Morgan
On 8/28/20 2:57 PM, Mark H Weaver wrote:
Toggle quote (63 lines)> Looking now, here are the main differences I see between our patches:> > * I found that I had to remove the 'restore-emacs-pdump' phase from most> of the other emacs variants, namely the ones that use> 'gnu-build-system', because otherwise the inherited> 'restore-emacs-pdump' phase would fail. Morgan's patch seems not to> consider most of the other emacs variants, and I'm not sure if they> were tested. I briefly tested all of them except for 'guile-emacs'.> > * Morgan removed the snippet code that deletes "eshell/esh-groups.el",> whereas I replaced it with a call to 'find-files' to remove it only if> present, as the previous comment suggested. I'm not sure if this is> still needed, though.> > * Morgan's patch adds "libxaw" to inputs and "texinfo" to native-inputs.> What's the rationale for these?> > * I added 'pango' to the inputs, because the Emacs NEWS mentioned that> Pango was used for font rendering when "--with-cairo" is used.> However, it may be that "pango" finds its way into the build inputs> without being explicitly mentioned.> > * Morgan removed 'libxft' from the inputs of 'emacs', whereas I didn't.> This was an oversight on my part. However, if we remove it, it's> possible that we might need to add it back to 'emacs-no-x-toolkit'.> The references that I see to Pango in the Emacs code are within> "#ifdef HAVE_GTK3".> > * In 'emacs-no-x', my patch removes the new graphical library inputs> (cairo, pango, and harfbuzz) and the "--with-cairo" flag, whereas> Morgan's patch leaves "cairo" and "harfbuzz" as inputs, and overwrites> the inherited configure-flags to be precisely ("--with-jpeg=no"> "--with-gif=no" "--with-tiff=no"), apparently discarding the inherited> "--with-modules" and "--disable-build-details" flags.> > * Morgan made 'emacs-wide-int' into a deprecated package, whereas I> thought that it might still be useful. My rationale was this: from a> brief skim, it looks like '--with-wide-int' might make *immediate*> integers wider, which for some applications might perform much better> than the heap-allocated arbitrary-size integers supported by Emacs 27.> However, I didn't look carefully at this.> > * I updated "emacs-exec-path.patch" and removed> "emacs27-exec-path.patch", whereas Morgan's patch keeps both files and> possibly leaves "emacs-exec-path.patch" orphaned.> > * I updated the patches to apply cleanly to Emacs 27, although this was> not strictly needed.> > * I updated 'notmuch' in the previous commit to a version that builds> successfully with Emacs 27.> > Pierre Neidhardt <mail@ambrevar.xyz> wrote:>> I confirm that with Mark's commit>> emacs-clojure-mode and emacs-elisp-refs are also broken.> > Sorry about that. If the Emacs 27 update breaks important packages, it> might be that reverting it is the proper action. If the maintainers> decide to do this, I would not object.> > Best regards,> Mark>
G
G
Giovanni Biscuolo wrote on 29 Aug 2020 19:19
87pn79e5fb.fsf@roquette.i-did-not-set--mail-host-address--so-tickle-me
Mark H Weaver <mhw@netris.org> writes:
[...]
Toggle quote (4 lines)> Pierre Neidhardt <mail@ambrevar.xyz> wrote:>> I confirm that with Mark's commit>> emacs-clojure-mode
I've filed bug#43090 with a trivial patch for emacs-clojure-mode, noneed to revert Emacs 27.1 for this bug IMHO.
Toggle quote (2 lines)> and emacs-elisp-refs are also broken.
is there a specific bug report for this plz?
there is also bug#43093 for emacs-ess
can we coordinate our efforts in order to avoid to revert emacs 27.1 bytagging relevant [1] open emacs packages bugs as critical? [2]
[...]

Thanks! Gio'

[1] can we define "relevant" as: all bugs that breaks a previouslycompiling emacs package?
[2]https://issues.guix.gnu.org/search?query=subject%3Aemacs+is%3Aopen+severity%3Acritical
-- Giovanni Biscuolo
Xelera IT Infrastructures
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEERcxjuFJYydVfNLI5030Op87MORIFAl9KjggACgkQ030Op87MORJO3g//YsMJUirHhh1sUB1FvarjRhPvBvCEN4Xj7vX/OFv6J/sQvSnZSHIt/W+UCw6Zt/L4zmVqNDgIu2R3C3ZI0VFziSYECTQVOiF7R2JLY/HEG0faxChrF8tpMwjZvbLBizpsl8o23rtGyT6bMp6h8lH0dORk4Ew2iwBvuGvp8nTgsw5uk2XgpqmIQc1debebcy3hbmrfgLdQbji1HpwOKYUrpi4sT3mJ3CehUYD9GX7TaqbKqZoqA1OoiRIb0O94evpHWLdTvqkKlk8wmLqyl0c0zUHu6l0p279wLB7lFHAwUXu6WF0KGNTF4F8LnqGKdFn6xcA3QqrcJefyu6fpGe5jmquUf0FOzLolpv4pe+rCCLZe7h0BI3cP/YfGccXDxfhfVp73ptqlF8aiVUOe0XLJzLwBLiITLXqn6fAaYtzXi8D6QZRn17xljAtM13nAmydy4X0jODkXfnvu0qbkAVHRUGZ6Bypya2PBmydpEP9Vd1SC/QNPgVNztqJimsCCZOQ1t8sAUFiSxEIZGicDWEC/fg98gfEsSrVl9xl/cYa2RNDNxgk0zD6+V/ol46MCa0vB2Qa8Fkk2/ar9M3XRWcQHIUkxNIZJCMGbEUWzvfvligiAQHWADHRtsf7raB3He9W7bUG64dVm+kRo5KN2GD3OEQw6DhdzQgyZ8SoG++XNqFs==1aqV-----END PGP SIGNATURE-----
M
M
Mark H Weaver wrote on 29 Aug 2020 22:35
(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
87h7slmbp6.fsf@netris.org
Hi Morgan,
Morgan Smith <Morgan.J.Smith@outlook.com> wrote:
Toggle quote (4 lines)> It seems I am taking some credit for Jack Hill's patch. I simply took> Jack's patch (labeled as patch v3 in the debbugs thread) and attempted> to build it with my personal config.
Indeed, I see that now. Sorry for the mistake. I suppose it happenedbecause it was presented to me as "the patch Morgan submitted", but itwould have been better if I had taken the time to read the bug reportmore carefully.
Also, I regret if my comments on the preliminary patch made anyone feelbadly. To be clear, there's no shame in submitting an unfinished patchfor review. On the contrary, it is a *very* useful contribution. Inthis case, it makes sense to start by updating the main 'emacs' package,and to worry about the other variants later. There's no fault in that.
The only fault here lies with me. I should have looked more carefullyfor prior work, and I probably also pushed it prematurely.
Toggle quote (5 lines)> (Also just my 2 cents, we should have upgraded emacs-next to 27.1 and> only upgraded emacs a week later. Emacs deserves more care than most> packages due to its dependence on so many other packages. Not trying to> shame anyone, just something to think of for next time.)
Agreed, or perhaps 'emacs' itself should have been updated on a separatebranch. In the past, when this was a smaller community and there werefar fewer emacs packages in Guix, I did major updates of Emacs a fewtimes without causing any obvious problems, but that was a differenttime. It's also possible that Emacs 27 was a more disruptive updatethan usual.
Thanks very much for your comments and contributions.
Best regards, Mark
B
B
Brett Gilio wrote on 30 Aug 2020 03:50
Re: [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1.
(name . Mark H Weaver)(address . mhw@netris.org)
877dtgoqa6.fsf@gnu.org
Mark H Weaver <mhw@netris.org> writes:
Toggle quote (3 lines)> Agreed, or perhaps 'emacs' itself should have been updated on a separate> branch.
+1 for WIP-emacs branch in future.
Brett Gilio
P
P
Pierre Neidhardt wrote on 4 Sep 2020 11:03
Re: [PATCH v4] gnu: emacs: Update to 27.1.
87v9gt3ocx.fsf@ambrevar.xyz
emacs-helpful still seems to be broken on master.Any idea?I'll try to fix it later today.
-- Pierre Neidhardthttps://ambrevar.xyz/
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAl9SAu4ACgkQm9z0l6S7zH+fnggApbAzHvUw7PQrkbXccCwtfnJFdqJbqWATGn7D10y6HR3i7ldBxZ6VTKiNlTNtRh1zUaMhsocJ2Q+T6jLD3976Ot6ms1K1dGnkMRBbwVqjVd27ILto/FsuOSxnCTzV37iKBG6WOAwxT29zSF/0p5Hgn3pQ2PtEDlQl5xFeIAjsKBzO7QLR30YmxitUf/GhOlHHU9Vw7PnApnCre0eNXy37MKjyiTiewVhw9GbK8+7leo7UB5ZAPJrFqDuabrBg4UVrkxZAtG+6eoQpVaaaf7Vx7ieh5/m03uy52JRosjU2P18pwKsXqFffbcNqahJ0X0BoNlGvWlTE3wVTT/gUEbBh9Q===X5we-----END PGP SIGNATURE-----
P
P
Pierre Neidhardt wrote on 4 Sep 2020 11:16
87pn713nr7.fsf@ambrevar.xyz
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAl9SBfwACgkQm9z0l6S7zH8o7wgAqR5tkvg2RVsh44rnp5rnwyDFKjOd90XR8E8WrfqIN6efOZ6Lvw5ZsErdAZ0Gx6ROB66cDLDmOcGX4CqDtJsg9u0oV2OvWVD71Ov07IKl5ABl1XPt+F6h2AlYzJ4MAexEkhfCCUSdHx1l3GfXGeMxCF0s31YU0PzJOtlFTJN0c9V/Q/xMMN4Dnq5tDf0dLOkhneIpnyEyFYCvbXB4sI2xB7oMo+z3y5XIt0Wzx10QpEjriEUf5QH+YhxUQS6UQWfJZpfMnsDjMb0nsUZQfe1H1grr+8xZ8At/agtKpQNi+5uttSWOm9MFjmH7/jDb9duQF+pCJiQinymq659hcLmOlA===+ipN-----END PGP SIGNATURE-----
G
G
Giovanni Biscuolo wrote on 4 Sep 2020 12:20
(name . Pierre Neidhardt)(address . mail@ambrevar.xyz)
87o8mldesh.fsf@roquette.i-did-not-set--mail-host-address--so-tickle-me
Hi Pierre,
thank you for working on this!
Pierre Neidhardt <mail@ambrevar.xyz> writes:
Toggle quote (4 lines)> Looks like an upstream issue:>> https://github.com/Wilfred/helpful/issues/248
This thread is getting hard to follow, should we open a specific bug onbug-guix?
WDYT?
-- Giovanni Biscuolo
Xelera IT Infrastructures
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEERcxjuFJYydVfNLI5030Op87MORIFAl9SFN4ACgkQ030Op87MORK94xAAzIxDM5X/FfF/6hyt2s/JnzFk9qUm3h0CFhag6U7LFN52wAMaU1vHHKUaUpE92kKBlD6CBX6EH0jCTsMWyp5uVeN4MhwkZ4qfgQQwutwBFI1uukpKFYWwsX3VqyklSCoPQQAJDy639FqQILjQRaS6PGThIVimMyKGHExTMclsEne0KVNqOsc2qMZUiKzOSDVPKl9Jhh77qJeiSP4DcZmvYnPpqt6zmpAJmc+vUmQyv4me7AI6qNzTijWZWPSnWCMpagMHeww2r1QnUj3Id2NHcDlkGe+lMrO11qeC1uZCJER7f+mLFmTqcoxpsWZDFLAP3IAjBVEksId7elsXrQwQWI0XDUkxCnVoUtP0b0OF9HLAvVpQzARxh36teYBdgudatVCgKbpqCXekx4yxn8Vgr8D22BQ75nsCszio4zX/lN5EOYs6uoDzkMy86teueQGz5IeFmnNx9/S/EnaJwK+fdvsYzPYsM2cX1WMR4PS9+eSCkW7plePmusoRVdNeSxcAmHHiNGj3SRApQPTHes4M5VeHl7Tq7xYQYSInXxv5KmBfMse5WzncYta6XgyNAa6RKj0RYgcaOkYUU4WfuPTDDEVHHpQBUZbVvU8URCep5qLb1Vi0GWvxJp40yV+K9Hj29+Qq+zg2RWYezxUOjyvK0EzzvYGAnYGSnY0TdjrCVfM==lRyP-----END PGP SIGNATURE-----
P
P
Pierre Neidhardt wrote on 7 Sep 2020 11:44
(name . Giovanni Biscuolo)(address . g@xelera.eu)
87lfhlx6ny.fsf@ambrevar.xyz
Done in 43254@debbugs.gnu.org.
-- Pierre Neidhardthttps://ambrevar.xyz/
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAl9WAQEACgkQm9z0l6S7zH9oUwf+K7w+5nfDq+rvKdj4Xhe8nS8cAUV452iWwiE8b9FiESXWJuiKvwpUiU/b2o+JIM76cBtuCZvWvCHglJqc4msoLX5njq1a2NWxMklrKcRyDUM8AlkJ0d8R7bhkAJMMoY1ITWGncbNoWZAc+KLNPyUtCZY+KJd/JTQHR4pUGUo2/cDIulJVGZZ3kqPmedAxl2VYvcOy4F0YHxf1Ztz09mHPLuVv82QAiUBJ+JQstHkZDyze6Z0IFLwaaG9MhHX1yRXwFAo6OsPJKM60gBEg7RLans1bqH1eA4OJG6bfnVZ5CsRcG+iIfZk7aebNctB9frS/73232brq2uapS3ChlmlVFw===cHqx-----END PGP SIGNATURE-----
L
L
Ludovic Courtès wrote on 19 Sep 2020 14:18
control message for bug #42738
(address . control@debbugs.gnu.org)
87d02irmco.fsf@gnu.org
tags 42738 fixedclose 42738 quit
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 42738@debbugs.gnu.org