diff --git a/yaml-cpp-0.6.3.tar.gz b/yaml-cpp-0.6.3.tar.gz deleted file mode 100755 index 2e351082b2f9c16b178928333fc928ff934372ae..0000000000000000000000000000000000000000 Binary files a/yaml-cpp-0.6.3.tar.gz and /dev/null differ diff --git a/yaml-cpp-0.7.0.tar.gz b/yaml-cpp-0.7.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..06cbb8ba576017212223f4c40073acfffbc6e61c Binary files /dev/null and b/yaml-cpp-0.7.0.tar.gz differ diff --git a/yaml-cpp-cmake.patch b/yaml-cpp-cmake.patch new file mode 100644 index 0000000000000000000000000000000000000000..218484c4a1f8bd629c63639f87c5ff515e92ca02 --- /dev/null +++ b/yaml-cpp-cmake.patch @@ -0,0 +1,245 @@ +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 $) +@@ -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 + $ +@@ -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> +- + $<$:-MTd> + $<$:-MT> + $<$:-MDd> +@@ -108,6 +122,8 @@ target_compile_options(yaml-cpp + $<$:/W3 /wd4127 /wd4355>) + + target_compile_definitions(yaml-cpp ++ PUBLIC ++ $<$>:YAML_CPP_STATIC_DEFINE> + PRIVATE + $<${build-windows-dll}:${PROJECT_NAME}_DLL> + $<$>: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 $ + 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++ diff --git a/yaml-cpp.spec b/yaml-cpp.spec index f1f1a62d629c656af06b4548d9a7bcd9b4bb0d4a..ef3efb9978cf775f3ce615b955f2fe0d1f98d06a 100755 --- a/yaml-cpp.spec +++ b/yaml-cpp.spec @@ -1,11 +1,11 @@ Name: yaml-cpp -Version: 0.6.3 +Version: 0.7.0 Release: 1 Summary: A YAML parser and emitter in C++. License: MIT URL: https://github.com/jbeder/yaml-cpp Source0: https://github.com/jbeder/yaml-cpp/archive/%{name}-%{version}.tar.gz -Patch0001: CVE-2017-5950.patch +Patch0001: yaml-cpp-cmake.patch BuildRequires: cmake gcc gcc-c++ %description @@ -68,5 +68,9 @@ cd - %changelog +* Thu Jul 06 2023 yaoxin - 0.7.0-1 +- Update to 0.7.0 +- Abi change: libyaml-cpp.so.0.6.3 -> libyaml-cpp.so.0.7.0 + * Mon Jan 6 2020 Senlin Xia - 0.6.3-1 - Package init