summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristophe Junke <christophe.junke@parrot.com>2018-06-01 17:32:23 +0200
committerChristophe Junke <christophe.junke@parrot.com>2018-06-01 17:32:23 +0200
commite7c459cd8ed133c6fc15d58f5e29c83b6ad1b664 (patch)
tree99ca455df60d07a4a5e5a6e34cf9f88cc3d182df
parentbc7b140dd02d3aad4025850548760d5e43dd6dcf (diff)
downloadpackages-e7c459cd8ed133c6fc15d58f5e29c83b6ad1b664.tar.gz
Emacs 26 fix ido-exit
-rw-r--r--emacs-ido-dynamic.patch11
-rw-r--r--og/emacs.scm50
2 files changed, 61 insertions, 0 deletions
diff --git a/emacs-ido-dynamic.patch b/emacs-ido-dynamic.patch
new file mode 100644
index 0000000..846aeb5
--- /dev/null
+++ b/emacs-ido-dynamic.patch
@@ -0,0 +1,11 @@
+Remove lexical-binding because the code expects "ido-exit" and
+"fallback" to be set dynamically.
+
+--- a/lisp/ido.el
++++ b/lisp/ido.el
+@@ -1,4 +1,4 @@
+-;;; ido.el --- interactively do things with buffers and files -*- lexical-binding: t -*-
++;;; ido.el --- interactively do things with buffers and files
+
+ ;; Copyright (C) 1996-2018 Free Software Foundation, Inc.
+
diff --git a/og/emacs.scm b/og/emacs.scm
index c5ba3d4..c84d55f 100644
--- a/og/emacs.scm
+++ b/og/emacs.scm
@@ -5,6 +5,7 @@
#:use-module (guix download) ; url-fetch
#:use-module (guix utils) ; substitute-keyword-arguments
#:use-module (guix build-system emacs)
+ #:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages emacs))
@@ -47,6 +48,55 @@
(add-after 'unpack 'autogen
(lambda _ (invoke "sh" "./autogen.sh")))))))))
+(define-public emacs-26-release
+ (package
+ (inherit emacs)
+ (name "emacs-26-release")
+ (version "26.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/emacs/emacs-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0b6k1wq44rc8gkvxhi1bbjxbz3cwg29qbq8mklq2az6p1hjgrx0w"))
+ (patches (search-patches "emacs-exec-path.patch"
+ "emacs-fix-scheme-indent-function.patch"
+ "emacs-source-date-epoch.patch"
+ "emacs-ido-dynamic.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Delete the bundled byte-compiled elisp files and
+ ;; generated autoloads.
+ '(with-directory-excursion "lisp"
+ (for-each delete-file
+ (append (find-files "." "\\.elc$")
+ (find-files "." "loaddefs\\.el$")
+ ;; This is the only "autoloads" file that
+ ;; does not have "*loaddefs.el" name.
+ '("eshell/esh-groups.el")))
+
+ ;; Make sure Tramp looks for binaries in the right places on
+ ;; remote GuixSD machines, where 'getconf PATH' returns
+ ;; something bogus.
+ (substitute* "net/tramp-sh.el"
+ ;; Patch the line after "(defcustom tramp-remote-path".
+ (("\\(tramp-default-remote-path")
+ (format #f "(tramp-default-remote-path ~s ~s ~s ~s "
+ "~/.guix-profile/bin" "~/.guix-profile/sbin"
+ "/run/current-system/profile/bin"
+ "/run/current-system/profile/sbin")))
+
+ ;; Make sure Man looks for C header files in the right
+ ;; places.
+ (substitute* "man.el"
+ (("\"/usr/local/include\"" line)
+ (string-join
+ (list line
+ "\"~/.guix-profile/include\""
+ "\"/var/guix/profiles/system/profile/include\"")
+ " ")))))))))
+
(define-public emacs-alect-themes
(package
(name "emacs-alect-themes")