From 11f87d635ce73f7d69ed4b1bdca77df1a7406eb5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 12 Jan 2020 18:46:40 +0100 Subject: 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. --- gnu/local.mk | 1 + .../patches/jsoncpp-fix-inverted-case.patch | 22 ++++++++++++++++++++++ gnu/packages/serialization.scm | 1 + 3 files changed, 24 insertions(+) create mode 100644 gnu/packages/patches/jsoncpp-fix-inverted-case.patch diff --git a/gnu/local.mk b/gnu/local.mk index 33cf439870..aa61799f06 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/patches/jsoncpp-fix-inverted-case.patch b/gnu/packages/patches/jsoncpp-fix-inverted-case.patch new file mode 100644 index 0000000000..e4897de1b8 --- /dev/null +++ b/gnu/packages/patches/jsoncpp-fix-inverted-case.patch @@ -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(*cur) < 0x80) ++ if (*cur == '\\' || *cur == '\"' || ++ static_cast(*cur) < ' ' || ++ static_cast(*cur) >= 0x80) + return true; + } + return false; diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index cf80237f11..72cc70e3c4 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -290,6 +290,7 @@ that implements both the msgpack and msgpack-rpc specifications.") (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")))) -- cgit v1.2.3