~ruther/guix-local

fee9ac7191a3e6e953781187aab830d7d4868572 — Tomas Volf 1 year, 5 months ago 3e7047e
gnu: opensmtpd: Fix fix for queuing of offline messages.

The substituted path in smtpd.h was not used due to an #ifndef.  The correct
place to patch it seems to be mk/pathnames.  This sadly triggers a bootstrap,
so we need to add autoconf and automake to the native-inputs.

* gnu/packages/mail.scm (opensmtpd)[arguments]<#:phases>
{'patch-test-FHS-file-names}: Patch in mk/pathnames instead.
[native-inputs]: Add autoconf and automake.

Change-Id: I1d569b8aaae839d6fd4871ccb97c116e6930f1c9
Signed-off-by: Andreas Enge <andreas@enge.fr>
1 files changed, 10 insertions(+), 5 deletions(-)

M gnu/packages/mail.scm
M gnu/packages/mail.scm => gnu/packages/mail.scm +10 -5
@@ 3311,7 3311,9 @@ from the Cyrus IMAP project.")
           libxcrypt
           zlib))
    (native-inputs
     (list bison
     (list autoconf
           automake
           bison
           groff                        ;for man pages
           pkg-config))
    (arguments


@@ 3336,10 3338,13 @@ from the Cyrus IMAP project.")
         ;; Fix some incorrectly hard-coded external tool file names.
         (add-after 'unpack 'patch-FHS-file-names
           (lambda* (#:key inputs #:allow-other-keys)
             ;; avoids warning smtpd: couldn't enqueue offline message
             ;; smtpctl exited abnormally
             (substitute* "usr.sbin/smtpd/smtpd.h"
               (("/usr/bin/smtpctl") "/run/privileged/bin/smtpctl"))
             (substitute* "mk/pathnames"
               ;; avoids warning smtpd: couldn't enqueue offline message
               ;; smtpctl exited abnormally
               (("(-DPATH_SMTPCTL=).*\\\\" all def)
                (string-append def "\\\"/run/privileged/bin/smtpctl\\\" \\"))
               (("(-DPATH_MAKEMAP=).*\\\\" all def)
                (string-append def "\\\"/run/privileged/bin/makemap\\\" \\")))
             (substitute* "usr.sbin/smtpd/smtpctl.c"
               ;; ‘gzcat’ is auto-detected at compile time, but ‘cat’ isn't.
               (("/bin/cat" file) (search-input-file inputs file)))