the `GUri` bindings were added past vala 0.48
```
$ git log -1 --pretty=oneline 3c69e297eda4b287a6a37d30d4bf46b83241a453
3c69e297eda4b287a6a37d30d4bf46b83241a453 glib-2.0: Add GLib.Uri bindings (since 2.66)
$ git describe 3c69e297eda4b287a6a37d30d4bf46b83241a453
0.48.2-145-g3c69e297e
```
and would require vala 0.50 but the changes were also backported to
0.48:
$ git log -1 --pretty=oneline e6c95081f8499eda46ca136edcb11b134b58423c
e6c95081f8499eda46ca136edcb11b134b58423c vapi: Update GLib bindings to 2.66
$ git describe e6c95081f8499eda46ca136edcb11b134b58423c
0.48.17-29-ge6c95081f
and are contained in the released 0.48.18.
Closes: #1248
The SQLite tokeniser does not deal with scripts that do not use spaces
for word breaking (CJK, Thai, etc), thus searching in those languages
does not work well.
This adds a custom SQLite tokeniser based on ICU that breaks words for
all languages supported by that library, and uses NFKC_Casefold
normalisation to handle normalisation, case folding, and dropping of
ignorable characters.
Fixes#121
Add SQL migration that drops the old FTS4 MessageSearchTable table,
re-create as a FTS5 table, clean up the column names a bit, and adds a
flags column so unread/starred queries can be made fast.
Define a SQLite FTS5 extension function `geary_matches()` to replace
the FTS3 `offsets()` function which no longer exists in FTS5, based on
Tracker's implementation.
Update code to FTS5 conventions (docid -> rowid, etc), use new column
names, populate and update the flags column as the email's flags
change, and use new match function for getting matching tokens.
Advanced searches are probably currently broken, these will be fixed
by subsequent commits.
Default to development build profile if a `.git` directory exists, else
error out of build configuration.
This make `auto` the default build profile and if set and a `.git`
directory is present default to `development`, else raise an error.
Add some docs to INSTALL describing build profiles and update how they
are used in the source to match.
Although libhandy-1 is not widely available yet, Damned-Lies is having
trouble dealing with the submodule and it's more important to get
translations done than this build convenience, so pull it out.
See Infrastructure/damned-lies#184
Break out the generic testing code into something easily re-used, and
improve the API substantially:
* Use generics to reduce the number of equality tests to effectively
a single one
* Make all assert args consistent in that the actual value is always
listed first.
* Add convenience API for common string/array/collection assertions
This lets a packager ensure that the binary object built from an
unpacked source tarball is identical to the binary object created from
a live git tree.
I hope to use it in debian with something like -Drevno=debian/3.36.1-1
during the meson configuration, so that the help dialog box and the
bug reporting logs can identify the specific build.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Use Geary's private lib sub-directory so that the library won't be found
on the global library search path. Version the library name to avoid
clashes. Update the binary's rpath on install so it can find the lib
still.
Fixes#775