summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/gnome.scm3
-rw-r--r--gnu/packages/patches/evolution-data-server-libical-compat.patch36
3 files changed, 39 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 448e70aa38..af030781a5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -838,6 +838,7 @@ dist_patch_DATA = \
%D%/packages/patches/eudev-rules-directory.patch \
%D%/packages/patches/evilwm-lost-focus-bug.patch \
%D%/packages/patches/evolution-data-server-locales.patch \
+ %D%/packages/patches/evolution-data-server-libical-compat.patch \
%D%/packages/patches/exiv2-CVE-2017-14860.patch \
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
%D%/packages/patches/extundelete-e2fsprogs-1.44.patch \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index cadd4d0655..ba5181c756 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6256,7 +6256,8 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
- (patches (search-patches "evolution-data-server-locales.patch"))
+ (patches (search-patches "evolution-data-server-locales.patch"
+ "evolution-data-server-libical-compat.patch"))
(sha256
(base32
"0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3"))))
diff --git a/gnu/packages/patches/evolution-data-server-libical-compat.patch b/gnu/packages/patches/evolution-data-server-libical-compat.patch
new file mode 100644
index 0000000000..a988519ea0
--- /dev/null
+++ b/gnu/packages/patches/evolution-data-server-libical-compat.patch
@@ -0,0 +1,36 @@
+Prevent test failure and possible data loss due to API change in libical 3.0.7.
+
+https://gitlab.gnome.org/GNOME/evolution-data-server/issues/185
+https://lists.infradead.org/pipermail/libical-devel/2020-January/000907.html
+
+Adapted from upstream:
+
+https://gitlab.gnome.org/GNOME/evolution-data-server/commit/77384ab552c19bf374dbeda53dc37f98d07bd4ec
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -108,7 +108,7 @@
+
+ set(gcr_minimum_version 3.4)
+ set(libgdata_minimum_version 0.15.1)
+-set(libical_minimum_version 2.0)
++set(libical_minimum_version 3.0.7)
+ set(libsecret_minimum_version 0.5)
+ set(libxml_minimum_version 2.0.0)
+ set(sqlite_minimum_version 3.7.17)
+diff --git a/src/calendar/libedata-cal/e-cal-meta-backend.c b/src/calendar/libedata-cal/e-cal-meta-backend.c
+index 7501f2a43dcc3af91e93e89751caf76e77c2ac23..93f4806ba2c5193f746e9fae5bf74d08ad05f8bf 100644
+--- a/src/calendar/libedata-cal/e-cal-meta-backend.c
++++ b/src/calendar/libedata-cal/e-cal-meta-backend.c
+@@ -3958,9 +3958,8 @@
+ gchar *base64;
+
+ base64 = g_base64_encode ((const guchar *) content, len);
+- new_attach = icalattach_new_from_data (base64, NULL, NULL);
++ new_attach = icalattach_new_from_data (base64, (GFunc) g_free, NULL);
+ g_free (content);
+- g_free (base64);
+
+ ecmb_remove_all_but_filename_parameter (prop);
+