From f8e158bc72986e46b93d05358c29db0c10f2fe9f Mon Sep 17 00:00:00 2001
From: Karlchen <k_straussberger@netzland.net>
Date: Wed, 17 Sep 2025 21:18:49 +0200
Subject: [PATCH] Update to fmt 12.0.0

---
 .github/workflows/publish-deb.yml | 1 -
 ChangeLog.md                      | 1 +
 README.md                         | 4 ++--
 ReleaseNotes.md                   | 3 ++-
 scripts/versions.sh               | 6 +++---
 src/web/config_load.cc            | 4 ++++
 6 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/.github/workflows/publish-deb.yml b/.github/workflows/publish-deb.yml
index 48d33d0d0..00f123528 100644
--- a/.github/workflows/publish-deb.yml
+++ b/.github/workflows/publish-deb.yml
@@ -27,7 +27,6 @@ jobs:
           - "ubuntu:20.04"
           - "ubuntu:22.04"
           - "ubuntu:24.04"
-          - "ubuntu:24.10"
           - "ubuntu:25.04"
           - "debian:bullseye"
           - "debian:bookworm"
diff --git a/scripts/versions.sh b/scripts/versions.sh
index 030d65630..185947f15 100644
--- a/scripts/versions.sh
+++ b/scripts/versions.sh
@@ -45,7 +45,7 @@ elif [[ "${GERBERA_ENV-head}" == "default" ]]; then
     EXIV2="v0.27.7"
     EXIF="v0.6.24"
     FFMPEGTHUMBNAILER="2.2.2"
-    FMT="9.1.0"
+    FMT="11.2.0"
     GOOGLETEST="1.10.0"
     LASTFM="0.4.0"
     MATROSKA="1.5.2"
@@ -65,7 +65,7 @@ else
     EXIV2="v0.28.7"
     EXIF="v0.6.25"
     FFMPEGTHUMBNAILER="2.2.3"
-    FMT="11.2.0"
+    FMT="12.0.0"
     GOOGLETEST="1.17.0"
     LASTFM="0.4.0"
     MATROSKA="1.7.1"
@@ -76,6 +76,6 @@ else
     WAVPACK="5.8.1"
     TAGLIB="2.1.1"
     JSONCPP="1.9.6"
-    CMAKE="4.0.3"
+    CMAKE="4.1.1"
 
 fi
diff --git a/src/web/config_load.cc b/src/web/config_load.cc
index 8b296c43e..4259ae333 100644
--- a/src/web/config_load.cc
+++ b/src/web/config_load.cc
@@ -150,7 +150,11 @@ void Web::ConfigLoad::addNewValue(
 template <typename T>
 void Web::ConfigLoad::setValue(Json::Value& item, const T& value)
 {
+#if FMT_VERSION >= 120000
+    static_assert(fmt::is_formattable<T, fmt::format_context>::value, "T must be formattable");
+#else
     static_assert(fmt::has_formatter<T, fmt::format_context>::value, "T must be formattable");
+#endif
     item[CONFIG_LOAD_VALUE] = fmt::to_string(value);
 }
 
