Build against WebKitGTK 2.39.6
This commit is contained in:
parent
c4ed311957
commit
f8dcb8b74b
@ -58,7 +58,7 @@
|
|||||||
|
|
||||||
Name: evolution-data-server
|
Name: evolution-data-server
|
||||||
Version: 3.47.1
|
Version: 3.47.1
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: Backend data server for Evolution
|
Summary: Backend data server for Evolution
|
||||||
License: LGPL-2.0-or-later
|
License: LGPL-2.0-or-later
|
||||||
URL: https://wiki.gnome.org/Apps/Evolution
|
URL: https://wiki.gnome.org/Apps/Evolution
|
||||||
@ -66,6 +66,8 @@ Source: http://download.gnome.org/sources/%{name}/3.47/%{name}-%{version}.tar.xz
|
|||||||
|
|
||||||
# https://gitlab.gnome.org/GNOME/evolution-data-server/-/merge_requests/112
|
# https://gitlab.gnome.org/GNOME/evolution-data-server/-/merge_requests/112
|
||||||
Patch0: webkitgtk-2.39.5.patch
|
Patch0: webkitgtk-2.39.5.patch
|
||||||
|
# https://gitlab.gnome.org/GNOME/evolution-data-server/-/merge_requests/114
|
||||||
|
Patch1: webkitgtk-2.39.6.patch
|
||||||
|
|
||||||
Provides: evolution-webcal = %{version}
|
Provides: evolution-webcal = %{version}
|
||||||
Obsoletes: evolution-webcal < 2.24.0
|
Obsoletes: evolution-webcal < 2.24.0
|
||||||
@ -491,6 +493,9 @@ find $RPM_BUILD_ROOT -name '*.so.*' -exec chmod +x {} \;
|
|||||||
%{_datadir}/installed-tests
|
%{_datadir}/installed-tests
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Feb 01 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 3.47.1-4
|
||||||
|
- Build against WebKitGTK 2.39.6
|
||||||
|
|
||||||
* Fri Jan 20 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 3.47.1-3
|
* Fri Jan 20 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 3.47.1-3
|
||||||
- Build against WebKitGTK 2.39.5
|
- Build against WebKitGTK 2.39.5
|
||||||
|
|
||||||
|
148
webkitgtk-2.39.6.patch
Normal file
148
webkitgtk-2.39.6.patch
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
From 816deda308279c3e5a8a816ae2d94542c9084555 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||||
|
Date: Wed, 1 Feb 2023 13:36:21 -0600
|
||||||
|
Subject: [PATCH 1/2] M!114 - OAuth2: stop trying to disable WebKit plugins
|
||||||
|
|
||||||
|
WebKitGTK removed support for plugins in 2.32, but evolution-data-server
|
||||||
|
already requires 2.34 at least. This property is gone in 2.39.5.
|
||||||
|
---
|
||||||
|
src/libedataserverui/e-credentials-prompter-impl-oauth2.c | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/libedataserverui/e-credentials-prompter-impl-oauth2.c b/src/libedataserverui/e-credentials-prompter-impl-oauth2.c
|
||||||
|
index 7e116fc7f..7a1f40e10 100644
|
||||||
|
--- a/src/libedataserverui/e-credentials-prompter-impl-oauth2.c
|
||||||
|
+++ b/src/libedataserverui/e-credentials-prompter-impl-oauth2.c
|
||||||
|
@@ -1205,7 +1205,6 @@ e_credentials_prompter_impl_oauth2_show_dialog (ECredentialsPrompterImplOAuth2 *
|
||||||
|
"enable-html5-local-storage", FALSE,
|
||||||
|
"enable-offline-web-application-cache", FALSE,
|
||||||
|
"enable-page-cache", FALSE,
|
||||||
|
- "enable-plugins", FALSE,
|
||||||
|
"media-playback-allows-inline", FALSE,
|
||||||
|
"hardware-acceleration-policy", WEBKIT_HARDWARE_ACCELERATION_POLICY_NEVER,
|
||||||
|
NULL);
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
||||||
|
|
||||||
|
From 02703b28d798931afccebf79c842b54625a8dcd0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Catanzaro <mcatanzaro@redhat.com>
|
||||||
|
Date: Wed, 1 Feb 2023 13:46:15 -0600
|
||||||
|
Subject: [PATCH 2/2] M!114 - OAuth2: use WebKitNetworkSession to manage proxy
|
||||||
|
settings
|
||||||
|
|
||||||
|
With WebKitGTK 2.39.6, network proxy settings moved from
|
||||||
|
WebKitWebsiteDataManager to WebKitNetworkSession.
|
||||||
|
---
|
||||||
|
.../e-credentials-prompter-impl-oauth2.c | 40 +++++++++++++++++--
|
||||||
|
1 file changed, 36 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/libedataserverui/e-credentials-prompter-impl-oauth2.c b/src/libedataserverui/e-credentials-prompter-impl-oauth2.c
|
||||||
|
index 7a1f40e10..9a3918b61 100644
|
||||||
|
--- a/src/libedataserverui/e-credentials-prompter-impl-oauth2.c
|
||||||
|
+++ b/src/libedataserverui/e-credentials-prompter-impl-oauth2.c
|
||||||
|
@@ -679,7 +679,12 @@ credentials_prompter_impl_oauth2_sanitize_host (gchar *host)
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
-credentials_prompter_impl_oauth2_set_proxy (WebKitWebContext *web_context,
|
||||||
|
+credentials_prompter_impl_oauth2_set_proxy (
|
||||||
|
+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6)
|
||||||
|
+ WebKitNetworkSession *network_session,
|
||||||
|
+#else
|
||||||
|
+ WebKitWebsiteDataManager *data_manager,
|
||||||
|
+#endif
|
||||||
|
ESourceRegistry *registry,
|
||||||
|
ESource *auth_source)
|
||||||
|
{
|
||||||
|
@@ -704,7 +709,6 @@ credentials_prompter_impl_oauth2_set_proxy (WebKitWebContext *web_context,
|
||||||
|
|
||||||
|
if (proxy_source && e_source_has_extension (proxy_source, E_SOURCE_EXTENSION_PROXY)) {
|
||||||
|
ESourceProxy *proxy;
|
||||||
|
- WebKitWebsiteDataManager *data_manager;
|
||||||
|
WebKitNetworkProxySettings *proxy_settings = NULL;
|
||||||
|
GUri *guri;
|
||||||
|
gchar **ignore_hosts = NULL;
|
||||||
|
@@ -712,11 +716,14 @@ credentials_prompter_impl_oauth2_set_proxy (WebKitWebContext *web_context,
|
||||||
|
guint16 port;
|
||||||
|
|
||||||
|
proxy = e_source_get_extension (proxy_source, E_SOURCE_EXTENSION_PROXY);
|
||||||
|
- data_manager = webkit_web_context_get_website_data_manager (web_context);
|
||||||
|
|
||||||
|
switch (e_source_proxy_get_method (proxy)) {
|
||||||
|
case E_PROXY_METHOD_DEFAULT:
|
||||||
|
+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6)
|
||||||
|
+ webkit_network_session_set_proxy_settings (network_session, WEBKIT_NETWORK_PROXY_MODE_DEFAULT, NULL);
|
||||||
|
+#else
|
||||||
|
webkit_website_data_manager_set_network_proxy_settings (data_manager, WEBKIT_NETWORK_PROXY_MODE_DEFAULT, NULL);
|
||||||
|
+#endif
|
||||||
|
break;
|
||||||
|
case E_PROXY_METHOD_MANUAL:
|
||||||
|
ignore_hosts = e_source_proxy_dup_ignore_hosts (proxy);
|
||||||
|
@@ -770,13 +777,21 @@ credentials_prompter_impl_oauth2_set_proxy (WebKitWebContext *web_context,
|
||||||
|
}
|
||||||
|
g_free (tmp);
|
||||||
|
|
||||||
|
+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6)
|
||||||
|
+ webkit_network_session_set_proxy_settings (network_session, WEBKIT_NETWORK_PROXY_MODE_CUSTOM, proxy_settings);
|
||||||
|
+#else
|
||||||
|
webkit_website_data_manager_set_network_proxy_settings (data_manager, WEBKIT_NETWORK_PROXY_MODE_CUSTOM, proxy_settings);
|
||||||
|
+#endif
|
||||||
|
break;
|
||||||
|
case E_PROXY_METHOD_AUTO:
|
||||||
|
/* not supported by WebKitGTK */
|
||||||
|
break;
|
||||||
|
case E_PROXY_METHOD_NONE:
|
||||||
|
+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6)
|
||||||
|
+ webkit_network_session_set_proxy_settings (network_session, WEBKIT_NETWORK_PROXY_MODE_NO_PROXY, proxy_settings);
|
||||||
|
+#else
|
||||||
|
webkit_website_data_manager_set_network_proxy_settings (data_manager, WEBKIT_NETWORK_PROXY_MODE_NO_PROXY, NULL);
|
||||||
|
+#endif
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -899,6 +914,11 @@ e_credentials_prompter_impl_oauth2_show_dialog (ECredentialsPrompterImplOAuth2 *
|
||||||
|
GtkWidget *progress_bar;
|
||||||
|
WebKitSettings *webkit_settings;
|
||||||
|
WebKitWebContext *web_context;
|
||||||
|
+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6)
|
||||||
|
+ WebKitNetworkSession *network_session;
|
||||||
|
+#else
|
||||||
|
+ WebKitWebsiteDataManager *data_manager;
|
||||||
|
+#endif
|
||||||
|
#endif /* WITH_WEBKITGTK */
|
||||||
|
gchar *title, *uri;
|
||||||
|
GString *info_markup;
|
||||||
|
@@ -1213,9 +1233,18 @@ e_credentials_prompter_impl_oauth2_show_dialog (ECredentialsPrompterImplOAuth2 *
|
||||||
|
#if !GTK_CHECK_VERSION(4, 0, 0) || !WEBKIT_CHECK_VERSION(2, 39, 5)
|
||||||
|
webkit_web_context_set_sandbox_enabled (web_context, TRUE);
|
||||||
|
#endif
|
||||||
|
- credentials_prompter_impl_oauth2_set_proxy (web_context, e_credentials_prompter_get_registry (prompter), prompter_oauth2->priv->auth_source);
|
||||||
|
+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6)
|
||||||
|
+ network_session = webkit_network_session_new (NULL, NULL);
|
||||||
|
+ credentials_prompter_impl_oauth2_set_proxy (network_session, e_credentials_prompter_get_registry (prompter), prompter_oauth2->priv->auth_source);
|
||||||
|
+#else
|
||||||
|
+ data_manager = webkit_web_context_get_website_data_manager (web_context);
|
||||||
|
+ credentials_prompter_impl_oauth2_set_proxy (data_manager, e_credentials_prompter_get_registry (prompter), prompter_oauth2->priv->auth_source);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
widget = g_object_new (WEBKIT_TYPE_WEB_VIEW,
|
||||||
|
+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6)
|
||||||
|
+ "network-session", network_session,
|
||||||
|
+#endif
|
||||||
|
"settings", webkit_settings,
|
||||||
|
"web-context", web_context,
|
||||||
|
NULL);
|
||||||
|
@@ -1231,6 +1260,9 @@ e_credentials_prompter_impl_oauth2_show_dialog (ECredentialsPrompterImplOAuth2 *
|
||||||
|
gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (scrolled_window), widget);
|
||||||
|
#else
|
||||||
|
gtk_container_add (GTK_CONTAINER (scrolled_window), widget);
|
||||||
|
+#endif
|
||||||
|
+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6)
|
||||||
|
+ g_object_unref (network_session);
|
||||||
|
#endif
|
||||||
|
g_object_unref (webkit_settings);
|
||||||
|
g_object_unref (web_context);
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
Loading…
Reference in New Issue
Block a user