Thomas Danckaert (2017-02-01 08:18 +0100) wrote: >> This could happen if it adds itself to a sub-directory of >> "/share/emacs/site-lisp". In 'magit' package, for example, it is >> fixed >> by using "lispdir" makeflag. Since this package uses a full GNU Build >> System, there should probably be "--with-lispdir" configure flag. > > Indeed, done! > >> BTW, I can't apply this patch on the current master. > > I had edited the patch file manually. Seems like this sometimes works, > sometimes doesn't.
Ouch, I think git-formatted patches are not intended to be edited manually :-) > I've attached an updated patch, which also fixes some issues with paths > to various icons. Thanks! See the comments below. > From 93118dba6e551fb66846a2b69a7bec560795ba71 Mon Sep 17 00:00:00 2001 > From: Thomas Danckaert <thomas.dancka...@gmail.com> > 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/mail.scm | 36 ++++++++++++++++++++++++++++++++++++ > 1 file changed, 36 insertions(+) > > diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm > index 2318ae9b6..d985419be 100644 > --- a/gnu/packages/mail.scm > +++ b/gnu/packages/mail.scm > @@ -20,6 +20,7 @@ > ;;; Copyright © 2016 Arun Isaac <arunis...@systemreboot.net> > ;;; Copyright © 2016 John Darrington <j...@gnu.org> > ;;; Copyright © 2016 Marius Bakke <mba...@fastmail.com> > +;;; Copyright © 2017 Thomas Danckaert <p...@thomasdanckaert.be> > ;;; > ;;; 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,40 @@ 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")) > + (sha256 > + (base32 > + "03fzky2kz73vgx4cbps2psbbnrgqgkk5q7jwfldisymkzr9iz03y")))) > + (inputs > + `(("emacs" ,emacs-minimal))) > + (propagated-inputs > + `(("ruby-sqlite3" ,ruby-sqlite3) ; optionally uses an sqlite database of > messages > + ("ruby" ,ruby))) ; to set GEM_PATH so ruby-sqlite3 is found at runtime > + (build-system gnu-build-system) > + (arguments > + `(#:configure-flags (list > + (string-append "--with-elispdir=" (assoc-ref > %outputs "out") > + "/share/emacs/site-lisp/guix.d/mew")) > + #:phases (modify-phases %standard-phases > + (add-after 'configure 'patch-mew-icon-path ; ensure > "Mew-icon.png" is found. > + (lambda _ > + (substitute* "mew-key.el" > + (("\\(expand-file-name \"etc\" path\\)") > "path"))))) Hm, does it work for you? I looked at "mew-key.el" but the code wasn't patched, probably something with the regexp. Anyway it is better to patch 'mew-icon-directory' variable instead. Also I see that by default it puts image files into "share/emacs/site-lisp/mew/etc". I don't think this is a good place, I would rather move them to "share/mew" as most packages do with various additional files. > + #: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") Also it is good to generate "mew-autoloads.el" file, so that "M-x mew" command will be available for users by default. I'm attaching a modified patch to address what I mentioned. Could you test it to make sure that mew works as expected with it?
>From 2abd51a12aeb136ddb014ec8812601b52c6ca3eb Mon Sep 17 00:00:00 2001 From: Thomas Danckaert <thomas.dancka...@gmail.com> Date: Tue, 24 Jan 2017 09:41:42 +0100 Subject: [PATCH] gnu: Add emacs-mew. * gnu/packages/mail.scm (emacs-mew): New variable. Co-authored-by: Alex Kost <alez...@gmail.com> --- gnu/packages/mail.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b17af40..69c2467 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2016 Arun Isaac <arunis...@systemreboot.net> ;;; Copyright © 2016 John Darrington <j...@gnu.org> ;;; Copyright © 2016 Marius Bakke <mba...@fastmail.com> +;;; Copyright © 2017 Thomas Danckaert <p...@thomasdanckaert.be> ;;; ;;; 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,55 @@ 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")) + (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") -- 2.10.2