dev-libs/yajl: Sync with Gentoo

It's from Gentoo commit 973022fd79030921727e29e7b9405d22253dc535.
This commit is contained in:
Flatcar Buildbot 2025-06-16 07:08:32 +00:00 committed by Krzesimir Nowak
parent 979ffd7878
commit 7ef13fa1f5
2 changed files with 108 additions and 0 deletions

View File

@ -0,0 +1,71 @@
https://bugs.gentoo.org/951675
https://github.com/lloyd/yajl/issues/254
https://github.com/lloyd/yajl/pull/256
From 6fe59ca50dfd65bdb3d1c87a27245b2dd1a072f9 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Fri, 28 Mar 2025 09:31:40 +0000
Subject: [PATCH] Allow build with CMake 4.0.0
fixes deprecated cmake option and uses cmake 2.8.0 TARGET_FILE
update cmake supported minimum versions to 2.8.0...3.10
ref:
- https://cmake.org/cmake/help/latest/policy/CMP0026.html
CMake Error at .../CMakeLists.txt: (GET_TARGET_PROPERTY):
The LOCATION property may not be read from target "json_...". Use the
target name directly with add_custom_command, or use the generator
expression $<TARGET_FILE>, as appropriate.
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
---
CMakeLists.txt | 2 +-
reformatter/CMakeLists.txt | 4 +---
verify/CMakeLists.txt | 4 +---
3 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 471eee13..deba3a40 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,7 +12,7 @@
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0...3.10)
PROJECT(YetAnotherJSONParser C)
diff --git a/reformatter/CMakeLists.txt b/reformatter/CMakeLists.txt
index 52a9bee8..267d02e2 100644
--- a/reformatter/CMakeLists.txt
+++ b/reformatter/CMakeLists.txt
@@ -35,9 +35,7 @@ IF (NOT WIN32)
ENDIF (NOT WIN32)
# copy the binary into the output directory
-GET_TARGET_PROPERTY(binPath json_reformat LOCATION)
-
ADD_CUSTOM_COMMAND(TARGET json_reformat POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${binPath} ${binDir})
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:json_reformat> ${binDir})
INSTALL(TARGETS json_reformat RUNTIME DESTINATION bin)
diff --git a/verify/CMakeLists.txt b/verify/CMakeLists.txt
index 967fca16..2f390082 100644
--- a/verify/CMakeLists.txt
+++ b/verify/CMakeLists.txt
@@ -29,9 +29,7 @@ ADD_EXECUTABLE(json_verify ${SRCS})
TARGET_LINK_LIBRARIES(json_verify yajl_s)
# copy in the binary
-GET_TARGET_PROPERTY(binPath json_verify LOCATION)
-
ADD_CUSTOM_COMMAND(TARGET json_verify POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${binPath} ${binDir})
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:json_verify> ${binDir})
INSTALL(TARGETS json_verify RUNTIME DESTINATION bin)

View File

@ -0,0 +1,37 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake-multilib multibuild
DESCRIPTION="Small event-driven (SAX-style) JSON parser"
HOMEPAGE="https://lloyd.github.io/yajl/"
SRC_URI="https://github.com/lloyd/yajl/archive/refs/tags/${PV}.tar.gz -> ${P}-r5.tar.gz"
LICENSE="ISC"
SLOT="0/2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE=""
PATCHES=(
"${FILESDIR}"/${P}-uclibc.patch # git master 5d4bf525
"${FILESDIR}"/${P}-pkg-config.patch # downstream
"${FILESDIR}"/${P}-memory-leak.patch # Bug 908036
"${FILESDIR}"/${PN}-2.1.0-cmake-4.patch # Bug 951675
)
src_prepare() {
cmake_src_prepare
multilib_copy_sources
}
multilib_src_test() {
cd "${S}"/test/parsing || die
./run_tests.sh "${BUILD_DIR}"/test/parsing/yajl_test || die
}
src_install() {
cmake-multilib_src_install
find "${D}" -name libyajl_s.a -delete || die
}