summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViorel Munteanu <ceamac@gentoo.org>2023-08-15 10:59:31 +0300
committerViorel Munteanu <ceamac@gentoo.org>2023-08-15 11:00:40 +0300
commit38ce591f8ff78ad13ec3b03e5794b5f0673f873d (patch)
tree8722b90c2add107e314ec26a52cf564313452c31 /dev-libs/yyjson
parentdev-db/postgresql: Stabilize 15.4 ppc, #912253 (diff)
downloadgentoo-38ce591f8ff78ad13ec3b03e5794b5f0673f873d.tar.gz
gentoo-38ce591f8ff78ad13ec3b03e5794b5f0673f873d.tar.bz2
gentoo-38ce591f8ff78ad13ec3b03e5794b5f0673f873d.zip
dev-libs/yyjson: fix for clang 16 + valgrind
Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>
Diffstat (limited to 'dev-libs/yyjson')
-rw-r--r--dev-libs/yyjson/files/yyjson-0.7.0-fix-clang-16-valgrind.patch24
-rw-r--r--dev-libs/yyjson/yyjson-0.7.0-r1.ebuild (renamed from dev-libs/yyjson/yyjson-0.7.0.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 <ibireme@gmail.com>
+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
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
}