;;; 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 © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com>
-;;; Copyright © 2016, 2017, 2018 Nils Gillmann <ng0@n0.is>
+;;; Copyright © 2016, 2017, 2018 ng0 <ng0@n0.is>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
-;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libidn)
+ #:use-module (gnu packages libunistring)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages m4)
#: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 python-web)
#:use-module (gnu packages serialization)
#:use-module (gnu packages samba)
#:use-module (gnu packages screen)
+ #:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages version-control)
#: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.5")
+ (version "3.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mailutils/mailutils-"
version ".tar.xz"))
(sha256
(base32
- "1wx275w38fwni2abc8g7g3irbk332vr34byxd72zqfdiznsqgims"))))
+ "07phzpwrnkdclx6jvirljk9zcavl8wh02kpx3mfba9msr99kpqj6"))))
(build-system gnu-build-system)
(arguments
'(#:phases
("readline" ,readline)
("linux-pam" ,linux-pam)
("libltdl" ,libltdl)
- ("gdbm" ,gdbm)))
+ ("gdbm" ,gdbm)
+
+ ;; Required for SEARCH CHARSET.
+ ("libiconv" ,libiconv)
+ ("libunistring" ,libunistring)))
(home-page "https://mailutils.org")
(synopsis "Utilities and library for reading and serving mail")
(description
(define-public mutt
(package
(name "mutt")
- (version "1.11.3")
+ (version "1.12.1")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/mutt/mutt/downloads/"
"mutt-" version ".tar.gz"))
(sha256
(base32
- "0h8rmcc62n1pagm7mjjccd5fxyhhi4vbvp8m88digkdf5z0g8hm5"))
+ "0311sip2q90aqaxn7h3cck1zl98b4vifqi8bp5fsizy4dr06bi81"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
(define-public gmime
(package
(name "gmime")
- (version "3.2.0")
+ (version "3.2.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gmime/"
"/gmime-" version ".tar.xz"))
(sha256
(base32
- "1q6palbpf6lh6bvy9ly26q5apl5k0z0r4mvl6zzqh90rz4rn1v3m"))))
+ "04bk7rqs5slpvlvqf11i6s37s8b2xn6acls8smyl9asjnpp7a23a"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
(define-public offlineimap
(package
(name "offlineimap")
- (version "7.2.3")
+ (version "7.2.4")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "18sdnhjldn8zs03bgqy1qa3ikmlfvyxcvwp3nbnv1a74biccqbpa"))))
+ "0h5q5nk2p2vx86w6rrbs7v70h81dpqqr68x6l3klzl3m0yj9agb1"))))
(build-system python-build-system)
(native-inputs
`(("asciidoc" ,asciidoc)))
(define-public emacs-mew
(package
(name "emacs-mew")
- (version "6.7")
+ (version "6.8")
(source (origin
(method url-fetch)
(uri (string-append "https://mew.org/Release/mew-"
version ".tar.gz"))
(sha256
(base32
- "03fzky2kz73vgx4cbps2psbbnrgqgkk5q7jwfldisymkzr9iz03y"))))
+ "0ixzyq33l6j34410kqav3lwn2wx171zvqd3irvns2jvhrbww8i6g"))))
(native-inputs
`(("emacs" ,emacs)))
(propagated-inputs
(define-public mu
(package
(name "mu")
- (version "1.0")
+ (version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/djcb/mu/releases/"
- "download/v" version "/mu-"
- version ".tar.xz"))
+ "download/" (version-major+minor version) "/"
+ "mu-" version ".tar.xz"))
(sha256
(base32
- "04x5azl19gszw2h7argq666gf9xs4hy9q7w9cbqxvy08n56xqsln"))))
+ "0fh5bxvhjqv1p9z783lym8y1k3p4jcc3wg6wf7zl8s6w8krcfd7n"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ; for gtester
("emacs" ,emacs-minimal)
- ("tzdata" ,tzdata-for-tests))) ;for mu/test/test-mu-query.c
+ ("tzdata" ,tzdata-for-tests))) ; for mu/test/test-mu-query.c
;; TODO: Add webkit and gtk to build the mug GUI.
(inputs
`(("xapian" ,xapian)
("guile" ,guile-2.2)
("glib" ,glib)
- ("gmime" ,gmime-2.6)))
+ ("gmime" ,gmime)))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(define-public notmuch
(package
(name "notmuch")
- (version "0.28.2")
+ (version "0.29.1")
(source (origin
(method url-fetch)
(uri (string-append "https://notmuchmail.org/releases/notmuch-"
- version ".tar.gz"))
+ version ".tar.xz"))
(sha256
(base32
- "0cg9ff7h7mklgbqqknxigxxx1j3p3s2a9cxvrs5ih7j56f04k9l5"))))
+ "0rg3rwghd3wivf3bmqcqpkkd5c779ld5hi363zjcw5fl6a7gqilq"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-build-system)
(guix build emacs-utils))
- #:make-flags (list "V=1") ; Verbose test output.
+ #:make-flags (list "V=1") ; verbose test output
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-notmuch-lib.el
(lambda _
(assoc-ref emacs:%standard-phases 'make-autoloads)))))
(native-inputs
`(("bash-completion" ,bash-completion)
- ("emacs" ,emacs-no-x) ; Minimal lacks libxml, needed for some tests.
+ ("emacs" ,emacs-no-x) ; -minimal lacks libxml, needed for some tests
("pkg-config" ,pkg-config)
- ("python" ,python-2)
- ("python-docutils" ,python2-docutils)
- ("python-sphinx" ,python2-sphinx)
+ ("python" ,python)
+ ("python-docutils" ,python-docutils)
+ ("sphinx" ,python-sphinx)
;; The following are required for tests only.
("which" ,which)
(license gpl3+)))
(define-public notmuch-addrlookup-c
- ;; This commit includes a compatibility fix for notmuch-0.25, and is not
- ;; currently part of any release. Please update this package when
- ;; notmuch-addrlookup-c-9 is released.
- (let ((commit "88f156d04990a71c6ad6fc2757b537b44e3c4d00")
- (revision "1")) ;Guix package revision
- (package
- (name "notmuch-addrlookup-c")
- (version (string-append "8-" revision "."
- (string-take commit 7)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/aperezdc/notmuch-addrlookup-c.git")
- (commit commit)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "0v0wzs7qzy4n1hbql8s10qrwgalcxdzbxf8pj6cii1pv2jwmkxbm"))))
- (build-system gnu-build-system)
- (arguments
- '(#:tests? #f ; no tests
- #:make-flags (list "CC=gcc"
- (string-append "PREFIX="
- (assoc-ref %outputs "out")))
- #:phases (modify-phases %standard-phases
- (delete 'configure)
- ;; Remove vim code completion config, it's not needed to
- ;; build (or be patched).
- (add-before 'patch-source-shebangs 'delete-ycm-file
- (lambda _ (delete-file ".ycm_extra_conf.py")))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append
- (assoc-ref outputs "out") "/bin")))
- (install-file "notmuch-addrlookup" bin)))))))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (inputs
- `(("glib" ,glib)
- ("notmuch" ,notmuch)))
- (home-page "https://github.com/aperezdc/notmuch-addrlookup-c")
- (synopsis "Address lookup tool for Notmuch")
- (description "This is an address lookup tool using a Notmuch database,
+ (package
+ (name "notmuch-addrlookup-c")
+ (version (string-append "9"))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aperezdc/notmuch-addrlookup-c.git")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1j3zdx161i1x4w0nic14ix5i8hd501rb31daf8api0k8855sx4rc"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; no tests
+ #:make-flags (list "CC=gcc")
+ #:phases (modify-phases %standard-phases
+ (delete 'configure)
+ ;; Remove vim code completion config, it's not needed to
+ ;; build (or be patched).
+ (add-before 'patch-source-shebangs 'delete-ycm-file
+ (lambda _ (delete-file ".ycm_extra_conf.py")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append
+ (assoc-ref outputs "out") "/bin")))
+ (install-file "notmuch-addrlookup" bin)))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("notmuch" ,notmuch)))
+ (home-page "https://github.com/aperezdc/notmuch-addrlookup-c")
+ (synopsis "Address lookup tool for Notmuch")
+ (description "This is an address lookup tool using a Notmuch database,
useful for email address completion.")
- (license license:expat))))
+ (license license:expat)))
(define-public python-notmuch
(package
(define-public libetpan
(package
(name "libetpan")
- (version "1.9.2")
+ (version "1.9.3")
(source (origin
(method git-fetch)
(uri (git-reference
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "13jiy2ddxbp9f2mk1mip9sk8h97bva5m0pnq2mlvh5xhifs6gza4"))))
+ (base32 "19g4qskg71jv7sxfxsdkjmrxk9mk5kf9b6fhw06g6wvm3205n95f"))))
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf-wrapper)
("automake" ,automake)
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'autogen
+ (replace 'bootstrap
(lambda _
(setenv "NOCONFIGURE" "true")
(invoke "sh" "autogen.sh"))))
(arguments
`(#:tests? #f))
(synopsis "Portrait image compressor")
- (description "This packages takes your 48x48x1 portrait image and
+ (description "This package takes your 48x48x1 portrait image and
compresses it.")
(home-page "http://www.cs.indiana.edu/pub/faces/")
(license (x11-style "file://README"))))
("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")
+ '("--enable-gnutls" "--enable-pgpmime-plugin" "--enable-enchant"
+ "--enable-ldap")
#:make-flags
;; Disable updating icon cache since it's done by the profile hook.
;; Conflict with other packages in the profile would be inevitable
(define-public msmtp
(package
(name "msmtp")
- (version "1.8.3")
+ (version "1.8.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://marlam.de/msmtp/releases/"
"/msmtp-" version ".tar.xz"))
(sha256
- (base32
- "1d4jdgrx4czp66nnwdsy938lzr4llhwyy0715pwg0j6h6gyyxciw"))))
+ (base32 "0fczpfxlr62wkr7bwhp24clxg962k5khgz14h818qyy4v77dl4qn"))))
(build-system gnu-build-system)
(inputs
`(("libsecret" ,libsecret)
"--with-tls=gnutls")
#:phases
(modify-phases %standard-phases
- (add-after 'install 'install-msmtpq
+ (add-after 'install 'install-additional-files
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(doc (string-append out "/share/doc/msmtp"))
- (msmtpq (string-append "scripts/msmtpq")))
+ (msmtpq "scripts/msmtpq")
+ (vimfiles (string-append out "/share/vim/vimfiles/plugin")))
(install-file (string-append msmtpq "/msmtpq") bin)
(install-file (string-append msmtpq "/msmtp-queue") bin)
(install-file (string-append msmtpq "/README.msmtpq") doc)
+ (install-file "scripts/vim/msmtp.vim" vimfiles)
#t))))))
(synopsis
"Simple and easy to use SMTP client with decent sendmail compatibility")
(define-public exim
(package
(name "exim")
- (version "4.90.1")
+ (version "4.92.1")
(source
(origin
(method url-fetch)
(string-append "https://ftp.exim.org/pub/exim/exim4/old/exim-"
version ".tar.bz2")))
(sha256
- (base32
- "1w6blvvrd87c649j8xpag034md2w1ib0db9c4ijqbzc5dh2i1xfq"))))
+ (base32 "132zmxgzz35xwi89g3crw6hd3y74rxj5zcpamakvrnlcn256amdp"))))
(build-system gnu-build-system)
(inputs
- `(("bdb" ,bdb)
+ `(("bdb" ,bdb-5.3) ; ‘#error Version 6 and later BDB API is not supported’
("gnutls" ,gnutls)
("gzip" ,gzip)
("bzip2" ,bzip2)
(("(EXIM_USER=).*" all var)
(string-append var "nobody\n"))
(("(FIXED_NEVER_USERS=).*" all var)
- (string-append var "\n")) ;XXX no root in build environment
+ (string-append var "\n")) ; XXX no root in build environment
(("(COMPRESS_COMMAND=).*" all var)
(string-append var gzip "/bin/gzip\n"))
(("(ZCAT_COMMAND=).*" all var)
(define-public dovecot
(package
(name "dovecot")
- (version "2.3.4.1")
+ (version "2.3.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.dovecot.org/releases/"
(version-major+minor version) "/"
- name "-" version ".tar.gz"))
+ "dovecot-" version ".tar.gz"))
(sha256
- (base32
- "01xa8d08c0j51w5kmqb3vnzrvh17hkzx5a5p7fb5hgn3wln3x1xq"))))
+ (base32 "1irnalplb47nlc26dn7zzdi95zhrxxi3miza7p3wdsgapv0qs7gd"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
`(#:configure-flags '("--sysconfdir=/etc"
"--localstatedir=/var")
- #:phases (modify-phases %standard-phases
- (add-before
- 'configure 'pre-configure
- (lambda _
- ;; Simple hack to avoid installing in /etc.
- (substitute* '("doc/Makefile.in"
- "doc/example-config/Makefile.in")
- (("pkgsysconfdir = .*")
- "pkgsysconfdir = /tmp/etc"))
- #t))
- (add-after
- 'unpack 'patch-other-file-names
- (lambda _
- (substitute*
- "src/lib-program-client/test-program-client-local.c"
- (("(/bin/| )cat") (which "cat"))
- (("/bin/echo") (which "echo"))
- (("/bin/false") (which "false"))
- (("/bin/sh") (which "bash"))
- (("head") (which "head"))
- (("sleep") (which "sleep")))
- #t)))))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-file-names
+ (lambda _
+ (substitute* "src/lib-program-client/test-program-client-local.c"
+ (("(/bin/| )cat") (which "cat"))
+ (("/bin/echo") (which "echo"))
+ (("/bin/false") (which "false"))
+ (("/bin/sh") (which "bash"))
+ (("head") (which "head"))
+ (("sleep") (which "sleep")))
+ (substitute* (list "src/lib-smtp/test-bin/sendmail-exit-1.sh"
+ "src/lib-smtp/test-bin/sendmail-success.sh")
+ (("cat") (which "cat")))
+ #t))
+ (replace 'install
+ (lambda* (#:key make-flags #:allow-other-keys)
+ ;; Simple hack to avoid installing a trivial README in /etc.
+ (apply invoke "make" "install" "sysconfdir=/tmp/bogus"
+ make-flags))))))
(home-page "https://www.dovecot.org")
(synopsis "Secure POP3/IMAP server")
(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://0xacab.org/riseuplabs/trees")
(synopsis "NaCL-based Dovecot email storage encryption plugin")
(description
@item This password digest is used as a symmetric secret to decrypt a libsodium secretbox.
@item Inside the secretbox is stored a Curve25519 private key.
@item The Curve25519 private key is used to decrypt each individual message,
-using lidsodium sealed boxes.
+using libsodium sealed boxes.
@item New mail is encrypted as it arrives using the Curve25519 public key.
@end enumerate\n")
(license agpl3)))
`(#: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
(define-public isync
(package
(name "isync")
- (version "1.3.0")
+ (version "1.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/isync/isync/"
version "/isync-" version ".tar.gz"))
(sha256 (base32
- "173wd7x8y5sp94slzwlnb7zhgs32r57zl9xspl2rf4g3fqwmhpwd"))))
+ "1sphd30jplii58y2zmw365bckm6pszmapcy905zhjll1sm1ldjv8"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)))
(define-public perl-email-address
(package
(name "perl-email-address")
- (version "1.909")
+ (version "1.912")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
"Email-Address-" version ".tar.gz"))
(sha256
- (base32
- "0l7x6sl06j9ffgfz5f9vgms2b5axd4cgp5fj03ivb3kia4km6b3g"))))
+ (base32 "1vzr0vx4zsw4zbc9xdffc31wnkc1raqmyfiyws06fbyck197i8qg"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Email-Address")
(synopsis "Email address parsing and creation")
objects found. Alternatively you may construct objects manually.")
(license perl-license)))
+(define-public perl-email-address-xs
+ (package
+ (name "perl-email-address-xs")
+ (version "1.04")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/P/PA/PALI/"
+ "Email-Address-XS-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0gjrrl81z3sfwavgx5kwjd87gj44mlnbbqsm3dgdv1xllw26spwr"))))
+ (build-system perl-build-system)
+ (home-page "https://metacpan.org/release/Email-Address-XS")
+ (synopsis "Parse and format RFC 5322 email addresses and groups")
+ (description
+ "Email::Address::XS implements RFC 5322 parser and formatter of email
+addresses and groups. Unlike Email::Address, this module does not use regular
+expressions for parsing but instead is implemented in XS and uses shared code
+from Dovecot IMAP server.")
+ (license perl-license)))
+
(define-public perl-email-date-format
(package
(name "perl-email-date-format")
(define-public fdm
(package
(name "fdm")
- (version "1.9")
+ (version "2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/nicm/fdm/releases/download/"
- version "/fdm-"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ version "/fdm-" version ".tar.gz"))
(sha256
- (base32 "054rscijahiza5f9qha79rg3siji3bk5mk10f8c2vqx7m4w6qh8n"))))
+ (base32 "196fs1z8y7p12wmqn1bylzz94szl58yv2aby3p30nmwjnyv8rch6"))))
(build-system gnu-build-system)
(inputs
`(("tdb" ,tdb)
(license gpl3+)))
(define-public perl-mail-spf
- (package
- (name "perl-mail-spf")
- (version "v2.9.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://cpan/authors/id/J/JM/JMEHNLE/mail-spf/Mail-SPF-"
+ (package
+ (name "perl-mail-spf")
+ (version "2.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/J/JM/JMEHNLE/mail-spf/Mail-SPF-v"
version
".tar.gz"))
- (sha256
- (base32
- "0qk1rfgfm5drj4iyniiabrasrpqv570vzhgz66lwgb67y4amkjv1"))))
- (build-system perl-build-system)
- (native-inputs
- `(("perl-module-build" ,perl-module-build)
- ("perl-net-dns-resolver-programmable"
- ,perl-net-dns-resolver-programmable)))
- (arguments
- `(#:phases (modify-phases %standard-phases
- (add-before 'configure 'modify-Build.PL
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "Build.PL"
- (("'/usr/sbin'") (string-append "'"
- (assoc-ref outputs "out")
- "/sbin'")))
+ (sha256
+ (base32 "0qk1rfgfm5drj4iyniiabrasrpqv570vzhgz66lwgb67y4amkjv1"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-net-dns-resolver-programmable"
+ ,perl-net-dns-resolver-programmable)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'modify-Build.PL
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Build.PL"
+ (("'/usr/sbin'") (string-append "'"
+ (assoc-ref outputs "out")
+ "/sbin'")))
#t)))))
- (inputs
- `(("perl-error" ,perl-error)
- ("perl-net-dns" ,perl-net-dns)
- ("perl-netaddr-ip" ,perl-netaddr-ip)
- ("perl-uri" ,perl-uri)))
- (home-page
- "https://metacpan.org/release/Mail-SPF")
- (synopsis
- "Perl implementation of Sender Policy Framework")
- (description "Mail::SPF is the Sender Policy Framework implemented
+ (inputs
+ `(("perl-error" ,perl-error)
+ ("perl-net-dns" ,perl-net-dns)
+ ("perl-netaddr-ip" ,perl-netaddr-ip)
+ ("perl-uri" ,perl-uri)))
+ (home-page "https://metacpan.org/release/Mail-SPF")
+ (synopsis "Perl implementation of Sender Policy Framework")
+ (description "Mail::SPF is the Sender Policy Framework implemented
in Perl.")
- (license bsd-3)))
+ (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.55")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "18nsh1ff6fkns4xk3y2ixmzmadgggydj11qkzj6nlnq2hzqxsafz"))))
+ (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
(define-public mpop
(package
(name "mpop")
- (version "1.4.2")
+ (version "1.4.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://marlam.de/mpop/releases/"
- name "-" version ".tar.xz"))
+ "mpop-" version ".tar.xz"))
(sha256
- (base32
- "1rx5mhgqkm7swbynrhbsz32v85h0rydb4kqfgfs9jrznd9d14m2d"))))
+ (base32 "1m6743j8g777lijvxqw2wz6pv2g5a9wlh6zq7awk0hvd44xp4sav"))))
(build-system gnu-build-system)
(inputs
`(("gnutls" ,gnutls)
(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.4.1p2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.opensmtpd.org/archives/"
+ "opensmtpd-" version ".tar.gz"))
+ (sha256
+ (base32 "0cppqlx4fk6l8rbim5symh2fm1kzshf421256g596j6c9f9q96xn"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("bdb" ,bdb)
+ ("libasr" ,libasr)
+ ("libevent" ,libevent)
+ ("libressl" ,libressl)
+ ("linux-pam" ,linux-pam)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("bison" ,bison)
+ ("groff" ,groff))) ; for man pages
+ (arguments
+ `(#:configure-flags
+ (list "--localstatedir=/var"
+ ;; 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"
+ "--with-user-smtpd=smtpd"
+ "--with-user-queue=smtpq" "--with-group-queue=smtpq"
+ "--with-auth-pam"
+ "--with-table-db")
+ #: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"
+ ;; ‘gzcat’ is auto-detected at compile time, but ‘cat’ isn't.
+ (("/bin/cat") (which "cat")))
+ (substitute* "smtpd/mda_unpriv.c"
+ (("/bin/sh") (which "sh")))
+ #t))
+ ;; OpenSMTPD provides a single smtpctl utility to control both the
+ ;; daemon and the local submission subsystem. To accomodate systems
+ ;; that require historical interfaces such as sendmail, newaliases or
+ ;; makemap, smtpctl operates 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)))
+ (list "mailq" "makemap" "newaliases"
+ "send-mail" "sendmail")))
+ #t)))))
+ (synopsis "Lightweight SMTP daemon")
+ (description
+ "OpenSMTPD is an implementation of server-side @acronym{SMTP, Simple Mail
+Transfer Protocol}, with some additional standard extensions. It allows
+ordinary machines to exchange e-mails with other systems speaking the SMTP
+protocol, or to deliver them to local users.
+
+In order to simplify the use of SMTP, OpenSMTPD implements a smaller set of
+functionality than those available in other SMTP daemons. The objective is to
+provide enough features to satisfy typical usage at the risk of unsuitability
+to esoteric or niche requirements.")
+ (home-page "https://www.opensmtpd.org")
+ (license (list bsd-2 bsd-3 bsd-4 (non-copyleft "file://COPYING")
+ public-domain isc license:openssl))))
+
(define-public opensmtpd-extras
(package
(name "opensmtpd-extras")
(define-public alpine
(package
(name "alpine")
- (version "2.21.9999")
+ ;; Upstream doesn't use git tags, but does ‘tag’ their releases in the
+ ;; commit message. Hence the lack of GIT-VERSIONing despite using a commit
+ ;; ID below. Don't forget to update it…
+ (version "2.21.99999")
(source
(origin
- (method url-fetch)
+ (method git-fetch)
;; There are two versions: the plain continuation of Alpine without extra
;; patches and the version which adds extra fixes. Every distro uses
;; the patched version, and so do we to not break expectations.
;; http://alpine.freeiz.com/alpine/readme/README.patches
- (uri (string-append "http://repo.or.cz/alpine.git/snapshot/"
- "d3e6f3932f2af9deca8eed09e30a55e9bd524362.tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (uri (git-reference
+ (url "http://repo.or.cz/alpine.git")
+ (commit "abeb2c25935ef8c75f1e5deef0f81276754dc975")))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0w4qyybfdxi29r2z3giq0by6aa6v6nrgibh1xgv4d1vwwq4hw35w"))))
+ (base32 "0rqgbw08a5lj41dkp82aq480lqkc4bnxagna7wpqffi821n8gkwz"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "CC=gcc")
"/lib")
(string-append "--with-interactive-spellcheck="
(assoc-ref %build-inputs "aspell")
- "/bin/aspell"))
+ "/bin/aspell")
+ "--with-date-stamp=Thu 1 Jan 01:00:01 CET 1970")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-reproducible
;; This removes time-dependent code to make alpine reproducible.
(substitute* "pico/blddate.c"
(("%02d-%s-%d") "1970-01-01"))
- (substitute* (list "alpine/Makefile.in"
- "web/src/alpined.d/Makefile.in")
- (("`date`") "1970-01-01"))
#t)))))
(inputs
`(("ncurses" ,ncurses)
("aspell" ,aspell)
("tcl" ,tcl)
("linux-pam" ,linux-pam)))
- (home-page "http://repo.or.cz/alpine.git")
+ (home-page "https://repo.or.cz/alpine.git")
(synopsis "Alternatively Licensed Program for Internet News and Email")
(description
"Alpine is a text-based mail and news client. Alpine includes several
(define-public balsa
(package
(name "balsa")
- (version "2.5.6")
+ (version "2.5.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://pawsa.fedorapeople.org/balsa/"
name "-" version ".tar.bz2"))
(sha256
- (base32
- "17k6wcsl8gki7cskr3hhmfj6n54rha8ca3b6fzd8blsl5shsankx"))))
+ (base32 "0yfqhfpwm1qnwmbpr6dfn2f5w8a8xxq51pn8ypgg0fw973l1c1nx"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
("gnutls" ,gnutls)
("gpgme" ,gpgme)
("gtk+" ,gtk+)
- ("gtksourceview" ,gtksourceview)
+ ("gtksourceview" ,gtksourceview-3)
("gtkspell3" ,gtkspell3)
("libcanberra" ,libcanberra)
("libesmtp" ,libesmtp)
(license gpl2+)))
(define-public mumi
- (let ((commit "ea5a738010148284aed211da953ad670003aefea")
- (revision "3"))
+ (let ((commit "ea0a28f8d5db5761765eb60043b8593901552e25")
+ (revision "4"))
(package
(name "mumi")
(version (git-version "0.0.0" revision commit))
(file-name (git-file-name name version))
(sha256
(base32
- "0ci5x8dqjmp74w33q2dbs5csxp4ilfmc1xxaa8q2jnh52d7597hl"))))
+ "0b6dmi41vhssyf983blgi8a2kj3zjccc9cz7b7kvwh781ldqcywh"))))
(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
(synopsis "Debbugs web interface")
(description "Mumi is a Debbugs web interface.")
(license agpl3+))))
+
+(define-public ytnef
+ (package
+ (name "ytnef")
+ (version "1.9.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Yeraze/ytnef.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "07h48s5qf08503pp9kafqbwipdqghiif22ghki7z8j67gyp04l6l"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ (home-page "https://github.com/Yeraze/ytnef/")
+ (synopsis "TNEF stream reader for winmail.dat files")
+ (description "This package provides a TNEF stream reader library and
+related tools to process winmail.dat files.")
+ (license gpl2+)))
+
+(define-public public-inbox
+ (let ((commit "3cf66514aea9e958999973b9f104473b6d800fbe")
+ (revision "0"))
+ (package
+ (name "public-inbox")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin (method git-fetch)
+ (uri (git-reference
+ (url "https://public-inbox.org")
+ (commit commit)))
+ (sha256
+ (base32
+ "1sxycwlm2n6p544gn9f0vf3xs6gz8vdswdhs2ha6fka8mgabvmdh"))
+ (file-name (git-file-name name version))))
+ (build-system perl-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'qualify-paths
+ (lambda _
+ ;; Use absolute paths for 'xapian-compact'.
+ (let ((xapian-compact (which "xapian-compact")))
+ (substitute* "script/public-inbox-compact"
+ (("xapian-compact") xapian-compact)))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda _
+ (substitute* "t/spawn.t"
+ (("\\['env'\\]") (string-append "['" (which "env") "']")))
+ #t))
+ (add-after 'install 'wrap-programs
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (for-each
+ (lambda (prog)
+ (wrap-program prog
+ ;; Let those scripts find their perl modules.
+ `("PERL5LIB" ":" prefix
+ (,(string-append out "/lib/perl5/site_perl")
+ ,(getenv "PERL5LIB")))
+ ;; 'git' is invoked in various files of the PublicInbox
+ ;; perl module.
+ `("PATH" ":" prefix
+ (,(string-append (assoc-ref inputs "git") "/bin")))))
+ (find-files (string-append out "/bin"))))
+ #t)))))
+ (native-inputs
+ `(("git" ,git)
+ ("xapian" ,xapian)))
+ (inputs
+ `(("perl-danga-socket" ,perl-danga-socket)
+ ("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-filesys-notify-simple" ,perl-filesys-notify-simple)
+ ("perl-plack-middleware-deflater" ,perl-plack-middleware-deflater)
+ ("perl-plack-middleware-reverseproxy" ,perl-plack-middleware-reverseproxy)
+ ("perl-plack" ,perl-plack)
+ ("perl-search-xapian" ,perl-search-xapian)
+ ("perl-timedate" ,perl-timedate)
+ ("perl-uri-escape" ,perl-uri-escape)
+ ;; For testing.
+ ("perl-ipc-run" ,perl-ipc-run)
+ ("perl-xml-feed" ,perl-xml-feed)))
+ (home-page "https://public-inbox.org/README.html")
+ (synopsis "Archive mailing lists in git repositories")
+ (description
+ "public-inbox implements the sharing of an email inbox via git to
+complement or replace traditional mailing lists. Readers may read via NNTP,
+Atom feeds or HTML archives.")
+ (license agpl3+))))