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.

Change-Id: I2614b2609f26f8ca2d8a97ab234f0041b86b8542
Signed-off-by: Christopher Baines <mail@cbaines.net>
This commit is contained in:
Alexey Abramov via Guix-patches via 2024-11-21 12:25:56 +00:00 committed by Christopher Baines
parent ada3baa1b3
commit 81e99a5caa
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577

View file

@ -2156,7 +2156,8 @@ facilities for checking incoming mail.")
`(#:configure-flags '("--sysconfdir=/etc"
"--localstatedir=/var"
"--with-sqlite" ; not auto-detected
"--with-lucene") ; not auto-detected
"--with-lucene"
"--with-moduledir=/usr/lib/dovecot") ; not auto-detected
;; The -rdynamic linker flag is needed for the backtrace() function to
;; have symbol names rather than just addresses. Dovecot's tests rely
;; on this, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=962630.
@ -2176,9 +2177,12 @@ facilities for checking incoming mail.")
"src/lib-smtp/test-bin/sendmail-success.sh")
(("cat") (which "cat")))))
(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")