all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#54829] [PATCH 1/2] gnu: emacs: Update to 28.1.
  2022-04-09 10:29 [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation Liliana Marie Prikler
@ 2022-04-09  8:15 ` Liliana Marie Prikler
  2022-04-10 10:21   ` Maxime Devos
  2022-04-10 10:23   ` Maxime Devos
  2022-04-09 10:28 ` [bug#54829] [PATCH 2/2] gnu: emacs: Add support for socket activation Liliana Marie Prikler
                   ` (7 subsequent siblings)
  8 siblings, 2 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-04-09  8:15 UTC (permalink / raw)
  To: 54829

* gnu/packages/emacs.scm (emacs): Update to 28.1
[origin]<patches>: Drop ‘emacs-ignore-empty-xim-styles.patch’.
[arguments]: Convert to list of G-Expressions.
Use search-input-file instead of input labels.
Inline reference to auxiliary files.
[inputs, native-inputs]: Drop labels.
* gnu/packages/patches/emacs-exec-path.patch: Update accordingly.
* gnu/packages/patches/emacs-ignore-empty-xim-styles.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it from here.
---
 gnu/local.mk                                  |   1 -
 gnu/packages/emacs.scm                        | 330 +++++++++---------
 gnu/packages/patches/emacs-exec-path.patch    |  12 +-
 .../emacs-ignore-empty-xim-styles.patch       |  24 --
 4 files changed, 169 insertions(+), 198 deletions(-)
 delete mode 100644 gnu/packages/patches/emacs-ignore-empty-xim-styles.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index a44815bdbb..9d6d81b3e0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1028,7 +1028,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/elogind-revert-polkit-detection.patch	\
   %D%/packages/patches/emacs-exec-path.patch			\
   %D%/packages/patches/emacs-fix-scheme-indent-function.patch	\
-  %D%/packages/patches/emacs-ignore-empty-xim-styles.patch	\
   %D%/packages/patches/emacs-json-reformat-fix-tests.patch	\
   %D%/packages/patches/emacs-highlight-stages-add-gexp.patch	\
   %D%/packages/patches/emacs-hyperbole-toggle-messaging.patch	\
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index bfb3f9790e..894b9cd7de 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -41,6 +41,7 @@
 (define-module (gnu packages emacs)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
+  #:use-module (guix gexp)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
@@ -79,17 +80,16 @@ (define-module (gnu packages emacs)
 (define-public emacs
   (package
     (name "emacs")
-    (version "27.2")
+    (version "28.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/emacs/emacs-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "1ff182gjw9wqsbx1kj5gl2r5pbqhp4ar54g04j33fgz6g17cr9xl"))
+                "1qbmmmhnjhn4lvzsnyk7l5ganbi6wzbm38jc1a7hhyh3k78b7c98"))
               (patches (search-patches "emacs-exec-path.patch"
                                        "emacs-fix-scheme-indent-function.patch"
-                                       "emacs-ignore-empty-xim-styles.patch"
                                        "emacs-source-date-epoch.patch"))
               (modules '((guix build utils)))
               (snippet
@@ -124,179 +124,175 @@ (define-public emacs
                   #t))))
     (build-system glib-or-gtk-build-system)
     (arguments
-     `(#:tests? #f                      ; no check target
-       #:configure-flags (list "--with-modules"
-                               "--with-cairo"
-                               "--disable-build-details")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-program-file-names
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* '("src/callproc.c"
-                            "lisp/term.el"
-                            "lisp/htmlfontify.el"
-                            "lisp/textmodes/artist.el"
-                            "lisp/progmodes/sh-script.el")
-               (("\"/bin/sh\"")
-                (format #f "~s" (which "sh"))))
-             (substitute* "lisp/doc-view.el"
-               (("\"(gs|dvipdf|ps2pdf)\"" all what)
-                (let ((ghostscript (assoc-ref inputs "ghostscript")))
-                  (if ghostscript
-                      (string-append "\"" ghostscript "/bin/" what "\"")
-                      all)))
-               (("\"(pdftotext)\"" all what)
-                (let ((poppler (assoc-ref inputs "poppler")))
-                  (if poppler
-                      (string-append "\"" poppler "/bin/" what "\"")
-                      all))))
-             ;; match ".gvfs-fuse-daemon-real" and ".gvfsd-fuse-real"
-             ;; respectively when looking for GVFS processes.
-             (substitute* "lisp/net/tramp-gvfs.el"
-               (("\\(tramp-compat-process-running-p \"(.*)\"\\)" all process)
-                (format #f "(or ~a (tramp-compat-process-running-p ~s))"
-                        all (string-append "." process "-real"))))
-             #t))
-         (add-before 'configure 'fix-/bin/pwd
-           (lambda _
-             ;; Use `pwd', not `/bin/pwd'.
-             (substitute* (find-files "." "^Makefile\\.in$")
-               (("/bin/pwd")
-                "pwd"))
-             #t))
-         (add-after 'install 'install-site-start
-           ;; Use 'guix-emacs' in "site-start.el", which is used autoload the
-           ;; Elisp packages found in EMACSLOADPATH.
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out      (assoc-ref outputs "out"))
-                    (lisp-dir (string-append out "/share/emacs/site-lisp"))
-                    (emacs    (string-append out "/bin/emacs")))
+     (list
+      #:tests? #f                      ; no check target
+      #:configure-flags #~(list "--with-modules"
+                                "--with-cairo"
+                                "--disable-build-details")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-program-file-names
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* '("src/callproc.c"
+                             "lisp/term.el"
+                             "lisp/htmlfontify.el"
+                             "lisp/textmodes/artist.el"
+                             "lisp/progmodes/sh-script.el")
+                (("\"/bin/sh\"")
+                 (format #f "~s" (which "sh"))))
+              (substitute* "lisp/doc-view.el"
+                (("\"(gs|dvipdf|ps2pdf|pdftotext)\"" all what)
+                 (let ((replacement (search-input-file
+                                     inputs
+                                     (string-append "/bin/" what))))
+                   (if replacement
+                       (string-append "\"" replacement "\"")
+                       all))))
+              ;; match ".gvfs-fuse-daemon-real" and ".gvfsd-fuse-real"
+              ;; respectively when looking for GVFS processes.
+              (substitute* "lisp/net/tramp-gvfs.el"
+                (("\\(tramp-compat-process-running-p \"(.*)\"\\)" all process)
+                 (format #f "(or ~a (tramp-compat-process-running-p ~s))"
+                         all (string-append "." process "-real"))))))
+          (add-before 'configure 'fix-/bin/pwd
+            (lambda _
+              ;; Use `pwd', not `/bin/pwd'.
+              (substitute* (find-files "." "^Makefile\\.in$")
+                (("/bin/pwd")
+                 "pwd"))))
+          (add-after 'install 'install-site-start
+            ;; Use 'guix-emacs' in "site-start.el", which is used autoload the
+            ;; Elisp packages found in EMACSLOADPATH.
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((out      (assoc-ref outputs "out"))
+                     (lisp-dir (string-append out "/share/emacs/site-lisp"))
+                     (emacs    (string-append out "/bin/emacs")))
 
-               ;; This is duplicated from emacs-utils to prevent coupling.
-               (define* (emacs-byte-compile-directory dir)
-                 (let ((expr `(progn
-                               (setq byte-compile-debug t)
-                               (byte-recompile-directory
-                                (file-name-as-directory ,dir) 0 1))))
-                   (invoke emacs "--quick" "--batch"
-                           (format #f "--eval=~s" expr))))
+                ;; This is duplicated from emacs-utils to prevent coupling.
+                (define* (emacs-byte-compile-directory dir)
+                  (let ((expr `(progn
+                                (setq byte-compile-debug t)
+                                (byte-recompile-directory
+                                 (file-name-as-directory ,dir) 0 1))))
+                    (invoke emacs "--quick" "--batch"
+                            (format #f "--eval=~s" expr))))
 
-               (copy-file (assoc-ref inputs "guix-emacs.el")
-                          (string-append lisp-dir "/guix-emacs.el"))
-               (with-output-to-file (string-append lisp-dir "/site-start.el")
-                 (lambda ()
-                   (display
-                    (string-append
-                     "(when (require 'guix-emacs nil t)\n"
-                     "  (guix-emacs-autoload-packages)\n"
-                     "  (advice-add 'package-load-all-descriptors"
-                     " :after #'guix-emacs-load-package-descriptors))"))))
-               ;; Remove the extraneous subdirs.el file, as it causes Emacs to
-               ;; add recursively all the the sub-directories of a profile's
-               ;; share/emacs/site-lisp union when added to EMACSLOADPATH,
-               ;; which leads to conflicts.
-               (delete-file (string-append lisp-dir "/subdirs.el"))
-               ;; Byte compile the site-start files.
-               (emacs-byte-compile-directory lisp-dir))
-             #t))
-         (add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
-           ;; restore the dump file that Emacs installs somewhere in
-           ;; libexec/ to its original state
-           (lambda* (#:key outputs target #:allow-other-keys)
-             (let* ((libexec (string-append (assoc-ref outputs "out")
-                                            "/libexec"))
-                    ;; each of these ought to only match a single file,
-                    ;; but even if not (find-files) sorts by string<,
-                    ;; so the Nth element in one maps to the Nth element of
-                    ;; the other
-                    (pdmp (find-files libexec "\\.pdmp$"))
-                    (pdmp-real (find-files libexec "\\.pdmp-real$")))
-               (for-each rename-file pdmp-real pdmp))))
-         (add-after 'glib-or-gtk-wrap 'strip-double-wrap
-           (lambda* (#:key outputs #:allow-other-keys)
-             ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped
-             ;; twice.  This also fixes a minor issue, where WMs would not be
-             ;; able to track emacs back to emacs.desktop.
-             (with-directory-excursion (assoc-ref outputs "out")
-               (copy-file
-                (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
-                "bin/emacs")
-               #t)))
-         (add-after 'strip-double-wrap 'wrap-emacs-paths
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (lisp-dirs (find-files (string-append out "/share/emacs")
-                                           "^lisp$"
-                                           #:directories? #t)))
-               (for-each
-                (lambda (prog)
-                  (wrap-program prog
-                    ;; emacs-next and variants rely on uname being in PATH for
-                    ;; Tramp.  Tramp paths can't be hardcoded, because they
-                    ;; need to be portable.
-                    `("PATH" suffix
-                      ,(map (lambda (in) (string-append in "/bin"))
-                            (list (assoc-ref inputs "gzip")
-                                  (assoc-ref inputs "coreutils"))))
-                    `("EMACSLOADPATH" suffix ,lisp-dirs)))
-                (find-files (string-append out "/bin")
-                            ;; Matches versioned and unversioned emacs binaries.
-                            ;; We don't patch emacsclient, because it takes its
-                            ;; environment variables from emacs.
-                            ;; Likewise, we don't need to patch helper binaries
-                            ;; like etags, ctags or ebrowse.
-                            "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))))))))
+                (copy-file #$(local-file
+                              (search-auxiliary-file "emacs/guix-emacs.el"))
+                           (string-append lisp-dir "/guix-emacs.el"))
+                (with-output-to-file (string-append lisp-dir "/site-start.el")
+                  (lambda ()
+                    (display
+                     (string-append
+                      "(when (require 'guix-emacs nil t)\n"
+                      "  (guix-emacs-autoload-packages)\n"
+                      "  (advice-add 'package-load-all-descriptors"
+                      " :after #'guix-emacs-load-package-descriptors))"))))
+                ;; Remove the extraneous subdirs.el file, as it causes Emacs to
+                ;; add recursively all the the sub-directories of a profile's
+                ;; share/emacs/site-lisp union when added to EMACSLOADPATH,
+                ;; which leads to conflicts.
+                (delete-file (string-append lisp-dir "/subdirs.el"))
+                ;; Byte compile the site-start files.
+                (emacs-byte-compile-directory lisp-dir))
+              #t))
+          (add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
+            ;; restore the dump file that Emacs installs somewhere in
+            ;; libexec/ to its original state
+            (lambda* (#:key outputs target #:allow-other-keys)
+              (let* ((libexec (string-append (assoc-ref outputs "out")
+                                             "/libexec"))
+                     ;; each of these ought to only match a single file,
+                     ;; but even if not (find-files) sorts by string<,
+                     ;; so the Nth element in one maps to the Nth element of
+                     ;; the other
+                     (pdmp (find-files libexec "\\.pdmp$"))
+                     (pdmp-real (find-files libexec "\\.pdmp-real$")))
+                (for-each rename-file pdmp-real pdmp))))
+          (add-after 'glib-or-gtk-wrap 'strip-double-wrap
+            (lambda* (#:key outputs #:allow-other-keys)
+              ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped
+              ;; twice.  This also fixes a minor issue, where WMs would not be
+              ;; able to track emacs back to emacs.desktop.
+              (with-directory-excursion (assoc-ref outputs "out")
+                (copy-file
+                 (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
+                 "bin/emacs")
+                #t)))
+          (add-after 'strip-double-wrap 'wrap-emacs-paths
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((out (assoc-ref outputs "out"))
+                     (lisp-dirs (find-files (string-append out "/share/emacs")
+                                            "^lisp$"
+                                            #:directories? #t)))
+                (for-each
+                 (lambda (prog)
+                   (wrap-program prog
+                     ;; emacs-next and variants rely on uname being in PATH for
+                     ;; Tramp.  Tramp paths can't be hardcoded, because they
+                     ;; need to be portable.
+                     `("PATH" suffix
+                       ,(map dirname
+                             (list (search-input-file inputs "/bin/gzip")
+                                   ;; for coreutils
+                                   (search-input-file inputs "/bin/yes"))))
+                     `("EMACSLOADPATH" suffix ,lisp-dirs)))
+                 (find-files (string-append out "/bin")
+                             ;; Matches versioned and unversioned emacs binaries.
+                             ;; We don't patch emacsclient, because it takes its
+                             ;; environment variables from emacs.
+                             ;; Likewise, we don't need to patch helper binaries
+                             ;; like etags, ctags or ebrowse.
+                             "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))))))))
     (inputs
-     `(("gnutls" ,gnutls)
-       ("ncurses" ,ncurses)
+     (list gnutls
+           ncurses
 
-       ;; Required for "core" functionality, such as dired and compression.
-       ("coreutils" ,coreutils)
-       ("gzip" ,gzip)
+           ;; Required for "core" functionality, such as dired and compression.
+           coreutils
+           gzip
 
-       ;; Avoid Emacs's limited movemail substitute that retrieves POP3 email
-       ;; only via insecure channels.  This is not needed for (modern) IMAP.
-       ("mailutils" ,mailutils)
+           ;; Avoid Emacs's limited movemail substitute that retrieves POP3
+           ;; email only via insecure channels.
+           ;; This is not needed for (modern) IMAP.
+           mailutils
 
-       ;; TODO: Add the optional dependencies.
-       ("gpm" ,gpm)
-       ("libx11" ,libx11)
-       ("gtk+" ,gtk+)
-       ("cairo" ,cairo)
-       ("pango" ,pango)
-       ("harfbuzz" ,harfbuzz)
-       ("libxft" ,libxft)
-       ("libtiff" ,libtiff)
-       ("giflib" ,giflib)
-       ("libjpeg" ,libjpeg-turbo)
-       ("acl" ,acl)
-       ("jansson" ,jansson)
-       ("gmp" ,gmp)
-       ("ghostscript" ,ghostscript)
-       ("poppler" ,poppler)
+           ;; TODO: Add the optional dependencies.
+           gpm
+           libx11
+           gtk+
+           cairo
+           pango
+           harfbuzz
+           libxft
+           libtiff
+           giflib
+           libjpeg-turbo
+           acl
+           jansson
+           gmp
+           ghostscript
+           poppler
 
-       ;; When looking for libpng `configure' links with `-lpng -lz', so we
-       ;; must also provide zlib as an input.
-       ("libpng" ,libpng)
-       ("zlib" ,zlib)
-       ("librsvg" ,@(if (target-x86-64?)
-                         (list librsvg-bootstrap)
-                         (list librsvg-2.40)))
-       ("libxpm" ,libxpm)
-       ("libxml2" ,libxml2)
-       ("libice" ,libice)
-       ("libsm" ,libsm)
-       ("alsa-lib" ,alsa-lib)
-       ("dbus" ,dbus)
+           ;; When looking for libpng `configure' links with `-lpng -lz', so we
+           ;; must also provide zlib as an input.
+           libpng
+           zlib
+           (if (target-x86-64?)
+               librsvg-bootstrap
+               librsvg-2.40)
+           libxpm
+           libxml2
+           libice
+           libsm
+           alsa-lib
+           dbus
 
-       ;; multilingualization support
-       ("libotf" ,libotf)
-       ("m17n-lib" ,m17n-lib)))
+           ;; multilingualization support
+           libotf
+           m17n-lib))
     (native-inputs
-     `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el"))
-       ("pkg-config" ,pkg-config)
-       ("texinfo" ,texinfo)))
-
+     (list pkg-config texinfo))
     (native-search-paths
      (list (search-path-specification
             (variable "EMACSLOADPATH")
diff --git a/gnu/packages/patches/emacs-exec-path.patch b/gnu/packages/patches/emacs-exec-path.patch
index 7303599df1..9a76b0237d 100644
--- a/gnu/packages/patches/emacs-exec-path.patch
+++ b/gnu/packages/patches/emacs-exec-path.patch
@@ -4,13 +4,13 @@ with things like GCC being referenced.
 
 --- a/lisp/loadup.el
 +++ b/lisp/loadup.el
-@@ -481,7 +481,8 @@ lost after dumping")))
+@@ -530,7 +530,8 @@ lost after dumping")))
                          ((equal dump-mode "dump") "emacs")
                          ((equal dump-mode "bootstrap") "emacs")
                          ((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp")
--                        (t (error "unrecognized dump mode %s" dump-mode)))))
-+                        (t (error "unrecognized dump mode %s" dump-mode))))
+-                        (t (error "Unrecognized dump mode %s" dump-mode)))))
++                        (t (error "Unrecognized dump mode %s" dump-mode))))
 +          (exec-path nil))
-       (message "Dumping under the name %s" output)
-       (condition-case ()
-           (delete-file output)
+       (when (and (featurep 'native-compile)
+                  (equal dump-mode "pdump"))
+         ;; Don't enable this before bootstrap is completed, as the
diff --git a/gnu/packages/patches/emacs-ignore-empty-xim-styles.patch b/gnu/packages/patches/emacs-ignore-empty-xim-styles.patch
deleted file mode 100644
index 398e65bdc8..0000000000
--- a/gnu/packages/patches/emacs-ignore-empty-xim-styles.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Fix contributed upstream here:
-https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42694.
-
-Index: emacs-26.3/src/xfns.c
-===================================================================
---- emacs-26.3.orig/src/xfns.c
-+++ emacs-26.3/src/xfns.c
-@@ -2628,6 +2628,8 @@ xic_free_xfontset (struct frame *f)
- static XIMStyle
- best_xim_style (XIMStyles *xim)
- {
-+  if (xim == NULL) goto out;
-+
-   int i, j;
-   int nr_supported = ARRAYELTS (supported_xim_styles);
-
-@@ -2636,6 +2638,7 @@ best_xim_style (XIMStyles *xim)
-       if (supported_xim_styles[i] == xim->supported_styles[j])
-	return supported_xim_styles[i];
-
-+ out:
-   /* Return the default style.  */
-   return XIMPreeditNothing | XIMStatusNothing;
- }
-- 
2.34.0





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

* [bug#54829] [PATCH 2/2] gnu: emacs: Add support for socket activation.
  2022-04-09 10:29 [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation Liliana Marie Prikler
  2022-04-09  8:15 ` [bug#54829] [PATCH 1/2] gnu: emacs: Update to 28.1 Liliana Marie Prikler
@ 2022-04-09 10:28 ` Liliana Marie Prikler
  2022-04-10 11:23 ` [bug#54829] [PATCH v3 1/3] gnu: emacs: Update to 28.1 Liliana Marie Prikler
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-04-09 10:28 UTC (permalink / raw)
  To: 54829

* gnu/packages/emacs.scm (emacs)[#:phases]: Add ‘enable-elogind’.
[inputs]: Add elogind.
[native-inputs]: Add autoconf.
---
 gnu/packages/emacs.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 894b9cd7de..818166c552 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -52,6 +52,7 @@ (define-module (gnu packages emacs)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages fribidi)
   #:use-module (gnu packages gd)
   #:use-module (gnu packages gettext)
@@ -131,6 +132,11 @@ (define-public emacs
                                 "--disable-build-details")
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'unpack 'enable-elogind
+            (lambda _
+              (substitute* "configure.ac"
+                (("libsystemd") "libelogind"))
+              (delete-file "configure")))
           (add-after 'unpack 'patch-program-file-names
             (lambda* (#:key inputs #:allow-other-keys)
               (substitute* '("src/callproc.c"
@@ -273,6 +279,7 @@ (define* (emacs-byte-compile-directory dir)
            gmp
            ghostscript
            poppler
+           elogind
 
            ;; When looking for libpng `configure' links with `-lpng -lz', so we
            ;; must also provide zlib as an input.
@@ -292,7 +299,7 @@ (define* (emacs-byte-compile-directory dir)
            libotf
            m17n-lib))
     (native-inputs
-     (list pkg-config texinfo))
+     (list autoconf pkg-config texinfo))
     (native-search-paths
      (list (search-path-specification
             (variable "EMACSLOADPATH")
-- 
2.34.0





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

* [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation
@ 2022-04-09 10:29 Liliana Marie Prikler
  2022-04-09  8:15 ` [bug#54829] [PATCH 1/2] gnu: emacs: Update to 28.1 Liliana Marie Prikler
                   ` (8 more replies)
  0 siblings, 9 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-04-09 10:29 UTC (permalink / raw)
  To: 54829

Hi Guix,

as noted over at guix devel, I've updated Emacs and enabled socket activation.
I did not yet test this, so you might consider it WIP (I did test my own
config with 27.2 under socket activation slightly better), also given the
number of rebuilds I'm never quite sure if we should actually adhere to
Emacs being staging material.  Anyways, please enjoy.

Yours truly

Liliana Marie Prikler (2):
  gnu: emacs: Update to 28.1.
  gnu: emacs: Add support for socket activation.

 gnu/local.mk                                  |   1 -
 gnu/packages/emacs.scm                        | 337 +++++++++---------
 gnu/packages/patches/emacs-exec-path.patch    |  12 +-
 .../emacs-ignore-empty-xim-styles.patch       |  24 --
 4 files changed, 176 insertions(+), 198 deletions(-)
 delete mode 100644 gnu/packages/patches/emacs-ignore-empty-xim-styles.patch

-- 
2.34.0





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

* [bug#54829] [PATCH 1/2] gnu: emacs: Update to 28.1.
  2022-04-09  8:15 ` [bug#54829] [PATCH 1/2] gnu: emacs: Update to 28.1 Liliana Marie Prikler
@ 2022-04-10 10:21   ` Maxime Devos
  2022-04-10 10:23   ` Maxime Devos
  1 sibling, 0 replies; 26+ messages in thread
From: Maxime Devos @ 2022-04-10 10:21 UTC (permalink / raw)
  To: Liliana Marie Prikler, 54829

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

Liliana Marie Prikler schreef op za 09-04-2022 om 10:15 [+0200]:
> +              (substitute* '("src/callproc.c"
> +                             "lisp/term.el"
> +                             "lisp/htmlfontify.el"
> +                             "lisp/textmodes/artist.el"
> +                             "lisp/progmodes/sh-script.el")
> +                (("\"/bin/sh\"")
> +                 (format #f "~s" (which "sh"))))

Unrelated to the socket activation, but for cross-compilation,
this needs to be (search-input-file inputs "bin/sh).

Greetings,
Maxime. 

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#54829] [PATCH 1/2] gnu: emacs: Update to 28.1.
  2022-04-09  8:15 ` [bug#54829] [PATCH 1/2] gnu: emacs: Update to 28.1 Liliana Marie Prikler
  2022-04-10 10:21   ` Maxime Devos
@ 2022-04-10 10:23   ` Maxime Devos
  1 sibling, 0 replies; 26+ messages in thread
From: Maxime Devos @ 2022-04-10 10:23 UTC (permalink / raw)
  To: Liliana Marie Prikler, 54829

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

Liliana Marie Prikler schreef op za 09-04-2022 om 10:15 [+0200]:
> diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
> index bfb3f9790e..894b9cd7de 100644
> --- a/gnu/packages/emacs.scm
> +++ b/gnu/packages/emacs.scm

It's a bit difficult to read this patch because it mixes style changes
and other changes.  Could they be split?

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#54829] [PATCH v2 1/3] gnu: emacs: Update to 28.1.
  2022-04-09 10:29 [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation Liliana Marie Prikler
                   ` (2 preceding siblings ...)
  2022-04-10 11:23 ` [bug#54829] [PATCH v3 1/3] gnu: emacs: Update to 28.1 Liliana Marie Prikler
@ 2022-04-10 11:23 ` Liliana Marie Prikler
  2022-04-11  8:53   ` Michael Rohleder
  2022-04-12  8:15   ` [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation zimoun
  2022-04-10 11:28 ` [bug#54829] [PATCH v3 2/3] gnu: emacs: Use new package style Liliana Marie Prikler
                   ` (4 subsequent siblings)
  8 siblings, 2 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-04-10 11:23 UTC (permalink / raw)
  To: Maxime Devos, 54829

* gnu/packages/emacs.scm (emacs): Update to 28.1
* gnu/packages/patches/emacs-exec-path.patch: Adjust accordingly.
* gnu/packages/patches/emacs-ignore-empty-xim-styles.patch: Delete file.
* gnu/local.mk: Remove it here.
---
 gnu/local.mk                                  |  1 -
 gnu/packages/emacs.scm                        |  5 ++--
 gnu/packages/patches/emacs-exec-path.patch    | 12 +++++-----
 .../emacs-ignore-empty-xim-styles.patch       | 24 -------------------
 4 files changed, 8 insertions(+), 34 deletions(-)
 delete mode 100644 gnu/packages/patches/emacs-ignore-empty-xim-styles.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index a44815bdbb..9d6d81b3e0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1028,7 +1028,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/elogind-revert-polkit-detection.patch	\
   %D%/packages/patches/emacs-exec-path.patch			\
   %D%/packages/patches/emacs-fix-scheme-indent-function.patch	\
-  %D%/packages/patches/emacs-ignore-empty-xim-styles.patch	\
   %D%/packages/patches/emacs-json-reformat-fix-tests.patch	\
   %D%/packages/patches/emacs-highlight-stages-add-gexp.patch	\
   %D%/packages/patches/emacs-hyperbole-toggle-messaging.patch	\
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index bfb3f9790e..7d791250d2 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -79,17 +79,16 @@ (define-module (gnu packages emacs)
 (define-public emacs
   (package
     (name "emacs")
-    (version "27.2")
+    (version "28.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/emacs/emacs-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "1ff182gjw9wqsbx1kj5gl2r5pbqhp4ar54g04j33fgz6g17cr9xl"))
+                "1qbmmmhnjhn4lvzsnyk7l5ganbi6wzbm38jc1a7hhyh3k78b7c98"))
               (patches (search-patches "emacs-exec-path.patch"
                                        "emacs-fix-scheme-indent-function.patch"
-                                       "emacs-ignore-empty-xim-styles.patch"
                                        "emacs-source-date-epoch.patch"))
               (modules '((guix build utils)))
               (snippet
diff --git a/gnu/packages/patches/emacs-exec-path.patch b/gnu/packages/patches/emacs-exec-path.patch
index 7303599df1..9a76b0237d 100644
--- a/gnu/packages/patches/emacs-exec-path.patch
+++ b/gnu/packages/patches/emacs-exec-path.patch
@@ -4,13 +4,13 @@ with things like GCC being referenced.
 
 --- a/lisp/loadup.el
 +++ b/lisp/loadup.el
-@@ -481,7 +481,8 @@ lost after dumping")))
+@@ -530,7 +530,8 @@ lost after dumping")))
                          ((equal dump-mode "dump") "emacs")
                          ((equal dump-mode "bootstrap") "emacs")
                          ((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp")
--                        (t (error "unrecognized dump mode %s" dump-mode)))))
-+                        (t (error "unrecognized dump mode %s" dump-mode))))
+-                        (t (error "Unrecognized dump mode %s" dump-mode)))))
++                        (t (error "Unrecognized dump mode %s" dump-mode))))
 +          (exec-path nil))
-       (message "Dumping under the name %s" output)
-       (condition-case ()
-           (delete-file output)
+       (when (and (featurep 'native-compile)
+                  (equal dump-mode "pdump"))
+         ;; Don't enable this before bootstrap is completed, as the
diff --git a/gnu/packages/patches/emacs-ignore-empty-xim-styles.patch b/gnu/packages/patches/emacs-ignore-empty-xim-styles.patch
deleted file mode 100644
index 398e65bdc8..0000000000
--- a/gnu/packages/patches/emacs-ignore-empty-xim-styles.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Fix contributed upstream here:
-https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42694.
-
-Index: emacs-26.3/src/xfns.c
-===================================================================
---- emacs-26.3.orig/src/xfns.c
-+++ emacs-26.3/src/xfns.c
-@@ -2628,6 +2628,8 @@ xic_free_xfontset (struct frame *f)
- static XIMStyle
- best_xim_style (XIMStyles *xim)
- {
-+  if (xim == NULL) goto out;
-+
-   int i, j;
-   int nr_supported = ARRAYELTS (supported_xim_styles);
-
-@@ -2636,6 +2638,7 @@ best_xim_style (XIMStyles *xim)
-       if (supported_xim_styles[i] == xim->supported_styles[j])
-	return supported_xim_styles[i];
-
-+ out:
-   /* Return the default style.  */
-   return XIMPreeditNothing | XIMStatusNothing;
- }
-- 
2.34.0





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

* [bug#54829] [PATCH v3 1/3] gnu: emacs: Update to 28.1.
  2022-04-09 10:29 [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation Liliana Marie Prikler
  2022-04-09  8:15 ` [bug#54829] [PATCH 1/2] gnu: emacs: Update to 28.1 Liliana Marie Prikler
  2022-04-09 10:28 ` [bug#54829] [PATCH 2/2] gnu: emacs: Add support for socket activation Liliana Marie Prikler
@ 2022-04-10 11:23 ` Liliana Marie Prikler
  2022-04-10 11:23 ` [bug#54829] [PATCH v2 " Liliana Marie Prikler
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-04-10 11:23 UTC (permalink / raw)
  To: 54829; +Cc: Maxime Devos, zimoun

* gnu/packages/emacs.scm (emacs): Update to 28.1
* gnu/packages/patches/emacs-exec-path.patch: Adjust accordingly.
* gnu/packages/patches/emacs-ignore-empty-xim-styles.patch: Delete file.
* gnu/local.mk: Remove it here.
---
 gnu/local.mk                                  |  1 -
 gnu/packages/emacs.scm                        |  5 ++--
 gnu/packages/patches/emacs-exec-path.patch    | 12 +++++-----
 .../emacs-ignore-empty-xim-styles.patch       | 24 -------------------
 4 files changed, 8 insertions(+), 34 deletions(-)
 delete mode 100644 gnu/packages/patches/emacs-ignore-empty-xim-styles.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 70133e6502..585a605138 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1029,7 +1029,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/elogind-revert-polkit-detection.patch	\
   %D%/packages/patches/emacs-exec-path.patch			\
   %D%/packages/patches/emacs-fix-scheme-indent-function.patch	\
-  %D%/packages/patches/emacs-ignore-empty-xim-styles.patch	\
   %D%/packages/patches/emacs-json-reformat-fix-tests.patch	\
   %D%/packages/patches/emacs-highlight-stages-add-gexp.patch	\
   %D%/packages/patches/emacs-hyperbole-toggle-messaging.patch	\
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index bfb3f9790e..7d791250d2 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -79,17 +79,16 @@ (define-module (gnu packages emacs)
 (define-public emacs
   (package
     (name "emacs")
-    (version "27.2")
+    (version "28.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/emacs/emacs-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "1ff182gjw9wqsbx1kj5gl2r5pbqhp4ar54g04j33fgz6g17cr9xl"))
+                "1qbmmmhnjhn4lvzsnyk7l5ganbi6wzbm38jc1a7hhyh3k78b7c98"))
               (patches (search-patches "emacs-exec-path.patch"
                                        "emacs-fix-scheme-indent-function.patch"
-                                       "emacs-ignore-empty-xim-styles.patch"
                                        "emacs-source-date-epoch.patch"))
               (modules '((guix build utils)))
               (snippet
diff --git a/gnu/packages/patches/emacs-exec-path.patch b/gnu/packages/patches/emacs-exec-path.patch
index 7303599df1..9a76b0237d 100644
--- a/gnu/packages/patches/emacs-exec-path.patch
+++ b/gnu/packages/patches/emacs-exec-path.patch
@@ -4,13 +4,13 @@ with things like GCC being referenced.
 
 --- a/lisp/loadup.el
 +++ b/lisp/loadup.el
-@@ -481,7 +481,8 @@ lost after dumping")))
+@@ -530,7 +530,8 @@ lost after dumping")))
                          ((equal dump-mode "dump") "emacs")
                          ((equal dump-mode "bootstrap") "emacs")
                          ((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp")
--                        (t (error "unrecognized dump mode %s" dump-mode)))))
-+                        (t (error "unrecognized dump mode %s" dump-mode))))
+-                        (t (error "Unrecognized dump mode %s" dump-mode)))))
++                        (t (error "Unrecognized dump mode %s" dump-mode))))
 +          (exec-path nil))
-       (message "Dumping under the name %s" output)
-       (condition-case ()
-           (delete-file output)
+       (when (and (featurep 'native-compile)
+                  (equal dump-mode "pdump"))
+         ;; Don't enable this before bootstrap is completed, as the
diff --git a/gnu/packages/patches/emacs-ignore-empty-xim-styles.patch b/gnu/packages/patches/emacs-ignore-empty-xim-styles.patch
deleted file mode 100644
index 398e65bdc8..0000000000
--- a/gnu/packages/patches/emacs-ignore-empty-xim-styles.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Fix contributed upstream here:
-https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42694.
-
-Index: emacs-26.3/src/xfns.c
-===================================================================
---- emacs-26.3.orig/src/xfns.c
-+++ emacs-26.3/src/xfns.c
-@@ -2628,6 +2628,8 @@ xic_free_xfontset (struct frame *f)
- static XIMStyle
- best_xim_style (XIMStyles *xim)
- {
-+  if (xim == NULL) goto out;
-+
-   int i, j;
-   int nr_supported = ARRAYELTS (supported_xim_styles);
-
-@@ -2636,6 +2638,7 @@ best_xim_style (XIMStyles *xim)
-       if (supported_xim_styles[i] == xim->supported_styles[j])
-	return supported_xim_styles[i];
-
-+ out:
-   /* Return the default style.  */
-   return XIMPreeditNothing | XIMStatusNothing;
- }

base-commit: 5059e7f01e1d299a2a52b1649251fa49f1992385
-- 
2.34.0





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

* [bug#54829] [PATCH v2 2/3] gnu: emacs: Use new package style.
  2022-04-09 10:29 [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation Liliana Marie Prikler
                   ` (4 preceding siblings ...)
  2022-04-10 11:28 ` [bug#54829] [PATCH v3 2/3] gnu: emacs: Use new package style Liliana Marie Prikler
@ 2022-04-10 11:28 ` Liliana Marie Prikler
  2022-04-10 11:32 ` [bug#54829] [PATCH v2 3/3] gnu: emacs: Add support for socket activation Liliana Marie Prikler
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-04-10 11:28 UTC (permalink / raw)
  To: Maxime Devos, 54829

* gnu/packages/emacs.scm (emacs)[arguments]: Convert to list of G-Expressions.
Use ‘search-input-file’ where possible.
Inline references to auxiliary files.
[inputs, native-inputs]: Drop labels.
---
 gnu/packages/emacs.scm | 326 ++++++++++++++++++++---------------------
 1 file changed, 162 insertions(+), 164 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 7d791250d2..ae062dadf1 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -41,6 +41,7 @@
 (define-module (gnu packages emacs)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
+  #:use-module (guix gexp)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
@@ -51,6 +52,7 @@ (define-module (gnu packages emacs)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages fribidi)
   #:use-module (gnu packages gd)
   #:use-module (gnu packages gettext)
@@ -123,179 +125,175 @@ (define-public emacs
                   #t))))
     (build-system glib-or-gtk-build-system)
     (arguments
-     `(#:tests? #f                      ; no check target
-       #:configure-flags (list "--with-modules"
-                               "--with-cairo"
-                               "--disable-build-details")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-program-file-names
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* '("src/callproc.c"
-                            "lisp/term.el"
-                            "lisp/htmlfontify.el"
-                            "lisp/textmodes/artist.el"
-                            "lisp/progmodes/sh-script.el")
-               (("\"/bin/sh\"")
-                (format #f "~s" (which "sh"))))
-             (substitute* "lisp/doc-view.el"
-               (("\"(gs|dvipdf|ps2pdf)\"" all what)
-                (let ((ghostscript (assoc-ref inputs "ghostscript")))
-                  (if ghostscript
-                      (string-append "\"" ghostscript "/bin/" what "\"")
-                      all)))
-               (("\"(pdftotext)\"" all what)
-                (let ((poppler (assoc-ref inputs "poppler")))
-                  (if poppler
-                      (string-append "\"" poppler "/bin/" what "\"")
-                      all))))
-             ;; match ".gvfs-fuse-daemon-real" and ".gvfsd-fuse-real"
-             ;; respectively when looking for GVFS processes.
-             (substitute* "lisp/net/tramp-gvfs.el"
-               (("\\(tramp-compat-process-running-p \"(.*)\"\\)" all process)
-                (format #f "(or ~a (tramp-compat-process-running-p ~s))"
-                        all (string-append "." process "-real"))))
-             #t))
-         (add-before 'configure 'fix-/bin/pwd
-           (lambda _
-             ;; Use `pwd', not `/bin/pwd'.
-             (substitute* (find-files "." "^Makefile\\.in$")
-               (("/bin/pwd")
-                "pwd"))
-             #t))
-         (add-after 'install 'install-site-start
-           ;; Use 'guix-emacs' in "site-start.el", which is used autoload the
-           ;; Elisp packages found in EMACSLOADPATH.
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out      (assoc-ref outputs "out"))
-                    (lisp-dir (string-append out "/share/emacs/site-lisp"))
-                    (emacs    (string-append out "/bin/emacs")))
+     (list
+      #:tests? #f                      ; no check target
+      #:configure-flags #~(list "--with-modules"
+                                "--with-cairo"
+                                "--disable-build-details")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-program-file-names
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* '("src/callproc.c"
+                             "lisp/term.el"
+                             "lisp/htmlfontify.el"
+                             "lisp/textmodes/artist.el"
+                             "lisp/progmodes/sh-script.el")
+                (("\"/bin/sh\"")
+                 (format #f "~s" (search-input-file inputs "/bin/sh"))))
+              (substitute* "lisp/doc-view.el"
+                (("\"(gs|dvipdf|ps2pdf|pdftotext)\"" all what)
+                 (let ((replacement (search-input-file
+                                     inputs
+                                     (string-append "/bin/" what))))
+                   (if replacement
+                       (string-append "\"" replacement "\"")
+                       all))))
+              ;; match ".gvfs-fuse-daemon-real" and ".gvfsd-fuse-real"
+              ;; respectively when looking for GVFS processes.
+              (substitute* "lisp/net/tramp-gvfs.el"
+                (("\\(tramp-compat-process-running-p \"(.*)\"\\)" all process)
+                 (format #f "(or ~a (tramp-compat-process-running-p ~s))"
+                         all (string-append "." process "-real"))))))
+          (add-before 'configure 'fix-/bin/pwd
+            (lambda _
+              ;; Use `pwd', not `/bin/pwd'.
+              (substitute* (find-files "." "^Makefile\\.in$")
+                (("/bin/pwd")
+                 "pwd"))))
+          (add-after 'install 'install-site-start
+            ;; Use 'guix-emacs' in "site-start.el", which is used autoload the
+            ;; Elisp packages found in EMACSLOADPATH.
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((out      (assoc-ref outputs "out"))
+                     (lisp-dir (string-append out "/share/emacs/site-lisp"))
+                     (emacs    (string-append out "/bin/emacs")))
 
-               ;; This is duplicated from emacs-utils to prevent coupling.
-               (define* (emacs-byte-compile-directory dir)
-                 (let ((expr `(progn
-                               (setq byte-compile-debug t)
-                               (byte-recompile-directory
-                                (file-name-as-directory ,dir) 0 1))))
-                   (invoke emacs "--quick" "--batch"
-                           (format #f "--eval=~s" expr))))
+                ;; This is duplicated from emacs-utils to prevent coupling.
+                (define* (emacs-byte-compile-directory dir)
+                  (let ((expr `(progn
+                                (setq byte-compile-debug t)
+                                (byte-recompile-directory
+                                 (file-name-as-directory ,dir) 0 1))))
+                    (invoke emacs "--quick" "--batch"
+                            (format #f "--eval=~s" expr))))
 
-               (copy-file (assoc-ref inputs "guix-emacs.el")
-                          (string-append lisp-dir "/guix-emacs.el"))
-               (with-output-to-file (string-append lisp-dir "/site-start.el")
-                 (lambda ()
-                   (display
-                    (string-append
-                     "(when (require 'guix-emacs nil t)\n"
-                     "  (guix-emacs-autoload-packages)\n"
-                     "  (advice-add 'package-load-all-descriptors"
-                     " :after #'guix-emacs-load-package-descriptors))"))))
-               ;; Remove the extraneous subdirs.el file, as it causes Emacs to
-               ;; add recursively all the the sub-directories of a profile's
-               ;; share/emacs/site-lisp union when added to EMACSLOADPATH,
-               ;; which leads to conflicts.
-               (delete-file (string-append lisp-dir "/subdirs.el"))
-               ;; Byte compile the site-start files.
-               (emacs-byte-compile-directory lisp-dir))
-             #t))
-         (add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
-           ;; restore the dump file that Emacs installs somewhere in
-           ;; libexec/ to its original state
-           (lambda* (#:key outputs target #:allow-other-keys)
-             (let* ((libexec (string-append (assoc-ref outputs "out")
-                                            "/libexec"))
-                    ;; each of these ought to only match a single file,
-                    ;; but even if not (find-files) sorts by string<,
-                    ;; so the Nth element in one maps to the Nth element of
-                    ;; the other
-                    (pdmp (find-files libexec "\\.pdmp$"))
-                    (pdmp-real (find-files libexec "\\.pdmp-real$")))
-               (for-each rename-file pdmp-real pdmp))))
-         (add-after 'glib-or-gtk-wrap 'strip-double-wrap
-           (lambda* (#:key outputs #:allow-other-keys)
-             ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped
-             ;; twice.  This also fixes a minor issue, where WMs would not be
-             ;; able to track emacs back to emacs.desktop.
-             (with-directory-excursion (assoc-ref outputs "out")
-               (copy-file
-                (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
-                "bin/emacs")
-               #t)))
-         (add-after 'strip-double-wrap 'wrap-emacs-paths
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (lisp-dirs (find-files (string-append out "/share/emacs")
-                                           "^lisp$"
-                                           #:directories? #t)))
-               (for-each
-                (lambda (prog)
-                  (wrap-program prog
-                    ;; emacs-next and variants rely on uname being in PATH for
-                    ;; Tramp.  Tramp paths can't be hardcoded, because they
-                    ;; need to be portable.
-                    `("PATH" suffix
-                      ,(map (lambda (in) (string-append in "/bin"))
-                            (list (assoc-ref inputs "gzip")
-                                  (assoc-ref inputs "coreutils"))))
-                    `("EMACSLOADPATH" suffix ,lisp-dirs)))
-                (find-files (string-append out "/bin")
-                            ;; Matches versioned and unversioned emacs binaries.
-                            ;; We don't patch emacsclient, because it takes its
-                            ;; environment variables from emacs.
-                            ;; Likewise, we don't need to patch helper binaries
-                            ;; like etags, ctags or ebrowse.
-                            "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))))))))
+                (copy-file #$(local-file
+                              (search-auxiliary-file "emacs/guix-emacs.el"))
+                           (string-append lisp-dir "/guix-emacs.el"))
+                (with-output-to-file (string-append lisp-dir "/site-start.el")
+                  (lambda ()
+                    (display
+                     (string-append
+                      "(when (require 'guix-emacs nil t)\n"
+                      "  (guix-emacs-autoload-packages)\n"
+                      "  (advice-add 'package-load-all-descriptors"
+                      " :after #'guix-emacs-load-package-descriptors))"))))
+                ;; Remove the extraneous subdirs.el file, as it causes Emacs to
+                ;; add recursively all the the sub-directories of a profile's
+                ;; share/emacs/site-lisp union when added to EMACSLOADPATH,
+                ;; which leads to conflicts.
+                (delete-file (string-append lisp-dir "/subdirs.el"))
+                ;; Byte compile the site-start files.
+                (emacs-byte-compile-directory lisp-dir))
+              #t))
+          (add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
+            ;; restore the dump file that Emacs installs somewhere in
+            ;; libexec/ to its original state
+            (lambda* (#:key outputs target #:allow-other-keys)
+              (let* ((libexec (string-append (assoc-ref outputs "out")
+                                             "/libexec"))
+                     ;; each of these ought to only match a single file,
+                     ;; but even if not (find-files) sorts by string<,
+                     ;; so the Nth element in one maps to the Nth element of
+                     ;; the other
+                     (pdmp (find-files libexec "\\.pdmp$"))
+                     (pdmp-real (find-files libexec "\\.pdmp-real$")))
+                (for-each rename-file pdmp-real pdmp))))
+          (add-after 'glib-or-gtk-wrap 'strip-double-wrap
+            (lambda* (#:key outputs #:allow-other-keys)
+              ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped
+              ;; twice.  This also fixes a minor issue, where WMs would not be
+              ;; able to track emacs back to emacs.desktop.
+              (with-directory-excursion (assoc-ref outputs "out")
+                (copy-file
+                 (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
+                 "bin/emacs")
+                #t)))
+          (add-after 'strip-double-wrap 'wrap-emacs-paths
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((out (assoc-ref outputs "out"))
+                     (lisp-dirs (find-files (string-append out "/share/emacs")
+                                            "^lisp$"
+                                            #:directories? #t)))
+                (for-each
+                 (lambda (prog)
+                   (wrap-program prog
+                     ;; emacs-next and variants rely on uname being in PATH for
+                     ;; Tramp.  Tramp paths can't be hardcoded, because they
+                     ;; need to be portable.
+                     `("PATH" suffix
+                       ,(map dirname
+                             (list (search-input-file inputs "/bin/gzip")
+                                   ;; for coreutils
+                                   (search-input-file inputs "/bin/yes"))))
+                     `("EMACSLOADPATH" suffix ,lisp-dirs)))
+                 (find-files (string-append out "/bin")
+                             ;; Matches versioned and unversioned emacs binaries.
+                             ;; We don't patch emacsclient, because it takes its
+                             ;; environment variables from emacs.
+                             ;; Likewise, we don't need to patch helper binaries
+                             ;; like etags, ctags or ebrowse.
+                             "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))))))))
     (inputs
-     `(("gnutls" ,gnutls)
-       ("ncurses" ,ncurses)
+     (list gnutls
+           ncurses
 
-       ;; Required for "core" functionality, such as dired and compression.
-       ("coreutils" ,coreutils)
-       ("gzip" ,gzip)
+           ;; Required for "core" functionality, such as dired and compression.
+           coreutils
+           gzip
 
-       ;; Avoid Emacs's limited movemail substitute that retrieves POP3 email
-       ;; only via insecure channels.  This is not needed for (modern) IMAP.
-       ("mailutils" ,mailutils)
+           ;; Avoid Emacs's limited movemail substitute that retrieves POP3
+           ;; email only via insecure channels.
+           ;; This is not needed for (modern) IMAP.
+           mailutils
 
-       ;; TODO: Add the optional dependencies.
-       ("gpm" ,gpm)
-       ("libx11" ,libx11)
-       ("gtk+" ,gtk+)
-       ("cairo" ,cairo)
-       ("pango" ,pango)
-       ("harfbuzz" ,harfbuzz)
-       ("libxft" ,libxft)
-       ("libtiff" ,libtiff)
-       ("giflib" ,giflib)
-       ("libjpeg" ,libjpeg-turbo)
-       ("acl" ,acl)
-       ("jansson" ,jansson)
-       ("gmp" ,gmp)
-       ("ghostscript" ,ghostscript)
-       ("poppler" ,poppler)
+           ;; TODO: Add the optional dependencies.
+           gpm
+           libx11
+           gtk+
+           cairo
+           pango
+           harfbuzz
+           libxft
+           libtiff
+           giflib
+           libjpeg-turbo
+           acl
+           jansson
+           gmp
+           ghostscript
+           poppler
 
-       ;; When looking for libpng `configure' links with `-lpng -lz', so we
-       ;; must also provide zlib as an input.
-       ("libpng" ,libpng)
-       ("zlib" ,zlib)
-       ("librsvg" ,@(if (target-x86-64?)
-                         (list librsvg-bootstrap)
-                         (list librsvg-2.40)))
-       ("libxpm" ,libxpm)
-       ("libxml2" ,libxml2)
-       ("libice" ,libice)
-       ("libsm" ,libsm)
-       ("alsa-lib" ,alsa-lib)
-       ("dbus" ,dbus)
+           ;; When looking for libpng `configure' links with `-lpng -lz', so we
+           ;; must also provide zlib as an input.
+           libpng
+           zlib
+           (if (target-x86-64?)
+               librsvg-bootstrap
+               librsvg-2.40)
+           libxpm
+           libxml2
+           libice
+           libsm
+           alsa-lib
+           dbus
 
-       ;; multilingualization support
-       ("libotf" ,libotf)
-       ("m17n-lib" ,m17n-lib)))
+           ;; multilingualization support
+           libotf
+           m17n-lib))
     (native-inputs
-     `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el"))
-       ("pkg-config" ,pkg-config)
-       ("texinfo" ,texinfo)))
-
+     (list pkg-config texinfo))
     (native-search-paths
      (list (search-path-specification
             (variable "EMACSLOADPATH")
-- 
2.34.0





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

* [bug#54829] [PATCH v3 2/3] gnu: emacs: Use new package style.
  2022-04-09 10:29 [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation Liliana Marie Prikler
                   ` (3 preceding siblings ...)
  2022-04-10 11:23 ` [bug#54829] [PATCH v2 " Liliana Marie Prikler
@ 2022-04-10 11:28 ` Liliana Marie Prikler
  2022-04-10 11:28 ` [bug#54829] [PATCH v2 " Liliana Marie Prikler
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-04-10 11:28 UTC (permalink / raw)
  To: 54829; +Cc: Maxime Devos, zimoun

* gnu/packages/emacs.scm (emacs)[source]<snippet>: Drop trailing ‘#t’.
[arguments]: Convert to list of G-Expressions.
Use ‘search-input-file’ where possible.
Inline references to auxiliary files.
Drop trailing ‘#t’s.
[inputs, native-inputs]: Drop labels.
---
 gnu/packages/emacs.scm | 327 ++++++++++++++++++++---------------------
 1 file changed, 161 insertions(+), 166 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 7d791250d2..a32fe624dd 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -41,6 +41,7 @@
 (define-module (gnu packages emacs)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
+  #:use-module (guix gexp)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
@@ -51,6 +52,7 @@ (define-module (gnu packages emacs)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages fribidi)
   #:use-module (gnu packages gd)
   #:use-module (gnu packages gettext)
@@ -119,183 +121,176 @@ (define-public emacs
                       (list line
                             "\"~/.guix-profile/include\""
                             "\"/var/guix/profiles/system/profile/include\"")
-                      " ")))
-                  #t))))
+                      " ")))))))
     (build-system glib-or-gtk-build-system)
     (arguments
-     `(#:tests? #f                      ; no check target
-       #:configure-flags (list "--with-modules"
-                               "--with-cairo"
-                               "--disable-build-details")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-program-file-names
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* '("src/callproc.c"
-                            "lisp/term.el"
-                            "lisp/htmlfontify.el"
-                            "lisp/textmodes/artist.el"
-                            "lisp/progmodes/sh-script.el")
-               (("\"/bin/sh\"")
-                (format #f "~s" (which "sh"))))
-             (substitute* "lisp/doc-view.el"
-               (("\"(gs|dvipdf|ps2pdf)\"" all what)
-                (let ((ghostscript (assoc-ref inputs "ghostscript")))
-                  (if ghostscript
-                      (string-append "\"" ghostscript "/bin/" what "\"")
-                      all)))
-               (("\"(pdftotext)\"" all what)
-                (let ((poppler (assoc-ref inputs "poppler")))
-                  (if poppler
-                      (string-append "\"" poppler "/bin/" what "\"")
-                      all))))
-             ;; match ".gvfs-fuse-daemon-real" and ".gvfsd-fuse-real"
-             ;; respectively when looking for GVFS processes.
-             (substitute* "lisp/net/tramp-gvfs.el"
-               (("\\(tramp-compat-process-running-p \"(.*)\"\\)" all process)
-                (format #f "(or ~a (tramp-compat-process-running-p ~s))"
-                        all (string-append "." process "-real"))))
-             #t))
-         (add-before 'configure 'fix-/bin/pwd
-           (lambda _
-             ;; Use `pwd', not `/bin/pwd'.
-             (substitute* (find-files "." "^Makefile\\.in$")
-               (("/bin/pwd")
-                "pwd"))
-             #t))
-         (add-after 'install 'install-site-start
-           ;; Use 'guix-emacs' in "site-start.el", which is used autoload the
-           ;; Elisp packages found in EMACSLOADPATH.
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out      (assoc-ref outputs "out"))
-                    (lisp-dir (string-append out "/share/emacs/site-lisp"))
-                    (emacs    (string-append out "/bin/emacs")))
+     (list
+      #:tests? #f                      ; no check target
+      #:configure-flags #~(list "--with-modules"
+                                "--with-cairo"
+                                "--disable-build-details")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-program-file-names
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* '("src/callproc.c"
+                             "lisp/term.el"
+                             "lisp/htmlfontify.el"
+                             "lisp/textmodes/artist.el"
+                             "lisp/progmodes/sh-script.el")
+                (("\"/bin/sh\"")
+                 (format #f "~s" (search-input-file inputs "/bin/sh"))))
+              (substitute* "lisp/doc-view.el"
+                (("\"(gs|dvipdf|ps2pdf|pdftotext)\"" all what)
+                 (let ((replacement (search-input-file
+                                     inputs
+                                     (string-append "/bin/" what))))
+                   (if replacement
+                       (string-append "\"" replacement "\"")
+                       all))))
+              ;; match ".gvfs-fuse-daemon-real" and ".gvfsd-fuse-real"
+              ;; respectively when looking for GVFS processes.
+              (substitute* "lisp/net/tramp-gvfs.el"
+                (("\\(tramp-compat-process-running-p \"(.*)\"\\)" all process)
+                 (format #f "(or ~a (tramp-compat-process-running-p ~s))"
+                         all (string-append "." process "-real"))))))
+          (add-before 'configure 'fix-/bin/pwd
+            (lambda _
+              ;; Use `pwd', not `/bin/pwd'.
+              (substitute* (find-files "." "^Makefile\\.in$")
+                (("/bin/pwd")
+                 "pwd"))))
+          (add-after 'install 'install-site-start
+            ;; Use 'guix-emacs' in "site-start.el", which is used autoload the
+            ;; Elisp packages found in EMACSLOADPATH.
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((out      (assoc-ref outputs "out"))
+                     (lisp-dir (string-append out "/share/emacs/site-lisp"))
+                     (emacs    (string-append out "/bin/emacs")))
 
-               ;; This is duplicated from emacs-utils to prevent coupling.
-               (define* (emacs-byte-compile-directory dir)
-                 (let ((expr `(progn
-                               (setq byte-compile-debug t)
-                               (byte-recompile-directory
-                                (file-name-as-directory ,dir) 0 1))))
-                   (invoke emacs "--quick" "--batch"
-                           (format #f "--eval=~s" expr))))
+                ;; This is duplicated from emacs-utils to prevent coupling.
+                (define* (emacs-byte-compile-directory dir)
+                  (let ((expr `(progn
+                                (setq byte-compile-debug t)
+                                (byte-recompile-directory
+                                 (file-name-as-directory ,dir) 0 1))))
+                    (invoke emacs "--quick" "--batch"
+                            (format #f "--eval=~s" expr))))
 
-               (copy-file (assoc-ref inputs "guix-emacs.el")
-                          (string-append lisp-dir "/guix-emacs.el"))
-               (with-output-to-file (string-append lisp-dir "/site-start.el")
-                 (lambda ()
-                   (display
-                    (string-append
-                     "(when (require 'guix-emacs nil t)\n"
-                     "  (guix-emacs-autoload-packages)\n"
-                     "  (advice-add 'package-load-all-descriptors"
-                     " :after #'guix-emacs-load-package-descriptors))"))))
-               ;; Remove the extraneous subdirs.el file, as it causes Emacs to
-               ;; add recursively all the the sub-directories of a profile's
-               ;; share/emacs/site-lisp union when added to EMACSLOADPATH,
-               ;; which leads to conflicts.
-               (delete-file (string-append lisp-dir "/subdirs.el"))
-               ;; Byte compile the site-start files.
-               (emacs-byte-compile-directory lisp-dir))
-             #t))
-         (add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
-           ;; restore the dump file that Emacs installs somewhere in
-           ;; libexec/ to its original state
-           (lambda* (#:key outputs target #:allow-other-keys)
-             (let* ((libexec (string-append (assoc-ref outputs "out")
-                                            "/libexec"))
-                    ;; each of these ought to only match a single file,
-                    ;; but even if not (find-files) sorts by string<,
-                    ;; so the Nth element in one maps to the Nth element of
-                    ;; the other
-                    (pdmp (find-files libexec "\\.pdmp$"))
-                    (pdmp-real (find-files libexec "\\.pdmp-real$")))
-               (for-each rename-file pdmp-real pdmp))))
-         (add-after 'glib-or-gtk-wrap 'strip-double-wrap
-           (lambda* (#:key outputs #:allow-other-keys)
-             ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped
-             ;; twice.  This also fixes a minor issue, where WMs would not be
-             ;; able to track emacs back to emacs.desktop.
-             (with-directory-excursion (assoc-ref outputs "out")
-               (copy-file
-                (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
-                "bin/emacs")
-               #t)))
-         (add-after 'strip-double-wrap 'wrap-emacs-paths
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (lisp-dirs (find-files (string-append out "/share/emacs")
-                                           "^lisp$"
-                                           #:directories? #t)))
-               (for-each
-                (lambda (prog)
-                  (wrap-program prog
-                    ;; emacs-next and variants rely on uname being in PATH for
-                    ;; Tramp.  Tramp paths can't be hardcoded, because they
-                    ;; need to be portable.
-                    `("PATH" suffix
-                      ,(map (lambda (in) (string-append in "/bin"))
-                            (list (assoc-ref inputs "gzip")
-                                  (assoc-ref inputs "coreutils"))))
-                    `("EMACSLOADPATH" suffix ,lisp-dirs)))
-                (find-files (string-append out "/bin")
-                            ;; Matches versioned and unversioned emacs binaries.
-                            ;; We don't patch emacsclient, because it takes its
-                            ;; environment variables from emacs.
-                            ;; Likewise, we don't need to patch helper binaries
-                            ;; like etags, ctags or ebrowse.
-                            "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))))))))
+                (copy-file #$(local-file
+                              (search-auxiliary-file "emacs/guix-emacs.el"))
+                           (string-append lisp-dir "/guix-emacs.el"))
+                (with-output-to-file (string-append lisp-dir "/site-start.el")
+                  (lambda ()
+                    (display
+                     (string-append
+                      "(when (require 'guix-emacs nil t)\n"
+                      "  (guix-emacs-autoload-packages)\n"
+                      "  (advice-add 'package-load-all-descriptors"
+                      " :after #'guix-emacs-load-package-descriptors))"))))
+                ;; Remove the extraneous subdirs.el file, as it causes Emacs to
+                ;; add recursively all the the sub-directories of a profile's
+                ;; share/emacs/site-lisp union when added to EMACSLOADPATH,
+                ;; which leads to conflicts.
+                (delete-file (string-append lisp-dir "/subdirs.el"))
+                ;; Byte compile the site-start files.
+                (emacs-byte-compile-directory lisp-dir))))
+          (add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
+            ;; restore the dump file that Emacs installs somewhere in
+            ;; libexec/ to its original state
+            (lambda* (#:key outputs target #:allow-other-keys)
+              (let* ((libexec (string-append (assoc-ref outputs "out")
+                                             "/libexec"))
+                     ;; each of these ought to only match a single file,
+                     ;; but even if not (find-files) sorts by string<,
+                     ;; so the Nth element in one maps to the Nth element of
+                     ;; the other
+                     (pdmp (find-files libexec "\\.pdmp$"))
+                     (pdmp-real (find-files libexec "\\.pdmp-real$")))
+                (for-each rename-file pdmp-real pdmp))))
+          (add-after 'glib-or-gtk-wrap 'strip-double-wrap
+            (lambda* (#:key outputs #:allow-other-keys)
+              ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped
+              ;; twice.  This also fixes a minor issue, where WMs would not be
+              ;; able to track emacs back to emacs.desktop.
+              (with-directory-excursion (assoc-ref outputs "out")
+                (copy-file
+                 (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
+                 "bin/emacs"))))
+          (add-after 'strip-double-wrap 'wrap-emacs-paths
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((out (assoc-ref outputs "out"))
+                     (lisp-dirs (find-files (string-append out "/share/emacs")
+                                            "^lisp$"
+                                            #:directories? #t)))
+                (for-each
+                 (lambda (prog)
+                   (wrap-program prog
+                     ;; emacs-next and variants rely on uname being in PATH for
+                     ;; Tramp.  Tramp paths can't be hardcoded, because they
+                     ;; need to be portable.
+                     `("PATH" suffix
+                       ,(map dirname
+                             (list (search-input-file inputs "/bin/gzip")
+                                   ;; for coreutils
+                                   (search-input-file inputs "/bin/yes"))))
+                     `("EMACSLOADPATH" suffix ,lisp-dirs)))
+                 (find-files (string-append out "/bin")
+                             ;; Matches versioned and unversioned emacs binaries.
+                             ;; We don't patch emacsclient, because it takes its
+                             ;; environment variables from emacs.
+                             ;; Likewise, we don't need to patch helper binaries
+                             ;; like etags, ctags or ebrowse.
+                             "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))))))))
     (inputs
-     `(("gnutls" ,gnutls)
-       ("ncurses" ,ncurses)
+     (list gnutls
+           ncurses
 
-       ;; Required for "core" functionality, such as dired and compression.
-       ("coreutils" ,coreutils)
-       ("gzip" ,gzip)
+           ;; Required for "core" functionality, such as dired and compression.
+           coreutils
+           gzip
 
-       ;; Avoid Emacs's limited movemail substitute that retrieves POP3 email
-       ;; only via insecure channels.  This is not needed for (modern) IMAP.
-       ("mailutils" ,mailutils)
+           ;; Avoid Emacs's limited movemail substitute that retrieves POP3
+           ;; email only via insecure channels.
+           ;; This is not needed for (modern) IMAP.
+           mailutils
 
-       ;; TODO: Add the optional dependencies.
-       ("gpm" ,gpm)
-       ("libx11" ,libx11)
-       ("gtk+" ,gtk+)
-       ("cairo" ,cairo)
-       ("pango" ,pango)
-       ("harfbuzz" ,harfbuzz)
-       ("libxft" ,libxft)
-       ("libtiff" ,libtiff)
-       ("giflib" ,giflib)
-       ("libjpeg" ,libjpeg-turbo)
-       ("acl" ,acl)
-       ("jansson" ,jansson)
-       ("gmp" ,gmp)
-       ("ghostscript" ,ghostscript)
-       ("poppler" ,poppler)
+           ;; TODO: Add the optional dependencies.
+           gpm
+           libx11
+           gtk+
+           cairo
+           pango
+           harfbuzz
+           libxft
+           libtiff
+           giflib
+           libjpeg-turbo
+           acl
+           jansson
+           gmp
+           ghostscript
+           poppler
 
-       ;; When looking for libpng `configure' links with `-lpng -lz', so we
-       ;; must also provide zlib as an input.
-       ("libpng" ,libpng)
-       ("zlib" ,zlib)
-       ("librsvg" ,@(if (target-x86-64?)
-                         (list librsvg-bootstrap)
-                         (list librsvg-2.40)))
-       ("libxpm" ,libxpm)
-       ("libxml2" ,libxml2)
-       ("libice" ,libice)
-       ("libsm" ,libsm)
-       ("alsa-lib" ,alsa-lib)
-       ("dbus" ,dbus)
+           ;; When looking for libpng `configure' links with `-lpng -lz', so we
+           ;; must also provide zlib as an input.
+           libpng
+           zlib
+           (if (target-x86-64?)
+               librsvg-bootstrap
+               librsvg-2.40)
+           libxpm
+           libxml2
+           libice
+           libsm
+           alsa-lib
+           dbus
 
-       ;; multilingualization support
-       ("libotf" ,libotf)
-       ("m17n-lib" ,m17n-lib)))
+           ;; multilingualization support
+           libotf
+           m17n-lib))
     (native-inputs
-     `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el"))
-       ("pkg-config" ,pkg-config)
-       ("texinfo" ,texinfo)))
-
+     (list pkg-config texinfo))
     (native-search-paths
      (list (search-path-specification
             (variable "EMACSLOADPATH")
-- 
2.34.0





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

* [bug#54829] [PATCH v2 3/3] gnu: emacs: Add support for socket activation.
  2022-04-09 10:29 [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation Liliana Marie Prikler
                   ` (5 preceding siblings ...)
  2022-04-10 11:28 ` [bug#54829] [PATCH v2 " Liliana Marie Prikler
@ 2022-04-10 11:32 ` Liliana Marie Prikler
  2022-04-10 11:32 ` [bug#54829] [PATCH v3 " Liliana Marie Prikler
  2022-04-26 21:27 ` [bug#54829] Other emacs packages Luis Henrique Gomes Higino
  8 siblings, 0 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-04-10 11:32 UTC (permalink / raw)
  To: Maxime Devos, 54829

* gnu/packages/emacs.scm (emacs)[#:phases]: Add ‘enable-elogind’.
[inputs]: Add elogind.
[native-inputs]: Add autoconf.
---
 gnu/packages/emacs.scm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index ae062dadf1..85154da72b 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -132,6 +132,11 @@ (define-public emacs
                                 "--disable-build-details")
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'unpack 'enable-elogind
+            (lambda _
+              (substitute* "configure.ac"
+                (("libsystemd") "libelogind"))
+              (delete-file "configure")))
           (add-after 'unpack 'patch-program-file-names
             (lambda* (#:key inputs #:allow-other-keys)
               (substitute* '("src/callproc.c"
@@ -274,6 +279,7 @@ (define* (emacs-byte-compile-directory dir)
            gmp
            ghostscript
            poppler
+           elogind
 
            ;; When looking for libpng `configure' links with `-lpng -lz', so we
            ;; must also provide zlib as an input.
@@ -293,7 +299,7 @@ (define* (emacs-byte-compile-directory dir)
            libotf
            m17n-lib))
     (native-inputs
-     (list pkg-config texinfo))
+     (list autoconf pkg-config texinfo))
     (native-search-paths
      (list (search-path-specification
             (variable "EMACSLOADPATH")
-- 
2.34.0





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

* [bug#54829] [PATCH v3 3/3] gnu: emacs: Add support for socket activation.
  2022-04-09 10:29 [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation Liliana Marie Prikler
                   ` (6 preceding siblings ...)
  2022-04-10 11:32 ` [bug#54829] [PATCH v2 3/3] gnu: emacs: Add support for socket activation Liliana Marie Prikler
@ 2022-04-10 11:32 ` Liliana Marie Prikler
  2022-04-28 12:15   ` [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add " Ludovic Courtès
  2022-04-26 21:27 ` [bug#54829] Other emacs packages Luis Henrique Gomes Higino
  8 siblings, 1 reply; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-04-10 11:32 UTC (permalink / raw)
  To: 54829; +Cc: Maxime Devos, zimoun

* gnu/packages/emacs.scm (emacs)[#:phases]: Add ‘enable-elogind’.
[inputs]: Add elogind.
[native-inputs]: Add autoconf.
---
 gnu/packages/emacs.scm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index a32fe624dd..847731b95d 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -131,6 +131,11 @@ (define-public emacs
                                 "--disable-build-details")
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'unpack 'enable-elogind
+            (lambda _
+              (substitute* "configure.ac"
+                (("libsystemd") "libelogind"))
+              (delete-file "configure")))
           (add-after 'unpack 'patch-program-file-names
             (lambda* (#:key inputs #:allow-other-keys)
               (substitute* '("src/callproc.c"
@@ -271,6 +276,7 @@ (define* (emacs-byte-compile-directory dir)
            gmp
            ghostscript
            poppler
+           elogind
 
            ;; When looking for libpng `configure' links with `-lpng -lz', so we
            ;; must also provide zlib as an input.
@@ -290,7 +296,7 @@ (define* (emacs-byte-compile-directory dir)
            libotf
            m17n-lib))
     (native-inputs
-     (list pkg-config texinfo))
+     (list autoconf pkg-config texinfo))
     (native-search-paths
      (list (search-path-specification
             (variable "EMACSLOADPATH")
-- 
2.34.0





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

* [bug#54829] [PATCH v2 1/3] gnu: emacs: Update to 28.1.
  2022-04-10 11:23 ` [bug#54829] [PATCH v2 " Liliana Marie Prikler
@ 2022-04-11  8:53   ` Michael Rohleder
  2022-04-12  8:15   ` [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation zimoun
  1 sibling, 0 replies; 26+ messages in thread
From: Michael Rohleder @ 2022-04-11  8:53 UTC (permalink / raw)
  To: 54829

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

> * gnu/packages/emacs.scm (emacs): Update to 28.1
> * gnu/packages/patches/emacs-exec-path.patch: Adjust accordingly.
> * gnu/packages/patches/emacs-ignore-empty-xim-styles.patch: Delete file.
> * gnu/local.mk: Remove it here.
> ---
>  gnu/local.mk                                  |  1 -
>  gnu/packages/emacs.scm                        |  5 ++--
>  gnu/packages/patches/emacs-exec-path.patch    | 12 +++++-----
>  .../emacs-ignore-empty-xim-styles.patch       | 24 -------------------
>  4 files changed, 8 insertions(+), 34 deletions(-)
>  delete mode 100644 gnu/packages/patches/emacs-ignore-empty-xim-styles.patch

LGTM!

Building emacs, emacs-minimal, emacs-xwidgets, emacs-no-x,
emacs-no-x-toolkit, emacs-wide-int (and running them) with this v2 1/3
patch worked well me.

-- 
Perfection (in design) is achieved not when there is nothing more to
add, but rather when there is nothing more to take away.

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

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

* [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation
  2022-04-10 11:23 ` [bug#54829] [PATCH v2 " Liliana Marie Prikler
  2022-04-11  8:53   ` Michael Rohleder
@ 2022-04-12  8:15   ` zimoun
  2022-04-12 18:19     ` Liliana Marie Prikler
  1 sibling, 1 reply; 26+ messages in thread
From: zimoun @ 2022-04-12  8:15 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: Maxime Devos, 54829

Hi Liliana,

Applying patch v2 1/3, I get:

--8<---------------cut here---------------start------------->8---
error: corrupt patch at line 71
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Applying: gnu: emacs: Update to 28.1.
Patch failed at 0001 gnu: emacs: Update to 28.1.
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
--8<---------------cut here---------------end--------------->8---

I do not know what is wrong.  Could you provide the commit against which
this patch applies?  See 'git format-patch --base='.

Moreover, since the upgrade of Emacs leads to an emacs-world rebuild, it
could be nice to also remove all the trailing #t.  WDYT?


Cheers,
simon




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

* [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation
  2022-04-12  8:15   ` [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation zimoun
@ 2022-04-12 18:19     ` Liliana Marie Prikler
  2022-04-13 10:29       ` zimoun
  0 siblings, 1 reply; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-04-12 18:19 UTC (permalink / raw)
  To: zimoun; +Cc: Maxime Devos, 54829

Am Dienstag, dem 12.04.2022 um 10:15 +0200 schrieb zimoun:
> Hi Liliana,
> 
> Applying patch v2 1/3, I get:
> 
> --8<---------------cut here---------------start------------->8---
> error: corrupt patch at line 71
> hint: Use 'git am --show-current-patch=diff' to see the failed patch
> Applying: gnu: emacs: Update to 28.1.
> Patch failed at 0001 gnu: emacs: Update to 28.1.
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --
> abort".
> --8<---------------cut here---------------end--------------->8---
> 
> I do not know what is wrong.  Could you provide the commit against
> which this patch applies?  See 'git format-patch --base='.
I have some unfinished work below this, so it's not clean, but I'm
doing somewhat regular rebases on master.  The last commit is
47b6451eb55d74161d6e5899f0079e219cfa8a00.

> Moreover, since the upgrade of Emacs leads to an emacs-world rebuild,
> it could be nice to also remove all the trailing #t.  WDYT?
Sure, those should go towards 2/3, but perhaps I didn't catch (all of)
them.

Cheers




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

* [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation
  2022-04-12 18:19     ` Liliana Marie Prikler
@ 2022-04-13 10:29       ` zimoun
  0 siblings, 0 replies; 26+ messages in thread
From: zimoun @ 2022-04-13 10:29 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: Maxime Devos, 54829

Hi Liliana,

On Tue, 12 Apr 2022 at 20:19, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
> Am Dienstag, dem 12.04.2022 um 10:15 +0200 schrieb zimoun:

>> Applying patch v2 1/3, I get:
>> 
>> --8<---------------cut here---------------start------------->8---
>> error: corrupt patch at line 71
>> hint: Use 'git am --show-current-patch=diff' to see the failed patch
>> Applying: gnu: emacs: Update to 28.1.
>> Patch failed at 0001 gnu: emacs: Update to 28.1.
>> When you have resolved this problem, run "git am --continue".
>> If you prefer to skip this patch, run "git am --skip" instead.
>> To restore the original branch and stop patching, run "git am --
>> abort".
>> --8<---------------cut here---------------end--------------->8---
>> 
>> I do not know what is wrong.  Could you provide the commit against
>> which this patch applies?  See 'git format-patch --base='.
>
> I have some unfinished work below this, so it's not clean, but I'm
> doing somewhat regular rebases on master.  The last commit is
> 47b6451eb55d74161d6e5899f0079e219cfa8a00.

For some reasons I totally miss, the patch v2 1/3 does not apply for me
with the same message as above, even against 47b6451eb55d74161d6e5899f0.


Anyway, I can wait for v3. :-)


Cheers,
simon




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

* [bug#54829] Other emacs packages
  2022-04-09 10:29 [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation Liliana Marie Prikler
                   ` (7 preceding siblings ...)
  2022-04-10 11:32 ` [bug#54829] [PATCH v3 " Liliana Marie Prikler
@ 2022-04-26 21:27 ` Luis Henrique Gomes Higino
  8 siblings, 0 replies; 26+ messages in thread
From: Luis Henrique Gomes Higino @ 2022-04-26 21:27 UTC (permalink / raw)
  To: 54829; +Cc: Liliana Marie Prikler

Hi Liliana,

I think the emacs-next packages should be updated as well on this 
patch series. Also, you could add a version with 
native-compilation, like we have for wide-int and xwidgets.

Regards,
-- 
Luis H. Higino




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

* [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation
  2022-04-10 11:32 ` [bug#54829] [PATCH v3 " Liliana Marie Prikler
@ 2022-04-28 12:15   ` Ludovic Courtès
  2022-04-28 15:06     ` Maxime Devos
  2022-04-28 16:58     ` Liliana Marie Prikler
  0 siblings, 2 replies; 26+ messages in thread
From: Ludovic Courtès @ 2022-04-28 12:15 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: Maxime Devos, 54829, zimoun

Hi,

Liliana Marie Prikler <liliana.prikler@gmail.com> skribis:

> * gnu/packages/emacs.scm (emacs)[#:phases]: Add ‘enable-elogind’.
> [inputs]: Add elogind.
> [native-inputs]: Add autoconf.

[...]

> +          (add-after 'unpack 'enable-elogind
> +            (lambda _
> +              (substitute* "configure.ac"
> +                (("libsystemd") "libelogind"))

I suggest making that substitution in ‘configure’…

>      (native-inputs
> -     (list pkg-config texinfo))
> +     (list autoconf pkg-config texinfo))

… so you don’t need this extra dependency.

Otherwise it LGTM.

Perhaps you can push to a ‘wip-emacs-28’ branch, and then ping me or
another admin on #guix so we can tell ci.guix to build it.  Once it’s
built and we don’t see regressions, we can merge in ‘master’ (should
take a day or two at most I suppose).

Thanks,
Ludo’.

PS: First time it takes more than a few hours for a new Emacs version to
    land in Guix!  :-)




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

* [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation
  2022-04-28 12:15   ` [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add " Ludovic Courtès
@ 2022-04-28 15:06     ` Maxime Devos
  2022-04-28 15:31       ` Liliana Marie Prikler
  2022-04-28 20:15       ` Ludovic Courtès
  2022-04-28 16:58     ` Liliana Marie Prikler
  1 sibling, 2 replies; 26+ messages in thread
From: Maxime Devos @ 2022-04-28 15:06 UTC (permalink / raw)
  To: Ludovic Courtès, Liliana Marie Prikler; +Cc: 54829, zimoun

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

Ludovic Courtès schreef op do 28-04-2022 om 14:15 [+0200]:
> > +          (add-after 'unpack 'enable-elogind
> > +            (lambda _
> > +              (substitute* "configure.ac"
> > +                (("libsystemd") "libelogind"))
> 
> I suggest making that substitution in ‘configure’…
> 
> >       (native-inputs
> > -     (list pkg-config texinfo))
> > +     (list autoconf pkg-config texinfo))
> 
> … so you don’t need this extra dependency.

I thought the idea was to, long term, build 'configure' from source
(except for packages low on the graph where there would be bootstrap
problems)?

https://lists.gnu.org/archive/html/guix-devel/2022-04/msg00065.html

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation
  2022-04-28 15:06     ` Maxime Devos
@ 2022-04-28 15:31       ` Liliana Marie Prikler
  2022-04-28 20:15       ` Ludovic Courtès
  1 sibling, 0 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-04-28 15:31 UTC (permalink / raw)
  To: Maxime Devos, Ludovic Courtès; +Cc: 54829, zimoun

Am Donnerstag, dem 28.04.2022 um 17:06 +0200 schrieb Maxime Devos:
> Ludovic Courtès schreef op do 28-04-2022 om 14:15 [+0200]:
> > > +          (add-after 'unpack 'enable-elogind
> > > +            (lambda _
> > > +              (substitute* "configure.ac"
> > > +                (("libsystemd") "libelogind"))
> > 
> > I suggest making that substitution in ‘configure’…
> > 
> > >       (native-inputs
> > > -     (list pkg-config texinfo))
> > > +     (list autoconf pkg-config texinfo))
> > 
> > … so you don’t need this extra dependency.
> 
> I thought the idea was to, long term, build 'configure' from source
> (except for packages low on the graph where there would be bootstrap
> problems)?
> 
> https://lists.gnu.org/archive/html/guix-devel/2022-04/msg00065.html
To add to this, configure doesn't exist in emacs-next variants, so I
find it better to just wrap the existing code in a (when (file-exists?
...) ...) rather than boot from blessed blobs in this particular
instance.

Cheers




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

* [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation
  2022-04-28 12:15   ` [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add " Ludovic Courtès
  2022-04-28 15:06     ` Maxime Devos
@ 2022-04-28 16:58     ` Liliana Marie Prikler
  2022-04-29  3:22       ` Feng Shu
  1 sibling, 1 reply; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-04-28 16:58 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Maxime Devos, 54829, zimoun

Hi,

Am Donnerstag, dem 28.04.2022 um 14:15 +0200 schrieb Ludovic Courtès:
> Perhaps you can push to a ‘wip-emacs-28’ branch, and then ping me or
> another admin on #guix so we can tell ci.guix to build it.  Once it’s
> built and we don’t see regressions, we can merge in ‘master’ (should
> take a day or two at most I suppose).
I pushed an ‘emacs-28’ branch (dropped the ‘wip-’ by accident), in
which emacs, emacs-next and emacs-next-pgtk are all updated.  Native
compilation in emacs is still missing though, but someone with commit
access and enough time to spare could add it.

Cheers




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

* [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation
  2022-04-28 15:06     ` Maxime Devos
  2022-04-28 15:31       ` Liliana Marie Prikler
@ 2022-04-28 20:15       ` Ludovic Courtès
  1 sibling, 0 replies; 26+ messages in thread
From: Ludovic Courtès @ 2022-04-28 20:15 UTC (permalink / raw)
  To: Maxime Devos; +Cc: zimoun, Liliana Marie Prikler, 54829

Maxime Devos <maximedevos@telenet.be> skribis:

> Ludovic Courtès schreef op do 28-04-2022 om 14:15 [+0200]:
>> > +          (add-after 'unpack 'enable-elogind
>> > +            (lambda _
>> > +              (substitute* "configure.ac"
>> > +                (("libsystemd") "libelogind"))
>> 
>> I suggest making that substitution in ‘configure’…
>> 
>> >       (native-inputs
>> > -     (list pkg-config texinfo))
>> > +     (list autoconf pkg-config texinfo))
>> 
>> … so you don’t need this extra dependency.
>
> I thought the idea was to, long term, build 'configure' from source
> (except for packages low on the graph where there would be bootstrap
> problems)?
>
> https://lists.gnu.org/archive/html/guix-devel/2022-04/msg00065.html

Ah yes, that too.  See?  The power of habits, the beauty of
self-contradiction.  :-)

Liliana: I guess Maxime is right, you can keep this version.

Thanks,
Ludo’.




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

* [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation
  2022-04-28 16:58     ` Liliana Marie Prikler
@ 2022-04-29  3:22       ` Feng Shu
  2022-04-29 18:53         ` Liliana Marie Prikler
  0 siblings, 1 reply; 26+ messages in thread
From: Feng Shu @ 2022-04-29  3:22 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: Ludovic Courtès, Maxime Devos, 54829, zimoun

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> Hi,
>
> Am Donnerstag, dem 28.04.2022 um 14:15 +0200 schrieb Ludovic Courtès:
>> Perhaps you can push to a ‘wip-emacs-28’ branch, and then ping me or
>> another admin on #guix so we can tell ci.guix to build it.  Once it’s
>> built and we don’t see regressions, we can merge in ‘master’ (should
>> take a day or two at most I suppose).
> I pushed an ‘emacs-28’ branch (dropped the ‘wip-’ by accident), in
> which emacs, emacs-next and emacs-next-pgtk are all updated.  Native

What about add --with-xinput2 emacs-next, use version 2 of the X Input Extension for input

> compilation in emacs is still missing though, but someone with commit
> access and enough time to spare could add it.
>
> Cheers

-- 





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

* [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation
  2022-04-29  3:22       ` Feng Shu
@ 2022-04-29 18:53         ` Liliana Marie Prikler
  2022-04-29 21:56           ` [bug#54829] " tumashu
  2022-05-18  4:13           ` Maxim Cournoyer
  0 siblings, 2 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-04-29 18:53 UTC (permalink / raw)
  To: Feng Shu; +Cc: Ludovic Courtès, Maxime Devos, 54829, zimoun

Am Freitag, dem 29.04.2022 um 11:22 +0800 schrieb Feng Shu:
> Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> 
> > Hi,
> > 
> > Am Donnerstag, dem 28.04.2022 um 14:15 +0200 schrieb Ludovic
> > Courtès:
> > > Perhaps you can push to a ‘wip-emacs-28’ branch, and then ping me
> > > or another admin on #guix so we can tell ci.guix to build it. 
> > > Once it’s built and we don’t see regressions, we can merge in
> > > ‘master’ (should take a day or two at most I suppose).
> > I pushed an ‘emacs-28’ branch (dropped the ‘wip-’ by accident), in
> > which emacs, emacs-next and emacs-next-pgtk are all updated. 
> > Native
> 
> What about add --with-xinput2 emacs-next, use version 2 of the X
> Input Extension for input
I'm probably not up to date to all the Emacs stuff, but given that
"guix show xinput" only delivers 1.6, I don't think that's relevant
yet.  Or is it?




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

* [bug#54829] Re: [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation
  2022-04-29 18:53         ` Liliana Marie Prikler
@ 2022-04-29 21:56           ` tumashu
  2022-05-18  4:13           ` Maxim Cournoyer
  1 sibling, 0 replies; 26+ messages in thread
From: tumashu @ 2022-04-29 21:56 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: Ludovic Courtès, Maxime Devos, 54829, zimoun

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







--
发自我的网易邮箱手机智能版
<br/><br/><br/>


----- Original Message -----
From: "Liliana Marie Prikler" <liliana.prikler@gmail.com>
To: "Feng Shu" <tumashu@163.com>
Cc: "Ludovic Courtès" <ludo@gnu.org>, "Maxime Devos" <maximedevos@telenet.be>, 54829@debbugs.gnu.org, zimoun <zimon.toutoune@gmail.com>
Sent: Fri, 29 Apr 2022 20:53:03 +0200
Subject: Re: [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation

Am Freitag, dem 29.04.2022 um 11:22 +0800 schrieb Feng Shu:
> Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> 
> > Hi,
> > 
> > Am Donnerstag, dem 28.04.2022 um 14:15 +0200 schrieb Ludovic
> > Courtès:
> > > Perhaps you can push to a ‘wip-emacs-28’ branch, and then ping me
> > > or another admin on #guix so we can tell ci.guix to build it. 
> > > Once it’s built and we don’t see regressions, we can merge in
> > > ‘master’ (should take a day or two at most I suppose).
> > I pushed an ‘emacs-28’ branch (dropped the ‘wip-’ by accident), in
> > which emacs, emacs-next and emacs-next-pgtk are all updated. 
> > Native
> 
> What about add --with-xinput2 emacs-next, use version 2 of the X
> Input Extension for input
I'm probably not up to date to all the Emacs stuff, but given that
"guix show xinput" only delivers 1.6, I don't think that's relevant

yet.  Or is it?







no, i think it use X11/extensions/XInput2.h

[-- Attachment #2: Type: text/html, Size: 2713 bytes --]

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

* [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation
  2022-04-29 18:53         ` Liliana Marie Prikler
  2022-04-29 21:56           ` [bug#54829] " tumashu
@ 2022-05-18  4:13           ` Maxim Cournoyer
  2022-05-18 17:47             ` bug#54829: " Liliana Marie Prikler
  1 sibling, 1 reply; 26+ messages in thread
From: Maxim Cournoyer @ 2022-05-18  4:13 UTC (permalink / raw)
  To: Liliana Marie Prikler
  Cc: Feng Shu, Ludovic Courtès, Maxime Devos, 54829, zimoun

Hi,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> Am Freitag, dem 29.04.2022 um 11:22 +0800 schrieb Feng Shu:
>> Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
>> 
>> > Hi,
>> > 
>> > Am Donnerstag, dem 28.04.2022 um 14:15 +0200 schrieb Ludovic
>> > Courtès:
>> > > Perhaps you can push to a ‘wip-emacs-28’ branch, and then ping me
>> > > or another admin on #guix so we can tell ci.guix to build it. 
>> > > Once it’s built and we don’t see regressions, we can merge in
>> > > ‘master’ (should take a day or two at most I suppose).
>> > I pushed an ‘emacs-28’ branch (dropped the ‘wip-’ by accident), in
>> > which emacs, emacs-next and emacs-next-pgtk are all updated. 
>> > Native
>> 
>> What about add --with-xinput2 emacs-next, use version 2 of the X
>> Input Extension for input
> I'm probably not up to date to all the Emacs stuff, but given that
> "guix show xinput" only delivers 1.6, I don't think that's relevant
> yet.  Or is it?

As it seems this change was merge, don't forget to close it if
everything mentioned here was taken care of :-)

Thanks,

Maxim




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

* bug#54829: [PATCH 0/2] Update Emacs to 28.1 and add socket activation
  2022-05-18  4:13           ` Maxim Cournoyer
@ 2022-05-18 17:47             ` Liliana Marie Prikler
  0 siblings, 0 replies; 26+ messages in thread
From: Liliana Marie Prikler @ 2022-05-18 17:47 UTC (permalink / raw)
  To: Maxim Cournoyer
  Cc: Feng Shu, Ludovic Courtès, zimoun, Maxime Devos, 54829-done

Am Mittwoch, dem 18.05.2022 um 00:13 -0400 schrieb Maxim Cournoyer:
> As it seems this change was merge, don't forget to close it if
> everything mentioned here was taken care of :-)
Well, it's not literally "everything" related to Emacs 28, but it is at
least this series, so I'll mark it as done.  Also deleted the emacs-28
branch as it's no longer relevant.

Cheers




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

end of thread, other threads:[~2022-05-18 17:48 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-09 10:29 [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation Liliana Marie Prikler
2022-04-09  8:15 ` [bug#54829] [PATCH 1/2] gnu: emacs: Update to 28.1 Liliana Marie Prikler
2022-04-10 10:21   ` Maxime Devos
2022-04-10 10:23   ` Maxime Devos
2022-04-09 10:28 ` [bug#54829] [PATCH 2/2] gnu: emacs: Add support for socket activation Liliana Marie Prikler
2022-04-10 11:23 ` [bug#54829] [PATCH v3 1/3] gnu: emacs: Update to 28.1 Liliana Marie Prikler
2022-04-10 11:23 ` [bug#54829] [PATCH v2 " Liliana Marie Prikler
2022-04-11  8:53   ` Michael Rohleder
2022-04-12  8:15   ` [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation zimoun
2022-04-12 18:19     ` Liliana Marie Prikler
2022-04-13 10:29       ` zimoun
2022-04-10 11:28 ` [bug#54829] [PATCH v3 2/3] gnu: emacs: Use new package style Liliana Marie Prikler
2022-04-10 11:28 ` [bug#54829] [PATCH v2 " Liliana Marie Prikler
2022-04-10 11:32 ` [bug#54829] [PATCH v2 3/3] gnu: emacs: Add support for socket activation Liliana Marie Prikler
2022-04-10 11:32 ` [bug#54829] [PATCH v3 " Liliana Marie Prikler
2022-04-28 12:15   ` [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add " Ludovic Courtès
2022-04-28 15:06     ` Maxime Devos
2022-04-28 15:31       ` Liliana Marie Prikler
2022-04-28 20:15       ` Ludovic Courtès
2022-04-28 16:58     ` Liliana Marie Prikler
2022-04-29  3:22       ` Feng Shu
2022-04-29 18:53         ` Liliana Marie Prikler
2022-04-29 21:56           ` [bug#54829] " tumashu
2022-05-18  4:13           ` Maxim Cournoyer
2022-05-18 17:47             ` bug#54829: " Liliana Marie Prikler
2022-04-26 21:27 ` [bug#54829] Other emacs packages Luis Henrique Gomes Higino

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.