summaryrefslogtreecommitdiffstats
path: root/libraries/spdlog
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/spdlog')
-rw-r--r--libraries/spdlog/fmt10.patch39
-rw-r--r--libraries/spdlog/spdlog.SlackBuild1
2 files changed, 40 insertions, 0 deletions
diff --git a/libraries/spdlog/fmt10.patch b/libraries/spdlog/fmt10.patch
new file mode 100644
index 0000000000..6717370e4e
--- /dev/null
+++ b/libraries/spdlog/fmt10.patch
@@ -0,0 +1,39 @@
+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<Args...>;
+ template<class T>
+ using remove_cvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
+
++template <typename Char>
++#if FMT_VERSION >= 90101
++using fmt_runtime_string = fmt::runtime_format_string<Char>;
++#else
++using fmt_runtime_string = fmt::basic_runtime<Char>;
++#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<Char> is only convertible to basic_format_string<Char> but not basic_string_view<Char>
+ template<class T, class Char = char>
+ struct is_convertible_to_basic_format_string
+ : std::integral_constant<bool,
+- std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
++ std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt_runtime_string<Char>>::value>
+ {};
+
+ # if defined(SPDLOG_WCHAR_FILENAMES) || defined(SPDLOG_WCHAR_TO_UTF8_SUPPORT)
diff --git a/libraries/spdlog/spdlog.SlackBuild b/libraries/spdlog/spdlog.SlackBuild
index a7fc75af92..d7ef6642b6 100644
--- a/libraries/spdlog/spdlog.SlackBuild
+++ b/libraries/spdlog/spdlog.SlackBuild
@@ -87,6 +87,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
+patch -p1 < $CWD/fmt10.patch
pkg-config --exists fmt || FMT=OFF
mkdir -p build