summaryrefslogtreecommitdiff
path: root/spdlog
diff options
context:
space:
mode:
authorTim Biermann <tbier@posteo.de>2021-07-13 14:47:44 +0200
committerTim Biermann <tbier@posteo.de>2021-07-13 17:32:53 +0200
commit6cf0c8980c2841c6fbdc1ce334e8a9e4b9449d10 (patch)
tree9c066610bbd96468ca9da215a1ae20e2b1d3ad61 /spdlog
parent16b3f1278788e20afdf5ff8b35e84a918f922d5c (diff)
downloadcontrib-6cf0c8980c2841c6fbdc1ce334e8a9e4b9449d10.tar.gz
contrib-6cf0c8980c2841c6fbdc1ce334e8a9e4b9449d10.tar.xz
spdlog: added patches to build against fmt 8
Diffstat (limited to 'spdlog')
-rw-r--r--spdlog/.footprint19
-rw-r--r--spdlog/.signature8
-rw-r--r--spdlog/Pkgfile17
-rw-r--r--spdlog/spdlog-1.8.5-fmt8.patch149
-rw-r--r--spdlog/spdlog-1.8.5-fmt8_tests.patch22
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);
+ }
+ }
+ };

Generated by cgit