gnu: rapidjson: Fix FTBFS with GCC 7.

* gnu/packages/patches/rapidjson-gcc-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/web.scm (rapidjson)[source](patches): New field.
master
Marius Bakke 2019-07-10 00:29:32 +02:00
parent 78affefecc
commit c1f4073ff5
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
3 changed files with 20 additions and 0 deletions

View File

@ -1240,6 +1240,7 @@ dist_patch_DATA = \
%D%/packages/patches/qtwebkit-pbutils-include.patch \
%D%/packages/patches/randomjungle-disable-static-build.patch \
%D%/packages/patches/rapicorn-isnan.patch \
%D%/packages/patches/rapidjson-gcc-compat.patch \
%D%/packages/patches/raptor2-heap-overflow.patch \
%D%/packages/patches/ratpoints-sturm_and_rp_private.patch \
%D%/packages/patches/ratpoison-shell.patch \

View File

@ -0,0 +1,18 @@
Disable -Werror=implicit-fallthrough on GCC7 and later. Taken from upstream:
https://github.com/Tencent/rapidjson/commit/fe19b7b6016d446722621fb407738209d1a911e8
https://github.com/Tencent/rapidjson/commit/cba45fe9de6923b858edb0780e257b7257aa4f7b
diff --git a/include/rapidjson/internal/regex.h b/include/rapidjson/internal/regex.h
index 422a5240..d4039716 100644
--- a/include/rapidjson/internal/regex.h
+++ b/include/rapidjson/internal/regex.h
@@ -29,6 +29,9 @@ RAPIDJSON_DIAG_OFF(implicit-fallthrough)
#ifdef __GNUC__
RAPIDJSON_DIAG_PUSH
RAPIDJSON_DIAG_OFF(effc++)
+#if __GNUC__ >= 7
+RAPIDJSON_DIAG_OFF(implicit-fallthrough)
+#endif
#endif
#ifdef _MSC_VER

View File

@ -761,6 +761,7 @@ current version of any major web browser.")
(sha256
(base32
"1jixgb8w97l9gdh3inihz7avz7i770gy2j2irvvlyrq3wi41f5ab"))
(patches (search-patches "rapidjson-gcc-compat.patch"))
(modules '((guix build utils)))
(snippet
'(begin