Subject: [PATCH] gnu: emacs: Strip double wrap.
From: Leo Prikler <[email-masked]>
To: [email-masked]
Date: Fri, 28 Aug 2020 15:34:00 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/emacs.scm (emacs)[#:phases]: Add 'strip-double-wrap.
---
 gnu/packages/emacs.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index a338abc774..84c1889617 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -191,6 +191,17 @@
                            (rename-file real wrapper))
                          pdmp pdmp-real))
              #t))
+         (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 (string-append
+                           "bin/emacs-"
+                           ,(version-major+minor (package-version emacs)))
+                          "bin/emacs")
+               #t)))
          (add-before 'reset-gzip-timestamps 'make-compressed-files-writable
            ;; The 'reset-gzip-timestamps phase will throw a permission error
            ;; if gzip files aren't writable then.  This phase is needed when
-- 
2.28.0