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.
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.
* org.gnome.Geary.service.in: create, and let it be installed by CMake.
* org.gnome.Geary.desktop.in: add `DBusActivatable=true`.
* geary-autostart.desktop.in: use `--gapplication-service` instead of
hidden.
* Change the way arguments are parsed:
* Use the _command-line_ and _handle-local-options_ signals instead
of _local-command-line_.
* Remove the `--hidden` option (replaced by `--gapplication-service`)
* Use VariantDict (which is a little cleaner)
* Don't use global variables in Arg, but set them in
the config instead.
* We can no longer set a global summary due to the new option handling
in GApplication. On IRC, I got the feedback that info like this should
be going into a manpage.
* Since the QUIT-action can now be called without ever activating the
app, make the necessary changes to the `GearyController`:
* `main_window` and `current_conversations` can be null.
* use `pending_mailtos()` for the compose action as well.
* Don't update the UNDO action if we're closing down.
* More instance variables prefixed with this (we're changing the lines
anyway, might as well do it properly).
* `Environment.set_prgname()` is already executed in GApplication.run(),
so no more need for `GearyApplication.PRGNAME`.
Signed-off-by: Niels De Graef <nielsdegraef@gmail.com>
Two preprocessor conditionals for vala source files were defined
in config.h, which is not picked up during vala compilation. Now,
pass the defines as command line options to valac. Fixes#264
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.
On FreeBSD, checking sqlite.h without the dependency would look at
/usr/include/sqlite.h (base system version) instead of
/usr/local/include/sqlite.h (ports version, which has FTS and everything).
This reverts commit 43341cd3e3, reversing
changes made to ffb4befdd8.
This is causing segfault in Geary.JS.to_string_released() when running
client tests, so reverting until a solution is found.
Commit 43341cd3 basically means we require vala 0.38, which excludes
Debian 9 (stretch), Ubuntu 16.04 (artful) and Fedora 26. Hence bump
minimum versions (and tidy up the list of deps) to reflect this.
* 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.
* bindings/meson.build: Declare a dependency for JSC that includes both
the lib, VAPI and appropriate build directory. Update WK dependencies
to reflect the same that their pkg-config files currently do, sort.
* meson.build: Rename top-level JSC deps to make it clear what they are
for.
* src/engine/meson.build: Depend on JSC rather than WK, sort deps.
* desktop/meson.build: Make sure the schema is re-compiled with the
source XML changes.
* meson.build: Make compiling the schema mandatory, since both running
the client locally and unit tests require it. Fix path to compiled
schema so the client can find it.