gnu: dovecot: Set moduledir to global directory.

* gnu/packages/mail.scm (dovecot)[arguments]: Add configure-flag to set
moduledir. Adjust custom 'install phase to override moduledir so it
successfully installs.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
This commit is contained in:
Efraim Flashner 2020-09-08 15:53:41 +02:00 committed by Tobias Geerinckx-Rice
parent 042d7eb114
commit db0109be42
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79

View file

@ -1453,6 +1453,7 @@ (define-public dovecot
(arguments
`(#:configure-flags '("--sysconfdir=/etc"
"--localstatedir=/var"
"--with-moduledir=/etc/dovecot/modules"
"--with-sqlite" ; not auto-detected
"--with-lucene") ; not auto-detected
#:phases
@ -1471,9 +1472,13 @@ (define-public dovecot
(("cat") (which "cat")))
#t))
(replace 'install
(lambda* (#:key make-flags #:allow-other-keys)
(lambda* (#:key outputs make-flags #:allow-other-keys)
;; The .la files don't like having the moduledir moved.
(for-each delete-file (find-files "." "\\.la"))
;; Simple hack to avoid installing a trivial README in /etc.
(apply invoke "make" "install" "sysconfdir=/tmp/bogus"
(string-append "moduledir=" (assoc-ref outputs "out")
"/lib/dovecot")
make-flags))))))
(home-page "https://www.dovecot.org")
(synopsis "Secure POP3/IMAP server")