summary refs log tree commit diff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2023-10-22 02:00:00 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2023-10-29 02:00:00 +0200
commit5e7f27d6ca7be84453e6d4de3d860b700ba3aef7 (patch)
tree1d88f3af20075bd569ba3c7114e33f2aad8bbf30
parenta0a377fdd6c873aeb6340afeddcd23b4ead7657d (diff)
downloadguix-5e7f27d6ca7be84453e6d4de3d860b700ba3aef7.tar.gz
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
-rw-r--r--gnu/packages/mail.scm13
1 files changed, 10 insertions, 3 deletions
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 9f410047e2..89087b0708 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -118,6 +118,7 @@
   #: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 @@ from the Cyrus IMAP project.")
 (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"