all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#42738] [Work in progress] gnu: emacs: update to 27.1
@ 2020-08-07  3:21 Jack Hill
  2020-08-07  3:23 ` [bug#42738] [PATCH] gnu: emacs: Update to 27.1-rc1 Jack Hill
                   ` (2 more replies)
  0 siblings, 3 replies; 32+ messages in thread
From: Jack Hill @ 2020-08-07  3:21 UTC (permalink / raw)
  To: 42738

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




^ permalink raw reply	[flat|nested] 32+ messages in thread

* [bug#42738] [PATCH] gnu: emacs: Update to 27.1-rc1.
  2020-08-07  3:21 [bug#42738] [Work in progress] gnu: emacs: update to 27.1 Jack Hill
@ 2020-08-07  3:23 ` Jack Hill
  2020-08-18  6:23 ` [bug#42738] [Work in progress] gnu: emacs: update to 27.1 Jack Hill
  2020-08-19  2:53 ` [bug#42738] [PATCH v2] gnu: emacs: Update to 27.1. (fwd) Jack Hill
  2 siblings, 0 replies; 32+ messages in thread
From: Jack Hill @ 2020-08-07  3:23 UTC (permalink / raw)
  To: 42738

* gnu/packages/emacs.scm (emacs): Update to 27.1-rc1.
[arguments]: Add --with-harfbuzz and --with-modules to #configure-flags. Add
restore-emacs-pdump phase.
[inputs]: Add jansson and harfbuzz. Remove imagemagick.
---
 gnu/packages/emacs.scm | 68 ++++++++++++++++++++++++++----------------
 1 file changed, 43 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 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





^ permalink raw reply related	[flat|nested] 32+ messages in thread

* Re: [bug#42738] [Work in progress] gnu: emacs: update to 27.1
  2020-08-07  3:21 [bug#42738] [Work in progress] gnu: emacs: update to 27.1 Jack Hill
  2020-08-07  3:23 ` [bug#42738] [PATCH] gnu: emacs: Update to 27.1-rc1 Jack Hill
@ 2020-08-18  6:23 ` Jack Hill
  2020-08-18  6:26   ` [bug#42738] [PATCH v2] gnu: emacs: Update " Jack Hill
  2020-08-18 13:04   ` [bug#42738] [Work in progress] gnu: emacs: update " Michael Rohleder
  2020-08-19  2:53 ` [bug#42738] [PATCH v2] gnu: emacs: Update to 27.1. (fwd) Jack Hill
  2 siblings, 2 replies; 32+ messages in thread
From: Jack Hill @ 2020-08-18  6:23 UTC (permalink / raw)
  To: 42738; +Cc: guix-devel

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:

> 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?

> 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:

> 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!

> 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!

> 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!

> 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.

> 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!

> emacs-github-review - depends on emacs-treepy

With the fixed treepy, emacs-github-review now builds as well.

> 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


^ permalink raw reply	[flat|nested] 32+ messages in thread

* [bug#42738] [PATCH v2] gnu: emacs: Update to 27.1.
  2020-08-18  6:23 ` [bug#42738] [Work in progress] gnu: emacs: update to 27.1 Jack Hill
@ 2020-08-18  6:26   ` Jack Hill
  2020-08-18  8:57     ` Alexey Abramov
  2020-08-18 13:04   ` [bug#42738] [Work in progress] gnu: emacs: update " Michael Rohleder
  1 sibling, 1 reply; 32+ messages in thread
From: Jack Hill @ 2020-08-18  6:26 UTC (permalink / raw)
  To: 42738

* gnu/packages/emacs.scm (emacs): Update to 27.1.
[arguments]: Add --with-harfbuzz and --with-modules to #configure-flags. Add
restore-emacs-pdump phase.
[inputs]: Add jansson, gmp, and harfbuzz. Remove imagemagick.
---
 gnu/packages/emacs.scm | 61 +++++++++++++++++++++++++++---------------
 1 file changed, 39 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 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





^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [bug#42738] [PATCH v2] gnu: emacs: Update to 27.1.
  2020-08-18  6:26   ` [bug#42738] [PATCH v2] gnu: emacs: Update " Jack Hill
@ 2020-08-18  8:57     ` Alexey Abramov
  0 siblings, 0 replies; 32+ messages in thread
From: Alexey Abramov @ 2020-08-18  8:57 UTC (permalink / raw)
  To: Jack Hill; +Cc: 42738

Hi Jack,

Thanks.

I just checked, and seems like harfbuzz switch is not required. News
file also says that it is on by default.

--
Alexey




^ permalink raw reply	[flat|nested] 32+ messages in thread

* [bug#42738] [Work in progress] gnu: emacs: update to 27.1
  2020-08-18  6:23 ` [bug#42738] [Work in progress] gnu: emacs: update to 27.1 Jack Hill
  2020-08-18  6:26   ` [bug#42738] [PATCH v2] gnu: emacs: Update " Jack Hill
@ 2020-08-18 13:04   ` Michael Rohleder
  2020-08-19  4:08     ` Jack Hill
  1 sibling, 1 reply; 32+ messages in thread
From: Michael Rohleder @ 2020-08-18 13:04 UTC (permalink / raw)
  To: Jack Hill; +Cc: guix-devel, 42738

[-- Attachment #1: Type: text/plain, Size: 480 bytes --]

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.

> Is the emacs-wide-int variant needed with the new multiprecision
> functionality?

I don't think so.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [bug#42738] [PATCH v2] gnu: emacs: Update to 27.1. (fwd)
  2020-08-07  3:21 [bug#42738] [Work in progress] gnu: emacs: update to 27.1 Jack Hill
  2020-08-07  3:23 ` [bug#42738] [PATCH] gnu: emacs: Update to 27.1-rc1 Jack Hill
  2020-08-18  6:23 ` [bug#42738] [Work in progress] gnu: emacs: update to 27.1 Jack Hill
@ 2020-08-19  2:53 ` Jack Hill
  2 siblings, 0 replies; 32+ messages in thread
From: Jack Hill @ 2020-08-19  2:53 UTC (permalink / raw)
  To: 42738

---------- Forwarded message ----------
Date: Tue, 18 Aug 2020 12:21:46
From: Zhu Zihao <cjpeople2013@gmail.com>
To: jackhill@jackhill.us
Subject: [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





^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [bug#42738] [Work in progress] gnu: emacs: update to 27.1
  2020-08-18 13:04   ` [bug#42738] [Work in progress] gnu: emacs: update " Michael Rohleder
@ 2020-08-19  4:08     ` Jack Hill
  2020-08-19  4:09       ` [bug#42738] [PATCH v3] gnu: emacs: Update " Jack Hill
                         ` (2 more replies)
  0 siblings, 3 replies; 32+ messages in thread
From: Jack Hill @ 2020-08-19  4:08 UTC (permalink / raw)
  To: Michael Rohleder; +Cc: guix-devel, Zhu Zihao, 42738

Thank you all for these improvements.

On Tue, 18 Aug 2020, Alexey Abramov wrote:

> 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:
>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.

>> 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:

> 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


^ permalink raw reply	[flat|nested] 32+ messages in thread

* [bug#42738] [PATCH v3] gnu: emacs: Update to 27.1.
  2020-08-19  4:08     ` Jack Hill
@ 2020-08-19  4:09       ` Jack Hill
  2020-08-27 21:59         ` [bug#42738] [PATCH v4] " Morgan.J.Smith
  2020-08-19  8:22       ` [bug#42738] [Work in progress] gnu: emacs: update " Diego Nicola Barbato
  2020-08-19 13:53       ` Michael Rohleder
  2 siblings, 1 reply; 32+ messages in thread
From: Jack Hill @ 2020-08-19  4:09 UTC (permalink / raw)
  To: 42738

* 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, 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(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 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





^ permalink raw reply related	[flat|nested] 32+ messages in thread

* Re: [bug#42738] [Work in progress] gnu: emacs: update to 27.1
  2020-08-19  4:08     ` Jack Hill
  2020-08-19  4:09       ` [bug#42738] [PATCH v3] gnu: emacs: Update " Jack Hill
@ 2020-08-19  8:22       ` Diego Nicola Barbato
  2020-08-19 13:53       ` Michael Rohleder
  2 siblings, 0 replies; 32+ messages in thread
From: Diego Nicola Barbato @ 2020-08-19  8:22 UTC (permalink / raw)
  To: Jack Hill; +Cc: guix-devel, Zhu Zihao, 42738

Hey Guix,

Jack Hill <jackhill@jackhill.us> writes:

[...]

> On Tue, 18 Aug 2020, Michael Rohleder wrote:
>>Jack Hill <jackhill@jackhill.us> writes:

[...]

>>> 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 should
work with regular (non-wide-int) Emacs 27.1 (thanks to the new
multiprecision functionality), the test which checks if Emacs is suitable
for running Telega will fail, because it does not know about "bignums"
and looks at the value of most-positive-fixnum instead:

--8<---------------cut here---------------start------------->8---
  ;; 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")
--8<---------------cut here---------------end--------------->8---

I suggest we keep the emacs-wide-int variant until this issue has been
resolved, so that the Emacs update does not break emacs-telega on 32-bit
systems.

[...]

Greetings,

Diego


^ permalink raw reply	[flat|nested] 32+ messages in thread

* [bug#42738] [Work in progress] gnu: emacs: update to 27.1
  2020-08-19  4:08     ` Jack Hill
  2020-08-19  4:09       ` [bug#42738] [PATCH v3] gnu: emacs: Update " Jack Hill
  2020-08-19  8:22       ` [bug#42738] [Work in progress] gnu: emacs: update " Diego Nicola Barbato
@ 2020-08-19 13:53       ` Michael Rohleder
  2 siblings, 0 replies; 32+ messages in thread
From: Michael Rohleder @ 2020-08-19 13:53 UTC (permalink / raw)
  To: Jack Hill; +Cc: 42738

[-- Attachment #1: Type: text/plain, Size: 482 bytes --]

Jack Hill <jackhill@jackhill.us> writes:
>>> 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-19  4:09       ` [bug#42738] [PATCH v3] gnu: emacs: Update " Jack Hill
@ 2020-08-27 21:59         ` Morgan.J.Smith
  2020-08-28  5:35           ` Jack Hill
  2020-08-28 14:18           ` Ludovic Courtès
  0 siblings, 2 replies; 32+ messages in thread
From: Morgan.J.Smith @ 2020-08-27 21:59 UTC (permalink / raw)
  To: 42738
  Cc: levenson, dnbarbato, cjpeople2013, Morgan Smith, guix-devel,
	jackhill, mike

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!

Morgan


 gnu/packages/emacs.scm | 76 +++++++++++++++++++++++++-----------------
 1 file changed, 46 insertions(+), 30 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 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





^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-27 21:59         ` [bug#42738] [PATCH v4] " Morgan.J.Smith
@ 2020-08-28  5:35           ` Jack Hill
  2020-08-28 14:18           ` Ludovic Courtès
  1 sibling, 0 replies; 32+ messages in thread
From: Jack Hill @ 2020-08-28  5:35 UTC (permalink / raw)
  To: Morgan Smith; +Cc: levenson, dnbarbato, cjpeople2013, guix-devel, 42738, mike

Hi Morgan,

On Thu, 27 Aug 2020, Morgan.J.Smith@outlook.com wrote:

> 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




^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-27 21:59         ` [bug#42738] [PATCH v4] " Morgan.J.Smith
  2020-08-28  5:35           ` Jack Hill
@ 2020-08-28 14:18           ` Ludovic Courtès
  2020-08-28 14:38             ` Pierre Neidhardt
                               ` (2 more replies)
  1 sibling, 3 replies; 32+ messages in thread
From: Ludovic Courtès @ 2020-08-28 14:18 UTC (permalink / raw)
  To: Morgan.J.Smith, Mark H Weaver; +Cc: guix-devel, cjpeople2013, 42738, dnbarbato

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.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-28 14:18           ` Ludovic Courtès
@ 2020-08-28 14:38             ` Pierre Neidhardt
  2020-08-28 17:00             ` [bug#42738] " Brett Gilio
  2020-08-28 18:57             ` Mark H Weaver
  2 siblings, 0 replies; 32+ messages in thread
From: Pierre Neidhardt @ 2020-08-28 14:38 UTC (permalink / raw)
  To: Ludovic Courtès, Morgan.J.Smith, Mark H Weaver
  Cc: guix-devel, cjpeople2013, 42738, dnbarbato

[-- Attachment #1: Type: text/plain, Size: 153 bytes --]

I confirm that with Mark's commit 
emacs-clojure-mode and emacs-elisp-refs are also broken.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-28 14:18           ` Ludovic Courtès
  2020-08-28 14:38             ` Pierre Neidhardt
@ 2020-08-28 17:00             ` Brett Gilio
  2020-08-28 17:08               ` Jack Hill
  2020-08-28 17:34               ` Amin Bandali
  2020-08-28 18:57             ` Mark H Weaver
  2 siblings, 2 replies; 32+ messages in thread
From: Brett Gilio @ 2020-08-28 17:00 UTC (permalink / raw)
  To: Ludovic Courtès
  Cc: dnbarbato, cjpeople2013, Morgan.J.Smith, guix-devel, 42738

Ludovic Courtès <ludo@gnu.org> writes:

> 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 or
remove it?

Brett Gilio


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-28 17:00             ` [bug#42738] " Brett Gilio
@ 2020-08-28 17:08               ` Jack Hill
  2020-08-28 17:34               ` Amin Bandali
  1 sibling, 0 replies; 32+ messages in thread
From: Jack Hill @ 2020-08-28 17:08 UTC (permalink / raw)
  To: Brett Gilio
  Cc: dnbarbato, cjpeople2013, bandali, Morgan.J.Smith, guix-devel,
	42738

On Fri, 28 Aug 2020, Brett Gilio wrote:

> 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


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-28 17:00             ` [bug#42738] " Brett Gilio
  2020-08-28 17:08               ` Jack Hill
@ 2020-08-28 17:34               ` Amin Bandali
  2020-08-28 20:04                 ` Mark H Weaver
  1 sibling, 1 reply; 32+ messages in thread
From: Amin Bandali @ 2020-08-28 17:34 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 696 bytes --]

Brett Gilio writes:

[...]
>
> Also, are we planning to keep emacs-next and have it track 28.x or
> remove it?
>
> Brett Gilio

I would like it if it's kept.  Though, if it is truly meant to track the
"next" release of Emacs, it should be pointed at the `emacs-27' branch,
as there will likely be one or more point releases in the 27 series.

On the other hand, as an Emacs developer, I would appreciate having a
package that tracks `master' that I could use.  Perhaps emacs-trunk
would be a more appropriate name for that package.  I know it's not
typical for guix.git to contain package definitions that point to
non-release commits; but perhaps Emacs could be an exception to that.

Thoughts?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 857 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-28 14:18           ` Ludovic Courtès
  2020-08-28 14:38             ` Pierre Neidhardt
  2020-08-28 17:00             ` [bug#42738] " Brett Gilio
@ 2020-08-28 18:57             ` Mark H Weaver
  2020-08-28 21:10                 ` [bug#42738] " Morgan Smith
  2020-08-29 17:19               ` Giovanni Biscuolo
  2 siblings, 2 replies; 32+ messages in thread
From: Mark H Weaver @ 2020-08-28 18:57 UTC (permalink / raw)
  To: Ludovic Courtès
  Cc: guix-devel, cjpeople2013, Morgan.J.Smith, 42738, dnbarbato

Hello Guix,

Ludovic Courtès <ludo@gnu.org> wrote:

> 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 some
quick web searches for preexisting work on this, but clearly they were
insufficient, and I've never subscribed to the patches list.  In the
future, I'll know not to rely on web search engines for this.

> 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:
> 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


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-28 17:34               ` Amin Bandali
@ 2020-08-28 20:04                 ` Mark H Weaver
  2020-08-29 10:13                   ` Ludovic Courtès
  0 siblings, 1 reply; 32+ messages in thread
From: Mark H Weaver @ 2020-08-28 20:04 UTC (permalink / raw)
  To: Amin Bandali; +Cc: guix-devel

Hi Amin,

Amin Bandali <bandali@gnu.org> wrote:

> Brett Gilio writes:
> 
> [...]
>>
>> Also, are we planning to keep emacs-next and have it track 28.x or
>> remove it?
>>
>> Brett Gilio
>
> I would like it if it's kept.  Though, if it is truly meant to track the
> "next" release of Emacs, it should be pointed at the `emacs-27' branch,
> as there will likely be one or more point releases in the 27 series.

Feel free to re-add it.  I was torn about whether to remove it.  Anyway,
most of its code is now integrated into the main 'emacs' package, so it
should be a lot simpler now.  Here's a first draft (untested), but of
course it should be updated to a later commit:

--8<---------------cut here---------------start------------->8---
(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
         (inherit (package-source emacs))
         (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))))
      (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"))))))))
--8<---------------cut here---------------end--------------->8---

     Regards,
       Mark


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-28 18:57             ` Mark H Weaver
@ 2020-08-28 21:10                 ` Morgan Smith
  2020-08-29 17:19               ` Giovanni Biscuolo
  1 sibling, 0 replies; 32+ messages in thread
From: Morgan Smith @ 2020-08-28 21:10 UTC (permalink / raw)
  To: Mark H Weaver, Ludovic Courtès
  Cc: guix-devel, cjpeople2013, 42738, dnbarbato

Hello!

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. I noticed that it wouldn't build
properly since emacs wanted libxaw and emacs-no-x wanted some image
librarys (libtiff, libjpeg, etc). The only contributions I made, where
to add libxaw to emacs and to add the configure flags to emacs-no-x. I
made these changes and posted them as patch v4. However, the patch Mark
committed does build for me so you can ignore my contributions (which
weren'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 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.)

Thanks,
Morgan

On 8/28/20 2:57 PM, Mark H Weaver wrote:
> 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
> 


^ permalink raw reply	[flat|nested] 32+ messages in thread

* [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1.
@ 2020-08-28 21:10                 ` Morgan Smith
  0 siblings, 0 replies; 32+ messages in thread
From: Morgan Smith @ 2020-08-28 21:10 UTC (permalink / raw)
  To: Mark H Weaver, Ludovic Courtès
  Cc: guix-devel, cjpeople2013, jackhill, 42738, dnbarbato

Hello!

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. I noticed that it wouldn't build
properly since emacs wanted libxaw and emacs-no-x wanted some image
librarys (libtiff, libjpeg, etc). The only contributions I made, where
to add libxaw to emacs and to add the configure flags to emacs-no-x. I
made these changes and posted them as patch v4. However, the patch Mark
committed does build for me so you can ignore my contributions (which
weren'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 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.)

Thanks,
Morgan

On 8/28/20 2:57 PM, Mark H Weaver wrote:
> 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
> 




^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-28 20:04                 ` Mark H Weaver
@ 2020-08-29 10:13                   ` Ludovic Courtès
  2020-08-29 21:53                     ` Mark H Weaver
  0 siblings, 1 reply; 32+ messages in thread
From: Ludovic Courtès @ 2020-08-29 10:13 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel, Amin Bandali

Hi,

Mark H Weaver <mhw@netris.org> skribis:

> (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
>          (inherit (package-source emacs))
>          (method git-fetch)
>          (uri (git-reference
>                (url "https://git.savannah.gnu.org/git/emacs.git")
>                (commit commit)))

This can be handled with ‘--with-git-url’.

>          (sha256
>           (base32 "0mlrg2npy1r79laahkgzhxd1qassfcdz8qk1cpw7mqgf6y5x505h"))
>          (file-name (git-file-name name version))))
>       (native-inputs
>        `(("autoconf" ,autoconf)      ; needed when building from trunk
>          ,@(package-native-inputs emacs)))

For this, we’d need a new ‘--with-extra-input’ package transformation
option or similar.  That way, we wouldn’t even need an ‘emacs-next’
package: people would just run

  guix install emacs --with-git-url=… --with-extra-input=autoconf

OTOH it’s more typing and not necessarily obvious…

Ludo’.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-28 18:57             ` Mark H Weaver
  2020-08-28 21:10                 ` [bug#42738] " Morgan Smith
@ 2020-08-29 17:19               ` Giovanni Biscuolo
  2020-09-04  9:03                 ` Pierre Neidhardt
  1 sibling, 1 reply; 32+ messages in thread
From: Giovanni Biscuolo @ 2020-08-29 17:19 UTC (permalink / raw)
  To: Mark H Weaver, Ludovic Courtès; +Cc: guix-devel, 42738

[-- Attachment #1: Type: text/plain, Size: 823 bytes --]

Mark H Weaver <mhw@netris.org> writes:

[...]

> 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, no
need to revert Emacs 27.1 for this bug IMHO.

> 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 by
tagging relevant [1] open emacs packages bugs as critical? [2]

[...]


Thanks! Gio'


[1] can we define "relevant" as: all bugs that breaks a previously
compiling emacs package?

[2]
https://issues.guix.gnu.org/search?query=subject%3Aemacs+is%3Aopen+severity%3Acritical

-- 
Giovanni Biscuolo

Xelera IT Infrastructures

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-28 21:10                 ` [bug#42738] " Morgan Smith
  (?)
@ 2020-08-29 20:35                 ` Mark H Weaver
  2020-08-30  1:50                   ` [bug#42738] " Brett Gilio
  -1 siblings, 1 reply; 32+ messages in thread
From: Mark H Weaver @ 2020-08-29 20:35 UTC (permalink / raw)
  To: Morgan Smith; +Cc: guix-devel, 42738

Hi Morgan,

Morgan Smith <Morgan.J.Smith@outlook.com> wrote:
> 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 happened
because it was presented to me as "the patch Morgan submitted", but it
would have been better if I had taken the time to read the bug report
more carefully.

Also, I regret if my comments on the preliminary patch made anyone feel
badly.  To be clear, there's no shame in submitting an unfinished patch
for review.  On the contrary, it is a *very* useful contribution.  In
this 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 carefully
for prior work, and I probably also pushed it prematurely.

> (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 separate
branch.  In the past, when this was a smaller community and there were
far fewer emacs packages in Guix, I did major updates of Emacs a few
times without causing any obvious problems, but that was a different
time.  It's also possible that Emacs 27 was a more disruptive update
than usual.

Thanks very much for your comments and contributions.

   Best regards,
       Mark


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-29 10:13                   ` Ludovic Courtès
@ 2020-08-29 21:53                     ` Mark H Weaver
  2020-09-07  9:00                       ` Ludovic Courtès
  0 siblings, 1 reply; 32+ messages in thread
From: Mark H Weaver @ 2020-08-29 21:53 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, Amin Bandali

Hi Ludovic,

Ludovic Courtès <ludo@gnu.org> wrote:
> Mark H Weaver <mhw@netris.org> skribis:
>
>> (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
>>          (inherit (package-source emacs))
>>          (method git-fetch)
>>          (uri (git-reference
>>                (url "https://git.savannah.gnu.org/git/emacs.git")
>>                (commit commit)))
>
> This can be handled with ‘--with-git-url’.

I think that wouldn't work in this case, because we also need to
preserve the existing 'patches' and 'snippet' fields, which I arranged
to inherit above via (inherit (package-source emacs)).  That probably
deserves a comment, since it's easily overlooked.

>>          (sha256
>>           (base32 "0mlrg2npy1r79laahkgzhxd1qassfcdz8qk1cpw7mqgf6y5x505h"))
>>          (file-name (git-file-name name version))))
>>       (native-inputs
>>        `(("autoconf" ,autoconf)      ; needed when building from trunk
>>          ,@(package-native-inputs emacs)))
>
> For this, we’d need a new ‘--with-extra-input’ package transformation
> option or similar.  That way, we wouldn’t even need an ‘emacs-next’
> package: people would just run
>
>   guix install emacs --with-git-url=… --with-extra-input=autoconf

There's also the 'native-search-paths' field, which cannot simply be
inherited because of the version number embedded within EMACSLOADPATH.
This particular issue could be avoided if the 'native-search-paths'
field were a function of the version number, but that raises migration
issues and I'm not sure it's worth it.

What do you think?

    Best regards,
        Mark


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-29 20:35                 ` Mark H Weaver
@ 2020-08-30  1:50                   ` Brett Gilio
  0 siblings, 0 replies; 32+ messages in thread
From: Brett Gilio @ 2020-08-30  1:50 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel, Morgan Smith, 42738

Mark H Weaver <mhw@netris.org> writes:

> Agreed, or perhaps 'emacs' itself should have been updated on a separate
> branch.

+1 for WIP-emacs branch in future.

Brett Gilio


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-29 17:19               ` Giovanni Biscuolo
@ 2020-09-04  9:03                 ` Pierre Neidhardt
  2020-09-04  9:16                   ` [bug#42738] " Pierre Neidhardt
  0 siblings, 1 reply; 32+ messages in thread
From: Pierre Neidhardt @ 2020-09-04  9:03 UTC (permalink / raw)
  To: Giovanni Biscuolo, Mark H Weaver, Ludovic Courtès; +Cc: guix-devel, 42738

[-- Attachment #1: Type: text/plain, Size: 143 bytes --]

emacs-helpful still seems to be broken on master.
Any idea?
I'll try to fix it later today.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1.
  2020-09-04  9:03                 ` Pierre Neidhardt
@ 2020-09-04  9:16                   ` Pierre Neidhardt
  2020-09-04 10:20                     ` Giovanni Biscuolo
  0 siblings, 1 reply; 32+ messages in thread
From: Pierre Neidhardt @ 2020-09-04  9:16 UTC (permalink / raw)
  To: Giovanni Biscuolo, Mark H Weaver, Ludovic Courtès; +Cc: guix-devel, 42738

[-- Attachment #1: Type: text/plain, Size: 128 bytes --]

Looks like an upstream issue:

https://github.com/Wilfred/helpful/issues/248

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH v4] gnu: emacs: Update to 27.1.
  2020-09-04  9:16                   ` [bug#42738] " Pierre Neidhardt
@ 2020-09-04 10:20                     ` Giovanni Biscuolo
  2020-09-07  9:44                       ` Pierre Neidhardt
  0 siblings, 1 reply; 32+ messages in thread
From: Giovanni Biscuolo @ 2020-09-04 10:20 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: guix-devel, 42738

[-- Attachment #1: Type: text/plain, Size: 331 bytes --]

Hi Pierre,

thank you for working on this!

Pierre Neidhardt <mail@ambrevar.xyz> writes:

> 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 on
bug-guix?

WDYT?

-- 
Giovanni Biscuolo

Xelera IT Infrastructures

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1.
  2020-08-29 21:53                     ` Mark H Weaver
@ 2020-09-07  9:00                       ` Ludovic Courtès
  0 siblings, 0 replies; 32+ messages in thread
From: Ludovic Courtès @ 2020-09-07  9:00 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel, Amin Bandali

Hi Mark,

Mark H Weaver <mhw@netris.org> skribis:

> Ludovic Courtès <ludo@gnu.org> wrote:
>> Mark H Weaver <mhw@netris.org> skribis:
>>
>>> (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
>>>          (inherit (package-source emacs))
>>>          (method git-fetch)
>>>          (uri (git-reference
>>>                (url "https://git.savannah.gnu.org/git/emacs.git")
>>>                (commit commit)))
>>
>> This can be handled with ‘--with-git-url’.
>
> I think that wouldn't work in this case, because we also need to
> preserve the existing 'patches' and 'snippet' fields, which I arranged
> to inherit above via (inherit (package-source emacs)).  That probably
> deserves a comment, since it's easily overlooked.
>
>>>          (sha256
>>>           (base32 "0mlrg2npy1r79laahkgzhxd1qassfcdz8qk1cpw7mqgf6y5x505h"))
>>>          (file-name (git-file-name name version))))
>>>       (native-inputs
>>>        `(("autoconf" ,autoconf)      ; needed when building from trunk
>>>          ,@(package-native-inputs emacs)))
>>
>> For this, we’d need a new ‘--with-extra-input’ package transformation
>> option or similar.  That way, we wouldn’t even need an ‘emacs-next’
>> package: people would just run
>>
>>   guix install emacs --with-git-url=… --with-extra-input=autoconf
>
> There's also the 'native-search-paths' field, which cannot simply be
> inherited because of the version number embedded within EMACSLOADPATH.
> This particular issue could be avoided if the 'native-search-paths'
> field were a function of the version number, but that raises migration
> issues and I'm not sure it's worth it.
>
> What do you think?

Ah yes, both good points that I had overlooked.

Thanks,
Ludo’.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH v4] gnu: emacs: Update to 27.1.
  2020-09-04 10:20                     ` Giovanni Biscuolo
@ 2020-09-07  9:44                       ` Pierre Neidhardt
  0 siblings, 0 replies; 32+ messages in thread
From: Pierre Neidhardt @ 2020-09-07  9:44 UTC (permalink / raw)
  To: Giovanni Biscuolo; +Cc: guix-devel, 42738

[-- Attachment #1: Type: text/plain, Size: 80 bytes --]

Done in 43254@debbugs.gnu.org.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2020-09-07  9:44 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-07  3:21 [bug#42738] [Work in progress] gnu: emacs: update to 27.1 Jack Hill
2020-08-07  3:23 ` [bug#42738] [PATCH] gnu: emacs: Update to 27.1-rc1 Jack Hill
2020-08-18  6:23 ` [bug#42738] [Work in progress] gnu: emacs: update to 27.1 Jack Hill
2020-08-18  6:26   ` [bug#42738] [PATCH v2] gnu: emacs: Update " Jack Hill
2020-08-18  8:57     ` Alexey Abramov
2020-08-18 13:04   ` [bug#42738] [Work in progress] gnu: emacs: update " Michael Rohleder
2020-08-19  4:08     ` Jack Hill
2020-08-19  4:09       ` [bug#42738] [PATCH v3] gnu: emacs: Update " Jack Hill
2020-08-27 21:59         ` [bug#42738] [PATCH v4] " Morgan.J.Smith
2020-08-28  5:35           ` Jack Hill
2020-08-28 14:18           ` Ludovic Courtès
2020-08-28 14:38             ` Pierre Neidhardt
2020-08-28 17:00             ` [bug#42738] " Brett Gilio
2020-08-28 17:08               ` Jack Hill
2020-08-28 17:34               ` Amin Bandali
2020-08-28 20:04                 ` Mark H Weaver
2020-08-29 10:13                   ` Ludovic Courtès
2020-08-29 21:53                     ` Mark H Weaver
2020-09-07  9:00                       ` Ludovic Courtès
2020-08-28 18:57             ` Mark H Weaver
2020-08-28 21:10               ` Morgan Smith
2020-08-28 21:10                 ` [bug#42738] " Morgan Smith
2020-08-29 20:35                 ` Mark H Weaver
2020-08-30  1:50                   ` [bug#42738] " Brett Gilio
2020-08-29 17:19               ` Giovanni Biscuolo
2020-09-04  9:03                 ` Pierre Neidhardt
2020-09-04  9:16                   ` [bug#42738] " Pierre Neidhardt
2020-09-04 10:20                     ` Giovanni Biscuolo
2020-09-07  9:44                       ` Pierre Neidhardt
2020-08-19  8:22       ` [bug#42738] [Work in progress] gnu: emacs: update " Diego Nicola Barbato
2020-08-19 13:53       ` Michael Rohleder
2020-08-19  2:53 ` [bug#42738] [PATCH v2] gnu: emacs: Update to 27.1. (fwd) Jack Hill

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.