Merge pull request #217005 from SFrijters/mailutils-3.15

mailutils: 3.14 -> 3.15, add options, tests, parallel build
This commit is contained in:
Maximilian Bosch 2023-02-19 12:11:19 +01:00 committed by GitHub
commit 5ed9c487a6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -23,15 +23,18 @@
, sasl , sasl
, system-sendmail , system-sendmail
, libxcrypt , libxcrypt
, pythonSupport ? true
, guileSupport ? true
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mailutils"; pname = "mailutils";
version = "3.14"; version = "3.15";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz"; url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-wMWzj+qLRaSvzUNkh/Knb9VSUJLQN4gTputVQsIScTk="; hash = "sha256-t9DChsNS/MfaeXjP1hfMZnNrIfqJGqT4iFX1FjVPLds=";
}; };
separateDebugInfo = true; separateDebugInfo = true;
@ -56,16 +59,16 @@ stdenv.mkDerivation rec {
gdbm gdbm
gnutls gnutls
gss gss
guile
libmysqlclient libmysqlclient
mailcap mailcap
ncurses ncurses
pam pam
python3
readline readline
sasl sasl
libxcrypt libxcrypt
] ++ lib.optionals stdenv.isLinux [ nettools ]; ] ++ lib.optionals stdenv.isLinux [ nettools ]
++ lib.optionals pythonSupport [ python3 ]
++ lib.optionals guileSupport [ guile ];
patches = [ patches = [
./fix-build-mb-len-max.patch ./fix-build-mb-len-max.patch
@ -78,7 +81,7 @@ stdenv.mkDerivation rec {
}) })
]; ];
enableParallelBuilding = false; enableParallelBuilding = true;
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];
configureFlags = [ configureFlags = [
@ -88,33 +91,18 @@ stdenv.mkDerivation rec {
"--with-path-sendmail=${system-sendmail}/bin/sendmail" "--with-path-sendmail=${system-sendmail}/bin/sendmail"
"--with-mail-rc=/etc/mail.rc" "--with-mail-rc=/etc/mail.rc"
"DEFAULT_CUPS_CONFDIR=${mailcap}/etc" # provides mime.types to mimeview "DEFAULT_CUPS_CONFDIR=${mailcap}/etc" # provides mime.types to mimeview
]; ] ++ lib.optional (!pythonSupport) "--without-python"
++ lib.optional (!guileSupport) "--without-guile";
readmsg-tests = let
p = "https://raw.githubusercontent.com/gentoo/gentoo/9c921e89d51876fd876f250324893fd90c019326/net-mail/mailutils/files";
in [
(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"; })
];
nativeCheckInputs = [ dejagnu ]; nativeCheckInputs = [ dejagnu ];
doCheck = false; # fails 1 out of a bunch of tests, looks like a bug doCheck = true;
doInstallCheck = false; # fails doInstallCheck = false; # fails
preCheck = '' preCheck = ''
# Add missing test files
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. # Disable comsat tests that fail without tty in the sandbox.
tty -s || echo > comsat/tests/testsuite.at tty -s || echo > comsat/tests/testsuite.at
# Disable lmtp tests that require root spool. # Remove broken macro
echo > maidag/tests/lmtp.at sed -i '/AT_TESTED/d' libmu_scm/tests/testsuite.at
# Disable mda tests that require /etc/passwd to contain root.
grep -qo '^root:' /etc/passwd || echo > maidag/tests/mda.at
# Provide libraries for mhn. # Provide libraries for mhn.
export LD_LIBRARY_PATH=$(pwd)/lib/.libs export LD_LIBRARY_PATH=$(pwd)/lib/.libs
''; '';
@ -141,9 +129,8 @@ stdenv.mkDerivation rec {
Scheme. Scheme.
The utilities provided by Mailutils include imap4d and pop3d mail The utilities provided by Mailutils include imap4d and pop3d mail
servers, mail reporting utility comsatd, general-purpose mail delivery servers, mail reporting utility comsatd, mail filtering program sieve,
agent maidag, mail filtering program sieve, and an implementation of MH and an implementation of MH message handling system.
message handling system.
''; '';
license = with licenses; [ license = with licenses; [
@ -154,6 +141,7 @@ stdenv.mkDerivation rec {
maintainers = with maintainers; [ orivej vrthra ]; maintainers = with maintainers; [ orivej vrthra ];
homepage = "https://www.gnu.org/software/mailutils/"; homepage = "https://www.gnu.org/software/mailutils/";
changelog = "https://git.savannah.gnu.org/cgit/mailutils.git/tree/NEWS";
# Some of the dependencies fail to build on {cyg,dar}win. # Some of the dependencies fail to build on {cyg,dar}win.
platforms = platforms.gnu ++ platforms.unix; platforms = platforms.gnu ++ platforms.unix;