summaryrefslogtreecommitdiff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/notmuch.nix86
1 files changed, 86 insertions, 0 deletions
diff --git a/pkgs/notmuch.nix b/pkgs/notmuch.nix
new file mode 100644
index 0000000..23edc10
--- /dev/null
+++ b/pkgs/notmuch.nix
@@ -0,0 +1,86 @@
+# modified from nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.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;
+ };
+}