diff options
author | Tim Biermann <tbier@posteo.de> | 2021-07-13 14:47:44 +0200 |
---|---|---|
committer | Tim Biermann <tbier@posteo.de> | 2021-07-13 17:32:53 +0200 |
commit | 6cf0c8980c2841c6fbdc1ce334e8a9e4b9449d10 (patch) | |
tree | 9c066610bbd96468ca9da215a1ae20e2b1d3ad61 /spdlog | |
parent | 16b3f1278788e20afdf5ff8b35e84a918f922d5c (diff) | |
download | contrib-6cf0c8980c2841c6fbdc1ce334e8a9e4b9449d10.tar.gz contrib-6cf0c8980c2841c6fbdc1ce334e8a9e4b9449d10.tar.xz |
spdlog: added patches to build against fmt 8
Diffstat (limited to 'spdlog')
-rw-r--r-- | spdlog/.footprint | 19 | ||||
-rw-r--r-- | spdlog/.signature | 8 | ||||
-rw-r--r-- | spdlog/Pkgfile | 17 | ||||
-rw-r--r-- | spdlog/spdlog-1.8.5-fmt8.patch | 149 | ||||
-rw-r--r-- | spdlog/spdlog-1.8.5-fmt8_tests.patch | 22 |
5 files changed, 193 insertions, 22 deletions
diff --git a/spdlog/.footprint b/spdlog/.footprint index a72d045b4..3fee6c9ca 100644 --- a/spdlog/.footprint +++ b/spdlog/.footprint @@ -10,6 +10,7 @@ drwxr-xr-x root/root usr/include/spdlog/cfg/ -rw-r--r-- root/root usr/include/spdlog/cfg/helpers-inl.h -rw-r--r-- root/root usr/include/spdlog/cfg/helpers.h -rw-r--r-- root/root usr/include/spdlog/common-inl.h +-rw-r--r-- root/root usr/include/spdlog/common-inl.h.orig -rw-r--r-- root/root usr/include/spdlog/common.h drwxr-xr-x root/root usr/include/spdlog/details/ -rw-r--r-- root/root usr/include/spdlog/details/backtracer-inl.h @@ -39,20 +40,6 @@ drwxr-xr-x root/root usr/include/spdlog/details/ -rw-r--r-- root/root usr/include/spdlog/details/windows_include.h drwxr-xr-x root/root usr/include/spdlog/fmt/ -rw-r--r-- root/root usr/include/spdlog/fmt/bin_to_hex.h -drwxr-xr-x root/root usr/include/spdlog/fmt/bundled/ --rw-r--r-- root/root usr/include/spdlog/fmt/bundled/LICENSE.rst --rw-r--r-- root/root usr/include/spdlog/fmt/bundled/chrono.h --rw-r--r-- root/root usr/include/spdlog/fmt/bundled/color.h --rw-r--r-- root/root usr/include/spdlog/fmt/bundled/compile.h --rw-r--r-- root/root usr/include/spdlog/fmt/bundled/core.h --rw-r--r-- root/root usr/include/spdlog/fmt/bundled/format-inl.h --rw-r--r-- root/root usr/include/spdlog/fmt/bundled/format.h --rw-r--r-- root/root usr/include/spdlog/fmt/bundled/locale.h --rw-r--r-- root/root usr/include/spdlog/fmt/bundled/os.h --rw-r--r-- root/root usr/include/spdlog/fmt/bundled/ostream.h --rw-r--r-- root/root usr/include/spdlog/fmt/bundled/posix.h --rw-r--r-- root/root usr/include/spdlog/fmt/bundled/printf.h --rw-r--r-- root/root usr/include/spdlog/fmt/bundled/ranges.h -rw-r--r-- root/root usr/include/spdlog/fmt/chrono.h -rw-r--r-- root/root usr/include/spdlog/fmt/fmt.h -rw-r--r-- root/root usr/include/spdlog/fmt/ostr.h @@ -104,6 +91,8 @@ drwxr-xr-x root/root usr/lib/cmake/spdlog/ -rw-r--r-- root/root usr/lib/cmake/spdlog/spdlogConfigTargets-release.cmake -rw-r--r-- root/root usr/lib/cmake/spdlog/spdlogConfigTargets.cmake -rw-r--r-- root/root usr/lib/cmake/spdlog/spdlogConfigVersion.cmake --rw-r--r-- root/root usr/lib/libspdlog.a +lrwxrwxrwx root/root usr/lib/libspdlog.so -> libspdlog.so.1 +lrwxrwxrwx root/root usr/lib/libspdlog.so.1 -> libspdlog.so.1.8.5 +-rwxr-xr-x root/root usr/lib/libspdlog.so.1.8.5 drwxr-xr-x root/root usr/lib/pkgconfig/ -rw-r--r-- root/root usr/lib/pkgconfig/spdlog.pc diff --git a/spdlog/.signature b/spdlog/.signature index 17104ca97..5ae82ce68 100644 --- a/spdlog/.signature +++ b/spdlog/.signature @@ -1,5 +1,7 @@ untrusted comment: verify with /etc/ports/contrib.pub -RWSagIOpLGJF36iFrUknOIUr47qHioCGgxc23PnvblH9UXZZxRbHyyRI7uacUhpnYqmj07Pg8cqpjpHhUc8R/ZwvqgT31XUZBwQ= -SHA256 (Pkgfile) = c89f308b599cc3c39b75d0ded33c396cdc9a46aefabd47f3e5f83ca72b37edbc -SHA256 (.footprint) = a4b2171e9c32f95241b6cf456b75e7bd45f34e40e57f8ceb2075ce86ef4493c8 +RWSagIOpLGJF314YMnttbJEj6hWUjKjZV56MtckKr06zcSOYLcuY0sbBEIoIaQs40k2MsVtriMz/AsoN1YcnDbGd/UQ/xZiYIwk= +SHA256 (Pkgfile) = a2fc1ab7da6b4fe48028cd09f1815cd774db1e04449525bc55a2ee9e5854a692 +SHA256 (.footprint) = 18b6e42d82ce749fb89975ba7783cad7adf2c801ca41762abfabc63da9c7890a SHA256 (spdlog-1.8.5.tar.gz) = 944d0bd7c763ac721398dca2bb0f3b5ed16f67cef36810ede5061f35a543b4b8 +SHA256 (spdlog-1.8.5-fmt8.patch) = 42c2350ac24b76d49f39bb6f9d8f067ce5f40102c6f62cf81671033b2955be6b +SHA256 (spdlog-1.8.5-fmt8_tests.patch) = 31882318089ed5b8875268c75e1256e971fe1d0d1894f50bc37e151cfb4e7daa diff --git a/spdlog/Pkgfile b/spdlog/Pkgfile index ee12ee8c5..88aec5cd2 100644 --- a/spdlog/Pkgfile +++ b/spdlog/Pkgfile @@ -1,20 +1,29 @@ # Description: Fast C++ logging library # URL: https://github.com/gabime/spdlog # Maintainer: Tim Biermann, tbier at posteo dot de -# Depends on: cmake fmt +# Depends on: fmt name=spdlog version=1.8.5 -release=1 -source=(https://github.com/gabime/spdlog/archive/v$version/$name-$version.tar.gz) +release=2 +source=(https://github.com/gabime/spdlog/archive/v$version/$name-$version.tar.gz + spdlog-1.8.5-fmt8.patch spdlog-1.8.5-fmt8_tests.patch) build() { - [[ -e /usr/bin/ninja ]] && PKGMK_SPDLOG+=' -G Ninja' + patch -Np1 -d $name-$version -i $SRC/spdlog-1.8.5-fmt8.patch + patch -Np1 -d $name-$version -i $SRC/spdlog-1.8.5-fmt8_tests.patch + + prt-get isinst ninja && PKGMK_SPDLOG+=' -G Ninja' cmake -S $name-$version -B build $PKGMK_SPDLOG \ -D CMAKE_INSTALL_PREFIX=/usr \ -D CMAKE_INSTALL_LIBDIR=lib \ -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \ + -D SPDLOG_FMT_EXTERNAL=ON \ + -D SPDLOG_INSTALL=ON \ + -D SPDLOG_BUILD_SHARED=ON \ + -D SPDLOG_BUILD_EXAMPLE=OFF \ + -D SPDLOG_BUILD_BENCH=OFF \ -Wno-dev cmake --build build DESTDIR=$PKG cmake --install build diff --git a/spdlog/spdlog-1.8.5-fmt8.patch b/spdlog/spdlog-1.8.5-fmt8.patch new file mode 100644 index 000000000..13ae65912 --- /dev/null +++ b/spdlog/spdlog-1.8.5-fmt8.patch @@ -0,0 +1,149 @@ +From 8bf718671a9eac5517c27a5ffe72089b7f426d8c Mon Sep 17 00:00:00 2001 +From: gabime <gmelman1@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 diff --git a/spdlog/spdlog-1.8.5-fmt8_tests.patch b/spdlog/spdlog-1.8.5-fmt8_tests.patch new file mode 100644 index 000000000..1798df2d0 --- /dev/null +++ b/spdlog/spdlog-1.8.5-fmt8_tests.patch @@ -0,0 +1,22 @@ +From 5887744d8b6ddaa3044d1c59f06e2cf24b8e0349 Mon Sep 17 00:00:00 2001 +From: gabime <gmelman1@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); + } + } + }; |