Sun Oct 9 21:20:45 2016 UTC ()
Updated notmuch to 0.23.

Notmuch 0.23 (2016-10-03)
=========================

General (Xapian 1.4+)
---------------------

Compiling against Xapian 1.4 enables several new features.

Support for single argument date: queries

  `date:<expr>` is equivalent to  `date:<expr>..<expr>`.

Support for blocking opens

  When opening a database notmuch by default will wait for another
  process to release a write lock, rather than returning an error.

Support for named queries

  Named queries (also known as 'saved searches') can be defined with a
  `query:name` format. The expansion of these queries is stored in the
  database and they can be used from any notmuch client.

Library
-------

Message property API

  libnotmuch now supports the attachment of arbitrary key-value pairs
  to messages. These can be used by various tools to manage their
  private data without polluting the user tag space. They also support
  iteration of values with the same key or same key prefix.

Bug fix for `notmuch_directory_set_mtime`

  Update cached mtime to match on-disk mtime.

CLI
---

Support for compile time options

  A group of `built_with` keys is now supported for notmuch
  config. Initial keys in this group are `compact`, `field_processor`,
  and `retry_lock`.

Dump/Restore support for configuration information and properties

  Any configuration information stored in the database (initially just
  named queries) is dumped and restored. Similarly any properties
  attached to messages are also dumped and restored. Any new
  information in the dump format is prefixed by '#' to allow existing
  scripts to ignore it.

Emacs
-----

Make notmuch-message-mode use insert for fcc

  Notmuch-message-mode now defaults to using notmuch insert for
  fcc. The old file based fcc behaviour can be restored by setting the
  defcustom `notmuch-maildir-use-notmuch-insert` to nil.

  When using notmuch insert, `notmuch-fcc-dirs` must be a subdirectory
  of the mailstore (absolute paths are not permitted) followed by any
  tag changes to be applied to the inserted message. The tag changes
  are applied after the default tagging for new messages. For example
  setting the header to "sentmail -inbox +sent" would insert the
  message in the subdirectory sentmail of the mailstore, add the tag
  "sent", and not add the (normally added) "inbox" tag.

  Finally, if the insert fails (e.g. if the database is locked) the
  user is presented with the option to retry, ignore, or edit the
  header.

Make internal address completion customizable

  There is a new defcustom `notmuch-address-internal-completion` which
  controls how the internal completion works: it allows the user to
  choose whether to match on messages the user sent, or the user
  received, and to filter the messages used for the match, for example
  by date.

Allow internal address completion on an individual basis

  There is a new function `notmuch-address-toggle-internal-completion`
  (by default it has no keybinding) which allows users who normally
  use an external completion command to use the builtin internal
  completion for the current buffer.

  Alternatively, if the user has company-mode enabled, then the user
  can use company mode commands such as `company-complete` to
  activate the builtin completion for an individual completion.

Resend messages

  The function `notmuch-show-resend-message` (bound to `b` in show
  and tree modes) will (attempt to) send current message to new
  recipients. The headers of the message won't be altered (e.g. `To:`
  may point to yourself). New `Resent-To:`, `Resent-From:` and so on
  will be added instead.

Face customization is easier

  New faces `notmuch-tag-unread`, `notmuch-tag-flagged`,
  `notmuch-tag-deleted`, `notmuch-tag-added`,
  `notmuch-search-flagged-face` and `notmuch-search-unread-face` are
  now used by default. Customize `notmuch-faces` to modify them.

Omit User-Agent header by default when sending mail

Ruby Bindings
-------------

Add support for `notmuch_database_get_all_tags`

Go Bindings
-----------

Go bindings moved to contrib

Add support for `notmuch_threads_t` and `notmuch_thread_t`

Fixed constant values so they are not all zero anymore

  Previously, it was impossible to open writable database handles,
  because `DATABASE_MODE_READ_ONLY` and `DATABASE_MODE_READ_WRITE` were
  both set to zero.
  The same issue occured with sort modes.


(wiz)
diff -r1.16 -r1.17 pkgsrc/mail/notmuch/Makefile
diff -r1.6 -r1.7 pkgsrc/mail/notmuch/PLIST
diff -r1.12 -r1.13 pkgsrc/mail/notmuch/distinfo
diff -r1.2 -r1.3 pkgsrc/mail/notmuch/patches/patch-Makefile.local
diff -r1.5 -r1.6 pkgsrc/mail/notmuch/patches/patch-aa

cvs diff -r1.16 -r1.17 pkgsrc/mail/notmuch/Makefile (expand / switch to unified diff)

--- pkgsrc/mail/notmuch/Makefile 2016/09/12 07:42:41 1.16
+++ pkgsrc/mail/notmuch/Makefile 2016/10/09 21:20:44 1.17
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile,v 1.16 2016/09/12 07:42:41 wiz Exp $ 1# $NetBSD: Makefile,v 1.17 2016/10/09 21:20:44 wiz Exp $
2 2
3DISTNAME= notmuch-0.22.2 3DISTNAME= notmuch-0.23
4CATEGORIES= mail 4CATEGORIES= mail
5MASTER_SITES= http://notmuchmail.org/releases/ 5MASTER_SITES= http://notmuchmail.org/releases/
6 6
7MAINTAINER= pkgsrc-users@NetBSD.org 7MAINTAINER= pkgsrc-users@NetBSD.org
8HOMEPAGE= http://notmuchmail.org/ 8HOMEPAGE= http://notmuchmail.org/
9COMMENT= Mail indexer 9COMMENT= Mail indexer
10LICENSE= gnu-gpl-v3 10LICENSE= gnu-gpl-v3
11 11
12BUILD_DEPENDS+= ${PYPKGPREFIX}-sphinx-[0-9]*:../../textproc/py-sphinx 12BUILD_DEPENDS+= ${PYPKGPREFIX}-sphinx-[0-9]*:../../textproc/py-sphinx
13 13
14HAS_CONFIGURE= yes 14HAS_CONFIGURE= yes
15USE_LANGUAGES= c c++ 15USE_LANGUAGES= c c++
16USE_TOOLS+= gmake pkg-config 16USE_TOOLS+= gmake pkg-config

cvs diff -r1.6 -r1.7 pkgsrc/mail/notmuch/PLIST (expand / switch to unified diff)

--- pkgsrc/mail/notmuch/PLIST 2015/11/22 23:55:33 1.6
+++ pkgsrc/mail/notmuch/PLIST 2016/10/09 21:20:44 1.7
@@ -1,19 +1,19 @@ @@ -1,19 +1,19 @@
1@comment $NetBSD: PLIST,v 1.6 2015/11/22 23:55:33 wiz Exp $ 1@comment $NetBSD: PLIST,v 1.7 2016/10/09 21:20:44 wiz Exp $
2bin/notmuch 2bin/notmuch
3include/notmuch.h 3include/notmuch.h
4lib/libnotmuch.so 4lib/libnotmuch.so
5lib/libnotmuch.so.4 5lib/libnotmuch.so.4
6lib/libnotmuch.so.4.3.0 6lib/libnotmuch.so.4.4.0
7man/man1/notmuch-address.1 7man/man1/notmuch-address.1
8man/man1/notmuch-compact.1 8man/man1/notmuch-compact.1
9man/man1/notmuch-config.1 9man/man1/notmuch-config.1
10man/man1/notmuch-count.1 10man/man1/notmuch-count.1
11man/man1/notmuch-dump.1 11man/man1/notmuch-dump.1
12man/man1/notmuch-emacs-mua.1 12man/man1/notmuch-emacs-mua.1
13man/man1/notmuch-insert.1 13man/man1/notmuch-insert.1
14man/man1/notmuch-new.1 14man/man1/notmuch-new.1
15man/man1/notmuch-reply.1 15man/man1/notmuch-reply.1
16man/man1/notmuch-restore.1 16man/man1/notmuch-restore.1
17man/man1/notmuch-search.1 17man/man1/notmuch-search.1
18man/man1/notmuch-setup.1 18man/man1/notmuch-setup.1
19man/man1/notmuch-show.1 19man/man1/notmuch-show.1

cvs diff -r1.12 -r1.13 pkgsrc/mail/notmuch/distinfo (expand / switch to unified diff)

--- pkgsrc/mail/notmuch/distinfo 2016/09/12 07:42:41 1.12
+++ pkgsrc/mail/notmuch/distinfo 2016/10/09 21:20:44 1.13
@@ -1,12 +1,12 @@ @@ -1,12 +1,12 @@
1$NetBSD: distinfo,v 1.12 2016/09/12 07:42:41 wiz Exp $ 1$NetBSD: distinfo,v 1.13 2016/10/09 21:20:44 wiz Exp $
2 2
3SHA1 (notmuch-0.22.2.tar.gz) = f60825656b0d00a6a60f82a01ab687f5bb46e839 3SHA1 (notmuch-0.23.tar.gz) = 23dfe637aa6b1d5102f00e4cfba9ea6a729d4765
4RMD160 (notmuch-0.22.2.tar.gz) = d8f497c53359e9b00f3c1fd9ebfeac4be616b408 4RMD160 (notmuch-0.23.tar.gz) = b4a71eaf5c0888eb0c7650b90650f164fd08ad6d
5SHA512 (notmuch-0.22.2.tar.gz) = cc11feb8d1c2c7959a42e032c1e36e828290a8e8477af8936a27654117fbc2e080c71fe69ec92bd80763d9d3b163d45b7c0fa9fe9c4ec649600fa928110da4ee 5SHA512 (notmuch-0.23.tar.gz) = 87e3bb97035cc2d48b5b1cfdebf49576de96498d54192f7a58976e495b8b77672037a9702af194d882e9eb1e0252daeb01f49df90709434ff04d2b3db236a039
6Size (notmuch-0.22.2.tar.gz) = 683796 bytes 6Size (notmuch-0.23.tar.gz) = 689540 bytes
7SHA1 (patch-Makefile.local) = fad3bf11d139a9e0207965803bf854670f8f4853 7SHA1 (patch-Makefile.local) = cab8635a8ff1f2f2e7dc45f2c853f90553c28606
8SHA1 (patch-aa) = a4c815c0663fa6e5e8692ff14f50ecf9537dda9a 8SHA1 (patch-aa) = 5276035fce76d9cf891d168aeba60b0eede00a09
9SHA1 (patch-lib_Makefile.local) = c81920e239d1e26d4502e57c4e7fdbd3209b6325 9SHA1 (patch-lib_Makefile.local) = c81920e239d1e26d4502e57c4e7fdbd3209b6325
10SHA1 (patch-notmuch-dump.c) = d85095239da2c7247113143d2668d6ca47bc324f 10SHA1 (patch-notmuch-dump.c) = d85095239da2c7247113143d2668d6ca47bc324f
11SHA1 (patch-notmuch-restore.c) = 5f908d2ee146e29bd025eee36adb5997d897e9ea 11SHA1 (patch-notmuch-restore.c) = 5f908d2ee146e29bd025eee36adb5997d897e9ea
12SHA1 (patch-util_Makefile.local) = 1dcf152c0aba329e5e309c98042bd14f9a733714 12SHA1 (patch-util_Makefile.local) = 1dcf152c0aba329e5e309c98042bd14f9a733714

cvs diff -r1.2 -r1.3 pkgsrc/mail/notmuch/patches/Attic/patch-Makefile.local (expand / switch to unified diff)

--- pkgsrc/mail/notmuch/patches/Attic/patch-Makefile.local 2015/08/26 13:33:36 1.2
+++ pkgsrc/mail/notmuch/patches/Attic/patch-Makefile.local 2016/10/09 21:20:45 1.3
@@ -1,24 +1,24 @@ @@ -1,24 +1,24 @@
1$NetBSD: patch-Makefile.local,v 1.2 2015/08/26 13:33:36 wiz Exp $ 1$NetBSD: patch-Makefile.local,v 1.3 2016/10/09 21:20:45 wiz Exp $
2 2
3Avoid conflict with NetBSD's libutil. 3Avoid conflict with NetBSD's libutil.
4 4
5--- Makefile.local.orig 2014-12-15 20:14:52.000000000 +0000 5--- Makefile.local.orig 2016-10-04 01:47:21.000000000 +0000
6+++ Makefile.local 6+++ Makefile.local
7@@ -46,7 +46,7 @@ PV_FILE=bindings/python/notmuch/version. 7@@ -47,7 +47,7 @@ PV_FILE=bindings/python/notmuch/version.
8 # Smash together user's values with our extra values 8 STD_CFLAGS := -std=gnu99
9 FINAL_CFLAGS = -DNOTMUCH_VERSION=$(VERSION) $(CPPFLAGS) $(CFLAGS) $(WARN_CFLAGS) $(extra_cflags) $(CONFIGURE_CFLAGS) 9 FINAL_CFLAGS = -DNOTMUCH_VERSION=$(VERSION) $(CPPFLAGS) $(STD_CFLAGS) $(CFLAGS) $(WARN_CFLAGS) $(extra_cflags) $(CONFIGURE_CFLAGS)
10 FINAL_CXXFLAGS = $(CPPFLAGS) $(CXXFLAGS) $(WARN_CXXFLAGS) $(extra_cflags) $(extra_cxxflags) $(CONFIGURE_CXXFLAGS) 10 FINAL_CXXFLAGS = $(CPPFLAGS) $(CXXFLAGS) $(WARN_CXXFLAGS) $(extra_cflags) $(extra_cxxflags) $(CONFIGURE_CXXFLAGS)
11-FINAL_NOTMUCH_LDFLAGS = $(LDFLAGS) -Lutil -lutil -Llib -lnotmuch 11-FINAL_NOTMUCH_LDFLAGS = $(LDFLAGS) -Lutil -lutil -Llib -lnotmuch
12+FINAL_NOTMUCH_LDFLAGS = $(LDFLAGS) -Lutil -lmyutil -Llib -lnotmuch 12+FINAL_NOTMUCH_LDFLAGS = $(LDFLAGS) -Lutil -lmyutil -Llib -lnotmuch
13 ifeq ($(LIBDIR_IN_LDCONFIG),0) 13 ifeq ($(LIBDIR_IN_LDCONFIG),0)
14 FINAL_NOTMUCH_LDFLAGS += $(RPATH_LDFLAGS) 14 FINAL_NOTMUCH_LDFLAGS += $(RPATH_LDFLAGS)
15 endif 15 endif
16@@ -297,7 +297,7 @@ notmuch_client_modules = $(notmuch_clien 16@@ -301,7 +301,7 @@ notmuch_client_modules = $(notmuch_clien
17  17
18 notmuch.o: version.stamp 18 notmuch.o: version.stamp
19  19
20-notmuch: $(notmuch_client_modules) lib/libnotmuch.a util/libutil.a parse-time-string/libparse-time-string.a 20-notmuch: $(notmuch_client_modules) lib/libnotmuch.a util/libutil.a parse-time-string/libparse-time-string.a
21+notmuch: $(notmuch_client_modules) lib/libnotmuch.a util/libmyutil.a parse-time-string/libparse-time-string.a 21+notmuch: $(notmuch_client_modules) lib/libnotmuch.a util/libmyutil.a parse-time-string/libparse-time-string.a
22 $(call quiet,CXX $(CFLAGS)) $^ $(FINAL_LIBNOTMUCH_LDFLAGS) -o $@ 22 $(call quiet,CXX $(CFLAGS)) $^ $(FINAL_LIBNOTMUCH_LDFLAGS) -o $@
23  23
24 notmuch-shared: $(notmuch_client_modules) lib/$(LINKER_NAME) 24 notmuch-shared: $(notmuch_client_modules) lib/$(LINKER_NAME)

cvs diff -r1.5 -r1.6 pkgsrc/mail/notmuch/patches/Attic/patch-aa (expand / switch to unified diff)

--- pkgsrc/mail/notmuch/patches/Attic/patch-aa 2015/11/22 23:55:33 1.5
+++ pkgsrc/mail/notmuch/patches/Attic/patch-aa 2016/10/09 21:20:45 1.6
@@ -1,41 +1,41 @@ @@ -1,41 +1,41 @@
1$NetBSD: patch-aa,v 1.5 2015/11/22 23:55:33 wiz Exp $ 1$NetBSD: patch-aa,v 1.6 2016/10/09 21:20:45 wiz Exp $
2 2
3Install completion files into example directory. 3Install completion files into example directory.
4Accept zlib 1.2.3. 4Accept zlib 1.2.3.
5 5
6--- configure.orig 2015-10-30 10:14:41.000000000 +0000 6--- configure.orig 2016-10-04 01:47:21.000000000 +0000
7+++ configure 7+++ configure
8@@ -411,9 +411,9 @@ if ! pkg-config --exists zlib; then 8@@ -490,9 +490,9 @@ if ! pkg-config --exists zlib; then
9 rm -f compat/gen_zlib_pc 9 rm -f compat/gen_zlib_pc
10 fi 10 fi
11  11
12-printf "Checking for zlib (>= 1.2.5.2)... " 12-printf "Checking for zlib (>= 1.2.5.2)... "
13+printf "Checking for zlib (>= 1.2.3)... " 13+printf "Checking for zlib (>= 1.2.3)... "
14 have_zlib=0 14 have_zlib=0
15-if pkg-config --atleast-version=1.2.5.2 zlib; then 15-if pkg-config --atleast-version=1.2.5.2 zlib; then
16+if pkg-config --atleast-version=1.2.3 zlib; then 16+if pkg-config --atleast-version=1.2.3 zlib; then
17 printf "Yes.\n" 17 printf "Yes.\n"
18 have_zlib=1 18 have_zlib=1
19 zlib_cflags=$(pkg-config --cflags zlib) 19 zlib_cflags=$(pkg-config --cflags zlib)
20@@ -614,7 +614,7 @@ EOF 20@@ -688,7 +688,7 @@ EOF
21 echo " http://xapian.org/" 21 echo " https://xapian.org/"
22 fi 22 fi
23 if [ $have_zlib -eq 0 ]; then 23 if [ $have_zlib -eq 0 ]; then
24- echo " zlib library (>= version 1.2.5.2, including development files such as headers)" 24- echo " zlib library (>= version 1.2.5.2, including development files such as headers)"
25+ echo " zlib library (>= version 1.2.3, including development files such as headers)" 25+ echo " zlib library (>= version 1.2.3, including development files such as headers)"
26 echo " http://zlib.net/" 26 echo " http://zlib.net/"
27 echo 27 echo
28 fi 28 fi
29@@ -952,10 +952,10 @@ HAVE_DOXYGEN=${have_doxygen} 29@@ -1026,10 +1026,10 @@ HAVE_DOXYGEN=${have_doxygen}
30 desktop_dir = \$(prefix)/share/applications 30 desktop_dir = \$(prefix)/share/applications
31  31
32 # The directory to which bash completions files should be installed 32 # The directory to which bash completions files should be installed
33-bash_completion_dir = ${BASHCOMPLETIONDIR:=\$(sysconfdir)/bash_completion.d} 33-bash_completion_dir = ${BASHCOMPLETIONDIR:=\$(sysconfdir)/bash_completion.d}
34+bash_completion_dir = ${BASHCOMPLETIONDIR:=\$(prefix)/share/examples/notmuch/bash_completion.d} 34+bash_completion_dir = ${BASHCOMPLETIONDIR:=\$(prefix)/share/examples/notmuch/bash_completion.d}
35  35
36 # The directory to which zsh completions files should be installed 36 # The directory to which zsh completions files should be installed
37-zsh_completion_dir = ${ZSHCOMLETIONDIR:=\$(prefix)/share/zsh/functions/Completion/Unix} 37-zsh_completion_dir = ${ZSHCOMLETIONDIR:=\$(prefix)/share/zsh/functions/Completion/Unix}
38+zsh_completion_dir = ${ZSHCOMLETIONDIR:=\$(prefix)/share/examples/notmuch/zsh/functions/Completion/Unix} 38+zsh_completion_dir = ${ZSHCOMLETIONDIR:=\$(prefix)/share/examples/notmuch/zsh/functions/Completion/Unix}
39  39
40 # Whether the canonicalize_file_name function is available (if not, then notmuch will 40 # Whether the canonicalize_file_name function is available (if not, then notmuch will
41 # build its own version) 41 # build its own version)