From 3179514335f61e29f93994f4dc0f59c30b59e876 Mon Sep 17 00:00:00 2001 From: Thomas Danckaert 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 --- 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 ;;; Copyright © 2016 John Darrington ;;; Copyright © 2016 Marius Bakke +;;; Copyright © 2017 Thomas Danckaert ;;; ;;; 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