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