* [Buildroot] [PATCH] package/mpd: fix build with fmt 11
@ 2024-07-12 5:35 Andreas Ziegler
2024-07-12 6:47 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 2+ messages in thread
From: Andreas Ziegler @ 2024-07-12 5:35 UTC (permalink / raw)
To: buildroot; +Cc: Andreas Ziegler
Since commit 6b86f07 (package/fmt: bump to version 11.0.1), mpd fails to build:
/home/data/buildroot.x86_64/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/fmt/base.h:1392:29: error: passing ‘const fmt::v11::formatter<std::__exception_ptr::exception_ptr>’ as ‘this’ argument discards qualifiers [-fpermissive]
1392 | ctx.advance_to(cf.format(*static_cast<qualified_type*>(arg), ctx));
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/Log.cxx:5:
../src/lib/fmt/ExceptionFormatter.hxx:15:14: note: in call to ‘auto fmt::v11::formatter<std::__exception_ptr::exception_ptr>::format(std::__exception_ptr::exception_ptr, FormatContext&) [with FormatContext = fmt::v11::context]’
15 | auto format(std::exception_ptr e, FormatContext &ctx) {
| ^~~~~~
Adapt an upstream change to restore mpd compatibility with fmt 11.
Fixes:
http://autobuild.buildroot.net/results/73514ea76a5960f59b4c50e2074571b10e4682d4
http://autobuild.buildroot.net/results/a58ddbdfe35bd19021e65db0b8b8cc4c1c884d51
Signed-off-by: Andreas Ziegler <br015@umbiko.net>
---
...fmt-support-build-with-libfmt-11.0.0.patch | 92 +++++++++++++++++++
1 file changed, 92 insertions(+)
create mode 100644 package/mpd/0002-lib-fmt-support-build-with-libfmt-11.0.0.patch
diff --git a/package/mpd/0002-lib-fmt-support-build-with-libfmt-11.0.0.patch b/package/mpd/0002-lib-fmt-support-build-with-libfmt-11.0.0.patch
new file mode 100644
index 0000000000..99a03187d5
--- /dev/null
+++ b/package/mpd/0002-lib-fmt-support-build-with-libfmt-11.0.0.patch
@@ -0,0 +1,92 @@
+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 1/1] 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>
+
+Context: https://github.com/MusicPlayerDaemon/MPD/issues/2071
+Pull request: https://github.com/MusicPlayerDaemon/MPD/pull/2069
+
+Fixes: http://autobuild.buildroot.net/results/73514ea76a5960f59b4c50e2074571b10e4682d4
+Fixes: http://autobuild.buildroot.net/results/a58ddbdfe35bd19021e65db0b8b8cc4c1c884d51
+
+Rebase for mpd-0.23.15
+
+Signed-off-by: Andreas Ziegler <br015@umbiko.net>
+---
+ 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 aa068711f..dee83ed2d 100644
+--- a/src/lib/ffmpeg/LibFmt.hxx
++++ b/src/lib/ffmpeg/LibFmt.hxx
+@@ -29,7 +29,7 @@
+ 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 e0ffb6216..8da98efd4 100644
+--- a/src/lib/fmt/AudioFormatFormatter.hxx
++++ b/src/lib/fmt/AudioFormatFormatter.hxx
+@@ -39,7 +39,7 @@
+ 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);
+ }
+@@ -49,7 +49,7 @@
+ 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 3f342df67..f08b3bb22 100644
+--- a/src/lib/fmt/ExceptionFormatter.hxx
++++ b/src/lib/fmt/ExceptionFormatter.hxx
+@@ -38,7 +38,7 @@
+ 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 e5ae89dec..add06df81 100644
+--- a/src/lib/fmt/PathFormatter.hxx
++++ b/src/lib/fmt/PathFormatter.hxx
+@@ -29,7 +29,7 @@
+ struct fmt::formatter<Path> : 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);
+ }
+ };
+--
+2.43.0
+
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Buildroot] [PATCH] package/mpd: fix build with fmt 11
2024-07-12 5:35 [Buildroot] [PATCH] package/mpd: fix build with fmt 11 Andreas Ziegler
@ 2024-07-12 6:47 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-12 6:47 UTC (permalink / raw)
To: Andreas Ziegler; +Cc: buildroot
Hello Andreas,
On Fri, 12 Jul 2024 07:35:59 +0200
Andreas Ziegler <br015@umbiko.net> wrote:
> Since commit 6b86f07 (package/fmt: bump to version 11.0.1), mpd fails to build:
>
> /home/data/buildroot.x86_64/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/fmt/base.h:1392:29: error: passing ‘const fmt::v11::formatter<std::__exception_ptr::exception_ptr>’ as ‘this’ argument discards qualifiers [-fpermissive]
> 1392 | ctx.advance_to(cf.format(*static_cast<qualified_type*>(arg), ctx));
> | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from ../src/Log.cxx:5:
> ../src/lib/fmt/ExceptionFormatter.hxx:15:14: note: in call to ‘auto fmt::v11::formatter<std::__exception_ptr::exception_ptr>::format(std::__exception_ptr::exception_ptr, FormatContext&) [with FormatContext = fmt::v11::context]’
> 15 | auto format(std::exception_ptr e, FormatContext &ctx) {
> | ^~~~~~
>
> Adapt an upstream change to restore mpd compatibility with fmt 11.
>
> Fixes:
> http://autobuild.buildroot.net/results/73514ea76a5960f59b4c50e2074571b10e4682d4
> http://autobuild.buildroot.net/results/a58ddbdfe35bd19021e65db0b8b8cc4c1c884d51
>
> Signed-off-by: Andreas Ziegler <br015@umbiko.net>
> ---
> ...fmt-support-build-with-libfmt-11.0.0.patch | 92 +++++++++++++++++++
> 1 file changed, 92 insertions(+)
> create mode 100644 package/mpd/0002-lib-fmt-support-build-with-libfmt-11.0.0.patch
Thanks for the fix! Your patch had two small issues detected by "make
check-package":
WARNING: package/mpd/0002-lib-fmt-support-build-with-libfmt-11.0.0.patch:4: generate your patches with 'git format-patch -N'
WARNING: package/mpd/0002-lib-fmt-support-build-with-libfmt-11.0.0.patch:0: missing Upstream in the header (https://nightly.buildroot.org/#_additional_patch_documentation)
I fixed those two issues and applied. Thanks a lot!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-07-12 6:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-12 5:35 [Buildroot] [PATCH] package/mpd: fix build with fmt 11 Andreas Ziegler
2024-07-12 6:47 ` Thomas Petazzoni via buildroot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.