From 50dcee64165b3b6df19ab6146172b1179bba5fb5 Mon Sep 17 00:00:00 2001 From: Mart Raudsepp Date: Sat, 29 Dec 2018 21:59:27 +0200 Subject: 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 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(+) create mode 100644 net-libs/gnome-online-accounts/files/3.24.5-glib-2.58-compat.patch (limited to 'net-libs/gnome-online-accounts') 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 000000000000..3964d15b86a8 --- /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 +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 60812b5c5994..a2e0d1afb70a 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 -- cgit v1.2.3-65-gdbad