* [PR PATCH] fmt: update to 11.0.2
@ 2024-09-07 21:24 Johnnynator
2024-09-09 17:09 ` meator
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Johnnynator @ 2024-09-07 21:24 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1306 bytes --]
There is a new pull request by Johnnynator against master on the void-packages repository
https://github.com/Johnnynator/void-packages android-tools
https://github.com/void-linux/void-packages/pull/52140
fmt: update to 11.0.2
- **fmt: update to 11.0.2.**
- **0ad: rebuild for fmt-11.0.2**
- **Bear: rebuild for fmt-11.0.2**
- **MangoHud: rebuild for fmt-11.0.2**
- **Waybar: rebuild for fmt-11.0.2**
- **cherrytree: rebuild for fmt-11.0.2**
- **coeurl: update to 0.3.1**
- **cryfs: rebuild for fmt-11.0.2**
- **devilutionX: update to 1.5.3.**
- **easyeffects: rebuild for fmt-11.0.2**
- **freecad: rebuild for fmt-11.0.2**
- **furnace: rebuild for fmt-11.0.2**
- **gerbera: update to 2.2.0.**
- **gnuradio: rebuild for fmt-11.0.2**
- **imhex: rebuild for fmt-11.0.2**
- **j4-dmenu-desktop: rebuild for fmt-11.0.2**
- **justbuild: rebuild for fmt-11.0.2**
- **kodi: rebuild for fmt-11.0.2**
- **mkvtoolnix: update to 87.0.**
- **mpd: rebuild for fmt-11.0.2**
- **mtxclient: rebuild for fmt-11.0.2**
- **nheko: rebuild for fmt-11.0.2**
- **opendht: rebuild for fmt-11.0.2**
- **paps: rebuild for fmt-11.0.2**
- **python3-syndom: rebuild for fmt-11.0.2**
- **spdlog: update to 1.14.1.**
- **vtk: update to 9.3.1.**
A patch file from https://github.com/void-linux/void-packages/pull/52140.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-android-tools-52140.patch --]
[-- Type: text/x-diff, Size: 107815 bytes --]
From c02439b718e87917e558a180fcea08c96b806c09 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:17:03 +0200
Subject: [PATCH 01/27] fmt: update to 11.0.2.
---
common/shlibs | 2 +-
srcpkgs/fmt/template | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 391ecd3eefd0e5..32f3725e3767fa 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3624,7 +3624,7 @@ libcotp.so.3 libcotp-3.0.0_1
libunarr.so.1 libunarr-1.0.1_1
libretro-gtk-1.so.0 retro-gtk-1.0.0_1
libmanette-0.2.so.0 libmanette-0.2.1_1
-libfmt.so.9 fmt-9.0.0_1
+libfmt.so.11 fmt-11.0.0_1
libelementary-calendar.so.0 libio.elementary.calendar-4.2.3_1
libolm.so.3 olm-3.0.0_1
libtls.so.29 libtls-3.9.1_1
diff --git a/srcpkgs/fmt/template b/srcpkgs/fmt/template
index c32298a35a90ff..e79643a0fa9bf4 100644
--- a/srcpkgs/fmt/template
+++ b/srcpkgs/fmt/template
@@ -1,6 +1,6 @@
# Template file for 'fmt'
pkgname=fmt
-version=9.1.0
+version=11.0.2
revision=1
build_style=cmake
configure_args="-DBUILD_SHARED_LIBS=ON -DFMT_DOC=OFF -DFMT_TEST=OFF"
@@ -10,10 +10,10 @@ license="MIT WITH fmt-exception"
homepage="https://github.com/fmtlib/fmt"
changelog="https://raw.githubusercontent.com/fmtlib/fmt/master/ChangeLog.rst"
distfiles="https://github.com/fmtlib/fmt/archive/${version}.tar.gz"
-checksum=5dea48d1fcddc3ec571ce2058e13910a0d4a6bab4cc09a809d8b1dd1c88ae6f2
+checksum=6cb1e6d37bdcb756dbbe59be438790db409cdb4868c66e888d5df9f13f7c027f
post_install() {
- vlicense LICENSE.rst LICENSE
+ vlicense LICENSE
}
fmt-devel_package() {
From d7f71023cb0b876f75ae6e70c69d674eacbc9b48 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:08 +0200
Subject: [PATCH 02/27] 0ad: rebuild for fmt-11.0.2
---
srcpkgs/0ad/patches/fmt-10.patch | 26 ++++++++++++++++++++++++++
srcpkgs/0ad/template | 2 +-
2 files changed, 27 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/0ad/patches/fmt-10.patch
diff --git a/srcpkgs/0ad/patches/fmt-10.patch b/srcpkgs/0ad/patches/fmt-10.patch
new file mode 100644
index 00000000000000..ada783ac3c2239
--- /dev/null
+++ b/srcpkgs/0ad/patches/fmt-10.patch
@@ -0,0 +1,26 @@
+diff --git a/source/network/NetMessage.cpp b/source/network/NetMessage.cpp
+index 61126d8..8945175 100644
+--- a/source/network/NetMessage.cpp
++++ b/source/network/NetMessage.cpp
+@@ -216,7 +216,7 @@ CNetMessage* CNetMessageFactory::CreateMessage(const void* pData,
+ break;
+
+ default:
+- LOGERROR("CNetMessageFactory::CreateMessage(): Unknown message type '%d' received", header.GetType());
++ LOGERROR("CNetMessageFactory::CreateMessage(): Unknown message type '%d' received", static_cast<int>(header.GetType()));
+ break;
+ }
+
+diff --git a/source/simulation2/serialization/BinarySerializer.cpp b/source/simulation2/serialization/BinarySerializer.cpp
+index 6a0b4e4..7d30c5b 100644
+--- a/source/simulation2/serialization/BinarySerializer.cpp
++++ b/source/simulation2/serialization/BinarySerializer.cpp
+@@ -52,7 +52,7 @@ static u8 GetArrayType(js::Scalar::Type arrayType)
+ case js::Scalar::Uint8Clamped:
+ return SCRIPT_TYPED_ARRAY_UINT8_CLAMPED;
+ default:
+- LOGERROR("Cannot serialize unrecognized typed array view: %d", arrayType);
++ LOGERROR("Cannot serialize unrecognized typed array view: %d", static_cast<int>(arrayType));
+ throw PSERROR_Serialize_InvalidScriptValue();
+ }
+ }
diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index ae29ee78b02335..a0f7607b39e2ad 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
# Template file for '0ad'
pkgname=0ad
version=0.0.26
-revision=9
+revision=10
archs="x86_64* i686* aarch64* armv7l* ppc64le*"
build_helper=rust
hostmakedepends="pkg-config perl cmake python3.11 rust cargo yasm tar clang"
From 42d3c26e570e74807fef174be46ab3cf8a3a0d59 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:08 +0200
Subject: [PATCH 03/27] Bear: rebuild for fmt-11.0.2
---
...afe61299c87449023d63336389f159b55808.patch | 55 +++++++++++++++++++
srcpkgs/Bear/template | 2 +-
2 files changed, 56 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/Bear/patches/8afeafe61299c87449023d63336389f159b55808.patch
diff --git a/srcpkgs/Bear/patches/8afeafe61299c87449023d63336389f159b55808.patch b/srcpkgs/Bear/patches/8afeafe61299c87449023d63336389f159b55808.patch
new file mode 100644
index 00000000000000..0603c34719b655
--- /dev/null
+++ b/srcpkgs/Bear/patches/8afeafe61299c87449023d63336389f159b55808.patch
@@ -0,0 +1,55 @@
+From 8afeafe61299c87449023d63336389f159b55808 Mon Sep 17 00:00:00 2001
+From: Kefu Chai <tchaikov@gmail.com>
+Date: Sun, 14 Jul 2024 08:47:53 +0800
+Subject: [PATCH] citnames: include fmt/ranges.h for using fmt::join()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+fmt::join() was moved into fmt/ranges.h since fmt v11, so include
+this header for using fmt::join(). otherwise, we'd have following
+compilation failure when building Bear with fmt v11 and up:
+
+```
+/builddir/build/BUILD/bear-3.1.4-build/Bear-3.1.4/source/citnames/source/semantic/Parsers.h:255:73: error: ‘join’ is not a member of ‘fmt’
+ 255 | fmt::format("Failed to recognize: {}", fmt::join(remainder.begin(), remainder.end(), ", "))
+ | ^~~~
+```
+
+Signed-off-by: Kefu Chai <tchaikov@gmail.com>
+---
+ source/citnames/source/semantic/Parsers.h | 1 +
+ source/citnames/source/semantic/Semantic.cc | 3 ++-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/source/citnames/source/semantic/Parsers.h b/source/citnames/source/semantic/Parsers.h
+index 90e64f9e..34203a17 100644
+--- a/source/citnames/source/semantic/Parsers.h
++++ b/source/citnames/source/semantic/Parsers.h
+@@ -30,6 +30,7 @@
+ #include <optional>
+
+ #include <fmt/format.h>
++#include <fmt/ranges.h>
+
+ namespace cs::semantic {
+
+diff --git a/source/citnames/source/semantic/Semantic.cc b/source/citnames/source/semantic/Semantic.cc
+index da762956..54d3e62d 100644
+--- a/source/citnames/source/semantic/Semantic.cc
++++ b/source/citnames/source/semantic/Semantic.cc
+@@ -21,6 +21,7 @@
+ #include "semantic/Semantic.h"
+
+ #include <fmt/format.h>
++#include <fmt/ranges.h>
+ #ifdef HAVE_FMT_STD_H
+ #include <fmt/std.h>
+ #else
+@@ -133,4 +134,4 @@ namespace cs::semantic {
+ }
+ return results;
+ }
+-}
+\ No newline at end of file
++}
diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index 0d9139fc8f5cc5..338787a9d2fad3 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
# Template file for 'Bear'
pkgname=Bear
version=3.1.4
-revision=1
+revision=2
build_style=cmake
hostmakedepends="pkg-config protobuf protobuf-devel grpc"
makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"
From f40599accf8ed3bb6125261262bb527402fbaeca Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:08 +0200
Subject: [PATCH 04/27] MangoHud: rebuild for fmt-11.0.2
---
srcpkgs/MangoHud/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/MangoHud/template b/srcpkgs/MangoHud/template
index ad1334062d2d35..734d579b616c72 100644
--- a/srcpkgs/MangoHud/template
+++ b/srcpkgs/MangoHud/template
@@ -1,7 +1,7 @@
# Template file for 'MangoHud'
pkgname=MangoHud
version=0.7.2
-revision=2
+revision=3
build_style=meson
configure_args="-Dwith_xnvctrl=disabled
-Dwith_nvml=disabled -Duse_system_spdlog=enabled"
From 8b4f2f7f62504935a822d17f680afd2bc1434ccd Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:08 +0200
Subject: [PATCH 05/27] Waybar: rebuild for fmt-11.0.2
---
srcpkgs/Waybar/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/Waybar/template b/srcpkgs/Waybar/template
index a3c47d888ddefc..83953beefd9555 100644
--- a/srcpkgs/Waybar/template
+++ b/srcpkgs/Waybar/template
@@ -1,7 +1,7 @@
# Template file for 'Waybar'
pkgname=Waybar
version=0.10.4
-revision=1
+revision=2
build_style=meson
configure_args="-Dlibudev=enabled -Dman-pages=enabled
-Dsystemd=disabled -Drfkill=enabled
From 6be89fa90c50ed65d37c92a0757daecc4fe9cd01 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:08 +0200
Subject: [PATCH 06/27] cherrytree: rebuild for fmt-11.0.2
---
...3db2b25977037c7520a8316183636a262130.patch | 221 +++++++
...2f3b44fef81e67c9bfbcdaed2f80ab2ff5de.patch | 41 ++
...030e2e2b6e1488148d3828baeb8f5911eb8d.patch | 22 +
...d101f24a409efddb2f29e8c14002c9836a85.patch | 550 ++++++++++++++++++
...7499067b9db9841175b5a2d6934dc65e4522.patch | 151 +++++
srcpkgs/cherrytree/patches/series | 5 +
srcpkgs/cherrytree/template | 2 +-
7 files changed, 991 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/cherrytree/patches/05233db2b25977037c7520a8316183636a262130.patch
create mode 100644 srcpkgs/cherrytree/patches/22142f3b44fef81e67c9bfbcdaed2f80ab2ff5de.patch
create mode 100644 srcpkgs/cherrytree/patches/76f0030e2e2b6e1488148d3828baeb8f5911eb8d.patch
create mode 100644 srcpkgs/cherrytree/patches/ccc2d101f24a409efddb2f29e8c14002c9836a85.patch
create mode 100644 srcpkgs/cherrytree/patches/fc1d7499067b9db9841175b5a2d6934dc65e4522.patch
create mode 100644 srcpkgs/cherrytree/patches/series
diff --git a/srcpkgs/cherrytree/patches/05233db2b25977037c7520a8316183636a262130.patch b/srcpkgs/cherrytree/patches/05233db2b25977037c7520a8316183636a262130.patch
new file mode 100644
index 00000000000000..31e4d5999fad07
--- /dev/null
+++ b/srcpkgs/cherrytree/patches/05233db2b25977037c7520a8316183636a262130.patch
@@ -0,0 +1,221 @@
+From 05233db2b25977037c7520a8316183636a262130 Mon Sep 17 00:00:00 2001
+From: Giuseppe Penone <giuspen@gmail.com>
+Date: Thu, 22 Aug 2024 22:58:03 +0100
+Subject: [PATCH] fixed fmt issue on fs::path (#2548)
+
+---
+ src/ct/ct_app.cc | 2 +-
+ src/ct/ct_filesystem.cc | 20 ++++++++++----------
+ src/ct/ct_imports.cc | 2 +-
+ src/ct/ct_main_win_file.cc | 8 ++++----
+ src/ct/ct_storage_control.cc | 8 ++++----
+ src/ct/ct_storage_multifile.cc | 6 +++---
+ 6 files changed, 23 insertions(+), 23 deletions(-)
+
+diff --git a/src/ct/ct_app.cc b/src/ct/ct_app.cc
+index 788e6092..66460cd0 100644
+--- a/src/ct/ct_app.cc
++++ b/src/ct/ct_app.cc
+@@ -152,7 +152,7 @@ void CtApp::on_activate()
+ }
+ else {
+ const fs::path last_doc_path{_pCtConfig->recentDocsFilepaths.front()};
+- spdlog::info("{} Last doc not found: {}", __FUNCTION__, last_doc_path);
++ spdlog::info("{} Last doc not found: {}", __FUNCTION__, last_doc_path.string());
+ _pCtConfig->recentDocsFilepaths.move_or_push_back(last_doc_path);
+ pAppWindow->menu_set_items_recent_documents();
+ }
+diff --git a/src/ct/ct_filesystem.cc b/src/ct/ct_filesystem.cc
+index 5c5f5ea7..1b94a186 100644
+--- a/src/ct/ct_filesystem.cc
++++ b/src/ct/ct_filesystem.cc
+@@ -163,13 +163,13 @@ bool remove(const fs::path& path2rm)
+ {
+ if (fs::is_directory(path2rm)) {
+ if (g_rmdir(path2rm.c_str()) != 0) {
+- spdlog::error("fs::remove: g_rmdir failed to remove {}", path2rm);
++ spdlog::error("fs::remove: g_rmdir failed to remove {}", path2rm.string());
+ return false;
+ }
+ }
+ else if (fs::exists(path2rm)) {
+ if (::g_remove(path2rm.c_str()) != 0) {
+- spdlog::error("fs::remove: g_remove failed to remove {}", path2rm);
++ spdlog::error("fs::remove: g_remove failed to remove {}", path2rm.string());
+ return false;
+ }
+ }
+@@ -249,13 +249,13 @@ time_t getmtime(const path& p)
+ std::uintmax_t file_size(const path& p)
+ {
+ if (fs::is_directory(p)) {
+- spdlog::error("fs::file_size: path is a directory, {}", p);
++ spdlog::error("fs::file_size: path is a directory, {}", p.string());
+ return 0;
+ }
+
+ GStatBuf st;
+ if (g_stat(p.c_str(), &st) != 0) {
+- spdlog::error("fs::file_size: g_stat failed, {}", p);
++ spdlog::error("fs::file_size: g_stat failed, {}", p.string());
+ return 0;
+ }
+
+@@ -317,7 +317,7 @@ void _open_path_with_default_app(const fs::path& file_or_folder_path)
+ // Open Filepath with External App
+ void open_filepath(const fs::path& filepath, bool open_folder_if_file_not_exists, CtConfig* config)
+ {
+- spdlog::debug("fs::open_filepath {}", filepath);
++ spdlog::debug("fs::open_filepath {}", filepath.string());
+ if (config->filelinkCustomOn) {
+ std::string cmd = fmt::sprintf(config->filelinkCustomAct, filepath.string());
+ _locale_env_vars_set_for_external_cmd(true/*isPre*/);
+@@ -344,7 +344,7 @@ void open_filepath(const fs::path& filepath, bool open_folder_if_file_not_exists
+ // Open Folderpath with External App
+ void open_folderpath(const fs::path& folderpath, CtConfig* config)
+ {
+- spdlog::debug("fs::open_folderpath {}", folderpath);
++ spdlog::debug("fs::open_folderpath {}", folderpath.string());
+ if (config->folderlinkCustomOn) {
+ std::string cmd = fmt::sprintf(config->folderlinkCustomAct, folderpath.string());
+ _locale_env_vars_set_for_external_cmd(true/*isPre*/);
+@@ -361,12 +361,12 @@ void open_folderpath(const fs::path& folderpath, CtConfig* config)
+
+ path prepare_export_folder(const path& dir_place, path new_folder, bool overwrite_existing)
+ {
+- if (fs::is_directory(dir_place / new_folder))
+- {
++ const fs::path dir_place_new_folder = dir_place / new_folder;
++ if (fs::is_directory(dir_place_new_folder)) {
+ // todo:
+ if (overwrite_existing) {
+- spdlog::debug("fs::prepare_export_folder: removing dir {}", dir_place / new_folder);
+- remove_all(dir_place / new_folder);
++ spdlog::debug("fs::prepare_export_folder: removing dir {}", dir_place_new_folder.string());
++ remove_all(dir_place_new_folder);
+ }
+ else {
+ int n = 2;
+diff --git a/src/ct/ct_imports.cc b/src/ct/ct_imports.cc
+index 20e5d01d..59947ee4 100644
+--- a/src/ct/ct_imports.cc
++++ b/src/ct/ct_imports.cc
+@@ -454,7 +454,7 @@ std::unique_ptr<CtImportedNode> CtPlainTextImport::import_file(const fs::path& f
+ }
+ }
+ catch (std::exception& ex) {
+- spdlog::error("{}, what: {}, file: {}", __FUNCTION__, ex.what(), file);
++ spdlog::error("{}, what: {}, file: {}", __FUNCTION__, ex.what(), file.string());
+ }
+ return nullptr;
+ }
+diff --git a/src/ct/ct_main_win_file.cc b/src/ct/ct_main_win_file.cc
+index 52540b7f..752f97ee 100644
+--- a/src/ct/ct_main_win_file.cc
++++ b/src/ct/ct_main_win_file.cc
+@@ -194,14 +194,14 @@ bool CtMainWin::file_open(const fs::path& filepath,
+ spdlog::debug("trying {} -> {}", curr_backup_file.string(), filepath.string());
+ new_storage = CtStorageControl::load_from(this, filepath, doc_type, error_or_warning, password);
+ if (new_storage) {
+- spdlog::debug("OK recover from {}", curr_backup_file);
++ spdlog::debug("OK recover from {}", curr_backup_file.string());
+ break;
+ }
+ fs::move_file(filepath, curr_backup_file);
+ spdlog::debug("moved back {} -> {}", filepath.string(), curr_backup_file.string());
+ }
+ else {
+- spdlog::debug("?? backed up data, {} missing", curr_backup_file);
++ spdlog::debug("?? backed up data, {} missing", curr_backup_file.string());
+ if (++missing_backup > 3) break;
+ }
+ }
+@@ -445,7 +445,7 @@ void CtMainWin::mod_time_sentinel_restart()
+
+ bool CtMainWin::file_insert_plain_text(const fs::path& filepath)
+ {
+- spdlog::debug("trying to insert text file as node: {}", filepath);
++ spdlog::debug("trying to insert text file as node: {}", filepath.string());
+ try {
+ Glib::RefPtr<Gsv::Buffer> pBuffer = Gsv::Buffer::create();
+ if (CtStrUtil::file_any_encoding_load_into_source_buffer(filepath.string(), pBuffer)) {
+@@ -459,7 +459,7 @@ bool CtMainWin::file_insert_plain_text(const fs::path& filepath)
+ }
+ }
+ catch (std::exception& ex) {
+- spdlog::error("{}, what: {}, file: {}", __FUNCTION__, ex.what(), filepath);
++ spdlog::error("{}, what: {}, file: {}", __FUNCTION__, ex.what(), filepath.string());
+ }
+ return false;
+ }
+diff --git a/src/ct/ct_storage_control.cc b/src/ct/ct_storage_control.cc
+index 9a6e813a..34dd0a1b 100644
+--- a/src/ct/ct_storage_control.cc
++++ b/src/ct/ct_storage_control.cc
+@@ -443,7 +443,7 @@ Glib::RefPtr<Gsv::Buffer> CtStorageControl::get_delayed_text_buffer(const gint64
+ fs::get_doc_type_from_file_ext(filesInTmpDir.front()) == fs::get_doc_type_from_file_ext(temp_file_path) and
+ fs::move_file(filesInTmpDir.front(), temp_file_path))
+ {
+- spdlog::debug("encrypt doc renamed {} -> {}", filesInTmpDir.front().filename(), temp_file_path.filename());
++ spdlog::debug("encrypt doc renamed {} -> {}", filesInTmpDir.front().filename().string(), temp_file_path.filename().string());
+ return temp_file_path;
+ }
+ }
+@@ -476,7 +476,7 @@ Glib::RefPtr<Gsv::Buffer> CtStorageControl::get_delayed_text_buffer(const gint64
+ return false;
+ }
+ if (not fs::is_regular_file(file_to)) {
+- spdlog::debug("!! is_regular_file {}", file_to);
++ spdlog::debug("!! is_regular_file {}", file_to.string());
+ if (not tmp_prev_archive.empty()) {
+ (void)fs::move_file(tmp_prev_archive, file_to);
+ }
+@@ -628,7 +628,7 @@ void CtStorageControl::_backupEncryptThread()
+ break;
+ }
+ #if defined(DEBUG_BACKUP_ENCRYPT)
+- spdlog::debug("{} -> {}", tilda_node_dir_from, tilda_node_dir_to);
++ spdlog::debug("{} -> {}", tilda_node_dir_from.string(), tilda_node_dir_to.string());
+ #endif // DEBUG_BACKUP_ENCRYPT
+ }
+ tilda_dirpath = tilda_dirpath.string().substr(0, tilda_dirpath.string().size()-1);
+@@ -647,7 +647,7 @@ void CtStorageControl::_backupEncryptThread()
+ }
+ #if defined(DEBUG_BACKUP_ENCRYPT)
+ else {
+- spdlog::debug("{} -> {}", pBackupEncryptData->main_backup, tilda_node_dir_to);
++ spdlog::debug("{} -> {}", pBackupEncryptData->main_backup, tilda_node_dir_to.string());
+ }
+ #endif // DEBUG_BACKUP_ENCRYPT
+ }
+diff --git a/src/ct/ct_storage_multifile.cc b/src/ct/ct_storage_multifile.cc
+index ebd729e0..b7b10b4d 100644
+--- a/src/ct/ct_storage_multifile.cc
++++ b/src/ct/ct_storage_multifile.cc
+@@ -284,7 +284,7 @@ void CtStorageMultiFile::_hier_try_move_node(const fs::path& dir_path_to)
+ };
+ f_find_dir_from(_dir_path);
+ if (not dir_path_from.empty()) {
+- spdlog::debug("{} -> {}", dir_path_from, dir_path_to);
++ spdlog::debug("{} -> {}", dir_path_from.string(), dir_path_to.string());
+ fs::move_file(dir_path_from, dir_path_to);
+ }
+ }
+@@ -520,7 +520,7 @@ bool CtStorageMultiFile::populate_treestore(const fs::path& dir_path, Glib::ustr
+ const fs::path curr_backup_dir = first_backup_dir + str::repeat(CtConst::CHAR_TILDE, b).raw();
+ if (fs::is_directory(curr_backup_dir)) {
+ missing_backup = 0;
+- spdlog::debug("backed up data, {} found", curr_backup_dir);
++ spdlog::debug("backed up data, {} found", curr_backup_dir.string());
+ const fs::path backup_node_xml_path = curr_backup_dir / nodedir.filename() / NODE_XML;
+ try {
+ pParser = CtStorageXml::get_parser(backup_node_xml_path);
+@@ -541,7 +541,7 @@ bool CtStorageMultiFile::populate_treestore(const fs::path& dir_path, Glib::ustr
+ }
+ }
+ else {
+- spdlog::debug("?? backed up data, {} missing", curr_backup_dir);
++ spdlog::debug("?? backed up data, {} missing", curr_backup_dir.string());
+ if (++missing_backup > 3) break;
+ }
+ }
diff --git a/srcpkgs/cherrytree/patches/22142f3b44fef81e67c9bfbcdaed2f80ab2ff5de.patch b/srcpkgs/cherrytree/patches/22142f3b44fef81e67c9bfbcdaed2f80ab2ff5de.patch
new file mode 100644
index 00000000000000..bb4bcaebb8af15
--- /dev/null
+++ b/srcpkgs/cherrytree/patches/22142f3b44fef81e67c9bfbcdaed2f80ab2ff5de.patch
@@ -0,0 +1,41 @@
+From 22142f3b44fef81e67c9bfbcdaed2f80ab2ff5de Mon Sep 17 00:00:00 2001
+From: Giuseppe Penone <giuspen@gmail.com>
+Date: Thu, 22 Aug 2024 22:22:46 +0100
+Subject: [PATCH] fixed fmt issue on fs::path (#2548)
+
+---
+ src/ct/ct_config.cc | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/ct/ct_config.cc b/src/ct/ct_config.cc
+index 3ebb5451..44a7ab10 100644
+--- a/src/ct/ct_config.cc
++++ b/src/ct/ct_config.cc
+@@ -69,7 +69,7 @@ void CtConfig::move_from_tmp()
+ {
+ if (not _configFilepathTmp.string().empty() and fs::exists(_configFilepathTmp)) {
+ if (not fs::move_file(_configFilepathTmp, _configFilepath)) {
+- spdlog::error("{} -> {}", _configFilepathTmp, _configFilepath);
++ spdlog::error("{} -> {}", _configFilepathTmp.string(), _configFilepath.string());
+ }
+ }
+ }
+@@ -92,15 +92,15 @@ bool CtConfig::_load_from_file()
+ _uKeyFile->load_from_file(_configFilepath.string());
+ }
+ catch (Glib::Error& error) {
+- spdlog::error("CtConfig {}: {}", _configFilepath, error.what().raw());
++ spdlog::error("CtConfig {}: {}", _configFilepath.string(), error.what().raw());
+ return false;
+ }
+ _populate_data_from_keyfile();
+ _uKeyFile.reset(nullptr);
+- spdlog::debug("{} parsed", _configFilepath);
++ spdlog::debug("{} parsed", _configFilepath.string());
+ return true;
+ }
+- spdlog::warn("{} missing", _configFilepath);
++ spdlog::warn("{} missing", _configFilepath.string());
+ return false;
+ }
+
diff --git a/srcpkgs/cherrytree/patches/76f0030e2e2b6e1488148d3828baeb8f5911eb8d.patch b/srcpkgs/cherrytree/patches/76f0030e2e2b6e1488148d3828baeb8f5911eb8d.patch
new file mode 100644
index 00000000000000..88c1030e21cce6
--- /dev/null
+++ b/srcpkgs/cherrytree/patches/76f0030e2e2b6e1488148d3828baeb8f5911eb8d.patch
@@ -0,0 +1,22 @@
+From 76f0030e2e2b6e1488148d3828baeb8f5911eb8d Mon Sep 17 00:00:00 2001
+From: Giuseppe Penone <giuspen@gmail.com>
+Date: Wed, 21 Aug 2024 22:42:54 +0100
+Subject: [PATCH] fixed fmt issue on fs::path (#2548)
+
+---
+ src/ct/ct_actions_others.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ct/ct_actions_others.cc b/src/ct/ct_actions_others.cc
+index 91ff638e..6931d411 100644
+--- a/src/ct/ct_actions_others.cc
++++ b/src/ct/ct_actions_others.cc
+@@ -898,7 +898,7 @@ bool CtActions::_on_embfiles_sentinel_timeout()
+ for (auto& item : _embfiles_opened) {
+ const fs::path& tmp_filepath = item.second.tmp_filepath;
+ if (not fs::is_regular_file(tmp_filepath)) {
+- spdlog::debug("embdrop {}", tmp_filepath);
++ spdlog::debug("embdrop {}", tmp_filepath.string());
+ _embfiles_opened.erase(item.first);
+ break;
+ }
diff --git a/srcpkgs/cherrytree/patches/ccc2d101f24a409efddb2f29e8c14002c9836a85.patch b/srcpkgs/cherrytree/patches/ccc2d101f24a409efddb2f29e8c14002c9836a85.patch
new file mode 100644
index 00000000000000..32b2af2060e6e0
--- /dev/null
+++ b/srcpkgs/cherrytree/patches/ccc2d101f24a409efddb2f29e8c14002c9836a85.patch
@@ -0,0 +1,550 @@
+From ccc2d101f24a409efddb2f29e8c14002c9836a85 Mon Sep 17 00:00:00 2001
+From: Giuseppe Penone <giuspen@gmail.com>
+Date: Wed, 21 Aug 2024 18:19:40 +0100
+Subject: [PATCH] removed fmt custom formatter for Glib::ustring (#2548)
+
+---
+ src/ct/ct_actions_edit.cc | 6 +++---
+ src/ct/ct_actions_find.cc | 4 ++--
+ src/ct/ct_actions_others.cc | 2 +-
+ src/ct/ct_clipboard.cc | 10 +++++-----
+ src/ct/ct_config.cc | 2 +-
+ src/ct/ct_dialogs_find.cc | 2 +-
+ src/ct/ct_export2html.cc | 10 +++++-----
+ src/ct/ct_export2pdf.cc | 10 +++++-----
+ src/ct/ct_export2txt.cc | 2 +-
+ src/ct/ct_filesystem.cc | 2 +-
+ src/ct/ct_image.cc | 2 +-
+ src/ct/ct_imports.cc | 4 ++--
+ src/ct/ct_logging.h | 13 +------------
+ src/ct/ct_main_win_buffer.cc | 4 ++--
+ src/ct/ct_main_win_events.cc | 2 +-
+ src/ct/ct_misc_utils.cc | 4 ++--
+ src/ct/ct_misc_utils.h | 2 +-
+ src/ct/ct_storage_control.cc | 6 +++---
+ src/ct/ct_storage_multifile.cc | 2 +-
+ src/ct/ct_storage_sqlite.cc | 4 ++--
+ src/ct/ct_storage_sqlite.h | 4 ++--
+ src/ct/ct_storage_xml.cc | 2 +-
+ src/ct/ct_treestore.cc | 6 +++---
+ tests/tests_encoding.cpp | 4 ++--
+ 24 files changed, 49 insertions(+), 60 deletions(-)
+
+diff --git a/src/ct/ct_actions_edit.cc b/src/ct/ct_actions_edit.cc
+index 972838431..155d935ff 100644
+--- a/src/ct/ct_actions_edit.cc
++++ b/src/ct/ct_actions_edit.cc
+@@ -93,7 +93,7 @@ void CtActions::image_insert()
+ rPixbuf = Gdk::Pixbuf::create_from_file(filename);
+ }
+ catch (Glib::Error& error) {
+- spdlog::error("{} {}", __FUNCTION__, error.what());
++ spdlog::error("{} {}", __FUNCTION__, error.what().raw());
+ }
+ if (rPixbuf)
+ _image_edit_dialog(rPixbuf, _curr_buffer()->get_insert()->get_iter(), nullptr/*pIterBound*/);
+@@ -303,7 +303,7 @@ TocEntry find_toc_entries(CtActions& actions, CtTreeIter& node, unsigned depth)
+ std::unordered_map<int, int> encountered_headers;
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = node.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), node.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), node.get_node_name().raw()));
+ }
+ Gtk::TextIter text_iter = rTextBuffer->begin();
+
+@@ -354,7 +354,7 @@ TocEntry find_toc_entries(CtActions& actions, CtTreeIter& node, unsigned depth)
+ entry.children.emplace_back(fmt::format("node {} {}", node_id, anchor_txt), false/*is_node*/, txt, depth + 1, h_lvl);
+ }
+ catch(std::invalid_argument&) {
+- spdlog::error("Could not convert [{}] to an integer", h_level_str);
++ spdlog::error("Could not convert [{}] to an integer", h_level_str.raw());
+ }
+ }
+
+diff --git a/src/ct/ct_actions_find.cc b/src/ct/ct_actions_find.cc
+index 47a708873..d0b8cabad 100644
+--- a/src/ct/ct_actions_find.cc
++++ b/src/ct/ct_actions_find.cc
+@@ -218,7 +218,7 @@ void CtActions::find_in_multiple_nodes_ok_clicked()
+ if (_s_options.node_content) {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = ct_node_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- CtDialogs::error_dialog(str::format(_("Failed to retrieve the content of the node '%s'"), ct_node_iter.get_node_name()), *_pCtMainWin);
++ CtDialogs::error_dialog(str::format(_("Failed to retrieve the content of the node '%s'"), ct_node_iter.get_node_name().raw()), *_pCtMainWin);
+ break;
+ }
+ }
+@@ -440,7 +440,7 @@ CtMatchType CtActions::_parse_given_node_content(CtTreeIter node_iter,
+ if (_s_options.node_content) {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = ct_node_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- CtDialogs::error_dialog(str::format(_("Failed to retrieve the content of the node '%s'"), ct_node_iter.get_node_name()), *_pCtMainWin);
++ CtDialogs::error_dialog(str::format(_("Failed to retrieve the content of the node '%s'"), ct_node_iter.get_node_name().raw()), *_pCtMainWin);
+ break;
+ }
+ }
+diff --git a/src/ct/ct_actions_others.cc b/src/ct/ct_actions_others.cc
+index a7c6746eb..91ff638e4 100644
+--- a/src/ct/ct_actions_others.cc
++++ b/src/ct/ct_actions_others.cc
+@@ -575,7 +575,7 @@ void CtActions::_exec_code(const bool is_all)
+ }
+ else {
+ const int retVal = std::system(terminal_cmd.c_str());
+- if (retVal != 0) spdlog::error("system({}) returned {}", terminal_cmd, retVal);
++ if (retVal != 0) spdlog::error("system({}) returned {}", terminal_cmd.raw(), retVal);
+ }
+ }
+
+diff --git a/src/ct/ct_clipboard.cc b/src/ct/ct_clipboard.cc
+index 9c9bc3ca7..8ca0b080f 100644
+--- a/src/ct/ct_clipboard.cc
++++ b/src/ct/ct_clipboard.cc
+@@ -246,7 +246,7 @@ void CtClipboard::anchor_link_to_clipboard(CtTreeIter node, const Glib::ustring&
+ CtClipboardData* clip_data = new CtClipboardData{};
+ std::string tml = R"XML(<?xml version="1.0" encoding="UTF-8"?><root><slot><rich_text link="node {} {}">{}</rich_text></slot></root>)XML";
+ clip_data->rich_text = fmt::format(tml, node.get_node_id(), str::xml_escape(anchor_name), str::xml_escape(anchor_name));
+- clip_data->plain_text = fmt::format("{} - {} - {}", node.get_cherrytree_filepath(), CtMiscUtil::get_node_hierarchical_name(node, " / ", false/*for_filename*/).c_str(), anchor_name);
++ clip_data->plain_text = fmt::format("{} - {} - {}", node.get_cherrytree_filepath(), CtMiscUtil::get_node_hierarchical_name(node, " / ", false/*for_filename*/).c_str(), anchor_name.raw());
+
+ _set_clipboard_data({CtConst::TARGET_CTD_RICH_TEXT, CtConst::TARGET_CTD_PLAIN_TEXT}, clip_data);
+ }
+@@ -756,7 +756,7 @@ void CtClipboard::on_received_to_uri_list(const Gtk::SelectionData& selection_da
+ property_value = "webs " + element;
+ }
+ else if (str::startswith(element, "file://")) {
+- Glib::ustring file_path = element.substr(7);
++ std::string file_path = element.substr(7);
+ file_path = str::replace(file_path, "%20", CtConst::CHAR_SPACE);
+ g_autofree gchar* mimetype = g_content_type_guess(file_path.c_str(), nullptr, 0, nullptr);
+ if (mimetype and str::startswith(mimetype, "image/") and Glib::file_test(file_path, Glib::FILE_TEST_IS_REGULAR)) {
+@@ -794,7 +794,7 @@ void CtClipboard::on_received_to_uri_list(const Gtk::SelectionData& selection_da
+ _pCtMainWin->get_ct_actions()->embfile_insert_path(element);
+ }
+ else {
+- spdlog::debug("'{}' not dir or file", element);
++ spdlog::debug("'{}' not dir or file", element.raw());
+ }
+ }
+ if (not property_value.empty()) {
+@@ -883,10 +883,10 @@ void CtClipboard::_yaml_to_codebox(const Glib::ustring& yaml_text, Gtk::TextView
+ _xml_to_codebox(xml_doc.write_to_string(), pTextView);
+ }
+ catch (std::exception& e) {
+- spdlog::error("_yaml_to_codebox exception: {}\n{}", e.what(), yaml_text);
++ spdlog::error("_yaml_to_codebox exception: {}\n{}", e.what(), yaml_text.raw());
+ }
+ catch (...) {
+- spdlog::error("_yaml_to_codebox unknown exception\n{}", yaml_text);
++ spdlog::error("_yaml_to_codebox unknown exception\n{}", yaml_text.raw());
+ }
+ }
+
+diff --git a/src/ct/ct_config.cc b/src/ct/ct_config.cc
+index 2470ab82f..3ebb54512 100644
+--- a/src/ct/ct_config.cc
++++ b/src/ct/ct_config.cc
+@@ -92,7 +92,7 @@ bool CtConfig::_load_from_file()
+ _uKeyFile->load_from_file(_configFilepath.string());
+ }
+ catch (Glib::Error& error) {
+- spdlog::error("CtConfig {}: {}", _configFilepath, error.what());
++ spdlog::error("CtConfig {}: {}", _configFilepath, error.what().raw());
+ return false;
+ }
+ _populate_data_from_keyfile();
+diff --git a/src/ct/ct_dialogs_find.cc b/src/ct/ct_dialogs_find.cc
+index a4e8c4e4b..78ef6dc31 100644
+--- a/src/ct/ct_dialogs_find.cc
++++ b/src/ct/ct_dialogs_find.cc
+@@ -526,7 +526,7 @@ void CtDialogs::match_dialog(const std::string& str_find,
+ pButtonNext->set_image_position(Gtk::PositionType::POS_RIGHT);
+ CtMenuAction* pAction = pCtMainWin->get_ct_menu().find_action("toggle_show_allmatches_dlg");
+ Glib::ustring label = CtStrUtil::get_accelerator_label(pAction->get_shortcut(pCtMainWin->get_ct_config()));
+- Gtk::Button* pButtonHide = pMatchesDialog->add_button(str::format(_("Hide (Restore with '%s')"), label), Gtk::RESPONSE_CLOSE);
++ Gtk::Button* pButtonHide = pMatchesDialog->add_button(str::format(_("Hide (Restore with '%s')"), label.raw()), Gtk::RESPONSE_CLOSE);
+ pButtonHide->set_image_from_icon_name("ct_close", Gtk::ICON_SIZE_BUTTON);
+
+ rModel->load_current_page();
+diff --git a/src/ct/ct_export2html.cc b/src/ct/ct_export2html.cc
+index ea2acce2c..2e777548a 100644
+--- a/src/ct/ct_export2html.cc
++++ b/src/ct/ct_export2html.cc
+@@ -1,7 +1,7 @@
+ /*
+ * ct_export2html.cc
+ *
+- * Copyright 2009-2023
++ * Copyright 2009-2024
+ * Giuseppe Penone <giuspen@gmail.com>
+ * Evgenii Gurianov <https://github.com/txe>
+ *
+@@ -83,9 +83,9 @@ void CtExport2Html::node_export_to_html(CtTreeIter tree_iter, const CtExportOpti
+ {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name().raw()));
+ }
+- Glib::ustring html_text = str::format(HTML_HEADER, tree_iter.get_node_name());
++ Glib::ustring html_text = str::format(HTML_HEADER, tree_iter.get_node_name().raw());
+ if (not index.empty() and options.index_in_page) {
+ auto script = R"HTML(
+ <script type='text/javascript'>
+@@ -270,7 +270,7 @@ void CtExport2Html::nodes_all_export_to_single_html(bool all_tree, const CtExpor
+ else {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name().raw()));
+ }
+ html_text += _html_get_from_code_buffer(rTextBuffer, -1, -1, tree_iter.get_node_syntax_highlighting());
+ }
+@@ -529,7 +529,7 @@ void CtExport2Html::_html_get_from_treestore_node(CtTreeIter tree_iter,
+ {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name().raw()));
+ }
+ auto widgets = tree_iter.get_anchored_widgets(sel_start, sel_end);
+ out_widgets = std::vector<CtAnchoredWidget*>(widgets.begin(), widgets.end()); // copy from list to vector
+diff --git a/src/ct/ct_export2pdf.cc b/src/ct/ct_export2pdf.cc
+index 88aafdef5..4afacb154 100644
+--- a/src/ct/ct_export2pdf.cc
++++ b/src/ct/ct_export2pdf.cc
+@@ -1,7 +1,7 @@
+ /*
+ * ct_export2pdf.cc
+ *
+- * Copyright 2009-2023
++ * Copyright 2009-2024
+ * Giuseppe Penone <giuspen@gmail.com>
+ * Evgenii Gurianov <https://github.com/txe>
+ *
+@@ -355,7 +355,7 @@ std::shared_ptr<CtPangoText> CtExport2Pango::_pango_link_url(const Glib::ustring
+ #endif /* !_WIN32 && !__APPLE__ */
+ }
+ else {
+- spdlog::debug("invalid link entry {}, text {}", link, tagged_text);
++ spdlog::debug("invalid link entry {}, text {}", link.raw(), tagged_text.raw());
+ return std::make_shared<CtPangoText>(tagged_text, CtConst::RICH_TEXT_ID, indent, pango_dir);
+ }
+
+@@ -367,7 +367,7 @@ void CtExport2Pdf::node_export_print(const fs::path& pdf_filepath, CtTreeIter tr
+ {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name().raw()));
+ }
+ std::vector<CtPangoObjectPtr> pango_slots;
+ if (tree_iter.get_node_is_text()) {
+@@ -409,7 +409,7 @@ void CtExport2Pdf::_nodes_all_export_print_iter(CtTreeIter tree_iter,
+ {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name().raw()));
+ }
+ std::vector<CtPangoObjectPtr> node_pango_slots;
+ if (tree_iter.get_node_is_text()) {
+@@ -592,7 +592,7 @@ bool CtPrint::_cairo_tag_can_apply(const Glib::ustring& tag_name, const Glib::us
+ return true;
+ }
+ }
+- spdlog::debug("{} dropped", tag_attr);
++ spdlog::debug("{} dropped", tag_attr.raw());
+ return false;
+ }
+
+diff --git a/src/ct/ct_export2txt.cc b/src/ct/ct_export2txt.cc
+index fbf4a810c..4d471a41b 100644
+--- a/src/ct/ct_export2txt.cc
++++ b/src/ct/ct_export2txt.cc
+@@ -34,7 +34,7 @@ Glib::ustring CtExport2Txt::node_export_to_txt(CtTreeIter tree_iter, fs::path fi
+ {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name().raw()));
+ }
+ Glib::ustring plain_text;
+ if (export_options.include_node_name) {
+diff --git a/src/ct/ct_filesystem.cc b/src/ct/ct_filesystem.cc
+index 821d470d9..5c5f5ea7d 100644
+--- a/src/ct/ct_filesystem.cc
++++ b/src/ct/ct_filesystem.cc
+@@ -202,7 +202,7 @@ bool copy_file(const path& from, const path& to)
+ return rFileFrom->copy(rFileTo, Gio::FILE_COPY_OVERWRITE);
+ }
+ catch (Gio::Error& error) {
+- spdlog::debug("fs::copy_file, error: {}, from: {}, to: {}", error.what(), from.string(), to.string());
++ spdlog::debug("fs::copy_file, error: {}, from: {}, to: {}", error.what().raw(), from.string(), to.string());
+ return false;
+ }
+ }
+diff --git a/src/ct/ct_image.cc b/src/ct/ct_image.cc
+index 50e807985..12944e73d 100644
+--- a/src/ct/ct_image.cc
++++ b/src/ct/ct_image.cc
+@@ -433,7 +433,7 @@ static const char* get_dvipng_bin_cmd()
+ return rPixbuf;
+ }
+ catch (Glib::Error& error) {
+- spdlog::error("{} {}", __FUNCTION__, error.what());
++ spdlog::error("{} {}", __FUNCTION__, error.what().raw());
+ }
+ // fallback
+ return pCtMainWin->get_icon_theme()->load_icon("ct_warning", 48);
+diff --git a/src/ct/ct_imports.cc b/src/ct/ct_imports.cc
+index 203ca6650..20e5d01dc 100644
+--- a/src/ct/ct_imports.cc
++++ b/src/ct/ct_imports.cc
+@@ -1,7 +1,7 @@
+ /*
+ * ct_imports.cc
+ *
+- * Copyright 2009-2023
++ * Copyright 2009-2024
+ * Giuseppe Penone <giuspen@gmail.com>
+ * Evgenii Gurianov <https://github.com/txe>
+ *
+@@ -384,7 +384,7 @@ void CtTomboyImport::_iterate_tomboy_note(xmlpp::Element* iter, std::unique_ptr<
+ _is_link_to_node = false;
+ }
+ else {
+- spdlog::debug(dom_iter->get_name());
++ spdlog::debug(dom_iter->get_name().raw());
+ _iterate_tomboy_note(dom_iter_el, node);
+ }
+ }
+diff --git a/src/ct/ct_logging.h b/src/ct/ct_logging.h
+index dfe2ef7fb..e447ba4e1 100644
+--- a/src/ct/ct_logging.h
++++ b/src/ct/ct_logging.h
+@@ -1,7 +1,7 @@
+ /*
+ * ct_logging.h
+ *
+- * Copyright 2009-2021
++ * Copyright 2009-2024
+ * Giuseppe Penone <giuspen@gmail.com>
+ * Evgenii Gurianov <https://github.com/txe>
+ *
+@@ -32,14 +32,3 @@
+ #include "spdlog/fmt/bundled/core.h"
+ #include "spdlog/fmt/bundled/printf.h"
+ #endif // not SHARED_FMT_SPDLOG
+-#include <glibmm/ustring.h>
+-
+-// ostream works badly on Win32 due to locale encoding
+-template <>
+-struct fmt::formatter<Glib::ustring>: formatter<string_view> {
+- // parse is inherited from formatter<string_view>.
+- template <typename FormatContext>
+- auto format(Glib::ustring c, FormatContext& ctx) {
+- return formatter<string_view>::format(c.c_str(), ctx);
+- }
+-};
+diff --git a/src/ct/ct_main_win_buffer.cc b/src/ct/ct_main_win_buffer.cc
+index 4d69e89d3..f04471ae5 100644
+--- a/src/ct/ct_main_win_buffer.cc
++++ b/src/ct/ct_main_win_buffer.cc
+@@ -125,7 +125,7 @@ void CtMainWin::reapply_syntax_highlighting(const char target/*'r':RichText, 'p'
+ if (node.get_node_is_rich_text()) {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = node.get_node_text_buffer();
+ if (not rTextBuffer) {
+- error = str::format(_("Failed to retrieve the content of the node '%s'"), node.get_node_name());
++ error = str::format(_("Failed to retrieve the content of the node '%s'"), node.get_node_name().raw());
+ return true; /* true for stop */
+ }
+ apply_syntax_highlighting(rTextBuffer, node.get_node_syntax_highlighting(), true/*forceReApply*/);
+@@ -144,7 +144,7 @@ void CtMainWin::reapply_syntax_highlighting(const char target/*'r':RichText, 'p'
+ else {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = node.get_node_text_buffer();
+ if (not rTextBuffer) {
+- error = str::format(_("Failed to retrieve the content of the node '%s'"), node.get_node_name());
++ error = str::format(_("Failed to retrieve the content of the node '%s'"), node.get_node_name().raw());
+ return true; /* true for stop */
+ }
+ apply_syntax_highlighting(rTextBuffer, node.get_node_syntax_highlighting(), true/*forceReApply*/);
+diff --git a/src/ct/ct_main_win_events.cc b/src/ct/ct_main_win_events.cc
+index 732336414..99095a392 100644
+--- a/src/ct/ct_main_win_events.cc
++++ b/src/ct/ct_main_win_events.cc
+@@ -56,7 +56,7 @@ void CtMainWin::_on_treeview_cursor_changed()
+
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = treeIter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- CtDialogs::error_dialog(str::format(_("Failed to retrieve the content of the node '%s'"), treeIter.get_node_name()), *this);
++ CtDialogs::error_dialog(str::format(_("Failed to retrieve the content of the node '%s'"), treeIter.get_node_name().raw()), *this);
+ if (_prevTreeIter) {
+ _uCtTreeview->set_cursor_safe(_prevTreeIter);
+ }
+diff --git a/src/ct/ct_misc_utils.cc b/src/ct/ct_misc_utils.cc
+index 8ed98b8b3..2b452fe86 100644
+--- a/src/ct/ct_misc_utils.cc
++++ b/src/ct/ct_misc_utils.cc
+@@ -1160,7 +1160,7 @@ int str::indexOf(const Glib::ustring& str, const gunichar& uc)
+ return index != std::string::npos ? static_cast<int>(index) : -1;
+ }
+
+-Glib::ustring str::xml_escape(const Glib::ustring& text)
++std::string str::xml_escape(const Glib::ustring& text)
+ {
+ Glib::ustring buffer;
+ buffer.reserve(text.size());
+@@ -1175,7 +1175,7 @@ Glib::ustring str::xml_escape(const Glib::ustring& text)
+ default: buffer.append(1, *ch); break;
+ }
+ }
+- return buffer;
++ return buffer.raw();
+ }
+
+ Glib::ustring str::sanitize_bad_symbols(const Glib::ustring& xml_content)
+diff --git a/src/ct/ct_misc_utils.h b/src/ct/ct_misc_utils.h
+index dc2cb09a2..d75a0f263 100644
+--- a/src/ct/ct_misc_utils.h
++++ b/src/ct/ct_misc_utils.h
+@@ -328,7 +328,7 @@ int indexOf(const std::array<T, size>& array, const T& uc)
+ return -1;
+ }
+
+-Glib::ustring xml_escape(const Glib::ustring& text);
++std::string xml_escape(const Glib::ustring& text);
+
+ Glib::ustring sanitize_bad_symbols(const Glib::ustring& xml_content);
+
+diff --git a/src/ct/ct_storage_control.cc b/src/ct/ct_storage_control.cc
+index 54b9c145b..9a6e813a0 100644
+--- a/src/ct/ct_storage_control.cc
++++ b/src/ct/ct_storage_control.cc
+@@ -140,7 +140,7 @@ static const std::string BAD_ARCHIVE{"_BAD_ARC_"};
+ return Glib::build_filename(first_backup_dir, CtConst::CHAR_DOT + Glib::path_get_basename(file_or_dir_path)) + CtConst::CHAR_TILDE;
+ }
+ catch (Glib::Error& ex) {
+- spdlog::error("failed to create backup directory: {}, \n{}", first_backup_dir, ex.what());
++ spdlog::error("failed to create backup directory: {}, \n{}", first_backup_dir, ex.what().raw());
+ return "";
+ }
+ };
+@@ -778,7 +778,7 @@ void CtStorageCache::generate_cache(CtMainWin* pCtMainWin, const CtStorageSyncPe
+ CtTreeIter ct_tree_iter = store.to_ct_tree_iter(iter);
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = ct_tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- error = str::format(_("Failed to retrieve the content of the node '%s'"), ct_tree_iter.get_node_name());
++ error = str::format(_("Failed to retrieve the content of the node '%s'"), ct_tree_iter.get_node_name().raw());
+ return true; /* true for stop */
+ }
+ for (auto widget : ct_tree_iter.get_anchored_widgets_fast())
+@@ -795,7 +795,7 @@ void CtStorageCache::generate_cache(CtMainWin* pCtMainWin, const CtStorageSyncPe
+ if (node_pair.second.buff && ct_tree_iter.get_node_is_rich_text()) {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = ct_tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), ct_tree_iter.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), ct_tree_iter.get_node_name().raw()));
+ }
+ for (auto widget : ct_tree_iter.get_anchored_widgets_fast())
+ if (widget->get_type() == CtAnchWidgType::ImagePng) // important to check type
+diff --git a/src/ct/ct_storage_multifile.cc b/src/ct/ct_storage_multifile.cc
+index 966cba10c..ebd729e0e 100644
+--- a/src/ct/ct_storage_multifile.cc
++++ b/src/ct/ct_storage_multifile.cc
+@@ -455,7 +455,7 @@ bool CtStorageMultiFile::_nodes_to_multifile(const CtTreeIter* ct_tree_iter,
+ }
+ }
+ catch (Glib::Error& error) {
+- spdlog::error("{} {}", __FUNCTION__, error.what());
++ spdlog::error("{} {}", __FUNCTION__, error.what().raw());
+ }
+ return false;
+ }
+diff --git a/src/ct/ct_storage_sqlite.cc b/src/ct/ct_storage_sqlite.cc
+index 476e563ed..dd2c703bb 100644
+--- a/src/ct/ct_storage_sqlite.cc
++++ b/src/ct/ct_storage_sqlite.cc
+@@ -108,8 +108,8 @@ const char CtStorageSqlite::TABLE_BOOKMARK_CREATE[]{"CREATE TABLE bookmark ("
+ const char CtStorageSqlite::TABLE_BOOKMARK_INSERT[]{"INSERT INTO bookmark VALUES(?,?)"};
+ const char CtStorageSqlite::TABLE_BOOKMARK_DELETE[]{"DELETE FROM bookmark"};
+
+-const Glib::ustring CtStorageSqlite::ERR_SQLITE_PREPV2{"!! sqlite3_prepare_v2: "};
+-const Glib::ustring CtStorageSqlite::ERR_SQLITE_STEP{"!! sqlite3_step: "};
++/*static*/const std::string CtStorageSqlite::ERR_SQLITE_PREPV2{"!! sqlite3_prepare_v2: "};
++/*static*/const std::string CtStorageSqlite::ERR_SQLITE_STEP{"!! sqlite3_step: "};
+
+ class Sqlite3StmtAuto
+ {
+diff --git a/src/ct/ct_storage_sqlite.h b/src/ct/ct_storage_sqlite.h
+index e6cad42df..e42fe9cd4 100644
+--- a/src/ct/ct_storage_sqlite.h
++++ b/src/ct/ct_storage_sqlite.h
+@@ -129,8 +129,8 @@ class CtStorageSqlite : public CtStorageEntity
+ static const char TABLE_BOOKMARK_CREATE[];
+ static const char TABLE_BOOKMARK_INSERT[];
+ static const char TABLE_BOOKMARK_DELETE[];
+- static const Glib::ustring ERR_SQLITE_PREPV2;
+- static const Glib::ustring ERR_SQLITE_STEP;
++ static const std::string ERR_SQLITE_PREPV2;
++ static const std::string ERR_SQLITE_STEP;
+ static const char* safe_sqlite3_column_text(sqlite3_stmt* stmt, int iCol);
+
+ private:
+diff --git a/src/ct/ct_storage_xml.cc b/src/ct/ct_storage_xml.cc
+index 555c72362..3e0fc8cc4 100644
+--- a/src/ct/ct_storage_xml.cc
++++ b/src/ct/ct_storage_xml.cc
+@@ -249,7 +249,7 @@ void CtStorageXml::_nodes_to_xml(CtTreeIter* ct_tree_iter,
+ {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = ct_tree_iter->get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), ct_tree_iter->get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), ct_tree_iter->get_node_name().raw()));
+ }
+ xmlpp::Element* p_node_node = CtStorageXmlHelper{_pCtMainWin}.node_to_xml(
+ ct_tree_iter,
+diff --git a/src/ct/ct_treestore.cc b/src/ct/ct_treestore.cc
+index 44c0d14bf..bd3d34eac 100644
+--- a/src/ct/ct_treestore.cc
++++ b/src/ct/ct_treestore.cc
+@@ -866,8 +866,8 @@ void CtTreeStore::text_view_apply_textbuffer(CtTreeIter& treeIter, CtTextView* p
+ const gint64 nodeMasterId = treeIter.get_node_shared_master_id();
+ const gint64 nodeId = treeIter.get_node_id();
+ const Glib::ustring nodeName = treeIter.get_node_name();
+- if (nodeMasterId <= 0) spdlog::debug("Node {} > {}", nodeId, nodeName);
+- else spdlog::debug("Node {}[{}] > {}", nodeId, nodeMasterId, nodeName);
++ if (nodeMasterId <= 0) spdlog::debug("Node {} > {}", nodeId, nodeName.raw());
++ else spdlog::debug("Node {}[{}] > {}", nodeId, nodeMasterId, nodeName.raw());
+
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = treeIter.get_node_text_buffer();
+ _pCtMainWin->apply_syntax_highlighting(rTextBuffer, treeIter.get_node_syntax_highlighting(), false/*forceReApply*/);
+@@ -1416,7 +1416,7 @@ bool CtTreeStore::populate_summary_info(CtSummaryInfo& summaryInfo)
+ // ensure the node content is populated
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = ctTreeIter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- error = str::format(_("Failed to retrieve the content of the node '%s'"), ctTreeIter.get_node_name());
++ error = str::format(_("Failed to retrieve the content of the node '%s'"), ctTreeIter.get_node_name().raw());
+ return true; /* true for stop */
+ }
+ const gint64 shared_master_id = ctTreeIter.get_node_shared_master_id();
+diff --git a/tests/tests_encoding.cpp b/tests/tests_encoding.cpp
+index ce3ce3101..80683ced8 100644
+--- a/tests/tests_encoding.cpp
++++ b/tests/tests_encoding.cpp
+@@ -1,7 +1,7 @@
+ /*
+ * tests_encoding.cpp
+ *
+- * Copyright 2009-2020
++ * Copyright 2009-2024
+ * Giuseppe Penone <giuspen@gmail.com>
+ * Evgenii Gurianov <https://github.com/txe>
+ *
+@@ -28,5 +28,5 @@ TEST(EncodingGroup, ustring_format)
+ {
+ // on win32 this could throw an exception due to locale
+ Glib::ustring str = "привет こんにちは";
+- ASSERT_STREQ(str.c_str(), fmt::format("{}", str).c_str());
++ ASSERT_STREQ(str.c_str(), fmt::format("{}", str.raw()).c_str());
+ }
diff --git a/srcpkgs/cherrytree/patches/fc1d7499067b9db9841175b5a2d6934dc65e4522.patch b/srcpkgs/cherrytree/patches/fc1d7499067b9db9841175b5a2d6934dc65e4522.patch
new file mode 100644
index 00000000000000..dd117eaf8c83b3
--- /dev/null
+++ b/srcpkgs/cherrytree/patches/fc1d7499067b9db9841175b5a2d6934dc65e4522.patch
@@ -0,0 +1,151 @@
+From fc1d7499067b9db9841175b5a2d6934dc65e4522 Mon Sep 17 00:00:00 2001
+From: Ben Cotton <bcotton@funnelfiasco.com>
+Date: Fri, 23 Aug 2024 06:02:31 -0400
+Subject: [PATCH] Fix formatting issues with fmt 11 (#2548) (#2560)
+
+CherryTree fails to build on Fedora Rawhide due to errors introduced by
+fmt 11. This commit fixes all of the remaining errors raised during
+compile.
+
+Fixes #2548
+
+Signed-off-by: Ben Cotton <bcotton@fedoraproject.org>
+Co-authored-by: Ben Cotton <bcotton@fedoraproject.org>
+---
+ src/ct/ct_export2html.cc | 4 ++--
+ src/ct/ct_storage_control.cc | 12 ++++++------
+ src/ct/ct_storage_multifile.cc | 6 +++---
+ src/ct/ct_storage_sqlite.cc | 6 +++---
+ 4 files changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/src/ct/ct_export2html.cc b/src/ct/ct_export2html.cc
+index 2e777548..b74aff5a 100644
+--- a/src/ct/ct_export2html.cc
++++ b/src/ct/ct_export2html.cc
+@@ -180,7 +180,7 @@ void CtExport2Html::nodes_all_export_to_multiple_html(bool all_tree, const CtExp
+ tree_links_text += "</div>\n";
+
+ // create index html page
+- Glib::ustring html_text = str::format(HTML_HEADER, _pCtMainWin->get_ct_storage()->get_file_name());
++ Glib::ustring html_text = str::format(HTML_HEADER, _pCtMainWin->get_ct_storage()->get_file_name().string());
+ if (options.index_in_page) {
+ html_text += "<div class='two-panels'>\n<div class='tree-panel'>\n";
+ html_text += tree_links_text;
+@@ -283,7 +283,7 @@ void CtExport2Html::nodes_all_export_to_single_html(bool all_tree, const CtExpor
+ }
+ };
+
+- Glib::ustring html_header = str::format(HTML_HEADER, _pCtMainWin->get_ct_storage()->get_file_name());
++ Glib::ustring html_header = str::format(HTML_HEADER, _pCtMainWin->get_ct_storage()->get_file_name().string());
+ rFileStream->write(html_header.c_str(), html_header.bytes());
+
+ // start to iterarte nodes
+diff --git a/src/ct/ct_storage_control.cc b/src/ct/ct_storage_control.cc
+index 34dd0a1b..e2b6f114 100644
+--- a/src/ct/ct_storage_control.cc
++++ b/src/ct/ct_storage_control.cc
+@@ -78,7 +78,7 @@ static const std::string BAD_ARCHIVE{"_BAD_ARC_"};
+ return nullptr;
+ }
+ if (extracted_file_path.string() == BAD_ARCHIVE) {
+- throw std::runtime_error(str::format(_("'%s' is Not a Valid Archive"), file_path));
++ throw std::runtime_error(str::format(_("'%s' is Not a Valid Archive"), file_path.string()));
+ }
+ }
+ }
+@@ -533,14 +533,14 @@ void CtStorageControl::_backupEncryptThread()
+ // move back the latest file version
+ (void)fs::move_file(pBackupEncryptData->main_backup, pBackupEncryptData->file_path);
+ #if defined(DEBUG_BACKUP_ENCRYPT)
+- spdlog::debug("{} -> {}", pBackupEncryptData->main_backup, pBackupEncryptData->file_path);
++ spdlog::debug("{} -> {}", pBackupEncryptData->main_backup, pBackupEncryptData->file_path.string());
+ #endif // DEBUG_BACKUP_ENCRYPT
+ _pCtMainWin->errorsDEQueue.push_back(_("Failed to encrypt the file"));
+ _pCtMainWin->dispatcherErrorMsg.emit();
+ continue;
+ }
+ #if defined(DEBUG_BACKUP_ENCRYPT)
+- spdlog::debug("{} => {}", pBackupEncryptData->extracted_copy, pBackupEncryptData->file_path);
++ spdlog::debug("{} => {}", pBackupEncryptData->extracted_copy, pBackupEncryptData->file_path.string());
+ #endif // DEBUG_BACKUP_ENCRYPT
+ }
+
+@@ -729,12 +729,12 @@ void CtStorageControl::add_nodes_from_storage(const fs::path& file_path,
+ {
+ if (is_folder) {
+ if (not fs::is_directory(file_path)) {
+- throw std::runtime_error(fmt::format("{} not a dir", file_path));
++ throw std::runtime_error(fmt::format("{} not a dir", file_path.string()));
+ }
+ }
+ else {
+ if (not fs::is_regular_file(file_path)) {
+- throw std::runtime_error(fmt::format("{} not a file", file_path));
++ throw std::runtime_error(fmt::format("{} not a file", file_path.string()));
+ }
+ }
+
+@@ -747,7 +747,7 @@ void CtStorageControl::add_nodes_from_storage(const fs::path& file_path,
+ return;
+ }
+ if (extracted_file_path.string() == BAD_ARCHIVE) {
+- throw std::runtime_error(str::format(_("'%s' is Not a Valid Archive"), file_path));
++ throw std::runtime_error(str::format(_("'%s' is Not a Valid Archive"), file_path.string()));
+ }
+ }
+
+diff --git a/src/ct/ct_storage_multifile.cc b/src/ct/ct_storage_multifile.cc
+index b7b10b4d..94db12bb 100644
+--- a/src/ct/ct_storage_multifile.cc
++++ b/src/ct/ct_storage_multifile.cc
+@@ -510,7 +510,7 @@ bool CtStorageMultiFile::populate_treestore(const fs::path& dir_path, Glib::ustr
+ parsingOk = true;
+ }
+ catch (std::exception& ex) {
+- spdlog::error("parse {} : {} - trying first backup...", node_xml_path, ex.what());
++ spdlog::error("parse {} : {} - trying first backup...", node_xml_path.string(), ex.what());
+ }
+ if (not parsingOk) {
+ std::string first_backup_dir;
+@@ -527,13 +527,13 @@ bool CtStorageMultiFile::populate_treestore(const fs::path& dir_path, Glib::ustr
+ parsingOk = true;
+ }
+ catch (std::exception& ex) {
+- spdlog::error("parse {} : {} - trying backup {}...", node_xml_path, ex.what(), b+2);
++ spdlog::error("parse {} : {} - trying backup {}...", node_xml_path.string(), ex.what(), b+2);
+ }
+ if (parsingOk) {
+ if (fs::exists(node_xml_path)) {
+ fs::move_file(node_xml_path, node_xml_path.parent_path() / (node_xml_path.stem() + std::string{"_BAD.xml"}));
+ }
+- spdlog::debug("parse backed up data ok, copying {} -> {}", backup_node_xml_path, node_xml_path);
++ spdlog::debug("parse backed up data ok, copying {} -> {}", backup_node_xml_path.string(), node_xml_path.string());
+ fs::copy_file(backup_node_xml_path, node_xml_path);
+ if (error.empty()) error += _("A Restore From Backup Was Necessary For:");
+ error += "\n\n" + node_xml_path.string();
+diff --git a/src/ct/ct_storage_sqlite.cc b/src/ct/ct_storage_sqlite.cc
+index dd2c703b..3b0b9217 100644
+--- a/src/ct/ct_storage_sqlite.cc
++++ b/src/ct/ct_storage_sqlite.cc
+@@ -207,10 +207,10 @@ void CtStorageSqlite::test_connection()
+ }
+ catch(std::exception& e) {
+ spdlog::debug("{} {}", __FUNCTION__, e.what());
+- throw std::runtime_error(str::format(_("%s write failed - file is missing. Reattach USB drive or shared resource!"), _file_path));
++ throw std::runtime_error(str::format(_("%s write failed - file is missing. Reattach USB drive or shared resource!"), _file_path.string()));
+ }
+ if (not test_readwrite())
+- throw std::runtime_error(str::format(_("%s write failed - is file blocked by a sync program?"), _file_path));
++ throw std::runtime_error(str::format(_("%s write failed - is file blocked by a sync program?"), _file_path.string()));
+ (void)_check_database_integrity();
+ }
+
+@@ -223,7 +223,7 @@ void CtStorageSqlite::try_reopen()
+ }
+ catch(std::exception& e) {
+ spdlog::debug("{} {}", __FUNCTION__, e.what());
+- throw std::runtime_error(str::format(_("%s reopen failed - file is missing. Reattach USB drive or shared resource!"), _file_path));
++ throw std::runtime_error(str::format(_("%s reopen failed - file is missing. Reattach USB drive or shared resource!"), _file_path.string()));
+ }
+ (void)_check_database_integrity();
+ }
diff --git a/srcpkgs/cherrytree/patches/series b/srcpkgs/cherrytree/patches/series
new file mode 100644
index 00000000000000..22ed6296f2952f
--- /dev/null
+++ b/srcpkgs/cherrytree/patches/series
@@ -0,0 +1,5 @@
+76f0030e2e2b6e1488148d3828baeb8f5911eb8d.patch
+ccc2d101f24a409efddb2f29e8c14002c9836a85.patch
+22142f3b44fef81e67c9bfbcdaed2f80ab2ff5de.patch
+05233db2b25977037c7520a8316183636a262130.patch
+fc1d7499067b9db9841175b5a2d6934dc65e4522.patch
diff --git a/srcpkgs/cherrytree/template b/srcpkgs/cherrytree/template
index 61ce49b4b43c6d..712ad0e7e3edab 100644
--- a/srcpkgs/cherrytree/template
+++ b/srcpkgs/cherrytree/template
@@ -1,7 +1,7 @@
# Template file for 'cherrytree'
pkgname=cherrytree
version=1.1.4
-revision=1
+revision=2
build_style=cmake
# Tests are built during the normal build process and require access to X server
configure_args="-DBUILD_TESTING=OFF"
From 0839ed54c4f053e463f737b0988eaa88bfaeda1a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:08 +0200
Subject: [PATCH 07/27] coeurl: update to 0.3.1
---
srcpkgs/coeurl/patches/fix-build.diff | 11 -----------
srcpkgs/coeurl/template | 4 ++--
2 files changed, 2 insertions(+), 13 deletions(-)
delete mode 100644 srcpkgs/coeurl/patches/fix-build.diff
diff --git a/srcpkgs/coeurl/patches/fix-build.diff b/srcpkgs/coeurl/patches/fix-build.diff
deleted file mode 100644
index 6b3b33e6806a24..00000000000000
--- a/srcpkgs/coeurl/patches/fix-build.diff
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/subprojects/curl.wrap b/subprojects/curl.wrap
-index f1510b4ba5..ec9710f9d7 100644
---- a/subprojects/curl.wrap
-+++ b/subprojects/curl.wrap
-@@ -5,5 +5,5 @@ source_url = https://github.com/curl/curl/releases/download/curl-7_77_0/curl-7.7
- source_filename = curl-7.77.0.tar.xz
- source_hash = 0f64582c54282f31c0de9f0a1a596b182776bd4df9a4c4a2a41bbeb54f62594b
-
--[provides]
-+[provide]
- dependency_names = libcurl
diff --git a/srcpkgs/coeurl/template b/srcpkgs/coeurl/template
index fc0175da3c486c..b73eb89978ab8d 100644
--- a/srcpkgs/coeurl/template
+++ b/srcpkgs/coeurl/template
@@ -1,6 +1,6 @@
# Template file for 'coeurl'
pkgname=coeurl
-version=0.3.0
+version=0.3.1
revision=1
build_style=meson
hostmakedepends="pkg-config"
@@ -10,7 +10,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT"
homepage="https://nheko.im/nheko-reborn/coeurl"
distfiles="https://nheko.im/nheko-reborn/coeurl/-/archive/v${version}/coeurl-v${version}.tar.gz"
-checksum=48b07482364edcbed03e352f6b8b07e327c331eaa45707ad58e62930fa361382
+checksum=6203654c2eec7a286388a6cfa8d8ea5698c57b7b8be235b2cc165f0b4c7bee0b
post_install() {
vlicense LICENSE
From b7989248cf1fc7411f4069e0d6b34d4a78311b24 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:09 +0200
Subject: [PATCH 08/27] cryfs: rebuild for fmt-11.0.2
---
srcpkgs/cryfs/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/cryfs/template b/srcpkgs/cryfs/template
index bb2109c034e8cb..3e523766b129c1 100644
--- a/srcpkgs/cryfs/template
+++ b/srcpkgs/cryfs/template
@@ -1,7 +1,7 @@
# Template file for 'cryfs'
pkgname=cryfs
version=0.11.4
-revision=2
+revision=3
build_style=cmake
configure_args="-DBoost_USE_STATIC_LIBS=OFF -DCRYFS_UPDATE_CHECKS=off
-DDEPENDENCY_CONFIG=../cmake-utils/DependenciesFromLocalSystem.cmake"
From 19ba84d84011b92db343bfaaeba8a636b463d9fd Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:09 +0200
Subject: [PATCH 09/27] devilutionX: update to 1.5.3.
---
srcpkgs/devilutionX/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/devilutionX/template b/srcpkgs/devilutionX/template
index ad911b48f8631c..c052c2518fcd8c 100644
--- a/srcpkgs/devilutionX/template
+++ b/srcpkgs/devilutionX/template
@@ -1,7 +1,7 @@
# Template file for 'devilutionX'
pkgname=devilutionX
-version=1.4.1
-revision=3
+version=1.5.3
+revision=1
build_style=cmake
configure_args="-DVERSION_NUM=$version -DDISABLE_ZERO_TIER=ON"
hostmakedepends="pkg-config"
@@ -13,8 +13,8 @@ license="Unlicense"
homepage="https://github.com/diasurgical/devilutionX"
changelog="https://raw.githubusercontent.com/diasurgical/devilutionX/master/docs/CHANGELOG.md"
distfiles="https://github.com/diasurgical/devilutionX/releases/download/${version}/devilutionx-src.tar.xz"
-checksum=f80a5414bb7b5a5ae9f6dbc69cec4ae080c29dd0a8a553cedd405d631011da9f
+checksum=ea948933eb5fbffb12d72743ef15b626e7004a88bd4f1415b26a9f45240f4a7e
post_install() {
- vlicense LICENSE
+ vlicense LICENSE.md
}
From 4e4edb98ba9f7f66ac44ba4a23f21fb59f203f38 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:09 +0200
Subject: [PATCH 10/27] easyeffects: rebuild for fmt-11.0.2
---
srcpkgs/easyeffects/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/easyeffects/template b/srcpkgs/easyeffects/template
index 4bd7570991347d..dceb132e246a59 100644
--- a/srcpkgs/easyeffects/template
+++ b/srcpkgs/easyeffects/template
@@ -1,7 +1,7 @@
# Template file for 'easyeffects'
pkgname=easyeffects
version=7.1.7
-revision=2
+revision=3
build_style=meson
hostmakedepends="pkg-config gettext itstool glib-devel desktop-file-utils
gtk4-update-icon-cache"
From e74eb4967deb8e815e731dd5dd2df0869286f71c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:09 +0200
Subject: [PATCH 11/27] freecad: rebuild for fmt-11.0.2
---
srcpkgs/freecad/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/freecad/template b/srcpkgs/freecad/template
index 2c0e80315116fd..3d5e31790bb62b 100644
--- a/srcpkgs/freecad/template
+++ b/srcpkgs/freecad/template
@@ -1,7 +1,7 @@
# Template file for 'freecad'
pkgname=freecad
version=0.21.2
-revision=1
+revision=2
build_wrksrc="FreeCAD-${version}"
build_style=cmake
pycompile_dirs="usr/lib/${pkgname}/Mod"
From b0699e50b4361df3845dca06ebf1d629b2c08bef Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:09 +0200
Subject: [PATCH 12/27] furnace: rebuild for fmt-11.0.2
---
srcpkgs/furnace/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/furnace/template b/srcpkgs/furnace/template
index 4e0bcbe473a307..e22134b048d815 100644
--- a/srcpkgs/furnace/template
+++ b/srcpkgs/furnace/template
@@ -1,7 +1,7 @@
# Template file for 'furnace'
pkgname=furnace
version=0.6.7
-revision=1
+revision=2
_adpcm_commit="ef7a217154badc3b99978ac481b268c8aab67bd8"
build_style=cmake
configure_args="-DSYSTEM_FFTW=ON -DSYSTEM_FMT=ON -DSYSTEM_FREETYPE=ON
From 0c4d955e12a241e0624f3f96e947ce1b74dff4d2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:09 +0200
Subject: [PATCH 13/27] gerbera: update to 2.2.0.
---
srcpkgs/gerbera/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/gerbera/template b/srcpkgs/gerbera/template
index 5e2da9c98da86b..20df4f404f5f55 100644
--- a/srcpkgs/gerbera/template
+++ b/srcpkgs/gerbera/template
@@ -1,20 +1,20 @@
# Template file for 'gerbera'
pkgname=gerbera
-version=1.12.1
-revision=2
+version=2.2.0
+revision=1
build_style=cmake
configure_args="-DWITH_SYSTEMD=0 -DWITH_AVCODEC=1"
hostmakedepends="pkg-config"
makedepends="duktape-devel expat-devel ffmpeg6-devel file-devel libcurl-devel
libexif-devel libupnp-devel libuuid-devel sqlite-devel taglib-devel
- fmt-devel spdlog pugixml-devel libebml-devel libmatroska-devel"
+ fmt-devel spdlog pugixml-devel libebml-devel libmatroska-devel exiv2-devel"
short_desc="UPnP Media Server based on MediaTomb"
maintainer="Alexander Gehrke <void@qwertyuiop.de>"
license="GPL-2.0-only"
homepage="http://gerbera.io/"
changelog="https://raw.githubusercontent.com/gerbera/gerbera/master/ChangeLog.md"
distfiles="https://github.com/gerbera/gerbera/archive/v${version}.tar.gz"
-checksum=2144a7c4a13e8b43aa0c911fbeae65f05e2c42254ddd03be5c41f5fcf103a93c
+checksum=c77f4a8ccbed5e18499c0854803fec65ae2f26af633818b52584651fbd3eec13
# libupnp uses large file support, so users must do that, too
CXXFLAGS="-D_FILE_OFFSET_BITS=64"
From c9b81515431179273a2d57563286808bdfb71fa5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:09 +0200
Subject: [PATCH 14/27] gnuradio: rebuild for fmt-11.0.2
---
...70051c1c2b5fb6f2da8fb6422b27418c3dfa.patch | 47 +++++++++++++++++++
srcpkgs/gnuradio/template | 2 +-
2 files changed, 48 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/gnuradio/patches/19b070051c1c2b5fb6f2da8fb6422b27418c3dfa.patch
diff --git a/srcpkgs/gnuradio/patches/19b070051c1c2b5fb6f2da8fb6422b27418c3dfa.patch b/srcpkgs/gnuradio/patches/19b070051c1c2b5fb6f2da8fb6422b27418c3dfa.patch
new file mode 100644
index 00000000000000..9de16700eac8f4
--- /dev/null
+++ b/srcpkgs/gnuradio/patches/19b070051c1c2b5fb6f2da8fb6422b27418c3dfa.patch
@@ -0,0 +1,47 @@
+From 19b070051c1c2b5fb6f2da8fb6422b27418c3dfa Mon Sep 17 00:00:00 2001
+From: Kefu Chai <tchaikov@gmail.com>
+Date: Mon, 15 Jul 2024 09:27:16 +0800
+Subject: [PATCH] blocks,runtime: io_signature: include spdlog/*/ranges.h for
+ using fmt::join()
+
+fmt::join() was moved into fmt/ranges.h since fmt 11, so let's
+include the corresponding header in spdlog for using it.
+
+Signed-off-by: Kefu Chai <tchaikov@gmail.com>
+---
+ gnuradio-runtime/lib/io_signature.cc | 5 +++++
+ gr-blocks/lib/message_debug_impl.cc | 5 +++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/gnuradio-runtime/lib/io_signature.cc b/gnuradio-runtime/lib/io_signature.cc
+index 812f444f8bb..76bb2aba670 100644
+--- a/gnuradio-runtime/lib/io_signature.cc
++++ b/gnuradio-runtime/lib/io_signature.cc
+@@ -16,6 +16,11 @@
+ #include <spdlog/tweakme.h>
+
+ #include <spdlog/fmt/fmt.h>
++#if __has_include(<spdlog/fmt/ranges.h>)
++#include <spdlog/fmt/ranges.h>
++#elif __has_include(<spdlog/fmt/bundled/ranges.h>)
++#include <spdlog/fmt/bundled/ranges.h>
++#endif
+ #include <string_view>
+ #include <algorithm>
+ #include <memory>
+diff --git a/gr-blocks/lib/message_debug_impl.cc b/gr-blocks/lib/message_debug_impl.cc
+index 41d312e43c3..373287b02ab 100644
+--- a/gr-blocks/lib/message_debug_impl.cc
++++ b/gr-blocks/lib/message_debug_impl.cc
+@@ -19,6 +19,11 @@
+ #include <pmt/pmt.h>
+ #include <spdlog/common.h>
+ #include <spdlog/fmt/fmt.h>
++#if __has_include(<spdlog/fmt/ranges.h>)
++#include <spdlog/fmt/ranges.h>
++#elif __has_include(<spdlog/fmt/bundled/ranges.h>)
++#include <spdlog/fmt/bundled/ranges.h>
++#endif
+ #include <functional>
+ #include <utility>
+ #include <vector>
diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 88dd446a846d25..37aac47fd64fd8 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,7 +1,7 @@
# Template file for 'gnuradio'
pkgname=gnuradio
version=3.10.10.0
-revision=2
+revision=3
build_style=cmake
build_helper="python3"
conf_files="/etc/gnuradio/conf.d/*"
From ec10008495891beea744cf5f539858d345c53168 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:10 +0200
Subject: [PATCH 15/27] imhex: rebuild for fmt-11.0.2
---
srcpkgs/imhex/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/imhex/template b/srcpkgs/imhex/template
index 9e8cd7184a1520..b10c948af3d79f 100644
--- a/srcpkgs/imhex/template
+++ b/srcpkgs/imhex/template
@@ -1,7 +1,7 @@
# Template file for 'imhex'
pkgname=imhex
version=1.35.4
-revision=1
+revision=2
build_wrksrc="ImHex"
build_style=cmake
build_helper=qemu
From 2fbd9eb91ae09ba37c31adbd1b2298b58ad4c92c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:10 +0200
Subject: [PATCH 16/27] j4-dmenu-desktop: rebuild for fmt-11.0.2
---
srcpkgs/j4-dmenu-desktop/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/j4-dmenu-desktop/template b/srcpkgs/j4-dmenu-desktop/template
index c352d51b0469f8..e5df41d8e7bc6f 100644
--- a/srcpkgs/j4-dmenu-desktop/template
+++ b/srcpkgs/j4-dmenu-desktop/template
@@ -1,7 +1,7 @@
# Template file for 'j4-dmenu-desktop'
pkgname=j4-dmenu-desktop
version=3.1
-revision=1
+revision=2
build_style=meson
configure_args="-Denable-tests=false"
hostmakedepends="pkg-config"
From 2853e8078175e811629ef6286cb77d7ce252542d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:10 +0200
Subject: [PATCH 17/27] justbuild: rebuild for fmt-11.0.2
---
srcpkgs/justbuild/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index e9b03509c08398..74d03063cfa329 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
# Template file for 'justbuild'
pkgname=justbuild
version=1.3.1
-revision=1
+revision=2
create_wrksrc=yes
hostmakedepends="jo pandoc pkg-config python3 tar unzip wget grpc protobuf"
makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++
From 2504606665cbbeb76c438f083169453e6bf422f5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:10 +0200
Subject: [PATCH 18/27] kodi: rebuild for fmt-11.0.2
---
srcpkgs/kodi/patches/pagesize.patch | 20 ++++++++++++++++++++
srcpkgs/kodi/template | 2 +-
2 files changed, 21 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/kodi/patches/pagesize.patch
diff --git a/srcpkgs/kodi/patches/pagesize.patch b/srcpkgs/kodi/patches/pagesize.patch
new file mode 100644
index 00000000000000..71f9baf2720ba6
--- /dev/null
+++ b/srcpkgs/kodi/patches/pagesize.patch
@@ -0,0 +1,20 @@
+--- a/xbmc/utils/UDMABufferObject.cpp 2024-04-06 04:29:22.000000000 +0200
++++ - 2024-09-07 20:00:02.010184618 +0200
+@@ -23,7 +23,7 @@
+ namespace
+ {
+
+-const auto PAGESIZE = getpagesize();
++const auto pagesize = getpagesize();
+
+ int RoundUp(int num, int factor)
+ {
+@@ -93,7 +93,7 @@
+ bool CUDMABufferObject::CreateBufferObject(uint64_t size)
+ {
+ // Must be rounded to the system page size
+- m_size = RoundUp(size, PAGESIZE);
++ m_size = RoundUp(size, pagesize);
+
+ m_memfd = memfd_create("kodi", MFD_CLOEXEC | MFD_ALLOW_SEALING);
+ if (m_memfd < 0)
diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template
index 94f8fa33c3cd8e..f412e5a07f2d3c 100644
--- a/srcpkgs/kodi/template
+++ b/srcpkgs/kodi/template
@@ -1,7 +1,7 @@
# Template file for 'kodi'
pkgname=kodi
version=21.0
-revision=1
+revision=2
_codename="Omega"
_crossguid_ver="ca1bf4b810e2d188d04cb6286f957008ee1b7681"
_dvdcss_ver="1.4.3-Next-Nexus-Alpha2-2"
From 7b727c48839209d74f256864fd2e5d381d2c73ba Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:10 +0200
Subject: [PATCH 19/27] mkvtoolnix: update to 87.0.
---
srcpkgs/mkvtoolnix/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/mkvtoolnix/template b/srcpkgs/mkvtoolnix/template
index a2fb9ba5cc9819..e72d5415267684 100644
--- a/srcpkgs/mkvtoolnix/template
+++ b/srcpkgs/mkvtoolnix/template
@@ -1,6 +1,6 @@
# Template file for 'mkvtoolnix'
pkgname=mkvtoolnix
-version=86.0
+version=87.0
revision=1
build_style=gnu-configure
build_helper="qmake6"
@@ -16,7 +16,7 @@ license="GPL-2.0-only"
homepage="https://mkvtoolnix.download"
changelog="https://mkvtoolnix.download/doc/NEWS.md"
distfiles="https://mkvtoolnix.download/sources/mkvtoolnix-${version}.tar.xz"
-checksum=29a9155fbba99f9074de2abcfbdc4e966ea38c16d9f6f547cf2d8d9a48152c97
+checksum=01cdfcbe01d9a771da4d475ed44d882a97695d08b6939684cebf56231bdee820
if [ "$CROSS_BUILD" ]; then
configure_args+=" --with-boost=${XBPS_CROSS_BASE}/usr"
From e83fb193473be09a437becf739dbb12308bbf99a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:10 +0200
Subject: [PATCH 20/27] mpd: rebuild for fmt-11.0.2
---
...869715e3efca87942d79c3173a6b21a6925d.patch | 79 +++++++++++++++++++
srcpkgs/mpd/template | 2 +-
2 files changed, 80 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/mpd/patches/1402869715e3efca87942d79c3173a6b21a6925d.patch
diff --git a/srcpkgs/mpd/patches/1402869715e3efca87942d79c3173a6b21a6925d.patch b/srcpkgs/mpd/patches/1402869715e3efca87942d79c3173a6b21a6925d.patch
new file mode 100644
index 00000000000000..f6d8c7d3376906
--- /dev/null
+++ b/srcpkgs/mpd/patches/1402869715e3efca87942d79c3173a6b21a6925d.patch
@@ -0,0 +1,79 @@
+From 1402869715e3efca87942d79c3173a6b21a6925d Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <rudi@heitbaum.com>
+Date: Fri, 5 Jul 2024 14:27:45 +0000
+Subject: [PATCH] lib/fmt: support build with libfmt-11.0.0
+
+Upstream libfmt commit fmtlib/fmt@d707292
+now requires the format function to be const.
+
+Adjust the function prototype so it is const and can compile.
+
+Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
+---
+ src/lib/ffmpeg/LibFmt.hxx | 2 +-
+ src/lib/fmt/AudioFormatFormatter.hxx | 4 ++--
+ src/lib/fmt/ExceptionFormatter.hxx | 2 +-
+ src/lib/fmt/PathFormatter.hxx | 2 +-
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/lib/ffmpeg/LibFmt.hxx b/src/lib/ffmpeg/LibFmt.hxx
+index aa068711f3..dee83ed2d5 100644
+--- a/src/lib/ffmpeg/LibFmt.hxx
++++ b/src/lib/ffmpeg/LibFmt.hxx
+@@ -13,7 +13,7 @@ template<>
+ struct fmt::formatter<AVSampleFormat> : formatter<string_view>
+ {
+ template<typename FormatContext>
+- auto format(const AVSampleFormat format, FormatContext &ctx) {
++ auto format(const AVSampleFormat format, FormatContext &ctx) const {
+ const char *name = av_get_sample_fmt_name(format);
+ if (name == nullptr)
+ name = "?";
+diff --git a/src/lib/fmt/AudioFormatFormatter.hxx b/src/lib/fmt/AudioFormatFormatter.hxx
+index e0ffb62160..8da98efd41 100644
+--- a/src/lib/fmt/AudioFormatFormatter.hxx
++++ b/src/lib/fmt/AudioFormatFormatter.hxx
+@@ -13,7 +13,7 @@ template<>
+ struct fmt::formatter<SampleFormat> : formatter<string_view>
+ {
+ template<typename FormatContext>
+- auto format(const SampleFormat format, FormatContext &ctx) {
++ auto format(const SampleFormat format, FormatContext &ctx) const {
+ return formatter<string_view>::format(sample_format_to_string(format),
+ ctx);
+ }
+@@ -23,7 +23,7 @@ template<>
+ struct fmt::formatter<AudioFormat> : formatter<string_view>
+ {
+ template<typename FormatContext>
+- auto format(const AudioFormat &af, FormatContext &ctx) {
++ auto format(const AudioFormat &af, FormatContext &ctx) const {
+ return formatter<string_view>::format(ToString(af).c_str(),
+ ctx);
+ }
+diff --git a/src/lib/fmt/ExceptionFormatter.hxx b/src/lib/fmt/ExceptionFormatter.hxx
+index 3f342df672..f08b3bb228 100644
+--- a/src/lib/fmt/ExceptionFormatter.hxx
++++ b/src/lib/fmt/ExceptionFormatter.hxx
+@@ -12,7 +12,7 @@ template<>
+ struct fmt::formatter<std::exception_ptr> : formatter<string_view>
+ {
+ template<typename FormatContext>
+- auto format(std::exception_ptr e, FormatContext &ctx) {
++ auto format(std::exception_ptr e, FormatContext &ctx) const {
+ return formatter<string_view>::format(GetFullMessage(e), ctx);
+ }
+ };
+diff --git a/src/lib/fmt/PathFormatter.hxx b/src/lib/fmt/PathFormatter.hxx
+index e5ae89dec5..add06df81b 100644
+--- a/src/lib/fmt/PathFormatter.hxx
++++ b/src/lib/fmt/PathFormatter.hxx
+@@ -13,7 +13,7 @@ template<std::convertible_to<Path> T>
+ struct fmt::formatter<T> : formatter<string_view>
+ {
+ template<typename FormatContext>
+- auto format(Path path, FormatContext &ctx) {
++ auto format(Path path, FormatContext &ctx) const {
+ return formatter<string_view>::format(path.ToUTF8(), ctx);
+ }
+ };
diff --git a/srcpkgs/mpd/template b/srcpkgs/mpd/template
index 7e059ca3f78af5..1fb1c1762c3241 100644
--- a/srcpkgs/mpd/template
+++ b/srcpkgs/mpd/template
@@ -1,7 +1,7 @@
# Template file for 'mpd'
pkgname=mpd
version=0.23.15
-revision=3
+revision=4
build_style=meson
configure_args="-Dopus=enabled -Dmikmod=enabled -Dneighbor=true
-Dsoundcloud=enabled -Dpipe=true -Dtwolame=enabled -Dbzip2=enabled
From fe6fc2f3724ea34d7b4d9b870b24791aafc83fa2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:11 +0200
Subject: [PATCH 21/27] mtxclient: rebuild for fmt-11.0.2
---
...26c77123f805cff8b954909663eaed296558.patch | 46 +++++++++++++++++++
srcpkgs/mtxclient/template | 2 +-
2 files changed, 47 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/mtxclient/patches/4a4726c77123f805cff8b954909663eaed296558.patch
diff --git a/srcpkgs/mtxclient/patches/4a4726c77123f805cff8b954909663eaed296558.patch b/srcpkgs/mtxclient/patches/4a4726c77123f805cff8b954909663eaed296558.patch
new file mode 100644
index 00000000000000..6f82aa274c383b
--- /dev/null
+++ b/srcpkgs/mtxclient/patches/4a4726c77123f805cff8b954909663eaed296558.patch
@@ -0,0 +1,46 @@
+From 4a4726c77123f805cff8b954909663eaed296558 Mon Sep 17 00:00:00 2001
+From: Kefu Chai <tchaikov@gmail.com>
+Date: Mon, 15 Jul 2024 11:35:09 +0800
+Subject: [PATCH] Fix build with fmt 11
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+fmt 11 enforces that fmt::formatter<..>::format() should be const.
+otherwise the tree does not build:
+
+```
+/usr/include/fmt/base.h:1392:29: error: passing ‘const fmt::v11::formatter<std::optional<mtx::http::ClientError> >’ as ‘this’ argument discards qualifiers [-fpermissive]
+ 1392 | ctx.advance_to(cf.format(*static_cast<qualified_type*>(arg), ctx));
+ | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+```
+
+so let's mark the `format()` with `const` specifier.
+
+Signed-off-by: Kefu Chai <tchaikov@gmail.com>
+---
+ include/mtxclient/http/errors.hpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/mtxclient/http/errors.hpp b/include/mtxclient/http/errors.hpp
+index 2d0e7a45..b99ff90e 100644
+--- a/include/mtxclient/http/errors.hpp
++++ b/include/mtxclient/http/errors.hpp
+@@ -87,7 +87,7 @@ struct fmt::formatter<mtx::http::ClientError>
+ // Formats the point p using the parsed format specification (presentation)
+ // stored in this formatter.
+ template<typename FormatContext>
+- auto format(const mtx::http::ClientError &e, FormatContext &ctx) -> decltype(ctx.out())
++ auto format(const mtx::http::ClientError &e, FormatContext &ctx) const -> decltype(ctx.out())
+ {
+ // ctx.out() is an output iterator to write to.
+ bool prepend_comma = false;
+@@ -132,7 +132,7 @@ struct fmt::formatter<std::optional<mtx::http::ClientError>> : formatter<mtx::ht
+ {
+ // parse is inherited from formatter<string_view>.
+ template<typename FormatContext>
+- auto format(std::optional<mtx::http::ClientError> c, FormatContext &ctx)
++ auto format(std::optional<mtx::http::ClientError> c, FormatContext &ctx) const
+ {
+ if (!c)
+ return fmt::format_to(ctx.out(), "(no error)");
diff --git a/srcpkgs/mtxclient/template b/srcpkgs/mtxclient/template
index 99d61932d3b56b..07e471e1753ca8 100644
--- a/srcpkgs/mtxclient/template
+++ b/srcpkgs/mtxclient/template
@@ -1,7 +1,7 @@
# Template file for 'mtxclient'
pkgname=mtxclient
version=0.10.0
-revision=2
+revision=3
build_style=cmake
configure_args="-DBUILD_LIB_TESTS=OFF -DBUILD_LIB_EXAMPLES=OFF"
hostmakedepends="pkg-config"
From 0e618bb05c2f366bea825f5c668e459d3dbac04f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:11 +0200
Subject: [PATCH 22/27] nheko: rebuild for fmt-11.0.2
---
...8245275eeb0cfe4ed40bd62b97cebbce4861.patch | 48 +++++++++++++++++++
srcpkgs/nheko/template | 2 +-
2 files changed, 49 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/nheko/patches/8ff28245275eeb0cfe4ed40bd62b97cebbce4861.patch
diff --git a/srcpkgs/nheko/patches/8ff28245275eeb0cfe4ed40bd62b97cebbce4861.patch b/srcpkgs/nheko/patches/8ff28245275eeb0cfe4ed40bd62b97cebbce4861.patch
new file mode 100644
index 00000000000000..65a3b87ed90682
--- /dev/null
+++ b/srcpkgs/nheko/patches/8ff28245275eeb0cfe4ed40bd62b97cebbce4861.patch
@@ -0,0 +1,48 @@
+From 8ff28245275eeb0cfe4ed40bd62b97cebbce4861 Mon Sep 17 00:00:00 2001
+From: Vitaly <vitaly@easycoding.org>
+Date: Tue, 16 Jul 2024 12:30:45 +0200
+Subject: [PATCH] Fixed build against fmt 11.
+
+---
+ src/RegisterPage.cpp | 2 ++
+ src/Utils.cpp | 1 +
+ src/encryption/DeviceVerificationFlow.cpp | 1 +
+ 3 files changed, 4 insertions(+)
+
+diff --git a/src/RegisterPage.cpp b/src/RegisterPage.cpp
+index 93e2cf1bb..562d2c82a 100644
+--- a/src/RegisterPage.cpp
++++ b/src/RegisterPage.cpp
+@@ -4,6 +4,8 @@
+
+ #include <set>
+
++#include <fmt/ranges.h>
++
+ #include <mtx/responses/common.hpp>
+ #include <mtx/responses/register.hpp>
+ #include <mtx/responses/version.hpp>
+diff --git a/src/Utils.cpp b/src/Utils.cpp
+index 3e7340f44..99d337c4d 100644
+--- a/src/Utils.cpp
++++ b/src/Utils.cpp
+@@ -26,6 +26,7 @@
+ #include <QWindow>
+ #include <QXmlStreamReader>
+
++#include <fmt/ranges.h>
+ #include <nlohmann/json.hpp>
+
+ #include <cmark.h>
+diff --git a/src/encryption/DeviceVerificationFlow.cpp b/src/encryption/DeviceVerificationFlow.cpp
+index cb595df0e..0757d88cb 100644
+--- a/src/encryption/DeviceVerificationFlow.cpp
++++ b/src/encryption/DeviceVerificationFlow.cpp
+@@ -9,6 +9,7 @@
+ #include <QDateTime>
+ #include <QTimer>
+
++#include <fmt/ranges.h>
+ #include <nlohmann/json.hpp>
+
+ #include "Cache.h"
diff --git a/srcpkgs/nheko/template b/srcpkgs/nheko/template
index 72ab2d3a1c69ed..9af55f3ec46d0e 100644
--- a/srcpkgs/nheko/template
+++ b/srcpkgs/nheko/template
@@ -1,7 +1,7 @@
# Template file for 'nheko'
pkgname=nheko
version=0.12.0
-revision=2
+revision=3
build_style=cmake
hostmakedepends="qt6-base qt6-tools qt6-declarative-host-tools pkg-config asciidoc"
makedepends="qt6-multimedia-devel qt6-svg-devel qt6-declarative-private-devel fmt-devel
From 0dde7b51e22820e37fca6cf19cac4dd6be7f0d32 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:11 +0200
Subject: [PATCH 23/27] opendht: rebuild for fmt-11.0.2
---
srcpkgs/opendht/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/opendht/template b/srcpkgs/opendht/template
index b18ada2e756011..f11babfddc8595 100644
--- a/srcpkgs/opendht/template
+++ b/srcpkgs/opendht/template
@@ -1,7 +1,7 @@
# Template file for 'opendht'
pkgname=opendht
version=2.6.0.4
-revision=2
+revision=3
build_style=cmake
configure_args="-DOPENDHT_SYSTEMD=OFF -DOPENDHT_TOOLS=OFF
-DOPENDHT_TESTS_NETWORK=OFF"
From 879c71f117c52fdb814fa80800f698bc384767a8 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:11 +0200
Subject: [PATCH 24/27] paps: rebuild for fmt-11.0.2
---
srcpkgs/paps/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/paps/template b/srcpkgs/paps/template
index 460daaaae5486d..71a802089a7c14 100644
--- a/srcpkgs/paps/template
+++ b/srcpkgs/paps/template
@@ -1,7 +1,7 @@
# Template file for 'paps'
pkgname=paps
version=0.8.0
-revision=1
+revision=2
build_style=meson
hostmakedepends="pkg-config cmake"
makedepends="fmt-devel freetype-devel pango-devel"
From 8b0963cbef116a3c5e0763da2d1893abbb29a4fc Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:11 +0200
Subject: [PATCH 25/27] python3-syndom: rebuild for fmt-11.0.2
---
srcpkgs/python3-syndom/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/python3-syndom/template b/srcpkgs/python3-syndom/template
index 2d1e037ddf3124..906c6a17c086ad 100644
--- a/srcpkgs/python3-syndom/template
+++ b/srcpkgs/python3-syndom/template
@@ -1,7 +1,7 @@
# Template file for 'python3-syndom'
pkgname=python3-syndom
version=1.0
-revision=1
+revision=2
build_style=meson
hostmakedepends="pkg-config python3-pybind11"
makedepends="fmt-devel libtidy5-devel pugixml-devel python3-pybind11"
From cd8cdada3be5d884eee06e64213e1b90c99fde99 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:11 +0200
Subject: [PATCH 26/27] spdlog: update to 1.14.1.
---
common/shlibs | 2 +-
srcpkgs/spdlog/template | 5 +++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 32f3725e3767fa..a275fce1d7df93 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4209,7 +4209,7 @@ libwayland-client++.so.1 libwaylandpp-1.0.0_1
libwayland-cursor++.so.1 libwaylandpp-1.0.0_1
libwayland-egl++.so.1 libwaylandpp-1.0.0_1
libwayland-client-extra++.so.1 libwaylandpp-1.0.0_1
-libspdlog.so.1.11 libspdlog-1.11.0_1
+libspdlog.so.1.14 libspdlog-1.14.1_1
libmd.so.0 libmd-1.0.3_1
libldacBT_abr.so.2 ldacBT-2.0.2.3_1
libldacBT_enc.so.2 ldacBT-2.0.2.3_1
diff --git a/srcpkgs/spdlog/template b/srcpkgs/spdlog/template
index 045f86def2cc33..fb073f81fceca4 100644
--- a/srcpkgs/spdlog/template
+++ b/srcpkgs/spdlog/template
@@ -1,6 +1,6 @@
# Template file for 'spdlog'
pkgname=spdlog
-version=1.11.0
+version=1.14.1
revision=1
build_style=cmake
configure_args="-DSPDLOG_BUILD_EXAMPLE=OFF -DSPDLOG_FMT_EXTERNAL=ON
@@ -13,10 +13,11 @@ maintainer="skmpz <dem.procopiou@gmail.com>"
license="MIT"
homepage="https://github.com/gabime/spdlog"
distfiles="https://github.com/gabime/spdlog/archive/v${version}.tar.gz"
-checksum=ca5cae8d6cac15dae0ec63b21d6ad3530070650f68076f3a4a862ca293a858bb
+checksum=1586508029a7d0670dfcb2d97575dcdc242d3868a259742b69f100801ab4e16b
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -DSPDLOG_BUILD_TESTS_HO=ON"
+ hostmakedepends+=" catch2"
fi
libspdlog_package() {
From bc68dc08460a1934285b9a681ab475cafe548c90 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:12 +0200
Subject: [PATCH 27/27] vtk: update to 9.3.1.
---
common/shlibs | 220 +++++++++++------------
srcpkgs/vtk/patches/01-vtkioss-fmt.patch | 59 ++++++
srcpkgs/vtk/patches/02-vtkioss-fmt.patch | 23 +++
srcpkgs/vtk/patches/gcc13.patch | 13 --
srcpkgs/vtk/patches/vtkioss-unistd.patch | 6 +-
srcpkgs/vtk/template | 7 +-
6 files changed, 199 insertions(+), 129 deletions(-)
create mode 100644 srcpkgs/vtk/patches/01-vtkioss-fmt.patch
create mode 100644 srcpkgs/vtk/patches/02-vtkioss-fmt.patch
delete mode 100644 srcpkgs/vtk/patches/gcc13.patch
diff --git a/common/shlibs b/common/shlibs
index a275fce1d7df93..b51a07b1011ffc 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3340,116 +3340,116 @@ libgnuradio-pdu.so.3.10.10 gnuradio-3.10.10.0_1
libgnuradio-osmosdr.so.0.2.0 gnuradio-osmosdr-0.2.0_1
libflann_cpp.so.1.9 flann-1.9.1_1
libflann.so.1.9 flann-1.9.1_1
-libvtkCommonCore-9.2.so.1 vtk-9.2.2_1
-libvtksys-9.2.so.1 vtk-9.2.2_1
-libvtkCommonMisc-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingContext2D-9.2.so.1 vtk-9.2.2_1
-libvtkCommonTransforms-9.2.so.1 vtk-9.2.2_1
-libvtkCommonMath-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingLOD-9.2.so.1 vtk-9.2.2_1
-libvtkViewsInfovis-9.2.so.1 vtk-9.2.2_1
-libvtkIOIOSS-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingLabel-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersPoints-9.2.so.1 vtk-9.2.2_1
-libvtkCommonExecutionModel-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingHyperTreeGrid-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersGeometry-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersGeneral-9.2.so.1 vtk-9.2.2_1
-libvtkCommonDataModel-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersTopology-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersSources-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingVolumeOpenGL2-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingCore-9.2.so.1 vtk-9.2.2_1
-libvtkIOOggTheora-9.2.so.1 vtk-9.2.2_1
-libvtkIOExportGL2PS-9.2.so.1 vtk-9.2.2_1
-libvtkIOAMR-9.2.so.1 vtk-9.2.2_1
-libvtkIOCesium3DTiles-9.2.so.1 vtk-9.2.2_1
-libvtkIOSegY-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingVtkJS-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersTexture-9.2.so.1 vtk-9.2.2_1
-libvtkIOVideo-9.2.so.1 vtk-9.2.2_1
-libvtkImagingSources-9.2.so.1 vtk-9.2.2_1
-libvtkImagingStencil-9.2.so.1 vtk-9.2.2_1
-libvtkIOCGNSReader-9.2.so.1 vtk-9.2.2_1
-libvtkCommonComputationalGeometry-9.2.so.1 vtk-9.2.2_1
-libvtkIOVeraOut-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersHybrid-9.2.so.1 vtk-9.2.2_1
-libvtkInteractionImage-9.2.so.1 vtk-9.2.2_1
-libvtkChartsCore-9.2.so.1 vtk-9.2.2_1
-libvtkImagingStatistics-9.2.so.1 vtk-9.2.2_1
-libvtkImagingHybrid-9.2.so.1 vtk-9.2.2_1
-libvtkGeovisCore-9.2.so.1 vtk-9.2.2_1
-libvtkInteractionWidgets-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersImaging-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersVerdict-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersSMP-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingUI-9.2.so.1 vtk-9.2.2_1
-libvtkIOHDF-9.2.so.1 vtk-9.2.2_1
-libvtkCommonSystem-9.2.so.1 vtk-9.2.2_1
-libvtkImagingColor-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingSceneGraph-9.2.so.1 vtk-9.2.2_1
-libvtkParallelCore-9.2.so.1 vtk-9.2.2_1
-libvtkIOInfovis-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingOpenGL2-9.2.so.1 vtk-9.2.2_1
-libvtkImagingFourier-9.2.so.1 vtk-9.2.2_1
-libvtkCommonColor-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingAnnotation-9.2.so.1 vtk-9.2.2_1
-libvtkIOSQL-9.2.so.1 vtk-9.2.2_1
-libvtkIOImage-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersCore-9.2.so.1 vtk-9.2.2_1
-libvtkInfovisCore-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersExtraction-9.2.so.1 vtk-9.2.2_1
-libvtkIOGeometry-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersFlowPaths-9.2.so.1 vtk-9.2.2_1
-libvtkIOMovie-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingVolume-9.2.so.1 vtk-9.2.2_1
-libvtkIOEnSight-9.2.so.1 vtk-9.2.2_1
-libvtkDomainsChemistryOpenGL2-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersStatistics-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersSelection-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersModeling-9.2.so.1 vtk-9.2.2_1
-libvtkViewsCore-9.2.so.1 vtk-9.2.2_1
-libvtkIOMotionFX-9.2.so.1 vtk-9.2.2_1
-libvtkIOLSDyna-9.2.so.1 vtk-9.2.2_1
-libvtkIOParallel-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingContextOpenGL2-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingImage-9.2.so.1 vtk-9.2.2_1
-libvtkIOXMLParser-9.2.so.1 vtk-9.2.2_1
-libvtkImagingMorphological-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersParallel-9.2.so.1 vtk-9.2.2_1
-libvtkViewsContext2D-9.2.so.1 vtk-9.2.2_1
-libvtkIOImport-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingLICOpenGL2-9.2.so.1 vtk-9.2.2_1
-libvtkIOAsynchronous-9.2.so.1 vtk-9.2.2_1
-libvtkIOTecplotTable-9.2.so.1 vtk-9.2.2_1
-libvtkIOCityGML-9.2.so.1 vtk-9.2.2_1
-libvtkImagingMath-9.2.so.1 vtk-9.2.2_1
-libvtkIOParallelXML-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingGL2PSOpenGL2-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersGeneric-9.2.so.1 vtk-9.2.2_1
-libvtkIONetCDF-9.2.so.1 vtk-9.2.2_1
-libvtkImagingCore-9.2.so.1 vtk-9.2.2_1
-libvtkInfovisLayout-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersHyperTree-9.2.so.1 vtk-9.2.2_1
-libvtkIOExportPDF-9.2.so.1 vtk-9.2.2_1
-libvtkImagingGeneral-9.2.so.1 vtk-9.2.2_1
-libvtkIOXML-9.2.so.1 vtk-9.2.2_1
-libvtkIOChemistry-9.2.so.1 vtk-9.2.2_1
-libvtkInteractionStyle-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersAMR-9.2.so.1 vtk-9.2.2_1
-libvtkIOMINC-9.2.so.1 vtk-9.2.2_1
-libvtkTestingRendering-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersParallelImaging-9.2.so.1 vtk-9.2.2_1
-libvtkDomainsChemistry-9.2.so.1 vtk-9.2.2_1
-libvtkIOExport-9.2.so.1 vtk-9.2.2_1
-libvtkIOCore-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersProgrammable-9.2.so.1 vtk-9.2.2_1
-libvtkIOCONVERGECFD-9.2.so.1 vtk-9.2.2_1
-libvtkIOLegacy-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingFreeType-9.2.so.1 vtk-9.2.2_1
-libvtkIOPLY-9.2.so.1 vtk-9.2.2_1
-libvtkIOExodus-9.2.so.1 vtk-9.2.2_1
-libvtkkissfft-9.2.so.1 vtk-9.2.2_1
+libvtkCommonCore-9.3.so.1 vtk-9.3.2_1
+libvtksys-9.3.so.1 vtk-9.3.2_1
+libvtkCommonMisc-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingContext2D-9.3.so.1 vtk-9.3.2_1
+libvtkCommonTransforms-9.3.so.1 vtk-9.3.2_1
+libvtkCommonMath-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingLOD-9.3.so.1 vtk-9.3.2_1
+libvtkViewsInfovis-9.3.so.1 vtk-9.3.2_1
+libvtkIOIOSS-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingLabel-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersPoints-9.3.so.1 vtk-9.3.2_1
+libvtkCommonExecutionModel-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingHyperTreeGrid-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersGeometry-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersGeneral-9.3.so.1 vtk-9.3.2_1
+libvtkCommonDataModel-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersTopology-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersSources-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingVolumeOpenGL2-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingCore-9.3.so.1 vtk-9.3.2_1
+libvtkIOOggTheora-9.3.so.1 vtk-9.3.2_1
+libvtkIOExportGL2PS-9.3.so.1 vtk-9.3.2_1
+libvtkIOAMR-9.3.so.1 vtk-9.3.2_1
+libvtkIOCesium3DTiles-9.3.so.1 vtk-9.3.2_1
+libvtkIOSegY-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingVtkJS-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersTexture-9.3.so.1 vtk-9.3.2_1
+libvtkIOVideo-9.3.so.1 vtk-9.3.2_1
+libvtkImagingSources-9.3.so.1 vtk-9.3.2_1
+libvtkImagingStencil-9.3.so.1 vtk-9.3.2_1
+libvtkIOCGNSReader-9.3.so.1 vtk-9.3.2_1
+libvtkCommonComputationalGeometry-9.3.so.1 vtk-9.3.2_1
+libvtkIOVeraOut-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersHybrid-9.3.so.1 vtk-9.3.2_1
+libvtkInteractionImage-9.3.so.1 vtk-9.3.2_1
+libvtkChartsCore-9.3.so.1 vtk-9.3.2_1
+libvtkImagingStatistics-9.3.so.1 vtk-9.3.2_1
+libvtkImagingHybrid-9.3.so.1 vtk-9.3.2_1
+libvtkGeovisCore-9.3.so.1 vtk-9.3.2_1
+libvtkInteractionWidgets-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersImaging-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersVerdict-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersSMP-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingUI-9.3.so.1 vtk-9.3.2_1
+libvtkIOHDF-9.3.so.1 vtk-9.3.2_1
+libvtkCommonSystem-9.3.so.1 vtk-9.3.2_1
+libvtkImagingColor-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingSceneGraph-9.3.so.1 vtk-9.3.2_1
+libvtkParallelCore-9.3.so.1 vtk-9.3.2_1
+libvtkIOInfovis-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingOpenGL2-9.3.so.1 vtk-9.3.2_1
+libvtkImagingFourier-9.3.so.1 vtk-9.3.2_1
+libvtkCommonColor-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingAnnotation-9.3.so.1 vtk-9.3.2_1
+libvtkIOSQL-9.3.so.1 vtk-9.3.2_1
+libvtkIOImage-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersCore-9.3.so.1 vtk-9.3.2_1
+libvtkInfovisCore-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersExtraction-9.3.so.1 vtk-9.3.2_1
+libvtkIOGeometry-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersFlowPaths-9.3.so.1 vtk-9.3.2_1
+libvtkIOMovie-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingVolume-9.3.so.1 vtk-9.3.2_1
+libvtkIOEnSight-9.3.so.1 vtk-9.3.2_1
+libvtkDomainsChemistryOpenGL2-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersStatistics-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersSelection-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersModeling-9.3.so.1 vtk-9.3.2_1
+libvtkViewsCore-9.3.so.1 vtk-9.3.2_1
+libvtkIOMotionFX-9.3.so.1 vtk-9.3.2_1
+libvtkIOLSDyna-9.3.so.1 vtk-9.3.2_1
+libvtkIOParallel-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingContextOpenGL2-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingImage-9.3.so.1 vtk-9.3.2_1
+libvtkIOXMLParser-9.3.so.1 vtk-9.3.2_1
+libvtkImagingMorphological-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersParallel-9.3.so.1 vtk-9.3.2_1
+libvtkViewsContext2D-9.3.so.1 vtk-9.3.2_1
+libvtkIOImport-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingLICOpenGL2-9.3.so.1 vtk-9.3.2_1
+libvtkIOAsynchronous-9.3.so.1 vtk-9.3.2_1
+libvtkIOTecplotTable-9.3.so.1 vtk-9.3.2_1
+libvtkIOCityGML-9.3.so.1 vtk-9.3.2_1
+libvtkImagingMath-9.3.so.1 vtk-9.3.2_1
+libvtkIOParallelXML-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingGL2PSOpenGL2-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersGeneric-9.3.so.1 vtk-9.3.2_1
+libvtkIONetCDF-9.3.so.1 vtk-9.3.2_1
+libvtkImagingCore-9.3.so.1 vtk-9.3.2_1
+libvtkInfovisLayout-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersHyperTree-9.3.so.1 vtk-9.3.2_1
+libvtkIOExportPDF-9.3.so.1 vtk-9.3.2_1
+libvtkImagingGeneral-9.3.so.1 vtk-9.3.2_1
+libvtkIOXML-9.3.so.1 vtk-9.3.2_1
+libvtkIOChemistry-9.3.so.1 vtk-9.3.2_1
+libvtkInteractionStyle-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersAMR-9.3.so.1 vtk-9.3.2_1
+libvtkIOMINC-9.3.so.1 vtk-9.3.2_1
+libvtkTestingRendering-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersParallelImaging-9.3.so.1 vtk-9.3.2_1
+libvtkDomainsChemistry-9.3.so.1 vtk-9.3.2_1
+libvtkIOExport-9.3.so.1 vtk-9.3.2_1
+libvtkIOCore-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersProgrammable-9.3.so.1 vtk-9.3.2_1
+libvtkIOCONVERGECFD-9.3.so.1 vtk-9.3.2_1
+libvtkIOLegacy-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingFreeType-9.3.so.1 vtk-9.3.2_1
+libvtkIOPLY-9.3.so.1 vtk-9.3.2_1
+libvtkIOExodus-9.3.so.1 vtk-9.3.2_1
+libvtkkissfft-9.3.so.1 vtk-9.3.2_1
libvolume_key.so.1 volume_key-0.3.9_1
librand48_r.so.0 rand48_r-0.1_1
libxxhash.so.0 libxxHash-0.6.5_2
diff --git a/srcpkgs/vtk/patches/01-vtkioss-fmt.patch b/srcpkgs/vtk/patches/01-vtkioss-fmt.patch
new file mode 100644
index 00000000000000..45c60721ae0862
--- /dev/null
+++ b/srcpkgs/vtk/patches/01-vtkioss-fmt.patch
@@ -0,0 +1,59 @@
+From ff6336d8ca857d6909987a82526cefdfd34aaf2c Mon Sep 17 00:00:00 2001
+From: Greg Sjaardema <gdsjaar@sandia.gov>
+Date: Tue, 2 Jan 2024 17:25:41 -0700
+Subject: [PATCH] FMT: Fixes for latest releast of lib::fmt
+
+---
+ ThirdParty/ioss/vtkioss/Ioss_IOFactory.C | 1 +
+ ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C | 1 +
+ ThirdParty/ioss/vtkioss/Ioss_Utils.C | 1 +
+ ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C | 1 +
+ 15 files changed, 15 insertions(+)
+
+diff --git a/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C b/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C
+--- a/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C
++++ b/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C
+@@ -12,6 +12,7 @@
+ #include <cstddef> // for nullptr
+ #include "vtk_fmt.h"
+ #include VTK_FMT(fmt/ostream.h)
++#include VTK_FMT(fmt/ranges.h)
+ #include <map> // for _Rb_tree_iterator, etc
+ #include <ostream> // for basic_ostream, etc
+ #include <set>
+diff --git a/ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C b/ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C
+index d650c38c84..581c21b158 100644
+--- a/ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C
++++ b/ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C
+@@ -15,6 +15,7 @@
+ #include <Ioss_StructuredBlock.h>
+ #include "vtk_fmt.h"
+ #include VTK_FMT(fmt/ostream.h)
++#include VTK_FMT(fmt/ranges.h)
+
+ #include <cstddef> // for size_t
+ #include <numeric>
+diff --git a/ThirdParty/ioss/vtkioss/Ioss_Utils.C b/ThirdParty/ioss/vtkioss/Ioss_Utils.C
+index effcfd6199..6e98057473 100644
+--- a/ThirdParty/ioss/vtkioss/Ioss_Utils.C
++++ b/ThirdParty/ioss/vtkioss/Ioss_Utils.C
+@@ -21,6 +21,7 @@
+ #include VTK_FMT(fmt/chrono.h)
+ #include VTK_FMT(fmt/format.h)
+ #include VTK_FMT(fmt/ostream.h)
++#include VTK_FMT(fmt/ranges.h)
+ #include <fstream>
+ #include <sstream>
+ #include <string>
+diff --git a/ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C b/ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C
+index edee536489..b0f9706b7c 100644
+--- a/ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C
++++ b/ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C
+@@ -9,6 +9,7 @@
+ #include <cstddef> // for size_t
+ #include "vtk_fmt.h"
+ #include VTK_FMT(fmt/ostream.h)
++#include VTK_FMT(fmt/ranges.h)
+ #include <string> // for string
+ #include <vector> // for vector
+
diff --git a/srcpkgs/vtk/patches/02-vtkioss-fmt.patch b/srcpkgs/vtk/patches/02-vtkioss-fmt.patch
new file mode 100644
index 00000000000000..b3070a1722908a
--- /dev/null
+++ b/srcpkgs/vtk/patches/02-vtkioss-fmt.patch
@@ -0,0 +1,23 @@
+From 80470e638859457c6bd2513dbc85a725b2bef78d Mon Sep 17 00:00:00 2001
+From: Greg Sjaardema <gdsjaar@sandia.gov>
+Date: Wed, 31 Jul 2024 07:38:40 -0600
+Subject: [PATCH] IOSS: Fix some misues of lib::fmt causing issues with C++20
+
+---
+ ThirdParty/ioss/vtkioss/Ioss_DatabaseIO.C | 7 ++-----
+ ThirdParty/ioss/vtkioss/Ioss_Utils.C | 2 +-
+ 2 files changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/ThirdParty/ioss/vtkioss/Ioss_DatabaseIO.C b/ThirdParty/ioss/vtkioss/Ioss_DatabaseIO.C
+index 870140a1d2..f16b426753 100644
+--- a/ThirdParty/ioss/vtkioss/Ioss_DatabaseIO.C
++++ b/ThirdParty/ioss/vtkioss/Ioss_DatabaseIO.C
+@@ -1638,7 +1635,7 @@ namespace {
+ else {
+ char sep = (util.parallel_size() > 1) ? ':' : ' ';
+ for (auto &p_time : all_times) {
+- fmt::print(strm, "{:8d}{}", p_time, sep);
++ fmt::print(strm, "{:8}{}", p_time, sep);
+ }
+ }
+ if (util.parallel_size() > 1) {
diff --git a/srcpkgs/vtk/patches/gcc13.patch b/srcpkgs/vtk/patches/gcc13.patch
deleted file mode 100644
index d0ba2017b70ca0..00000000000000
--- a/srcpkgs/vtk/patches/gcc13.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Source: https://src.fedoraproject.org/rpms/vtk/blob/1a12f28665b2f24537b98fcf4b3fb3a176fa7fba/f/vtk-include.patch
-
-diff -up VTK-9.2.5/IO/Image/vtkSEPReader.h.include VTK-9.2.5/IO/Image/vtkSEPReader.h
---- VTK-9.2.5/IO/Image/vtkSEPReader.h.include 2023-01-05 08:51:35.000000000 -0700
-+++ VTK-9.2.5/IO/Image/vtkSEPReader.h 2023-01-17 07:43:41.988095734 -0700
-@@ -26,6 +26,7 @@
- #include "vtkNew.h" // for ivars
-
- #include <array> // for std::array
-+#include <cstdint> // for std::uint8_t
- #include <string> // for std::string
-
- namespace details
diff --git a/srcpkgs/vtk/patches/vtkioss-unistd.patch b/srcpkgs/vtk/patches/vtkioss-unistd.patch
index df43a1fe5bba9c..d07abb59fe5edd 100644
--- a/srcpkgs/vtk/patches/vtkioss-unistd.patch
+++ b/srcpkgs/vtk/patches/vtkioss-unistd.patch
@@ -11,9 +11,9 @@ index ca5f15de..99c2bbdd 100644
#else
-#include <sys/unistd.h>
+#include <unistd.h>
- #endif
-
- #ifdef SEACAS_HAVE_MPI
+ #if defined(__APPLE__) && defined(__MACH__)
+ #include <sys/param.h>
+ #include <sys/mount.h>
@@ -35,9 +35,6 @@
#include <cstdio>
diff --git a/srcpkgs/vtk/template b/srcpkgs/vtk/template
index 189591d55725a7..5d87abde765f37 100644
--- a/srcpkgs/vtk/template
+++ b/srcpkgs/vtk/template
@@ -1,7 +1,7 @@
# Template file for 'vtk'
pkgname=vtk
-version=9.2.6
-revision=3
+version=9.3.1
+revision=1
build_style=cmake
# vtk can be huge, especially with -DVTK_BUILD_ALL_MODULES=ON"
# Build only the core modules plus python bindings for now
@@ -14,6 +14,7 @@ configure_args="-DBUILD_SHARED_LIBS=ON -DVTK_FORBID_DOWNLOADS=ON
-DVTK_MODULE_USE_EXTERNAL_VTK_ioss=OFF
-DVTK_MODULE_USE_EXTERNAL_VTK_cgns=OFF
-DVTK_MODULE_USE_EXTERNAL_VTK_verdict=OFF
+ -DVTK_MODULE_USE_EXTERNAL_VTK_fast_float=OFF
-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3"
# vtk forks libharu, bumps to v2.4.0, and requires libharu>=2.4.0
makedepends="zlib-devel freetype-devel liblz4-devel expat-devel MesaLib-devel
@@ -26,7 +27,7 @@ maintainer="Piraty <mail@piraty.dev>"
license="BSD-3-Clause"
homepage="https://www.vtk.org"
distfiles="https://www.vtk.org/files/release/${version:0:3}/VTK-${version}.tar.gz"
-checksum=06fc8d49c4e56f498c40fcb38a563ed8d4ec31358d0101e8988f0bb4d539dd12
+checksum=8354ec084ea0d2dc3d23dbe4243823c4bfc270382d0ce8d658939fd50061cab8
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
makedepends+=" libexecinfo-devel"
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: fmt: update to 11.0.2
2024-09-07 21:24 [PR PATCH] fmt: update to 11.0.2 Johnnynator
@ 2024-09-09 17:09 ` meator
2024-09-09 17:30 ` Calandracas606
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: meator @ 2024-09-09 17:09 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 175 bytes --]
New comment by meator on void-packages repository
https://github.com/void-linux/void-packages/pull/52140#issuecomment-2338640133
Comment:
Related to #50183: @Calandracas606
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: fmt: update to 11.0.2
2024-09-07 21:24 [PR PATCH] fmt: update to 11.0.2 Johnnynator
2024-09-09 17:09 ` meator
@ 2024-09-09 17:30 ` Calandracas606
2024-09-10 12:51 ` Johnnynator
2024-09-11 18:34 ` [PR PATCH] [Updated] " Johnnynator
3 siblings, 0 replies; 5+ messages in thread
From: Calandracas606 @ 2024-09-09 17:30 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 231 bytes --]
New comment by Calandracas606 on void-packages repository
https://github.com/void-linux/void-packages/pull/52140#issuecomment-2338677752
Comment:
my pr builds for all arches last time i checked.
probably needs a rebase though
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: fmt: update to 11.0.2
2024-09-07 21:24 [PR PATCH] fmt: update to 11.0.2 Johnnynator
2024-09-09 17:09 ` meator
2024-09-09 17:30 ` Calandracas606
@ 2024-09-10 12:51 ` Johnnynator
2024-09-11 18:34 ` [PR PATCH] [Updated] " Johnnynator
3 siblings, 0 replies; 5+ messages in thread
From: Johnnynator @ 2024-09-10 12:51 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 357 bytes --]
New comment by Johnnynator on void-packages repository
https://github.com/void-linux/void-packages/pull/52140#issuecomment-2340657997
Comment:
> my pr builds for all arches last time i checked.
>
> probably needs a rebase though
The kodi failure is unrelated to the PR and also in master right now. And fmt 11 seems to have broken some more things.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PR PATCH] [Updated] fmt: update to 11.0.2
2024-09-07 21:24 [PR PATCH] fmt: update to 11.0.2 Johnnynator
` (2 preceding siblings ...)
2024-09-10 12:51 ` Johnnynator
@ 2024-09-11 18:34 ` Johnnynator
3 siblings, 0 replies; 5+ messages in thread
From: Johnnynator @ 2024-09-11 18:34 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1311 bytes --]
There is an updated pull request by Johnnynator against master on the void-packages repository
https://github.com/Johnnynator/void-packages android-tools
https://github.com/void-linux/void-packages/pull/52140
fmt: update to 11.0.2
- **fmt: update to 11.0.2.**
- **0ad: rebuild for fmt-11.0.2**
- **Bear: rebuild for fmt-11.0.2**
- **MangoHud: rebuild for fmt-11.0.2**
- **Waybar: rebuild for fmt-11.0.2**
- **cherrytree: rebuild for fmt-11.0.2**
- **coeurl: update to 0.3.1**
- **cryfs: rebuild for fmt-11.0.2**
- **devilutionX: update to 1.5.3.**
- **easyeffects: rebuild for fmt-11.0.2**
- **freecad: rebuild for fmt-11.0.2**
- **furnace: rebuild for fmt-11.0.2**
- **gerbera: update to 2.2.0.**
- **gnuradio: rebuild for fmt-11.0.2**
- **imhex: rebuild for fmt-11.0.2**
- **j4-dmenu-desktop: rebuild for fmt-11.0.2**
- **justbuild: rebuild for fmt-11.0.2**
- **kodi: rebuild for fmt-11.0.2**
- **mkvtoolnix: update to 87.0.**
- **mpd: rebuild for fmt-11.0.2**
- **mtxclient: rebuild for fmt-11.0.2**
- **nheko: rebuild for fmt-11.0.2**
- **opendht: rebuild for fmt-11.0.2**
- **paps: rebuild for fmt-11.0.2**
- **python3-syndom: rebuild for fmt-11.0.2**
- **spdlog: update to 1.14.1.**
- **vtk: update to 9.3.1.**
A patch file from https://github.com/void-linux/void-packages/pull/52140.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-android-tools-52140.patch --]
[-- Type: text/x-diff, Size: 107816 bytes --]
From f8e25600c7f94d6f17e3fa8b958b21875c6c8b1f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:17:03 +0200
Subject: [PATCH 01/27] fmt: update to 11.0.2.
---
common/shlibs | 2 +-
srcpkgs/fmt/template | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 1e27ac5df0d58c..4a8397a0369657 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3627,7 +3627,7 @@ libcotp.so.3 libcotp-3.0.0_1
libunarr.so.1 libunarr-1.0.1_1
libretro-gtk-1.so.0 retro-gtk-1.0.0_1
libmanette-0.2.so.0 libmanette-0.2.1_1
-libfmt.so.9 fmt-9.0.0_1
+libfmt.so.11 fmt-11.0.0_1
libelementary-calendar.so.0 libio.elementary.calendar-4.2.3_1
libolm.so.3 olm-3.0.0_1
libtls.so.29 libtls-3.9.1_1
diff --git a/srcpkgs/fmt/template b/srcpkgs/fmt/template
index c32298a35a90ff..e79643a0fa9bf4 100644
--- a/srcpkgs/fmt/template
+++ b/srcpkgs/fmt/template
@@ -1,6 +1,6 @@
# Template file for 'fmt'
pkgname=fmt
-version=9.1.0
+version=11.0.2
revision=1
build_style=cmake
configure_args="-DBUILD_SHARED_LIBS=ON -DFMT_DOC=OFF -DFMT_TEST=OFF"
@@ -10,10 +10,10 @@ license="MIT WITH fmt-exception"
homepage="https://github.com/fmtlib/fmt"
changelog="https://raw.githubusercontent.com/fmtlib/fmt/master/ChangeLog.rst"
distfiles="https://github.com/fmtlib/fmt/archive/${version}.tar.gz"
-checksum=5dea48d1fcddc3ec571ce2058e13910a0d4a6bab4cc09a809d8b1dd1c88ae6f2
+checksum=6cb1e6d37bdcb756dbbe59be438790db409cdb4868c66e888d5df9f13f7c027f
post_install() {
- vlicense LICENSE.rst LICENSE
+ vlicense LICENSE
}
fmt-devel_package() {
From ac52d6fe89960536e07854dc25e32729f3345ceb Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:08 +0200
Subject: [PATCH 02/27] 0ad: rebuild for fmt-11.0.2
---
srcpkgs/0ad/patches/fmt-10.patch | 26 ++++++++++++++++++++++++++
srcpkgs/0ad/template | 2 +-
2 files changed, 27 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/0ad/patches/fmt-10.patch
diff --git a/srcpkgs/0ad/patches/fmt-10.patch b/srcpkgs/0ad/patches/fmt-10.patch
new file mode 100644
index 00000000000000..ada783ac3c2239
--- /dev/null
+++ b/srcpkgs/0ad/patches/fmt-10.patch
@@ -0,0 +1,26 @@
+diff --git a/source/network/NetMessage.cpp b/source/network/NetMessage.cpp
+index 61126d8..8945175 100644
+--- a/source/network/NetMessage.cpp
++++ b/source/network/NetMessage.cpp
+@@ -216,7 +216,7 @@ CNetMessage* CNetMessageFactory::CreateMessage(const void* pData,
+ break;
+
+ default:
+- LOGERROR("CNetMessageFactory::CreateMessage(): Unknown message type '%d' received", header.GetType());
++ LOGERROR("CNetMessageFactory::CreateMessage(): Unknown message type '%d' received", static_cast<int>(header.GetType()));
+ break;
+ }
+
+diff --git a/source/simulation2/serialization/BinarySerializer.cpp b/source/simulation2/serialization/BinarySerializer.cpp
+index 6a0b4e4..7d30c5b 100644
+--- a/source/simulation2/serialization/BinarySerializer.cpp
++++ b/source/simulation2/serialization/BinarySerializer.cpp
+@@ -52,7 +52,7 @@ static u8 GetArrayType(js::Scalar::Type arrayType)
+ case js::Scalar::Uint8Clamped:
+ return SCRIPT_TYPED_ARRAY_UINT8_CLAMPED;
+ default:
+- LOGERROR("Cannot serialize unrecognized typed array view: %d", arrayType);
++ LOGERROR("Cannot serialize unrecognized typed array view: %d", static_cast<int>(arrayType));
+ throw PSERROR_Serialize_InvalidScriptValue();
+ }
+ }
diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index ae29ee78b02335..a0f7607b39e2ad 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -1,7 +1,7 @@
# Template file for '0ad'
pkgname=0ad
version=0.0.26
-revision=9
+revision=10
archs="x86_64* i686* aarch64* armv7l* ppc64le*"
build_helper=rust
hostmakedepends="pkg-config perl cmake python3.11 rust cargo yasm tar clang"
From eb863d91254aaad4b1a5751afa64af980410f4ef Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:08 +0200
Subject: [PATCH 03/27] Bear: rebuild for fmt-11.0.2
---
...afe61299c87449023d63336389f159b55808.patch | 55 +++++++++++++++++++
srcpkgs/Bear/template | 2 +-
2 files changed, 56 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/Bear/patches/8afeafe61299c87449023d63336389f159b55808.patch
diff --git a/srcpkgs/Bear/patches/8afeafe61299c87449023d63336389f159b55808.patch b/srcpkgs/Bear/patches/8afeafe61299c87449023d63336389f159b55808.patch
new file mode 100644
index 00000000000000..0603c34719b655
--- /dev/null
+++ b/srcpkgs/Bear/patches/8afeafe61299c87449023d63336389f159b55808.patch
@@ -0,0 +1,55 @@
+From 8afeafe61299c87449023d63336389f159b55808 Mon Sep 17 00:00:00 2001
+From: Kefu Chai <tchaikov@gmail.com>
+Date: Sun, 14 Jul 2024 08:47:53 +0800
+Subject: [PATCH] citnames: include fmt/ranges.h for using fmt::join()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+fmt::join() was moved into fmt/ranges.h since fmt v11, so include
+this header for using fmt::join(). otherwise, we'd have following
+compilation failure when building Bear with fmt v11 and up:
+
+```
+/builddir/build/BUILD/bear-3.1.4-build/Bear-3.1.4/source/citnames/source/semantic/Parsers.h:255:73: error: ‘join’ is not a member of ‘fmt’
+ 255 | fmt::format("Failed to recognize: {}", fmt::join(remainder.begin(), remainder.end(), ", "))
+ | ^~~~
+```
+
+Signed-off-by: Kefu Chai <tchaikov@gmail.com>
+---
+ source/citnames/source/semantic/Parsers.h | 1 +
+ source/citnames/source/semantic/Semantic.cc | 3 ++-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/source/citnames/source/semantic/Parsers.h b/source/citnames/source/semantic/Parsers.h
+index 90e64f9e..34203a17 100644
+--- a/source/citnames/source/semantic/Parsers.h
++++ b/source/citnames/source/semantic/Parsers.h
+@@ -30,6 +30,7 @@
+ #include <optional>
+
+ #include <fmt/format.h>
++#include <fmt/ranges.h>
+
+ namespace cs::semantic {
+
+diff --git a/source/citnames/source/semantic/Semantic.cc b/source/citnames/source/semantic/Semantic.cc
+index da762956..54d3e62d 100644
+--- a/source/citnames/source/semantic/Semantic.cc
++++ b/source/citnames/source/semantic/Semantic.cc
+@@ -21,6 +21,7 @@
+ #include "semantic/Semantic.h"
+
+ #include <fmt/format.h>
++#include <fmt/ranges.h>
+ #ifdef HAVE_FMT_STD_H
+ #include <fmt/std.h>
+ #else
+@@ -133,4 +134,4 @@ namespace cs::semantic {
+ }
+ return results;
+ }
+-}
+\ No newline at end of file
++}
diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index 0d9139fc8f5cc5..338787a9d2fad3 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
# Template file for 'Bear'
pkgname=Bear
version=3.1.4
-revision=1
+revision=2
build_style=cmake
hostmakedepends="pkg-config protobuf protobuf-devel grpc"
makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"
From 03f567abbdd47a2fd5cde1ec73bc75d5a8b60199 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:08 +0200
Subject: [PATCH 04/27] MangoHud: rebuild for fmt-11.0.2
---
srcpkgs/MangoHud/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/MangoHud/template b/srcpkgs/MangoHud/template
index ad1334062d2d35..734d579b616c72 100644
--- a/srcpkgs/MangoHud/template
+++ b/srcpkgs/MangoHud/template
@@ -1,7 +1,7 @@
# Template file for 'MangoHud'
pkgname=MangoHud
version=0.7.2
-revision=2
+revision=3
build_style=meson
configure_args="-Dwith_xnvctrl=disabled
-Dwith_nvml=disabled -Duse_system_spdlog=enabled"
From fec2e258c1df0cfb886f0cde1c466ed7a14ae569 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:08 +0200
Subject: [PATCH 05/27] Waybar: rebuild for fmt-11.0.2
---
srcpkgs/Waybar/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/Waybar/template b/srcpkgs/Waybar/template
index a3c47d888ddefc..83953beefd9555 100644
--- a/srcpkgs/Waybar/template
+++ b/srcpkgs/Waybar/template
@@ -1,7 +1,7 @@
# Template file for 'Waybar'
pkgname=Waybar
version=0.10.4
-revision=1
+revision=2
build_style=meson
configure_args="-Dlibudev=enabled -Dman-pages=enabled
-Dsystemd=disabled -Drfkill=enabled
From 98e65211ece6ce816dd3aeb4f0e36c654a882be2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:08 +0200
Subject: [PATCH 06/27] cherrytree: rebuild for fmt-11.0.2
---
...3db2b25977037c7520a8316183636a262130.patch | 221 +++++++
...2f3b44fef81e67c9bfbcdaed2f80ab2ff5de.patch | 41 ++
...030e2e2b6e1488148d3828baeb8f5911eb8d.patch | 22 +
...d101f24a409efddb2f29e8c14002c9836a85.patch | 550 ++++++++++++++++++
...7499067b9db9841175b5a2d6934dc65e4522.patch | 151 +++++
srcpkgs/cherrytree/patches/series | 5 +
srcpkgs/cherrytree/template | 2 +-
7 files changed, 991 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/cherrytree/patches/05233db2b25977037c7520a8316183636a262130.patch
create mode 100644 srcpkgs/cherrytree/patches/22142f3b44fef81e67c9bfbcdaed2f80ab2ff5de.patch
create mode 100644 srcpkgs/cherrytree/patches/76f0030e2e2b6e1488148d3828baeb8f5911eb8d.patch
create mode 100644 srcpkgs/cherrytree/patches/ccc2d101f24a409efddb2f29e8c14002c9836a85.patch
create mode 100644 srcpkgs/cherrytree/patches/fc1d7499067b9db9841175b5a2d6934dc65e4522.patch
create mode 100644 srcpkgs/cherrytree/patches/series
diff --git a/srcpkgs/cherrytree/patches/05233db2b25977037c7520a8316183636a262130.patch b/srcpkgs/cherrytree/patches/05233db2b25977037c7520a8316183636a262130.patch
new file mode 100644
index 00000000000000..31e4d5999fad07
--- /dev/null
+++ b/srcpkgs/cherrytree/patches/05233db2b25977037c7520a8316183636a262130.patch
@@ -0,0 +1,221 @@
+From 05233db2b25977037c7520a8316183636a262130 Mon Sep 17 00:00:00 2001
+From: Giuseppe Penone <giuspen@gmail.com>
+Date: Thu, 22 Aug 2024 22:58:03 +0100
+Subject: [PATCH] fixed fmt issue on fs::path (#2548)
+
+---
+ src/ct/ct_app.cc | 2 +-
+ src/ct/ct_filesystem.cc | 20 ++++++++++----------
+ src/ct/ct_imports.cc | 2 +-
+ src/ct/ct_main_win_file.cc | 8 ++++----
+ src/ct/ct_storage_control.cc | 8 ++++----
+ src/ct/ct_storage_multifile.cc | 6 +++---
+ 6 files changed, 23 insertions(+), 23 deletions(-)
+
+diff --git a/src/ct/ct_app.cc b/src/ct/ct_app.cc
+index 788e6092..66460cd0 100644
+--- a/src/ct/ct_app.cc
++++ b/src/ct/ct_app.cc
+@@ -152,7 +152,7 @@ void CtApp::on_activate()
+ }
+ else {
+ const fs::path last_doc_path{_pCtConfig->recentDocsFilepaths.front()};
+- spdlog::info("{} Last doc not found: {}", __FUNCTION__, last_doc_path);
++ spdlog::info("{} Last doc not found: {}", __FUNCTION__, last_doc_path.string());
+ _pCtConfig->recentDocsFilepaths.move_or_push_back(last_doc_path);
+ pAppWindow->menu_set_items_recent_documents();
+ }
+diff --git a/src/ct/ct_filesystem.cc b/src/ct/ct_filesystem.cc
+index 5c5f5ea7..1b94a186 100644
+--- a/src/ct/ct_filesystem.cc
++++ b/src/ct/ct_filesystem.cc
+@@ -163,13 +163,13 @@ bool remove(const fs::path& path2rm)
+ {
+ if (fs::is_directory(path2rm)) {
+ if (g_rmdir(path2rm.c_str()) != 0) {
+- spdlog::error("fs::remove: g_rmdir failed to remove {}", path2rm);
++ spdlog::error("fs::remove: g_rmdir failed to remove {}", path2rm.string());
+ return false;
+ }
+ }
+ else if (fs::exists(path2rm)) {
+ if (::g_remove(path2rm.c_str()) != 0) {
+- spdlog::error("fs::remove: g_remove failed to remove {}", path2rm);
++ spdlog::error("fs::remove: g_remove failed to remove {}", path2rm.string());
+ return false;
+ }
+ }
+@@ -249,13 +249,13 @@ time_t getmtime(const path& p)
+ std::uintmax_t file_size(const path& p)
+ {
+ if (fs::is_directory(p)) {
+- spdlog::error("fs::file_size: path is a directory, {}", p);
++ spdlog::error("fs::file_size: path is a directory, {}", p.string());
+ return 0;
+ }
+
+ GStatBuf st;
+ if (g_stat(p.c_str(), &st) != 0) {
+- spdlog::error("fs::file_size: g_stat failed, {}", p);
++ spdlog::error("fs::file_size: g_stat failed, {}", p.string());
+ return 0;
+ }
+
+@@ -317,7 +317,7 @@ void _open_path_with_default_app(const fs::path& file_or_folder_path)
+ // Open Filepath with External App
+ void open_filepath(const fs::path& filepath, bool open_folder_if_file_not_exists, CtConfig* config)
+ {
+- spdlog::debug("fs::open_filepath {}", filepath);
++ spdlog::debug("fs::open_filepath {}", filepath.string());
+ if (config->filelinkCustomOn) {
+ std::string cmd = fmt::sprintf(config->filelinkCustomAct, filepath.string());
+ _locale_env_vars_set_for_external_cmd(true/*isPre*/);
+@@ -344,7 +344,7 @@ void open_filepath(const fs::path& filepath, bool open_folder_if_file_not_exists
+ // Open Folderpath with External App
+ void open_folderpath(const fs::path& folderpath, CtConfig* config)
+ {
+- spdlog::debug("fs::open_folderpath {}", folderpath);
++ spdlog::debug("fs::open_folderpath {}", folderpath.string());
+ if (config->folderlinkCustomOn) {
+ std::string cmd = fmt::sprintf(config->folderlinkCustomAct, folderpath.string());
+ _locale_env_vars_set_for_external_cmd(true/*isPre*/);
+@@ -361,12 +361,12 @@ void open_folderpath(const fs::path& folderpath, CtConfig* config)
+
+ path prepare_export_folder(const path& dir_place, path new_folder, bool overwrite_existing)
+ {
+- if (fs::is_directory(dir_place / new_folder))
+- {
++ const fs::path dir_place_new_folder = dir_place / new_folder;
++ if (fs::is_directory(dir_place_new_folder)) {
+ // todo:
+ if (overwrite_existing) {
+- spdlog::debug("fs::prepare_export_folder: removing dir {}", dir_place / new_folder);
+- remove_all(dir_place / new_folder);
++ spdlog::debug("fs::prepare_export_folder: removing dir {}", dir_place_new_folder.string());
++ remove_all(dir_place_new_folder);
+ }
+ else {
+ int n = 2;
+diff --git a/src/ct/ct_imports.cc b/src/ct/ct_imports.cc
+index 20e5d01d..59947ee4 100644
+--- a/src/ct/ct_imports.cc
++++ b/src/ct/ct_imports.cc
+@@ -454,7 +454,7 @@ std::unique_ptr<CtImportedNode> CtPlainTextImport::import_file(const fs::path& f
+ }
+ }
+ catch (std::exception& ex) {
+- spdlog::error("{}, what: {}, file: {}", __FUNCTION__, ex.what(), file);
++ spdlog::error("{}, what: {}, file: {}", __FUNCTION__, ex.what(), file.string());
+ }
+ return nullptr;
+ }
+diff --git a/src/ct/ct_main_win_file.cc b/src/ct/ct_main_win_file.cc
+index 52540b7f..752f97ee 100644
+--- a/src/ct/ct_main_win_file.cc
++++ b/src/ct/ct_main_win_file.cc
+@@ -194,14 +194,14 @@ bool CtMainWin::file_open(const fs::path& filepath,
+ spdlog::debug("trying {} -> {}", curr_backup_file.string(), filepath.string());
+ new_storage = CtStorageControl::load_from(this, filepath, doc_type, error_or_warning, password);
+ if (new_storage) {
+- spdlog::debug("OK recover from {}", curr_backup_file);
++ spdlog::debug("OK recover from {}", curr_backup_file.string());
+ break;
+ }
+ fs::move_file(filepath, curr_backup_file);
+ spdlog::debug("moved back {} -> {}", filepath.string(), curr_backup_file.string());
+ }
+ else {
+- spdlog::debug("?? backed up data, {} missing", curr_backup_file);
++ spdlog::debug("?? backed up data, {} missing", curr_backup_file.string());
+ if (++missing_backup > 3) break;
+ }
+ }
+@@ -445,7 +445,7 @@ void CtMainWin::mod_time_sentinel_restart()
+
+ bool CtMainWin::file_insert_plain_text(const fs::path& filepath)
+ {
+- spdlog::debug("trying to insert text file as node: {}", filepath);
++ spdlog::debug("trying to insert text file as node: {}", filepath.string());
+ try {
+ Glib::RefPtr<Gsv::Buffer> pBuffer = Gsv::Buffer::create();
+ if (CtStrUtil::file_any_encoding_load_into_source_buffer(filepath.string(), pBuffer)) {
+@@ -459,7 +459,7 @@ bool CtMainWin::file_insert_plain_text(const fs::path& filepath)
+ }
+ }
+ catch (std::exception& ex) {
+- spdlog::error("{}, what: {}, file: {}", __FUNCTION__, ex.what(), filepath);
++ spdlog::error("{}, what: {}, file: {}", __FUNCTION__, ex.what(), filepath.string());
+ }
+ return false;
+ }
+diff --git a/src/ct/ct_storage_control.cc b/src/ct/ct_storage_control.cc
+index 9a6e813a..34dd0a1b 100644
+--- a/src/ct/ct_storage_control.cc
++++ b/src/ct/ct_storage_control.cc
+@@ -443,7 +443,7 @@ Glib::RefPtr<Gsv::Buffer> CtStorageControl::get_delayed_text_buffer(const gint64
+ fs::get_doc_type_from_file_ext(filesInTmpDir.front()) == fs::get_doc_type_from_file_ext(temp_file_path) and
+ fs::move_file(filesInTmpDir.front(), temp_file_path))
+ {
+- spdlog::debug("encrypt doc renamed {} -> {}", filesInTmpDir.front().filename(), temp_file_path.filename());
++ spdlog::debug("encrypt doc renamed {} -> {}", filesInTmpDir.front().filename().string(), temp_file_path.filename().string());
+ return temp_file_path;
+ }
+ }
+@@ -476,7 +476,7 @@ Glib::RefPtr<Gsv::Buffer> CtStorageControl::get_delayed_text_buffer(const gint64
+ return false;
+ }
+ if (not fs::is_regular_file(file_to)) {
+- spdlog::debug("!! is_regular_file {}", file_to);
++ spdlog::debug("!! is_regular_file {}", file_to.string());
+ if (not tmp_prev_archive.empty()) {
+ (void)fs::move_file(tmp_prev_archive, file_to);
+ }
+@@ -628,7 +628,7 @@ void CtStorageControl::_backupEncryptThread()
+ break;
+ }
+ #if defined(DEBUG_BACKUP_ENCRYPT)
+- spdlog::debug("{} -> {}", tilda_node_dir_from, tilda_node_dir_to);
++ spdlog::debug("{} -> {}", tilda_node_dir_from.string(), tilda_node_dir_to.string());
+ #endif // DEBUG_BACKUP_ENCRYPT
+ }
+ tilda_dirpath = tilda_dirpath.string().substr(0, tilda_dirpath.string().size()-1);
+@@ -647,7 +647,7 @@ void CtStorageControl::_backupEncryptThread()
+ }
+ #if defined(DEBUG_BACKUP_ENCRYPT)
+ else {
+- spdlog::debug("{} -> {}", pBackupEncryptData->main_backup, tilda_node_dir_to);
++ spdlog::debug("{} -> {}", pBackupEncryptData->main_backup, tilda_node_dir_to.string());
+ }
+ #endif // DEBUG_BACKUP_ENCRYPT
+ }
+diff --git a/src/ct/ct_storage_multifile.cc b/src/ct/ct_storage_multifile.cc
+index ebd729e0..b7b10b4d 100644
+--- a/src/ct/ct_storage_multifile.cc
++++ b/src/ct/ct_storage_multifile.cc
+@@ -284,7 +284,7 @@ void CtStorageMultiFile::_hier_try_move_node(const fs::path& dir_path_to)
+ };
+ f_find_dir_from(_dir_path);
+ if (not dir_path_from.empty()) {
+- spdlog::debug("{} -> {}", dir_path_from, dir_path_to);
++ spdlog::debug("{} -> {}", dir_path_from.string(), dir_path_to.string());
+ fs::move_file(dir_path_from, dir_path_to);
+ }
+ }
+@@ -520,7 +520,7 @@ bool CtStorageMultiFile::populate_treestore(const fs::path& dir_path, Glib::ustr
+ const fs::path curr_backup_dir = first_backup_dir + str::repeat(CtConst::CHAR_TILDE, b).raw();
+ if (fs::is_directory(curr_backup_dir)) {
+ missing_backup = 0;
+- spdlog::debug("backed up data, {} found", curr_backup_dir);
++ spdlog::debug("backed up data, {} found", curr_backup_dir.string());
+ const fs::path backup_node_xml_path = curr_backup_dir / nodedir.filename() / NODE_XML;
+ try {
+ pParser = CtStorageXml::get_parser(backup_node_xml_path);
+@@ -541,7 +541,7 @@ bool CtStorageMultiFile::populate_treestore(const fs::path& dir_path, Glib::ustr
+ }
+ }
+ else {
+- spdlog::debug("?? backed up data, {} missing", curr_backup_dir);
++ spdlog::debug("?? backed up data, {} missing", curr_backup_dir.string());
+ if (++missing_backup > 3) break;
+ }
+ }
diff --git a/srcpkgs/cherrytree/patches/22142f3b44fef81e67c9bfbcdaed2f80ab2ff5de.patch b/srcpkgs/cherrytree/patches/22142f3b44fef81e67c9bfbcdaed2f80ab2ff5de.patch
new file mode 100644
index 00000000000000..bb4bcaebb8af15
--- /dev/null
+++ b/srcpkgs/cherrytree/patches/22142f3b44fef81e67c9bfbcdaed2f80ab2ff5de.patch
@@ -0,0 +1,41 @@
+From 22142f3b44fef81e67c9bfbcdaed2f80ab2ff5de Mon Sep 17 00:00:00 2001
+From: Giuseppe Penone <giuspen@gmail.com>
+Date: Thu, 22 Aug 2024 22:22:46 +0100
+Subject: [PATCH] fixed fmt issue on fs::path (#2548)
+
+---
+ src/ct/ct_config.cc | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/ct/ct_config.cc b/src/ct/ct_config.cc
+index 3ebb5451..44a7ab10 100644
+--- a/src/ct/ct_config.cc
++++ b/src/ct/ct_config.cc
+@@ -69,7 +69,7 @@ void CtConfig::move_from_tmp()
+ {
+ if (not _configFilepathTmp.string().empty() and fs::exists(_configFilepathTmp)) {
+ if (not fs::move_file(_configFilepathTmp, _configFilepath)) {
+- spdlog::error("{} -> {}", _configFilepathTmp, _configFilepath);
++ spdlog::error("{} -> {}", _configFilepathTmp.string(), _configFilepath.string());
+ }
+ }
+ }
+@@ -92,15 +92,15 @@ bool CtConfig::_load_from_file()
+ _uKeyFile->load_from_file(_configFilepath.string());
+ }
+ catch (Glib::Error& error) {
+- spdlog::error("CtConfig {}: {}", _configFilepath, error.what().raw());
++ spdlog::error("CtConfig {}: {}", _configFilepath.string(), error.what().raw());
+ return false;
+ }
+ _populate_data_from_keyfile();
+ _uKeyFile.reset(nullptr);
+- spdlog::debug("{} parsed", _configFilepath);
++ spdlog::debug("{} parsed", _configFilepath.string());
+ return true;
+ }
+- spdlog::warn("{} missing", _configFilepath);
++ spdlog::warn("{} missing", _configFilepath.string());
+ return false;
+ }
+
diff --git a/srcpkgs/cherrytree/patches/76f0030e2e2b6e1488148d3828baeb8f5911eb8d.patch b/srcpkgs/cherrytree/patches/76f0030e2e2b6e1488148d3828baeb8f5911eb8d.patch
new file mode 100644
index 00000000000000..88c1030e21cce6
--- /dev/null
+++ b/srcpkgs/cherrytree/patches/76f0030e2e2b6e1488148d3828baeb8f5911eb8d.patch
@@ -0,0 +1,22 @@
+From 76f0030e2e2b6e1488148d3828baeb8f5911eb8d Mon Sep 17 00:00:00 2001
+From: Giuseppe Penone <giuspen@gmail.com>
+Date: Wed, 21 Aug 2024 22:42:54 +0100
+Subject: [PATCH] fixed fmt issue on fs::path (#2548)
+
+---
+ src/ct/ct_actions_others.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ct/ct_actions_others.cc b/src/ct/ct_actions_others.cc
+index 91ff638e..6931d411 100644
+--- a/src/ct/ct_actions_others.cc
++++ b/src/ct/ct_actions_others.cc
+@@ -898,7 +898,7 @@ bool CtActions::_on_embfiles_sentinel_timeout()
+ for (auto& item : _embfiles_opened) {
+ const fs::path& tmp_filepath = item.second.tmp_filepath;
+ if (not fs::is_regular_file(tmp_filepath)) {
+- spdlog::debug("embdrop {}", tmp_filepath);
++ spdlog::debug("embdrop {}", tmp_filepath.string());
+ _embfiles_opened.erase(item.first);
+ break;
+ }
diff --git a/srcpkgs/cherrytree/patches/ccc2d101f24a409efddb2f29e8c14002c9836a85.patch b/srcpkgs/cherrytree/patches/ccc2d101f24a409efddb2f29e8c14002c9836a85.patch
new file mode 100644
index 00000000000000..32b2af2060e6e0
--- /dev/null
+++ b/srcpkgs/cherrytree/patches/ccc2d101f24a409efddb2f29e8c14002c9836a85.patch
@@ -0,0 +1,550 @@
+From ccc2d101f24a409efddb2f29e8c14002c9836a85 Mon Sep 17 00:00:00 2001
+From: Giuseppe Penone <giuspen@gmail.com>
+Date: Wed, 21 Aug 2024 18:19:40 +0100
+Subject: [PATCH] removed fmt custom formatter for Glib::ustring (#2548)
+
+---
+ src/ct/ct_actions_edit.cc | 6 +++---
+ src/ct/ct_actions_find.cc | 4 ++--
+ src/ct/ct_actions_others.cc | 2 +-
+ src/ct/ct_clipboard.cc | 10 +++++-----
+ src/ct/ct_config.cc | 2 +-
+ src/ct/ct_dialogs_find.cc | 2 +-
+ src/ct/ct_export2html.cc | 10 +++++-----
+ src/ct/ct_export2pdf.cc | 10 +++++-----
+ src/ct/ct_export2txt.cc | 2 +-
+ src/ct/ct_filesystem.cc | 2 +-
+ src/ct/ct_image.cc | 2 +-
+ src/ct/ct_imports.cc | 4 ++--
+ src/ct/ct_logging.h | 13 +------------
+ src/ct/ct_main_win_buffer.cc | 4 ++--
+ src/ct/ct_main_win_events.cc | 2 +-
+ src/ct/ct_misc_utils.cc | 4 ++--
+ src/ct/ct_misc_utils.h | 2 +-
+ src/ct/ct_storage_control.cc | 6 +++---
+ src/ct/ct_storage_multifile.cc | 2 +-
+ src/ct/ct_storage_sqlite.cc | 4 ++--
+ src/ct/ct_storage_sqlite.h | 4 ++--
+ src/ct/ct_storage_xml.cc | 2 +-
+ src/ct/ct_treestore.cc | 6 +++---
+ tests/tests_encoding.cpp | 4 ++--
+ 24 files changed, 49 insertions(+), 60 deletions(-)
+
+diff --git a/src/ct/ct_actions_edit.cc b/src/ct/ct_actions_edit.cc
+index 972838431..155d935ff 100644
+--- a/src/ct/ct_actions_edit.cc
++++ b/src/ct/ct_actions_edit.cc
+@@ -93,7 +93,7 @@ void CtActions::image_insert()
+ rPixbuf = Gdk::Pixbuf::create_from_file(filename);
+ }
+ catch (Glib::Error& error) {
+- spdlog::error("{} {}", __FUNCTION__, error.what());
++ spdlog::error("{} {}", __FUNCTION__, error.what().raw());
+ }
+ if (rPixbuf)
+ _image_edit_dialog(rPixbuf, _curr_buffer()->get_insert()->get_iter(), nullptr/*pIterBound*/);
+@@ -303,7 +303,7 @@ TocEntry find_toc_entries(CtActions& actions, CtTreeIter& node, unsigned depth)
+ std::unordered_map<int, int> encountered_headers;
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = node.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), node.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), node.get_node_name().raw()));
+ }
+ Gtk::TextIter text_iter = rTextBuffer->begin();
+
+@@ -354,7 +354,7 @@ TocEntry find_toc_entries(CtActions& actions, CtTreeIter& node, unsigned depth)
+ entry.children.emplace_back(fmt::format("node {} {}", node_id, anchor_txt), false/*is_node*/, txt, depth + 1, h_lvl);
+ }
+ catch(std::invalid_argument&) {
+- spdlog::error("Could not convert [{}] to an integer", h_level_str);
++ spdlog::error("Could not convert [{}] to an integer", h_level_str.raw());
+ }
+ }
+
+diff --git a/src/ct/ct_actions_find.cc b/src/ct/ct_actions_find.cc
+index 47a708873..d0b8cabad 100644
+--- a/src/ct/ct_actions_find.cc
++++ b/src/ct/ct_actions_find.cc
+@@ -218,7 +218,7 @@ void CtActions::find_in_multiple_nodes_ok_clicked()
+ if (_s_options.node_content) {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = ct_node_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- CtDialogs::error_dialog(str::format(_("Failed to retrieve the content of the node '%s'"), ct_node_iter.get_node_name()), *_pCtMainWin);
++ CtDialogs::error_dialog(str::format(_("Failed to retrieve the content of the node '%s'"), ct_node_iter.get_node_name().raw()), *_pCtMainWin);
+ break;
+ }
+ }
+@@ -440,7 +440,7 @@ CtMatchType CtActions::_parse_given_node_content(CtTreeIter node_iter,
+ if (_s_options.node_content) {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = ct_node_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- CtDialogs::error_dialog(str::format(_("Failed to retrieve the content of the node '%s'"), ct_node_iter.get_node_name()), *_pCtMainWin);
++ CtDialogs::error_dialog(str::format(_("Failed to retrieve the content of the node '%s'"), ct_node_iter.get_node_name().raw()), *_pCtMainWin);
+ break;
+ }
+ }
+diff --git a/src/ct/ct_actions_others.cc b/src/ct/ct_actions_others.cc
+index a7c6746eb..91ff638e4 100644
+--- a/src/ct/ct_actions_others.cc
++++ b/src/ct/ct_actions_others.cc
+@@ -575,7 +575,7 @@ void CtActions::_exec_code(const bool is_all)
+ }
+ else {
+ const int retVal = std::system(terminal_cmd.c_str());
+- if (retVal != 0) spdlog::error("system({}) returned {}", terminal_cmd, retVal);
++ if (retVal != 0) spdlog::error("system({}) returned {}", terminal_cmd.raw(), retVal);
+ }
+ }
+
+diff --git a/src/ct/ct_clipboard.cc b/src/ct/ct_clipboard.cc
+index 9c9bc3ca7..8ca0b080f 100644
+--- a/src/ct/ct_clipboard.cc
++++ b/src/ct/ct_clipboard.cc
+@@ -246,7 +246,7 @@ void CtClipboard::anchor_link_to_clipboard(CtTreeIter node, const Glib::ustring&
+ CtClipboardData* clip_data = new CtClipboardData{};
+ std::string tml = R"XML(<?xml version="1.0" encoding="UTF-8"?><root><slot><rich_text link="node {} {}">{}</rich_text></slot></root>)XML";
+ clip_data->rich_text = fmt::format(tml, node.get_node_id(), str::xml_escape(anchor_name), str::xml_escape(anchor_name));
+- clip_data->plain_text = fmt::format("{} - {} - {}", node.get_cherrytree_filepath(), CtMiscUtil::get_node_hierarchical_name(node, " / ", false/*for_filename*/).c_str(), anchor_name);
++ clip_data->plain_text = fmt::format("{} - {} - {}", node.get_cherrytree_filepath(), CtMiscUtil::get_node_hierarchical_name(node, " / ", false/*for_filename*/).c_str(), anchor_name.raw());
+
+ _set_clipboard_data({CtConst::TARGET_CTD_RICH_TEXT, CtConst::TARGET_CTD_PLAIN_TEXT}, clip_data);
+ }
+@@ -756,7 +756,7 @@ void CtClipboard::on_received_to_uri_list(const Gtk::SelectionData& selection_da
+ property_value = "webs " + element;
+ }
+ else if (str::startswith(element, "file://")) {
+- Glib::ustring file_path = element.substr(7);
++ std::string file_path = element.substr(7);
+ file_path = str::replace(file_path, "%20", CtConst::CHAR_SPACE);
+ g_autofree gchar* mimetype = g_content_type_guess(file_path.c_str(), nullptr, 0, nullptr);
+ if (mimetype and str::startswith(mimetype, "image/") and Glib::file_test(file_path, Glib::FILE_TEST_IS_REGULAR)) {
+@@ -794,7 +794,7 @@ void CtClipboard::on_received_to_uri_list(const Gtk::SelectionData& selection_da
+ _pCtMainWin->get_ct_actions()->embfile_insert_path(element);
+ }
+ else {
+- spdlog::debug("'{}' not dir or file", element);
++ spdlog::debug("'{}' not dir or file", element.raw());
+ }
+ }
+ if (not property_value.empty()) {
+@@ -883,10 +883,10 @@ void CtClipboard::_yaml_to_codebox(const Glib::ustring& yaml_text, Gtk::TextView
+ _xml_to_codebox(xml_doc.write_to_string(), pTextView);
+ }
+ catch (std::exception& e) {
+- spdlog::error("_yaml_to_codebox exception: {}\n{}", e.what(), yaml_text);
++ spdlog::error("_yaml_to_codebox exception: {}\n{}", e.what(), yaml_text.raw());
+ }
+ catch (...) {
+- spdlog::error("_yaml_to_codebox unknown exception\n{}", yaml_text);
++ spdlog::error("_yaml_to_codebox unknown exception\n{}", yaml_text.raw());
+ }
+ }
+
+diff --git a/src/ct/ct_config.cc b/src/ct/ct_config.cc
+index 2470ab82f..3ebb54512 100644
+--- a/src/ct/ct_config.cc
++++ b/src/ct/ct_config.cc
+@@ -92,7 +92,7 @@ bool CtConfig::_load_from_file()
+ _uKeyFile->load_from_file(_configFilepath.string());
+ }
+ catch (Glib::Error& error) {
+- spdlog::error("CtConfig {}: {}", _configFilepath, error.what());
++ spdlog::error("CtConfig {}: {}", _configFilepath, error.what().raw());
+ return false;
+ }
+ _populate_data_from_keyfile();
+diff --git a/src/ct/ct_dialogs_find.cc b/src/ct/ct_dialogs_find.cc
+index a4e8c4e4b..78ef6dc31 100644
+--- a/src/ct/ct_dialogs_find.cc
++++ b/src/ct/ct_dialogs_find.cc
+@@ -526,7 +526,7 @@ void CtDialogs::match_dialog(const std::string& str_find,
+ pButtonNext->set_image_position(Gtk::PositionType::POS_RIGHT);
+ CtMenuAction* pAction = pCtMainWin->get_ct_menu().find_action("toggle_show_allmatches_dlg");
+ Glib::ustring label = CtStrUtil::get_accelerator_label(pAction->get_shortcut(pCtMainWin->get_ct_config()));
+- Gtk::Button* pButtonHide = pMatchesDialog->add_button(str::format(_("Hide (Restore with '%s')"), label), Gtk::RESPONSE_CLOSE);
++ Gtk::Button* pButtonHide = pMatchesDialog->add_button(str::format(_("Hide (Restore with '%s')"), label.raw()), Gtk::RESPONSE_CLOSE);
+ pButtonHide->set_image_from_icon_name("ct_close", Gtk::ICON_SIZE_BUTTON);
+
+ rModel->load_current_page();
+diff --git a/src/ct/ct_export2html.cc b/src/ct/ct_export2html.cc
+index ea2acce2c..2e777548a 100644
+--- a/src/ct/ct_export2html.cc
++++ b/src/ct/ct_export2html.cc
+@@ -1,7 +1,7 @@
+ /*
+ * ct_export2html.cc
+ *
+- * Copyright 2009-2023
++ * Copyright 2009-2024
+ * Giuseppe Penone <giuspen@gmail.com>
+ * Evgenii Gurianov <https://github.com/txe>
+ *
+@@ -83,9 +83,9 @@ void CtExport2Html::node_export_to_html(CtTreeIter tree_iter, const CtExportOpti
+ {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name().raw()));
+ }
+- Glib::ustring html_text = str::format(HTML_HEADER, tree_iter.get_node_name());
++ Glib::ustring html_text = str::format(HTML_HEADER, tree_iter.get_node_name().raw());
+ if (not index.empty() and options.index_in_page) {
+ auto script = R"HTML(
+ <script type='text/javascript'>
+@@ -270,7 +270,7 @@ void CtExport2Html::nodes_all_export_to_single_html(bool all_tree, const CtExpor
+ else {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name().raw()));
+ }
+ html_text += _html_get_from_code_buffer(rTextBuffer, -1, -1, tree_iter.get_node_syntax_highlighting());
+ }
+@@ -529,7 +529,7 @@ void CtExport2Html::_html_get_from_treestore_node(CtTreeIter tree_iter,
+ {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name().raw()));
+ }
+ auto widgets = tree_iter.get_anchored_widgets(sel_start, sel_end);
+ out_widgets = std::vector<CtAnchoredWidget*>(widgets.begin(), widgets.end()); // copy from list to vector
+diff --git a/src/ct/ct_export2pdf.cc b/src/ct/ct_export2pdf.cc
+index 88aafdef5..4afacb154 100644
+--- a/src/ct/ct_export2pdf.cc
++++ b/src/ct/ct_export2pdf.cc
+@@ -1,7 +1,7 @@
+ /*
+ * ct_export2pdf.cc
+ *
+- * Copyright 2009-2023
++ * Copyright 2009-2024
+ * Giuseppe Penone <giuspen@gmail.com>
+ * Evgenii Gurianov <https://github.com/txe>
+ *
+@@ -355,7 +355,7 @@ std::shared_ptr<CtPangoText> CtExport2Pango::_pango_link_url(const Glib::ustring
+ #endif /* !_WIN32 && !__APPLE__ */
+ }
+ else {
+- spdlog::debug("invalid link entry {}, text {}", link, tagged_text);
++ spdlog::debug("invalid link entry {}, text {}", link.raw(), tagged_text.raw());
+ return std::make_shared<CtPangoText>(tagged_text, CtConst::RICH_TEXT_ID, indent, pango_dir);
+ }
+
+@@ -367,7 +367,7 @@ void CtExport2Pdf::node_export_print(const fs::path& pdf_filepath, CtTreeIter tr
+ {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name().raw()));
+ }
+ std::vector<CtPangoObjectPtr> pango_slots;
+ if (tree_iter.get_node_is_text()) {
+@@ -409,7 +409,7 @@ void CtExport2Pdf::_nodes_all_export_print_iter(CtTreeIter tree_iter,
+ {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name().raw()));
+ }
+ std::vector<CtPangoObjectPtr> node_pango_slots;
+ if (tree_iter.get_node_is_text()) {
+@@ -592,7 +592,7 @@ bool CtPrint::_cairo_tag_can_apply(const Glib::ustring& tag_name, const Glib::us
+ return true;
+ }
+ }
+- spdlog::debug("{} dropped", tag_attr);
++ spdlog::debug("{} dropped", tag_attr.raw());
+ return false;
+ }
+
+diff --git a/src/ct/ct_export2txt.cc b/src/ct/ct_export2txt.cc
+index fbf4a810c..4d471a41b 100644
+--- a/src/ct/ct_export2txt.cc
++++ b/src/ct/ct_export2txt.cc
+@@ -34,7 +34,7 @@ Glib::ustring CtExport2Txt::node_export_to_txt(CtTreeIter tree_iter, fs::path fi
+ {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), tree_iter.get_node_name().raw()));
+ }
+ Glib::ustring plain_text;
+ if (export_options.include_node_name) {
+diff --git a/src/ct/ct_filesystem.cc b/src/ct/ct_filesystem.cc
+index 821d470d9..5c5f5ea7d 100644
+--- a/src/ct/ct_filesystem.cc
++++ b/src/ct/ct_filesystem.cc
+@@ -202,7 +202,7 @@ bool copy_file(const path& from, const path& to)
+ return rFileFrom->copy(rFileTo, Gio::FILE_COPY_OVERWRITE);
+ }
+ catch (Gio::Error& error) {
+- spdlog::debug("fs::copy_file, error: {}, from: {}, to: {}", error.what(), from.string(), to.string());
++ spdlog::debug("fs::copy_file, error: {}, from: {}, to: {}", error.what().raw(), from.string(), to.string());
+ return false;
+ }
+ }
+diff --git a/src/ct/ct_image.cc b/src/ct/ct_image.cc
+index 50e807985..12944e73d 100644
+--- a/src/ct/ct_image.cc
++++ b/src/ct/ct_image.cc
+@@ -433,7 +433,7 @@ static const char* get_dvipng_bin_cmd()
+ return rPixbuf;
+ }
+ catch (Glib::Error& error) {
+- spdlog::error("{} {}", __FUNCTION__, error.what());
++ spdlog::error("{} {}", __FUNCTION__, error.what().raw());
+ }
+ // fallback
+ return pCtMainWin->get_icon_theme()->load_icon("ct_warning", 48);
+diff --git a/src/ct/ct_imports.cc b/src/ct/ct_imports.cc
+index 203ca6650..20e5d01dc 100644
+--- a/src/ct/ct_imports.cc
++++ b/src/ct/ct_imports.cc
+@@ -1,7 +1,7 @@
+ /*
+ * ct_imports.cc
+ *
+- * Copyright 2009-2023
++ * Copyright 2009-2024
+ * Giuseppe Penone <giuspen@gmail.com>
+ * Evgenii Gurianov <https://github.com/txe>
+ *
+@@ -384,7 +384,7 @@ void CtTomboyImport::_iterate_tomboy_note(xmlpp::Element* iter, std::unique_ptr<
+ _is_link_to_node = false;
+ }
+ else {
+- spdlog::debug(dom_iter->get_name());
++ spdlog::debug(dom_iter->get_name().raw());
+ _iterate_tomboy_note(dom_iter_el, node);
+ }
+ }
+diff --git a/src/ct/ct_logging.h b/src/ct/ct_logging.h
+index dfe2ef7fb..e447ba4e1 100644
+--- a/src/ct/ct_logging.h
++++ b/src/ct/ct_logging.h
+@@ -1,7 +1,7 @@
+ /*
+ * ct_logging.h
+ *
+- * Copyright 2009-2021
++ * Copyright 2009-2024
+ * Giuseppe Penone <giuspen@gmail.com>
+ * Evgenii Gurianov <https://github.com/txe>
+ *
+@@ -32,14 +32,3 @@
+ #include "spdlog/fmt/bundled/core.h"
+ #include "spdlog/fmt/bundled/printf.h"
+ #endif // not SHARED_FMT_SPDLOG
+-#include <glibmm/ustring.h>
+-
+-// ostream works badly on Win32 due to locale encoding
+-template <>
+-struct fmt::formatter<Glib::ustring>: formatter<string_view> {
+- // parse is inherited from formatter<string_view>.
+- template <typename FormatContext>
+- auto format(Glib::ustring c, FormatContext& ctx) {
+- return formatter<string_view>::format(c.c_str(), ctx);
+- }
+-};
+diff --git a/src/ct/ct_main_win_buffer.cc b/src/ct/ct_main_win_buffer.cc
+index 4d69e89d3..f04471ae5 100644
+--- a/src/ct/ct_main_win_buffer.cc
++++ b/src/ct/ct_main_win_buffer.cc
+@@ -125,7 +125,7 @@ void CtMainWin::reapply_syntax_highlighting(const char target/*'r':RichText, 'p'
+ if (node.get_node_is_rich_text()) {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = node.get_node_text_buffer();
+ if (not rTextBuffer) {
+- error = str::format(_("Failed to retrieve the content of the node '%s'"), node.get_node_name());
++ error = str::format(_("Failed to retrieve the content of the node '%s'"), node.get_node_name().raw());
+ return true; /* true for stop */
+ }
+ apply_syntax_highlighting(rTextBuffer, node.get_node_syntax_highlighting(), true/*forceReApply*/);
+@@ -144,7 +144,7 @@ void CtMainWin::reapply_syntax_highlighting(const char target/*'r':RichText, 'p'
+ else {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = node.get_node_text_buffer();
+ if (not rTextBuffer) {
+- error = str::format(_("Failed to retrieve the content of the node '%s'"), node.get_node_name());
++ error = str::format(_("Failed to retrieve the content of the node '%s'"), node.get_node_name().raw());
+ return true; /* true for stop */
+ }
+ apply_syntax_highlighting(rTextBuffer, node.get_node_syntax_highlighting(), true/*forceReApply*/);
+diff --git a/src/ct/ct_main_win_events.cc b/src/ct/ct_main_win_events.cc
+index 732336414..99095a392 100644
+--- a/src/ct/ct_main_win_events.cc
++++ b/src/ct/ct_main_win_events.cc
+@@ -56,7 +56,7 @@ void CtMainWin::_on_treeview_cursor_changed()
+
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = treeIter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- CtDialogs::error_dialog(str::format(_("Failed to retrieve the content of the node '%s'"), treeIter.get_node_name()), *this);
++ CtDialogs::error_dialog(str::format(_("Failed to retrieve the content of the node '%s'"), treeIter.get_node_name().raw()), *this);
+ if (_prevTreeIter) {
+ _uCtTreeview->set_cursor_safe(_prevTreeIter);
+ }
+diff --git a/src/ct/ct_misc_utils.cc b/src/ct/ct_misc_utils.cc
+index 8ed98b8b3..2b452fe86 100644
+--- a/src/ct/ct_misc_utils.cc
++++ b/src/ct/ct_misc_utils.cc
+@@ -1160,7 +1160,7 @@ int str::indexOf(const Glib::ustring& str, const gunichar& uc)
+ return index != std::string::npos ? static_cast<int>(index) : -1;
+ }
+
+-Glib::ustring str::xml_escape(const Glib::ustring& text)
++std::string str::xml_escape(const Glib::ustring& text)
+ {
+ Glib::ustring buffer;
+ buffer.reserve(text.size());
+@@ -1175,7 +1175,7 @@ Glib::ustring str::xml_escape(const Glib::ustring& text)
+ default: buffer.append(1, *ch); break;
+ }
+ }
+- return buffer;
++ return buffer.raw();
+ }
+
+ Glib::ustring str::sanitize_bad_symbols(const Glib::ustring& xml_content)
+diff --git a/src/ct/ct_misc_utils.h b/src/ct/ct_misc_utils.h
+index dc2cb09a2..d75a0f263 100644
+--- a/src/ct/ct_misc_utils.h
++++ b/src/ct/ct_misc_utils.h
+@@ -328,7 +328,7 @@ int indexOf(const std::array<T, size>& array, const T& uc)
+ return -1;
+ }
+
+-Glib::ustring xml_escape(const Glib::ustring& text);
++std::string xml_escape(const Glib::ustring& text);
+
+ Glib::ustring sanitize_bad_symbols(const Glib::ustring& xml_content);
+
+diff --git a/src/ct/ct_storage_control.cc b/src/ct/ct_storage_control.cc
+index 54b9c145b..9a6e813a0 100644
+--- a/src/ct/ct_storage_control.cc
++++ b/src/ct/ct_storage_control.cc
+@@ -140,7 +140,7 @@ static const std::string BAD_ARCHIVE{"_BAD_ARC_"};
+ return Glib::build_filename(first_backup_dir, CtConst::CHAR_DOT + Glib::path_get_basename(file_or_dir_path)) + CtConst::CHAR_TILDE;
+ }
+ catch (Glib::Error& ex) {
+- spdlog::error("failed to create backup directory: {}, \n{}", first_backup_dir, ex.what());
++ spdlog::error("failed to create backup directory: {}, \n{}", first_backup_dir, ex.what().raw());
+ return "";
+ }
+ };
+@@ -778,7 +778,7 @@ void CtStorageCache::generate_cache(CtMainWin* pCtMainWin, const CtStorageSyncPe
+ CtTreeIter ct_tree_iter = store.to_ct_tree_iter(iter);
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = ct_tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- error = str::format(_("Failed to retrieve the content of the node '%s'"), ct_tree_iter.get_node_name());
++ error = str::format(_("Failed to retrieve the content of the node '%s'"), ct_tree_iter.get_node_name().raw());
+ return true; /* true for stop */
+ }
+ for (auto widget : ct_tree_iter.get_anchored_widgets_fast())
+@@ -795,7 +795,7 @@ void CtStorageCache::generate_cache(CtMainWin* pCtMainWin, const CtStorageSyncPe
+ if (node_pair.second.buff && ct_tree_iter.get_node_is_rich_text()) {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = ct_tree_iter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), ct_tree_iter.get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), ct_tree_iter.get_node_name().raw()));
+ }
+ for (auto widget : ct_tree_iter.get_anchored_widgets_fast())
+ if (widget->get_type() == CtAnchWidgType::ImagePng) // important to check type
+diff --git a/src/ct/ct_storage_multifile.cc b/src/ct/ct_storage_multifile.cc
+index 966cba10c..ebd729e0e 100644
+--- a/src/ct/ct_storage_multifile.cc
++++ b/src/ct/ct_storage_multifile.cc
+@@ -455,7 +455,7 @@ bool CtStorageMultiFile::_nodes_to_multifile(const CtTreeIter* ct_tree_iter,
+ }
+ }
+ catch (Glib::Error& error) {
+- spdlog::error("{} {}", __FUNCTION__, error.what());
++ spdlog::error("{} {}", __FUNCTION__, error.what().raw());
+ }
+ return false;
+ }
+diff --git a/src/ct/ct_storage_sqlite.cc b/src/ct/ct_storage_sqlite.cc
+index 476e563ed..dd2c703bb 100644
+--- a/src/ct/ct_storage_sqlite.cc
++++ b/src/ct/ct_storage_sqlite.cc
+@@ -108,8 +108,8 @@ const char CtStorageSqlite::TABLE_BOOKMARK_CREATE[]{"CREATE TABLE bookmark ("
+ const char CtStorageSqlite::TABLE_BOOKMARK_INSERT[]{"INSERT INTO bookmark VALUES(?,?)"};
+ const char CtStorageSqlite::TABLE_BOOKMARK_DELETE[]{"DELETE FROM bookmark"};
+
+-const Glib::ustring CtStorageSqlite::ERR_SQLITE_PREPV2{"!! sqlite3_prepare_v2: "};
+-const Glib::ustring CtStorageSqlite::ERR_SQLITE_STEP{"!! sqlite3_step: "};
++/*static*/const std::string CtStorageSqlite::ERR_SQLITE_PREPV2{"!! sqlite3_prepare_v2: "};
++/*static*/const std::string CtStorageSqlite::ERR_SQLITE_STEP{"!! sqlite3_step: "};
+
+ class Sqlite3StmtAuto
+ {
+diff --git a/src/ct/ct_storage_sqlite.h b/src/ct/ct_storage_sqlite.h
+index e6cad42df..e42fe9cd4 100644
+--- a/src/ct/ct_storage_sqlite.h
++++ b/src/ct/ct_storage_sqlite.h
+@@ -129,8 +129,8 @@ class CtStorageSqlite : public CtStorageEntity
+ static const char TABLE_BOOKMARK_CREATE[];
+ static const char TABLE_BOOKMARK_INSERT[];
+ static const char TABLE_BOOKMARK_DELETE[];
+- static const Glib::ustring ERR_SQLITE_PREPV2;
+- static const Glib::ustring ERR_SQLITE_STEP;
++ static const std::string ERR_SQLITE_PREPV2;
++ static const std::string ERR_SQLITE_STEP;
+ static const char* safe_sqlite3_column_text(sqlite3_stmt* stmt, int iCol);
+
+ private:
+diff --git a/src/ct/ct_storage_xml.cc b/src/ct/ct_storage_xml.cc
+index 555c72362..3e0fc8cc4 100644
+--- a/src/ct/ct_storage_xml.cc
++++ b/src/ct/ct_storage_xml.cc
+@@ -249,7 +249,7 @@ void CtStorageXml::_nodes_to_xml(CtTreeIter* ct_tree_iter,
+ {
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = ct_tree_iter->get_node_text_buffer();
+ if (not rTextBuffer) {
+- throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), ct_tree_iter->get_node_name()));
++ throw std::runtime_error(str::format(_("Failed to retrieve the content of the node '%s'"), ct_tree_iter->get_node_name().raw()));
+ }
+ xmlpp::Element* p_node_node = CtStorageXmlHelper{_pCtMainWin}.node_to_xml(
+ ct_tree_iter,
+diff --git a/src/ct/ct_treestore.cc b/src/ct/ct_treestore.cc
+index 44c0d14bf..bd3d34eac 100644
+--- a/src/ct/ct_treestore.cc
++++ b/src/ct/ct_treestore.cc
+@@ -866,8 +866,8 @@ void CtTreeStore::text_view_apply_textbuffer(CtTreeIter& treeIter, CtTextView* p
+ const gint64 nodeMasterId = treeIter.get_node_shared_master_id();
+ const gint64 nodeId = treeIter.get_node_id();
+ const Glib::ustring nodeName = treeIter.get_node_name();
+- if (nodeMasterId <= 0) spdlog::debug("Node {} > {}", nodeId, nodeName);
+- else spdlog::debug("Node {}[{}] > {}", nodeId, nodeMasterId, nodeName);
++ if (nodeMasterId <= 0) spdlog::debug("Node {} > {}", nodeId, nodeName.raw());
++ else spdlog::debug("Node {}[{}] > {}", nodeId, nodeMasterId, nodeName.raw());
+
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = treeIter.get_node_text_buffer();
+ _pCtMainWin->apply_syntax_highlighting(rTextBuffer, treeIter.get_node_syntax_highlighting(), false/*forceReApply*/);
+@@ -1416,7 +1416,7 @@ bool CtTreeStore::populate_summary_info(CtSummaryInfo& summaryInfo)
+ // ensure the node content is populated
+ Glib::RefPtr<Gsv::Buffer> rTextBuffer = ctTreeIter.get_node_text_buffer();
+ if (not rTextBuffer) {
+- error = str::format(_("Failed to retrieve the content of the node '%s'"), ctTreeIter.get_node_name());
++ error = str::format(_("Failed to retrieve the content of the node '%s'"), ctTreeIter.get_node_name().raw());
+ return true; /* true for stop */
+ }
+ const gint64 shared_master_id = ctTreeIter.get_node_shared_master_id();
+diff --git a/tests/tests_encoding.cpp b/tests/tests_encoding.cpp
+index ce3ce3101..80683ced8 100644
+--- a/tests/tests_encoding.cpp
++++ b/tests/tests_encoding.cpp
+@@ -1,7 +1,7 @@
+ /*
+ * tests_encoding.cpp
+ *
+- * Copyright 2009-2020
++ * Copyright 2009-2024
+ * Giuseppe Penone <giuspen@gmail.com>
+ * Evgenii Gurianov <https://github.com/txe>
+ *
+@@ -28,5 +28,5 @@ TEST(EncodingGroup, ustring_format)
+ {
+ // on win32 this could throw an exception due to locale
+ Glib::ustring str = "привет こんにちは";
+- ASSERT_STREQ(str.c_str(), fmt::format("{}", str).c_str());
++ ASSERT_STREQ(str.c_str(), fmt::format("{}", str.raw()).c_str());
+ }
diff --git a/srcpkgs/cherrytree/patches/fc1d7499067b9db9841175b5a2d6934dc65e4522.patch b/srcpkgs/cherrytree/patches/fc1d7499067b9db9841175b5a2d6934dc65e4522.patch
new file mode 100644
index 00000000000000..dd117eaf8c83b3
--- /dev/null
+++ b/srcpkgs/cherrytree/patches/fc1d7499067b9db9841175b5a2d6934dc65e4522.patch
@@ -0,0 +1,151 @@
+From fc1d7499067b9db9841175b5a2d6934dc65e4522 Mon Sep 17 00:00:00 2001
+From: Ben Cotton <bcotton@funnelfiasco.com>
+Date: Fri, 23 Aug 2024 06:02:31 -0400
+Subject: [PATCH] Fix formatting issues with fmt 11 (#2548) (#2560)
+
+CherryTree fails to build on Fedora Rawhide due to errors introduced by
+fmt 11. This commit fixes all of the remaining errors raised during
+compile.
+
+Fixes #2548
+
+Signed-off-by: Ben Cotton <bcotton@fedoraproject.org>
+Co-authored-by: Ben Cotton <bcotton@fedoraproject.org>
+---
+ src/ct/ct_export2html.cc | 4 ++--
+ src/ct/ct_storage_control.cc | 12 ++++++------
+ src/ct/ct_storage_multifile.cc | 6 +++---
+ src/ct/ct_storage_sqlite.cc | 6 +++---
+ 4 files changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/src/ct/ct_export2html.cc b/src/ct/ct_export2html.cc
+index 2e777548..b74aff5a 100644
+--- a/src/ct/ct_export2html.cc
++++ b/src/ct/ct_export2html.cc
+@@ -180,7 +180,7 @@ void CtExport2Html::nodes_all_export_to_multiple_html(bool all_tree, const CtExp
+ tree_links_text += "</div>\n";
+
+ // create index html page
+- Glib::ustring html_text = str::format(HTML_HEADER, _pCtMainWin->get_ct_storage()->get_file_name());
++ Glib::ustring html_text = str::format(HTML_HEADER, _pCtMainWin->get_ct_storage()->get_file_name().string());
+ if (options.index_in_page) {
+ html_text += "<div class='two-panels'>\n<div class='tree-panel'>\n";
+ html_text += tree_links_text;
+@@ -283,7 +283,7 @@ void CtExport2Html::nodes_all_export_to_single_html(bool all_tree, const CtExpor
+ }
+ };
+
+- Glib::ustring html_header = str::format(HTML_HEADER, _pCtMainWin->get_ct_storage()->get_file_name());
++ Glib::ustring html_header = str::format(HTML_HEADER, _pCtMainWin->get_ct_storage()->get_file_name().string());
+ rFileStream->write(html_header.c_str(), html_header.bytes());
+
+ // start to iterarte nodes
+diff --git a/src/ct/ct_storage_control.cc b/src/ct/ct_storage_control.cc
+index 34dd0a1b..e2b6f114 100644
+--- a/src/ct/ct_storage_control.cc
++++ b/src/ct/ct_storage_control.cc
+@@ -78,7 +78,7 @@ static const std::string BAD_ARCHIVE{"_BAD_ARC_"};
+ return nullptr;
+ }
+ if (extracted_file_path.string() == BAD_ARCHIVE) {
+- throw std::runtime_error(str::format(_("'%s' is Not a Valid Archive"), file_path));
++ throw std::runtime_error(str::format(_("'%s' is Not a Valid Archive"), file_path.string()));
+ }
+ }
+ }
+@@ -533,14 +533,14 @@ void CtStorageControl::_backupEncryptThread()
+ // move back the latest file version
+ (void)fs::move_file(pBackupEncryptData->main_backup, pBackupEncryptData->file_path);
+ #if defined(DEBUG_BACKUP_ENCRYPT)
+- spdlog::debug("{} -> {}", pBackupEncryptData->main_backup, pBackupEncryptData->file_path);
++ spdlog::debug("{} -> {}", pBackupEncryptData->main_backup, pBackupEncryptData->file_path.string());
+ #endif // DEBUG_BACKUP_ENCRYPT
+ _pCtMainWin->errorsDEQueue.push_back(_("Failed to encrypt the file"));
+ _pCtMainWin->dispatcherErrorMsg.emit();
+ continue;
+ }
+ #if defined(DEBUG_BACKUP_ENCRYPT)
+- spdlog::debug("{} => {}", pBackupEncryptData->extracted_copy, pBackupEncryptData->file_path);
++ spdlog::debug("{} => {}", pBackupEncryptData->extracted_copy, pBackupEncryptData->file_path.string());
+ #endif // DEBUG_BACKUP_ENCRYPT
+ }
+
+@@ -729,12 +729,12 @@ void CtStorageControl::add_nodes_from_storage(const fs::path& file_path,
+ {
+ if (is_folder) {
+ if (not fs::is_directory(file_path)) {
+- throw std::runtime_error(fmt::format("{} not a dir", file_path));
++ throw std::runtime_error(fmt::format("{} not a dir", file_path.string()));
+ }
+ }
+ else {
+ if (not fs::is_regular_file(file_path)) {
+- throw std::runtime_error(fmt::format("{} not a file", file_path));
++ throw std::runtime_error(fmt::format("{} not a file", file_path.string()));
+ }
+ }
+
+@@ -747,7 +747,7 @@ void CtStorageControl::add_nodes_from_storage(const fs::path& file_path,
+ return;
+ }
+ if (extracted_file_path.string() == BAD_ARCHIVE) {
+- throw std::runtime_error(str::format(_("'%s' is Not a Valid Archive"), file_path));
++ throw std::runtime_error(str::format(_("'%s' is Not a Valid Archive"), file_path.string()));
+ }
+ }
+
+diff --git a/src/ct/ct_storage_multifile.cc b/src/ct/ct_storage_multifile.cc
+index b7b10b4d..94db12bb 100644
+--- a/src/ct/ct_storage_multifile.cc
++++ b/src/ct/ct_storage_multifile.cc
+@@ -510,7 +510,7 @@ bool CtStorageMultiFile::populate_treestore(const fs::path& dir_path, Glib::ustr
+ parsingOk = true;
+ }
+ catch (std::exception& ex) {
+- spdlog::error("parse {} : {} - trying first backup...", node_xml_path, ex.what());
++ spdlog::error("parse {} : {} - trying first backup...", node_xml_path.string(), ex.what());
+ }
+ if (not parsingOk) {
+ std::string first_backup_dir;
+@@ -527,13 +527,13 @@ bool CtStorageMultiFile::populate_treestore(const fs::path& dir_path, Glib::ustr
+ parsingOk = true;
+ }
+ catch (std::exception& ex) {
+- spdlog::error("parse {} : {} - trying backup {}...", node_xml_path, ex.what(), b+2);
++ spdlog::error("parse {} : {} - trying backup {}...", node_xml_path.string(), ex.what(), b+2);
+ }
+ if (parsingOk) {
+ if (fs::exists(node_xml_path)) {
+ fs::move_file(node_xml_path, node_xml_path.parent_path() / (node_xml_path.stem() + std::string{"_BAD.xml"}));
+ }
+- spdlog::debug("parse backed up data ok, copying {} -> {}", backup_node_xml_path, node_xml_path);
++ spdlog::debug("parse backed up data ok, copying {} -> {}", backup_node_xml_path.string(), node_xml_path.string());
+ fs::copy_file(backup_node_xml_path, node_xml_path);
+ if (error.empty()) error += _("A Restore From Backup Was Necessary For:");
+ error += "\n\n" + node_xml_path.string();
+diff --git a/src/ct/ct_storage_sqlite.cc b/src/ct/ct_storage_sqlite.cc
+index dd2c703b..3b0b9217 100644
+--- a/src/ct/ct_storage_sqlite.cc
++++ b/src/ct/ct_storage_sqlite.cc
+@@ -207,10 +207,10 @@ void CtStorageSqlite::test_connection()
+ }
+ catch(std::exception& e) {
+ spdlog::debug("{} {}", __FUNCTION__, e.what());
+- throw std::runtime_error(str::format(_("%s write failed - file is missing. Reattach USB drive or shared resource!"), _file_path));
++ throw std::runtime_error(str::format(_("%s write failed - file is missing. Reattach USB drive or shared resource!"), _file_path.string()));
+ }
+ if (not test_readwrite())
+- throw std::runtime_error(str::format(_("%s write failed - is file blocked by a sync program?"), _file_path));
++ throw std::runtime_error(str::format(_("%s write failed - is file blocked by a sync program?"), _file_path.string()));
+ (void)_check_database_integrity();
+ }
+
+@@ -223,7 +223,7 @@ void CtStorageSqlite::try_reopen()
+ }
+ catch(std::exception& e) {
+ spdlog::debug("{} {}", __FUNCTION__, e.what());
+- throw std::runtime_error(str::format(_("%s reopen failed - file is missing. Reattach USB drive or shared resource!"), _file_path));
++ throw std::runtime_error(str::format(_("%s reopen failed - file is missing. Reattach USB drive or shared resource!"), _file_path.string()));
+ }
+ (void)_check_database_integrity();
+ }
diff --git a/srcpkgs/cherrytree/patches/series b/srcpkgs/cherrytree/patches/series
new file mode 100644
index 00000000000000..22ed6296f2952f
--- /dev/null
+++ b/srcpkgs/cherrytree/patches/series
@@ -0,0 +1,5 @@
+76f0030e2e2b6e1488148d3828baeb8f5911eb8d.patch
+ccc2d101f24a409efddb2f29e8c14002c9836a85.patch
+22142f3b44fef81e67c9bfbcdaed2f80ab2ff5de.patch
+05233db2b25977037c7520a8316183636a262130.patch
+fc1d7499067b9db9841175b5a2d6934dc65e4522.patch
diff --git a/srcpkgs/cherrytree/template b/srcpkgs/cherrytree/template
index 61ce49b4b43c6d..712ad0e7e3edab 100644
--- a/srcpkgs/cherrytree/template
+++ b/srcpkgs/cherrytree/template
@@ -1,7 +1,7 @@
# Template file for 'cherrytree'
pkgname=cherrytree
version=1.1.4
-revision=1
+revision=2
build_style=cmake
# Tests are built during the normal build process and require access to X server
configure_args="-DBUILD_TESTING=OFF"
From a18d9bb35ee1a55d6c89af28b8c6ab3c8af27926 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:08 +0200
Subject: [PATCH 07/27] coeurl: update to 0.3.1
---
srcpkgs/coeurl/patches/fix-build.diff | 11 -----------
srcpkgs/coeurl/template | 4 ++--
2 files changed, 2 insertions(+), 13 deletions(-)
delete mode 100644 srcpkgs/coeurl/patches/fix-build.diff
diff --git a/srcpkgs/coeurl/patches/fix-build.diff b/srcpkgs/coeurl/patches/fix-build.diff
deleted file mode 100644
index 6b3b33e6806a24..00000000000000
--- a/srcpkgs/coeurl/patches/fix-build.diff
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/subprojects/curl.wrap b/subprojects/curl.wrap
-index f1510b4ba5..ec9710f9d7 100644
---- a/subprojects/curl.wrap
-+++ b/subprojects/curl.wrap
-@@ -5,5 +5,5 @@ source_url = https://github.com/curl/curl/releases/download/curl-7_77_0/curl-7.7
- source_filename = curl-7.77.0.tar.xz
- source_hash = 0f64582c54282f31c0de9f0a1a596b182776bd4df9a4c4a2a41bbeb54f62594b
-
--[provides]
-+[provide]
- dependency_names = libcurl
diff --git a/srcpkgs/coeurl/template b/srcpkgs/coeurl/template
index fc0175da3c486c..b73eb89978ab8d 100644
--- a/srcpkgs/coeurl/template
+++ b/srcpkgs/coeurl/template
@@ -1,6 +1,6 @@
# Template file for 'coeurl'
pkgname=coeurl
-version=0.3.0
+version=0.3.1
revision=1
build_style=meson
hostmakedepends="pkg-config"
@@ -10,7 +10,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT"
homepage="https://nheko.im/nheko-reborn/coeurl"
distfiles="https://nheko.im/nheko-reborn/coeurl/-/archive/v${version}/coeurl-v${version}.tar.gz"
-checksum=48b07482364edcbed03e352f6b8b07e327c331eaa45707ad58e62930fa361382
+checksum=6203654c2eec7a286388a6cfa8d8ea5698c57b7b8be235b2cc165f0b4c7bee0b
post_install() {
vlicense LICENSE
From 60665c51726986253285a065a58ab78c1a81f006 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:09 +0200
Subject: [PATCH 08/27] cryfs: rebuild for fmt-11.0.2
---
srcpkgs/cryfs/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/cryfs/template b/srcpkgs/cryfs/template
index bb2109c034e8cb..3e523766b129c1 100644
--- a/srcpkgs/cryfs/template
+++ b/srcpkgs/cryfs/template
@@ -1,7 +1,7 @@
# Template file for 'cryfs'
pkgname=cryfs
version=0.11.4
-revision=2
+revision=3
build_style=cmake
configure_args="-DBoost_USE_STATIC_LIBS=OFF -DCRYFS_UPDATE_CHECKS=off
-DDEPENDENCY_CONFIG=../cmake-utils/DependenciesFromLocalSystem.cmake"
From 3011d8a4bb7cf9ab602e70a161593f28b31fc4a2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:09 +0200
Subject: [PATCH 09/27] devilutionX: update to 1.5.3.
---
srcpkgs/devilutionX/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/devilutionX/template b/srcpkgs/devilutionX/template
index ad911b48f8631c..c052c2518fcd8c 100644
--- a/srcpkgs/devilutionX/template
+++ b/srcpkgs/devilutionX/template
@@ -1,7 +1,7 @@
# Template file for 'devilutionX'
pkgname=devilutionX
-version=1.4.1
-revision=3
+version=1.5.3
+revision=1
build_style=cmake
configure_args="-DVERSION_NUM=$version -DDISABLE_ZERO_TIER=ON"
hostmakedepends="pkg-config"
@@ -13,8 +13,8 @@ license="Unlicense"
homepage="https://github.com/diasurgical/devilutionX"
changelog="https://raw.githubusercontent.com/diasurgical/devilutionX/master/docs/CHANGELOG.md"
distfiles="https://github.com/diasurgical/devilutionX/releases/download/${version}/devilutionx-src.tar.xz"
-checksum=f80a5414bb7b5a5ae9f6dbc69cec4ae080c29dd0a8a553cedd405d631011da9f
+checksum=ea948933eb5fbffb12d72743ef15b626e7004a88bd4f1415b26a9f45240f4a7e
post_install() {
- vlicense LICENSE
+ vlicense LICENSE.md
}
From e24d29d8d236bd29dfea67c1602304bdfbbcc979 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:09 +0200
Subject: [PATCH 10/27] easyeffects: rebuild for fmt-11.0.2
---
srcpkgs/easyeffects/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/easyeffects/template b/srcpkgs/easyeffects/template
index 4bd7570991347d..dceb132e246a59 100644
--- a/srcpkgs/easyeffects/template
+++ b/srcpkgs/easyeffects/template
@@ -1,7 +1,7 @@
# Template file for 'easyeffects'
pkgname=easyeffects
version=7.1.7
-revision=2
+revision=3
build_style=meson
hostmakedepends="pkg-config gettext itstool glib-devel desktop-file-utils
gtk4-update-icon-cache"
From 686fafd867035a7da6c50a77c93ef14c4585a373 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:09 +0200
Subject: [PATCH 11/27] freecad: rebuild for fmt-11.0.2
---
srcpkgs/freecad/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/freecad/template b/srcpkgs/freecad/template
index 2c0e80315116fd..3d5e31790bb62b 100644
--- a/srcpkgs/freecad/template
+++ b/srcpkgs/freecad/template
@@ -1,7 +1,7 @@
# Template file for 'freecad'
pkgname=freecad
version=0.21.2
-revision=1
+revision=2
build_wrksrc="FreeCAD-${version}"
build_style=cmake
pycompile_dirs="usr/lib/${pkgname}/Mod"
From c5fd0f8d7fd6a916d2e88af285c0f88e1ff7ea05 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:09 +0200
Subject: [PATCH 12/27] furnace: rebuild for fmt-11.0.2
---
srcpkgs/furnace/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/furnace/template b/srcpkgs/furnace/template
index 4e0bcbe473a307..e22134b048d815 100644
--- a/srcpkgs/furnace/template
+++ b/srcpkgs/furnace/template
@@ -1,7 +1,7 @@
# Template file for 'furnace'
pkgname=furnace
version=0.6.7
-revision=1
+revision=2
_adpcm_commit="ef7a217154badc3b99978ac481b268c8aab67bd8"
build_style=cmake
configure_args="-DSYSTEM_FFTW=ON -DSYSTEM_FMT=ON -DSYSTEM_FREETYPE=ON
From f6e171ad6dce3d89f6290a7115703472db6982dd Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:09 +0200
Subject: [PATCH 13/27] gerbera: update to 2.2.0.
---
srcpkgs/gerbera/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/gerbera/template b/srcpkgs/gerbera/template
index 5e2da9c98da86b..20df4f404f5f55 100644
--- a/srcpkgs/gerbera/template
+++ b/srcpkgs/gerbera/template
@@ -1,20 +1,20 @@
# Template file for 'gerbera'
pkgname=gerbera
-version=1.12.1
-revision=2
+version=2.2.0
+revision=1
build_style=cmake
configure_args="-DWITH_SYSTEMD=0 -DWITH_AVCODEC=1"
hostmakedepends="pkg-config"
makedepends="duktape-devel expat-devel ffmpeg6-devel file-devel libcurl-devel
libexif-devel libupnp-devel libuuid-devel sqlite-devel taglib-devel
- fmt-devel spdlog pugixml-devel libebml-devel libmatroska-devel"
+ fmt-devel spdlog pugixml-devel libebml-devel libmatroska-devel exiv2-devel"
short_desc="UPnP Media Server based on MediaTomb"
maintainer="Alexander Gehrke <void@qwertyuiop.de>"
license="GPL-2.0-only"
homepage="http://gerbera.io/"
changelog="https://raw.githubusercontent.com/gerbera/gerbera/master/ChangeLog.md"
distfiles="https://github.com/gerbera/gerbera/archive/v${version}.tar.gz"
-checksum=2144a7c4a13e8b43aa0c911fbeae65f05e2c42254ddd03be5c41f5fcf103a93c
+checksum=c77f4a8ccbed5e18499c0854803fec65ae2f26af633818b52584651fbd3eec13
# libupnp uses large file support, so users must do that, too
CXXFLAGS="-D_FILE_OFFSET_BITS=64"
From d934ca0bea5fd837f808b396036e3535802cedf3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:09 +0200
Subject: [PATCH 14/27] gnuradio: rebuild for fmt-11.0.2
---
...70051c1c2b5fb6f2da8fb6422b27418c3dfa.patch | 47 +++++++++++++++++++
srcpkgs/gnuradio/template | 2 +-
2 files changed, 48 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/gnuradio/patches/19b070051c1c2b5fb6f2da8fb6422b27418c3dfa.patch
diff --git a/srcpkgs/gnuradio/patches/19b070051c1c2b5fb6f2da8fb6422b27418c3dfa.patch b/srcpkgs/gnuradio/patches/19b070051c1c2b5fb6f2da8fb6422b27418c3dfa.patch
new file mode 100644
index 00000000000000..9de16700eac8f4
--- /dev/null
+++ b/srcpkgs/gnuradio/patches/19b070051c1c2b5fb6f2da8fb6422b27418c3dfa.patch
@@ -0,0 +1,47 @@
+From 19b070051c1c2b5fb6f2da8fb6422b27418c3dfa Mon Sep 17 00:00:00 2001
+From: Kefu Chai <tchaikov@gmail.com>
+Date: Mon, 15 Jul 2024 09:27:16 +0800
+Subject: [PATCH] blocks,runtime: io_signature: include spdlog/*/ranges.h for
+ using fmt::join()
+
+fmt::join() was moved into fmt/ranges.h since fmt 11, so let's
+include the corresponding header in spdlog for using it.
+
+Signed-off-by: Kefu Chai <tchaikov@gmail.com>
+---
+ gnuradio-runtime/lib/io_signature.cc | 5 +++++
+ gr-blocks/lib/message_debug_impl.cc | 5 +++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/gnuradio-runtime/lib/io_signature.cc b/gnuradio-runtime/lib/io_signature.cc
+index 812f444f8bb..76bb2aba670 100644
+--- a/gnuradio-runtime/lib/io_signature.cc
++++ b/gnuradio-runtime/lib/io_signature.cc
+@@ -16,6 +16,11 @@
+ #include <spdlog/tweakme.h>
+
+ #include <spdlog/fmt/fmt.h>
++#if __has_include(<spdlog/fmt/ranges.h>)
++#include <spdlog/fmt/ranges.h>
++#elif __has_include(<spdlog/fmt/bundled/ranges.h>)
++#include <spdlog/fmt/bundled/ranges.h>
++#endif
+ #include <string_view>
+ #include <algorithm>
+ #include <memory>
+diff --git a/gr-blocks/lib/message_debug_impl.cc b/gr-blocks/lib/message_debug_impl.cc
+index 41d312e43c3..373287b02ab 100644
+--- a/gr-blocks/lib/message_debug_impl.cc
++++ b/gr-blocks/lib/message_debug_impl.cc
+@@ -19,6 +19,11 @@
+ #include <pmt/pmt.h>
+ #include <spdlog/common.h>
+ #include <spdlog/fmt/fmt.h>
++#if __has_include(<spdlog/fmt/ranges.h>)
++#include <spdlog/fmt/ranges.h>
++#elif __has_include(<spdlog/fmt/bundled/ranges.h>)
++#include <spdlog/fmt/bundled/ranges.h>
++#endif
+ #include <functional>
+ #include <utility>
+ #include <vector>
diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 88dd446a846d25..37aac47fd64fd8 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,7 +1,7 @@
# Template file for 'gnuradio'
pkgname=gnuradio
version=3.10.10.0
-revision=2
+revision=3
build_style=cmake
build_helper="python3"
conf_files="/etc/gnuradio/conf.d/*"
From 5443479b929de62448b849101689d81dcf9510ac Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:10 +0200
Subject: [PATCH 15/27] j4-dmenu-desktop: rebuild for fmt-11.0.2
---
srcpkgs/j4-dmenu-desktop/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/j4-dmenu-desktop/template b/srcpkgs/j4-dmenu-desktop/template
index c352d51b0469f8..e5df41d8e7bc6f 100644
--- a/srcpkgs/j4-dmenu-desktop/template
+++ b/srcpkgs/j4-dmenu-desktop/template
@@ -1,7 +1,7 @@
# Template file for 'j4-dmenu-desktop'
pkgname=j4-dmenu-desktop
version=3.1
-revision=1
+revision=2
build_style=meson
configure_args="-Denable-tests=false"
hostmakedepends="pkg-config"
From d5a87907435d031e3ef4939e58dfd6b8d92df127 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:10 +0200
Subject: [PATCH 16/27] justbuild: rebuild for fmt-11.0.2
---
srcpkgs/justbuild/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index e5dfede6dd9506..63e8168cc22d42 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
# Template file for 'justbuild'
pkgname=justbuild
version=1.3.2
-revision=1
+revision=2
create_wrksrc=yes
hostmakedepends="jo pandoc pkg-config python3 tar unzip wget grpc protobuf"
makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++
From 2a49e493fb8bd1bd7cfd0ce6d54ac5eca743a83f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:10 +0200
Subject: [PATCH 17/27] kodi: rebuild for fmt-11.0.2
---
srcpkgs/kodi/patches/pagesize.patch | 20 ++++++++++++++++++++
srcpkgs/kodi/template | 2 +-
2 files changed, 21 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/kodi/patches/pagesize.patch
diff --git a/srcpkgs/kodi/patches/pagesize.patch b/srcpkgs/kodi/patches/pagesize.patch
new file mode 100644
index 00000000000000..71f9baf2720ba6
--- /dev/null
+++ b/srcpkgs/kodi/patches/pagesize.patch
@@ -0,0 +1,20 @@
+--- a/xbmc/utils/UDMABufferObject.cpp 2024-04-06 04:29:22.000000000 +0200
++++ - 2024-09-07 20:00:02.010184618 +0200
+@@ -23,7 +23,7 @@
+ namespace
+ {
+
+-const auto PAGESIZE = getpagesize();
++const auto pagesize = getpagesize();
+
+ int RoundUp(int num, int factor)
+ {
+@@ -93,7 +93,7 @@
+ bool CUDMABufferObject::CreateBufferObject(uint64_t size)
+ {
+ // Must be rounded to the system page size
+- m_size = RoundUp(size, PAGESIZE);
++ m_size = RoundUp(size, pagesize);
+
+ m_memfd = memfd_create("kodi", MFD_CLOEXEC | MFD_ALLOW_SEALING);
+ if (m_memfd < 0)
diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template
index 6e94577ff2cfeb..066e4bfa7321cd 100644
--- a/srcpkgs/kodi/template
+++ b/srcpkgs/kodi/template
@@ -1,7 +1,7 @@
# Template file for 'kodi'
pkgname=kodi
version=21.0
-revision=1
+revision=2
_codename="Omega"
_crossguid_ver="ca1bf4b810e2d188d04cb6286f957008ee1b7681"
_dvdcss_ver="1.4.3-Next-Nexus-Alpha2-2"
From 24fed927bcd1fce1da526d0c365fd368040b15d0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:10 +0200
Subject: [PATCH 18/27] mkvtoolnix: update to 87.0.
---
srcpkgs/mkvtoolnix/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/mkvtoolnix/template b/srcpkgs/mkvtoolnix/template
index a2fb9ba5cc9819..e72d5415267684 100644
--- a/srcpkgs/mkvtoolnix/template
+++ b/srcpkgs/mkvtoolnix/template
@@ -1,6 +1,6 @@
# Template file for 'mkvtoolnix'
pkgname=mkvtoolnix
-version=86.0
+version=87.0
revision=1
build_style=gnu-configure
build_helper="qmake6"
@@ -16,7 +16,7 @@ license="GPL-2.0-only"
homepage="https://mkvtoolnix.download"
changelog="https://mkvtoolnix.download/doc/NEWS.md"
distfiles="https://mkvtoolnix.download/sources/mkvtoolnix-${version}.tar.xz"
-checksum=29a9155fbba99f9074de2abcfbdc4e966ea38c16d9f6f547cf2d8d9a48152c97
+checksum=01cdfcbe01d9a771da4d475ed44d882a97695d08b6939684cebf56231bdee820
if [ "$CROSS_BUILD" ]; then
configure_args+=" --with-boost=${XBPS_CROSS_BASE}/usr"
From e72330a4e7db11d0d66c7735960098d03d92269f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:10 +0200
Subject: [PATCH 19/27] mpd: rebuild for fmt-11.0.2
---
...869715e3efca87942d79c3173a6b21a6925d.patch | 79 +++++++++++++++++++
srcpkgs/mpd/template | 2 +-
2 files changed, 80 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/mpd/patches/1402869715e3efca87942d79c3173a6b21a6925d.patch
diff --git a/srcpkgs/mpd/patches/1402869715e3efca87942d79c3173a6b21a6925d.patch b/srcpkgs/mpd/patches/1402869715e3efca87942d79c3173a6b21a6925d.patch
new file mode 100644
index 00000000000000..f6d8c7d3376906
--- /dev/null
+++ b/srcpkgs/mpd/patches/1402869715e3efca87942d79c3173a6b21a6925d.patch
@@ -0,0 +1,79 @@
+From 1402869715e3efca87942d79c3173a6b21a6925d Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <rudi@heitbaum.com>
+Date: Fri, 5 Jul 2024 14:27:45 +0000
+Subject: [PATCH] lib/fmt: support build with libfmt-11.0.0
+
+Upstream libfmt commit fmtlib/fmt@d707292
+now requires the format function to be const.
+
+Adjust the function prototype so it is const and can compile.
+
+Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
+---
+ src/lib/ffmpeg/LibFmt.hxx | 2 +-
+ src/lib/fmt/AudioFormatFormatter.hxx | 4 ++--
+ src/lib/fmt/ExceptionFormatter.hxx | 2 +-
+ src/lib/fmt/PathFormatter.hxx | 2 +-
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/lib/ffmpeg/LibFmt.hxx b/src/lib/ffmpeg/LibFmt.hxx
+index aa068711f3..dee83ed2d5 100644
+--- a/src/lib/ffmpeg/LibFmt.hxx
++++ b/src/lib/ffmpeg/LibFmt.hxx
+@@ -13,7 +13,7 @@ template<>
+ struct fmt::formatter<AVSampleFormat> : formatter<string_view>
+ {
+ template<typename FormatContext>
+- auto format(const AVSampleFormat format, FormatContext &ctx) {
++ auto format(const AVSampleFormat format, FormatContext &ctx) const {
+ const char *name = av_get_sample_fmt_name(format);
+ if (name == nullptr)
+ name = "?";
+diff --git a/src/lib/fmt/AudioFormatFormatter.hxx b/src/lib/fmt/AudioFormatFormatter.hxx
+index e0ffb62160..8da98efd41 100644
+--- a/src/lib/fmt/AudioFormatFormatter.hxx
++++ b/src/lib/fmt/AudioFormatFormatter.hxx
+@@ -13,7 +13,7 @@ template<>
+ struct fmt::formatter<SampleFormat> : formatter<string_view>
+ {
+ template<typename FormatContext>
+- auto format(const SampleFormat format, FormatContext &ctx) {
++ auto format(const SampleFormat format, FormatContext &ctx) const {
+ return formatter<string_view>::format(sample_format_to_string(format),
+ ctx);
+ }
+@@ -23,7 +23,7 @@ template<>
+ struct fmt::formatter<AudioFormat> : formatter<string_view>
+ {
+ template<typename FormatContext>
+- auto format(const AudioFormat &af, FormatContext &ctx) {
++ auto format(const AudioFormat &af, FormatContext &ctx) const {
+ return formatter<string_view>::format(ToString(af).c_str(),
+ ctx);
+ }
+diff --git a/src/lib/fmt/ExceptionFormatter.hxx b/src/lib/fmt/ExceptionFormatter.hxx
+index 3f342df672..f08b3bb228 100644
+--- a/src/lib/fmt/ExceptionFormatter.hxx
++++ b/src/lib/fmt/ExceptionFormatter.hxx
+@@ -12,7 +12,7 @@ template<>
+ struct fmt::formatter<std::exception_ptr> : formatter<string_view>
+ {
+ template<typename FormatContext>
+- auto format(std::exception_ptr e, FormatContext &ctx) {
++ auto format(std::exception_ptr e, FormatContext &ctx) const {
+ return formatter<string_view>::format(GetFullMessage(e), ctx);
+ }
+ };
+diff --git a/src/lib/fmt/PathFormatter.hxx b/src/lib/fmt/PathFormatter.hxx
+index e5ae89dec5..add06df81b 100644
+--- a/src/lib/fmt/PathFormatter.hxx
++++ b/src/lib/fmt/PathFormatter.hxx
+@@ -13,7 +13,7 @@ template<std::convertible_to<Path> T>
+ struct fmt::formatter<T> : formatter<string_view>
+ {
+ template<typename FormatContext>
+- auto format(Path path, FormatContext &ctx) {
++ auto format(Path path, FormatContext &ctx) const {
+ return formatter<string_view>::format(path.ToUTF8(), ctx);
+ }
+ };
diff --git a/srcpkgs/mpd/template b/srcpkgs/mpd/template
index 7e059ca3f78af5..1fb1c1762c3241 100644
--- a/srcpkgs/mpd/template
+++ b/srcpkgs/mpd/template
@@ -1,7 +1,7 @@
# Template file for 'mpd'
pkgname=mpd
version=0.23.15
-revision=3
+revision=4
build_style=meson
configure_args="-Dopus=enabled -Dmikmod=enabled -Dneighbor=true
-Dsoundcloud=enabled -Dpipe=true -Dtwolame=enabled -Dbzip2=enabled
From 545e431b62fe95ea053331808c844d41ffba9076 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:11 +0200
Subject: [PATCH 20/27] mtxclient: rebuild for fmt-11.0.2
---
...26c77123f805cff8b954909663eaed296558.patch | 46 +++++++++++++++++++
srcpkgs/mtxclient/template | 2 +-
2 files changed, 47 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/mtxclient/patches/4a4726c77123f805cff8b954909663eaed296558.patch
diff --git a/srcpkgs/mtxclient/patches/4a4726c77123f805cff8b954909663eaed296558.patch b/srcpkgs/mtxclient/patches/4a4726c77123f805cff8b954909663eaed296558.patch
new file mode 100644
index 00000000000000..6f82aa274c383b
--- /dev/null
+++ b/srcpkgs/mtxclient/patches/4a4726c77123f805cff8b954909663eaed296558.patch
@@ -0,0 +1,46 @@
+From 4a4726c77123f805cff8b954909663eaed296558 Mon Sep 17 00:00:00 2001
+From: Kefu Chai <tchaikov@gmail.com>
+Date: Mon, 15 Jul 2024 11:35:09 +0800
+Subject: [PATCH] Fix build with fmt 11
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+fmt 11 enforces that fmt::formatter<..>::format() should be const.
+otherwise the tree does not build:
+
+```
+/usr/include/fmt/base.h:1392:29: error: passing ‘const fmt::v11::formatter<std::optional<mtx::http::ClientError> >’ as ‘this’ argument discards qualifiers [-fpermissive]
+ 1392 | ctx.advance_to(cf.format(*static_cast<qualified_type*>(arg), ctx));
+ | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+```
+
+so let's mark the `format()` with `const` specifier.
+
+Signed-off-by: Kefu Chai <tchaikov@gmail.com>
+---
+ include/mtxclient/http/errors.hpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/mtxclient/http/errors.hpp b/include/mtxclient/http/errors.hpp
+index 2d0e7a45..b99ff90e 100644
+--- a/include/mtxclient/http/errors.hpp
++++ b/include/mtxclient/http/errors.hpp
+@@ -87,7 +87,7 @@ struct fmt::formatter<mtx::http::ClientError>
+ // Formats the point p using the parsed format specification (presentation)
+ // stored in this formatter.
+ template<typename FormatContext>
+- auto format(const mtx::http::ClientError &e, FormatContext &ctx) -> decltype(ctx.out())
++ auto format(const mtx::http::ClientError &e, FormatContext &ctx) const -> decltype(ctx.out())
+ {
+ // ctx.out() is an output iterator to write to.
+ bool prepend_comma = false;
+@@ -132,7 +132,7 @@ struct fmt::formatter<std::optional<mtx::http::ClientError>> : formatter<mtx::ht
+ {
+ // parse is inherited from formatter<string_view>.
+ template<typename FormatContext>
+- auto format(std::optional<mtx::http::ClientError> c, FormatContext &ctx)
++ auto format(std::optional<mtx::http::ClientError> c, FormatContext &ctx) const
+ {
+ if (!c)
+ return fmt::format_to(ctx.out(), "(no error)");
diff --git a/srcpkgs/mtxclient/template b/srcpkgs/mtxclient/template
index 99d61932d3b56b..07e471e1753ca8 100644
--- a/srcpkgs/mtxclient/template
+++ b/srcpkgs/mtxclient/template
@@ -1,7 +1,7 @@
# Template file for 'mtxclient'
pkgname=mtxclient
version=0.10.0
-revision=2
+revision=3
build_style=cmake
configure_args="-DBUILD_LIB_TESTS=OFF -DBUILD_LIB_EXAMPLES=OFF"
hostmakedepends="pkg-config"
From e1e75542e2d5f54f116c9181cb71cd387bced206 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:11 +0200
Subject: [PATCH 21/27] nheko: rebuild for fmt-11.0.2
---
...8245275eeb0cfe4ed40bd62b97cebbce4861.patch | 48 +++++++++++++++++++
srcpkgs/nheko/template | 2 +-
2 files changed, 49 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/nheko/patches/8ff28245275eeb0cfe4ed40bd62b97cebbce4861.patch
diff --git a/srcpkgs/nheko/patches/8ff28245275eeb0cfe4ed40bd62b97cebbce4861.patch b/srcpkgs/nheko/patches/8ff28245275eeb0cfe4ed40bd62b97cebbce4861.patch
new file mode 100644
index 00000000000000..65a3b87ed90682
--- /dev/null
+++ b/srcpkgs/nheko/patches/8ff28245275eeb0cfe4ed40bd62b97cebbce4861.patch
@@ -0,0 +1,48 @@
+From 8ff28245275eeb0cfe4ed40bd62b97cebbce4861 Mon Sep 17 00:00:00 2001
+From: Vitaly <vitaly@easycoding.org>
+Date: Tue, 16 Jul 2024 12:30:45 +0200
+Subject: [PATCH] Fixed build against fmt 11.
+
+---
+ src/RegisterPage.cpp | 2 ++
+ src/Utils.cpp | 1 +
+ src/encryption/DeviceVerificationFlow.cpp | 1 +
+ 3 files changed, 4 insertions(+)
+
+diff --git a/src/RegisterPage.cpp b/src/RegisterPage.cpp
+index 93e2cf1bb..562d2c82a 100644
+--- a/src/RegisterPage.cpp
++++ b/src/RegisterPage.cpp
+@@ -4,6 +4,8 @@
+
+ #include <set>
+
++#include <fmt/ranges.h>
++
+ #include <mtx/responses/common.hpp>
+ #include <mtx/responses/register.hpp>
+ #include <mtx/responses/version.hpp>
+diff --git a/src/Utils.cpp b/src/Utils.cpp
+index 3e7340f44..99d337c4d 100644
+--- a/src/Utils.cpp
++++ b/src/Utils.cpp
+@@ -26,6 +26,7 @@
+ #include <QWindow>
+ #include <QXmlStreamReader>
+
++#include <fmt/ranges.h>
+ #include <nlohmann/json.hpp>
+
+ #include <cmark.h>
+diff --git a/src/encryption/DeviceVerificationFlow.cpp b/src/encryption/DeviceVerificationFlow.cpp
+index cb595df0e..0757d88cb 100644
+--- a/src/encryption/DeviceVerificationFlow.cpp
++++ b/src/encryption/DeviceVerificationFlow.cpp
+@@ -9,6 +9,7 @@
+ #include <QDateTime>
+ #include <QTimer>
+
++#include <fmt/ranges.h>
+ #include <nlohmann/json.hpp>
+
+ #include "Cache.h"
diff --git a/srcpkgs/nheko/template b/srcpkgs/nheko/template
index 72ab2d3a1c69ed..9af55f3ec46d0e 100644
--- a/srcpkgs/nheko/template
+++ b/srcpkgs/nheko/template
@@ -1,7 +1,7 @@
# Template file for 'nheko'
pkgname=nheko
version=0.12.0
-revision=2
+revision=3
build_style=cmake
hostmakedepends="qt6-base qt6-tools qt6-declarative-host-tools pkg-config asciidoc"
makedepends="qt6-multimedia-devel qt6-svg-devel qt6-declarative-private-devel fmt-devel
From 2fcfc651b2202060c67b308b6a99b3550704ffaa Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:11 +0200
Subject: [PATCH 22/27] opendht: rebuild for fmt-11.0.2
---
srcpkgs/opendht/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/opendht/template b/srcpkgs/opendht/template
index b18ada2e756011..f11babfddc8595 100644
--- a/srcpkgs/opendht/template
+++ b/srcpkgs/opendht/template
@@ -1,7 +1,7 @@
# Template file for 'opendht'
pkgname=opendht
version=2.6.0.4
-revision=2
+revision=3
build_style=cmake
configure_args="-DOPENDHT_SYSTEMD=OFF -DOPENDHT_TOOLS=OFF
-DOPENDHT_TESTS_NETWORK=OFF"
From df39f151f9304456f01e557a47aa68b292d8db74 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:11 +0200
Subject: [PATCH 23/27] paps: rebuild for fmt-11.0.2
---
srcpkgs/paps/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/paps/template b/srcpkgs/paps/template
index 460daaaae5486d..71a802089a7c14 100644
--- a/srcpkgs/paps/template
+++ b/srcpkgs/paps/template
@@ -1,7 +1,7 @@
# Template file for 'paps'
pkgname=paps
version=0.8.0
-revision=1
+revision=2
build_style=meson
hostmakedepends="pkg-config cmake"
makedepends="fmt-devel freetype-devel pango-devel"
From 6762f8b9552c8de317421fc11465da23ed5bfa66 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:11 +0200
Subject: [PATCH 24/27] python3-syndom: rebuild for fmt-11.0.2
---
srcpkgs/python3-syndom/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/python3-syndom/template b/srcpkgs/python3-syndom/template
index 2d1e037ddf3124..906c6a17c086ad 100644
--- a/srcpkgs/python3-syndom/template
+++ b/srcpkgs/python3-syndom/template
@@ -1,7 +1,7 @@
# Template file for 'python3-syndom'
pkgname=python3-syndom
version=1.0
-revision=1
+revision=2
build_style=meson
hostmakedepends="pkg-config python3-pybind11"
makedepends="fmt-devel libtidy5-devel pugixml-devel python3-pybind11"
From 6e4f73e771fa5fbed2dd158ef0fdf312aeff135f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:11 +0200
Subject: [PATCH 25/27] spdlog: update to 1.14.1.
---
common/shlibs | 2 +-
srcpkgs/spdlog/template | 5 +++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 4a8397a0369657..32fd6477657de3 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4212,7 +4212,7 @@ libwayland-client++.so.1 libwaylandpp-1.0.0_1
libwayland-cursor++.so.1 libwaylandpp-1.0.0_1
libwayland-egl++.so.1 libwaylandpp-1.0.0_1
libwayland-client-extra++.so.1 libwaylandpp-1.0.0_1
-libspdlog.so.1.11 libspdlog-1.11.0_1
+libspdlog.so.1.14 libspdlog-1.14.1_1
libmd.so.0 libmd-1.0.3_1
libldacBT_abr.so.2 ldacBT-2.0.2.3_1
libldacBT_enc.so.2 ldacBT-2.0.2.3_1
diff --git a/srcpkgs/spdlog/template b/srcpkgs/spdlog/template
index 045f86def2cc33..fb073f81fceca4 100644
--- a/srcpkgs/spdlog/template
+++ b/srcpkgs/spdlog/template
@@ -1,6 +1,6 @@
# Template file for 'spdlog'
pkgname=spdlog
-version=1.11.0
+version=1.14.1
revision=1
build_style=cmake
configure_args="-DSPDLOG_BUILD_EXAMPLE=OFF -DSPDLOG_FMT_EXTERNAL=ON
@@ -13,10 +13,11 @@ maintainer="skmpz <dem.procopiou@gmail.com>"
license="MIT"
homepage="https://github.com/gabime/spdlog"
distfiles="https://github.com/gabime/spdlog/archive/v${version}.tar.gz"
-checksum=ca5cae8d6cac15dae0ec63b21d6ad3530070650f68076f3a4a862ca293a858bb
+checksum=1586508029a7d0670dfcb2d97575dcdc242d3868a259742b69f100801ab4e16b
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -DSPDLOG_BUILD_TESTS_HO=ON"
+ hostmakedepends+=" catch2"
fi
libspdlog_package() {
From f87787d2a39d90d8edd11f49701de42f67b42ad5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 7 Sep 2024 16:22:12 +0200
Subject: [PATCH 26/27] vtk: update to 9.3.1.
---
common/shlibs | 220 +++++++++++------------
srcpkgs/vtk/patches/01-vtkioss-fmt.patch | 59 ++++++
srcpkgs/vtk/patches/02-vtkioss-fmt.patch | 23 +++
srcpkgs/vtk/patches/gcc13.patch | 13 --
srcpkgs/vtk/patches/vtkioss-unistd.patch | 6 +-
srcpkgs/vtk/template | 7 +-
6 files changed, 199 insertions(+), 129 deletions(-)
create mode 100644 srcpkgs/vtk/patches/01-vtkioss-fmt.patch
create mode 100644 srcpkgs/vtk/patches/02-vtkioss-fmt.patch
delete mode 100644 srcpkgs/vtk/patches/gcc13.patch
diff --git a/common/shlibs b/common/shlibs
index 32fd6477657de3..e76eafb4dc015c 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3343,116 +3343,116 @@ libgnuradio-pdu.so.3.10.10 gnuradio-3.10.10.0_1
libgnuradio-osmosdr.so.0.2.0 gnuradio-osmosdr-0.2.0_1
libflann_cpp.so.1.9 flann-1.9.1_1
libflann.so.1.9 flann-1.9.1_1
-libvtkCommonCore-9.2.so.1 vtk-9.2.2_1
-libvtksys-9.2.so.1 vtk-9.2.2_1
-libvtkCommonMisc-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingContext2D-9.2.so.1 vtk-9.2.2_1
-libvtkCommonTransforms-9.2.so.1 vtk-9.2.2_1
-libvtkCommonMath-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingLOD-9.2.so.1 vtk-9.2.2_1
-libvtkViewsInfovis-9.2.so.1 vtk-9.2.2_1
-libvtkIOIOSS-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingLabel-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersPoints-9.2.so.1 vtk-9.2.2_1
-libvtkCommonExecutionModel-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingHyperTreeGrid-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersGeometry-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersGeneral-9.2.so.1 vtk-9.2.2_1
-libvtkCommonDataModel-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersTopology-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersSources-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingVolumeOpenGL2-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingCore-9.2.so.1 vtk-9.2.2_1
-libvtkIOOggTheora-9.2.so.1 vtk-9.2.2_1
-libvtkIOExportGL2PS-9.2.so.1 vtk-9.2.2_1
-libvtkIOAMR-9.2.so.1 vtk-9.2.2_1
-libvtkIOCesium3DTiles-9.2.so.1 vtk-9.2.2_1
-libvtkIOSegY-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingVtkJS-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersTexture-9.2.so.1 vtk-9.2.2_1
-libvtkIOVideo-9.2.so.1 vtk-9.2.2_1
-libvtkImagingSources-9.2.so.1 vtk-9.2.2_1
-libvtkImagingStencil-9.2.so.1 vtk-9.2.2_1
-libvtkIOCGNSReader-9.2.so.1 vtk-9.2.2_1
-libvtkCommonComputationalGeometry-9.2.so.1 vtk-9.2.2_1
-libvtkIOVeraOut-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersHybrid-9.2.so.1 vtk-9.2.2_1
-libvtkInteractionImage-9.2.so.1 vtk-9.2.2_1
-libvtkChartsCore-9.2.so.1 vtk-9.2.2_1
-libvtkImagingStatistics-9.2.so.1 vtk-9.2.2_1
-libvtkImagingHybrid-9.2.so.1 vtk-9.2.2_1
-libvtkGeovisCore-9.2.so.1 vtk-9.2.2_1
-libvtkInteractionWidgets-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersImaging-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersVerdict-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersSMP-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingUI-9.2.so.1 vtk-9.2.2_1
-libvtkIOHDF-9.2.so.1 vtk-9.2.2_1
-libvtkCommonSystem-9.2.so.1 vtk-9.2.2_1
-libvtkImagingColor-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingSceneGraph-9.2.so.1 vtk-9.2.2_1
-libvtkParallelCore-9.2.so.1 vtk-9.2.2_1
-libvtkIOInfovis-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingOpenGL2-9.2.so.1 vtk-9.2.2_1
-libvtkImagingFourier-9.2.so.1 vtk-9.2.2_1
-libvtkCommonColor-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingAnnotation-9.2.so.1 vtk-9.2.2_1
-libvtkIOSQL-9.2.so.1 vtk-9.2.2_1
-libvtkIOImage-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersCore-9.2.so.1 vtk-9.2.2_1
-libvtkInfovisCore-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersExtraction-9.2.so.1 vtk-9.2.2_1
-libvtkIOGeometry-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersFlowPaths-9.2.so.1 vtk-9.2.2_1
-libvtkIOMovie-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingVolume-9.2.so.1 vtk-9.2.2_1
-libvtkIOEnSight-9.2.so.1 vtk-9.2.2_1
-libvtkDomainsChemistryOpenGL2-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersStatistics-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersSelection-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersModeling-9.2.so.1 vtk-9.2.2_1
-libvtkViewsCore-9.2.so.1 vtk-9.2.2_1
-libvtkIOMotionFX-9.2.so.1 vtk-9.2.2_1
-libvtkIOLSDyna-9.2.so.1 vtk-9.2.2_1
-libvtkIOParallel-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingContextOpenGL2-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingImage-9.2.so.1 vtk-9.2.2_1
-libvtkIOXMLParser-9.2.so.1 vtk-9.2.2_1
-libvtkImagingMorphological-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersParallel-9.2.so.1 vtk-9.2.2_1
-libvtkViewsContext2D-9.2.so.1 vtk-9.2.2_1
-libvtkIOImport-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingLICOpenGL2-9.2.so.1 vtk-9.2.2_1
-libvtkIOAsynchronous-9.2.so.1 vtk-9.2.2_1
-libvtkIOTecplotTable-9.2.so.1 vtk-9.2.2_1
-libvtkIOCityGML-9.2.so.1 vtk-9.2.2_1
-libvtkImagingMath-9.2.so.1 vtk-9.2.2_1
-libvtkIOParallelXML-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingGL2PSOpenGL2-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersGeneric-9.2.so.1 vtk-9.2.2_1
-libvtkIONetCDF-9.2.so.1 vtk-9.2.2_1
-libvtkImagingCore-9.2.so.1 vtk-9.2.2_1
-libvtkInfovisLayout-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersHyperTree-9.2.so.1 vtk-9.2.2_1
-libvtkIOExportPDF-9.2.so.1 vtk-9.2.2_1
-libvtkImagingGeneral-9.2.so.1 vtk-9.2.2_1
-libvtkIOXML-9.2.so.1 vtk-9.2.2_1
-libvtkIOChemistry-9.2.so.1 vtk-9.2.2_1
-libvtkInteractionStyle-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersAMR-9.2.so.1 vtk-9.2.2_1
-libvtkIOMINC-9.2.so.1 vtk-9.2.2_1
-libvtkTestingRendering-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersParallelImaging-9.2.so.1 vtk-9.2.2_1
-libvtkDomainsChemistry-9.2.so.1 vtk-9.2.2_1
-libvtkIOExport-9.2.so.1 vtk-9.2.2_1
-libvtkIOCore-9.2.so.1 vtk-9.2.2_1
-libvtkFiltersProgrammable-9.2.so.1 vtk-9.2.2_1
-libvtkIOCONVERGECFD-9.2.so.1 vtk-9.2.2_1
-libvtkIOLegacy-9.2.so.1 vtk-9.2.2_1
-libvtkRenderingFreeType-9.2.so.1 vtk-9.2.2_1
-libvtkIOPLY-9.2.so.1 vtk-9.2.2_1
-libvtkIOExodus-9.2.so.1 vtk-9.2.2_1
-libvtkkissfft-9.2.so.1 vtk-9.2.2_1
+libvtkCommonCore-9.3.so.1 vtk-9.3.2_1
+libvtksys-9.3.so.1 vtk-9.3.2_1
+libvtkCommonMisc-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingContext2D-9.3.so.1 vtk-9.3.2_1
+libvtkCommonTransforms-9.3.so.1 vtk-9.3.2_1
+libvtkCommonMath-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingLOD-9.3.so.1 vtk-9.3.2_1
+libvtkViewsInfovis-9.3.so.1 vtk-9.3.2_1
+libvtkIOIOSS-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingLabel-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersPoints-9.3.so.1 vtk-9.3.2_1
+libvtkCommonExecutionModel-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingHyperTreeGrid-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersGeometry-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersGeneral-9.3.so.1 vtk-9.3.2_1
+libvtkCommonDataModel-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersTopology-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersSources-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingVolumeOpenGL2-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingCore-9.3.so.1 vtk-9.3.2_1
+libvtkIOOggTheora-9.3.so.1 vtk-9.3.2_1
+libvtkIOExportGL2PS-9.3.so.1 vtk-9.3.2_1
+libvtkIOAMR-9.3.so.1 vtk-9.3.2_1
+libvtkIOCesium3DTiles-9.3.so.1 vtk-9.3.2_1
+libvtkIOSegY-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingVtkJS-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersTexture-9.3.so.1 vtk-9.3.2_1
+libvtkIOVideo-9.3.so.1 vtk-9.3.2_1
+libvtkImagingSources-9.3.so.1 vtk-9.3.2_1
+libvtkImagingStencil-9.3.so.1 vtk-9.3.2_1
+libvtkIOCGNSReader-9.3.so.1 vtk-9.3.2_1
+libvtkCommonComputationalGeometry-9.3.so.1 vtk-9.3.2_1
+libvtkIOVeraOut-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersHybrid-9.3.so.1 vtk-9.3.2_1
+libvtkInteractionImage-9.3.so.1 vtk-9.3.2_1
+libvtkChartsCore-9.3.so.1 vtk-9.3.2_1
+libvtkImagingStatistics-9.3.so.1 vtk-9.3.2_1
+libvtkImagingHybrid-9.3.so.1 vtk-9.3.2_1
+libvtkGeovisCore-9.3.so.1 vtk-9.3.2_1
+libvtkInteractionWidgets-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersImaging-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersVerdict-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersSMP-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingUI-9.3.so.1 vtk-9.3.2_1
+libvtkIOHDF-9.3.so.1 vtk-9.3.2_1
+libvtkCommonSystem-9.3.so.1 vtk-9.3.2_1
+libvtkImagingColor-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingSceneGraph-9.3.so.1 vtk-9.3.2_1
+libvtkParallelCore-9.3.so.1 vtk-9.3.2_1
+libvtkIOInfovis-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingOpenGL2-9.3.so.1 vtk-9.3.2_1
+libvtkImagingFourier-9.3.so.1 vtk-9.3.2_1
+libvtkCommonColor-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingAnnotation-9.3.so.1 vtk-9.3.2_1
+libvtkIOSQL-9.3.so.1 vtk-9.3.2_1
+libvtkIOImage-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersCore-9.3.so.1 vtk-9.3.2_1
+libvtkInfovisCore-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersExtraction-9.3.so.1 vtk-9.3.2_1
+libvtkIOGeometry-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersFlowPaths-9.3.so.1 vtk-9.3.2_1
+libvtkIOMovie-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingVolume-9.3.so.1 vtk-9.3.2_1
+libvtkIOEnSight-9.3.so.1 vtk-9.3.2_1
+libvtkDomainsChemistryOpenGL2-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersStatistics-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersSelection-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersModeling-9.3.so.1 vtk-9.3.2_1
+libvtkViewsCore-9.3.so.1 vtk-9.3.2_1
+libvtkIOMotionFX-9.3.so.1 vtk-9.3.2_1
+libvtkIOLSDyna-9.3.so.1 vtk-9.3.2_1
+libvtkIOParallel-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingContextOpenGL2-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingImage-9.3.so.1 vtk-9.3.2_1
+libvtkIOXMLParser-9.3.so.1 vtk-9.3.2_1
+libvtkImagingMorphological-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersParallel-9.3.so.1 vtk-9.3.2_1
+libvtkViewsContext2D-9.3.so.1 vtk-9.3.2_1
+libvtkIOImport-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingLICOpenGL2-9.3.so.1 vtk-9.3.2_1
+libvtkIOAsynchronous-9.3.so.1 vtk-9.3.2_1
+libvtkIOTecplotTable-9.3.so.1 vtk-9.3.2_1
+libvtkIOCityGML-9.3.so.1 vtk-9.3.2_1
+libvtkImagingMath-9.3.so.1 vtk-9.3.2_1
+libvtkIOParallelXML-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingGL2PSOpenGL2-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersGeneric-9.3.so.1 vtk-9.3.2_1
+libvtkIONetCDF-9.3.so.1 vtk-9.3.2_1
+libvtkImagingCore-9.3.so.1 vtk-9.3.2_1
+libvtkInfovisLayout-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersHyperTree-9.3.so.1 vtk-9.3.2_1
+libvtkIOExportPDF-9.3.so.1 vtk-9.3.2_1
+libvtkImagingGeneral-9.3.so.1 vtk-9.3.2_1
+libvtkIOXML-9.3.so.1 vtk-9.3.2_1
+libvtkIOChemistry-9.3.so.1 vtk-9.3.2_1
+libvtkInteractionStyle-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersAMR-9.3.so.1 vtk-9.3.2_1
+libvtkIOMINC-9.3.so.1 vtk-9.3.2_1
+libvtkTestingRendering-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersParallelImaging-9.3.so.1 vtk-9.3.2_1
+libvtkDomainsChemistry-9.3.so.1 vtk-9.3.2_1
+libvtkIOExport-9.3.so.1 vtk-9.3.2_1
+libvtkIOCore-9.3.so.1 vtk-9.3.2_1
+libvtkFiltersProgrammable-9.3.so.1 vtk-9.3.2_1
+libvtkIOCONVERGECFD-9.3.so.1 vtk-9.3.2_1
+libvtkIOLegacy-9.3.so.1 vtk-9.3.2_1
+libvtkRenderingFreeType-9.3.so.1 vtk-9.3.2_1
+libvtkIOPLY-9.3.so.1 vtk-9.3.2_1
+libvtkIOExodus-9.3.so.1 vtk-9.3.2_1
+libvtkkissfft-9.3.so.1 vtk-9.3.2_1
libvolume_key.so.1 volume_key-0.3.9_1
librand48_r.so.0 rand48_r-0.1_1
libxxhash.so.0 libxxHash-0.6.5_2
diff --git a/srcpkgs/vtk/patches/01-vtkioss-fmt.patch b/srcpkgs/vtk/patches/01-vtkioss-fmt.patch
new file mode 100644
index 00000000000000..45c60721ae0862
--- /dev/null
+++ b/srcpkgs/vtk/patches/01-vtkioss-fmt.patch
@@ -0,0 +1,59 @@
+From ff6336d8ca857d6909987a82526cefdfd34aaf2c Mon Sep 17 00:00:00 2001
+From: Greg Sjaardema <gdsjaar@sandia.gov>
+Date: Tue, 2 Jan 2024 17:25:41 -0700
+Subject: [PATCH] FMT: Fixes for latest releast of lib::fmt
+
+---
+ ThirdParty/ioss/vtkioss/Ioss_IOFactory.C | 1 +
+ ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C | 1 +
+ ThirdParty/ioss/vtkioss/Ioss_Utils.C | 1 +
+ ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C | 1 +
+ 15 files changed, 15 insertions(+)
+
+diff --git a/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C b/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C
+--- a/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C
++++ b/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C
+@@ -12,6 +12,7 @@
+ #include <cstddef> // for nullptr
+ #include "vtk_fmt.h"
+ #include VTK_FMT(fmt/ostream.h)
++#include VTK_FMT(fmt/ranges.h)
+ #include <map> // for _Rb_tree_iterator, etc
+ #include <ostream> // for basic_ostream, etc
+ #include <set>
+diff --git a/ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C b/ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C
+index d650c38c84..581c21b158 100644
+--- a/ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C
++++ b/ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C
+@@ -15,6 +15,7 @@
+ #include <Ioss_StructuredBlock.h>
+ #include "vtk_fmt.h"
+ #include VTK_FMT(fmt/ostream.h)
++#include VTK_FMT(fmt/ranges.h)
+
+ #include <cstddef> // for size_t
+ #include <numeric>
+diff --git a/ThirdParty/ioss/vtkioss/Ioss_Utils.C b/ThirdParty/ioss/vtkioss/Ioss_Utils.C
+index effcfd6199..6e98057473 100644
+--- a/ThirdParty/ioss/vtkioss/Ioss_Utils.C
++++ b/ThirdParty/ioss/vtkioss/Ioss_Utils.C
+@@ -21,6 +21,7 @@
+ #include VTK_FMT(fmt/chrono.h)
+ #include VTK_FMT(fmt/format.h)
+ #include VTK_FMT(fmt/ostream.h)
++#include VTK_FMT(fmt/ranges.h)
+ #include <fstream>
+ #include <sstream>
+ #include <string>
+diff --git a/ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C b/ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C
+index edee536489..b0f9706b7c 100644
+--- a/ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C
++++ b/ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C
+@@ -9,6 +9,7 @@
+ #include <cstddef> // for size_t
+ #include "vtk_fmt.h"
+ #include VTK_FMT(fmt/ostream.h)
++#include VTK_FMT(fmt/ranges.h)
+ #include <string> // for string
+ #include <vector> // for vector
+
diff --git a/srcpkgs/vtk/patches/02-vtkioss-fmt.patch b/srcpkgs/vtk/patches/02-vtkioss-fmt.patch
new file mode 100644
index 00000000000000..b3070a1722908a
--- /dev/null
+++ b/srcpkgs/vtk/patches/02-vtkioss-fmt.patch
@@ -0,0 +1,23 @@
+From 80470e638859457c6bd2513dbc85a725b2bef78d Mon Sep 17 00:00:00 2001
+From: Greg Sjaardema <gdsjaar@sandia.gov>
+Date: Wed, 31 Jul 2024 07:38:40 -0600
+Subject: [PATCH] IOSS: Fix some misues of lib::fmt causing issues with C++20
+
+---
+ ThirdParty/ioss/vtkioss/Ioss_DatabaseIO.C | 7 ++-----
+ ThirdParty/ioss/vtkioss/Ioss_Utils.C | 2 +-
+ 2 files changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/ThirdParty/ioss/vtkioss/Ioss_DatabaseIO.C b/ThirdParty/ioss/vtkioss/Ioss_DatabaseIO.C
+index 870140a1d2..f16b426753 100644
+--- a/ThirdParty/ioss/vtkioss/Ioss_DatabaseIO.C
++++ b/ThirdParty/ioss/vtkioss/Ioss_DatabaseIO.C
+@@ -1638,7 +1635,7 @@ namespace {
+ else {
+ char sep = (util.parallel_size() > 1) ? ':' : ' ';
+ for (auto &p_time : all_times) {
+- fmt::print(strm, "{:8d}{}", p_time, sep);
++ fmt::print(strm, "{:8}{}", p_time, sep);
+ }
+ }
+ if (util.parallel_size() > 1) {
diff --git a/srcpkgs/vtk/patches/gcc13.patch b/srcpkgs/vtk/patches/gcc13.patch
deleted file mode 100644
index d0ba2017b70ca0..00000000000000
--- a/srcpkgs/vtk/patches/gcc13.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Source: https://src.fedoraproject.org/rpms/vtk/blob/1a12f28665b2f24537b98fcf4b3fb3a176fa7fba/f/vtk-include.patch
-
-diff -up VTK-9.2.5/IO/Image/vtkSEPReader.h.include VTK-9.2.5/IO/Image/vtkSEPReader.h
---- VTK-9.2.5/IO/Image/vtkSEPReader.h.include 2023-01-05 08:51:35.000000000 -0700
-+++ VTK-9.2.5/IO/Image/vtkSEPReader.h 2023-01-17 07:43:41.988095734 -0700
-@@ -26,6 +26,7 @@
- #include "vtkNew.h" // for ivars
-
- #include <array> // for std::array
-+#include <cstdint> // for std::uint8_t
- #include <string> // for std::string
-
- namespace details
diff --git a/srcpkgs/vtk/patches/vtkioss-unistd.patch b/srcpkgs/vtk/patches/vtkioss-unistd.patch
index df43a1fe5bba9c..d07abb59fe5edd 100644
--- a/srcpkgs/vtk/patches/vtkioss-unistd.patch
+++ b/srcpkgs/vtk/patches/vtkioss-unistd.patch
@@ -11,9 +11,9 @@ index ca5f15de..99c2bbdd 100644
#else
-#include <sys/unistd.h>
+#include <unistd.h>
- #endif
-
- #ifdef SEACAS_HAVE_MPI
+ #if defined(__APPLE__) && defined(__MACH__)
+ #include <sys/param.h>
+ #include <sys/mount.h>
@@ -35,9 +35,6 @@
#include <cstdio>
diff --git a/srcpkgs/vtk/template b/srcpkgs/vtk/template
index 189591d55725a7..5d87abde765f37 100644
--- a/srcpkgs/vtk/template
+++ b/srcpkgs/vtk/template
@@ -1,7 +1,7 @@
# Template file for 'vtk'
pkgname=vtk
-version=9.2.6
-revision=3
+version=9.3.1
+revision=1
build_style=cmake
# vtk can be huge, especially with -DVTK_BUILD_ALL_MODULES=ON"
# Build only the core modules plus python bindings for now
@@ -14,6 +14,7 @@ configure_args="-DBUILD_SHARED_LIBS=ON -DVTK_FORBID_DOWNLOADS=ON
-DVTK_MODULE_USE_EXTERNAL_VTK_ioss=OFF
-DVTK_MODULE_USE_EXTERNAL_VTK_cgns=OFF
-DVTK_MODULE_USE_EXTERNAL_VTK_verdict=OFF
+ -DVTK_MODULE_USE_EXTERNAL_VTK_fast_float=OFF
-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3"
# vtk forks libharu, bumps to v2.4.0, and requires libharu>=2.4.0
makedepends="zlib-devel freetype-devel liblz4-devel expat-devel MesaLib-devel
@@ -26,7 +27,7 @@ maintainer="Piraty <mail@piraty.dev>"
license="BSD-3-Clause"
homepage="https://www.vtk.org"
distfiles="https://www.vtk.org/files/release/${version:0:3}/VTK-${version}.tar.gz"
-checksum=06fc8d49c4e56f498c40fcb38a563ed8d4ec31358d0101e8988f0bb4d539dd12
+checksum=8354ec084ea0d2dc3d23dbe4243823c4bfc270382d0ce8d658939fd50061cab8
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
makedepends+=" libexecinfo-devel"
From cc8a6352421e8d3291e3c24605f1ce82e1e5d163 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 10 Sep 2024 22:45:12 +0200
Subject: [PATCH 27/27] imhex: rebuild for fmt-11.0.2
---
srcpkgs/imhex/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/imhex/template b/srcpkgs/imhex/template
index b10c948af3d79f..059b50da85b00f 100644
--- a/srcpkgs/imhex/template
+++ b/srcpkgs/imhex/template
@@ -1,7 +1,7 @@
# Template file for 'imhex'
pkgname=imhex
version=1.35.4
-revision=2
+revision=3
build_wrksrc="ImHex"
build_style=cmake
build_helper=qemu
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-09-11 18:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-09-07 21:24 [PR PATCH] fmt: update to 11.0.2 Johnnynator
2024-09-09 17:09 ` meator
2024-09-09 17:30 ` Calandracas606
2024-09-10 12:51 ` Johnnynator
2024-09-11 18:34 ` [PR PATCH] [Updated] " Johnnynator
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).