Subject: [PATCH v2 04/10] gnu: dovecot-pigeonhole: Add new variable.

From: Alexey Abramov <[email-masked]>
Date: Tue, 18 Aug 2020 14:00:32 +0200

Signed-off-by: Alexey Abramov <[email-masked]>
---
 gnu/packages/mail.scm | 56 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 8e7d5b2fc1..25e9570958 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1467,6 +1467,62 @@ It supports mbox/Maildir and its own dbox/mdbox formats.")
     (license (list license:lgpl2.1 license:expat
                    (license:non-copyleft "file://COPYING")))))
 
+(define-public dovecot-pigeonhole
+  (let ((dovecot-version (version-major+minor (package-version dovecot))))
+    (package
+      (name "dovecot-pigeonhole")
+      (version "0.5.11")
+      (source
+       (origin
+         (method url-fetch)
+         (uri (string-append "https://pigeonhole.dovecot.org/releases/"
+                             dovecot-version "/"
+                             "dovecot-" dovecot-version "-pigeonhole-" version ".tar.gz"))
+         (sha256
+          (base32
+           "1w5mryv6izh1gv7davnl94rb0pvh5bxl2bydzbfla1b83x22m5qb"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("automake" ,automake)
+         ("autoconf" ,autoconf)
+         ("libtool" ,libtool)
+         ("pkg-config" ,pkg-config)
+         ("gettext" ,gettext-minimal)
+         ("dovecot" ,dovecot)))
+      (arguments
+       `(#:configure-flags
+         (list "--with-dovecot-install-dirs=no"
+               (string-append "--with-dovecot="
+                              (assoc-ref %build-inputs "dovecot")
+                              "/lib/dovecot")
+               (string-append "--with-moduledir="
+                              (assoc-ref %outputs "out")
+                              "/lib/dovecot"))
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'patch-file-names
+             (lambda _
+               (let ((out (assoc-ref %outputs "out")))
+                 (substitute* "src/managesieve/managesieve-settings.c"
+                   ((".executable = \"managesieve\"")
+                    (string-append ".executable = \"" out "/libexec/dovecot/managesieve\"")))
+                 (substitute* "src/managesieve-login/managesieve-login-settings.c"
+                   ((".executable = \"managesieve-login\"")
+                    (string-append ".executable = \"" out "/libexec/dovecot/managesieve-login\""))))
+               #t)))))
+      (home-page "https://pigeonhole.dovecot.org")
+      (synopsis "Pigeonhole project provides mail filtering facilities using
+the Sieve language")
+      (description
+       "@code{dovecot-pigonhole} adds support for the Sieve
+language (RFC 5228) and the ManageSieve protocol (RFC 5804) to the
+@code{Dovecot} Secure IMAP Server.")
+      ;; Pigeonhole is open source and distributed under the same
+      ;; license as Dovecot: LGPL v2.1
+      (license (list license:lgpl2.1
+                     (license:non-copyleft "file://COPYING")
+                     (license:non-copyleft "file://COPYING.LGPL"))))))
+
 (define-public dovecot-trees
   (package
     (name "dovecot-trees")
-- 
2.27.0