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 > --- > 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 > > > > -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted