diff mbox series

[meta-multimedia] mpd: fix build error when fmt updated

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

Commit Message

Mingyu Wang (Fujitsu) May 16, 2023, 8:13 a.m. UTC
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

Comments

Khem Raj May 17, 2023, 5:28 a.m. UTC | #1
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 mbox series

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)}"