summary refs log tree commit diff
path: root/gnu/packages/mail.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-12-21 22:04:54 +0100
committerLudovic Courtès <ludo@gnu.org>2019-12-21 23:55:24 +0100
commitc7b2b539802eaa3f969e212c98eb671a1a75e9f3 (patch)
tree77df7d478012d21ca0e5bc34edba04f44fc85f80 /gnu/packages/mail.scm
parent18e4d11bdf3d8061dd5eec9681174b8960ed8cdb (diff)
downloadguix-c7b2b539802eaa3f969e212c98eb671a1a75e9f3.tar.gz
gnu: mumi: Add dependency on mumimu.
The package definition of mumi was taken from the 'guix.scm' file in mumi.

* gnu/packages/mail.scm (mumimu): New variable.
(mumi)[inputs]: Add it.

Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
Diffstat (limited to 'gnu/packages/mail.scm')
-rw-r--r--gnu/packages/mail.scm58
1 files changed, 57 insertions, 1 deletions
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index de57748b33..27578cf232 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -768,6 +768,61 @@ messages you need; in addition, it allows you to view messages, extract
 attachments, create new maildirs, and so on.")
     (license gpl3+)))
 
+(define mumimu
+  ;; This is a fork of mu for use in Mumi that stores message bug IDs in its
+  ;; database.  It also renames the library to "mumimu" to avoid confusion.
+  (let ((commit "ad30b5e9c85f0465aeeeac461d8c32d95775d450")
+        (revision "1"))
+    (package
+      (inherit mu)
+      (name "mumimu")
+      (version (git-version (package-version guile-email) revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.elephly.net/software/mumimu.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1y8r8csvkyxncgpi469dir4n4sga4z9xdzc18qh5s8bk29qj689n"))))
+      (arguments
+       (substitute-keyword-arguments (package-arguments mu)
+         ((#:tests? anything '())
+          #f)
+         ((#:phases phases)
+          `(modify-phases ,phases
+             (replace 'patch-configure
+               (lambda _
+                 (delete-file "autogen.sh")
+                 (substitute* "configure.ac"
+                   ;; Use latest Guile
+                   (("guile-2.0") "guile-2.2"))
+                 (substitute* '("guile/Makefile.am"
+                                "guile/mu/Makefile.am")
+                   (("share/guile/site/2.0/") "share/guile/site/2.2/"))
+                 #t))
+             (replace 'fix-ffi
+               (lambda* (#:key outputs #:allow-other-keys)
+                 (substitute* "guile/mumimu.scm"
+                   (("\"libguile-mu\"")
+                    (format #f "\"~a/lib/libguile-mumimu\""
+                            (assoc-ref outputs "out"))))
+                 #t))
+             (delete 'install-emacs-autoloads)))
+         ((#:configure-flags flags)
+          '("--disable-gtk"
+            "--disable-webkit"
+            "--disable-mu4e"))))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("libtool" ,libtool)
+         ("glib" ,glib "bin")
+         ("tzdata" ,tzdata-for-tests)
+         ("texinfo" ,texinfo))))))
+
 (define-public alot
   (package
     (name "alot")
@@ -2991,7 +3046,8 @@ $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))
          ("guile-fibers" ,guile-fibers)
          ("guile-json" ,guile-json-1)
          ("guile-syntax-highlight" ,guile-syntax-highlight)
-         ("guile" ,guile-2.2)))
+         ("guile" ,guile-2.2)
+         ("mumimu" ,mumimu)))   ;'mumimu' executable recorded in (mumi config)
       (native-inputs
        `(("autoconf" ,autoconf)
          ("automake" ,automake)