[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] gnu: Add emacs-mew.
From: |
Thomas Danckaert |
Subject: |
Re: [PATCH] gnu: Add emacs-mew. |
Date: |
Thu, 02 Feb 2017 19:41:07 +0100 (CET) |
From: Alex Kost <address@hidden>
Subject: Re: [PATCH] gnu: Add emacs-mew.
Date: Thu, 02 Feb 2017 11:56:22 +0300
OK, I see. We can just patch "mew-key.el" file by putting the
following
line there:
(add-to-list 'image-load-path 'mew-icon-directory)
WDYT?
Yes, that would be fine! I added a patch file, don't know if there's
a more elegant way to achieve the same result?
[...]
Also you seem to overlook my comment about autoloads. My version of
your patch (attached in my previous message) contains a phase to
generate "mew-autoloads.el". This file is really needed to have
"M-x
mew" command available by default. Otherwise, a user has to put:
(autoload 'mew "mew" nil t)
in his/her emacs config.
Yes, sorry, I just agreed and then forgot to comment on that part. I
didn't know about 'emacs-generate-autoloads and think it's great :)
Thanks for your help!
Thomas
From 3179514335f61e29f93994f4dc0f59c30b59e876 Mon Sep 17 00:00:00 2001
From: Thomas Danckaert <address@hidden>
Date: Tue, 24 Jan 2017 09:41:42 +0100
Subject: [PATCH] gnu: Add emacs-mew.
* gnu/packages/mail.scm (emacs-mew): New variable.
* gnu/packages/patches/mew-add-icons-to-load-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Co-authored-by: Alex Kost <address@hidden>
---
gnu/local.mk | 1 +
gnu/packages/mail.scm | 52 ++++++++++++++++++++++
.../patches/mew-add-icons-to-load-path.patch | 14 ++++++
3 files changed, 67 insertions(+)
create mode 100644 gnu/packages/patches/mew-add-icons-to-load-path.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 59fc1a8..c9a5a3a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -744,6 +744,7 @@ dist_patch_DATA =
\
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
%D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch \
%D%/packages/patches/metabat-remove-compilation-date.patch \
+ %D%/packages/patches/mew-add-icons-to-load-path.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \
%D%/packages/patches/mpc123-initialize-ao.patch \
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 2318ae9..c6aa820 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2016 Arun Isaac <address@hidden>
;;; Copyright © 2016 John Darrington <address@hidden>
;;; Copyright © 2016 Marius Bakke <address@hidden>
+;;; Copyright © 2017 Thomas Danckaert <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -79,6 +80,7 @@
#:use-module (gnu packages flex)
#:use-module (gnu packages gdb)
#:use-module (gnu packages man)
+ #:use-module (gnu packages ruby)
#:use-module (gnu packages samba)
#:use-module (gnu packages screen)
#:use-module (gnu packages tls)
@@ -377,6 +379,56 @@ can read the same mailbox from multiple computers. It
supports IMAP as REMOTE
repository and Maildir/IMAP as LOCAL repository.")
(license gpl2+)))
+(define-public emacs-mew
+ (package
+ (name "emacs-mew")
+ (version "6.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://mew.org/Release/mew-"
+ version ".tar.gz"))
+ (patches (search-patches "mew-add-icons-to-load-path.patch"))
+ (sha256
+ (base32
+ "03fzky2kz73vgx4cbps2psbbnrgqgkk5q7jwfldisymkzr9iz03y"))))
+ (inputs
+ `(("emacs" ,emacs-minimal)))
+ (propagated-inputs
+ `(("ruby-sqlite3" ,ruby-sqlite3) ; optional for the database of messages
+ ("ruby" ,ruby))) ; to set GEM_PATH so ruby-sqlite3 is found at runtime
+ (build-system gnu-build-system)
+ (arguments
+ (let ((elisp-dir "/share/emacs/site-lisp/guix.d/mew")
+ (icon-dir "/share/mew"))
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (guix build emacs-utils))
+ #:imported-modules (,@%gnu-build-system-modules
+ (guix build emacs-utils))
+ #:configure-flags
+ (list (string-append "--with-elispdir=" %output ,elisp-dir)
+ (string-append "--with-etcdir=" %output ,icon-dir))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'patch-mew-icon-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (emacs-substitute-variables "mew-key.el"
+ ("mew-icon-directory"
+ (string-append (assoc-ref outputs "out") ,icon-dir)))
+ #t))
+ (add-after 'install 'generate-autoloads
+ (lambda* (#:key outputs #:allow-other-keys)
+ (emacs-generate-autoloads
+ "mew" (string-append (assoc-ref outputs "out") ,elisp-dir))
+ #t)))
+ #:tests? #f)))
+ (home-page "http://www.mew.org")
+ (synopsis "Emacs e-mail client")
+ (description "Mew (Messaging in the Emacs World) is a user interface
+for text messages, multimedia messages (MIME), news articles and
+security functionality including PGP, S/MIME, SSH, and SSL.")
+ (license bsd-3)))
+
(define-public mu
(package
(name "mu")
diff --git a/gnu/packages/patches/mew-add-icons-to-load-path.patch
b/gnu/packages/patches/mew-add-icons-to-load-path.patch
new file mode 100644
index 0000000..ba722ff
--- /dev/null
+++ b/gnu/packages/patches/mew-add-icons-to-load-path.patch
@@ -0,0 +1,14 @@
+Make sure the tool-bar icons are found on the load-path.
+
+diff --git a/mew-key.el b/mew-key.el
+index 4b753f6..6a27090 100644
+--- a/mew-key.el
++++ b/mew-key.el
+@@ -627,6 +627,7 @@
+ (throw 'loop (expand-file-name "etc" path)))))))
+
+ (defvar mew-icon-directory (mew-which-mew-etc))
++(add-to-list 'load-path mew-icon-directory)
+
+ (defvar mew-icon-separate nil)
+ (defvar mew-icon-blank nil)
--
2.7.4