(address . guix-patches@gnu.org)
Hi Guix,
I was curious how fast this gccemacs branch might be, so I got it to
compile.
It feels fast but there are bugs and the closure is huge. Also these
patches do not use any of the parameterization machinery.
I just thought I would share my work.
Thanks,
John
From 642c087de1592aeea0e65d04589423a05a96d68e Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sat, 21 Nov 2020 00:56:30 -0800
Subject: [PATCH 1/3] gnu: Add emacs-next-no-x.
* gnu/packages/emacs.scm (emacs-next-no-x): New variable.
---
gnu/packages/emacs.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
Toggle diff (42 lines)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 4f5a67093c..2d9f2e7ec1 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -22,6 +22,7 @@
;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
+;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -376,6 +377,27 @@ editor (console only)")
(delete 'restore-emacs-pdmp)
(delete 'strip-double-wrap)))))))
+(define-public emacs-next-no-x
+ (package
+ (inherit emacs-next)
+ (name "emacs-next-no-x")
+ (synopsis (package-synopsis emacs-no-x))
+ (build-system gnu-build-system)
+ (arguments
+ (substitute-keyword-arguments (package-arguments emacs-next)
+ ((#:configure-flags flags)
+ `(append '("--with-x-toolkit=no"
+ "--with-xpm=no"
+ "--with-jpeg=no"
+ "--with-gif=no"
+ "--with-tiff=no")
+ ,flags))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'restore-emacs-pdmp)
+ (delete 'strip-double-wrap)))))
+ (inputs (package-inputs emacs-no-x))))
+
(define-public emacs-no-x-toolkit
(package/inherit emacs
(name "emacs-no-x-toolkit")
--
2.29.1
From f23ebabab5e57b22b45fea3a26f9a1814331f39a Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sat, 21 Nov 2020 00:59:14 -0800
Subject: [PATCH 3/3] gnu: Add gcceamcs-no-x.
* gnu/packages/emacs.scm (gccemacs-no-x): New variable.
---
gnu/packages/emacs.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
Toggle diff (33 lines)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 6312fde3ad..721a13f429 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -487,6 +487,26 @@ editor (from the native compilation branch)")
((#:configure-flags flags ''())
`(cons "--with-nativecomp" ,flags))))))
+(define-public gccemacs-no-x
+ (package/inherit emacs-next-no-x
+ (name "gccemacs-no-x")
+ (version gccemacs-version)
+ (source gccemacs-source)
+ (synopsis "The extensible, customizable, self-documenting text
+editor (console only, from the native compilation branch)")
+ (build-system gnu-build-system)
+ (inputs
+ `(("libgccjit" ,(canonical-package libgccjit))
+ ,@(package-inputs emacs-next-no-x)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments emacs-next-no-x)
+ ((#:phases p)
+ `(modify-phases ,p
+ (add-after 'bootstrap 'add-libgccjit-gcc-lib-to-library-path
+ ,add-libgccjit-gcc-lib-to-library-path)))
+ ((#:configure-flags flags ''())
+ `(cons "--with-nativecomp" ,flags))))))
+
(define-public emacs-no-x-toolkit
(package/inherit emacs
(name "emacs-no-x-toolkit")
--
2.29.1