[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/06: gnu: Add dovecot-pigeonhole.
From: |
guix-commits |
Subject: |
02/06: gnu: Add dovecot-pigeonhole. |
Date: |
Tue, 1 Sep 2020 12:52:25 -0400 (EDT) |
nckx pushed a commit to branch master
in repository guix.
commit 3fc0f8779541c11c0696bc155e86dd356fb5d413
Author: Alexey Abramov <levenson@mmer.org>
AuthorDate: Mon Aug 17 11:31:18 2020 +0200
gnu: Add dovecot-pigeonhole.
* gnu/packages/mail.scm (dovecot-pigeonhole): New public variable.
Co-authored-by: Tobias Geerinckx-Rice <me@tobias.gr>
---
gnu/packages/mail.scm | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 94fc5c1..e26a028 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2020 Eric Brown <ecbrown@ericcbrown.com>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Alexey Abramov <levenson@mmer.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1425,6 +1426,7 @@ facilities for checking incoming mail.")
(define-public dovecot
(package
(name "dovecot")
+ ;; Also update dovecot-pigeonhole when updating to a new minor version.
(version "2.3.11.3")
(source
(origin
@@ -1490,6 +1492,83 @@ 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"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; RFC licencing is ad-hoc and rarely free. Remove them all.
+ (delete-file-recursively "doc/rfc")
+ (substitute* "configure"
+ (("doc/rfc/Makefile") ""))
+ (substitute* "doc/Makefile.in"
+ (("rfc ") ""))
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--disable-static"
+ "--with-dovecot-install-dirs=no"
+ (string-append "--with-dovecot="
+ (assoc-ref %build-inputs "dovecot")
+ "/lib/dovecot")
+ (string-append "--docdir="
+ (assoc-ref %outputs "out")
+ "/share/doc/" ,name "-" ,version)
+ (string-append "--with-moduledir="
+ (assoc-ref %outputs "out")
+ "/lib/dovecot"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-file-names
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libexec (string-append out "/libexec/dovecot")))
+ (substitute* "src/managesieve/managesieve-settings.c"
+ (("\\.executable = \"managesieve\"")
+ (string-append ".executable = \"" libexec
+ "/managesieve\"")))
+ (substitute*
"src/managesieve-login/managesieve-login-settings.c"
+ (("\\.executable = \"managesieve-login\"")
+ (string-append ".executable = \"" libexec
+ "/managesieve-login\"")))
+ #t))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("dovecot" ,dovecot)))
+ (home-page "https://pigeonhole.dovecot.org")
+ (synopsis "Dovecot Sieve mail filtering plug-in and ManageSieve service")
+ (description
+ "Pigeonhole adds support for the Sieve language (RFC 5228) and the
+ManageSieve protocol (RFC 5804) to the Dovecot e-mail server.
+
+@dfn{Sieve} is a language for filtering incoming mail. Messages can be
+forwarded or sorted into separate folders. Unwanted messages can be rejected
+or discarded, and, when the user is not available, the Sieve interpreter can
+send an automated reply.
+
+Sieve is meant to be simple, extensible, and system-independent. The
+intention is to make it impossible to write anything more complex (and
+dangerous) than simple mail filters. Unlike most other mail filtering script
+languages, Sieve does not allow users to execute arbitrary programmes.
+
+Through the @dfn{ManageSieve} protocol, users can remotely manage their Sieve
+scripts without needing file system access. The server accepts only valid
+scripts to prevent embarrassing errors later on.")
+ (license license:lgpl2.1))))
+
(define-public dovecot-trees
(package
(name "dovecot-trees")
- branch master updated (f5ca844 -> ce04a92), guix-commits, 2020/09/01
- 01/06: gnu: Add opensmtpd-filter-dkimsign., guix-commits, 2020/09/01
- 06/06: gnu: kakoune: Update to 2020.09.01., guix-commits, 2020/09/01
- 04/06: gnu: libopenmpt: Remove duplicate LICENSE file., guix-commits, 2020/09/01
- 05/06: gnu: libopenmpt: Remove 5.1-MiB static library., guix-commits, 2020/09/01
- 03/06: gnu: libopenmpt: Update to 0.5.2., guix-commits, 2020/09/01
- 02/06: gnu: Add dovecot-pigeonhole.,
guix-commits <=