Message ID | 1684224813-27544-1-git-send-email-wangmy@fujitsu.com |
---|---|
State | Under Review |
Headers | show |
Series | [meta-multimedia] mpd: fix build error when fmt updated | expand |
here is next error https://errors.yoctoproject.org/Errors/Details/704258/ On Tue, May 16, 2023 at 1:13 AM wangmy <wangmy@fujitsu.com> wrote: > > From: Wang Mingyu <wangmy@fujitsu.com> > > backport upstream patch for build error when fmt updated: > ix-build-error-when-fmt-updated.patch > minor-fixup-for-libfmt10.patch > > Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> > --- > .../fix-build-error-when-fmt-updated.patch | 71 +++++++++++++++++++ > .../mpd/minor-fixup-for-libfmt10.patch | 27 +++++++ > .../recipes-multimedia/musicpd/mpd_0.23.12.bb | 6 +- > 3 files changed, 102 insertions(+), 2 deletions(-) > create mode 100644 meta-multimedia/recipes-multimedia/musicpd/mpd/fix-build-error-when-fmt-updated.patch > create mode 100644 meta-multimedia/recipes-multimedia/musicpd/mpd/minor-fixup-for-libfmt10.patch > > diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd/fix-build-error-when-fmt-updated.patch b/meta-multimedia/recipes-multimedia/musicpd/mpd/fix-build-error-when-fmt-updated.patch > new file mode 100644 > index 0000000000..ebbea2b358 > --- /dev/null > +++ b/meta-multimedia/recipes-multimedia/musicpd/mpd/fix-build-error-when-fmt-updated.patch > @@ -0,0 +1,71 @@ > +Upstream-Status: Backport [https://github.com/MusicPlayerDaemon/MPD/commit/181b96dd2d71bc8f2668776719d344466f258b5d] > + > +Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> > + > +From 181b96dd2d71bc8f2668776719d344466f258b5d Mon Sep 17 00:00:00 2001 > +From: Max Kellermann <max.kellermann@gmail.com> > +Date: Mon, 15 May 2023 20:52:21 +0200 > +Subject: [PATCH] command/player, SongPrint: use AudioFormatFormatter() > + > +libfmt version 10 apparently doesn't know how to format a > +`StringBuffer`, failing the MPD build. Since we have a formatter > +specialization for `AudioFormat`, let's use that - it's better and > +easier to use. > + > +Closes https://github.com/MusicPlayerDaemon/MPD/issues/1807 > +--- > + src/SongPrint.cxx | 5 +++-- > + src/command/PlayerCommands.cxx | 3 ++- > + 2 files changed, 5 insertions(+), 3 deletions(-) > + > +diff --git a/src/SongPrint.cxx b/src/SongPrint.cxx > +index 98d544cc38..835669d276 100644 > +--- a/src/SongPrint.cxx > ++++ b/src/SongPrint.cxx > +@@ -8,6 +8,7 @@ > + #include "TagPrint.hxx" > + #include "client/Response.hxx" > + #include "fs/Traits.hxx" > ++#include "lib/fmt/AudioFormatFormatter.hxx" > + #include "time/ChronoUtil.hxx" > + #include "util/StringBuffer.hxx" > + #include "util/UriUtil.hxx" > +@@ -77,7 +78,7 @@ song_print_info(Response &r, const LightSong &song, bool base) noexcept > + time_print(r, "Last-Modified", song.mtime); > + > + if (song.audio_format.IsDefined()) > +- r.Fmt(FMT_STRING("Format: {}\n"), ToString(song.audio_format)); > ++ r.Fmt(FMT_STRING("Format: {}\n"), song.audio_format); > + > + tag_print_values(r, song.tag); > + > +@@ -100,7 +101,7 @@ song_print_info(Response &r, const DetachedSong &song, bool base) noexcept > + time_print(r, "Last-Modified", song.GetLastModified()); > + > + if (const auto &f = song.GetAudioFormat(); f.IsDefined()) > +- r.Fmt(FMT_STRING("Format: {}\n"), ToString(f)); > ++ r.Fmt(FMT_STRING("Format: {}\n"), f); > + > + tag_print_values(r, song.GetTag()); > + > +diff --git a/src/command/PlayerCommands.cxx b/src/command/PlayerCommands.cxx > +index 5108b9d3c4..0b5a917020 100644 > +--- a/src/command/PlayerCommands.cxx > ++++ b/src/command/PlayerCommands.cxx > +@@ -13,6 +13,7 @@ > + #include "Partition.hxx" > + #include "Instance.hxx" > + #include "IdleFlags.hxx" > ++#include "lib/fmt/AudioFormatFormatter.hxx" > + #include "util/StringBuffer.hxx" > + #include "util/ScopeExit.hxx" > + #include "util/Exception.hxx" > +@@ -170,7 +171,7 @@ handle_status(Client &client, [[maybe_unused]] Request args, Response &r) > + > + if (player_status.audio_format.IsDefined()) > + r.Fmt(FMT_STRING(COMMAND_STATUS_AUDIO ": {}\n"), > +- ToString(player_status.audio_format)); > ++ player_status.audio_format); > + } > + > + #ifdef ENABLE_DATABASE > diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd/minor-fixup-for-libfmt10.patch b/meta-multimedia/recipes-multimedia/musicpd/mpd/minor-fixup-for-libfmt10.patch > new file mode 100644 > index 0000000000..0c9d979107 > --- /dev/null > +++ b/meta-multimedia/recipes-multimedia/musicpd/mpd/minor-fixup-for-libfmt10.patch > @@ -0,0 +1,27 @@ > +Upstream-Status: Backport > +[https://github.com/MusicPlayerDaemon/MPD/commit/f869593ac8913e52c711e974257bd6dc0d5dbf26] > + > +Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> > + > +From f869593ac8913e52c711e974257bd6dc0d5dbf26 Mon Sep 17 00:00:00 2001 > +From: Max Kellermann <max.kellermann@gmail.com> > +Date: Mon, 15 May 2023 20:59:58 +0200 > +Subject: [PATCH] TimePrint: minor fixup for libfmt 10 > + > +libfmt version 10 has difficulties formatting a `StringBuffer`, and we > +need to help it by explicitly invoking the `c_str()` method. > +--- > + src/TimePrint.cxx | 2 +- > + 1 files changed, 1 insertions(+), 1 deletion(-) > + > +diff --git a/src/TimePrint.cxx b/src/TimePrint.cxx > +index 5bf05f6238..d47f3178bb 100644 > +--- a/src/TimePrint.cxx > ++++ b/src/TimePrint.cxx > +@@ -20,5 +20,5 @@ time_print(Response &r, const char *name, > + return; > + } > + > +- r.Fmt(FMT_STRING("{}: {}\n"), name, s); > ++ r.Fmt(FMT_STRING("{}: {}\n"), name, s.c_str()); > + } > diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb > index 13938444c8..c6672ca46b 100644 > --- a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb > +++ b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb > @@ -18,10 +18,12 @@ DEPENDS += " \ > fmt \ > " > > -SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=v0.23.x;protocol=https \ > +SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=master;protocol=https \ > file://mpd.conf.in \ > + file://minor-fixup-for-libfmt10.patch \ > + file://fix-build-error-when-fmt-updated.patch \ > " > -SRCREV = "d91da9679801224847c30147f5914785b6f8f240" > +SRCREV = "b1422fbda40a1831d397fb161e7a555443c2a072" > S = "${WORKDIR}/git" > > EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_system_unitdir} -Dsystemd_user_unit_dir=${systemd_system_unitdir}', '-Dsystemd=disabled', d)}" > -- > 2.34.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#102623): https://lists.openembedded.org/g/openembedded-devel/message/102623 > Mute This Topic: https://lists.openembedded.org/mt/98922100/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd/fix-build-error-when-fmt-updated.patch b/meta-multimedia/recipes-multimedia/musicpd/mpd/fix-build-error-when-fmt-updated.patch new file mode 100644 index 0000000000..ebbea2b358 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/musicpd/mpd/fix-build-error-when-fmt-updated.patch @@ -0,0 +1,71 @@ +Upstream-Status: Backport [https://github.com/MusicPlayerDaemon/MPD/commit/181b96dd2d71bc8f2668776719d344466f258b5d] + +Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> + +From 181b96dd2d71bc8f2668776719d344466f258b5d Mon Sep 17 00:00:00 2001 +From: Max Kellermann <max.kellermann@gmail.com> +Date: Mon, 15 May 2023 20:52:21 +0200 +Subject: [PATCH] command/player, SongPrint: use AudioFormatFormatter() + +libfmt version 10 apparently doesn't know how to format a +`StringBuffer`, failing the MPD build. Since we have a formatter +specialization for `AudioFormat`, let's use that - it's better and +easier to use. + +Closes https://github.com/MusicPlayerDaemon/MPD/issues/1807 +--- + src/SongPrint.cxx | 5 +++-- + src/command/PlayerCommands.cxx | 3 ++- + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/src/SongPrint.cxx b/src/SongPrint.cxx +index 98d544cc38..835669d276 100644 +--- a/src/SongPrint.cxx ++++ b/src/SongPrint.cxx +@@ -8,6 +8,7 @@ + #include "TagPrint.hxx" + #include "client/Response.hxx" + #include "fs/Traits.hxx" ++#include "lib/fmt/AudioFormatFormatter.hxx" + #include "time/ChronoUtil.hxx" + #include "util/StringBuffer.hxx" + #include "util/UriUtil.hxx" +@@ -77,7 +78,7 @@ song_print_info(Response &r, const LightSong &song, bool base) noexcept + time_print(r, "Last-Modified", song.mtime); + + if (song.audio_format.IsDefined()) +- r.Fmt(FMT_STRING("Format: {}\n"), ToString(song.audio_format)); ++ r.Fmt(FMT_STRING("Format: {}\n"), song.audio_format); + + tag_print_values(r, song.tag); + +@@ -100,7 +101,7 @@ song_print_info(Response &r, const DetachedSong &song, bool base) noexcept + time_print(r, "Last-Modified", song.GetLastModified()); + + if (const auto &f = song.GetAudioFormat(); f.IsDefined()) +- r.Fmt(FMT_STRING("Format: {}\n"), ToString(f)); ++ r.Fmt(FMT_STRING("Format: {}\n"), f); + + tag_print_values(r, song.GetTag()); + +diff --git a/src/command/PlayerCommands.cxx b/src/command/PlayerCommands.cxx +index 5108b9d3c4..0b5a917020 100644 +--- a/src/command/PlayerCommands.cxx ++++ b/src/command/PlayerCommands.cxx +@@ -13,6 +13,7 @@ + #include "Partition.hxx" + #include "Instance.hxx" + #include "IdleFlags.hxx" ++#include "lib/fmt/AudioFormatFormatter.hxx" + #include "util/StringBuffer.hxx" + #include "util/ScopeExit.hxx" + #include "util/Exception.hxx" +@@ -170,7 +171,7 @@ handle_status(Client &client, [[maybe_unused]] Request args, Response &r) + + if (player_status.audio_format.IsDefined()) + r.Fmt(FMT_STRING(COMMAND_STATUS_AUDIO ": {}\n"), +- ToString(player_status.audio_format)); ++ player_status.audio_format); + } + + #ifdef ENABLE_DATABASE diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd/minor-fixup-for-libfmt10.patch b/meta-multimedia/recipes-multimedia/musicpd/mpd/minor-fixup-for-libfmt10.patch new file mode 100644 index 0000000000..0c9d979107 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/musicpd/mpd/minor-fixup-for-libfmt10.patch @@ -0,0 +1,27 @@ +Upstream-Status: Backport +[https://github.com/MusicPlayerDaemon/MPD/commit/f869593ac8913e52c711e974257bd6dc0d5dbf26] + +Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> + +From f869593ac8913e52c711e974257bd6dc0d5dbf26 Mon Sep 17 00:00:00 2001 +From: Max Kellermann <max.kellermann@gmail.com> +Date: Mon, 15 May 2023 20:59:58 +0200 +Subject: [PATCH] TimePrint: minor fixup for libfmt 10 + +libfmt version 10 has difficulties formatting a `StringBuffer`, and we +need to help it by explicitly invoking the `c_str()` method. +--- + src/TimePrint.cxx | 2 +- + 1 files changed, 1 insertions(+), 1 deletion(-) + +diff --git a/src/TimePrint.cxx b/src/TimePrint.cxx +index 5bf05f6238..d47f3178bb 100644 +--- a/src/TimePrint.cxx ++++ b/src/TimePrint.cxx +@@ -20,5 +20,5 @@ time_print(Response &r, const char *name, + return; + } + +- r.Fmt(FMT_STRING("{}: {}\n"), name, s); ++ r.Fmt(FMT_STRING("{}: {}\n"), name, s.c_str()); + } diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb index 13938444c8..c6672ca46b 100644 --- a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb +++ b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb @@ -18,10 +18,12 @@ DEPENDS += " \ fmt \ " -SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=v0.23.x;protocol=https \ +SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=master;protocol=https \ file://mpd.conf.in \ + file://minor-fixup-for-libfmt10.patch \ + file://fix-build-error-when-fmt-updated.patch \ " -SRCREV = "d91da9679801224847c30147f5914785b6f8f240" +SRCREV = "b1422fbda40a1831d397fb161e7a555443c2a072" S = "${WORKDIR}/git" EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_system_unitdir} -Dsystemd_user_unit_dir=${systemd_system_unitdir}', '-Dsystemd=disabled', d)}"