From bd71b366283519a2967d5becaeabf442c88087fb Mon Sep 17 00:00:00 2001 From: Florian Friesdorf Date: Mon, 18 Apr 2011 17:19:44 +0000 Subject: [PATCH] notmuch with inheritable-tags-hack for thread muting the muted tag is supposed to be inherited by messages of the same thread, effictely muting a thread. A muted thread will not show up in your inbox anymore. Current implementation is hackish but functional. big thank you to amdragon! svn path=/nixpkgs/trunk/; revision=26878 --- .../mailreaders/notmuch/default.nix | 75 +++++++++++++++++-- pkgs/development/libraries/xapian/1_2.nix | 18 +++++ pkgs/top-level/all-packages.nix | 5 ++ 3 files changed, 91 insertions(+), 7 deletions(-) create mode 100644 pkgs/development/libraries/xapian/1_2.nix diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix index ce35ad4c578..8cf3f034186 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix @@ -1,18 +1,79 @@ -{ fetchgit, stdenv, emacs, glib, gmime, pkgconfig, talloc, xapian }: +{ fetchgit, stdenv, bash, emacs, glib, gmime, gnupg1orig, pkgconfig, talloc, xapian }: stdenv.mkDerivation rec { - name = "notmuch-0.5-20110203"; + name = "notmuch-0.5-20110322-2"; src = fetchgit { - url = "git://notmuchmail.org/git/notmuch"; - rev = "62725a5b59625c164512465af5b3912396b61e8b"; - sha256 = "39b339f47cee1938d76e046cccfd7c3e5e5d37a578e40007a5d43adfc4cd41ce"; + url = "git://github.com/chaoflow/notmuch"; + # personal + rev = "9515cc2d76a9b9c28948156036037b0efb5e136c"; + sha256 = "d142cc1cff4c810b22b9c7b8c831bb25e7076e7d74089120d1ad6ccb0a95159c"; + # master + # rev = "74bc93f02d5061e0eb360571c2664541ae5bd98b"; + # sha256 = "7cc2ea0658c97c39586249bcb815ebcb07e59c62d78e0cff748f3f4be12d2c54"; }; - buildInputs = [ emacs glib gmime pkgconfig talloc xapian ]; + buildInputs = [ bash emacs glib gmime gnupg1orig pkgconfig talloc xapian ]; + + patchPhase = '' + substituteInPlace "test/author-order" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/basic" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/crypto" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/dump-restore" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/emacs" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/emacs-large-search-buffer" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/encoding" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/from-guessing" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/json" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/long-id" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/maildir-sync" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/new" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/notmuch-test" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/raw" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/reply" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/search" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/search-by-folder" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/search-insufficient-from-quoting" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/search-output" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/search-position-overlap-bug" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/test-lib.sh" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/test-verbose" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/thread-naming" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/thread-order" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + substituteInPlace "test/uuencode" \ + --replace "#!/bin/bash" "#!${bash}/bin/bash" + ''; + + postBuild = '' + make test + ''; meta = { - description = "Notmuch -- The mail indexer"; + description = "Notmuch -- The mail indexer + inheritable-tags-hack + crypto"; longDescription = ""; diff --git a/pkgs/development/libraries/xapian/1_2.nix b/pkgs/development/libraries/xapian/1_2.nix new file mode 100644 index 00000000000..47f37206445 --- /dev/null +++ b/pkgs/development/libraries/xapian/1_2.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, zlib }: + +stdenv.mkDerivation { + name = "xapian-1.2.4"; + + src = fetchurl { + url = http://oligarchy.co.uk/xapian/1.2.4/xapian-core-1.2.4.tar.gz; + sha256 = "0665c02aa1a6cccc071d4f2b426ac0feb6f4f8f0e50da720ce375ae6d3d6f348"; + }; + + buildInputs = [zlib]; + + meta = { + description = "Xapian Probabilistic Information Retrieval library"; + homepage = "http://xapian.org"; + license = "GPLv2"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5e110a17753..ac5fe88f917 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4309,6 +4309,8 @@ let xapian = callPackage ../development/libraries/xapian { }; + xapian12 = callPackage ../development/libraries/xapian/1_2.nix { }; + xapianBindings = callPackage ../development/libraries/xapian/bindings { # TODO perl php Java, tcl, C#, python }; @@ -6582,6 +6584,9 @@ let netsurf = recurseIntoAttrs (import ../applications/networking/browsers/netsurf { inherit pkgs; }); notmuch = callPackage ../applications/networking/mailreaders/notmuch { }; + notmuchXapian12 = callPackage ../applications/networking/mailreaders/notmuch { + xapian = xapian12; + }; nova = callPackage ../applications/virtualization/nova { };