;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 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>
-;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2014, 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;;
;;; This file is part of GNU Guix.
;;;
#: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)
#: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)
(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
(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
(define-public mutt
(package
(name "mutt")
- (version "1.12.1")
+ (version "1.12.2")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/mutt/mutt/downloads/"
"mutt-" version ".tar.gz"))
(sha256
(base32
- "0311sip2q90aqaxn7h3cck1zl98b4vifqi8bp5fsizy4dr06bi81"))
+ "10k8352s0z7yan6d4z2am80qd3bsaky4h89g72wl4xr3x067ahmw"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
(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)
("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)))
("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"
"--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"
(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"))
(define-public gmime
(package
(name "gmime")
- (version "3.2.3")
+ (version "3.2.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gmime/"
"/gmime-" version ".tar.xz"))
(sha256
(base32
- "04bk7rqs5slpvlvqf11i6s37s8b2xn6acls8smyl9asjnpp7a23a"))))
+ "096hh4g6z343kncw9svcrzv05d41n4v2q5k9jsm6gc40w30ag7i4"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
(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)
(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")
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'autogen
+ (replace 'bootstrap
(lambda _
(setenv "NOCONFIGURE" "true")
(invoke "sh" "autogen.sh"))))
(define-public claws-mail
(package
(name "claws-mail")
- (version "3.17.3")
+ (version "3.17.4")
(source (origin
(method url-fetch)
(uri (string-append
".tar.xz"))
(sha256
(base32
- "1wnj6c9cbmhphs2l6wfvndkk2g08rmxw0sl2c8k1k008dxd1ykjh"))))
+ "00mfhaac16sv67rwiq98hr4nl5zmd1h2afswwwksdcsi3q9x23jr"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("bogofilter" ,bogofilter)
("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"
(define-public msmtp
(package
(name "msmtp")
- (version "1.8.4")
+ (version "1.8.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://marlam.de/msmtp/releases/"
"/msmtp-" version ".tar.xz"))
(sha256
- (base32
- "1xr926lyy44baqdgv9q0sw5z6ll2cb4lx2g4lgpgbqn8bglpzpg5"))))
+ (base32 "1qa260xrm0fzlwxpjvgvq39m4dfkskjlyb7m4y2vlr8c8d3z29b6"))))
(build-system gnu-build-system)
(inputs
`(("libsecret" ,libsecret)
(define-public exim
(package
(name "exim")
- (version "4.92")
+ (version "4.92.3")
(source
(origin
(method url-fetch)
(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’
(define-public dovecot
(package
(name "dovecot")
- (version "2.3.6")
+ (version "2.3.8")
(source
(origin
(method url-fetch)
(version-major+minor version) "/"
"dovecot-" version ".tar.gz"))
(sha256
- (base32 "1irnalplb47nlc26dn7zzdi95zhrxxi3miza7p3wdsgapv0qs7gd"))))
+ (base32 "0jdng27hqqagjy6v7ymd0xflbv5dbc1rhh450nk39ar6pw1qsxy5"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
`(#: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
`(#: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
(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")
(define-public perl-email-sender
(package
(name "perl-email-sender")
- (version "1.300031")
+ (version "1.300033")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
"Email-Sender-" version ".tar.gz"))
(sha256
- (base32
- "052g0slw3h2lzn93j71fi47nfawww2aph4jhr3c860ji70lkf4n4"))))
+ (base32 "1flbnzyng4g0h1aksbsip1qa6sawgfihvblspqc0xsis8g9vcza7"))))
(build-system perl-build-system)
(native-inputs
`(("perl-capture-tiny" ,perl-capture-tiny)))
(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
(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)
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")
(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
(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)))
(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))
(file-name (git-file-name name version))
(sha256
(base32
- "0b6dmi41vhssyf983blgi8a2kj3zjccc9cz7b7kvwh781ldqcywh"))))
+ "1575gn5p086sjxz5hvg6iyskq6cxf6vf50s9nsc4xgrbcqa3pv2c"))))
(build-system gnu-build-system)
(arguments
`(#:phases
`(("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)))
(native-inputs