Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package spdlog for openSUSE:Factory checked in at 2021-07-10 22:54:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/spdlog (Old) and /work/SRC/openSUSE:Factory/.spdlog.new.2625 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spdlog" Sat Jul 10 22:54:10 2021 rev:18 rq:902203 version:1.8.5 Changes: -------- --- /work/SRC/openSUSE:Factory/spdlog/spdlog.changes 2021-04-06 17:30:33.043175961 +0200 +++ /work/SRC/openSUSE:Factory/.spdlog.new.2625/spdlog.changes 2021-07-10 22:54:26.475786899 +0200 @@ -1,0 +2,6 @@ +Thu Jun 24 16:26:12 UTC 2021 - Luigi Baldoni <aloi...@gmx.com> + +- Add spdlog-1.8.5-fmt8.patch and spdlog-1.8.5-fmt8_tests.patch + to fix compatibility with fmt 8 + +------------------------------------------------------------------- New: ---- spdlog-1.8.5-fmt8.patch spdlog-1.8.5-fmt8_tests.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ spdlog.spec ++++++ --- /var/tmp/diff_new_pack.pNREij/_old 2021-07-10 22:54:27.071782299 +0200 +++ /var/tmp/diff_new_pack.pNREij/_new 2021-07-10 22:54:27.075782268 +0200 @@ -24,9 +24,12 @@ 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 -BuildRequires: gcc %if 0%{?suse_version} > 1500 BuildRequires: gcc-c++ >= 8 %else @@ -34,7 +37,7 @@ %endif BuildRequires: ninja BuildRequires: pkgconfig -BuildRequires: pkgconfig(fmt) +BuildRequires: pkgconfig(fmt) >= 8.0.0 BuildRequires: pkgconfig(libsystemd) %description ++++++ spdlog-1.8.5-fmt8.patch ++++++ >From 8bf718671a9eac5517c27a5ffe72089b7f426d8c Mon Sep 17 00:00:00 2001 From: gabime <gmelm...@gmail.com> 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 <spdlog/fmt/bundled/format-inl.h> + FMT_BEGIN_NAMESPACE namespace detail { -template <typename T> -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<typename T> +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<float> dragonbox::to_decimal(float x) - FMT_NOEXCEPT; -template FMT_API dragonbox::decimal_fp<double> dragonbox::to_decimal(double x) - FMT_NOEXCEPT; - -// DEPRECATED! This function exists for ABI compatibility. -template <typename Char> -typename basic_format_context<std::back_insert_iterator<buffer<Char>>, - Char>::iterator -vformat_to(buffer<Char>& buf, basic_string_view<Char> format_str, - basic_format_args<basic_format_context< - std::back_insert_iterator<buffer<type_identity_t<Char>>>, - type_identity_t<Char>>> - args) { - using iterator = std::back_insert_iterator<buffer<char>>; - using context = basic_format_context< - std::back_insert_iterator<buffer<type_identity_t<Char>>>, - type_identity_t<Char>>; - auto out = iterator(buf); - format_handler<iterator, Char, context> h(out, format_str, args, {}); - parse_format_string<false>(format_str, h); - return out; -} -template basic_format_context<std::back_insert_iterator<buffer<char>>, - char>::iterator -vformat_to(buffer<char>&, string_view, - basic_format_args<basic_format_context< - std::back_insert_iterator<buffer<type_identity_t<char>>>, - type_identity_t<char>>>); -} // namespace detail - -template struct FMT_INSTANTIATION_DEF_API detail::basic_data<void>; +template FMT_API dragonbox::decimal_fp<float> dragonbox::to_decimal(float x) FMT_NOEXCEPT; +template FMT_API dragonbox::decimal_fp<double> 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<char>&) = detail::format_float; +int (*instantiate_format_float)(double, int, detail::float_specs, detail::buffer<char> &) = 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<std::locale>() const; -#endif +# endif // Explicit instantiations for char. -template FMT_API std::string detail::grouping_impl<char>(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<char>; template FMT_API char detail::decimal_point_impl(locale_ref); -template FMT_API void detail::buffer<char>::append(const char*, const char*); +template FMT_API void detail::buffer<char>::append(const char *, const char *); template FMT_API void detail::vformat_to( - detail::buffer<char>&, string_view, - basic_format_args<FMT_BUFFER_CONTEXT(char)>, detail::locale_ref); - -template FMT_API int detail::snprintf_float(double, int, detail::float_specs, - detail::buffer<char>&); -template FMT_API int detail::snprintf_float(long double, int, - detail::float_specs, - detail::buffer<char>&); -template FMT_API int detail::format_float(double, int, detail::float_specs, - detail::buffer<char>&); -template FMT_API int detail::format_float(long double, int, detail::float_specs, - detail::buffer<char>&); + detail::buffer<char> &, string_view, basic_format_args<FMT_BUFFER_CONTEXT(char)>, detail::locale_ref); + +template FMT_API int detail::snprintf_float(double, int, detail::float_specs, detail::buffer<char> &); +template FMT_API int detail::snprintf_float(long double, int, detail::float_specs, detail::buffer<char> &); +template FMT_API int detail::format_float(double, int, detail::float_specs, detail::buffer<char> &); +template FMT_API int detail::format_float(long double, int, detail::float_specs, detail::buffer<char> &); // Explicit instantiations for wchar_t. -template FMT_API std::string detail::grouping_impl<wchar_t>(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<wchar_t>; template FMT_API wchar_t detail::decimal_point_impl(locale_ref); -template FMT_API void detail::buffer<wchar_t>::append(const wchar_t*, - const wchar_t*); +template FMT_API void detail::buffer<wchar_t>::append(const wchar_t *, const wchar_t *); + +template struct detail::basic_data<void>; + FMT_END_NAMESPACE + #endif // !SPDLOG_FMT_EXTERNAL ++++++ spdlog-1.8.5-fmt8_tests.patch ++++++ >From 5887744d8b6ddaa3044d1c59f06e2cf24b8e0349 Mon Sep 17 00:00:00 2001 From: gabime <gmelm...@gmail.com> 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<spdlog::details::dump_info<T>> if (put_positions) { - fmt::format_to(inserter, "{:<04X}: ", pos); + fmt::format_to(inserter, "{:04X}: ", pos); } } };