summaryrefslogtreecommitdiff
path: root/gnu/packages/mail.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/mail.scm')
-rw-r--r--gnu/packages/mail.scm127
1 files changed, 44 insertions, 83 deletions
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 64f679e662..0538342977 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
@@ -87,6 +87,7 @@
#:use-module (gnu packages libidn)
#:use-module (gnu packages libunistring)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages lsof)
#:use-module (gnu packages lua)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
@@ -136,7 +137,9 @@
#:use-module (guix build-system guile)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
- #:use-module (guix build-system trivial))
+ #:use-module (guix build-system trivial)
+ #:use-module (srfi srfi-1)
+ #:use-module (ice-9 match))
(define-public mailutils
(package
@@ -151,7 +154,7 @@
"1wkn9ch664477r4d8jk9153w5msljsbj99907k7zgzpmywbs6ba7"))))
(build-system gnu-build-system)
(arguments
- '(#:phases
+ `(#:phases
(modify-phases %standard-phases
(add-before 'check 'prepare-test-suite
(lambda _
@@ -199,12 +202,18 @@
#t)))
;; TODO: Add `--with-sql'.
- #:configure-flags (list "--sysconfdir=/etc"
-
- ;; Add "/2.2" to the installation directory.
- (string-append "--with-guile-site-dir="
- (assoc-ref %outputs "out")
- "/share/guile/site/2.2"))
+ #:configure-flags
+ (list "--sysconfdir=/etc"
+
+ ;; Add "/X.Y" to the installation directory.
+ (string-append "--with-guile-site-dir="
+ (assoc-ref %outputs "out")
+ "/share/guile/site/"
+ ,(match (assoc "guile"
+ (package-inputs this-package))
+ (("guile" guile)
+ (version-major+minor
+ (package-version guile))))))
#:parallel-tests? #f))
(native-inputs
@@ -237,6 +246,14 @@ software.")
;; Libraries are under LGPLv3+, and programs under GPLv3+.
(list gpl3+ lgpl3+))))
+(define-public guile3.0-mailutils
+ (package
+ (inherit mailutils)
+ (name "guile3.0-mailutils")
+ (inputs
+ `(("guile" ,guile-3.0)
+ ,@(alist-delete "guile" (package-inputs mailutils))))))
+
(define-public nullmailer
(package
(name "nullmailer")
@@ -2284,80 +2301,14 @@ transfer protocols.")
(define-public opensmtpd
(package
(name "opensmtpd")
- (version "6.0.3p1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://www.opensmtpd.org/archives/"
- name "-" version ".tar.gz"))
- (sha256
- (base32
- "10bsfsnlg9d9i6l2izdnxp05s3ri8fvwzqxvx1jmarc852382619"))
- ;; Fixed upstream: <github.com/OpenSMTPD/OpenSMTPD/pull/835>.
- (patches (search-patches "opensmtpd-fix-crash.patch"))))
- (build-system gnu-build-system)
- (inputs
- `(("bdb" ,bdb)
- ("libressl" ,libressl)
- ("libevent" ,libevent)
- ("libasr" ,libasr)
- ("linux-pam" ,linux-pam)
- ("zlib" ,zlib)))
- (native-inputs
- `(("bison" ,bison)
- ("groff" ,groff)))
- (arguments
- `(#:configure-flags
- (list "--with-table-db" "--with-auth-pam" "--localstatedir=/var"
- "--with-user-smtpd=smtpd" "--with-user-queue=smtpq"
- "--with-group-queue=smtpq"
- "--with-path-socket=/var/run" ; not default (./configure lies)
- "--with-path-CAfile=/etc/ssl/certs/ca-certificates.crt")
- #:phases
- (modify-phases %standard-phases
- ;; Fix some incorrectly hard-coded external tool file names.
- (add-after 'unpack 'patch-FHS-file-names
- (lambda _
- (substitute* "smtpd/smtpctl.c"
- (("/bin/cat") (which "cat"))
- (("/bin/sh") (which "sh")))
- #t))
- ;; OpenSMTPD provides a single utility smtpctl to control the daemon and
- ;; the local submission subsystem. To accomodate systems that require
- ;; historical interfaces such as sendmail, newaliases or makemap, the
- ;; smtpctl utility can operate in compatibility mode if called with the
- ;; historical name.
- (add-after 'install 'install-compability-links
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (sbin (string-append out "/sbin/")))
- (for-each (lambda (command)
- (symlink "smtpctl" (string-append sbin command)))
- '("makemap" "sendmail" "send-mail"
- "newaliases" "mailq")))
- #t)))))
- (synopsis "Lightweight SMTP daemon")
- (description
- "OpenSMTPD is an implementation of the server-side SMTP protocol, with
-some additional standard extensions. It allows ordinary machines to exchange
-e-mails with other systems speaking the SMTP protocol.")
- (home-page "https://www.opensmtpd.org")
- (license (list bsd-2 bsd-3 bsd-4 (non-copyleft "file://COPYING")
- public-domain isc license:openssl))))
-
-;; OpenSMTPd 6.4 introduced a new and incompatible configuration file format.
-;; Use a different name, for now, to avoid auto-upgrades and broken mail boxes.
-;; OPENSMTP-CONFIGURATION in (gnu services mail) will also need an overhaul.
-(define-public opensmtpd-next
- (package
- (name "opensmtpd-next")
- (version "6.6.1p1")
+ (version "6.6.2p1")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.opensmtpd.org/archives/"
"opensmtpd-" version ".tar.gz"))
(sha256
- (base32 "1ngil8j13m2rq07g94j4yjr6zmaimzy8wbfr17shi7rxnazys6zb"))))
+ (base32 "16nz2n4s3djlasd6m6dqfwggf6igyfxzq5igny5i0qb8lnn13f33"))))
(build-system gnu-build-system)
(inputs
`(("bdb" ,bdb)
@@ -3120,11 +3071,11 @@ related tools to process winmail.dat files.")
(license gpl2+)))
(define-public public-inbox
- (let ((commit "3cf66514aea9e958999973b9f104473b6d800fbe")
+ (let ((commit "05a06f3262a2ddbf46adb85169e13ce9127e4524")
(revision "0"))
(package
(name "public-inbox")
- (version (git-version "1.0.0" revision commit))
+ (version (git-version "1.2.0" revision commit))
(source
(origin (method git-fetch)
(uri (git-reference
@@ -3132,7 +3083,7 @@ related tools to process winmail.dat files.")
(commit commit)))
(sha256
(base32
- "1sxycwlm2n6p544gn9f0vf3xs6gz8vdswdhs2ha6fka8mgabvmdh"))
+ "06cclxg46gsls3x19l9s8s9x8gkjghm6gd4jb1v9ng6fds6xi2fg"))
(file-name (git-file-name name version))))
(build-system perl-build-system)
(arguments
@@ -3149,6 +3100,13 @@ related tools to process winmail.dat files.")
(lambda _
(substitute* "t/spawn.t"
(("\\['env'\\]") (string-append "['" (which "env") "']")))
+ (substitute* "t/ds-leak.t"
+ (("/bin/sh") (which "sh")))
+ (invoke "./certs/create-certs.perl")
+ ;; XXX: This test fails due to zombie process is not reaped by
+ ;; the builder.
+ (substitute* "t/httpd-unix.t"
+ (("^SKIP: \\{") "SKIP: { skip('Guix');"))
#t))
(add-after 'install 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -3168,15 +3126,18 @@ related tools to process winmail.dat files.")
#t)))))
(native-inputs
`(("git" ,git)
- ("xapian" ,xapian)))
+ ("xapian" ,xapian)
+ ;; For testing.
+ ("lsof" ,lsof)
+ ("openssl" ,openssl)))
(inputs
- `(("perl-danga-socket" ,perl-danga-socket)
- ("perl-dbd-sqlite" ,perl-dbd-sqlite)
+ `(("perl-dbd-sqlite" ,perl-dbd-sqlite)
("perl-dbi" ,perl-dbi)
("perl-email-address-xs" ,perl-email-address-xs)
("perl-email-mime-contenttype" ,perl-email-mime-contenttype)
("perl-email-mime" ,perl-email-mime)
("perl-email-simple" ,perl-email-simple)
+ ("perl-net-server" ,perl-net-server)
("perl-filesys-notify-simple" ,perl-filesys-notify-simple)
("perl-plack-middleware-deflater" ,perl-plack-middleware-deflater)
("perl-plack-middleware-reverseproxy" ,perl-plack-middleware-reverseproxy)