guix/gnu/packages/patches/libcyaml-libyaml-compat.patch
Marius Bakke 0caf236b3b
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.
2020-10-13 23:48:15 +02:00

51 lines
1.5 KiB
Diff

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);
}