Here is an update to spdlog 1.13.0.
Version 1.13.0 Release Notes Enhancements - Qt Sink: Allow for darker colors for light backgrounds (#2817). Thanks to @krawq. - Set CMAKE_BUILD_TYPE only for single-config generators (#2839). Thanks to @moritz-h. - Provide spdlog_header_only in build directory export (#2846). Thanks to @robertmaynard. - Add SPDLOG_TO_VERSION to compare spdlog version (#2853). Thanks to @kegechen. - Support async_overflow_policy::discard_new (#2876). Thanks to @walkerlala. - Make syslog_sink.h's syslog_prio_from_level protected (#2918). Thanks to @shannonbooth. - Fix OS availability check of pthread_threadid_np for iOS (#2897). Thanks to @lowdesertpunk. - Add .git-blame-ignore-revs to ignore clang-format related commits (#2899). Thanks to @lowdesertpunk. - Match SPDLOG_CONSTEXPR_FUNC to FMT_CONSTEXPR (#2901). Thanks to @kkraus14. Bug Fixes - Check fd_ is not nullptr in file_helper to prevent possible crash if disk is full (#2972). - Fix encoding issue in qt_sinks (#2862). Thanks to @neothenil and @tt4g . - Fix wrong thread_id (TID) in systemd_sink.h (#2919). Thanks to @M010. - Update example.cpp to fix the vector issue in bin_example (#2963). Thanks to @zhuzhzh. - Fix MSVC compile flag for no exceptions (#2974). Thanks to @Programicus. - Fix bug in circular_q::size() (#2820). - Fix link to fmt license file (#2967). Maintenance - Added and updated various tests for circular_q. - Removed obsolete part from CMake configuration files (#2871). Thanks to @albert-github. - Removed policy_max from cmake_minimum_required(..). - Updated clang-format to google style and updated various formatting scripts. - Bumped catch2 Index: devel/spdlog/Makefile =================================================================== RCS file: /cvs/ports/devel/spdlog/Makefile,v retrieving revision 1.3 diff -u -p -u -p -r1.3 Makefile --- devel/spdlog/Makefile 2 Sep 2023 19:03:37 -0000 1.3 +++ devel/spdlog/Makefile 20 Apr 2024 01:46:44 -0000 @@ -2,23 +2,26 @@ COMMENT = fast C++ logging library GH_ACCOUNT = gabime GH_PROJECT = spdlog -GH_TAGNAME = v1.12.0 +GH_TAGNAME = v1.13.0 CATEGORIES = devel -SHARED_LIBS = spdlog 1.0 +SHARED_LIBS = spdlog 1.1 # MIT PERMIT_PACKAGE = Yes -WANTLIB = ${COMPILER_LIBCXX} m +WANTLIB = ${COMPILER_LIBCXX} fmt m MODULES = devel/cmake +LIB_DEPENDS += devel/fmt>=10.2.1 + # C++11 COMPILER = base-clang ports-gcc CONFIGURE_ARGS+=-DSPDLOG_BUILD_BENCH=OFF \ - -DSPDLOG_BUILD_SHARED=ON + -DSPDLOG_BUILD_SHARED=ON \ + -DSPDLOG_FMT_EXTERNAL=ON NO_TEST = Yes Index: devel/spdlog/distinfo =================================================================== RCS file: /cvs/ports/devel/spdlog/distinfo,v retrieving revision 1.2 diff -u -p -u -p -r1.2 distinfo --- devel/spdlog/distinfo 2 Sep 2023 19:03:37 -0000 1.2 +++ devel/spdlog/distinfo 20 Apr 2024 01:46:44 -0000 @@ -1,2 +1,2 @@ -SHA256 (spdlog-1.12.0.tar.gz) = Tczy0Q9BDB4v6v+Jlmv8SaGrsp728IJGM1sRDgAeCak= -SIZE (spdlog-1.12.0.tar.gz) = 251037 +SHA256 (spdlog-1.13.0.tar.gz) = U08u4aTcvrIiSYVu37K+dqHPT3CKILCsLtCQ7iTP28k= +SIZE (spdlog-1.13.0.tar.gz) = 264003 Index: devel/spdlog/pkg/PLIST =================================================================== RCS file: /cvs/ports/devel/spdlog/pkg/PLIST,v retrieving revision 1.3 diff -u -p -u -p -r1.3 PLIST --- devel/spdlog/pkg/PLIST 2 Sep 2023 19:03:37 -0000 1.3 +++ devel/spdlog/pkg/PLIST 20 Apr 2024 01:46:44 -0000 @@ -39,22 +39,6 @@ include/spdlog/details/udp_client.h include/spdlog/details/windows_include.h include/spdlog/fmt/ include/spdlog/fmt/bin_to_hex.h -include/spdlog/fmt/bundled/ -include/spdlog/fmt/bundled/args.h -include/spdlog/fmt/bundled/chrono.h -include/spdlog/fmt/bundled/color.h -include/spdlog/fmt/bundled/compile.h -include/spdlog/fmt/bundled/core.h -include/spdlog/fmt/bundled/fmt.license.rst -include/spdlog/fmt/bundled/format-inl.h -include/spdlog/fmt/bundled/format.h -include/spdlog/fmt/bundled/locale.h -include/spdlog/fmt/bundled/os.h -include/spdlog/fmt/bundled/ostream.h -include/spdlog/fmt/bundled/printf.h -include/spdlog/fmt/bundled/ranges.h -include/spdlog/fmt/bundled/std.h -include/spdlog/fmt/bundled/xchar.h include/spdlog/fmt/chrono.h include/spdlog/fmt/compile.h include/spdlog/fmt/fmt.h And adjustments for some of the downstream ports that use spdlog as a dependency. Index: devel/coeurl/Makefile =================================================================== RCS file: /cvs/ports/devel/coeurl/Makefile,v retrieving revision 1.7 diff -u -p -u -p -r1.7 Makefile --- devel/coeurl/Makefile 21 Sep 2023 09:49:50 -0000 1.7 +++ devel/coeurl/Makefile 20 Apr 2024 02:07:11 -0000 @@ -4,6 +4,7 @@ CATEGORIES = devel V = v0.3.0 DISTNAME = coeurl-${V} PKGNAME = ${DISTNAME:S/v//} +REVISION = 0 SHARED_LIBS += coeurl 0.1 # 0.2.0 @@ -12,15 +13,15 @@ SITES = https://nheko.im/nheko-reborn/c # MIT PERMIT_PACKAGE = Yes -WANTLIB += ${COMPILER_LIBCXX} curl event_core event_pthreads m +WANTLIB += ${COMPILER_LIBCXX} curl event_core event_pthreads fmt spdlog MODULES = devel/meson # C++17 COMPILER = base-clang ports-gcc -BUILD_DEPENDS = devel/spdlog LIB_DEPENDS = devel/libevent2 \ + devel/spdlog \ net/curl # Run-time dependency doctest found: NO (tried pkgconfig and cmake) Index: devel/coeurl/patches/patch-lib_client_cpp =================================================================== RCS file: devel/coeurl/patches/patch-lib_client_cpp diff -N devel/coeurl/patches/patch-lib_client_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ devel/coeurl/patches/patch-lib_client_cpp 20 Apr 2024 02:07:11 -0000 @@ -0,0 +1,23 @@ +Fix build with fmt10 +https://nheko.im/nheko-reborn/coeurl/-/commit/831e2ee8e9cf08ea1ee9736cde8370f9d0312abc + +Index: lib/client.cpp +--- lib/client.cpp.orig ++++ lib/client.cpp +@@ -6,6 +6,7 @@ + #include <thread> + + #include "coeurl/request.hpp" ++#include "coeurl/errors.hpp" + + namespace coeurl { + std::shared_ptr<spdlog::logger> Client::log = spdlog::null_logger_mt("coeurl_null"); +@@ -352,7 +353,7 @@ void Client::remove_request(Request *r) { + long http_code; + curl_easy_getinfo(req->easy, CURLINFO_RESPONSE_CODE, &http_code); + +- Client::log->trace("DONE: {} => {} ({}) http: {}", req->url_, req->curl_error, req->error, http_code); ++ Client::log->trace("DONE: {} => {} ({}) http: {}", req->url_, coeurl::to_string(req->curl_error), req->error, http_code); + + if (req->on_complete_) + req->on_complete_(*req.get()); Index: net/nheko/Makefile =================================================================== RCS file: /cvs/ports/net/nheko/Makefile,v retrieving revision 1.11 diff -u -p -u -p -r1.11 Makefile --- net/nheko/Makefile 24 Dec 2023 09:09:53 -0000 1.11 +++ net/nheko/Makefile 20 Apr 2024 02:07:11 -0000 @@ -3,7 +3,7 @@ COMMENT = desktop client for Matrix usin GH_ACCOUNT = Nheko-Reborn GH_PROJECT = nheko GH_TAGNAME = v0.11.3 -REVISION = 0 +REVISION = 1 CATEGORIES= net @@ -13,7 +13,7 @@ PERMIT_PACKAGE= Yes WANTLIB += ${COMPILER_LIBCXX} Qt5Concurrent Qt5Core Qt5DBus Qt5Gui WANTLIB += Qt5Multimedia Qt5Network Qt5Qml Qt5QmlModels Qt5Quick WANTLIB += Qt5QuickControls2 Qt5QuickWidgets Qt5Svg Qt5Widgets -WANTLIB += c cmark coeurl crypto glib-2.0 gobject-2.0 gstbase-1.0 +WANTLIB += c cmark coeurl crypto fmt glib-2.0 gobject-2.0 gstbase-1.0 WANTLIB += gstreamer-1.0 gstsdp-1.0 gstwebrtc-1.0 intl lmdb m WANTLIB += matrix_client olm qt5keychain spdlog ssl xcb xcb-ewmh Index: net/nheko/patches/patch-src_Cache_cpp =================================================================== RCS file: /cvs/ports/net/nheko/patches/patch-src_Cache_cpp,v retrieving revision 1.1 diff -u -p -u -p -r1.1 patch-src_Cache_cpp --- net/nheko/patches/patch-src_Cache_cpp 23 Feb 2023 09:14:06 -0000 1.1 +++ net/nheko/patches/patch-src_Cache_cpp 20 Apr 2024 02:07:11 -0000 @@ -1,5 +1,7 @@ -"Fruquent lag due to db sync" https://github.com/Nheko-Reborn/nheko/issues/1355 -Backout d8669ccf3d4429e44caa87e2592b3bc3afa4e41c +- "Fruquent lag due to db sync" https://github.com/Nheko-Reborn/nheko/issues/1355 + Backout d8669ccf3d4429e44caa87e2592b3bc3afa4e41c +- Fix build against fmt10 + e89e65dc17020772eb057414b4f0c5d6f4ad98d0 Index: src/Cache.cpp --- src/Cache.cpp.orig @@ -13,3 +15,12 @@ Index: src/Cache.cpp } catch (const lmdb::error &e) { if (e.code() != MDB_VERSION_MISMATCH && e.code() != MDB_INVALID) { throw std::runtime_error("LMDB initialization failed" + std::string(e.what())); +@@ -438,7 +438,7 @@ Cache::loadSecretsFromStore( + if (job->error() && job->error() != QKeychain::Error::EntryNotFound) { + nhlog::db()->error("Restoring secret '{}' failed ({}): {}", + name.toStdString(), +- job->error(), ++ static_cast<int>(job->error()), + job->errorString().toStdString()); + + fatalSecretError(); Index: net/nheko/patches/patch-src_ChatPage_cpp =================================================================== RCS file: /cvs/ports/net/nheko/patches/patch-src_ChatPage_cpp,v retrieving revision 1.1 diff -u -p -u -p -r1.1 patch-src_ChatPage_cpp --- net/nheko/patches/patch-src_ChatPage_cpp 23 Feb 2023 09:14:06 -0000 1.1 +++ net/nheko/patches/patch-src_ChatPage_cpp 20 Apr 2024 02:07:11 -0000 @@ -1,6 +1,18 @@ +Fix build with fmt 10.1.0 +871e403f6799df48cfbbe08eba56d473a0c34216 + Index: src/ChatPage.cpp --- src/ChatPage.cpp.orig +++ src/ChatPage.cpp +@@ -1248,7 +1248,7 @@ ChatPage::getBackupVersion() + nhlog::crypto()->info("Our backup key {} does not match the one " + "used in the online backup {}", + pubkey, +- auth_data["public_key"]); ++ auth_data["public_key"].get<std::string>()); + cache::client()->deleteBackupVersion(); + return; + } @@ -1664,7 +1664,7 @@ ChatPage::isRoomActive(const QString &room_id) void ChatPage::removeAllNotifications() Index: net/nheko/patches/patch-src_encryption_DeviceVerificationFlow_cpp =================================================================== RCS file: net/nheko/patches/patch-src_encryption_DeviceVerificationFlow_cpp diff -N net/nheko/patches/patch-src_encryption_DeviceVerificationFlow_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ net/nheko/patches/patch-src_encryption_DeviceVerificationFlow_cpp 20 Apr 2024 02:07:11 -0000 @@ -0,0 +1,15 @@ +Fix build against fmt10 +e89e65dc17020772eb057414b4f0c5d6f4ad98d0 + +Index: src/encryption/DeviceVerificationFlow.cpp +--- src/encryption/DeviceVerificationFlow.cpp.orig ++++ src/encryption/DeviceVerificationFlow.cpp +@@ -39,7 +39,7 @@ DeviceVerificationFlow::DeviceVerificationFlow(QObject + , deviceIds(std::move(deviceIds_)) + , model_(model) + { +- nhlog::crypto()->debug("CREATING NEW FLOW, {}, {}", flow_type, (void *)this); ++ nhlog::crypto()->debug("CREATING NEW FLOW, {}, {}", static_cast<int>(flow_type), (void *)this); + if (deviceIds.size() == 1) + deviceId = deviceIds.front(); + Index: net/nheko/patches/patch-src_timeline_InputBar_cpp =================================================================== RCS file: net/nheko/patches/patch-src_timeline_InputBar_cpp diff -N net/nheko/patches/patch-src_timeline_InputBar_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ net/nheko/patches/patch-src_timeline_InputBar_cpp 20 Apr 2024 02:07:11 -0000 @@ -0,0 +1,25 @@ +Fix build against fmt10 +e89e65dc17020772eb057414b4f0c5d6f4ad98d0 + +Index: src/timeline/InputBar.cpp +--- src/timeline/InputBar.cpp.orig ++++ src/timeline/InputBar.cpp +@@ -948,14 +948,15 @@ MediaUpload::MediaUpload(std::unique_ptr<QIODevice> so + this, + [mediaPlayer](QMediaPlayer::Error error) { + nhlog::ui()->debug("Media player error {} and errorStr {}", +- error, ++ static_cast<int>(error), + mediaPlayer->errorString().toStdString()); + }); + connect(mediaPlayer, + &QMediaPlayer::mediaStatusChanged, + [mediaPlayer](QMediaPlayer::MediaStatus status) { +- nhlog::ui()->debug( +- "Media player status {} and error {}", status, mediaPlayer->error()); ++ nhlog::ui()->debug("Media player status {} and error {}", ++ static_cast<int>(status), ++ static_cast<int>(mediaPlayer->error())); + }); + connect(mediaPlayer, + qOverload<const QString &, const QVariant &>(&QMediaPlayer::metaDataChanged), Index: net/nheko/patches/patch-src_ui_MxcMediaProxy_cpp =================================================================== RCS file: net/nheko/patches/patch-src_ui_MxcMediaProxy_cpp diff -N net/nheko/patches/patch-src_ui_MxcMediaProxy_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ net/nheko/patches/patch-src_ui_MxcMediaProxy_cpp 20 Apr 2024 02:07:11 -0000 @@ -0,0 +1,22 @@ +Fix build against fmt10 +e89e65dc17020772eb057414b4f0c5d6f4ad98d0 + +Index: src/ui/MxcMediaProxy.cpp +--- src/ui/MxcMediaProxy.cpp.orig ++++ src/ui/MxcMediaProxy.cpp +@@ -37,11 +37,13 @@ MxcMediaProxy::MxcMediaProxy(QObject *parent) + qOverload<QMediaPlayer::Error>(&MxcMediaProxy::error), + [this](QMediaPlayer::Error error) { + nhlog::ui()->info("Media player error {} and errorStr {}", +- error, ++ static_cast<int>(error), + this->errorString().toStdString()); + }); + connect(this, &MxcMediaProxy::mediaStatusChanged, [this](QMediaPlayer::MediaStatus status) { +- nhlog::ui()->info("Media player status {} and error {}", status, this->error()); ++ nhlog::ui()->info("Media player status {} and error {}", ++ static_cast<int>(status), ++ static_cast<int>(this->error())); + }); + connect(this, + qOverload<const QString &, const QVariant &>(&MxcMediaProxy::metaDataChanged),