evolution-data-server: 3.49.2 → 3.49.3

https://gitlab.gnome.org/GNOME/evolution-data-server/-/compare/3.49.2...3.49.3

libsecret-1 is in Requires.private instead of Requires, I am no longer propagating it.

2bd22706d8

Apply org.gnome.desktop.interface a non-optional because update script is not happy.
But the current solution is quite dirty, I imagine we will need to re-check usage of
e_reminder_watcher_load_settings_tentative on every bump now.

007eda01e2

Changelog-reviewed-by: Bobby Rong <rjl931189261@126.com>
Changelog-reviewed-by: Jan Tojnar <jtojnar@gmail.com>
This commit is contained in:
Bobby Rong 2023-09-12 01:45:49 +08:00 committed by Jan Tojnar
parent 3c033267d8
commit 4062d9400c
2 changed files with 40 additions and 16 deletions

View File

@ -1,6 +1,6 @@
{ stdenv
, lib
, fetchurl
, fetchzip
, substituteAll
, pkg-config
, gnome
@ -23,6 +23,7 @@
, gperf
, wrapGAppsHook
, glib-networking
, gsettings-desktop-schemas
, pcre
, vala
, cmake
@ -50,13 +51,20 @@
stdenv.mkDerivation rec {
pname = "evolution-data-server";
version = "3.49.2";
version = "3.49.3";
outputs = [ "out" "dev" ];
src = fetchurl {
src = fetchzip {
url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "qSpw64nbRPRt5Ss3avusRkzP5Q/xPz5frzx6VkAMf7Q=";
sha256 = "ZhvSPatxG/gjXqtKeFXEpZ4jA9psTKkhl9U9xTKb7hY=";
postFetch = ''
# Very dirty hack to make update script happy.
substituteInPlace $out/src/calendar/libecal/e-reminder-watcher.c \
--replace "settings = g_settings_new (schema_id)" "settings = NULL" \
--replace 'e_reminder_watcher_load_settings_tentative ("' 'g_settings_new ("'
'';
};
patches = [
@ -68,7 +76,8 @@ stdenv.mkDerivation rec {
prePatch = ''
substitute ${./hardcode-gsettings.patch} hardcode-gsettings.patch \
--subst-var-by EDS ${glib.makeSchemaPath "$out" "${pname}-${version}"}
--subst-var-by EDS ${glib.makeSchemaPath "$out" "${pname}-${version}"} \
--subst-var-by GDS ${glib.getSchemaPath gsettings-desktop-schemas}
patches="$patches $PWD/hardcode-gsettings.patch"
'';
@ -86,6 +95,7 @@ stdenv.mkDerivation rec {
buildInputs = [
glib
libsecret
libsoup_3
gnome-online-accounts
p11-kit
@ -116,7 +126,6 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [
db
libsecret
nss
nspr
libical
@ -158,7 +167,7 @@ stdenv.mkDerivation rec {
"org.gnome.evolution-data-server.addressbook" = "EDS";
"org.gnome.evolution-data-server.calendar" = "EDS";
"org.gnome.evolution-data-server" = "EDS";
"org.gnome.desktop.interface" = "GDS";
};
inherit src;
};

View File

@ -202,14 +202,15 @@ index 2525856..7ecc1a8 100644
g_clear_object (&settings);
}
diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c
index 5a08490..34c51f4 100644
index 2dbdd99..a6cf45c 100644
--- a/src/calendar/libecal/e-reminder-watcher.c
+++ b/src/calendar/libecal/e-reminder-watcher.c
@@ -2592,7 +2592,19 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
@@ -2646,8 +2646,33 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
watcher->priv = e_reminder_watcher_get_instance_private (watcher);
watcher->priv->cancellable = g_cancellable_new ();
- watcher->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
- watcher->priv->desktop_settings = g_settings_new ("org.gnome.desktop.interface");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
@ -223,9 +224,23 @@ index 5a08490..34c51f4 100644
+ watcher->priv->settings = g_settings_new_full(schema, NULL,
+ NULL);
+ }
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;
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@GDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.desktop.interface",
+ FALSE);
+ watcher->priv->desktop_settings = g_settings_new_full(schema,
+ NULL,
+ NULL);
+ }
if (watcher->priv->desktop_settings) {
g_signal_connect_object (
watcher->priv->desktop_settings,
diff --git a/src/calendar/libedata-cal/e-cal-meta-backend.c b/src/calendar/libedata-cal/e-cal-meta-backend.c
index 27fa153..3679d72 100644
--- a/src/calendar/libedata-cal/e-cal-meta-backend.c
@ -297,7 +312,7 @@ index bef9188..ce92f6c 100644
g_clear_object (&settings);
diff --git a/src/camel/camel-gpg-context.c b/src/camel/camel-gpg-context.c
index fd7ec52..338a73b 100644
index db5fc2e..162e00f 100644
--- a/src/camel/camel-gpg-context.c
+++ b/src/camel/camel-gpg-context.c
@@ -747,7 +747,18 @@ gpg_ctx_get_executable_name (void)
@ -346,10 +361,10 @@ index e61160c..b6553a4 100644
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 3180db6..ba3d679 100644
index ef34665..59f294b 100644
--- a/src/camel/providers/imapx/camel-imapx-server.c
+++ b/src/camel/providers/imapx/camel-imapx-server.c
@@ -5618,7 +5618,18 @@ camel_imapx_server_do_old_flags_update (CamelFolder *folder)
@@ -5627,7 +5627,18 @@ camel_imapx_server_do_old_flags_update (CamelFolder *folder)
if (do_old_flags_update) {
GSettings *eds_settings;
@ -490,7 +505,7 @@ index 3bb1071..199e822 100644
g_object_unref (settings);
diff --git a/src/libedataserver/e-oauth2-service.c b/src/libedataserver/e-oauth2-service.c
index 7eca355..795d822 100644
index 2364f3e..e8f59f2 100644
--- a/src/libedataserver/e-oauth2-service.c
+++ b/src/libedataserver/e-oauth2-service.c
@@ -94,7 +94,18 @@ eos_default_guess_can_process (EOAuth2Service *service,