aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/glib.scm3
-rw-r--r--gnu/packages/patches/glib-keyfile-arguments.patch20
3 files changed, 23 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 75cb7b62af..0a34b917ce 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -851,6 +851,7 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/giflib-make-reallocarray-private.patch \
+ %D%/packages/patches/glib-keyfile-arguments.patch \
%D%/packages/patches/glib-tests-timer.patch \
%D%/packages/patches/glibc-CVE-2015-5180.patch \
%D%/packages/patches/glibc-CVE-2015-7547.patch \
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 3d17bc768f..8f1b91e142 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -168,7 +168,8 @@ shared NFS home directories.")
(sha256
(base32
"0bk2l9mhvc44c0gfg442wrifwj2fci1w71dsp3nb50pffvsivpry"))
- (patches (search-patches "glib-tests-timer.patch"))
+ (patches (search-patches "glib-tests-timer.patch"
+ "glib-keyfile-arguments.patch"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/patches/glib-keyfile-arguments.patch b/gnu/packages/patches/glib-keyfile-arguments.patch
new file mode 100644
index 0000000000..8d428f4192
--- /dev/null
+++ b/gnu/packages/patches/glib-keyfile-arguments.patch
@@ -0,0 +1,20 @@
+Fix a problem with the keyfile backend whereby instantiating it with
+the default NULL value would cause an assertion error:
+
+https://gitlab.gnome.org/GNOME/glib/issues/1825
+
+This issue showed up when running the test suites of uhttpmock and spice.
+
+diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c
+--- a/gio/gkeyfilesettingsbackend.c
++++ b/gio/gkeyfilesettingsbackend.c
+@@ -740,7 +740,8 @@ g_keyfile_settings_backend_set_property (GObject *object,
+ case PROP_FILENAME:
+ /* Construct only. */
+ g_assert (kfsb->file == NULL);
+- kfsb->file = g_file_new_for_path (g_value_get_string (value));
++ if (g_value_get_string (value))
++ kfsb->file = g_file_new_for_path (g_value_get_string (value));
+ break;
+
+ case PROP_ROOT_PATH: