gnu: jsoncpp: Fix test failure on armhf-linux and aarch64-linux.

* gnu/packages/patches/jsoncpp-fix-inverted-case.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/serialization.scm (jsoncpp)[source](patches): New field.
This commit is contained in:
Marius Bakke 2020-01-12 18:46:40 +01:00
parent 7dadffff8d
commit 11f87d635c
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
3 changed files with 24 additions and 0 deletions

View file

@ -1030,6 +1030,7 @@ dist_patch_DATA = \
%D%/packages/patches/jbig2dec-ignore-testtest.patch \
%D%/packages/patches/jfsutils-add-sysmacros.patch \
%D%/packages/patches/jfsutils-include-systypes.patch \
%D%/packages/patches/jsoncpp-fix-inverted-case.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/libnftnl-dont-check-NFTNL_FLOWTABLE_SIZE.patch \
%D%/packages/patches/libvirt-create-machine-cgroup.patch \

View file

@ -0,0 +1,22 @@
This patch fixes a bug and related test failure on platforms where 'char'
is unsigned.
Taken from upstream:
https://github.com/open-source-parsers/jsoncpp/commit/f11611c8785082ead760494cba06196f14a06dcb
diff --git a/src/lib_json/json_writer.cpp b/src/lib_json/json_writer.cpp
index 8e06cca2..56195dc1 100644
--- a/src/lib_json/json_writer.cpp
+++ b/src/lib_json/json_writer.cpp
@@ -178,8 +178,9 @@ static bool isAnyCharRequiredQuoting(char const* s, size_t n) {
char const* const end = s + n;
for (char const* cur = s; cur < end; ++cur) {
- if (*cur == '\\' || *cur == '\"' || *cur < ' ' ||
- static_cast<unsigned char>(*cur) < 0x80)
+ if (*cur == '\\' || *cur == '\"' ||
+ static_cast<unsigned char>(*cur) < ' ' ||
+ static_cast<unsigned char>(*cur) >= 0x80)
return true;
}
return false;

View file

@ -290,6 +290,7 @@ (define-public jsoncpp
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version))
(patches (search-patches "jsoncpp-fix-inverted-case.patch"))
(sha256
(base32
"037d1b1qdmn3rksmn1j71j26bv4hkjv7sn7da261k853xb5899sg"))))