commit:     10e8fa6ffe85fa59526797bc69bd3518ccb990ad
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 29 19:39:03 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=10e8fa6f

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

Also remove note about gnome-common need for eautoreconf - not the case
since 3.28 anymore.

Closes: 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.28.0-glib-2.58-compat.patch            | 327 +++++++++++++++++++++
 .../files/glib-2.58-compat2.patch                  |  31 ++
 .../gnome-online-accounts-3.28.0.ebuild            |   6 +-
 3 files changed, 363 insertions(+), 1 deletion(-)

diff --git a/net-libs/gnome-online-accounts/files/3.28.0-glib-2.58-compat.patch 
b/net-libs/gnome-online-accounts/files/3.28.0-glib-2.58-compat.patch
new file mode 100644
index 00000000000..1d9a25c1dfd
--- /dev/null
+++ b/net-libs/gnome-online-accounts/files/3.28.0-glib-2.58-compat.patch
@@ -0,0 +1,327 @@
+From 975625cd298d0088fe08189d4f77b10c96601917 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <eba...@gnome.org>
+Date: Thu, 19 Jul 2018 12:54:39 +0100
+Subject: [PATCH] Build against GLib 2.57.2
+
+---
+
+diff --git a/src/daemon/goadaemon.c b/src/daemon/goadaemon.c
+index bfc5f861..63088d2d 100644
+--- a/src/daemon/goadaemon.c
++++ b/src/daemon/goadaemon.c
+@@ -1232,7 +1232,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);
+@@ -1436,7 +1436,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 9f9ac8f6..28c7a0fb 100644
+--- a/src/daemon/main.c
++++ b/src/daemon/main.c
+@@ -136,8 +136,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 56628a52..7541339e 100644
+--- a/src/examples/introspect-providers.c
++++ b/src/examples/introspect-providers.c
+@@ -157,7 +157,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 027e72af..0c362a5d 100644
+--- a/src/goabackend/goadlnaservermanager.c
++++ b/src/goabackend/goadlnaservermanager.c
+@@ -171,7 +171,7 @@ goa_dlna_server_manager_dispose (GObject *object)
+ {
+   GoaDlnaServerManager *self = GOA_DLNA_SERVER_MANAGER (object);
+ 
+-  g_clear_pointer (&self->servers, (GDestroyNotify) g_hash_table_unref);
++  g_clear_pointer (&self->servers, g_hash_table_unref);
+   g_clear_object (&self->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 fb6a5ebf..6a1c779b 100644
+--- a/src/goabackend/goaexchangeprovider.c
++++ b/src/goabackend/goaexchangeprovider.c
+@@ -655,7 +655,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;
+@@ -805,7 +805,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 443a4796..811d48c9 100644
+--- a/src/goabackend/goaimapsmtpprovider.c
++++ b/src/goabackend/goaimapsmtpprovider.c
+@@ -405,7 +405,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;
+ }
+ 
+@@ -1132,7 +1132,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);
+@@ -1411,7 +1411,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 e58a5a2d..79a637b7 100644
+--- a/src/goabackend/goakerberosprovider.c
++++ b/src/goabackend/goakerberosprovider.c
+@@ -281,7 +281,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;
+ }
+ 
+@@ -1019,7 +1019,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);
+   g_clear_object (&request.cancellable);
+   return object;
+ }
+@@ -1062,8 +1062,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 8dab6d93..f4596187 100644
+--- a/src/goabackend/goalastfmprovider.c
++++ b/src/goabackend/goalastfmprovider.c
+@@ -751,7 +751,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;
+ }
+@@ -881,7 +881,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 58ea4aae..95b58f9e 100644
+--- a/src/goabackend/goamediaserverprovider.c
++++ b/src/goabackend/goamediaserverprovider.c
+@@ -474,7 +474,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 90926051..ef56d05b 100644
+--- a/src/goabackend/goaoauth2provider.c
++++ b/src/goabackend/goaoauth2provider.c
+@@ -1500,7 +1500,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 71bcad6b..006a92b5 100644
+--- a/src/goabackend/goaoauthprovider.c
++++ b/src/goabackend/goaoauthprovider.c
+@@ -941,7 +941,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);
+@@ -1111,7 +1111,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;
+ }
+ 
+@@ -1463,7 +1463,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 3c819861..65248dd3 100644
+--- a/src/goabackend/goaowncloudprovider.c
++++ b/src/goabackend/goaowncloudprovider.c
+@@ -235,7 +235,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;
+ }
+@@ -438,7 +438,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;
+@@ -793,7 +793,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;
+@@ -997,7 +997,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 8c01d10a..e562e8da 100644
+--- a/src/goabackend/goautils.c
++++ b/src/goabackend/goautils.c
+@@ -939,7 +939,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/files/glib-2.58-compat2.patch 
b/net-libs/gnome-online-accounts/files/glib-2.58-compat2.patch
new file mode 100644
index 00000000000..3e8b9c48018
--- /dev/null
+++ b/net-libs/gnome-online-accounts/files/glib-2.58-compat2.patch
@@ -0,0 +1,31 @@
+From acd3e026eda2d88c21e03188f447d9aa32bf1dc6 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <eba...@gnome.org>
+Date: Thu, 19 Jul 2018 13:56:46 +0100
+Subject: [PATCH] Remove additional unnecessary GDestroyNotify casts
+
+See https://gitlab.gnome.org/GNOME/gnome-online-accounts/merge_requests/8
+---
+
+diff --git a/src/goaidentity/goaidentityservice.c 
b/src/goaidentity/goaidentityservice.c
+index 89307c0e..50428392 100644
+--- a/src/goaidentity/goaidentityservice.c
++++ b/src/goaidentity/goaidentityservice.c
+@@ -685,12 +685,9 @@ goa_identity_service_finalize (GObject *object)
+ 
+   g_clear_object (&self->priv->identity_manager);
+   g_clear_object (&self->priv->object_manager_server);
+-  g_clear_pointer (&self->priv->watched_client_connections,
+-                   (GDestroyNotify) g_hash_table_unref);
+-  g_clear_pointer (&self->priv->key_holders,
+-                   (GDestroyNotify) g_hash_table_unref);
+-  g_clear_pointer (&self->priv->pending_temporary_account_results,
+-                   (GDestroyNotify) g_hash_table_unref);
++  g_clear_pointer (&self->priv->watched_client_connections, 
g_hash_table_unref);
++  g_clear_pointer (&self->priv->key_holders, g_hash_table_unref);
++  g_clear_pointer (&self->priv->pending_temporary_account_results, 
g_hash_table_unref);
+ 
+   G_OBJECT_CLASS (goa_identity_service_parent_class)->finalize (object);
+ }
+-- 
+2.17.0
+

diff --git a/net-libs/gnome-online-accounts/gnome-online-accounts-3.28.0.ebuild 
b/net-libs/gnome-online-accounts/gnome-online-accounts-3.28.0.ebuild
index 446ef8a8ea9..ab348f42c0f 100644
--- a/net-libs/gnome-online-accounts/gnome-online-accounts-3.28.0.ebuild
+++ b/net-libs/gnome-online-accounts/gnome-online-accounts-3.28.0.ebuild
@@ -54,11 +54,15 @@ DEPEND="${RDEPEND}
        dev-libs/gobject-introspection-common
        gnome-base/gnome-common
 "
-# eautoreconf needs gobject-introspection-common, gnome-common
 
 # 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