diff mbox series

[bug#44738] Add Emacs for Wayland

Message ID CABrWRW0_PWDYbc2VnOcyOC-KtNneGB5H3VX1kgP+4Rs=Zwr4Sw@mail.gmail.com
State Accepted
Headers show
Series [bug#44738] Add Emacs for Wayland | expand


Context Check Description
cbaines/submitting builds success
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Andrew Tropin Nov. 19, 2020, 2:46 p.m. UTC
Add a package for Emacs fork, which uses pure-gtk3.

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

Tested on sway and i3.
diff mbox series


From 16af8a60f7f684a364dc1105ad00ac7f4cfc26da Mon Sep 17 00:00:00 2001
From: Andrew Tropin <andrew@trop.in>
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
+      (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.