diff --git a/sources b/sources index ca93cb7..bde8959 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (spdlog-1.11.0.tar.gz) = 210f3135c7af3ec774ef9a5c77254ce172a44e2fa720bf590e1c9214782bf5c8140ff683403a85b585868bc308286fbdeb1c988e4ed1eb3c75975254ffe75412 +SHA512 (spdlog-1.12.0.tar.gz) = db9a4f13b6c39ffde759db99bcdfe5e2dbe4231e73b29eb906a3fa78d6b8ec66920b8bd4371df17ae21b7b562472a236bc4435678f3af92b6496be090074181d diff --git a/spdlog-catchv3-compatibility.patch b/spdlog-catchv3-compatibility.patch deleted file mode 100644 index 619871a..0000000 --- a/spdlog-catchv3-compatibility.patch +++ /dev/null @@ -1,274 +0,0 @@ -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index 7fe4791e..c0af3fd7 100644 ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -13,6 +13,20 @@ if(PkgConfig_FOUND) - pkg_check_modules(systemd libsystemd) - endif() - -+find_package(Catch2 3 QUIET) -+if (Catch2_FOUND) -+ message(STATUS "Packaged version of Catch will be used.") -+else() -+ message(STATUS "Bundled version of Catch will be downloaded and used.") -+ include(FetchContent) -+ FetchContent_Declare( -+ Catch2 -+ GIT_REPOSITORY https://github.com/catchorg/Catch2.git -+ GIT_TAG v3.3.2 -+ ) -+ FetchContent_MakeAvailable(Catch2) -+endif() -+ - set(SPDLOG_UTESTS_SOURCES - test_file_helper.cpp - test_file_logging.cpp -@@ -52,6 +66,7 @@ function(spdlog_prepare_test test_target spdlog_lib) - if(systemd_FOUND) - target_link_libraries(${test_target} PRIVATE ${systemd_LIBRARIES}) - endif() -+ target_link_libraries(${test_target} PRIVATE Catch2::Catch2WithMain) - if(SPDLOG_SANITIZE_ADDRESS) - spdlog_enable_sanitizer(${test_target}) - endif() -diff --git a/tests/includes.h b/tests/includes.h -index 16394440..33e88bfb 100644 ---- a/tests/includes.h -+++ b/tests/includes.h -@@ -4,7 +4,7 @@ - # pragma GCC diagnostic push - # pragma GCC diagnostic ignored "-Wmaybe-uninitialized" // Workaround for GCC 12 - #endif --#include "catch.hpp" -+#include - #if defined(__GNUC__) && __GNUC__ == 12 - # pragma GCC diagnostic pop - #endif -diff --git a/tests/main.cpp b/tests/main.cpp -index f8ed5192..c8dca193 100644 ---- a/tests/main.cpp -+++ b/tests/main.cpp -@@ -3,8 +3,7 @@ - # pragma GCC diagnostic ignored "-Wmaybe-uninitialized" // Workaround for GCC 12 - #endif - --#define CATCH_CONFIG_MAIN --#include "catch.hpp" -+#include - - #if defined(__GNUC__) && __GNUC__ == 12 - # pragma GCC diagnostic pop -diff --git a/tests/test_daily_logger.cpp b/tests/test_daily_logger.cpp -index c6e685de..82f28941 100644 ---- a/tests/test_daily_logger.cpp -+++ b/tests/test_daily_logger.cpp -@@ -87,19 +87,19 @@ TEST_CASE("daily_logger with custom calculator", "[daily_logger]") - * File name calculations - */ - --TEST_CASE("rotating_file_sink::calc_filename1", "[rotating_file_sink]]") -+TEST_CASE("rotating_file_sink::calc_filename1", "[rotating_file_sink]") - { - auto filename = spdlog::sinks::rotating_file_sink_st::calc_filename(SPDLOG_FILENAME_T("rotated.txt"), 3); - REQUIRE(filename == SPDLOG_FILENAME_T("rotated.3.txt")); - } - --TEST_CASE("rotating_file_sink::calc_filename2", "[rotating_file_sink]]") -+TEST_CASE("rotating_file_sink::calc_filename2", "[rotating_file_sink]") - { - auto filename = spdlog::sinks::rotating_file_sink_st::calc_filename(SPDLOG_FILENAME_T("rotated"), 3); - REQUIRE(filename == SPDLOG_FILENAME_T("rotated.3")); - } - --TEST_CASE("rotating_file_sink::calc_filename3", "[rotating_file_sink]]") -+TEST_CASE("rotating_file_sink::calc_filename3", "[rotating_file_sink]") - { - auto filename = spdlog::sinks::rotating_file_sink_st::calc_filename(SPDLOG_FILENAME_T("rotated.txt"), 0); - REQUIRE(filename == SPDLOG_FILENAME_T("rotated.txt")); -@@ -110,7 +110,7 @@ TEST_CASE("rotating_file_sink::calc_filename3", "[rotating_file_sink]]") - - # include - --TEST_CASE("daily_file_sink::daily_filename_calculator", "[daily_file_sink]]") -+TEST_CASE("daily_file_sink::daily_filename_calculator", "[daily_file_sink]") - { - // daily_YYYY-MM-DD_hh-mm.txt - auto filename = -@@ -123,7 +123,7 @@ TEST_CASE("daily_file_sink::daily_filename_calculator", "[daily_file_sink]]") - } - #endif - --TEST_CASE("daily_file_sink::daily_filename_format_calculator", "[daily_file_sink]]") -+TEST_CASE("daily_file_sink::daily_filename_format_calculator", "[daily_file_sink]") - { - std::tm tm = spdlog::details::os::localtime(); - // example-YYYY-MM-DD.log -diff --git a/tests/test_errors.cpp b/tests/test_errors.cpp -index 896e5b0a..939f1aeb 100644 ---- a/tests/test_errors.cpp -+++ b/tests/test_errors.cpp -@@ -22,7 +22,7 @@ protected: - } - }; - --TEST_CASE("default_error_handler", "[errors]]") -+TEST_CASE("default_error_handler", "[errors]") - { - prepare_logdir(); - spdlog::filename_t filename = SPDLOG_FILENAME_T(SIMPLE_LOG); -@@ -40,7 +40,7 @@ TEST_CASE("default_error_handler", "[errors]]") - - struct custom_ex - {}; --TEST_CASE("custom_error_handler", "[errors]]") -+TEST_CASE("custom_error_handler", "[errors]") - { - prepare_logdir(); - spdlog::filename_t filename = SPDLOG_FILENAME_T(SIMPLE_LOG); -@@ -54,7 +54,7 @@ TEST_CASE("custom_error_handler", "[errors]]") - require_message_count(SIMPLE_LOG, 2); - } - --TEST_CASE("default_error_handler2", "[errors]]") -+TEST_CASE("default_error_handler2", "[errors]") - { - spdlog::drop_all(); - auto logger = spdlog::create("failed_logger"); -@@ -62,7 +62,7 @@ TEST_CASE("default_error_handler2", "[errors]]") - REQUIRE_THROWS_AS(logger->info("Some message"), custom_ex); - } - --TEST_CASE("flush_error_handler", "[errors]]") -+TEST_CASE("flush_error_handler", "[errors]") - { - spdlog::drop_all(); - auto logger = spdlog::create("failed_logger"); -@@ -70,7 +70,7 @@ TEST_CASE("flush_error_handler", "[errors]]") - REQUIRE_THROWS_AS(logger->flush(), custom_ex); - } - --TEST_CASE("async_error_handler", "[errors]]") -+TEST_CASE("async_error_handler", "[errors]") - { - prepare_logdir(); - std::string err_msg("log failed with some msg"); -@@ -98,7 +98,7 @@ TEST_CASE("async_error_handler", "[errors]]") - } - - // Make sure async error handler is executed --TEST_CASE("async_error_handler2", "[errors]]") -+TEST_CASE("async_error_handler2", "[errors]") - { - prepare_logdir(); - std::string err_msg("This is async handler error message"); -diff --git a/tests/test_file_helper.cpp b/tests/test_file_helper.cpp -index 1d947078..dd3ca4f8 100644 ---- a/tests/test_file_helper.cpp -+++ b/tests/test_file_helper.cpp -@@ -15,7 +15,7 @@ static void write_with_helper(file_helper &helper, size_t howmany) - helper.flush(); - } - --TEST_CASE("file_helper_filename", "[file_helper::filename()]]") -+TEST_CASE("file_helper_filename", "[file_helper::filename()]") - { - prepare_logdir(); - -@@ -25,7 +25,7 @@ TEST_CASE("file_helper_filename", "[file_helper::filename()]]") - REQUIRE(helper.filename() == target_filename); - } - --TEST_CASE("file_helper_size", "[file_helper::size()]]") -+TEST_CASE("file_helper_size", "[file_helper::size()]") - { - prepare_logdir(); - spdlog::filename_t target_filename = SPDLOG_FILENAME_T(TEST_FILENAME); -@@ -39,7 +39,7 @@ TEST_CASE("file_helper_size", "[file_helper::size()]]") - REQUIRE(get_filesize(TEST_FILENAME) == expected_size); - } - --TEST_CASE("file_helper_reopen", "[file_helper::reopen()]]") -+TEST_CASE("file_helper_reopen", "[file_helper::reopen()]") - { - prepare_logdir(); - spdlog::filename_t target_filename = SPDLOG_FILENAME_T(TEST_FILENAME); -@@ -51,7 +51,7 @@ TEST_CASE("file_helper_reopen", "[file_helper::reopen()]]") - REQUIRE(helper.size() == 0); - } - --TEST_CASE("file_helper_reopen2", "[file_helper::reopen(false)]]") -+TEST_CASE("file_helper_reopen2", "[file_helper::reopen(false)]") - { - prepare_logdir(); - spdlog::filename_t target_filename = SPDLOG_FILENAME_T(TEST_FILENAME); -@@ -78,7 +78,7 @@ static void test_split_ext(const spdlog::filename_t::value_type *fname, const sp - REQUIRE(ext == expected_ext); - } - --TEST_CASE("file_helper_split_by_extension", "[file_helper::split_by_extension()]]") -+TEST_CASE("file_helper_split_by_extension", "[file_helper::split_by_extension()]") - { - test_split_ext(SPDLOG_FILENAME_T("mylog.txt"), SPDLOG_FILENAME_T("mylog"), SPDLOG_FILENAME_T(".txt")); - test_split_ext(SPDLOG_FILENAME_T(".mylog.txt"), SPDLOG_FILENAME_T(".mylog"), SPDLOG_FILENAME_T(".txt")); -diff --git a/tests/test_file_logging.cpp b/tests/test_file_logging.cpp -index 1c7a1853..7a7119ad 100644 ---- a/tests/test_file_logging.cpp -+++ b/tests/test_file_logging.cpp -@@ -6,7 +6,7 @@ - #define SIMPLE_LOG "test_logs/simple_log" - #define ROTATING_LOG "test_logs/rotating_log" - --TEST_CASE("simple_file_logger", "[simple_logger]]") -+TEST_CASE("simple_file_logger", "[simple_logger]") - { - prepare_logdir(); - spdlog::filename_t filename = SPDLOG_FILENAME_T(SIMPLE_LOG); -@@ -23,7 +23,7 @@ TEST_CASE("simple_file_logger", "[simple_logger]]") - REQUIRE(file_contents(SIMPLE_LOG) == spdlog::fmt_lib::format("Test message 1{}Test message 2{}", default_eol, default_eol)); - } - --TEST_CASE("flush_on", "[flush_on]]") -+TEST_CASE("flush_on", "[flush_on]") - { - prepare_logdir(); - spdlog::filename_t filename = SPDLOG_FILENAME_T(SIMPLE_LOG); -@@ -44,7 +44,7 @@ TEST_CASE("flush_on", "[flush_on]]") - spdlog::fmt_lib::format("Should not be flushed{}Test message 1{}Test message 2{}", default_eol, default_eol, default_eol)); - } - --TEST_CASE("rotating_file_logger1", "[rotating_logger]]") -+TEST_CASE("rotating_file_logger1", "[rotating_logger]") - { - prepare_logdir(); - size_t max_size = 1024 * 10; -@@ -60,7 +60,7 @@ TEST_CASE("rotating_file_logger1", "[rotating_logger]]") - require_message_count(ROTATING_LOG, 10); - } - --TEST_CASE("rotating_file_logger2", "[rotating_logger]]") -+TEST_CASE("rotating_file_logger2", "[rotating_logger]") - { - prepare_logdir(); - size_t max_size = 1024 * 10; -@@ -100,7 +100,7 @@ TEST_CASE("rotating_file_logger2", "[rotating_logger]]") - } - - // test that passing max_size=0 throws --TEST_CASE("rotating_file_logger3", "[rotating_logger]]") -+TEST_CASE("rotating_file_logger3", "[rotating_logger]") - { - prepare_logdir(); - size_t max_size = 0; -diff --git a/tests/test_macros.cpp b/tests/test_macros.cpp -index 2aeeecff..36537958 100644 ---- a/tests/test_macros.cpp -+++ b/tests/test_macros.cpp -@@ -10,7 +10,7 @@ - - #define TEST_FILENAME "test_logs/simple_log" - --TEST_CASE("debug and trace w/o format string", "[macros]]") -+TEST_CASE("debug and trace w/o format string", "[macros]") - { - - prepare_logdir(); diff --git a/spdlog-fmt10-compatibility.patch b/spdlog-fmt10-compatibility.patch deleted file mode 100644 index 6717370..0000000 --- a/spdlog-fmt10-compatibility.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 0ca574ae168820da0268b3ec7607ca7b33024d05 Mon Sep 17 00:00:00 2001 -From: H1X4 <10332146+H1X4Dev@users.noreply.github.com> -Date: Fri, 31 Mar 2023 20:39:32 +0300 -Subject: [PATCH] fix build for master fmt (non-bundled) (#2694) - -* fix build for master fmt (non-bundled) - -* update fmt_runtime_string macro - -* fix build of updated macro ---- - include/spdlog/common.h | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/include/spdlog/common.h b/include/spdlog/common.h -index e69201a81..5f671c5c6 100644 ---- a/include/spdlog/common.h -+++ b/include/spdlog/common.h -@@ -173,12 +173,19 @@ using format_string_t = fmt::format_string; - template - using remove_cvref_t = typename std::remove_cv::type>::type; - -+template -+#if FMT_VERSION >= 90101 -+using fmt_runtime_string = fmt::runtime_format_string; -+#else -+using fmt_runtime_string = fmt::basic_runtime; -+#endif -+ - // clang doesn't like SFINAE disabled constructor in std::is_convertible<> so have to repeat the condition from basic_format_string here, - // in addition, fmt::basic_runtime is only convertible to basic_format_string but not basic_string_view - template - struct is_convertible_to_basic_format_string - : std::integral_constant>::value || std::is_same, fmt::basic_runtime>::value> -+ std::is_convertible>::value || std::is_same, fmt_runtime_string>::value> - {}; - - # if defined(SPDLOG_WCHAR_FILENAMES) || defined(SPDLOG_WCHAR_TO_UTF8_SUPPORT) diff --git a/spdlog-fmt10-tests-fixes.patch b/spdlog-fmt10-tests-fixes.patch deleted file mode 100644 index e0e6a75..0000000 --- a/spdlog-fmt10-tests-fixes.patch +++ /dev/null @@ -1,86 +0,0 @@ -From af1785b897c9d1098d4aa7213fad232be63c19b4 Mon Sep 17 00:00:00 2001 -From: Bernd Ritter -Date: Fri, 19 May 2023 18:51:02 +0200 -Subject: [PATCH] Removes special format handling for fmt. (#2736) - -* Removes special format handling for fmt. Regains test compatibility with fmt -1.10.0. - -fixes #2735 - -* reverted std::vector back to filename_t and used pointer to array start likewise as fmt's implementation uses - -* calc_filename buffer increase softened, exception is throw if buffer exceeds 4k, filename parameter renamed to match intend. - -* calc_filetime based on std::put_time for simpler implementation ---- - include/spdlog/sinks/daily_file_sink.h | 46 +++++--------------------- - 1 file changed, 9 insertions(+), 37 deletions(-) - -diff --git a/include/spdlog/sinks/daily_file_sink.h b/include/spdlog/sinks/daily_file_sink.h -index f6f1bb1d7..90af96768 100644 ---- a/include/spdlog/sinks/daily_file_sink.h -+++ b/include/spdlog/sinks/daily_file_sink.h -@@ -13,6 +13,9 @@ - #include - #include - -+#include -+#include -+#include - #include - #include - #include -@@ -46,46 +49,15 @@ struct daily_filename_calculator - */ - struct daily_filename_format_calculator - { -- static filename_t calc_filename(const filename_t &filename, const tm &now_tm) -+ static filename_t calc_filename(const filename_t &file_path, const tm &now_tm) - { --#ifdef SPDLOG_USE_STD_FORMAT -- // adapted from fmtlib: https://github.com/fmtlib/fmt/blob/8.0.1/include/fmt/chrono.h#L522-L546 -- -- filename_t tm_format; -- tm_format.append(filename); -- // By appending an extra space we can distinguish an empty result that -- // indicates insufficient buffer size from a guaranteed non-empty result -- // https://github.com/fmtlib/fmt/issues/2238 -- tm_format.push_back(' '); -- -- const size_t MIN_SIZE = 10; -- filename_t buf; -- buf.resize(MIN_SIZE); -- for (;;) -- { -- size_t count = strftime(buf.data(), buf.size(), tm_format.c_str(), &now_tm); -- if (count != 0) -- { -- // Remove the extra space. -- buf.resize(count - 1); -- break; -- } -- buf.resize(buf.size() * 2); -- } -- -- return buf; -+#if defined(_WIN32) && defined(SPDLOG_WCHAR_FILENAMES) -+ std::wstringstream stream; - #else -- // generate fmt datetime format string, e.g. {:%Y-%m-%d}. -- filename_t fmt_filename = fmt::format(SPDLOG_FMT_STRING(SPDLOG_FILENAME_T("{{:{}}}")), filename); -- -- // MSVC doesn't allow fmt::runtime(..) with wchar, with fmtlib versions < 9.1.x --# if defined(_MSC_VER) && defined(SPDLOG_WCHAR_FILENAMES) && FMT_VERSION < 90101 -- return fmt::format(fmt_filename, now_tm); --# else -- return fmt::format(SPDLOG_FMT_RUNTIME(fmt_filename), now_tm); --# endif -- -+ std::stringstream stream; - #endif -+ stream << std::put_time(&now_tm, file_path.c_str()); -+ return stream.str(); - } - - private: diff --git a/spdlog.spec b/spdlog.spec index 32b8881..882f805 100644 --- a/spdlog.spec +++ b/spdlog.spec @@ -1,19 +1,12 @@ Name: spdlog -Version: 1.11.0 -Release: 6%{?dist} +Version: 1.12.0 +Release: 1%{?dist} License: MIT Summary: Super fast C++ logging library URL: https://github.com/gabime/%{name} Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz -# https://github.com/gabime/spdlog/pull/2661 -Patch100: spdlog-catchv3-compatibility.patch -# https://github.com/gabime/spdlog/pull/2694 -Patch101: spdlog-fmt10-compatibility.patch -# https://github.com/gabime/spdlog/pull/2736 -Patch102: spdlog-fmt10-tests-fixes.patch - BuildRequires: catch-devel >= 3.0.0 BuildRequires: cmake BuildRequires: fmt-devel >= 8.1.1 @@ -73,6 +66,9 @@ rm -f tests/catch.hpp %{_libdir}/pkgconfig/%{name}.pc %changelog +* Sat Jul 08 2023 Vitaly Zaitsev - 1.12.0-1 +- Updated to version 1.12.0. + * Mon May 29 2023 Vitaly Zaitsev - 1.11.0-6 - Rebuilt due to fmt library update.