From fbc6671e1672cf1711ed993abfa394faf729383c Mon Sep 17 00:00:00 2001 From: Michael James Gratton Date: Wed, 23 May 2018 17:46:48 +1000 Subject: [PATCH] Fix up GOA branch to build with meson. --- debian/control | 2 ++ meson.build | 1 + src/client/accounts/account-manager.vala | 12 ++++++------ src/client/meson.build | 3 +++ src/meson.build | 3 +++ 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/debian/control b/debian/control index d8cbf667..e6c0d32a 100644 --- a/debian/control +++ b/debian/control @@ -12,6 +12,7 @@ Build-Depends: debhelper (>= 8), libgirepository1.0-dev, libglib2.0-dev (>= 2.54.0), libgmime-2.6-dev (>= 2.6.17), + libgoa-1.0-dev, libgtk-3-dev (>= 3.22.26), libmessaging-menu-dev, libnotify-dev, @@ -37,6 +38,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, libgee-0.8-2, libglib2.0-0 (>= 2.56.0), libgmime-2.6-0 (>= 2.6.17), + libgoa-1.0-0b, libgtk-3-0 (>= 3.22.26), libmessaging-menu0, libnotify4, diff --git a/meson.build b/meson.build index 219fbcd5..a06e1417 100644 --- a/meson.build +++ b/meson.build @@ -56,6 +56,7 @@ gcr = dependency('gcr-3', version: '>= 3.10.1') gdk = dependency('gdk-3.0', version: '>=' + target_gtk) gee = dependency('gee-0.8', version: '>= 0.8.5') gio = dependency('gio-2.0', version: '>=' + target_glib) +goa = dependency('goa-1.0') gobject_introspection = dependency('gobject-introspection-1.0') gthread = dependency('gthread-2.0', version: '>=' + target_glib) javascriptcoregtk = dependency('javascriptcoregtk-4.0', version: '>=' + target_webkit) diff --git a/src/client/accounts/account-manager.vala b/src/client/accounts/account-manager.vala index 941b50c5..5c1dbf95 100644 --- a/src/client/accounts/account-manager.vala +++ b/src/client/accounts/account-manager.vala @@ -178,7 +178,7 @@ public class AccountManager : GLib.Object { GLib.List list = this.goa_service.get_accounts(); for (int i=0; i < list.length() && !cancellable.is_cancelled(); i++) { Goa.Object account = list.nth_data(i); - string id = to_geary_id(account.get_account()); + string id = to_geary_id(account); if (!this.enabled_accounts.has_key(id)) { Geary.AccountInformation? info = null; try { @@ -187,7 +187,7 @@ public class AccountManager : GLib.Object { // XXX want to report this problem to the user // somehow, but at this point in the app's // lifecycle we don't even have a main window. - warning("Error creating GOA account %s: %s", + warning("Error creating existing GOA account %s: %s", account.get_account().id, err.message); } if (info != null) { @@ -453,8 +453,8 @@ public class AccountManager : GLib.Object { this.engine.add_account(account); } - private inline string to_geary_id(Goa.Account account) { - return GOA_ID_PREFIX + account.id; + private inline string to_geary_id(Goa.Object account) { + return GOA_ID_PREFIX + account.get_account().id; } private inline string to_goa_id(string id) { @@ -500,7 +500,7 @@ public class AccountManager : GLib.Object { if (provider == Geary.ServiceProvider.OTHER) { imap.load_settings(imap_config); - smtp.load_settings(imap_config); + smtp.load_settings(smtp_config); if (smtp.smtp_use_imap_credentials) { smtp.credentials.user = imap.credentials.user; smtp.credentials.pass = imap.credentials.pass; @@ -538,7 +538,7 @@ public class AccountManager : GLib.Object { GLib.Cancellable? cancellable) throws GLib.Error { Geary.AccountInformation? info = new_goa_account( - to_geary_id(account.get_account()), account + to_geary_id(account), account ); if (info != null) { debug("GOA id: %s", info.id); diff --git a/src/client/meson.build b/src/client/meson.build index d5b61c10..d7123ab5 100644 --- a/src/client/meson.build +++ b/src/client/meson.build @@ -5,6 +5,7 @@ geary_client_vala_sources = files( 'application/geary-args.vala', 'application/geary-config.vala', 'application/geary-controller.vala', + 'application/goa-mediator.vala', 'application/secret-mediator.vala', 'accounts/account-dialog.vala', @@ -18,6 +19,7 @@ geary_client_vala_sources = files( 'accounts/account-manager.vala', 'accounts/account-spinner-page.vala', 'accounts/add-edit-page.vala', + 'accounts/goa-service-information.vala', 'accounts/local-service-information.vala', 'accounts/login-dialog.vala', @@ -111,6 +113,7 @@ geary_client_dependencies = [ gcr, gee, gio, + goa, gtk, libcanberra, libnotify, diff --git a/src/meson.build b/src/meson.build index 83ccf2c3..1f15305b 100644 --- a/src/meson.build +++ b/src/meson.build @@ -38,6 +38,8 @@ geary_c_options = [ # Select libunwind's optimised, local-only backtrace unwiding. See # libunwind(3). '-DUNW_LOCAL_ONLY', + # Yes yes, GOA's API is unstable. :( + '-DGOA_API_IS_SUBJECT_TO_CHANGE' ] subdir('sqlite3-unicodesn') @@ -74,6 +76,7 @@ geary_bin_dependencies = [ geary_engine_dep, gee, gmime, + goa, gtk, libmath, libsoup,