diff mbox series

[bug#42899,v2,04/10] gnu: dovecot-pigeonhole: Add new variable.

Message ID 20200818120037.30722-4-levenson@mmer.org
State New
Headers show
Series [bug#42899,v2,01/10] gnu: dovecot: Add lucene library to support fts indexing. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Alexey Abramov Aug. 18, 2020, noon UTC
Signed-off-by: Alexey Abramov <levenson@mmer.org>
---
 gnu/packages/mail.scm | 56 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

Comments

Efraim Flashner Aug. 23, 2020, 9:16 p.m. UTC | #1
Make sure you run 'guix lint' on the package, some of the lines are too
long.

On Tue, Aug 18, 2020 at 02:00:32PM +0200, Alexey Abramov wrote:
> Signed-off-by: Alexey Abramov <levenson@mmer.org>
> ---
>  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"))

Is there a difference between dovecot-2.3-pigeonhole-0.5.11.tar.gz and
dovecot-2.3.11-pigeonhole-0.5.11.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)))

it doesn't looke like automake, autoconf, libtool or gettext are
necessary here. Also, 'guix gc --references' show a reference to
dovecot, so that should go in inputs.

> +      (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 _

If you change the lambda to (lambda* (#:key outputs #:allow-other-keys)
then you can change the let to (let ((out (assoc-ref outputs "out")))
and it fits better with the code formatting in the rest of Guix.

> +               (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\""))))

Some of these lines are too long. We try to wrap them at 80, and the
linter complains once it hits 90. If you start a new line after 'out'
then it should flow nicely.

> +               #t)))))
> +      (home-page "https://pigeonhole.dovecot.org")
> +      (synopsis "Pigeonhole project provides mail filtering facilities using
> +the Sieve language")

I would shorten this to 'Mail filtering in Dovecot 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"))))))

It looked to me like it was just lgpl2.1

> +
>  (define-public dovecot-trees
>    (package
>      (name "dovecot-trees")
> -- 
> 2.27.0
> 
> 
> 
>
diff mbox series

Patch

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")