guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

19/25: gnu: libcyaml: Fix build with libyaml 0.2.5.


From: guix-commits
Subject: 19/25: gnu: libcyaml: Fix build with libyaml 0.2.5.
Date: Tue, 13 Oct 2020 17:50:13 -0400 (EDT)

mbakke pushed a commit to branch staging
in repository guix.

commit 0caf236b3b5c9b19ee8709865ae7df9c59e7fe9b
Author: Marius Bakke <marius@gnu.org>
AuthorDate: Sun Oct 11 16:44:00 2020 +0200

    gnu: libcyaml: Fix build with libyaml 0.2.5.
    
    * gnu/packages/patches/libcyaml-libyaml-compat.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Adjust accordingly.
    * gnu/packages/web.scm (libcyaml)[source](patches): New field.
---
 gnu/local.mk                                       |  1 +
 gnu/packages/patches/libcyaml-libyaml-compat.patch | 51 ++++++++++++++++++++++
 gnu/packages/web.scm                               |  1 +
 3 files changed, 53 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index 72144bb..396c0ad 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1230,6 +1230,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/libbonobo-activation-test-race.patch    \
   %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
   %D%/packages/patches/libcanberra-wayland-crash.patch \
+  %D%/packages/patches/libcyaml-libyaml-compat.patch           \
   %D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch         
\
   %D%/packages/patches/libgit2-mtime-0.patch                   \
   %D%/packages/patches/libgnome-encoding.patch                 \
diff --git a/gnu/packages/patches/libcyaml-libyaml-compat.patch 
b/gnu/packages/patches/libcyaml-libyaml-compat.patch
new file mode 100644
index 0000000..dcb8cb5
--- /dev/null
+++ b/gnu/packages/patches/libcyaml-libyaml-compat.patch
@@ -0,0 +1,51 @@
+Fix build against libyaml 0.2.5.
+
+Taken from upstream:
+https://github.com/tlsa/libcyaml/commit/0e947264b947f51f7ea785068637c4bfce5d4171
+
+diff --git a/test/units/save.c b/test/units/save.c
+--- a/test/units/save.c
++++ b/test/units/save.c
+@@ -3476,7 +3476,7 @@ static bool test_save_sequence_null_values_int(
+               ttest_report_ctx_t *report,
+               const cyaml_config_t *config)
+ {
+-      static const unsigned char ref[] =
++      static const unsigned char ref1[] =
+               "---\n"
+               "- 7\n"
+               "- 6\n"
+@@ -3487,6 +3487,18 @@ static bool test_save_sequence_null_values_int(
+               "- \n"
+               "- 0\n"
+               "...\n";
++      /* As of libyaml 0.2.5, trailing spaces are not emitted. */
++      static const unsigned char ref2[] =
++              "---\n"
++              "- 7\n"
++              "- 6\n"
++              "- 5\n"
++              "-\n"
++              "- 3\n"
++              "- 2\n"
++              "-\n"
++              "- 0\n"
++              "...\n";
+       static const int d[] = { 7, 6, 5, 4, 3, 2, 1, 0 };
+       static const int *data[] = { d + 0, d + 1, d + 2, NULL,
+                                    d + 4, d + 5, NULL, d + 7, };
+@@ -3515,11 +3527,12 @@ static bool test_save_sequence_null_values_int(
+               return ttest_fail(&tc, cyaml_strerror(err));
+       }
+ 
+-      if (len != YAML_LEN(ref) || memcmp(ref, buffer, len) != 0) {
++      if ((len != YAML_LEN(ref1) || memcmp(ref1, buffer, len) != 0) &&
++          (len != YAML_LEN(ref2) || memcmp(ref2, buffer, len) != 0)) {
+               return ttest_fail(&tc, "Bad data:\n"
+                               "EXPECTED (%zu):\n\n%.*s\n\n"
+                               "GOT (%zu):\n\n%.*s\n",
+-                              YAML_LEN(ref), YAML_LEN(ref), ref,
++                              YAML_LEN(ref1), YAML_LEN(ref1), ref1,
+                               len, len, buffer);
+       }
+ 
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index ced6dc2..0229a8c 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5081,6 +5081,7 @@ written in C.  It is developed as part of the NetSurf 
project.")
              (url "https://github.com/tlsa/libcyaml";)
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
+       (patches (search-patches "libcyaml-yaml-compat.patch"))
        (sha256
         (base32 "0428p0rwq71nhh5nzcbapsbrjxa0x5l6h6ns32nxv7j624f0zd93"))))
     (build-system gnu-build-system)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]