summary refs log tree commit diff
path: root/pkgs/development/libraries/xapian
diff options
context:
space:
mode:
authorUli Baum <xeji@cat3.de>2018-07-30 22:06:22 +0200
committerUli Baum <xeji@cat3.de>2018-07-30 22:10:37 +0200
commit6ea7b48c2b20ab88334cea9b368fe0d0354b4926 (patch)
tree9d3e92c81842b712ded18a71e2843aba69b84c06 /pkgs/development/libraries/xapian
parent77eab67b76b995db6e1ca544af589c5449fc2377 (diff)
downloadnixpkgs-6ea7b48c2b20ab88334cea9b368fe0d0354b4926.tar
nixpkgs-6ea7b48c2b20ab88334cea9b368fe0d0354b4926.tar.gz
nixpkgs-6ea7b48c2b20ab88334cea9b368fe0d0354b4926.tar.bz2
nixpkgs-6ea7b48c2b20ab88334cea9b368fe0d0354b4926.tar.lz
nixpkgs-6ea7b48c2b20ab88334cea9b368fe0d0354b4926.tar.xz
nixpkgs-6ea7b48c2b20ab88334cea9b368fe0d0354b4926.tar.zst
nixpkgs-6ea7b48c2b20ab88334cea9b368fe0d0354b4926.zip
xapian: add patch to fix notmuch tagging
Patch is from xapian master and can be removed on next update.
Diffstat (limited to 'pkgs/development/libraries/xapian')
-rw-r--r--pkgs/development/libraries/xapian/default.nix7
-rw-r--r--pkgs/development/libraries/xapian/fix-notmuch-tagging.patch31
2 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index e07e3b2e704..8c0d065247b 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -11,6 +11,13 @@ let
       inherit sha256;
     };
 
+    patches = [
+      # fix notmuch build, see https://notmuchmail.org/faq/#index12h2
+      # cannot fetchpatch this because base directory differs
+      # TODO: remove on next xapian update
+      ./fix-notmuch-tagging.patch
+    ];
+
     outputs = [ "out" "man" "doc" ];
 
     buildInputs = [ libuuid zlib ];
diff --git a/pkgs/development/libraries/xapian/fix-notmuch-tagging.patch b/pkgs/development/libraries/xapian/fix-notmuch-tagging.patch
new file mode 100644
index 00000000000..6deae76d2aa
--- /dev/null
+++ b/pkgs/development/libraries/xapian/fix-notmuch-tagging.patch
@@ -0,0 +1,31 @@
+From f9e6f45b1c8f66bca8a3387f371b20d434b23a7d Mon Sep 17 00:00:00 2001
+From: Olly Betts <olly@survex.com>
+Date: Thu, 26 Jul 2018 17:26:52 +1200
+Subject: [PATCH 1/1] Revert "Enable open_nearby_postlist for writable
+ databases"
+
+The amended check isn't conservative enough as there may be postlist
+changes in the inverter while the table is unmodified.  This breaks
+testcase T150-tagging.sh in notmuch's testsuite, reported by David
+Bremner.
+
+This reverts commit 5489fb2f838c0f0b0a593b4c17df282a93a1fe5a.
+---
+ xapian-core/backends/glass/glass_postlist.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/xapian-core/backends/glass/glass_postlist.cc b/xapian-core/backends/glass/glass_postlist.cc
+index 80e578b85..a47f14a68 100644
+--- a/backends/glass/glass_postlist.cc
++++ b/backends/glass/glass_postlist.cc
+@@ -759,7 +759,7 @@ GlassPostList::open_nearby_postlist(const std::string & term_,
+     (void)need_pos;
+     if (term_.empty())
+ 	RETURN(NULL);
+-    if (!this_db.get() || this_db->postlist_table.is_modified())
++    if (!this_db.get() || this_db->postlist_table.is_writable())
+ 	RETURN(NULL);
+     RETURN(new GlassPostList(this_db, term_, cursor->clone()));
+ }
+-- 
+2.11.0