evolution-data-server: 3.44.4 → 3.45.1

https://gitlab.gnome.org/GNOME/evolution-data-server/-/compare/3.44.4...3.45.1

Changelog-Reviewed-By: Jan Tojnar <jtojnar@gmail.com>

Add a variant with libedataserverui-gtk4.
This commit is contained in:
Jan Tojnar
2022-10-11 18:52:08 +02:00
parent 634ece114a
commit 753784ec26
4 changed files with 114 additions and 73 deletions
@@ -11,14 +11,14 @@
, python3
, gobject-introspection
, gettext
, libsoup
, libsoup_3
, libxml2
, libsecret
, icu
, sqlite
, tzdata
, libcanberra-gtk3
, gcr
, gcr_4
, p11-kit
, db
, nspr
@@ -33,29 +33,32 @@
, ninja
, libkrb5
, openldap
, webkitgtk
, webkitgtk_4_1
, webkitgtk_5_0
, libaccounts-glib
, json-glib
, glib
, gtk3
, gtk4
, withGtk3 ? true
, withGtk4 ? false
, libphonenumber
, gnome-online-accounts
, libgweather
, libgdata
, gsettings-desktop-schemas
, boost
, protobuf
}:
stdenv.mkDerivation rec {
pname = "evolution-data-server";
version = "3.44.4";
version = "3.45.1";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "wMZliDjVi6RgQqS55Qo7sRKWkeTNuEteugvzMLLMsus=";
sha256 = "M0t2QR8hDzcEYDsSpCwU/DKY+hL/6abk+/uYeeP+SyI=";
};
patches = [
@@ -67,8 +70,7 @@ stdenv.mkDerivation rec {
prePatch = ''
substitute ${./hardcode-gsettings.patch} hardcode-gsettings.patch \
--subst-var-by EDS_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} \
--subst-var-by GDS_GSETTINGS_PATH ${glib.getSchemaPath gsettings-desktop-schemas}
--subst-var-by EDS_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"}
patches="$patches $PWD/hardcode-gsettings.patch"
'';
@@ -86,11 +88,9 @@ stdenv.mkDerivation rec {
buildInputs = [
glib
libsoup
libxml2
gtk3
libsoup_3
gnome-online-accounts
gcr
gcr_4
p11-kit
libgweather
libgdata
@@ -100,13 +100,18 @@ stdenv.mkDerivation rec {
sqlite
libkrb5
openldap
webkitgtk
glib-networking
libcanberra-gtk3
pcre
libphonenumber
boost
protobuf
] ++ lib.optionals withGtk3 [
gtk3
webkitgtk_4_1
] ++ lib.optionals withGtk4 [
gtk4
webkitgtk_5_0
];
propagatedBuildInputs = [
@@ -116,7 +121,8 @@ stdenv.mkDerivation rec {
nspr
libical
libgdata # needed for GObject inspection, https://gitlab.gnome.org/GNOME/evolution-data-server/-/merge_requests/57/diffs
libsoup
libsoup_3
libxml2
];
cmakeFlags = [
@@ -125,7 +131,10 @@ stdenv.mkDerivation rec {
"-DENABLE_INTROSPECTION=ON"
"-DINCLUDE_INSTALL_DIR=${placeholder "dev"}/include"
"-DWITH_PHONENUMBER=ON"
"-DWITH_GWEATHER4=ON"
"-DENABLE_GTK=${lib.boolToString withGtk3}"
"-DENABLE_EXAMPLES=${lib.boolToString withGtk3}"
"-DENABLE_CANBERRA=${lib.boolToString withGtk3}"
"-DENABLE_GTK4=${lib.boolToString withGtk4}"
];
passthru = {
@@ -24,7 +24,6 @@ e_s_d_schema_constants = [
]
g_d_s_schema_constants = [
"\"org.gnome.system.proxy\"",
]
def get_schema_directory(schema_path):
@@ -127,8 +127,32 @@ index 8dfff6d..cd88392 100644
uid = g_settings_get_string (settings, SELF_UID_KEY);
g_object_unref (settings);
diff --git a/src/addressbook/libedata-book/e-book-meta-backend.c b/src/addressbook/libedata-book/e-book-meta-backend.c
index d3f130e..9e8edd4 100644
--- a/src/addressbook/libedata-book/e-book-meta-backend.c
+++ b/src/addressbook/libedata-book/e-book-meta-backend.c
@@ -135,7 +135,18 @@ ebmb_is_power_saver_enabled (void)
GSettings *settings;
gboolean enabled = FALSE;
- settings = g_settings_new ("org.gnome.evolution-data-server");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution-data-server",
+ FALSE);
+ settings = g_settings_new_full(schema, NULL, NULL);
+ }
if (g_settings_get_boolean (settings, "limit-operations-in-power-saver-mode")) {
GPowerProfileMonitor *power_monitor;
diff --git a/src/calendar/backends/contacts/e-cal-backend-contacts.c b/src/calendar/backends/contacts/e-cal-backend-contacts.c
index e696861..52af238 100644
index 42f3457..faac410 100644
--- a/src/calendar/backends/contacts/e-cal-backend-contacts.c
+++ b/src/calendar/backends/contacts/e-cal-backend-contacts.c
@@ -1387,7 +1387,18 @@ e_cal_backend_contacts_init (ECalBackendContacts *cbc)
@@ -152,10 +176,10 @@ index e696861..52af238 100644
cbc->priv->update_alarms_id = 0;
cbc->priv->alarm_enabled = FALSE;
diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c
index a24ede2..5d2a032 100644
index 52095a4..e839991 100644
--- a/src/calendar/libecal/e-reminder-watcher.c
+++ b/src/calendar/libecal/e-reminder-watcher.c
@@ -2477,7 +2477,19 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
@@ -2555,7 +2555,19 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
watcher->priv = e_reminder_watcher_get_instance_private (watcher);
watcher->priv->cancellable = g_cancellable_new ();
@@ -176,6 +200,30 @@ index a24ede2..5d2a032 100644
watcher->priv->scheduled = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, e_reminder_watcher_free_rd_slist);
watcher->priv->default_zone = e_cal_util_copy_timezone (zone);
watcher->priv->timers_enabled = TRUE;
diff --git a/src/calendar/libedata-cal/e-cal-meta-backend.c b/src/calendar/libedata-cal/e-cal-meta-backend.c
index 94a875f..1f914a9 100644
--- a/src/calendar/libedata-cal/e-cal-meta-backend.c
+++ b/src/calendar/libedata-cal/e-cal-meta-backend.c
@@ -149,7 +149,18 @@ ecmb_is_power_saver_enabled (void)
GSettings *settings;
gboolean enabled = FALSE;
- settings = g_settings_new ("org.gnome.evolution-data-server");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution-data-server",
+ FALSE);
+ settings = g_settings_new_full(schema, NULL, NULL);
+ }
if (g_settings_get_boolean (settings, "limit-operations-in-power-saver-mode")) {
GPowerProfileMonitor *power_monitor;
diff --git a/src/camel/camel-cipher-context.c b/src/camel/camel-cipher-context.c
index 8013ba7..ba74769 100644
--- a/src/camel/camel-cipher-context.c
@@ -201,10 +249,10 @@ index 8013ba7..ba74769 100644
g_clear_object (&settings);
diff --git a/src/camel/camel-gpg-context.c b/src/camel/camel-gpg-context.c
index 685d3ab..521d91f 100644
index 205372e..2023704 100644
--- a/src/camel/camel-gpg-context.c
+++ b/src/camel/camel-gpg-context.c
@@ -571,7 +571,18 @@ gpg_ctx_get_executable_name (void)
@@ -582,7 +582,18 @@ gpg_ctx_get_executable_name (void)
GSettings *settings;
gchar *path;
@@ -249,6 +297,30 @@ index e61160c..d17871a 100644
g_signal_connect (mi_user_headers_settings, "changed::camel-message-info-user-headers",
G_CALLBACK (mi_user_headers_settings_changed_cb), NULL);
G_UNLOCK (mi_user_headers);
diff --git a/src/camel/providers/imapx/camel-imapx-server.c b/src/camel/providers/imapx/camel-imapx-server.c
index 1eeff8d..6d1d58b 100644
--- a/src/camel/providers/imapx/camel-imapx-server.c
+++ b/src/camel/providers/imapx/camel-imapx-server.c
@@ -5573,7 +5573,18 @@ camel_imapx_server_skip_old_flags_update (CamelStore *store)
if (!skip_old_flags_update) {
GSettings *eds_settings;
- eds_settings = g_settings_new ("org.gnome.evolution-data-server");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution-data-server",
+ FALSE);
+ eds_settings = g_settings_new_full(schema, NULL, NULL);
+ }
if (g_settings_get_boolean (eds_settings, "limit-operations-in-power-saver-mode")) {
GPowerProfileMonitor *power_monitor;
diff --git a/src/camel/providers/smtp/camel-smtp-transport.c b/src/camel/providers/smtp/camel-smtp-transport.c
index f535ad6..30130b9 100644
--- a/src/camel/providers/smtp/camel-smtp-transport.c
@@ -298,10 +370,10 @@ index 188f276..7c4db94 100644
settings, "network-monitor-gio-name",
object, "gio-name",
diff --git a/src/libedataserver/e-oauth2-service-google.c b/src/libedataserver/e-oauth2-service-google.c
index f9d9056..115d344 100644
index f215388..3b67126 100644
--- a/src/libedataserver/e-oauth2-service-google.c
+++ b/src/libedataserver/e-oauth2-service-google.c
@@ -70,7 +70,18 @@ eos_google_read_settings (EOAuth2Service *service,
@@ -71,7 +71,18 @@ eos_google_read_settings (EOAuth2Service *service,
if (!value) {
GSettings *settings;
@@ -322,10 +394,10 @@ index f9d9056..115d344 100644
g_object_unref (settings);
diff --git a/src/libedataserver/e-oauth2-service-outlook.c b/src/libedataserver/e-oauth2-service-outlook.c
index 687c10d..ac1deae 100644
index 9cff0d0..fd95f0b 100644
--- a/src/libedataserver/e-oauth2-service-outlook.c
+++ b/src/libedataserver/e-oauth2-service-outlook.c
@@ -70,7 +70,18 @@ eos_outlook_read_settings (EOAuth2Service *service,
@@ -71,7 +71,18 @@ eos_outlook_read_settings (EOAuth2Service *service,
if (!value) {
GSettings *settings;
@@ -346,10 +418,10 @@ index 687c10d..ac1deae 100644
g_object_unref (settings);
diff --git a/src/libedataserver/e-oauth2-service-yahoo.c b/src/libedataserver/e-oauth2-service-yahoo.c
index 329a38c..f541393 100644
index 8e4ee81..bb8f8f7 100644
--- a/src/libedataserver/e-oauth2-service-yahoo.c
+++ b/src/libedataserver/e-oauth2-service-yahoo.c
@@ -66,7 +66,18 @@ eos_yahoo_read_settings (EOAuth2Service *service,
@@ -67,7 +67,18 @@ eos_yahoo_read_settings (EOAuth2Service *service,
if (!value) {
GSettings *settings;
@@ -370,10 +442,10 @@ index 329a38c..f541393 100644
g_object_unref (settings);
diff --git a/src/libedataserver/e-oauth2-service.c b/src/libedataserver/e-oauth2-service.c
index 979095b..ecac6bb 100644
index 290534d..36331b6 100644
--- a/src/libedataserver/e-oauth2-service.c
+++ b/src/libedataserver/e-oauth2-service.c
@@ -89,7 +89,18 @@ eos_default_guess_can_process (EOAuth2Service *service,
@@ -90,7 +90,18 @@ eos_default_guess_can_process (EOAuth2Service *service,
name_len = strlen (name);
hostname_len = strlen (hostname);
@@ -393,51 +465,11 @@ index 979095b..ecac6bb 100644
values = g_settings_get_strv (settings, "oauth2-services-hint");
g_object_unref (settings);
diff --git a/src/libedataserver/e-proxy.c b/src/libedataserver/e-proxy.c
index bcd07f9..17db26c 100644
--- a/src/libedataserver/e-proxy.c
+++ b/src/libedataserver/e-proxy.c
@@ -957,8 +957,33 @@ e_proxy_init (EProxy *proxy)
proxy->priv->type = PROXY_TYPE_SYSTEM;
- proxy->priv->evolution_proxy_settings = g_settings_new ("org.gnome.evolution.shell.network-config");
- proxy->priv->proxy_settings = g_settings_new ("org.gnome.system.proxy");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution.shell.network-config",
+ FALSE);
+ proxy->priv->evolution_proxy_settings = g_settings_new_full(schema,
+ NULL,
+ NULL);
+ }
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@GDS_GSETTINGS_PATH@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.system.proxy",
+ FALSE);
+ proxy->priv->proxy_settings = g_settings_new_full(schema,
+ NULL, NULL);
+ }
proxy->priv->proxy_http_settings = g_settings_get_child (proxy->priv->proxy_settings, "http");
proxy->priv->proxy_https_settings = g_settings_get_child (proxy->priv->proxy_settings, "https");
proxy->priv->proxy_socks_settings = g_settings_get_child (proxy->priv->proxy_settings, "socks");
diff --git a/src/libedataserver/e-source-registry.c b/src/libedataserver/e-source-registry.c
index 837e940..4bbd00d 100644
index 6701a3a..6b8ee33 100644
--- a/src/libedataserver/e-source-registry.c
+++ b/src/libedataserver/e-source-registry.c
@@ -1769,7 +1769,19 @@ e_source_registry_init (ESourceRegistry *registry)
@@ -1764,7 +1764,19 @@ e_source_registry_init (ESourceRegistry *registry)
g_mutex_init (&registry->priv->sources_lock);
@@ -459,10 +491,10 @@ index 837e940..4bbd00d 100644
g_signal_connect (
registry->priv->settings, "changed",
diff --git a/src/libedataserverui/e-reminders-widget.c b/src/libedataserverui/e-reminders-widget.c
index d18474d..418ccc2 100644
index c0c1aea..14e6806 100644
--- a/src/libedataserverui/e-reminders-widget.c
+++ b/src/libedataserverui/e-reminders-widget.c
@@ -1874,7 +1874,19 @@ static void
@@ -1956,7 +1956,19 @@ static void
e_reminders_widget_init (ERemindersWidget *reminders)
{
reminders->priv = e_reminders_widget_get_instance_private (reminders);
+1
View File
@@ -27850,6 +27850,7 @@ with pkgs;
inherit (gnome) evince;
evolution-data-server = gnome.evolution-data-server;
evolution-data-server-gtk4 = evolution-data-server.override { withGtk3 = false; withGtk4 = true; };
evolution-ews = callPackage ../applications/networking/mailreaders/evolution/evolution-ews { };
evolution = callPackage ../applications/networking/mailreaders/evolution/evolution { };
evolutionWithPlugins = callPackage ../applications/networking/mailreaders/evolution/evolution/wrapper.nix { plugins = [ evolution evolution-ews ]; };