commit: 38ce591f8ff78ad13ec3b03e5794b5f0673f873d
Author: Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 15 07:59:31 2023 +0000
Commit: Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Tue Aug 15 08:00:40 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38ce591f
dev-libs/yyjson: fix for clang 16 + valgrind
Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>
.../files/yyjson-0.7.0-fix-clang-16-valgrind.patch | 24 ++++++++++++++++++++++
...{yyjson-0.7.0.ebuild => yyjson-0.7.0-r1.ebuild} | 8 +++++---
2 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/dev-libs/yyjson/files/yyjson-0.7.0-fix-clang-16-valgrind.patch
b/dev-libs/yyjson/files/yyjson-0.7.0-fix-clang-16-valgrind.patch
new file mode 100644
index 000000000000..33a1ceee5a26
--- /dev/null
+++ b/dev-libs/yyjson/files/yyjson-0.7.0-fix-clang-16-valgrind.patch
@@ -0,0 +1,24 @@
+https://github.com/ibireme/yyjson/commit/841a8c5603a1e393d95300a55b44ebc324497e82
+
+From: ibireme <[email protected]>
+Date: Mon, 14 Aug 2023 21:33:31 +0800
+Subject: [PATCH] Fix clang-16 valgrind fail: #134
+
+--- a/src/yyjson.c
++++ b/src/yyjson.c
+@@ -2670,6 +2670,7 @@ yyjson_mut_val *yyjson_merge_patch(yyjson_mut_doc *doc,
+ builder = yyjson_mut_obj(doc);
+ if (unlikely(!builder)) return NULL;
+
++ memset(&local_orig, 0, sizeof(local_orig));
+ if (!yyjson_is_obj(orig)) {
+ orig = &local_orig;
+ orig->tag = builder->tag;
+@@ -2721,6 +2722,7 @@ yyjson_mut_val *yyjson_mut_merge_patch(yyjson_mut_doc
*doc,
+ builder = yyjson_mut_obj(doc);
+ if (unlikely(!builder)) return NULL;
+
++ memset(&local_orig, 0, sizeof(local_orig));
+ if (!yyjson_mut_is_obj(orig)) {
+ orig = &local_orig;
+ orig->tag = builder->tag;
diff --git a/dev-libs/yyjson/yyjson-0.7.0.ebuild
b/dev-libs/yyjson/yyjson-0.7.0-r1.ebuild
similarity index 82%
rename from dev-libs/yyjson/yyjson-0.7.0.ebuild
rename to dev-libs/yyjson/yyjson-0.7.0-r1.ebuild
index 30376e8e222a..506382b3e617 100644
--- a/dev-libs/yyjson/yyjson-0.7.0.ebuild
+++ b/dev-libs/yyjson/yyjson-0.7.0-r1.ebuild
@@ -19,15 +19,17 @@ RESTRICT="!test? ( test )"
BDEPEND="doc? ( app-doc/doxygen )"
-PATCHES=( "${FILESDIR}"/${PN}-0.7.0-disable-werror.patch )
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.0-disable-werror.patch
+ "${FILESDIR}"/${PN}-0.7.0-fix-clang-16-valgrind.patch
+)
src_configure() {
local mycmakeargs=(
-DYYJSON_BUILD_DOC=$(usex doc)
-DYYJSON_BUILD_TESTS=$(usex test)
+ -DYYJSON_ENABLE_VALGRIND=$(usex test)
)
- # TODO: -DYYJSON_ENABLE_VALGRIND=$(usex test)
- # https://github.com/ibireme/yyjson/issues/134
cmake_src_configure
}