215 lines
8.2 KiB
Scheme
215 lines
8.2 KiB
Scheme
;;; GNU Guix --- Functional package management for GNU
|
|
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
|
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
|
;;;
|
|
;;; This file is part of GNU Guix.
|
|
;;;
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
;;; under the terms of the GNU General Public License as published by
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
;;; your option) any later version.
|
|
;;;
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
;;; GNU General Public License for more details.
|
|
;;;
|
|
;;; You should have received a copy of the GNU General Public License
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
(define-module (gnu packages mail)
|
|
#:use-module (gnu packages)
|
|
#:use-module (gnu packages autotools)
|
|
#:use-module (gnu packages cyrus-sasl)
|
|
#:use-module (gnu packages dejagnu)
|
|
#:use-module (gnu packages gdbm)
|
|
#:use-module (gnu packages gnupg)
|
|
#:use-module (gnu packages gnutls)
|
|
#:use-module (gnu packages guile)
|
|
#:use-module (gnu packages linux)
|
|
#:use-module (gnu packages m4)
|
|
#:use-module (gnu packages mysql)
|
|
#:use-module (gnu packages ncurses)
|
|
#:use-module (gnu packages openssl)
|
|
#:use-module (gnu packages perl)
|
|
#:use-module (gnu packages readline)
|
|
#:use-module (gnu packages texinfo)
|
|
#:use-module (gnu packages compression)
|
|
#:use-module (gnu packages glib)
|
|
#:use-module (gnu packages pkg-config)
|
|
#:use-module ((guix licenses)
|
|
#:select (gpl2+ gpl3+ lgpl2.1+ lgpl3+))
|
|
#:use-module (guix packages)
|
|
#:use-module (guix download)
|
|
#:use-module (guix build-system gnu)
|
|
#:use-module (srfi srfi-1))
|
|
|
|
(define-public mailutils
|
|
(package
|
|
(name "mailutils")
|
|
(version "2.2")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://gnu/mailutils/mailutils-"
|
|
version ".tar.bz2"))
|
|
(sha256
|
|
(base32
|
|
"0szbqa12zqzldqyw97lxqax3ja2adis83i7brdfsxmrfw68iaf65"))
|
|
(patches (list (search-patch "m4-gets-undeclared.patch")))))
|
|
(build-system gnu-build-system)
|
|
(arguments
|
|
'(;; TODO: Add `--with-sql'.
|
|
#:phases (alist-cons-before
|
|
'build 'pre-build
|
|
(lambda _
|
|
;; Use Guile 2.0's public API.
|
|
(substitute* "libmu_scm/mu_message.c"
|
|
(("scm_i_string_length")
|
|
"scm_c_string_length"))
|
|
|
|
;; This file should be generated to use the right
|
|
;; value of $(libdir) et al.
|
|
(delete-file "libmu_scm/mailutils.scm")
|
|
|
|
;; Use the right file name for `cat'.
|
|
(substitute* "testsuite/lib/mailutils.exp"
|
|
(("/bin/cat")
|
|
(which "cat"))))
|
|
%standard-phases)
|
|
#:parallel-tests? #f))
|
|
(inputs
|
|
`(("dejagnu" ,dejagnu)
|
|
("m4" ,m4)
|
|
("texinfo" ,texinfo)
|
|
("guile" ,guile-2.0)
|
|
("gnutls" ,gnutls)
|
|
("ncurses" ,ncurses)
|
|
("readline" ,readline)
|
|
("linux-pam" ,linux-pam)
|
|
("libtool" ,libtool)
|
|
("gdbm" ,gdbm)))
|
|
(home-page "http://www.gnu.org/software/mailutils/")
|
|
(synopsis "Utilities and library for reading and serving mail")
|
|
(description
|
|
"GNU Mailutils is a collection of programs for managing, viewing and
|
|
processing electronic mail. It contains both utilities and server daemons
|
|
and all operate in a protocol-agnostic way. The underlying libraries are
|
|
also available, simplifying the addition of mail capabilities to new
|
|
software.")
|
|
(license
|
|
;; Libraries are under LGPLv3+, and programs under GPLv3+.
|
|
(list gpl3+ lgpl3+))))
|
|
|
|
(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"))))
|
|
(build-system gnu-build-system)
|
|
(inputs
|
|
`(("openssl" ,openssl)))
|
|
(arguments
|
|
`(#:configure-flags (list (string-append "--with-ssl="
|
|
(assoc-ref %build-inputs "openssl")))))
|
|
(home-page "http://fetchmail.berlios.de/")
|
|
(synopsis "Remote-mailr etrieval and forwarding utility")
|
|
(description
|
|
"Fetchmail is a full-featured, robust, well-documented remote-mail
|
|
retrieval and forwarding utility intended to be used over on-demand
|
|
TCP/IP links (such as SLIP or PPP connections). It supports every
|
|
remote-mail protocol now in use on the Internet: POP2, POP3, RPOP, APOP,
|
|
KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6
|
|
and IPSEC.
|
|
|
|
Fetchmail retrieves mail from remote mail servers and forwards it via SMTP,
|
|
so it can then be read by normal mail user agents such as mutt, elm
|
|
or BSD Mail. It allows all your system MTA's filtering, forwarding, and
|
|
aliasing facilities to work just as they would on normal mail.")
|
|
(license gpl2+))) ; most files are actually public domain or x11
|
|
|
|
(define-public mutt
|
|
(package
|
|
(name "mutt")
|
|
(version "1.5.21")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "ftp://ftp.mutt.org/mutt/devel/mutt-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1864cwz240gh0zy56fb47qqzwyf6ghg01037rb4p2kqgimpg6h91"))))
|
|
(build-system gnu-build-system)
|
|
(inputs
|
|
`(("cyrus-sasl" ,cyrus-sasl)
|
|
("gpgme" ,gpgme)
|
|
("ncurses" ,ncurses)
|
|
("openssl" ,openssl)
|
|
("perl" ,perl)))
|
|
(arguments
|
|
`(#:configure-flags '("--enable-smtp"
|
|
"--enable-imap"
|
|
"--enable-pop"
|
|
"--enable-gpgme"
|
|
"--with-ssl"
|
|
"--with-sasl"
|
|
;; so that mutt does not check whether the path
|
|
;; exists, which it does not in the chroot
|
|
"--with-mailpath=/var/mail")))
|
|
(home-page "http://www.mutt.org/")
|
|
(synopsis "Mail client")
|
|
(description
|
|
"Mutt is a small but very powerful text-based mail client for Unix
|
|
operating systems.")
|
|
(license gpl2+)))
|
|
|
|
(define-public gmime
|
|
(package
|
|
(name "gmime")
|
|
(version "2.6.19")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "http://download.gnome.org/sources/gmime/"
|
|
(string-join (take (string-split version #\.)
|
|
2)
|
|
".")
|
|
"/gmime-" version ".tar.xz"))
|
|
(sha256
|
|
(base32
|
|
"0jm1fgbjgh496rsc0il2y46qd4bqq2ln9168p4zzh68mk4ml1yxg"))))
|
|
(build-system gnu-build-system)
|
|
(native-inputs
|
|
`(("pkg-config" ,pkg-config)
|
|
("gnupg" ,gnupg))) ; for tests only
|
|
(inputs `(("glib" ,glib)
|
|
("gpgme" ,gpgme)
|
|
("zlib" ,zlib)))
|
|
(arguments
|
|
`(#:phases
|
|
(alist-cons-after
|
|
'unpack 'patch-paths-in-tests
|
|
(lambda _
|
|
;; The test programs run several programs using 'system'
|
|
;; with hard-coded paths. Here we patch them all. We also
|
|
;; change "gpg" to "gpg2".
|
|
(substitute* (find-files "tests" "\\.c$")
|
|
(("(system *\\(\")(/[^ ]*)" all pre prog-path)
|
|
(let* ((base (basename prog-path))
|
|
(prog (which (if (string=? base "gpg") "gpg2" base))))
|
|
(string-append pre (or prog (error "not found: " base)))))))
|
|
%standard-phases)))
|
|
(home-page "http://spruce.sourceforge.net/gmime/")
|
|
(synopsis "MIME message parser and creator library")
|
|
(description
|
|
"GMime provides a core library and set of utilities which may be used for
|
|
the creation and parsing of messages using the Multipurpose Internet Mail
|
|
Extension (MIME).")
|
|
(license (list lgpl2.1+ gpl2+ gpl3+))))
|
|
|
|
;;; mail.scm ends here
|