Tomas Volf wrote 2 months ago
(address . guix-patches@gnu.org)(name . Tomas Volf)(address . ~@wolfsden.cz)
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
---
gnu/packages/mail.scm | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
Toggle diff (35 lines)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 3744288fa3..5a16d670a3 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -3311,7 +3311,9 @@ (define-public opensmtpd
libxcrypt
zlib))
(native-inputs
- (list bison
+ (list autoconf
+ automake
+ bison
groff ;for man pages
pkg-config))
(arguments
@@ -3336,10 +3338,13 @@ (define-public opensmtpd
;; 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)))
--
2.47.1