summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2023-04-26 22:09:06 +0200
committerRicardo Wurmus <rekado@elephly.net>2023-04-26 22:09:06 +0200
commit00cf71df8046b809beefd3d9fd290777eb2e512e (patch)
tree274e7a179d0704cf7d8e25b7bbc4e33e5424a1ec
parentabda97b6458bc5d7a5cf2c5916f97377598e8075 (diff)
downloadguix-00cf71df8046b809beefd3d9fd290777eb2e512e.tar.gz
gnu: rapidjson: Update to 1.1.0-1.949c771.
* gnu/packages/patches/rapidjson-gcc-compat.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
* gnu/packages/web.scm (rapidjson): Update to 1.1.0-1.949c771.
[source]: Remove obsolete patch.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/rapidjson-gcc-compat.patch66
-rw-r--r--gnu/packages/web.scm66
3 files changed, 34 insertions, 99 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 6ba3c2a422..c0a5c721fc 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1827,7 +1827,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/ragel-char-signedness.patch		\
   %D%/packages/patches/randomjungle-disable-static-build.patch	\
   %D%/packages/patches/range-v3-build-with-gcc10.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			\
diff --git a/gnu/packages/patches/rapidjson-gcc-compat.patch b/gnu/packages/patches/rapidjson-gcc-compat.patch
deleted file mode 100644
index 8bfdb075d9..0000000000
--- a/gnu/packages/patches/rapidjson-gcc-compat.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-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
-
-Cast destination pointers to avoid a GCC error about memmove writing to
-a different type.
-
-Adapted from this upstream commit:
-https://github.com/Tencent/rapidjson/commit/fa5963a2f5b231ee2babff771f169ccca22870ed
-
-diff --git a/include/rapidjson/document.h b/include/rapidjson/document.h
---- a/include/rapidjson/document.h
-+++ b/include/rapidjson/document.h
-@@ -1425,7 +1425,7 @@ public:
-         MemberIterator pos = MemberBegin() + (first - MemberBegin());
-         for (MemberIterator itr = pos; itr != last; ++itr)
-             itr->~Member();
--        std::memmove(&*pos, &*last, static_cast<size_t>(MemberEnd() - last) * sizeof(Member));
-+        std::memmove(static_cast<void*>(&*pos), &*last, static_cast<size_t>(MemberEnd() - last) * sizeof(Member));
-         data_.o.size -= static_cast<SizeType>(last - first);
-         return pos;
-     }
-@@ -1628,8 +1628,8 @@ public:
-         RAPIDJSON_ASSERT(last <= End());
-         ValueIterator pos = Begin() + (first - Begin());
-         for (ValueIterator itr = pos; itr != last; ++itr)
--            itr->~GenericValue();       
--        std::memmove(pos, last, static_cast<size_t>(End() - last) * sizeof(GenericValue));
-+            itr->~GenericValue();
-+        std::memmove(static_cast<void*>(pos), last, static_cast<size_t>(End() - last) * sizeof(GenericValue));
-         data_.a.size -= static_cast<SizeType>(last - first);
-         return pos;
-     }
-@@ -1936,7 +1936,7 @@ private:
-         if (count) {
-             GenericValue* e = static_cast<GenericValue*>(allocator.Malloc(count * sizeof(GenericValue)));
-             SetElementsPointer(e);
--            std::memcpy(e, values, count * sizeof(GenericValue));
-+            std::memcpy(static_cast<void*>(e), values, count * sizeof(GenericValue));
-         }
-         else
-             SetElementsPointer(0);
-@@ -1949,7 +1949,7 @@ private:
-         if (count) {
-             Member* m = static_cast<Member*>(allocator.Malloc(count * sizeof(Member)));
-             SetMembersPointer(m);
--            std::memcpy(m, members, count * sizeof(Member));
-+            std::memcpy(static_cast<void*>(m), members, count * sizeof(Member));
-         }
-         else
-             SetMembersPointer(0);
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 7027fbad08..7cd02921cd 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -1428,39 +1428,41 @@ current version of any major web browser.")
    (license license:bsd-3)))
 
 (define-public rapidjson
-  (package
-    (name "rapidjson")
-    (version "1.1.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/Tencent/rapidjson")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1jixgb8w97l9gdh3inihz7avz7i770gy2j2irvvlyrq3wi41f5ab"))
-              (patches (search-patches "rapidjson-gcc-compat.patch"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  ;; Remove code using the problematic JSON license (see
-                  ;; <https://www.gnu.org/licenses/license-list.html#JSON>).
-                  (delete-file-recursively "bin/jsonchecker")))))
-    (build-system cmake-build-system)
-    (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-march=native
-           (lambda _
-             (substitute* "CMakeLists.txt"
-               (("-m[^-]*=native") "")))))))
-    (home-page "https://github.com/Tencent/rapidjson")
-    (synopsis "JSON parser/generator for C++ with both SAX/DOM style API")
-    (description
-     "RapidJSON is a fast JSON parser/generator for C++ with both SAX/DOM
+  ;; Last release was in 2016, but this commit is from 2023.
+  (let ((commit "949c771b03de448bdedea80c44a4a5f65284bfeb")
+        (revision "1"))
+    (package
+      (name "rapidjson")
+      (version (git-version "1.1.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/Tencent/rapidjson")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1xlj0cj88ls3avwmlhd2gf5757fjpfbqx6qf49z1mzi381gcl72m"))
+                (modules '((guix build utils)))
+                (snippet
+                 '(begin
+                    ;; Remove code using the problematic JSON license (see
+                    ;; <https://www.gnu.org/licenses/license-list.html#JSON>).
+                    (delete-file-recursively "bin/jsonchecker")))))
+      (build-system cmake-build-system)
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'fix-march=native
+             (lambda _
+               (substitute* "CMakeLists.txt"
+                 (("-m[^-]*=native") "")))))))
+      (home-page "https://github.com/Tencent/rapidjson")
+      (synopsis "JSON parser/generator for C++ with both SAX/DOM style API")
+      (description
+       "RapidJSON is a fast JSON parser/generator for C++ with both SAX/DOM
 style API.")
-    (license license:expat)))
+      (license license:expat))))
 
 (define-public yajl
   (package