gnu: opensmtpd: Update to 7.4.0p0 (bis).

This time fixing a segfault reported & debugged entirely by graywolf.
See: <https://github.com/OpenSMTPD/OpenSMTPD/issues/1233>

So, what went wrong here?  Mostly me being entirely convinced, to the
point of not even looking, that we have no opensmtpd system test.  We
do.  Instead, I tested the update on my own mail server, which for
entirely unhysterical raisins happens to link OpenSMTPd against OpenSSL
and so just happens to sidestep this bug.  Aiya.

* gnu/packages/mail.scm (opensmtpd): Update to 7.4.0p0.
[native-inputs]: Add pkg-config.
[inputs]: Add libbsd.
[arguments]: Add "--with-libbsd" to #:configure-flags.

Co-authored-by: graywolf in #guix
Change-Id: I5536b828eecd16f041ed9381b16bd7aa54158155
This commit is contained in:
Tobias Geerinckx-Rice 2023-10-22 02:00:00 +02:00
parent a0a377fdd6
commit 5e7f27d6ca
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79

View file

@ -118,6 +118,7 @@ (define-module (gnu packages mail)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages language)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
@ -3183,26 +3184,32 @@ (define-public sieve-connect
(define-public opensmtpd
(package
(name "opensmtpd")
(version "7.3.0p2")
(version "7.4.0p0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.opensmtpd.org/archives/"
"opensmtpd-" version ".tar.gz"))
(sha256
(base32 "0kjs5cxbh9lq51b8p20hxmiah61cfm8yzkcwpw9005cdp72zpkgw"))))
(base32 "0x731hi7i01mxaz07p1l5q3gwmyl422h404yc61ya4aa8g1wr0f1"))))
(build-system gnu-build-system)
(inputs
;; OpenSMTPd bundled (a subset of) libasr and libtls, which we use. See
;; https://www.mail-archive.com/misc@opensmtpd.org/msg05909.html for why.
(list bdb
libbsd ;https://github.com/OpenSMTPD/OpenSMTPD/issues/1233
libevent
libressl
linux-pam
zlib))
(native-inputs
(list bison groff)) ; for man pages
(list bison
groff ;for man pages
pkg-config))
(arguments
`(#:configure-flags
(list "--localstatedir=/var"
"--with-libbsd"
;; This is the default only if it exists at build time—it doesn't.
"--with-path-socket=/var/run"
"--with-path-CAfile=/etc/ssl/certs/ca-certificates.crt"