From 48e7affffa06bbe23a1cd190d0a765956cf179b0 Mon Sep 17 00:00:00 2001 From: Julien Olivain Date: Sat, 10 Aug 2024 15:44:40 +0200 Subject: [PATCH] package/mariadb: fix build with fmt >= 11.0.1 MariaDB is failing to build since commit 6b86f076c3 "package/fmt: bump to version 11.0.1" with output: /buildroot/output/build/aarch64-buildroot-linux-gnu/sysroot/usr/include/fmt/base.h:1402:29: error: passing 'const fmt::v11::formatter' as 'this' argument discards qualifiers [-fpermissive] 1402 | ctx.advance_to(cf.format(*static_cast(arg), ctx)); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This commit is fixing the issue by adding an upstream patch, rebased on the package version. Fixes: http://autobuild.buildroot.org/results/3106928a2d6b32acfb075a2840cf549a81784270/ and many others. Signed-off-by: Julien Olivain Signed-off-by: Thomas Petazzoni --- ...le-failure-fmt-use-incompatible-with.patch | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 package/mariadb/0002-MDEV-34206-compile-failure-fmt-use-incompatible-with.patch diff --git a/package/mariadb/0002-MDEV-34206-compile-failure-fmt-use-incompatible-with.patch b/package/mariadb/0002-MDEV-34206-compile-failure-fmt-use-incompatible-with.patch new file mode 100644 index 0000000000..b6c8807f44 --- /dev/null +++ b/package/mariadb/0002-MDEV-34206-compile-failure-fmt-use-incompatible-with.patch @@ -0,0 +1,35 @@ +From 69935c10b95fc7f7a2e1c3ed02831958e1a9b6a4 Mon Sep 17 00:00:00 2001 +From: Daniel Black +Date: Wed, 22 May 2024 17:43:17 +1000 +Subject: [PATCH] MDEV-34206 compile failure: fmt use incompatible with + libfmt-10.2.[2]+ + +Upstream libfmt commit https://github.com/fmtlib/fmt/commit/d70729215fba1d54862e407b626abf86ddf409bf +now requires the format function to be const. + +Adjust the function prototype so it is const and can compile.a + +Signed-off-by: Daniel Black +[Julien: add SoB line with the original patch author name] +Upstream: https://github.com/MariaDB/server/commit/4375245d5d9f01cabb6e3fd6c637535e724eae38 +Signed-off-by: Julien Olivain +--- + sql/item_strfunc.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc +index 4bbf36ec1cf..2ad8a9b3ce5 100644 +--- a/sql/item_strfunc.cc ++++ b/sql/item_strfunc.cc +@@ -1392,7 +1392,7 @@ bool Item_func_sformat::fix_length_and_dec(THD *thd) + namespace fmt { + template <> struct formatter: formatter { + template +- auto format(String c, FormatContext& ctx) -> decltype(ctx.out()) { ++ auto format(String c, FormatContext& ctx) const -> decltype(ctx.out()) { + string_view name = { c.ptr(), c.length() }; + return formatter::format(name, ctx); + }; +-- +2.46.0 +