bcc543135f
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.
85 lines
2.4 KiB
Nix
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;
|
|
};
|
|
}
|