nixpkgs/pkgs/tools/networking/nmh/default.nix
2023-04-23 21:09:15 -07:00

86 lines
2.2 KiB
Nix

{ lib
, stdenv
, autoreconfHook
, bison
, coreutils
, cyrus_sasl
, db
, fetchFromSavannah
, flex
, gdbm
, liblockfile
, ncurses
, openssl
, readline
, runtimeShell
}:
stdenv.mkDerivation (finalAttrs: {
pname = "nmh";
version = "1.7.1";
src = fetchFromSavannah {
repo = "nmh";
rev = finalAttrs.version;
hash = "sha256-sBftXl4hWs4bKw5weHkif1KIJBpheU/RCePx0WXuv9o=";
};
postPatch = ''
substituteInPlace config/config.c --replace /bin/cat ${coreutils}/bin/cat
substituteInPlace \
sbr/arglist.c \
uip/mhbuildsbr.c \
uip/whatnowsbr.c \
uip/slocal.c \
--replace '"/bin/sh"' '"${runtimeShell}"'
# the "cleanup" pseudo-test makes diagnosing test failures a pain
ln -s -f ${stdenv}/bin/true test/cleanup
'';
nativeBuildInputs = [
autoreconfHook
flex
bison
];
buildInputs = [
cyrus_sasl
db
gdbm
liblockfile
ncurses
openssl
readline
];
NIX_CFLAGS_COMPILE = "-Wno-stringop-truncation";
doCheck = true;
enableParallelBuilding = true;
meta = {
description = "New MH Mail Handling System";
homepage = "https://nmh.nongnu.org/";
downloadPage = "http://download.savannah.nongnu.org/releases/nmh/";
changelog = "http://savannah.nongnu.org/news/?group=nmh";
license = [ lib.licenses.bsd3 ];
longDescription = ''
This is the nmh mail user agent (reader/sender), a command-line based
mail reader that is powerful and extensible. nmh is an excellent choice
for people who receive and process a lot of mail.
Unlike most mail user agents, nmh is not a single program, rather it is
a set of programs that are run from the shell. This allows the user to
utilize the full power of the Unix shell in coordination with nmh.
Various front-ends are available, such as mh-e (an emacs mode), xmh, and
exmh (X11 clients).
nmh was originally based on MH version 6.8.3, and is intended to be a
(mostly) compatible drop-in replacement for MH.
These tools are mainly useful for writing scripts that manipulating
claws-mail's mail folders. Most other mail clients have migrated to
maildir.
'';
};
})