Compare commits

...
Sign in to create a new pull request.

11 commits

Author SHA1 Message Date
Fedora Release Engineering
db6c2dc0cd Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-17 09:32:30 +00:00
Fedora Release Engineering
21474c78e9 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 21:00:01 +00:00
Fedora Release Engineering
0a64fb057b Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 21:10:15 +00:00
Cristian Le
117550bab9 Allow to build with CMake 4.0 2025-05-15 14:09:10 +02:00
Richard Shaw
887798d8df Added patch for FTBFS, BZ#2341591.
Added patch for FTBFS, BZ#2341591.
Added patch for FTBFS, BZ#2341591.
2025-01-26 16:17:29 -06:00
Richard Shaw
af5d9fc111 Add patch for FTBFS, BZ#2341591. 2025-01-26 16:15:01 -06:00
Fedora Release Engineering
cb47231900 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 16:29:42 +00:00
Orion Poplawski
5e5009298f Update to 0.8.0 2024-10-21 20:42:02 -06:00
Fedora Release Engineering
3803a9aa5b Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 10:38:16 +00:00
Fedora Release Engineering
bf9f6b8f68 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 10:39:01 +00:00
Fedora Release Engineering
01ff4c557b Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 19:27:21 +00:00
6 changed files with 95 additions and 261 deletions

1
.gitignore vendored
View file

@ -9,3 +9,4 @@ yaml-cpp-0.2.5.tar.gz
/yaml-cpp-0.6.2.tar.gz
/yaml-cpp-0.6.3.tar.gz
/yaml-cpp-0.7.0.tar.gz
/yaml-cpp-0.8.0.tar.gz

29
1211.patch Normal file
View file

@ -0,0 +1,29 @@
From 8153a1add19018f65527faad3c4d3941705baf39 Mon Sep 17 00:00:00 2001
From: Craig Scott <craig.scott@crascit.com>
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

View file

@ -1 +1 @@
SHA512 (yaml-cpp-0.7.0.tar.gz) = 2de0f0ec8f003cd3c498d571cda7a796bf220517bad2dc02cba70c522dddde398f33cf1ad20da251adaacb2a07b77844111f297e99d45a7c46ebc01706bbafb5
SHA512 (yaml-cpp-0.8.0.tar.gz) = aae9d618f906117d620d63173e95572c738db518f4ff1901a06de2117d8deeb8045f554102ca0ba4735ac0c4d060153a938ef78da3e0da3406d27b8298e5f38e

View file

@ -1,245 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b230b9e..6ef6e8a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,33 +9,39 @@ endif()
project(YAML_CPP VERSION 0.7.0 LANGUAGES CXX)
+set(YAML_CPP_MAIN_PROJECT OFF)
+if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
+ set(YAML_CPP_MAIN_PROJECT ON)
+endif()
+
include(CMakePackageConfigHelpers)
include(CMakeDependentOption)
include(CheckCXXCompilerFlag)
include(GNUInstallDirs)
include(CTest)
-find_program(YAML_CPP_CLANG_FORMAT_EXE NAMES clang-format)
-
option(YAML_CPP_BUILD_CONTRIB "Enable yaml-cpp contrib in library" ON)
option(YAML_CPP_BUILD_TOOLS "Enable parse tools" ON)
option(YAML_BUILD_SHARED_LIBS "Build yaml-cpp shared library" ${BUILD_SHARED_LIBS})
-
+option(YAML_CPP_INSTALL "Enable generation of yaml-cpp install targets" ${YAML_CPP_MAIN_PROJECT})
+option(YAML_CPP_FORMAT_SOURCE "Format source" ON)
cmake_dependent_option(YAML_CPP_BUILD_TESTS
- "Enable yaml-cpp tests" ON
- "BUILD_TESTING;CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF)
-cmake_dependent_option(YAML_CPP_INSTALL
- "Enable generation of yaml-cpp install targets" ON
- "CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF)
+ "Enable yaml-cpp tests" OFF
+ "BUILD_TESTING;YAML_CPP_MAIN_PROJECT" OFF)
cmake_dependent_option(YAML_MSVC_SHARED_RT
"MSVC: Build yaml-cpp with shared runtime libs (/MD)" ON
- "MSVC" OFF)
+ "CMAKE_SYSTEM_NAME MATCHES Windows" OFF)
+
+if (YAML_CPP_FORMAT_SOURCE)
+ find_program(YAML_CPP_CLANG_FORMAT_EXE NAMES clang-format)
+endif()
-set(yaml-cpp-type STATIC)
-set(yaml-cpp-label-postfix "static")
if (YAML_BUILD_SHARED_LIBS)
set(yaml-cpp-type SHARED)
set(yaml-cpp-label-postfix "shared")
+else()
+ set(yaml-cpp-type STATIC)
+ set(yaml-cpp-label-postfix "static")
endif()
set(build-shared $<BOOL:${YAML_BUILD_SHARED_LIBS}>)
@@ -78,6 +84,10 @@ set_property(TARGET yaml-cpp
PROPERTY
CXX_STANDARD_REQUIRED ON)
+if (NOT YAML_BUILD_SHARED_LIBS)
+ set_property(TARGET yaml-cpp PROPERTY POSITION_INDEPENDENT_CODE ON)
+endif()
+
target_include_directories(yaml-cpp
PUBLIC
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
@@ -91,11 +101,15 @@ if (NOT DEFINED CMAKE_CXX_STANDARD)
CXX_STANDARD 11)
endif()
+if(YAML_CPP_MAIN_PROJECT)
+ target_compile_options(yaml-cpp
+ PRIVATE
+ $<${not-msvc}:-Wall -Wextra -Wshadow -Weffc++ -Wno-long-long>
+ $<${not-msvc}:-pedantic -pedantic-errors>)
+endif()
+
target_compile_options(yaml-cpp
PRIVATE
- $<${not-msvc}:-Wall -Wextra -Wshadow -Weffc++ -Wno-long-long>
- $<${not-msvc}:-pedantic -pedantic-errors>
-
$<$<AND:${backport-msvc-runtime},${msvc-rt-mtd-static}>:-MTd>
$<$<AND:${backport-msvc-runtime},${msvc-rt-mt-static}>:-MT>
$<$<AND:${backport-msvc-runtime},${msvc-rt-mtd-dll}>:-MDd>
@@ -108,6 +122,8 @@ target_compile_options(yaml-cpp
$<$<CXX_COMPILER_ID:MSVC>:/W3 /wd4127 /wd4355>)
target_compile_definitions(yaml-cpp
+ PUBLIC
+ $<$<NOT:$<BOOL:${YAML_BUILD_SHARED_LIBS}>>:YAML_CPP_STATIC_DEFINE>
PRIVATE
$<${build-windows-dll}:${PROJECT_NAME}_DLL>
$<$<NOT:$<BOOL:${YAML_CPP_BUILD_CONTRIB}>>:YAML_CPP_NO_CONTRIB>)
@@ -127,10 +143,14 @@ set_target_properties(yaml-cpp PROPERTIES
PROJECT_LABEL "yaml-cpp ${yaml-cpp-label-postfix}"
DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
+set(CONFIG_EXPORT_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/yaml-cpp")
+set(EXPORT_TARGETS yaml-cpp)
configure_package_config_file(
"${PROJECT_SOURCE_DIR}/yaml-cpp-config.cmake.in"
"${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
- INSTALL_DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
+ INSTALL_DESTINATION "${CONFIG_EXPORT_DIR}"
+ PATH_VARS CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_LIBDIR CONFIG_EXPORT_DIR YAML_BUILD_SHARED_LIBS)
+unset(EXPORT_TARGETS)
write_basic_package_version_file(
"${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
@@ -139,36 +159,48 @@ write_basic_package_version_file(
configure_file(yaml-cpp.pc.in yaml-cpp.pc @ONLY)
if (YAML_CPP_INSTALL)
- install(TARGETS yaml-cpp
+ install(TARGETS yaml-cpp
EXPORT yaml-cpp-targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
- install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
+ install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
- FILES_MATCHING PATTERN "*.h")
+ FILES_MATCHING PATTERN "*.h")
install(EXPORT yaml-cpp-targets
- DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
- install(FILES
- "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
- "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
- DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
+ DESTINATION "${CONFIG_EXPORT_DIR}")
+ install(FILES
+ "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
+ "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
+ DESTINATION "${CONFIG_EXPORT_DIR}")
install(FILES "${PROJECT_BINARY_DIR}/yaml-cpp.pc"
- DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig)
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
endif()
+unset(CONFIG_EXPORT_DIR)
if(YAML_CPP_BUILD_TESTS)
- add_subdirectory(test)
+ add_subdirectory(test)
endif()
if(YAML_CPP_BUILD_TOOLS)
- add_subdirectory(util)
+ add_subdirectory(util)
endif()
-if (YAML_CPP_CLANG_FORMAT_EXE)
+if (YAML_CPP_FORMAT_SOURCE AND YAML_CPP_CLANG_FORMAT_EXE)
add_custom_target(format
COMMAND clang-format --style=file -i $<TARGET_PROPERTY:yaml-cpp,SOURCES>
COMMAND_EXPAND_LISTS
COMMENT "Running clang-format"
VERBATIM)
endif()
+
+# uninstall target
+if(NOT TARGET uninstall)
+ configure_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
+ IMMEDIATE @ONLY)
+
+ add_custom_target(uninstall
+ COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
+endif()
diff --git a/cmake_uninstall.cmake.in b/cmake_uninstall.cmake.in
new file mode 100644
index 0000000..c2d34d4
--- /dev/null
+++ b/cmake_uninstall.cmake.in
@@ -0,0 +1,21 @@
+if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
+ message(FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt")
+endif()
+
+file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files)
+string(REGEX REPLACE "\n" ";" files "${files}")
+foreach(file ${files})
+ message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
+ if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
+ exec_program(
+ "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
+ OUTPUT_VARIABLE rm_out
+ RETURN_VALUE rm_retval
+ )
+ if(NOT "${rm_retval}" STREQUAL 0)
+ message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
+ endif()
+ else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
+ message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
+ endif()
+endforeach()
diff --git a/yaml-cpp-config.cmake.in b/yaml-cpp-config.cmake.in
index 7b41e3f..799b9b4 100644
--- a/yaml-cpp-config.cmake.in
+++ b/yaml-cpp-config.cmake.in
@@ -1,14 +1,22 @@
# - Config file for the yaml-cpp package
# It defines the following variables
-# YAML_CPP_INCLUDE_DIR - include directory
-# YAML_CPP_LIBRARIES - libraries to link against
+# YAML_CPP_INCLUDE_DIR - include directory
+# YAML_CPP_LIBRARY_DIR - directory containing libraries
+# YAML_CPP_SHARED_LIBS_BUILT - whether we have built shared libraries or not
+# YAML_CPP_LIBRARIES - libraries to link against
-# Compute paths
-get_filename_component(YAML_CPP_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
-set(YAML_CPP_INCLUDE_DIR "@CONFIG_INCLUDE_DIRS@")
+@PACKAGE_INIT@
+
+set_and_check(YAML_CPP_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
+set_and_check(YAML_CPP_LIBRARY_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@")
+
+# Are we building shared libraries?
+set(YAML_CPP_SHARED_LIBS_BUILT "@PACKAGE_YAML_BUILD_SHARED_LIBS@")
# Our library dependencies (contains definitions for IMPORTED targets)
-include("${YAML_CPP_CMAKE_DIR}/yaml-cpp-targets.cmake")
+include(@PACKAGE_CONFIG_EXPORT_DIR@/yaml-cpp-targets.cmake)
# These are IMPORTED targets created by yaml-cpp-targets.cmake
set(YAML_CPP_LIBRARIES "@EXPORT_TARGETS@")
+
+check_required_components(@EXPORT_TARGETS@)
diff --git a/yaml-cpp.pc.in b/yaml-cpp.pc.in
index f713de6..d02dc9e 100644
--- a/yaml-cpp.pc.in
+++ b/yaml-cpp.pc.in
@@ -1,7 +1,7 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
Name: Yaml-cpp
Description: A YAML parser and emitter for C++

9
yaml-cpp-include.patch Normal file
View file

@ -0,0 +1,9 @@
Index: yaml-cpp-0.8.0/src/emitterutils.cpp
===================================================================
--- yaml-cpp-0.8.0.orig/src/emitterutils.cpp
+++ yaml-cpp-0.8.0/src/emitterutils.cpp
@@ -1,3 +1,4 @@
+#include <cstdint>
#include <algorithm>
#include <iomanip>
#include <sstream>

View file

@ -1,21 +1,22 @@
%global sover 0.7
%global sover 0.8
Name: yaml-cpp
Version: 0.7.0
Release: 3%{?dist}
Version: 0.8.0
Release: 6%{?dist}
License: MIT
Summary: A YAML parser and emitter for C++
URL: https://github.com/jbeder/yaml-cpp
Source0: %{url}/archive/%{name}-%{version}/%{name}-%{version}.tar.gz
Source0: https://github.com/jbeder/yaml-cpp/archive/%{version}/%{name}-%{version}.tar.gz
# CMake fixes from 0e6e28d1a38224fc8172fae0109ea7f673c096db commit
Patch100: yaml-cpp-cmake.patch
Patch0: yaml-cpp-include.patch
# Allow CMake 4.0 build
Patch1: https://github.com/jbeder/yaml-cpp/pull/1211.patch
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: make
%description
yaml-cpp is a YAML parser and emitter in C++ written around the YAML 1.2 spec.
@ -37,29 +38,37 @@ Requires: %{name}-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
The %{name}-static package contains the static library for %{name}.
%prep
%autosetup -n %{name}-%{name}-%{version} -p1
%autosetup -p1
%build
%cmake -B build_static \
# Define separate build directories for static and shared
%global _vpath_builddir %{_target_platform}-${variant}
variant=static
%cmake \
-DCMAKE_BUILD_TYPE=Release \
-DYAML_CPP_BUILD_TOOLS:BOOL=OFF \
-DYAML_CPP_FORMAT_SOURCE:BOOL=OFF \
-DYAML_CPP_INSTALL:BOOL=ON \
-DYAML_BUILD_SHARED_LIBS:BOOL=OFF \
-DYAML_CPP_BUILD_TESTS:BOOL=OFF
%make_build -C build_static
%cmake -B build_shared \
variant=shared
%cmake \
-DCMAKE_BUILD_TYPE=Release \
-DYAML_CPP_BUILD_TOOLS:BOOL=OFF \
-DYAML_CPP_FORMAT_SOURCE:BOOL=OFF \
-DYAML_CPP_INSTALL:BOOL=ON \
-DYAML_BUILD_SHARED_LIBS:BOOL=ON \
-DYAML_CPP_BUILD_TESTS:BOOL=OFF
%make_build -C build_shared
for variant in static shared; do
%cmake_build
done
%install
%make_install -C build_static yaml-cpp
variant=static
%cmake_install
# Move files so they don't get trampled
mv %{buildroot}%{_libdir}/cmake/%{name} \
@ -67,12 +76,13 @@ mv %{buildroot}%{_libdir}/cmake/%{name} \
mv %{buildroot}%{_libdir}/pkgconfig/%{name}.pc \
%{buildroot}%{_libdir}/pkgconfig/%{name}-static.pc
%make_install -C build_shared
variant=shared
%cmake_install
%files
%doc CONTRIBUTING.md README.md
%license LICENSE
%{_libdir}/lib%{name}*.so.%{sover}*
%{_libdir}/lib%{name}.so.%{sover}*
%files devel
%{_includedir}/yaml-cpp/
@ -87,6 +97,36 @@ mv %{buildroot}%{_libdir}/pkgconfig/%{name}.pc \
%{_libdir}/pkgconfig/%{name}-static.pc
%changelog
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu May 15 2025 Cristian Le <git@lecris.dev> - 0.8.0-3
- Allow to build with CMake 4.0 and Ninja generator
* Sun Jan 26 2025 Richard Shaw <hobbes1069@gmail.com> - 0.8.0-2
- Added patch for FTBFS, BZ#2341591.
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Oct 21 2024 Orion Poplawski <orion@nwra.com> - 0.8.0-1
- Update to 0.8.0
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Apr 19 2023 Vitaly Zaitsev <vitaly@easycoding.org> - 0.7.0-3
- Fixed broken CMake configs (rhbz#2188009).
- Backported CMake fixes from upstream.