commit:     6e886a60292fb9223414b29aa5aac97e79e289b0
Author:     Alexey Sokolov <alexey+gentoo <AT> asokolov <DOT> org>
AuthorDate: Sat Mar 22 21:31:58 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Mar 25 04:34:56 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e886a60

dev-cpp/yaml-cpp: fix cmake warning

Closes: https://bugs.gentoo.org/951842
Signed-off-by: Alexey Sokolov <alexey+gentoo <AT> asokolov.org>
Closes: https://github.com/gentoo/gentoo/pull/41226
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-cmake.patch | 32 ++++++++++++++++++++
 dev-cpp/yaml-cpp/yaml-cpp-0.8.0-r1.ebuild         | 37 +++++++++++++++++++++++
 2 files changed, 69 insertions(+)

diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-cmake.patch 
b/dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-cmake.patch
new file mode 100644
index 000000000000..52c6321983d7
--- /dev/null
+++ b/dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-cmake.patch
@@ -0,0 +1,32 @@
+https://bugs.gentoo.org/951842
+https://github.com/jbeder/yaml-cpp/pull/1211
+
+From 8153a1add19018f65527faad3c4d3941705baf39 Mon Sep 17 00:00:00 2001
+From: Craig Scott <[email protected]>
+Date: Wed, 16 Aug 2023 15:55:44 +1000
+Subject: [PATCH] Specify CMake policy range to avoid deprecation warning
+
+CMake 3.27 started issuing a deprecation warning for any
+cmake_minimum_required() call that specified a minimum
+version older than 3.5. Specifying a version range instead of
+a simple minimum version avoids that warning without
+raising the minimum supported CMake version. The NEW
+policy behavior will be used for all policies introduced up to
+CMake 3.14 with this change.
+---
+ CMakeLists.txt | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 46dc18059..1ae92e2b7 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, but this a good minimum.
++# 3.14 as the upper policy limit avoids CMake deprecation warnings.
++cmake_minimum_required(VERSION 3.4...3.14)
+ 
+ # enable MSVC_RUNTIME_LIBRARY target property
+ # see https://cmake.org/cmake/help/latest/policy/CMP0091.html

diff --git a/dev-cpp/yaml-cpp/yaml-cpp-0.8.0-r1.ebuild 
b/dev-cpp/yaml-cpp/yaml-cpp-0.8.0-r1.ebuild
new file mode 100644
index 000000000000..8bdd15895875
--- /dev/null
+++ b/dev-cpp/yaml-cpp/yaml-cpp-0.8.0-r1.ebuild
@@ -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
+
+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-cmake.patch"
+)
+
+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
+}

Reply via email to