2021-01-17 03:51:22 +00:00
|
|
|
{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, dejagnu, gettext, pkg-config
|
2017-07-23 11:28:43 +01:00
|
|
|
, gdbm, pam, readline, ncurses, gnutls, guile, texinfo, gnum4, sasl, fribidi, nettools
|
2019-12-19 01:05:41 +00:00
|
|
|
, python3, gss, libmysqlclient, system-sendmail }:
|
2009-09-11 10:38:25 +01:00
|
|
|
|
2018-08-08 22:37:29 +01:00
|
|
|
stdenv.mkDerivation rec {
|
2020-11-14 20:55:16 +00:00
|
|
|
pname = "mailutils";
|
2021-02-14 12:27:01 +00:00
|
|
|
version = "3.12";
|
2009-09-11 10:38:25 +01:00
|
|
|
|
|
|
|
src = fetchurl {
|
2020-11-14 20:55:16 +00:00
|
|
|
url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
|
2021-02-14 12:27:01 +00:00
|
|
|
sha256 = "0n51ng1f8yf5zfsnh8s0pj9bnw6icb2r0y78gl2kzijaghhzlhvd";
|
2009-09-11 10:38:25 +01:00
|
|
|
};
|
|
|
|
|
2018-08-08 22:37:29 +01:00
|
|
|
postPatch = ''
|
|
|
|
sed -i -e '/chown root:mail/d' \
|
|
|
|
-e 's/chmod [24]755/chmod 0755/' \
|
|
|
|
*/Makefile{.in,.am}
|
2019-09-22 08:38:09 +01:00
|
|
|
sed -i 's:/usr/lib/mysql:${libmysqlclient}/lib/mysql:' configure.ac
|
2018-08-08 22:37:29 +01:00
|
|
|
sed -i 's/0\.18/0.19/' configure.ac
|
|
|
|
'';
|
|
|
|
|
2017-07-23 11:28:43 +01:00
|
|
|
nativeBuildInputs = [
|
2021-01-17 03:51:22 +00:00
|
|
|
autoreconfHook gettext pkg-config
|
2018-08-08 22:37:29 +01:00
|
|
|
];
|
|
|
|
|
2017-07-23 11:28:43 +01:00
|
|
|
buildInputs = [
|
2021-04-01 10:20:00 +01:00
|
|
|
gdbm pam readline ncurses gnutls guile texinfo gnum4 sasl fribidi
|
2019-12-19 01:05:41 +00:00
|
|
|
gss libmysqlclient python3
|
2021-04-01 10:20:00 +01:00
|
|
|
] ++ lib.optionals stdenv.isLinux [ nettools ];
|
2017-07-23 11:28:43 +01:00
|
|
|
|
|
|
|
patches = [
|
|
|
|
./fix-build-mb-len-max.patch
|
|
|
|
./path-to-cat.patch
|
2020-11-14 21:05:34 +00:00
|
|
|
# Fix cross-compilation
|
|
|
|
# https://lists.gnu.org/archive/html/bug-mailutils/2020-11/msg00038.html
|
|
|
|
(fetchpatch {
|
|
|
|
url = "https://lists.gnu.org/archive/html/bug-mailutils/2020-11/txtiNjqcNpqOk.txt";
|
|
|
|
sha256 = "0ghzqb8qx2q8cffbvqzw19mivv7r5f16whplzhm7hdj0j2i6xf6s";
|
|
|
|
})
|
2017-07-23 11:28:43 +01:00
|
|
|
];
|
2016-02-12 03:58:56 +00:00
|
|
|
|
2018-04-03 11:38:18 +01:00
|
|
|
enableParallelBuilding = false;
|
2017-07-26 12:12:37 +01:00
|
|
|
hardeningDisable = [ "format" ];
|
|
|
|
|
|
|
|
configureFlags = [
|
|
|
|
"--with-gssapi"
|
|
|
|
"--with-gsasl"
|
|
|
|
"--with-mysql"
|
2019-01-16 12:13:27 +00:00
|
|
|
"--with-path-sendmail=${system-sendmail}/bin/sendmail"
|
2017-07-26 12:12:37 +01:00
|
|
|
];
|
|
|
|
|
2018-08-08 22:37:29 +01:00
|
|
|
readmsg-tests = let
|
|
|
|
p = "https://raw.githubusercontent.com/gentoo/gentoo/9c921e89d51876fd876f250324893fd90c019326/net-mail/mailutils/files";
|
|
|
|
in [
|
2017-07-23 11:28:43 +01:00
|
|
|
(fetchurl { url = "${p}/hdr.at"; sha256 = "0phpkqyhs26chn63wjns6ydx9468ng3ssbjbfhcvza8h78jlsd98"; })
|
|
|
|
(fetchurl { url = "${p}/nohdr.at"; sha256 = "1vkbkfkbqj6ml62s1am8i286hxwnpsmbhbnq0i2i0j1i7iwkk4b7"; })
|
|
|
|
(fetchurl { url = "${p}/twomsg.at"; sha256 = "15m29rg2xxa17xhx6jp4s2vwa9d4khw8092vpygqbwlhw68alk9g"; })
|
|
|
|
(fetchurl { url = "${p}/weed.at"; sha256 = "1101xakhc99f5gb9cs3mmydn43ayli7b270pzbvh7f9rbvh0d0nh"; })
|
|
|
|
];
|
2010-09-10 12:50:11 +01:00
|
|
|
|
2018-08-08 22:37:29 +01:00
|
|
|
checkInputs = [ dejagnu ];
|
|
|
|
doCheck = false; # fails 1 out of a bunch of tests, looks like a bug
|
|
|
|
doInstallCheck = false; # fails
|
|
|
|
|
2017-07-23 11:28:43 +01:00
|
|
|
preCheck = ''
|
2017-10-09 09:04:51 +01:00
|
|
|
# Add missing test files
|
2017-07-23 11:28:43 +01:00
|
|
|
cp ${builtins.toString readmsg-tests} readmsg/tests/
|
|
|
|
for f in hdr.at nohdr.at twomsg.at weed.at; do
|
|
|
|
mv readmsg/tests/*-$f readmsg/tests/$f
|
|
|
|
done
|
|
|
|
# Disable comsat tests that fail without tty in the sandbox.
|
|
|
|
tty -s || echo > comsat/tests/testsuite.at
|
2017-07-26 12:12:37 +01:00
|
|
|
# Disable lmtp tests that require root spool.
|
|
|
|
echo > maidag/tests/lmtp.at
|
2017-07-23 11:28:43 +01:00
|
|
|
# Disable mda tests that require /etc/passwd to contain root.
|
|
|
|
grep -qo '^root:' /etc/passwd || echo > maidag/tests/mda.at
|
|
|
|
# Provide libraries for mhn.
|
|
|
|
export LD_LIBRARY_PATH=$(pwd)/lib/.libs
|
|
|
|
'';
|
2018-08-08 22:37:29 +01:00
|
|
|
|
2017-07-26 12:12:37 +01:00
|
|
|
postCheck = ''
|
|
|
|
unset LD_LIBRARY_PATH
|
|
|
|
'';
|
2009-09-11 10:38:25 +01:00
|
|
|
|
2021-01-11 07:54:33 +00:00
|
|
|
meta = with lib; {
|
2014-08-24 15:21:08 +01:00
|
|
|
description = "Rich and powerful protocol-independent mail framework";
|
2009-09-11 10:38:25 +01:00
|
|
|
|
|
|
|
longDescription = ''
|
|
|
|
GNU Mailutils is a rich and powerful protocol-independent mail
|
|
|
|
framework. It contains a series of useful mail libraries, clients, and
|
|
|
|
servers. These are the primary mail utilities for the GNU system. The
|
|
|
|
central library is capable of handling electronic mail in various
|
|
|
|
mailbox formats and protocols, both local and remote. Specifically,
|
|
|
|
this project contains a POP3 server, an IMAP4 server, and a Sieve mail
|
|
|
|
filter. It also provides a POSIX `mailx' client, and a collection of
|
|
|
|
other handy tools.
|
|
|
|
|
|
|
|
The GNU Mailutils libraries supply an ample set of primitives for
|
|
|
|
handling electronic mail in programs written in C, C++, Python or
|
|
|
|
Scheme.
|
|
|
|
|
|
|
|
The utilities provided by Mailutils include imap4d and pop3d mail
|
|
|
|
servers, mail reporting utility comsatd, general-purpose mail delivery
|
|
|
|
agent maidag, mail filtering program sieve, and an implementation of MH
|
|
|
|
message handling system.
|
|
|
|
'';
|
|
|
|
|
2015-05-27 20:56:04 +01:00
|
|
|
license = with licenses; [
|
|
|
|
lgpl3Plus /* libraries */
|
|
|
|
gpl3Plus /* tools */
|
|
|
|
];
|
2009-09-11 10:38:25 +01:00
|
|
|
|
2017-07-23 11:28:43 +01:00
|
|
|
maintainers = with maintainers; [ orivej vrthra ];
|
2009-09-12 19:47:34 +01:00
|
|
|
|
2020-04-01 02:11:51 +01:00
|
|
|
homepage = "https://www.gnu.org/software/mailutils/";
|
2009-09-12 20:54:08 +01:00
|
|
|
|
2009-09-12 21:53:21 +01:00
|
|
|
# Some of the dependencies fail to build on {cyg,dar}win.
|
2020-08-23 21:14:13 +01:00
|
|
|
platforms = platforms.gnu ++ platforms.unix;
|
2009-09-11 10:38:25 +01:00
|
|
|
};
|
|
|
|
}
|