summaryrefslogtreecommitdiff
path: root/dev-cpp/yaml-cpp
diff options
context:
space:
mode:
authorAlexey Sokolov <alexey+gentoo@asokolov.org>2025-08-03 15:55:21 +0100
committerSam James <sam@gentoo.org>2025-09-04 21:46:56 +0100
commit485ea72f644fc219c93830b75675e048186e7dbc (patch)
treeb1bc2bdded6001684cf8aafee5645ead7b560ff6 /dev-cpp/yaml-cpp
parentbb351ac2a359eab5c75e172cc67d0dee0a68cc03 (diff)
downloadgentoo-485ea72f644fc219c93830b75675e048186e7dbc.tar.gz
gentoo-485ea72f644fc219c93830b75675e048186e7dbc.tar.bz2
gentoo-485ea72f644fc219c93830b75675e048186e7dbc.zip
dev-cpp/yaml-cpp: fix cmake4 compatibility
Removed bundled gtest; it wasn't used, but its existence was triggering cmake QA warning Closes: https://bugs.gentoo.org/957557 Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org> Part-of: https://github.com/gentoo/gentoo/pull/43303 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-cpp/yaml-cpp')
-rw-r--r--dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-cmake2.patch39
-rw-r--r--dev-cpp/yaml-cpp/yaml-cpp-0.8.0-r2.ebuild43
2 files changed, 82 insertions, 0 deletions
diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-cmake2.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-cmake2.patch
new file mode 100644
index 000000000000..220dc5452772
--- /dev/null
+++ b/dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-cmake2.patch
@@ -0,0 +1,39 @@
+https://bugs.gentoo.org/957557
+From c9371de7836d113c0b14bfa15ca70f00ebb3ac6f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= <foss@grueninger.de>
+Date: Mon, 24 Mar 2025 08:32:25 +0100
+Subject: [PATCH] [cmake] Require minimum CMake version 3.5
+
+Soon CMake 4.0 will be released. It requires that projects
+set a minimum required CMake version of 3.5. There is a
+workaround with an additional flag, but it would is better
+to increase the minimum required version.
+---
+ CMakeLists.txt | 6 +++---
+ test/CMakeLists.txt | 1 -
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7e8a528d8..0df533a5a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,5 +1,6 @@
+-# 3.5 is actually available almost everywhere, but this a good minimum
+-cmake_minimum_required(VERSION 3.4)
++# 3.5 is actually available almost everywhere.
++# 3.30 as the upper policy limit avoids CMake deprecation warnings.
++cmake_minimum_required(VERSION 3.5...3.30)
+
+ # enable MSVC_RUNTIME_LIBRARY target property
+ # see https://cmake.org/cmake/help/latest/policy/CMP0091.html
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 1c60c07c5..6949d29c1 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -3,6 +3,5 @@ find_package(Threads REQUIRED)
+ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+ set(BUILD_MOCK ON CACHE BOOL "" FORCE)
+-set(CMAKE_POLICY_DEFAULT_CMP0048 NEW)
+
+ if(YAML_USE_SYSTEM_GTEST)
+ find_package(GTest)
diff --git a/dev-cpp/yaml-cpp/yaml-cpp-0.8.0-r2.ebuild b/dev-cpp/yaml-cpp/yaml-cpp-0.8.0-r2.ebuild
new file mode 100644
index 000000000000..552cf0c1d8d4
--- /dev/null
+++ b/dev-cpp/yaml-cpp/yaml-cpp-0.8.0-r2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+DESCRIPTION="YAML parser and emitter in C++"
+HOMEPAGE="https://github.com/jbeder/yaml-cpp"
+SRC_URI="https://github.com/jbeder/yaml-cpp/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/0.8"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+ "${FILESDIR}/yaml-cpp-0.8.0-gtest.patch"
+ "${FILESDIR}/yaml-cpp-0.8.0-gcc13.patch"
+ "${FILESDIR}/yaml-cpp-0.8.0-include-cstdint.patch"
+ "${FILESDIR}/yaml-cpp-0.8.0-cmake2.patch"
+)
+
+src_prepare() {
+ rm -r test/gtest-1.11.0 || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DYAML_BUILD_SHARED_LIBS=ON
+ -DYAML_CPP_BUILD_TOOLS=OFF # Don't have install rule
+ -DYAML_CPP_BUILD_TESTS=$(usex test)
+ )
+
+ cmake-multilib_src_configure
+}