summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZheng Junjie <z572@z572.online>2025-02-06 22:48:19 +0800
committerZheng Junjie <z572@z572.online>2025-02-15 20:06:47 +0800
commit314cacc3588c0caf7b20c33772aeed6832e793df (patch)
treedd49d16aef47ff463d057d7618a4e3a11cb87d17
parent169ef7616b376c6047dcaa14c7c208504e3b49be (diff)
gnu: opensmtpd: Use G-expressions.
* gnu/packages/mail.scm (opensmtpd)[arguments]<#:phases>: Use G-expressions. Reviewed-by: 宋文武 <iyzsong@envs.net> Change-Id: I97dce2865e2b67f0f7cd4f10b0b6cc10a459ceb7
-rw-r--r--gnu/packages/mail.scm75
1 files changed, 37 insertions, 38 deletions
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 3e90b3d0b80..3834691e9ec 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -3338,44 +3338,43 @@ from the Cyrus IMAP project.")
3338 (string-append "ac_cv_path_ZCAT=" 3338 (string-append "ac_cv_path_ZCAT="
3339 #$(this-package-input "gzip") "/bin/zcat")) 3339 #$(this-package-input "gzip") "/bin/zcat"))
3340 #:phases 3340 #:phases
3341 `(modify-phases %standard-phases 3341 #~(modify-phases %standard-phases
3342 ;; Fix some incorrectly hard-coded external tool file names. 3342 ;; Fix some incorrectly hard-coded external tool file names.
3343 (add-after 'unpack 'patch-FHS-file-names 3343 (add-after 'unpack 'patch-FHS-file-names
3344 (lambda* (#:key inputs #:allow-other-keys) 3344 (lambda* (#:key inputs #:allow-other-keys)
3345 (substitute* "mk/pathnames" 3345 (substitute* "mk/pathnames"
3346 ;; avoids warning smtpd: couldn't enqueue offline message 3346 ;; avoids warning smtpd: couldn't enqueue offline message
3347 ;; smtpctl exited abnormally 3347 ;; smtpctl exited abnormally
3348 (("(-DPATH_SMTPCTL=).*\\\\" all def) 3348 (("(-DPATH_SMTPCTL=).*\\\\" all def)
3349 (string-append def "\\\"/run/privileged/bin/smtpctl\\\" \\")) 3349 (string-append def "\\\"/run/privileged/bin/smtpctl\\\" \\"))
3350 (("(-DPATH_MAKEMAP=).*\\\\" all def) 3350 (("(-DPATH_MAKEMAP=).*\\\\" all def)
3351 (string-append def "\\\"/run/privileged/bin/makemap\\\" \\"))) 3351 (string-append def "\\\"/run/privileged/bin/makemap\\\" \\")))
3352 (substitute* "usr.sbin/smtpd/smtpctl.c" 3352 (substitute* "usr.sbin/smtpd/smtpctl.c"
3353 ;; ‘gzcat’ is auto-detected at compile time, but ‘cat’ isn't. 3353 ;; ‘gzcat’ is auto-detected at compile time, but ‘cat’ isn't.
3354 (("/bin/cat" file) (search-input-file inputs file))) 3354 (("/bin/cat" file) (search-input-file inputs file)))
3355 (substitute* "usr.sbin/smtpd/mda_unpriv.c" 3355 (substitute* "usr.sbin/smtpd/mda_unpriv.c"
3356 (("/bin/sh" file) (search-input-file inputs file))))) 3356 (("/bin/sh" file) (search-input-file inputs file)))))
3357 ;; Avoid install smtpd.conf to /etc. 3357 ;; Avoid install smtpd.conf to /etc.
3358 (add-after 'unpack 'fix-smtpd.conf-install-path 3358 (add-after 'unpack 'fix-smtpd.conf-install-path
3359 (lambda _ 3359 (lambda _
3360 (let ((etc (string-append (assoc-ref %outputs "out") 3360 (let ((etc (string-append #$output "/etc")))
3361 "/etc"))) 3361 (mkdir-p etc)
3362 (mkdir-p etc) 3362 (substitute* "mk/smtpd/Makefile.am"
3363 (substitute* "mk/smtpd/Makefile.am" 3363 (("\\$\\(DESTDIR\\)\\$\\(sysconfdir\\)/smtpd\\.conf")
3364 (("\\$\\(DESTDIR\\)\\$\\(sysconfdir\\)/smtpd\\.conf") 3364 (string-append etc "/smtpd.conf"))))))
3365 (string-append etc "/smtpd.conf")))))) 3365 ;; OpenSMTPD provides a single smtpctl utility to control both the
3366 ;; OpenSMTPD provides a single smtpctl utility to control both the 3366 ;; daemon and the local submission subsystem. To accomodate systems
3367 ;; daemon and the local submission subsystem. To accomodate systems 3367 ;; that require historical interfaces such as sendmail, newaliases or
3368 ;; that require historical interfaces such as sendmail, newaliases or 3368 ;; makemap, smtpctl operates in compatibility mode if called with the
3369 ;; makemap, smtpctl operates in compatibility mode if called with the 3369 ;; historical name.
3370 ;; historical name. 3370 (add-after 'install 'install-compability-links
3371 (add-after 'install 'install-compability-links 3371 (lambda* (#:key outputs #:allow-other-keys)
3372 (lambda* (#:key outputs #:allow-other-keys) 3372 (let* ((out (assoc-ref outputs "out"))
3373 (let* ((out (assoc-ref outputs "out")) 3373 (sbin (string-append out "/sbin/")))
3374 (sbin (string-append out "/sbin/"))) 3374 (for-each (lambda (command)
3375 (for-each (lambda (command) 3375 (symlink "smtpctl" (string-append sbin command)))
3376 (symlink "smtpctl" (string-append sbin command))) 3376 (list "mailq" "makemap" "newaliases"
3377 (list "mailq" "makemap" "newaliases" 3377 "send-mail" "sendmail"))))))))
3378 "send-mail" "sendmail"))))))))
3379 (synopsis "Lightweight SMTP daemon") 3378 (synopsis "Lightweight SMTP daemon")
3380 (description 3379 (description
3381 "OpenSMTPD is an implementation of server-side @acronym{SMTP, Simple Mail 3380 "OpenSMTPD is an implementation of server-side @acronym{SMTP, Simple Mail