nixpkgs-suyu/pkgs/applications/networking/mailreaders/notmuch/default.nix
Puck Meerburg bcc543135f notmuch: fix notmuch-emacs-mua
Before this patch, notmuch-emacs-mua would try to call emacs in PATH,
 which would obviously fail on systems with no emacs. This fixes that,
 while still keeping the capability to override your emacs' path.
2019-09-01 08:40:26 +00:00

85 lines
2.4 KiB
Nix

{ fetchurl, stdenv
, pkgconfig, gnupg
, xapian, gmime, talloc, zlib
, doxygen, perl
, pythonPackages
, bash-completion
, emacs
, ruby
, which, dtach, openssl, bash, gdb, man
}:
with stdenv.lib;
stdenv.mkDerivation rec {
version = "0.29.1";
pname = "notmuch";
passthru = {
pythonSourceRoot = "${pname}-${version}/bindings/python";
inherit version;
};
src = fetchurl {
url = "https://notmuchmail.org/releases/${pname}-${version}.tar.xz";
sha256 = "0rg3rwghd3wivf3bmqcqpkkd5c779ld5hi363zjcw5fl6a7gqilq";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
gnupg # undefined dependencies
xapian gmime talloc zlib # dependencies described in INSTALL
doxygen perl # (optional) api docs
pythonPackages.sphinx pythonPackages.python # (optional) documentation -> doc/INSTALL
bash-completion # (optional) dependency to install bash completion
emacs # (optional) to byte compile emacs code, also needed for tests
ruby # (optional) ruby bindings
];
postPatch = ''
patchShebangs configure
patchShebangs test/
substituteInPlace lib/Makefile.local \
--replace '-install_name $(libdir)' "-install_name $out/lib"
substituteInPlace emacs/notmuch-emacs-mua \
--replace 'EMACS:-emacs' 'EMACS:-${emacs}/bin/emacs' \
--replace 'EMACSCLIENT:-emacsclient' 'EMACSCLIENT:-${emacs}/bin/emacsclient'
'';
configureFlags = [ "--zshcompletiondir=${placeholder "out"}/share/zsh/site-functions" ];
# Notmuch doesn't use autoconf and consequently doesn't tag --bindir and
# friends
setOutputFlags = false;
enableParallelBuilding = true;
makeFlags = [ "V=1" ];
preCheck = let
test-database = fetchurl {
url = "https://notmuchmail.org/releases/test-databases/database-v1.tar.xz";
sha256 = "1lk91s00y4qy4pjh8638b5lfkgwyl282g1m27srsf7qfn58y16a2";
};
in ''
ln -s ${test-database} test/test-databases/database-v1.tar.xz
'';
doCheck = !stdenv.hostPlatform.isDarwin && (versionAtLeast gmime.version "3.0.3");
checkTarget = "test";
checkInputs = [
which dtach openssl bash
gdb man
];
installTargets = [ "install" "install-man" ];
dontGzipMan = true; # already compressed
meta = {
description = "Mail indexer";
homepage = https://notmuchmail.org/;
license = licenses.gpl3;
maintainers = with maintainers; [ flokli puckipedia the-kenny ];
platforms = platforms.unix;
};
}