Subject: Add Emacs for Wayland
From: Andrew Tropin <[email-masked]>
To: [email-masked]
Date: Thu, 19 Nov 2020 17:46:12 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Add a package for Emacs fork, which uses pure-gtk3.
https://github.com/masm11/emacs/

It works natively with Wayland, but also works for X11.

Tested on sway and i3.

-- 
Best regards,
Andrew Tropin
From 16af8a60f7f684a364dc1105ad00ac7f4cfc26da Mon Sep 17 00:00:00 2001
From: Andrew Tropin <[email-masked]>
Date: Thu, 19 Nov 2020 17:36:11 +0300
Subject: [PATCH] gnu: Add emacs-next-pgtk

* gnu/packages/emacs.scm (emacs-next-pgtk): New variable.
---
 gnu/packages/emacs.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 4f5a67093c..52a02bca34 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -313,6 +313,38 @@ languages.")
               (variable "INFOPATH")
               (files '("share/info"))))))))
 
+(define-public emacs-next-pgtk
+  (let ((commit "896ac63a25dd072402fea866b42efc4277546cb8")
+        (revision "0"))
+    (package/inherit emacs-next
+      (name "emacs-next-pgtk")
+      (synopsis "The fork of extensible, customizable,
+self-documenting text editor (with pgtk toolkit and xwidgets
+support)")
+      (description "This is an unofficial Emacs fork build with
+pure-gtk to work natively on Wayland. In addition to that xwidgets
+also enabled and work without glitches even on X server.")
+      (version (git-version "28.0.50" revision commit))
+      (source
+       (origin
+	 (method git-fetch)
+	 (uri (git-reference
+	       (url "https://github.com/masm11/emacs")
+	       (commit commit)))
+	 (sha256
+          (base32
+           "0j11sjmhlb550fgqnjrrbqlqwf65n16g5666y0z2pky1xz5xzg5i"))))
+      (arguments
+       (substitute-keyword-arguments
+	   (package-arguments emacs-next)
+	 ((#:configure-flags flags ''())
+	  `(cons* "--with-pgtk" "--with-xwidgets" ,flags))))
+      (propagated-inputs `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+			   ("glib-networking" ,glib-networking)))
+      (inputs
+       `(("webkitgtk" ,webkitgtk)
+	 ,@(package-inputs emacs-next))))))
+
 (define-public emacs-minimal
   ;; This is the version that you should use as an input to packages that just
   ;; need to byte-compile .el files.
-- 
2.25.4