From fe4c1a6ca27974bbfd73cf06b35d80f2c9148a24464db840c76a8a2271418358 Mon Sep 17 00:00:00 2001 From: Luigi Baldoni Date: Wed, 21 Jul 2021 06:45:15 +0000 Subject: [PATCH] Accepting request 907416 from home:alois:branches:devel:libraries:c_c++ - Update to version 1.9.0 What's new: * Support for {fmt} lib version 8.x. * New MongoDB sink. * New QTextEdit and QPlainTextEdit sinks. Fixes and Improvements: * Made mutex member variable mutable. * Changed c-style casts to reinterpret casts in tcp_client. * Rethrnow non std exceptions. * Small code improvement (std::find). * Added support for CMake policy CMP0077. * Allow compilation with nvc++ (and possibly PGI). * Fixed C++20 build resulting in deprecated implicit copy assignment operator warning. * Use std::function for the global error handler. * Fixed dup sink compile warnings in older compilers with back_inserter. * Added a color-terminal type to the color terminals list - to show colors in in RISC-V64 machines. - Drop spdlog-1.8.5-fmt8.patch and spdlog-1.8.5-fmt8_tests.patch (merged upstream) OBS-URL: https://build.opensuse.org/request/show/907416 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/spdlog?expand=0&rev=47 --- spdlog-1.8.5-fmt8.patch | 149 ---------------------------------- spdlog-1.8.5-fmt8_tests.patch | 22 ----- spdlog-1.8.5.tar.gz | 3 - spdlog-1.9.0.tar.gz | 3 + spdlog.changes | 25 ++++++ spdlog.spec | 6 +- 6 files changed, 29 insertions(+), 179 deletions(-) delete mode 100644 spdlog-1.8.5-fmt8.patch delete mode 100644 spdlog-1.8.5-fmt8_tests.patch delete mode 100644 spdlog-1.8.5.tar.gz create mode 100644 spdlog-1.9.0.tar.gz diff --git a/spdlog-1.8.5-fmt8.patch b/spdlog-1.8.5-fmt8.patch deleted file mode 100644 index 82615fe..0000000 --- a/spdlog-1.8.5-fmt8.patch +++ /dev/null @@ -1,149 +0,0 @@ -From 8bf718671a9eac5517c27a5ffe72089b7f426d8c Mon Sep 17 00:00:00 2001 -From: gabime -Date: Thu, 24 Jun 2021 13:22:02 +0300 -Subject: [PATCH] Update fmt version 8.0 - -diff --git a/include/spdlog/common-inl.h b/include/spdlog/common-inl.h -index c3e992224..5fa4e5d95 100644 ---- a/include/spdlog/common-inl.h -+++ b/include/spdlog/common-inl.h -@@ -56,7 +56,7 @@ SPDLOG_INLINE spdlog_ex::spdlog_ex(std::string msg) - SPDLOG_INLINE spdlog_ex::spdlog_ex(const std::string &msg, int last_errno) - { - memory_buf_t outbuf; -- fmt::format_system_error(outbuf, last_errno, msg); -+ fmt::format_system_error(outbuf, last_errno, msg.c_str()); - msg_ = fmt::to_string(outbuf); - } - -diff --git a/src/fmt.cpp b/src/fmt.cpp -index 9e91beb17..edd52dd55 100644 ---- a/src/fmt.cpp -+++ b/src/fmt.cpp -@@ -10,94 +10,58 @@ - #include - - -+ - FMT_BEGIN_NAMESPACE - namespace detail { - --template --int format_float(char* buf, std::size_t size, const char* format, int precision, -- T value) { --#ifdef FMT_FUZZ -- if (precision > 100000) -- throw std::runtime_error( -- "fuzz mode - avoid large allocation inside snprintf"); --#endif -- // Suppress the warning about nonliteral format string. -- int (*snprintf_ptr)(char*, size_t, const char*, ...) = FMT_SNPRINTF; -- return precision < 0 ? snprintf_ptr(buf, size, format, value) -- : snprintf_ptr(buf, size, format, precision, value); -+template -+int format_float(char *buf, std::size_t size, const char *format, int precision, T value) -+{ -+# ifdef FMT_FUZZ -+ if (precision > 100000) -+ throw std::runtime_error("fuzz mode - avoid large allocation inside snprintf"); -+# endif -+ // Suppress the warning about nonliteral format string. -+ int (*snprintf_ptr)(char *, size_t, const char *, ...) = FMT_SNPRINTF; -+ return precision < 0 ? snprintf_ptr(buf, size, format, value) : snprintf_ptr(buf, size, format, precision, value); - } - --template FMT_API dragonbox::decimal_fp dragonbox::to_decimal(float x) -- FMT_NOEXCEPT; --template FMT_API dragonbox::decimal_fp dragonbox::to_decimal(double x) -- FMT_NOEXCEPT; -- --// DEPRECATED! This function exists for ABI compatibility. --template --typename basic_format_context>, -- Char>::iterator --vformat_to(buffer& buf, basic_string_view format_str, -- basic_format_args>>, -- type_identity_t>> -- args) { -- using iterator = std::back_insert_iterator>; -- using context = basic_format_context< -- std::back_insert_iterator>>, -- type_identity_t>; -- auto out = iterator(buf); -- format_handler h(out, format_str, args, {}); -- parse_format_string(format_str, h); -- return out; --} --template basic_format_context>, -- char>::iterator --vformat_to(buffer&, string_view, -- basic_format_args>>, -- type_identity_t>>); --} // namespace detail -- --template struct FMT_INSTANTIATION_DEF_API detail::basic_data; -+template FMT_API dragonbox::decimal_fp dragonbox::to_decimal(float x) FMT_NOEXCEPT; -+template FMT_API dragonbox::decimal_fp dragonbox::to_decimal(double x) FMT_NOEXCEPT; -+} // namespace detail - - // Workaround a bug in MSVC2013 that prevents instantiation of format_float. --int (*instantiate_format_float)(double, int, detail::float_specs, -- detail::buffer&) = detail::format_float; -+int (*instantiate_format_float)(double, int, detail::float_specs, detail::buffer &) = detail::format_float; - --#ifndef FMT_STATIC_THOUSANDS_SEPARATOR --template FMT_API detail::locale_ref::locale_ref(const std::locale& loc); -+# ifndef FMT_STATIC_THOUSANDS_SEPARATOR -+template FMT_API detail::locale_ref::locale_ref(const std::locale &loc); - template FMT_API std::locale detail::locale_ref::get() const; --#endif -+# endif - - // Explicit instantiations for char. - --template FMT_API std::string detail::grouping_impl(locale_ref); --template FMT_API char detail::thousands_sep_impl(locale_ref); -+template FMT_API auto detail::thousands_sep_impl(locale_ref) -> thousands_sep_result; - template FMT_API char detail::decimal_point_impl(locale_ref); - --template FMT_API void detail::buffer::append(const char*, const char*); -+template FMT_API void detail::buffer::append(const char *, const char *); - - template FMT_API void detail::vformat_to( -- detail::buffer&, string_view, -- basic_format_args, detail::locale_ref); -- --template FMT_API int detail::snprintf_float(double, int, detail::float_specs, -- detail::buffer&); --template FMT_API int detail::snprintf_float(long double, int, -- detail::float_specs, -- detail::buffer&); --template FMT_API int detail::format_float(double, int, detail::float_specs, -- detail::buffer&); --template FMT_API int detail::format_float(long double, int, detail::float_specs, -- detail::buffer&); -+ detail::buffer &, string_view, basic_format_args, detail::locale_ref); -+ -+template FMT_API int detail::snprintf_float(double, int, detail::float_specs, detail::buffer &); -+template FMT_API int detail::snprintf_float(long double, int, detail::float_specs, detail::buffer &); -+template FMT_API int detail::format_float(double, int, detail::float_specs, detail::buffer &); -+template FMT_API int detail::format_float(long double, int, detail::float_specs, detail::buffer &); - - // Explicit instantiations for wchar_t. - --template FMT_API std::string detail::grouping_impl(locale_ref); --template FMT_API wchar_t detail::thousands_sep_impl(locale_ref); -+template FMT_API auto detail::thousands_sep_impl(locale_ref) -> thousands_sep_result; - template FMT_API wchar_t detail::decimal_point_impl(locale_ref); - --template FMT_API void detail::buffer::append(const wchar_t*, -- const wchar_t*); -+template FMT_API void detail::buffer::append(const wchar_t *, const wchar_t *); -+ -+template struct detail::basic_data; -+ - FMT_END_NAMESPACE -+ - #endif // !SPDLOG_FMT_EXTERNAL diff --git a/spdlog-1.8.5-fmt8_tests.patch b/spdlog-1.8.5-fmt8_tests.patch deleted file mode 100644 index c00f99e..0000000 --- a/spdlog-1.8.5-fmt8_tests.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 5887744d8b6ddaa3044d1c59f06e2cf24b8e0349 Mon Sep 17 00:00:00 2001 -From: gabime -Date: Thu, 24 Jun 2021 15:58:25 +0300 -Subject: [PATCH] Fixed bin2hex to work with fmt v8 - ---- - include/spdlog/fmt/bin_to_hex.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/spdlog/fmt/bin_to_hex.h b/include/spdlog/fmt/bin_to_hex.h -index 1e2b054b1..45bc8f7d8 100644 ---- a/include/spdlog/fmt/bin_to_hex.h -+++ b/include/spdlog/fmt/bin_to_hex.h -@@ -209,7 +209,7 @@ struct formatter> - - if (put_positions) - { -- fmt::format_to(inserter, "{:<04X}: ", pos); -+ fmt::format_to(inserter, "{:04X}: ", pos); - } - } - }; diff --git a/spdlog-1.8.5.tar.gz b/spdlog-1.8.5.tar.gz deleted file mode 100644 index 891fbea..0000000 --- a/spdlog-1.8.5.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:944d0bd7c763ac721398dca2bb0f3b5ed16f67cef36810ede5061f35a543b4b8 -size 321229 diff --git a/spdlog-1.9.0.tar.gz b/spdlog-1.9.0.tar.gz new file mode 100644 index 0000000..2a89b61 --- /dev/null +++ b/spdlog-1.9.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ad181d75aaedbf47c8881e7b947a47cac3d306997e39de24dba60db633e70a7 +size 327592 diff --git a/spdlog.changes b/spdlog.changes index c329955..0c2e269 100644 --- a/spdlog.changes +++ b/spdlog.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Wed Jul 21 06:42:27 UTC 2021 - Luigi Baldoni + +- Update to version 1.9.0 + What's new: + * Support for {fmt} lib version 8.x. + * New MongoDB sink. + * New QTextEdit and QPlainTextEdit sinks. + Fixes and Improvements: + * Made mutex member variable mutable. + * Changed c-style casts to reinterpret casts in tcp_client. + * Rethrnow non std exceptions. + * Small code improvement (std::find). + * Added support for CMake policy CMP0077. + * Allow compilation with nvc++ (and possibly PGI). + * Fixed C++20 build resulting in deprecated implicit copy + assignment operator warning. + * Use std::function for the global error handler. + * Fixed dup sink compile warnings in older compilers with + back_inserter. + * Added a color-terminal type to the color terminals list - to + show colors in in RISC-V64 machines. +- Drop spdlog-1.8.5-fmt8.patch and spdlog-1.8.5-fmt8_tests.patch + (merged upstream) + ------------------------------------------------------------------- Thu Jun 24 16:26:12 UTC 2021 - Luigi Baldoni diff --git a/spdlog.spec b/spdlog.spec index b3006eb..e091cf2 100644 --- a/spdlog.spec +++ b/spdlog.spec @@ -18,16 +18,12 @@ %define _sover 1 Name: spdlog -Version: 1.8.5 +Version: 1.9.0 Release: 0 Summary: C++ logging library License: MIT URL: https://github.com/gabime/spdlog Source0: https://github.com/gabime/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -# PATCH-FIX-UPSTREAM spdlog-1.8.5-fmt8.patch -Patch0: spdlog-1.8.5-fmt8.patch -# PATCH-FIX-UPSTREAM spdlog-1.8.5-fmt8_tests.patch -Patch1: spdlog-1.8.5-fmt8_tests.patch BuildRequires: benchmark-devel >= 1.4.0 BuildRequires: cmake >= 3.10 %if 0%{?suse_version} > 1500