Commit graph

133 commits

Author SHA1 Message Date
Guido Günther
c805f8750c build: Depend on vala >= 0.48.18
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
2021-07-05 10:47:41 +02:00
Michael Gratton
1c1912d006 build: Remove explicit libsoup dependency
Replace all uses of libsoup with their GLib equivalents, and remove the
build dependency.

See GNOME/gnome-build-meta#378
2021-05-15 22:14:49 +10:00
Michael Gratton
67e923c92e Update files for 40.0 release 2021-04-23 12:54:16 +09:30
Michael Gratton
3a5bb3523c build: Update for 40.rc 2021-04-14 21:03:49 +10:00
Michael Gratton
11882a1055 build: Pull in libhandy as a submodule until 1.2.1 is packaged 2021-04-14 00:49:45 +10:00
Michael Gratton
a5d6ec03e5 build: Bump libhandy requirement to 1.2.1
Needed to fix a conversation header bar spacing issue.

See GNOME/libhandy#431
2021-04-14 00:49:45 +10:00
Julian Sparber
baf29a9214 bump min libhandy version to 1.2 2021-04-04 12:44:30 +10:00
Michael Gratton
43c2fa4342 Merge branch 'update-libhandy' into 'mainline'
Update libhandy

Closes #305

See merge request GNOME/geary!622
2021-04-03 23:16:00 +00:00
Michael Gratton
2f81fdf146 build: Add minimal ICU VAPI for UBreakIterator 2021-01-19 20:49:01 +11:00
Michael Gratton
7e38198287 ImapDb.Database: Register new ICU-based tokeniser for FTS
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
2021-01-19 20:48:59 +11:00
Michael Gratton
4fe0d92147 engine: Convert from SQLite FTS3/4 to FTS5 for full-text-search
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.
2021-01-19 20:48:17 +11:00
Michael Gratton
000f602e18 meson.build: Ensure up-to-date main dependencies 2021-01-18 21:57:40 +11:00
Yuri Edward
f31164cc9b Bumped version of libhandy to 1.0.1 2021-01-10 23:54:46 +01:00
Yuri Edward
0475949ee1 Bump version of libhandy to 1.0 in order to fix issue #305 2021-01-09 22:24:11 +01:00
Michael Gratton
968bc1a9e8 ImapDb.SearchQuery: Use libstemmer for stemming
Instead of shipping our own forked stemmer via SQLite, add a dependency
on libstemmer and use that instead.
2020-10-14 20:05:12 +11:00
Michael Gratton
7c0ad051bd build: Make comment about system libs with custom VAPI more generic 2020-10-14 20:02:18 +11:00
Michael Gratton
fac257a273 Merge branch 'mjog/558-webkit-shared-process-redux' into 'mainline'
Webkit shared process redux

See merge request GNOME/geary!565
2020-10-13 08:27:01 +00:00
Michael Gratton
3f7c054db0 build: Bump WebKitGTK min version to include UserMessage support 2020-10-13 00:02:09 +11:00
Michael Gratton
c240884f52 Rename INSTALLING to BUILDING.md
Renamed since most people want to know how to build Geary when they
get its source, not install it. Use MD extension to get formatting in
gitlab.
2020-10-03 23:34:31 +10:00
Michael Gratton
23bd2507a7 build: Update how build profiles are handled
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.
2020-10-03 23:34:31 +10:00
Michael Gratton
aaa2934acf meson_options.txt: Update to use meson best practices and clean up
Convert to use meson features for features. Reorganise and rename
options for consistency. Make descriptions a bit less redundant.
2020-10-03 23:34:31 +10:00
Michael Gratton
880705f2ab Update files for 40 development 2020-09-25 08:23:15 +10:00
Michael Gratton
26f3878a7a Update files for 3.38.0.1 2020-09-14 23:36:32 +10:00
Michael Gratton
22b642edef Update files for 3.38 2020-09-13 14:21:30 +10:00
Michael Gratton
5b64939490 Update files for 3.37.92 2020-09-06 08:48:36 +10:00
Michael Gratton
ab97c5193e Update files for 3.37.91 2020-08-27 10:34:52 +10:00
Michael Gratton
f9df7dddf5 build: Remove libhandy submodule from the build
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
2020-08-27 08:34:08 +10:00
Michael Gratton
d6ed4768bf build: Bump minimum GLib version to 2.64
This should have been included in !554, but wasn't.
2020-08-23 17:40:28 +10:00
Michael Gratton
fe269267a3 Merge branch 'mjog/931-cannot-remove-accounts' into 'mainline'
Cannot remove accounts

Closes #931

See merge request GNOME/geary!550
2020-08-21 00:43:15 +00:00
Michael Gratton
389baf1c36 Updates files for 3.37.90 2020-08-20 12:53:40 +10:00
Michael Gratton
f6bb718fbb build: Bump minimum vala version to 0.48.6
Ensure 3.38 isn't affected by GNOME/vala#995, which causes spurious
bug reports.
2020-08-20 12:34:44 +10:00
Björn Daase
1d02b8b70b *: fix spelling mistakes found by codespell 2020-08-19 09:34:58 +02:00
Michael Gratton
e4683c1dfc Updates files for 3.37.90 2020-08-19 12:00:01 +10:00
Michael Gratton
a043eec310 build: Allow valadoc to find libhandy vapi when built from a subproject 2020-08-18 22:20:23 +10:00
Michael Gratton
2d12b25e2c build: Switch over to use libhandy-1
Add as a optional submodule for people who don't have it installed yet.
2020-08-18 22:10:34 +10:00
Michael Gratton
6b1bad28b9 Move generic unit test classes to a new basically-standalone subproject
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
2020-06-30 17:20:12 +10:00
Guillaume Ayoub
6a88b8121e Update required Vala version.
Vala 0.46.2+ is needed to allow overridden virtual interfaces.

Fix #825.
2020-05-06 11:29:31 +00:00
Michael Gratton
0e6e5c4b6b Update files for 3.37.1 development release 2020-05-04 09:17:18 +10:00
Michael Gratton
262bc51587 src/meson.build: Enable generating valadocs for the client library 2020-04-08 12:07:05 +10:00
Michael Gratton
87ca799104 **/*/meson.build: Update meson files to be more idiomatic 2020-03-30 19:24:57 +11:00
Michael Gratton
4c5a3e860a meson.build: Bump version for new unstable branch 2020-03-30 19:08:20 +11:00
Michael Gratton
9597942116 src/client/application/main.vala: Remove explicit Poodle mitigation
Remove explicit Poodle SSL 3.0 exploit mitigation - distros are doing
a better job of enabling secure TLS algos now.
2020-03-30 18:59:53 +11:00
Michael Gratton
a38ac6f324 Merge branch 'mjog/make-client-lib-private' into 'mainline'
Install client library in private lib sub-directory

Closes #775

See merge request GNOME/geary!470
2020-03-30 04:44:36 +00:00
Daniel Kahn Gillmor
43b5213799 Allow explicit setting of revision string
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>
2020-03-30 00:18:35 -04:00
Michael Gratton
83be745e95 Install client library in private lib sub-directory
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
2020-03-30 14:13:49 +11:00
Michael Gratton
a47e0fcede Plugin: Add new sent-sound plugin
Optional plugin to play the sent-mail sound from the desktop's system
sound theme when an email is sent.

Fixes #598
2020-03-21 17:19:18 +11:00
Michael Gratton
c290787284 Add UI to preferences window for managing optional plugins 2020-03-17 19:23:24 +11:00
Michael Gratton
46541b963b Merge branch 'mjog/build-updates' into 'mainline'
Build updates

See merge request GNOME/geary!424
2020-03-13 07:32:58 +00:00
Michael Gratton
3278d01b71 Remove optional Enchant 1.x optional dependency 2020-03-13 18:07:28 +11:00
Michael Gratton
e8c48a9ae5 org.gnome.Geary.yml: Rename to org.gnome.Geary.yaml 2020-03-13 17:13:58 +11:00