commit:     50dcee64165b3b6df19ab6146172b1179bba5fb5
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 29 19:59:27 2018 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sat Dec 29 20:03:14 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50dcee64

net-libs/gnome-online-accounts-3.24.5: fix build against glib-2.58

Backported patch (needed tiny adjustments in the first commit of 2)
to make sure we won't hit issues for stable tree, should we need to
stabilize glib-2.58 earlier than GOA-3.28+.

Bug: https://bugs.gentoo.org/673606
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
Package-Manager: Portage-2.3.52, Repoman-2.3.11

 .../files/3.24.5-glib-2.58-compat.patch            | 328 +++++++++++++++++++++
 .../gnome-online-accounts-3.24.5.ebuild            |   5 +
 2 files changed, 333 insertions(+)

diff --git a/net-libs/gnome-online-accounts/files/3.24.5-glib-2.58-compat.patch 
b/net-libs/gnome-online-accounts/files/3.24.5-glib-2.58-compat.patch
new file mode 100644
index 00000000000..3964d15b86a
--- /dev/null
+++ b/net-libs/gnome-online-accounts/files/3.24.5-glib-2.58-compat.patch
@@ -0,0 +1,328 @@
+From eaaeb46caa8d0068a695c8356402fc7c342d6d09 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <[email protected]>
+Date: Thu, 19 Jul 2018 12:54:39 +0100
+Subject: [PATCH 1/2] Build against GLib 2.57.2
+
+(cherry picked from commit 975625cd298d0088fe08189d4f77b10c96601917)
+---
+
+diff --git a/src/daemon/goadaemon.c b/src/daemon/goadaemon.c
+index 89b60199..b600b943 100644
+--- a/src/daemon/goadaemon.c
++++ b/src/daemon/goadaemon.c
+@@ -1233,7 +1233,7 @@ get_all_providers_cb (GObject      *source,
+   g_free (key_file_data);
+   g_free (group);
+   g_free (id);
+-  g_clear_pointer (&key_file, (GDestroyNotify) g_key_file_unref);
++  g_clear_pointer (&key_file, g_key_file_unref);
+   g_object_unref (data->daemon);
+   g_object_unref (data->manager);
+   g_object_unref (data->invocation);
+@@ -1437,7 +1437,7 @@ on_account_handle_remove (GoaAccount            *account,
+  out:
+   g_clear_object (&provider);
+   g_clear_object (&task);
+-  g_clear_pointer (&key_file, (GDestroyNotify) g_key_file_unref);
++  g_clear_pointer (&key_file, g_key_file_unref);
+   g_free (group);
+   return TRUE; /* invocation was handled */
+ }
+diff --git a/src/daemon/main.c b/src/daemon/main.c
+index ae8c22d4..2db8d171 100644
+--- a/src/daemon/main.c
++++ b/src/daemon/main.c
+@@ -128,8 +128,8 @@ main (int    argc,
+   g_clear_object (&the_daemon);
+   if (name_owner_id != 0)
+     g_bus_unown_name (name_owner_id);
+-  g_clear_pointer (&loop, (GDestroyNotify) g_main_loop_unref);
+-  g_clear_pointer (&opt_context, (GDestroyNotify) g_option_context_free);
++  g_clear_pointer (&loop, g_main_loop_unref);
++  g_clear_pointer (&opt_context, g_option_context_free);
+ 
+   g_message ("goa-daemon version %s exiting", PACKAGE_VERSION);
+ 
+diff --git a/src/examples/introspect-providers.c 
b/src/examples/introspect-providers.c
+index e5960a81..5cb1a3cc 100644
+--- a/src/examples/introspect-providers.c
++++ b/src/examples/introspect-providers.c
+@@ -153,7 +153,7 @@ get_all (GObject *source_object, GAsyncResult *res, 
gpointer user_data)
+   g_print ("%s", key_file_data);
+ 
+  out:
+-  g_clear_pointer (&key_file, (GDestroyNotify) g_key_file_unref);
++  g_clear_pointer (&key_file, g_key_file_unref);
+   g_free (key_file_data);
+   g_list_free_full (providers, g_object_unref);
+   g_main_loop_quit (loop);
+diff --git a/src/goabackend/goadlnaservermanager.c 
b/src/goabackend/goadlnaservermanager.c
+index 284922fe..aee245ae 100644
+--- a/src/goabackend/goadlnaservermanager.c
++++ b/src/goabackend/goadlnaservermanager.c
+@@ -175,7 +175,7 @@ goa_dlna_server_manager_dispose (GObject *object)
+   GoaDlnaServerManager *self = GOA_DLNA_SERVER_MANAGER (object);
+   GoaDlnaServerManagerPrivate *priv = self->priv;
+ 
+-  g_clear_pointer (&priv->servers, (GDestroyNotify) g_hash_table_unref);
++  g_clear_pointer (&priv->servers, g_hash_table_unref);
+   g_clear_object (&priv->proxy);
+ 
+   G_OBJECT_CLASS (goa_dlna_server_manager_parent_class)->dispose (object);
+diff --git a/src/goabackend/goaexchangeprovider.c 
b/src/goabackend/goaexchangeprovider.c
+index 63ebe21e..428b2841 100644
+--- a/src/goabackend/goaexchangeprovider.c
++++ b/src/goabackend/goaexchangeprovider.c
+@@ -678,7 +678,7 @@ add_account (GoaProvider    *provider,
+   g_signal_handlers_disconnect_by_func (dialog, dialog_response_cb, &data);
+ 
+   g_free (data.account_object_path);
+-  g_clear_pointer (&data.loop, (GDestroyNotify) g_main_loop_unref);
++  g_clear_pointer (&data.loop, g_main_loop_unref);
+   g_clear_object (&data.cancellable);
+   g_clear_object (&ews_client);
+   return ret;
+@@ -828,7 +828,7 @@ refresh_account (GoaProvider    *provider,
+     g_propagate_error (error, data.error);
+ 
+   gtk_widget_destroy (dialog);
+-  g_clear_pointer (&data.loop, (GDestroyNotify) g_main_loop_unref);
++  g_clear_pointer (&data.loop, g_main_loop_unref);
+   g_clear_object (&data.cancellable);
+   g_clear_object (&ews_client);
+   return ret;
+diff --git a/src/goabackend/goaimapsmtpprovider.c 
b/src/goabackend/goaimapsmtpprovider.c
+index c48dc81b..096d54bc 100644
+--- a/src/goabackend/goaimapsmtpprovider.c
++++ b/src/goabackend/goaimapsmtpprovider.c
+@@ -442,7 +442,7 @@ ensure_credentials_sync (GoaProvider         *provider,
+   g_free (smtp_password);
+   g_free (smtp_server);
+   g_free (smtp_username);
+-  g_clear_pointer (&credentials, (GDestroyNotify) g_variant_unref);
++  g_clear_pointer (&credentials, g_variant_unref);
+   return ret;
+ }
+ 
+@@ -1183,7 +1183,7 @@ add_account (GoaProvider    *provider,
+ 
+   g_free (domain);
+   g_free (data.account_object_path);
+-  g_clear_pointer (&data.loop, (GDestroyNotify) g_main_loop_unref);
++  g_clear_pointer (&data.loop, g_main_loop_unref);
+   g_clear_object (&data.cancellable);
+   g_clear_object (&imap_auth);
+   g_clear_object (&smtp_auth);
+@@ -1474,7 +1474,7 @@ refresh_account (GoaProvider    *provider,
+   g_free (imap_username);
+   g_free (smtp_server);
+   g_free (smtp_username);
+-  g_clear_pointer (&data.loop, (GDestroyNotify) g_main_loop_unref);
++  g_clear_pointer (&data.loop, g_main_loop_unref);
+   g_clear_object (&data.cancellable);
+   g_clear_object (&imap_auth);
+   g_clear_object (&smtp_auth);
+diff --git a/src/goabackend/goakerberosprovider.c 
b/src/goabackend/goakerberosprovider.c
+index 0df52ed3..cbb93ea8 100644
+--- a/src/goabackend/goakerberosprovider.c
++++ b/src/goabackend/goakerberosprovider.c
+@@ -289,7 +289,7 @@ get_ticket_sync (GoaKerberosProvider *self,
+   g_clear_object (&account);
+   g_clear_object (&ticketing);
+   g_free (object_path);
+-  g_clear_pointer (&credentials, (GDestroyNotify) g_variant_unref);
++  g_clear_pointer (&credentials, g_variant_unref);
+   return ret;
+ }
+ 
+@@ -1002,7 +1002,7 @@ start_over:
+   g_free (request.account_object_path);
+   g_free (principal);
+   g_free (realm);
+-  g_clear_pointer (&request.loop, (GDestroyNotify) g_main_loop_unref);
++  g_clear_pointer (&request.loop, g_main_loop_unref);
+   return object;
+ }
+ 
+@@ -1044,8 +1044,8 @@ dbus_proxy_reload_properties_sync (GDBusProxy    *proxy,
+   ret = TRUE;
+ 
+  out:
+-  g_clear_pointer (&iter, (GDestroyNotify) g_variant_iter_free);
+-  g_clear_pointer (&result, (GDestroyNotify) g_variant_unref);
++  g_clear_pointer (&iter, g_variant_iter_free);
++  g_clear_pointer (&result, g_variant_unref);
+   g_free (name_owner);
+   return ret;
+ }
+diff --git a/src/goabackend/goalastfmprovider.c 
b/src/goabackend/goalastfmprovider.c
+index 63c50588..ab6df253 100644
+--- a/src/goabackend/goalastfmprovider.c
++++ b/src/goabackend/goalastfmprovider.c
+@@ -742,7 +742,7 @@ add_account (GoaProvider    *provider,
+ 
+   g_free (data.access_token);
+   g_free (data.account_object_path);
+-  g_clear_pointer (&data.loop, (GDestroyNotify) g_main_loop_unref);
++  g_clear_pointer (&data.loop, g_main_loop_unref);
+   g_clear_object (&data.cancellable);
+   return ret;
+ }
+@@ -872,7 +872,7 @@ refresh_account (GoaProvider    *provider,
+     g_propagate_error (error, data.error);
+ 
+   gtk_widget_destroy (dialog);
+-  g_clear_pointer (&data.loop, (GDestroyNotify) g_main_loop_unref);
++  g_clear_pointer (&data.loop, g_main_loop_unref);
+   g_free (data.access_token);
+   g_clear_object (&data.cancellable);
+   return ret;
+diff --git a/src/goabackend/goamediaserverprovider.c 
b/src/goabackend/goamediaserverprovider.c
+index 9a33d32e..9bf52ad7 100644
+--- a/src/goabackend/goamediaserverprovider.c
++++ b/src/goabackend/goamediaserverprovider.c
+@@ -488,7 +488,7 @@ add_account (GoaProvider  *provider,
+   g_free (data.account_object_path);
+   g_free (data.friendly_name);
+   g_free (data.udn);
+-  g_clear_pointer (&data.loop, (GDestroyNotify) g_main_loop_unref);
++  g_clear_pointer (&data.loop, g_main_loop_unref);
+   return ret;
+ }
+ 
+diff --git a/src/goabackend/goaoauth2provider.c 
b/src/goabackend/goaoauth2provider.c
+index 20adff8f..f4ab8c5d 100644
+--- a/src/goabackend/goaoauth2provider.c
++++ b/src/goabackend/goaoauth2provider.c
+@@ -1610,7 +1610,7 @@ goa_oauth2_provider_get_access_token_sync 
(GoaOAuth2Provider  *self,
+   g_free (refresh_token);
+   g_free (old_refresh_token);
+   g_free (password);
+-  g_clear_pointer (&credentials, (GDestroyNotify) g_variant_unref);
++  g_clear_pointer (&credentials, g_variant_unref);
+ 
+   g_mutex_unlock (lock);
+ 
+diff --git a/src/goabackend/goaoauthprovider.c 
b/src/goabackend/goaoauthprovider.c
+index 2e02405f..3405871d 100644
+--- a/src/goabackend/goaoauthprovider.c
++++ b/src/goabackend/goaoauthprovider.c
+@@ -960,7 +960,7 @@ get_tokens_and_identity (GoaOAuthProvider *provider,
+   g_free (url);
+ 
+   g_free (data.oauth_verifier);
+-  g_clear_pointer (&data.loop, (GDestroyNotify) g_main_loop_unref);
++  g_clear_pointer (&data.loop, g_main_loop_unref);
+   g_free (data.access_token);
+   g_free (data.access_token_secret);
+   g_free (escaped_request_token);
+@@ -1137,7 +1137,7 @@ goa_oauth_provider_add_account (GoaProvider *_provider,
+   g_free (access_token_secret);
+   g_free (session_handle);
+   g_free (data.account_object_path);
+-  g_clear_pointer (&data.loop, (GDestroyNotify) g_main_loop_unref);
++  g_clear_pointer (&data.loop, g_main_loop_unref);
+   return ret;
+ }
+ 
+@@ -1510,7 +1510,7 @@ goa_oauth_provider_get_access_token_sync 
(GoaOAuthProvider   *provider,
+   g_free (access_token_secret_for_refresh);
+   g_free (session_handle_for_refresh);
+   g_free (password);
+-  g_clear_pointer (&credentials, (GDestroyNotify) g_variant_unref);
++  g_clear_pointer (&credentials, g_variant_unref);
+ 
+   g_mutex_unlock (lock);
+ 
+diff --git a/src/goabackend/goaowncloudprovider.c 
b/src/goabackend/goaowncloudprovider.c
+index e3c1d9bf..d8ab4691 100644
+--- a/src/goabackend/goaowncloudprovider.c
++++ b/src/goabackend/goaowncloudprovider.c
+@@ -250,7 +250,7 @@ build_object (GoaProvider         *provider,
+ 
+  out:
+   g_clear_object (&password_based);
+-  g_clear_pointer (&uri, (GDestroyNotify *) soup_uri_free);
++  g_clear_pointer (&uri, soup_uri_free);
+   g_free (uri_string);
+   return ret;
+ }
+@@ -466,7 +466,7 @@ normalize_uri (const gchar *address, gchar **server)
+   ret = soup_uri_to_string (uri, FALSE);
+ 
+  out:
+-  g_clear_pointer (&uri, (GDestroyNotify *) soup_uri_free);
++  g_clear_pointer (&uri, soup_uri_free);
+   g_free (scheme);
+   g_free (uri_string);
+   return ret;
+@@ -829,7 +829,7 @@ add_account (GoaProvider    *provider,
+   g_free (server);
+   g_free (uri);
+   g_free (data.account_object_path);
+-  g_clear_pointer (&data.loop, (GDestroyNotify) g_main_loop_unref);
++  g_clear_pointer (&data.loop, g_main_loop_unref);
+   g_clear_object (&data.cancellable);
+   g_clear_object (&http_client);
+   return ret;
+@@ -1037,7 +1037,7 @@ refresh_account (GoaProvider    *provider,
+   g_free (uri);
+   g_free (uri_webdav);
+   g_free (data.account_object_path);
+-  g_clear_pointer (&data.loop, (GDestroyNotify) g_main_loop_unref);
++  g_clear_pointer (&data.loop, g_main_loop_unref);
+   g_clear_object (&data.cancellable);
+   g_clear_object (&http_client);
+   return ret;
+diff --git a/src/goabackend/goautils.c b/src/goabackend/goautils.c
+index cc362baf..3cac3d13 100644
+--- a/src/goabackend/goautils.c
++++ b/src/goabackend/goautils.c
+@@ -987,7 +987,7 @@ goa_utils_get_credentials (GoaProvider    *provider,
+ 
+ out:
+   g_clear_object (&account);
+-  g_clear_pointer (&credentials, (GDestroyNotify) g_variant_unref);
++  g_clear_pointer (&credentials, g_variant_unref);
+   g_free (username);
+   g_free (password);
+   return ret;
+diff --git a/src/goaidentity/goaalarm.c b/src/goaidentity/goaalarm.c
+index 8720a025..fa8c6c11 100644
+--- a/src/goaidentity/goaalarm.c
++++ b/src/goaidentity/goaalarm.c
+@@ -81,11 +81,11 @@ goa_alarm_dispose (GObject *object)
+   GoaAlarm *self = GOA_ALARM (object);
+ 
+   g_clear_object (&self->priv->stream);
+-  g_clear_pointer (&self->priv->immediate_wakeup_source, (GDestroyNotify) 
g_source_destroy);
+-  g_clear_pointer (&self->priv->scheduled_wakeup_source, (GDestroyNotify) 
g_source_destroy);
+-  g_clear_pointer (&self->priv->context, (GDestroyNotify) 
g_main_context_unref);
+-  g_clear_pointer (&self->priv->time, (GDestroyNotify) g_date_time_unref);
+-  g_clear_pointer (&self->priv->previous_wakeup_time, (GDestroyNotify) 
g_date_time_unref);
++  g_clear_pointer (&self->priv->immediate_wakeup_source, g_source_destroy);
++  g_clear_pointer (&self->priv->scheduled_wakeup_source, g_source_destroy);
++  g_clear_pointer (&self->priv->context, g_main_context_unref);
++  g_clear_pointer (&self->priv->time, g_date_time_unref);
++  g_clear_pointer (&self->priv->previous_wakeup_time, g_date_time_unref);
+ 
+   G_OBJECT_CLASS (goa_alarm_parent_class)->dispose (object);
+ }
+diff --git a/src/goaidentity/goakerberosidentityinquiry.c 
b/src/goaidentity/goakerberosidentityinquiry.c
+index ce591a4c..4f25298d 100644
+--- a/src/goaidentity/goakerberosidentityinquiry.c
++++ b/src/goaidentity/goakerberosidentityinquiry.c
+@@ -100,8 +100,8 @@ goa_kerberos_identity_inquiry_dispose (GObject *object)
+   GoaKerberosIdentityInquiry *self = GOA_KERBEROS_IDENTITY_INQUIRY (object);
+ 
+   g_clear_object (&self->priv->identity);
+-  g_clear_pointer (&self->priv->name, (GDestroyNotify) g_free);
+-  g_clear_pointer (&self->priv->banner, (GDestroyNotify) g_free);
++  g_clear_pointer (&self->priv->name, g_free);
++  g_clear_pointer (&self->priv->banner, g_free);
+ 
+   G_OBJECT_CLASS (goa_kerberos_identity_inquiry_parent_class)->dispose 
(object);
+ }
+-- 
+2.17.0
+

diff --git a/net-libs/gnome-online-accounts/gnome-online-accounts-3.24.5.ebuild 
b/net-libs/gnome-online-accounts/gnome-online-accounts-3.24.5.ebuild
index 60812b5c599..a2e0d1afb70 100644
--- a/net-libs/gnome-online-accounts/gnome-online-accounts-3.24.5.ebuild
+++ b/net-libs/gnome-online-accounts/gnome-online-accounts-3.24.5.ebuild
@@ -60,6 +60,11 @@ DEPEND="${RDEPEND}
 # Due to sub-configure
 QA_CONFIGURE_OPTIONS=".*"
 
+PATCHES=(
+       "${FILESDIR}"/${PV}-glib-2.58-compat.patch
+       "${FILESDIR}"/glib-2.58-compat2.patch
+)
+
 src_prepare() {
        use vala && vala_src_prepare
        gnome2_src_prepare

Reply via email to