* [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; 12+ 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] 12+ 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 [not found] ` <alpine.DEB.2.21.2008180137010.4809@marsh.hcoop.net> 2020-08-19 2:53 ` [bug#42738] [PATCH v2] gnu: emacs: Update to 27.1. (fwd) Jack Hill 2 siblings, 0 replies; 12+ 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] 12+ messages in thread
[parent not found: <alpine.DEB.2.21.2008180137010.4809@marsh.hcoop.net>]
* [bug#42738] [PATCH v2] gnu: emacs: Update to 27.1. [not found] ` <alpine.DEB.2.21.2008180137010.4809@marsh.hcoop.net> @ 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; 12+ 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] 12+ 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 to 27.1 Jack Hill @ 2020-08-18 8:57 ` Alexey Abramov 0 siblings, 0 replies; 12+ 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] 12+ messages in thread
* [bug#42738] [Work in progress] gnu: emacs: update to 27.1 [not found] ` <alpine.DEB.2.21.2008180137010.4809@marsh.hcoop.net> 2020-08-18 6:26 ` [bug#42738] [PATCH v2] gnu: emacs: Update to 27.1 Jack Hill @ 2020-08-18 13:04 ` Michael Rohleder [not found] ` <alpine.DEB.2.21.2008182335550.4809@marsh.hcoop.net> 1 sibling, 1 reply; 12+ 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] 12+ messages in thread
[parent not found: <alpine.DEB.2.21.2008182335550.4809@marsh.hcoop.net>]
* [bug#42738] [PATCH v3] gnu: emacs: Update to 27.1. [not found] ` <alpine.DEB.2.21.2008182335550.4809@marsh.hcoop.net> @ 2020-08-19 4:09 ` Jack Hill 2020-08-27 21:59 ` [bug#42738] [PATCH v4] " Morgan.J.Smith 2020-08-19 13:53 ` [bug#42738] [Work in progress] gnu: emacs: update " Michael Rohleder 1 sibling, 1 reply; 12+ 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] 12+ 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 [not found] ` <87sgc6onvi.fsf@gnu.org> 0 siblings, 2 replies; 12+ 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] 12+ 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 [not found] ` <87sgc6onvi.fsf@gnu.org> 1 sibling, 0 replies; 12+ 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] 12+ messages in thread
[parent not found: <87sgc6onvi.fsf@gnu.org>]
[parent not found: <87lfhybntk.fsf@netris.org>]
* [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1. [not found] ` <87lfhybntk.fsf@netris.org> @ 2020-08-28 21:10 ` Morgan Smith [not found] ` <87pn79e5fb.fsf@roquette.i-did-not-set--mail-host-address--so-tickle-me> 1 sibling, 0 replies; 12+ 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] 12+ messages in thread
[parent not found: <87pn79e5fb.fsf@roquette.i-did-not-set--mail-host-address--so-tickle-me>]
[parent not found: <87v9gt3ocx.fsf@ambrevar.xyz>]
* [bug#42738] [PATCH v4] gnu: emacs: Update to 27.1. [not found] ` <87v9gt3ocx.fsf@ambrevar.xyz> @ 2020-09-04 9:16 ` Pierre Neidhardt 0 siblings, 0 replies; 12+ 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] 12+ messages in thread
* [bug#42738] [Work in progress] gnu: emacs: update to 27.1 [not found] ` <alpine.DEB.2.21.2008182335550.4809@marsh.hcoop.net> 2020-08-19 4:09 ` [bug#42738] [PATCH v3] gnu: emacs: Update " Jack Hill @ 2020-08-19 13:53 ` Michael Rohleder 1 sibling, 0 replies; 12+ 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] 12+ 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 [not found] ` <alpine.DEB.2.21.2008180137010.4809@marsh.hcoop.net> @ 2020-08-19 2:53 ` Jack Hill 2 siblings, 0 replies; 12+ 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] 12+ messages in thread
end of thread, other threads:[~2020-09-04 9:17 UTC | newest] Thread overview: 12+ 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 [not found] ` <alpine.DEB.2.21.2008180137010.4809@marsh.hcoop.net> 2020-08-18 6:26 ` [bug#42738] [PATCH v2] gnu: emacs: Update to 27.1 Jack Hill 2020-08-18 8:57 ` Alexey Abramov 2020-08-18 13:04 ` [bug#42738] [Work in progress] gnu: emacs: update " Michael Rohleder [not found] ` <alpine.DEB.2.21.2008182335550.4809@marsh.hcoop.net> 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 [not found] ` <87sgc6onvi.fsf@gnu.org> [not found] ` <87lfhybntk.fsf@netris.org> 2020-08-28 21:10 ` Morgan Smith [not found] ` <87pn79e5fb.fsf@roquette.i-did-not-set--mail-host-address--so-tickle-me> [not found] ` <87v9gt3ocx.fsf@ambrevar.xyz> 2020-09-04 9:16 ` Pierre Neidhardt 2020-08-19 13:53 ` [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
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).