Commit graph

55 commits

Author SHA1 Message Date
Maximiliano Sandoval R
080ead9775 meson: Update to 0.59 2022-07-15 11:18:49 +00:00
Michael Gratton
e23f2cde66 Merge branch 'mjog/build-updates' into 'mainline'
Misc build fixes

See merge request GNOME/geary!703
2021-07-26 12:15:31 +00: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
c1c8058a2a build: Remove --disable-since-check for llibhandy 1.0 2021-04-28 08:47:57 +10:00
Michael Gratton
7f155f87ac engine: Work around VAPI binding change causing GMime API break
See https://github.com/jstedfast/gmime/pull/101
2021-04-21 22:53:34 +10:00
Michael Gratton
d17554d30f build: Ensure vala defines are passed through to valadoc 2021-04-21 22:53:34 +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
2f81fdf146 build: Add minimal ICU VAPI for UBreakIterator 2021-01-19 20:49:01 +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
4f9df7d74a engine: Remove in-tree unicodesn stemmer
Now that search is using libstemmer, the in-tree stemmer is no longer
needed and can be removed.
2020-10-14 20:05:15 +11: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
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
b5abd3f966 build: Fix build failure due to missing client API
Don't use client lib vala ags when building the web process extension,
since that will cause it to also write a VAPI with the same name as
the client lib, causing the build to fail if the web process side wins
that race.

Fixes #985
2020-09-28 08:53:35 +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
65954749f3 build: Add workaround for libhandy Since 1.0 version mismatch
Handy's GIR annotations declare Since 1.0, but the version is only 0.90
at the moment, so disable checks for now if less than v1.0.
2020-08-18 22:20:29 +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
62ccfdafcd build: Generate valadoc vapidir args to reduce command boilerplate 2020-08-18 22:10:34 +10:00
Michael Gratton
2532f94bab build: Remove local vapi directory from valadoc target 2020-08-18 22:10:34 +10:00
Michael Gratton
35683dd6eb build: Reduce verbosity of meson vars by removing geary_ prefixes 2020-08-13 19:51:33 +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
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
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
13fdfa5206 Enable valac ABI stability 2020-03-07 18:05:30 +11:00
Torben
c6be77ba85 Remove last occurences of GMime 2.6 2019-12-03 11:37:45 +01:00
Michael Gratton
4a959ab440 Move source build config from top-level to src meson.build
Sort the config vars, ensure internal vars all start with an underscore,
and ensure the config is being used for all builds.
2019-09-28 00:30:46 +10:00
Michael Gratton
af2915707d Consistently use '..._c_args' and '..._vala_args' for meson vars 2019-09-27 23:56:52 +10:00
Michael Gratton
64f14b4a78 Update valadoc target
Don't append the version to the package name so the URI stops changing
with every release. Tidy up arg formatting a bit.
2019-09-27 23:51:19 +10:00
Michael Gratton
ea9e08e2be Don't explicitly specifify --glib-version, meson does it for us 2019-09-27 23:49:42 +10:00
Michael Gratton
486c2fc137 Convert Notification.Desktop to a plugin
Rename to DesktopNotifications and use Plugins.Notification as the base
class. Add a plugin config file. Add build config to build the plugin.
Update Plugins.Notification class to suit the requirements of this
plugin better.
2019-09-27 19:36:39 +10:00
Christopher Davis
bfcee9bff7 build: Set up dual install for flatpak
Part of https://gitlab.gnome.org/GNOME/Initiatives/issues/1;
Sets up dual installation for flatpaks, allowing us to
build and run geary without affecting our system install.
This will allow testing of nightlies and CI artifacts as well
via the flatpak, so we can iterate on designs and share
bundles to test with.
2019-08-26 09:38:31 -07:00
Michael Gratton
da6ac828bd Move Geary.JS package into client as Util.JS
The only reason it was in the engine was so it could be used by both
the client and the web extension, without worrying about the
webkit2gtk and webkit2gtk_web_extension packages conflicting. However
it didn't really belong there, and added a dependency for the engine
on javascriptcoregtk which doesn't belong. So this fixes all that.
2019-07-21 10:00:32 +10:00
Michael Gratton
6f65062219 Convert ProblemReportDialog to use Inspector views
Aside from the code re-use, this allows including log files in problem
reports.
2019-07-05 13:00:11 +10:00
Michael Gratton
b0ca8c9e0a Switch to using GLib structured logging
This converts the logging infrastructure to using structured logging
calls, adds and sets a structured logging writer.
2019-06-30 16:15:03 +10:00
Michael Gratton
322bdd2d42 Use GNOME odd/even version numbering to detect if running -dev
Since switching to the GNOME release schedule, we need to do unstable
releases off of mainline, which means we need to update the version
number (and drop the "-dev" suffix) so tarballs etc get the right
version.

Instead of looking for the -dev suffix, parse the version number
to determine if we should display the revision in About.
2019-04-28 19:28:12 +10:00
Michael Gratton
ac461747c3 Depend on libhandy for the client build 2019-04-08 18:05:03 +10:00
Michael Gratton
4d4ab6000f Remove deprecated valac --thread arg 2019-03-15 16:52:47 +11:00
Michael Gratton
742aca2b0c Add build dependencies for Folks
Flatpak manifest updates courtesy of gnome-contacts.
2019-03-09 20:17:01 +11:00
Michael Gratton
1877c81d00 Allow configuring the location of the web extension shared lib 2019-01-17 11:08:26 +11:00
Michael Gratton
6b9ae903fb Re-enable GCR support for cert pinning
This re-adds support for using GCR for pinning certs, but only if GCR
is in a known good state. If so, pinned certs will be stored using GCR,
if not, they will be stored in Geary's XDG data dirs as a fallback.
2019-01-10 17:33:37 +11:00
Michael James Gratton
f7ad510dcc Push WebView editing machinery from the composer to the client.
This allows using the same code for editing account signatures as for the
composer.

* src/client/components/client-web-view.vala (ClientWebView): Move both
  command_stack_changed and document_modified signals here from
  ComposerWebView, since they use the same underlying machinery to
  emit. Move get_html() from ComposerWebView since we want to get to the
  HTML when editing signatures. Override WebView.set_editable() so we can
  enable/disable the signal machinery and hence not get change signals
  emitted when enabling/disabling editing.

* ui/client-web-view.js (PageState): Mirror the changes above made to
  ClientWebView.

* src/meson.build (geary_web_process): Ensure C args are passed through
  web compiling the web extension.
2018-11-30 23:49:30 +11:00
Rico Tzschichholz
20cd9823a7 bindings: Drop custom javascriptcore-4.0 and webkit2gtk-4.0 vapi 2018-06-04 12:55:59 +02:00
Michael James Gratton
fbc6671e16 Fix up GOA branch to build with meson. 2018-05-28 00:46:31 +10:00
Michael James Gratton
33150b22c6 Remove C warning suppression hack from meson build.
Meson suppresses all cpp warnings anyway, and valac has recently improved
on the amount of warning spew its c code generates.
2018-04-15 21:56:02 +10:00
Michael James Gratton
a0ff57c158 Remove --enabled-deprecated vala warnings, fix a bunch of them. 2018-01-15 16:17:11 +11:00
Michael James Gratton
e8e7139629 Re-enable reporting git version in Meson dev builds. 2018-01-15 11:57:26 +11:00
Michael James Gratton
5456dab49c Tidy up inclusion of libunwind in the Meson build.
* meson.build: Use libunwind and libunwind-generic to avoid having to
  search for the platform-specific lib.

* src/meson.build: Set UNW_LOCAL_ONLY define to get the most optimal
  unwind impl.
2018-01-12 18:21:26 +11:00
Michael James Gratton
acba774839 Fix valadoc warnings, generate internal docs rather than docs for deps.
This lets valadoc build Geary's engine docs again as long as patches for
valadoc Bug 736483 and Bug 646982 are applied (which will hopefully be
merged for vala 0.40). Once Bug 792349 is also fixed, we'll be able to
generate private docs as well.
2018-01-09 18:28:29 +11:00
Michael James Gratton
2ce6d98c53 Add a note about vala pre-processor symbol definitions. 2017-12-14 09:44:33 +11:00