summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-07-12 16:50:14 +0200
committerMarius Bakke <mbakke@fastmail.com>2019-07-12 16:50:14 +0200
commitee46474d54a661e87cd501c3fde6e572b3423a60 (patch)
treedf92ae2a4707489d2494247eabf9efd402889933
parent60ccc1653a8ed040bbdfbc89f010614b0d9c4139 (diff)
downloadguix-ee46474d54a661e87cd501c3fde6e572b3423a60.tar.gz
gnu: glib: Fix argument handling in keyfile backend.
* gnu/packages/patches/glib-keyfile-arguments.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/glib.scm (glib)[source](patches): Add it.
-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: