X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/64de896a71a9ba3091259834077d54c0146bdab6..e2f5de145562540a497bfc5b580011c9cf9000fd:/gnu/packages/mail.scm diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b555578639..57cc8eb9b1 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1,9 +1,9 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2014, 2015, 2017 Mark H Weaver ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2014 Sou Bunnbu -;;; Copyright © 2014 Julien Lepiller +;;; Copyright © 2014, 2019 Julien Lepiller ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2015, 2016, 2018 Eric Bavier @@ -28,6 +28,7 @@ ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2018 Gábor Boskovits ;;; Copyright © 2018, 2019 Ricardo Wurmus +;;; Copyright © 2019 Tanguy Le Carrour ;;; ;;; This file is part of GNU Guix. ;;; @@ -95,6 +96,7 @@ #:use-module (gnu packages onc-rpc) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) + #:use-module (gnu packages perl-check) #:use-module (gnu packages perl-web) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -116,6 +118,7 @@ #:use-module (gnu packages w3m) #:use-module (gnu packages web) #:use-module (gnu packages webkit) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) #:use-module (gnu packages xml) #:use-module ((guix licenses) @@ -138,14 +141,14 @@ (define-public mailutils (package (name "mailutils") - (version "3.6") + (version "3.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mailutils/mailutils-" version ".tar.xz")) (sha256 (base32 - "07phzpwrnkdclx6jvirljk9zcavl8wh02kpx3mfba9msr99kpqj6")))) + "1gwajsl39f1dkzrjld0dm9px8hrj7l7rwzazz00h5rwghk9mhwhq")))) (build-system gnu-build-system) (arguments '(#:phases @@ -318,21 +321,30 @@ to run without any changes.") (define-public fetchmail (package (name "fetchmail") - (version "6.3.26") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/fetchmail/branch_6.3/fetchmail-" - version ".tar.xz")) - (sha256 - (base32 - "0l78ayvi9dm8hd190gl139cs2xqsrf7r9ncilslw20mgvd6cbd3r")))) + (version "6.4.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/fetchmail/branch_" + (version-major+minor version) "/" + "fetchmail-" version ".tar.xz")) + (sha256 + (base32 "1859wvfc9fq72mwp4njdiy0x89hnddlfr3nix71qqglcs0fz2crz")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl))) (arguments - `(#:configure-flags (list (string-append "--with-ssl=" - (assoc-ref %build-inputs "openssl"))))) - (home-page "http://www.fetchmail.info/") + `(#:configure-flags + (list (string-append "--with-ssl=" + (assoc-ref %build-inputs "openssl"))) + #:phases + (modify-phases %standard-phases + (add-before 'check 'create-test-environment + (lambda _ + ;; Fix ‘Cannot find absolute path for user's home directory’. + (setenv "HOME" "/tmp") + #t))))) + (home-page "https://www.fetchmail.info/") (synopsis "Remote-mail retrieval and forwarding utility") (description "Fetchmail is a full-featured, robust, well-documented remote-mail @@ -351,14 +363,17 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "1.12.1") + (version "1.13.2") (source (origin (method url-fetch) - (uri (string-append "https://bitbucket.org/mutt/mutt/downloads/" - "mutt-" version ".tar.gz")) + (uri (list + (string-append "ftp://ftp.mutt.org/pub/mutt/mutt-" + version ".tar.gz") + (string-append "https://bitbucket.org/mutt/mutt/downloads/" + "mutt-" version ".tar.gz"))) (sha256 (base32 - "0311sip2q90aqaxn7h3cck1zl98b4vifqi8bp5fsizy4dr06bi81")) + "0x4yfvk8415p80h9an242n6q3b43mw6mnnczh95zd3j0zwdr6wrg")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs @@ -390,15 +405,16 @@ operating systems.") (define-public neomutt (package (name "neomutt") - (version "20180716") + (version "20191102") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/" name "/" name - "/archive/" name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/neomutt/neomutt.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0072in2d6znwqq461shsaxlf40r4zr7w3j9848qvm4xlh1lq52dx")))) + (base32 "0x5f9zbvxsxg5y2ir4xq4xw1q2snaxkidhdyhcxw5ljw3qqwhlyq")))) (build-system gnu-build-system) (inputs `(("cyrus-sasl" ,cyrus-sasl) @@ -406,11 +422,11 @@ operating systems.") ("gpgme" ,gpgme) ("ncurses" ,ncurses) ("gnutls" ,gnutls) - ("openssl" ,openssl) ;For smime + ("openssl" ,openssl) ; for S/MIME ("perl" ,perl) ("kyotocabinet" ,kyotocabinet) ("libxslt" ,libxslt) - ("libidn" ,libidn) + ("libidn2" ,libidn2) ("libxml2" ,libxml2) ("lmdb" ,lmdb) ("notmuch" ,notmuch))) @@ -423,11 +439,11 @@ operating systems.") ("w3m" ,w3m) ("tcl" ,tcl))) (arguments - `(#:tests? #f + `(#:test-target "test" #:configure-flags (list "--gpgme" - ;; database, implies header caching + ;; Database, implies header caching. "--disable-tokyocabinet" "--disable-qdbm" "--disable-bdb" @@ -445,11 +461,12 @@ operating systems.") "--smime" "--notmuch" - "--idn" + "--disable-idn" + "--idn2" ;; If we do not set this, neomutt wants to check ;; whether the path exists, which it does not - ;; in the chroot. The workaround is this. + ;; in the chroot. "--with-mailpath=/var/mail" "--with-ui=ncurses" @@ -462,13 +479,6 @@ operating systems.") (modify-phases %standard-phases ;; TODO: autosetup is meant to be included in the source, ;; but we should package autosetup and use our own version of it. - (add-before 'configure 'fix-sasl-test - (lambda _ - ;; Upstream suggestion to fix the failing sasl autosetup test. - (substitute* "auto.def" - (("cc-with \\[list -cflags -I\\$prefix/include -libs") - "cc-with [list -includes stddef.h -cflags -I$prefix/include -libs")) - #t)) (replace 'configure (lambda* (#:key outputs inputs configure-flags #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -489,7 +499,7 @@ It adds a large amount of new and improved features to mutt.") (define-public gmime (package (name "gmime") - (version "3.2.3") + (version "3.2.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gmime/" @@ -497,7 +507,7 @@ It adds a large amount of new and improved features to mutt.") "/gmime-" version ".tar.xz")) (sha256 (base32 - "04bk7rqs5slpvlvqf11i6s37s8b2xn6acls8smyl9asjnpp7a23a")))) + "0ndsg1z1kq4w4caascydvialpyn4rfbjdn7xclzbzhw53x85cxgv")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -548,15 +558,14 @@ Extension (MIME).") (define-public bogofilter (package (name "bogofilter") - (version "1.2.4") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/bogofilter/bogofilter-" - version "/bogofilter-" - version ".tar.bz2")) - (sha256 - (base32 - "1d56n2m9inm8gnzm88aa27xl2a7sp7aff3484vmflpqkinjqf0p1")))) + (version "1.2.5") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/bogofilter/bogofilter-stable/" + "bogofilter-" version ".tar.xz")) + (sha256 + (base32 "1sl9xrnnlk2sn8gmibhn8li09vnansjbxb9l1182qmgz7cvs2j1j")))) (build-system gnu-build-system) (arguments '(#:phases @@ -569,14 +578,14 @@ Extension (MIME).") #t))))) (native-inputs `(("flex" ,flex))) (inputs `(("bdb" ,bdb))) - (home-page "http://bogofilter.sourceforge.net/") + (home-page "https://bogofilter.sourceforge.io/") (synopsis "Mail classifier based on a Bayesian filter") (description "Bogofilter is a mail filter that classifies mail as spam or ham (non-spam) by a statistical analysis of the message's header and content (body). The program is able to learn from the user's classifications and corrections. It is based on a Bayesian filter.") - (license gpl2))) + (license gpl3+))) (define-public offlineimap (package @@ -759,6 +768,63 @@ messages you need; in addition, it allows you to view messages, extract attachments, create new maildirs, and so on.") (license gpl3+))) +(define mumimu + ;; This is a fork of mu for use in Mumi that stores message bug IDs in its + ;; database. It also renames the library to "mumimu" to avoid confusion. + (let ((commit "ad30b5e9c85f0465aeeeac461d8c32d95775d450") + (revision "1")) + (package + (inherit mu) + (name "mumimu") + ;; TODO The version here used to be (package-version guile-email), but + ;; that code caused problems + (version (git-version "0.2.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.elephly.net/software/mumimu.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y8r8csvkyxncgpi469dir4n4sga4z9xdzc18qh5s8bk29qj689n")))) + (arguments + (substitute-keyword-arguments (package-arguments mu) + ((#:tests? anything '()) + #f) + ((#:phases phases) + `(modify-phases ,phases + (replace 'patch-configure + (lambda _ + (delete-file "autogen.sh") + (substitute* "configure.ac" + ;; Use latest Guile + (("guile-2.0") "guile-2.2")) + (substitute* '("guile/Makefile.am" + "guile/mu/Makefile.am") + (("share/guile/site/2.0/") "share/guile/site/2.2/")) + #t)) + (replace 'fix-ffi + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "guile/mumimu.scm" + (("\"libguile-mu\"") + (format #f "\"~a/lib/libguile-mumimu\"" + (assoc-ref outputs "out")))) + #t)) + (delete 'install-emacs-autoloads))) + ((#:configure-flags flags) + '("--disable-gtk" + "--disable-webkit" + "--disable-mu4e")))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("glib" ,glib "bin") + ("tzdata" ,tzdata-for-tests) + ("texinfo" ,texinfo)))))) + (define-public alot (package (name "alot") @@ -847,14 +913,14 @@ invoking @command{notifymuch} from the post-new hook.") (define-public notmuch (package (name "notmuch") - (version "0.29.1") + (version "0.29.3") (source (origin (method url-fetch) (uri (string-append "https://notmuchmail.org/releases/notmuch-" version ".tar.xz")) (sha256 (base32 - "0rg3rwghd3wivf3bmqcqpkkd5c779ld5hi363zjcw5fl6a7gqilq")))) + "0dfwa38vgnxk9cvvpza66szjgp8lir6iz6yy0cry9593lywh9xym")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -877,8 +943,7 @@ invoking @command{notifymuch} from the post-new hook.") (let* ((out (assoc-ref outputs "out")) (elisp - (string-append out "/share/emacs/site-lisp/guix.d/" - ,name "-" ,version))) + (string-append out "/share/emacs/site-lisp/"))) (invoke "./configure" (string-append "--prefix=" out) (string-append "--emacslispdir=" elisp) @@ -996,18 +1061,17 @@ and search library.") (define-public getmail (package (name "getmail") - (version "5.6") + (version "5.14") (source (origin (method url-fetch) (uri (string-append "http://pyropus.ca/software/getmail/old-versions/" - name "-" version ".tar.gz")) + "getmail-" version ".tar.gz")) (sha256 - (base32 - "16nmvj80szr6yvcxxgmxn2lxqpjqqj4xg5a0b66zhvck6j42q3a6")))) + (base32 "1hcrd9h4g12f5gvl1djsbchcjry02ghq4icdr897s8v48pkrzagk")))) (build-system python-build-system) (arguments - `(#:tests? #f ; no tests + `(#:tests? #f ; no tests #:python ,python-2)) (home-page "http://pyropus.ca/software/getmail/") (synopsis "Mail retriever") @@ -1023,7 +1087,7 @@ useful features.") (define-public libetpan (package (name "libetpan") - (version "1.9.3") + (version "1.9.4") (source (origin (method git-fetch) (uri (git-reference @@ -1031,7 +1095,7 @@ useful features.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "19g4qskg71jv7sxfxsdkjmrxk9mk5kf9b6fhw06g6wvm3205n95f")))) + (base32 "0g7an003simfdn7ihg9yjv7hl2czsmjsndjrp39i7cad8icixscn")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf-wrapper) ("automake" ,automake) @@ -1049,7 +1113,7 @@ useful features.") (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'autogen + (replace 'bootstrap (lambda _ (setenv "NOCONFIGURE" "true") (invoke "sh" "autogen.sh")))) @@ -1088,7 +1152,7 @@ compresses it.") (define-public claws-mail (package (name "claws-mail") - (version "3.17.3") + (version "3.17.4") (source (origin (method url-fetch) (uri (string-append @@ -1096,7 +1160,7 @@ compresses it.") ".tar.xz")) (sha256 (base32 - "1wnj6c9cbmhphs2l6wfvndkk2g08rmxw0sl2c8k1k008dxd1ykjh")))) + "00mfhaac16sv67rwiq98hr4nl5zmd1h2afswwwksdcsi3q9x23jr")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("bogofilter" ,bogofilter) @@ -1119,7 +1183,8 @@ compresses it.") ("libxml2" ,libxml2) ("perl" ,perl) ("python-2" ,python-2) - ("mime-info" ,shared-mime-info))) + ("mime-info" ,shared-mime-info) + ("startup-notification" ,startup-notification))) (arguments '(#:configure-flags '("--enable-gnutls" "--enable-pgpmime-plugin" "--enable-enchant" @@ -1149,14 +1214,14 @@ which can add many functionalities to the base client.") (define-public msmtp (package (name "msmtp") - (version "1.8.5") + (version "1.8.7") (source (origin (method url-fetch) (uri (string-append "https://marlam.de/msmtp/releases/" "/msmtp-" version ".tar.xz")) (sha256 - (base32 "0fczpfxlr62wkr7bwhp24clxg962k5khgz14h818qyy4v77dl4qn")))) + (base32 "1waiiksa57byb7gvx1zmh6srvl6r8rvwqklk0slb3iaf4kfbqlws")))) (build-system gnu-build-system) (inputs `(("libsecret" ,libsecret) @@ -1195,7 +1260,7 @@ delivery.") (define-public exim (package (name "exim") - (version "4.92") + (version "4.92.3") (source (origin (method url-fetch) @@ -1204,7 +1269,8 @@ delivery.") (string-append "https://ftp.exim.org/pub/exim/exim4/old/exim-" version ".tar.bz2"))) (sha256 - (base32 "127spqn009wa6irp6r1k7a24r8vdwb6mf0raamxn8lbxsnrwy7sl")))) + (base32 + "0d0h0j9pl3yf089sc59ia60m3dqnkb3qh1qaz6vxfg2ja2mnm5i9")))) (build-system gnu-build-system) (inputs `(("bdb" ,bdb-5.3) ; ‘#error Version 6 and later BDB API is not supported’ @@ -1283,7 +1349,7 @@ facilities for checking incoming mail.") (define-public dovecot (package (name "dovecot") - (version "2.3.6") + (version "2.3.9.2") (source (origin (method url-fetch) @@ -1291,7 +1357,7 @@ facilities for checking incoming mail.") (version-major+minor version) "/" "dovecot-" version ".tar.gz")) (sha256 - (base32 "1irnalplb47nlc26dn7zzdi95zhrxxi3miza7p3wdsgapv0qs7gd")))) + (base32 "1yc6hi4hqg4hcc4495sf4m5f1lnargphi6dawj43if21vncgp127")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1362,12 +1428,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.") `(#:tests? #f ;No tests exist. #:configure-flags (list (string-append "--with-dovecot=" (assoc-ref %build-inputs "dovecot") - "/lib/dovecot")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'autogen - (lambda _ - (invoke "sh" "autogen.sh")))))) + "/lib/dovecot")))) (home-page "https://0xacab.org/riseuplabs/trees") (synopsis "NaCL-based Dovecot email storage encryption plugin") (description @@ -1418,12 +1479,7 @@ using libsodium sealed boxes. `(#:tests? #f ;No tests exist. #:configure-flags (list (string-append "--with-dovecot=" (assoc-ref %build-inputs "dovecot") - "/lib/dovecot")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'autogen - (lambda _ - (invoke "sh" "autogen.sh")))))) + "/lib/dovecot")))) (home-page "https://github.com/LuckyFellow/dovecot-libsodium-plugin") (synopsis "Libsodium password hashing schemes plugin for Dovecot") (description @@ -1448,7 +1504,7 @@ hashing schemes plugin for @code{Dovecot}.") (inputs `(("bdb" ,bdb) ("cyrus-sasl" ,cyrus-sasl) - ("openssl" ,openssl) + ("openssl" ,openssl-1.0) ("zlib" ,zlib))) (home-page "http://isync.sourceforge.net/") (synopsis "Mailbox synchronization program") @@ -1632,15 +1688,14 @@ header.") (define-public perl-email-sender (package (name "perl-email-sender") - (version "1.300031") + (version "1.300034") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" "Email-Sender-" version ".tar.gz")) (sha256 - (base32 - "052g0slw3h2lzn93j71fi47nfawww2aph4jhr3c860ji70lkf4n4")))) + (base32 "14aj9kqa9dr2bdhzn2qvjj2mffj8wjb5397z8qw7qg057fk3ib05")))) (build-system perl-build-system) (native-inputs `(("perl-capture-tiny" ,perl-capture-tiny))) @@ -1829,13 +1884,13 @@ maintained.") (define-public khard (package (name "khard") - (version "0.13.0") + (version "0.15.1") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "1lyjiskc6ckjjylzr04dnm66p3cnn7vlysw9c27qls3y3ywx14zw")))) + "18ba2xgfq8sw0bg6xmlfjpizid1hkzgswcfcc54gl21y2dwfda2w")))) (build-system python-build-system) (arguments `(#:phases @@ -1846,6 +1901,8 @@ maintained.") (doc (string-append out "/share/doc/khard"))) (copy-recursively "misc/khard" doc) #t)))))) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm))) (propagated-inputs `(("python-atomicwrites" ,python-atomicwrites) ("python-configobj" ,python-configobj) @@ -1900,6 +1957,136 @@ Khard can also be used from within the email client @command{mutt}.") in Perl.") (license bsd-3))) +(define-public perl-mail-authenticationresults + (package + (name "perl-mail-authenticationresults") + (version "1.20180923") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MB/MBRADSHAW/" + "Mail-AuthenticationResults-" version ".tar.gz")) + (sha256 + (base32 + "1g1wym9vcbhldwvi4w5pl0fhd4jh2icj975awf4wr5xmkli9mxbz")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (home-page "https://metacpan.org/release/Mail-AuthenticationResults") + (synopsis "Object Oriented Authentication-Results Headers") + (description "Mail::AuthenticationResults parses the message header field +that indicates the message authentication status as per RFC7601. This module +is not fully compliant with the RFC but it tries to implement most styles of +Authentication-Results header seen in the wild.") + (license perl-license))) + +(define-public perl-mail-dkim + (package + (name "perl-mail-dkim") + (version "0.58") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-" + version + ".tar.gz")) + (sha256 + (base32 + "0cgkal65qqcy57b21lgij90ba36wl66byw9i76g5yhwaa8ms8hqa")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-crypt-openssl-rsa" ,perl-crypt-openssl-rsa) + ("perl-mail-authenticationresults" ,perl-mail-authenticationresults) + ("perl-mailtools" ,perl-mailtools) + ("perl-net-dns" ,perl-net-dns))) + (native-inputs + `(("perl-net-dns-resolver-mock" ,perl-net-dns-resolver-mock) + ("perl-test-requiresinternet" ,perl-test-requiresinternet) + ("perl-yaml-libyaml" ,perl-yaml-libyaml))) + (home-page "https://metacpan.org/release/Mail-DKIM") + (synopsis "Signs/verifies Internet mail with DKIM/DomainKey signatures") + (description "Mail::DKIM is a Perl module that implements the new Domain +Keys Identified Mail (DKIM) standard, and the older Yahoo! DomainKeys standard, +both of which sign and verify emails using digital signatures and DNS records. +Mail-DKIM can be used by any Perl program that wants to provide support for +DKIM and/or DomainKeys.") + (license gpl3+))) + +(define-public dkimproxy + (package + (name "dkimproxy") + (version "1.4.1") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/dkimproxy/dkimproxy/" + version "/dkimproxy-" version ".tar.gz")) + (sha256 + (base32 + "1gc5c7lg2qrlck7b0lvjfqr824ch6jkrzkpsn0gjvlzg7hfmld75")) + (patches + (search-patches "dkimproxy-add-ipv6-support.patch")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'make-wrapper + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (wrap.pl (lambda (scripts keys) + (for-each + (lambda (script) + (wrap-program (string-append out script) + `("PERL5LIB" ":" prefix + ,(map (λ (input) + (string-append + (assoc-ref inputs input) + "/lib/perl5/site_perl")) + keys)))) + scripts)))) + (wrap.pl (list "/bin/dkimproxy.in" + "/bin/dkimproxy.out") + (list "perl-crypt-openssl-rsa" + "perl-io-socket-inet6" + "perl-mailtools" + "perl-mail-authenticationresults" + "perl-mail-dkim" + "perl-net-dns" + "perl-net-server" + "perl-socket6")) + (wrap.pl (list "/bin/dkim_responder.pl") + (list "perl-crypt-openssl-rsa" + "perl-mail-dkim" + "perl-mailtools" + "perl-mime-tools" + "perl-net-dns" + "perl-timedate")) + #t)))))) + (inputs + `(("perl" ,perl) + ("perl-crypt-openssl-rsa" ,perl-crypt-openssl-rsa) + ("perl-io-socket-inet6" ,perl-io-socket-inet6) + ("perl-mailtools" ,perl-mailtools) + ("perl-mail-authenticationresults" ,perl-mail-authenticationresults) + ("perl-mail-dkim" ,perl-mail-dkim) + ("perl-mime-tools" ,perl-mime-tools) + ("perl-net-dns" ,perl-net-dns) + ("perl-net-server" ,perl-net-server) + ("perl-socket6" ,perl-socket6) + ("perl-timedate" ,perl-timedate))) + (home-page "http://dkimproxy.sourceforge.net/") + (synopsis "SMTP proxy to sign and verify Internet mail with DKIM headers") + (description + "DKIMproxy is an SMTP proxy that signs and verifies Internet mail using the +@code{Mail::DKIM} Perl module. It comprises two separate proxies: an outbound +proxy for signing outgoing email, and an inbound proxy for verifying signatures +of incoming messages. + +It was designed for Postfix, but can be used to add DKIM support to nearly any +existing mail server. With Postfix, the proxies can operate as either +@code{Before-Queue} or @code{After-Queue} content filters.") + (license gpl2+))) + (define-public mb2md (package (name "mb2md") @@ -1948,14 +2135,14 @@ converts them to maildir format directories.") (define-public mpop (package (name "mpop") - (version "1.4.5") + (version "1.4.6") (source (origin (method url-fetch) (uri (string-append "https://marlam.de/mpop/releases/" "mpop-" version ".tar.xz")) (sha256 - (base32 "1m6743j8g777lijvxqw2wz6pv2g5a9wlh6zq7awk0hvd44xp4sav")))) + (base32 "0q4ifzvl1gcndvqqqk7n9mc599r4s2knxjc7alflwb366fql58gv")))) (build-system gnu-build-system) (inputs `(("gnutls" ,gnutls) @@ -2147,20 +2334,22 @@ e-mails with other systems speaking the SMTP protocol.") (define-public opensmtpd-next (package (name "opensmtpd-next") - (version "6.4.1p2") + (version "6.6.1p1") (source (origin (method url-fetch) (uri (string-append "https://www.opensmtpd.org/archives/" "opensmtpd-" version ".tar.gz")) (sha256 - (base32 "0cppqlx4fk6l8rbim5symh2fm1kzshf421256g596j6c9f9q96xn")))) + (base32 "1ngil8j13m2rq07g94j4yjr6zmaimzy8wbfr17shi7rxnazys6zb")))) (build-system gnu-build-system) (inputs `(("bdb" ,bdb) ("libasr" ,libasr) ("libevent" ,libevent) - ("libressl" ,libressl) + ;; XXX Upstream recommends LibreSSL, which doesn't support TLS 1.3 yet, + ;; and requires a development release (3.0.2). Use OpenSSL instead. + ("openssl" ,openssl) ("linux-pam" ,linux-pam) ("zlib" ,zlib))) (native-inputs @@ -2673,15 +2862,14 @@ killed threads.") (define-public pan (package (name "pan") - (version "0.145") + (version "0.146") (source (origin (method url-fetch) (uri (string-append "http://pan.rebelbase.com/download/releases/" version "/source/" name "-" version ".tar.bz2")) (sha256 - (base32 - "1b4wamv33hprghcjk903bpvnd233yxyrm18qnh13alc8h1553nk8")))) + (base32 "17agd27sn4a7nahvkpg0w39kv74njgdrrygs74bbvpaj8rk2hb55")))) (arguments `(#:configure-flags '("--with-gtk3" "--with-gtkspell" "--with-gnutls" "--enable-libnotify" "--enable-manual" @@ -2721,7 +2909,7 @@ PGP handling, multiple servers, and secure connections.") (define-public imapfilter (package (name "imapfilter") - (version "2.6.12") + (version "2.6.16") (source (origin (method git-fetch) @@ -2730,7 +2918,7 @@ PGP handling, multiple servers, and secure connections.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0vzpc54fjf5vb5vx5w0fl20xvx1k9cg6a3hbl86mm8kwsqf3wrab")))) + (base32 "0f65sg6hhv6778fxwsz4hvarbm97dsb8jj0mg7a9qs273r35pqck")))) (build-system gnu-build-system) (arguments `(#:tests? #f @@ -2739,15 +2927,7 @@ PGP handling, multiple servers, and secure connections.") "CC=gcc") #:phases (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'fix-include-path - (lambda* (#:key inputs #:allow-other-keys) - (let ((pcre (assoc-ref inputs "pcre"))) - (substitute* "src/Makefile" - (("INCDIRS =") - (string-append "INCDIRS =" - "-I" pcre "/include"))) - #t)))))) + (delete 'configure)))) ; no configure script (native-inputs `(("lua" ,lua) ("pcre" ,pcre) @@ -2764,14 +2944,13 @@ servers. The 4rev1 and 4 versions of IMAP are supported.") (define-public urlscan (package (name "urlscan") - (version "0.9.2") + (version "0.9.4") (source (origin (method url-fetch) (uri (pypi-uri "urlscan" version)) (sha256 - (base32 - "1zldck7vnp7z04aacbx3cprf5kzha4gfhjmss4iv2lh5nccxjfzx")))) + (base32 "1q0vxv9haap01vz1cbkzss62cgwb9365lv5vnkg2gbpx4g5y7a9l")))) (build-system python-build-system) (propagated-inputs `(("python-urwid" ,python-urwid))) @@ -2790,7 +2969,7 @@ replacement for the @code{urlview} program.") (define-public tnef (package (name "tnef") - (version "1.4.17") + (version "1.4.18") (source (origin (method git-fetch) @@ -2798,8 +2977,7 @@ replacement for the @code{urlview} program.") (url "https://github.com/verdammelt/tnef.git") (commit version))) (sha256 - (base32 - "0cq2xh5wd74qn6k2nnw5rayxgqhjl3jbzf4zlc4babcwxrv32ldh")) + (base32 "104g48mcm00bgiyzas2vf86331w7bnw7h3bc11ib4lp7rz6zqfck")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs @@ -2814,8 +2992,8 @@ replacement for the @code{urlview} program.") (license gpl2+))) (define-public mumi - (let ((commit "ea0a28f8d5db5761765eb60043b8593901552e25") - (revision "4")) + (let ((commit "8a57c87797ffb07baa88697130204184db643521") + (revision "5")) (package (name "mumi") (version (git-version "0.0.0" revision commit)) @@ -2827,17 +3005,50 @@ replacement for the @code{urlview} program.") (file-name (git-file-name name version)) (sha256 (base32 - "0b6dmi41vhssyf983blgi8a2kj3zjccc9cz7b7kvwh781ldqcywh")))) + "1575gn5p086sjxz5hvg6iyskq6cxf6vf50s9nsc4xgrbcqa3pv2c")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "Makefile.am" + ;; Install .go files to $prefix/lib instead of + ;; $prefix/share. + (("^godir[[:space:]]*=.*") + "godir = \ +$(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n") + + ;; Install assets. + (("^assetsdir.*" _) + "\ +assetsdir = $(pkgdatadir)/assets +assetscssdir = $(assetsdir)/css +assetsimgdir = $(assetsdir)/img +assetsjsdir = $(assetsdir)/js + +assetscss_DATA = $(wildcard assets/css/*) +assetsimg_DATA = $(wildcard assets/img/*) +assetsjs_DATA = $(wildcard assets/js/*)\n")) + #t)))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:modules ((guix build gnu-build-system) + ((guix build guile-build-system) + #:select (target-guile-effective-version)) + (guix build utils)) + #:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + + #:configure-flags '("--localstatedir=/var") + + #:phases (modify-phases %standard-phases (add-after 'install 'wrap-executable (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) - (scm (string-append out "/share/guile/site/2.2")) - (go (string-append out "/lib/guile/2.2/site-ccache"))) + (version (target-guile-effective-version)) + (scm (string-append out "/share/guile/site/" version)) + (go (string-append out "/lib/guile/" version + "/site-ccache"))) (wrap-program (string-append bin "/mumi") `("GUILE_LOAD_PATH" ":" prefix (,scm ,(getenv "GUILE_LOAD_PATH"))) @@ -2848,9 +3059,11 @@ replacement for the @code{urlview} program.") `(("guile-debbugs" ,guile-debbugs-next) ("guile-email" ,guile-email) ("guile-fibers" ,guile-fibers) - ("guile-json" ,guile-json) + ("guile-json" ,guile-json-1) ("guile-syntax-highlight" ,guile-syntax-highlight) - ("guile" ,guile-2.2))) + ("gnutls" ,gnutls) ;needed to talk to https://debbugs.gnu.org + ("guile" ,guile-2.2) + ("mumimu" ,mumimu))) ;'mumimu' executable recorded in (mumi config) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake)