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.scm270
1 files changed, 147 insertions, 123 deletions
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 2244653724..5056098806 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -35,6 +35,7 @@
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Alexey Abramov <levenson@mmer.org>
+;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -141,6 +142,7 @@
#:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module (guix utils)
+ #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system guile)
#:use-module (guix build-system perl)
@@ -197,7 +199,10 @@ example, modify the message headers or body, or encrypt or sign the message.")
version ".tar.xz"))
(sha256
(base32
- "17smrxjdgbbzbzakik30vj46q4iib85ksqhb82jr4vjp57akszh9"))))
+ "17smrxjdgbbzbzakik30vj46q4iib85ksqhb82jr4vjp57akszh9"))
+ (patches
+ ;; Fixes https://issues.guix.gnu.org/43088.
+ (search-patches "mailutils-fix-uninitialized-variable.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -690,6 +695,54 @@ mailpack. What can alterMIME do?
(license (list (license:non-copyleft "file://LICENSE")
license:bsd-3))))
+(define-public ripmime
+ ;; Upstream does not tag or otherwise provide any releases (only a version
+ ;; number in the source)
+ (let ((commit "a556ffe08d620602475c976732e8e1a82f3169e9")
+ (revision "1"))
+ (package
+ (name "ripmime")
+ (version (git-version "1.4.0.10" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/inflex/ripMIME")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1z8ar8flvkd9q3ax4x28sj5pyq8ykk5pq249y967lj2406lxparh"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Source has no configure script
+ (delete 'configure)
+ ;; Buildcodes make the build non-reproducible; remove them
+ (add-after 'unpack 'strip-buildcodes
+ (lambda _
+ (substitute* "generate-buildcodes.sh"
+ (("`date \\+%s`") "0")
+ (("`date`") "0")
+ (("`uname -a`") "Guix"))
+ #t))
+ ;; https://github.com/inflex/ripMIME/pull/16 makes 'mkdir-p-bin-man unnecessary
+ (add-before 'install 'mkdir-p-bin-man
+ (lambda _
+ (mkdir-p (string-append (assoc-ref %outputs "out") "/bin"))
+ (mkdir-p (string-append (assoc-ref %outputs "out") "/man"))
+ #t)))
+ ;; Makefile has no tests
+ #:tests? #f
+ #:make-flags (list (string-append "LOCATION=" (assoc-ref %outputs "out"))
+ "CC=gcc")))
+ (synopsis "Extract attachments from MIME-encoded email")
+ (description
+ "ripMIME is a small program to extract the attached files out of a
+MIME-encoded email package.")
+ (home-page "https://github.com/inflex/ripMIME")
+ (license license:bsd-3))))
+
(define-public bogofilter
(package
(name "bogofilter")
@@ -725,7 +778,7 @@ and corrections. It is based on a Bayesian filter.")
(define-public offlineimap
(package
(name "offlineimap")
- (version "7.2.4")
+ (version "7.3.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -734,12 +787,14 @@ and corrections. It is based on a Bayesian filter.")
(file-name (git-file-name name version))
(sha256
(base32
- "0h5q5nk2p2vx86w6rrbs7v70h81dpqqr68x6l3klzl3m0yj9agb1"))))
+ "1gg8ry67i20qapj4z20am9bm67m2q28kixcj7ja75m897vhzarnq"))))
(build-system python-build-system)
(native-inputs
`(("asciidoc" ,asciidoc)))
- (inputs `(("python2-pysqlite" ,python2-pysqlite)
- ("python2-six" ,python2-six)))
+ (inputs
+ `(("python2-pysqlite" ,python2-pysqlite)
+ ("python2-rfc6555" ,python2-rfc6555)
+ ("python2-six" ,python2-six)))
(arguments
;; The setup.py script expects python-2.
`(#:python ,python-2
@@ -1158,7 +1213,7 @@ and search library.")
(base32 "1k2m44pj5i6vfhp9icdqs42chsp208llanc666p3d9nww8ngq2lb"))))
(build-system gnu-build-system)
(native-inputs
- `(("ghc-pandoc" ,ghc-pandoc)
+ `(("pandoc" ,pandoc)
("pkg-config" ,pkg-config)))
(inputs
`(("libcrypto" ,openssl)
@@ -1265,62 +1320,69 @@ compresses it.")
(define-public claws-mail
(package
(name "claws-mail")
- (version "3.17.6")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://www.claws-mail.org/releases/claws-mail-" version
- ".tar.xz"))
- (sha256
- (base32
- "1s05qw0r0gqwvvkxvrrwbjkbi61dvilixiwrpgcq21qc9csc9r0m"))))
- (build-system gnu-build-system)
- (native-inputs `(("pkg-config" ,pkg-config)))
- (inputs `(("bogofilter" ,bogofilter)
- ("curl" ,curl)
- ("dbus-glib" ,dbus-glib)
- ("enchant" ,enchant)
- ("expat" ,expat)
- ("ghostscript" ,ghostscript)
- ("hicolor-icon-theme" ,hicolor-icon-theme)
- ("gnupg" ,gnupg)
- ("gnutls" ,gnutls)
- ("gpgme" ,gpgme)
- ("gtk" ,gtk+-2)
- ("libarchive" ,libarchive)
- ("libcanberra" ,libcanberra)
- ("libetpan" ,libetpan)
- ("libical" ,libical)
- ("libnotify" ,libnotify)
- ("libsm" ,libsm)
- ("libxml2" ,libxml2)
- ("perl" ,perl)
- ("python-2" ,python-2)
- ("mime-info" ,shared-mime-info)
- ("startup-notification" ,startup-notification)))
+ (version "3.17.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://www.claws-mail.org/releases/claws-mail-"
+ version ".tar.xz"))
+ (sha256
+ (base32 "1j6x09621wng0lavh53nwzh9vqjzpspl8kh5azh7kbihpi4ldfb0"))))
+ (build-system glib-or-gtk-build-system)
(arguments
- '(#:configure-flags
- '("--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
- ;; otherwise.
- '("gtk_update_icon_cache=true")
- #:phases (modify-phases %standard-phases
- (add-before 'build 'patch-mime
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "src/procmime.c"
- (("/usr/share/mime/globs")
- (string-append (assoc-ref inputs "mime-info")
- "/share/mime/globs"))))))))
+ `(#:configure-flags
+ (list
+ "--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
+ ;; otherwise.
+ (list
+ "gtk_update_icon_cache=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'patch-mime
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/procmime.c"
+ (("/usr/share/mime/globs")
+ (string-append (assoc-ref inputs "mime-info")
+ "/share/mime/globs"))))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("bogofilter" ,bogofilter)
+ ("curl" ,curl)
+ ("dbus-glib" ,dbus-glib)
+ ("enchant" ,enchant)
+ ("expat" ,expat)
+ ("ghostscript" ,ghostscript)
+ ("hicolor-icon-theme" ,hicolor-icon-theme)
+ ("gnupg" ,gnupg)
+ ("gnutls" ,gnutls)
+ ("gpgme" ,gpgme)
+ ("gtk" ,gtk+-2)
+ ("libarchive" ,libarchive)
+ ("libcanberra" ,libcanberra)
+ ("libetpan" ,libetpan)
+ ("libical" ,libical)
+ ("libnotify" ,libnotify)
+ ("libsm" ,libsm)
+ ("libxml2" ,libxml2)
+ ("perl" ,perl)
+ ("python-2" ,python-2)
+ ("mime-info" ,shared-mime-info)
+ ("startup-notification" ,startup-notification)))
(synopsis "GTK-based Email client")
- (description
- "Claws-Mail is an email client (and news reader) based on GTK+. The
-appearance and interface are designed to be familiar to new users coming from
-other popular email clients, as well as experienced users. Almost all commands
-are accessible with the keyboard. Plus, Claws-Mail is extensible via addons
-which can add many functionalities to the base client.")
+ (description "Claws-Mail is an email client (and news reader) based on GTK+.
+The appearance and interface are designed to be familiar to new users coming
+from other popular email clients, as well as experienced users. Almost all
+commands are accessible with the keyboard. Plus, Claws-Mail is extensible via
+addons which can add many functionalities to the base client.")
(home-page "https://www.claws-mail.org/")
(license license:gpl3+))) ; most files are actually public domain or x11
@@ -1661,7 +1723,7 @@ scripts to prevent embarrassing errors later on.")
"Technology for Resting Email Encrypted Storage (TREES) is a NaCL-based
Dovecot encryption plugin. This plugin adds individually encrypted mail
storage to the Dovecot IMAP server. It is inspired by Posteo's scrambler
-which uses OpenSSL and RSA keypairs. TREES works in a similar way, but uses
+which uses OpenSSL and RSA key pairs. TREES works in a similar way, but uses
the Sodium crypto library (based on NaCL).
How it works:
@@ -1914,14 +1976,14 @@ header.")
(define-public perl-email-sender
(package
(name "perl-email-sender")
- (version "1.300034")
+ (version "1.300035")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
"Email-Sender-" version ".tar.gz"))
(sha256
- (base32 "14aj9kqa9dr2bdhzn2qvjj2mffj8wjb5397z8qw7qg057fk3ib05"))))
+ (base32 "0yfssp3rqdx1dmgvnygarzgkpkhqm28r5sd0gh87ksk8yxndhjql"))))
(build-system perl-build-system)
(native-inputs
`(("perl-capture-tiny" ,perl-capture-tiny)))
@@ -2539,7 +2601,7 @@ transfer protocols.")
(description
"Sieve-connect lets you view, upload, edit, delete, and otherwise manage
Sieve scripts on any mail server that speaks the @dfn{ManageSieve} protocol,
-as specifed in RFC 5804.
+as specified in RFC 5804.
@dfn{Sieve} (RFC 5228) is a specialised language for e-mail filtering. Sieve
scripts are stored on the server and run whenever mail arrives. They can
@@ -2999,47 +3061,6 @@ installation on systems where resources are limited. Its features include:
(description
"This package contains libraries and templates for Django-based interfaces
interacting with Mailman.")
- (properties `((python2-variant . ,(delay python2-django-mailman3))))
- (license license:gpl3+)))
-
-;; This is the last version to support Python-2.
-(define-public python2-django-mailman3
- (package
- (name "python2-django-mailman3")
- (version "1.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "django-mailman3" version))
- (sha256
- (base32
- "1xjdkgfjwhgyrp5nxw65dcpcsr98ygj6856sp0bwkrmyxpd1xxk2"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "django-admin"
- "test"
- "--settings=django_mailman3.tests.settings_test"
- "django_mailman3"))))
- #:python ,python-2))
- (inputs
- `(("python2-django" ,python2-django)))
- (propagated-inputs
- `(("python2-requests" ,python2-requests)
- ("python2-requests-oauthlib" ,python2-requests-oauthlib)
- ("python2-openid" ,python2-openid)
- ("python2-mailmanclient" ,python2-mailmanclient)
- ("python2-django-allauth" ,python2-django-allauth)
- ("python2-django-gravatar2" ,python2-django-gravatar2)
- ("python2-pytz" ,python2-pytz)))
- (home-page "https://gitlab.com/mailman/django-mailman3")
- (synopsis "Django library for Mailman UIs")
- (description
- "Libraries and templates for Django-based interfaces
-interacting with Mailman.")
(license license:gpl3+)))
(define-public python-mailman-hyperkitty
@@ -3099,16 +3120,12 @@ which sends emails to HyperKitty, the official Mailman3 web archiver.")
(modify-phases %standard-phases
(replace 'check
(lambda _
- ;; It is unclear why this test fails.
- (substitute* "hyperkitty/tests/commands/test_import.py"
- (("def test_bad_content_type_part_two")
- "@SkipTest\n def test_bad_content_type_part_two"))
(setenv "PYTHONPATH" (string-append ".:" (getenv "PYTHONPATH")))
(invoke "example_project/manage.py" "test"
"--settings=hyperkitty.tests.settings_test"))))))
(propagated-inputs
`(("python-dateutil" ,python-dateutil)
- ("python-django" ,python-django)
+ ("python-django" ,python-django-2.2)
("python-django-compressor" ,python-django-compressor)
("python-django-extensions" ,python-django-extensions)
("python-django-gravatar2" ,python-django-gravatar2)
@@ -3213,28 +3230,35 @@ on the fly. Both programs are written in C and are very fast.")
(define-public swaks
(package
(name "swaks")
- (version "20190914.0")
+ (version "20201014.0")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://jetmore.org/john/code/swaks/files/swaks-"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jetmore/swaks")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "12awq5z4sdd54cxprj834zajxhkpy4jwhzf1fhigcx1zbhdaacsp"))))
+ (base32 "131i2b1yxhnbqkfk4kky40pfanqw2c5lcgbnjhfqp5cvpawpk2ai"))))
(build-system perl-build-system)
(inputs
- `(("perl-net-dns" ,perl-net-dns)
- ("perl-net-ssleay" ,perl-net-ssleay)))
+ `(("perl-io-socket-inet6" ,perl-io-socket-inet6)
+ ("perl-net-dns" ,perl-net-dns)
+ ("perl-net-ssleay" ,perl-net-ssleay)
+ ("perl-socket6" ,perl-socket6))) ; used by perl-io-socket-inet6
(arguments
- `(#:tests? #f ; No tests
+ `(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'set-build_version
+ (lambda _
+ (substitute* "swaks"
+ (("\"DEVRELEASE\"") (format #f "\"~a\"" ,version)))
+ #true))
(delete 'configure)
(replace 'build
(lambda _
- (invoke "pod2man" "doc/ref.pod" "swaks.1")))
+ (invoke "pod2man" "doc/base.pod" "swaks.1")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -3262,7 +3286,7 @@ operators and scripters.")
(define-public alpine
(package
(name "alpine")
- (version "2.23.2")
+ (version "2.24")
(source
(origin
(method git-fetch)
@@ -3275,7 +3299,7 @@ operators and scripters.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "16ldmmcymrnpnbfc1kb2rhac7nzlc87wjawic4wfinkphd124d1y"))
+ (base32 "0d5ybnsv29gs8krl66db56avmssq28jlg0qj5i1wka05ncc3740d"))
(modules '((guix build utils)))
(snippet
'(begin