<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/Makefile.local, branch debian/0.25-3</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.25-3</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.25-3'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2017-05-12T10:17:18Z</updated>
<entry>
<title>build: switch to hiding libnotmuch symbols by default</title>
<updated>2017-05-12T10:17:18Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-05-10T19:42:11Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=bc11759dd1fd198661657b741bc0143c9af309a4'/>
<id>urn:sha1:bc11759dd1fd198661657b741bc0143c9af309a4</id>
<content type='text'>
The dynamic generation of the linker version script for libnotmuch
exports has grown rather complicated.

Reverse the visibility control by hiding symbols by default using
-fvisibility=hidden, and explicitly exporting symbols in notmuch.h
using #pragma GCC visibility. (We could also use __attribute__
((visibility ("default"))) for each exported function, but the pragma
is more convenient.)

The above is not quite enough alone, as it would "leak" a number of
weak symbols from Xapian and C++ standard library. Combine it with a
small static version script that filters out everything except the
notmuch_* symbols that we explicitly exposed, and the C++ RTTI
typeinfo symbols for exception handling.

Finally, as the symbol hiding test can no longer look at the generated
symbol table, switch the test to parse the functions from notmuch.h.
</content>
</entry>
<entry>
<title>rename libutil.a to libnotmuch_util.a</title>
<updated>2017-03-19T00:37:43Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-03-14T11:10:07Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c39f6361d0798aa8d0dcd0b91f6b86ab9dc21c75'/>
<id>urn:sha1:c39f6361d0798aa8d0dcd0b91f6b86ab9dc21c75</id>
<content type='text'>
Apparently some systems (MacOS?) have a system library called libutil
and the name conflict causes problems. Since this library is quite
notmuch specific, rename it to something less generic.
</content>
</entry>
<entry>
<title>lib: regexp matching in 'subject' and 'from'</title>
<updated>2017-03-03T21:46:48Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-02-27T02:34:20Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=55524bb063c95ae51a1762eb0b1aacce6ca49223'/>
<id>urn:sha1:55524bb063c95ae51a1762eb0b1aacce6ca49223</id>
<content type='text'>
the idea is that you can run

% notmuch search subject:/&lt;your-favourite-regexp&gt;/
% notmuch search from:/&lt;your-favourite-regexp&gt;/

or

% notmuch search subject:"your usual phrase search"
% notmuch search from:"usual phrase search"

This feature is only available with recent Xapian, specifically
support for field processors is needed.

It should work with bindings, since it extends the query parser.

This is easy to extend for other value slots, but currently the only
value slots are date, message_id, from, subject, and last_mod. Date is
already searchable;  message_id is left for a followup commit.

This was originally written by Austin Clements, and ported to Xapian
field processors (from Austin's custom query parser) by yours truly.
</content>
</entry>
<entry>
<title>lib: use glib for sha1 digests instead of embedding libsha1</title>
<updated>2017-01-08T14:50:38Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-01-06T21:29:27Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c906da9f60639594fb9c6b9d133aca9c49b3f586'/>
<id>urn:sha1:c906da9f60639594fb9c6b9d133aca9c49b3f586</id>
<content type='text'>
We already depend on glib both directly and indirectly (via gmime). We
might as well make use of its facilities. Drop the embedded libsha1
and use glib for sha1 digests.
</content>
</entry>
<entry>
<title>lib: basic message-property API</title>
<updated>2016-09-21T21:14:24Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2016-06-13T01:05:50Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b8bb6d796458732622f80464dd808b3e02f57d9d'/>
<id>urn:sha1:b8bb6d796458732622f80464dd808b3e02f57d9d</id>
<content type='text'>
Initially, support get, set and removal of single key/value pair, as
well as removing all properties.
</content>
</entry>
<entry>
<title>lib: private string map (associative array) API</title>
<updated>2016-09-21T21:14:24Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2016-06-13T01:05:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8b03ee1d5a310f82718281362d105ff09e30148f'/>
<id>urn:sha1:8b03ee1d5a310f82718281362d105ff09e30148f</id>
<content type='text'>
The choice of array implementation is deliberate, for future iterator support
</content>
</entry>
<entry>
<title>lib: add support for named queries</title>
<updated>2016-05-25T10:40:44Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2016-03-22T10:54:54Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b9bf3f44eacd42ce53885c79f9dad8d82c76f13d'/>
<id>urn:sha1:b9bf3f44eacd42ce53885c79f9dad8d82c76f13d</id>
<content type='text'>
This relies on the optional presense of xapian field processors, and the
library config API.
</content>
</entry>
<entry>
<title>lib: provide config API</title>
<updated>2016-05-24T11:53:03Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2016-03-22T10:54:47Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3458e3c89c1224d3e2dff7230780589ee3ee4c70'/>
<id>urn:sha1:3458e3c89c1224d3e2dff7230780589ee3ee4c70</id>
<content type='text'>
This is a thin wrapper around the Xapian metadata API. The job of this
layer is to keep the config key value pairs from colliding with other
metadata by transparently prefixing the keys, along with the usual glue
to provide a C interface.

The split of _get_config into two functions is to allow returning of the
return value with different memory ownership semantics.
</content>
</entry>
<entry>
<title>lib/cli: add library API / CLI for compile time options</title>
<updated>2016-05-13T10:29:12Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2016-03-22T10:54:45Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=792bea5aff135107fd970f51f3ef8c65f68194de'/>
<id>urn:sha1:792bea5aff135107fd970f51f3ef8c65f68194de</id>
<content type='text'>
This is intentionally low tech; if we have more than two options it may
make sense to build up what infrastructure is provided.
</content>
</entry>
<entry>
<title>build: extract library versions from notmuch.h</title>
<updated>2015-08-10T11:53:55Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2015-08-09T14:25:41Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=765556c1f159ae0a29137c935c7cbf4106569e7e'/>
<id>urn:sha1:765556c1f159ae0a29137c935c7cbf4106569e7e</id>
<content type='text'>
- Make lib/notmuch.h the canonical location for the library versioning
information.

- Since the release-check should never fail now, remove it to reduce
complexity.

- Make the version numbers in notmuch.h consistent with the (now
  deleted) ones in lib/Makefile.local
</content>
</entry>
</feed>
