diff --git a/package/ncmpc/0001-i18n-add-macro-my_gettext-do-not-define-gettext.patch b/package/ncmpc/0001-i18n-add-macro-my_gettext-do-not-define-gettext.patch deleted file mode 100644 index 296d3d17d6..0000000000 --- a/package/ncmpc/0001-i18n-add-macro-my_gettext-do-not-define-gettext.patch +++ /dev/null @@ -1,199 +0,0 @@ -From d90e80cf0b3525d780b57d016afaa879e16b0fe4 Mon Sep 17 00:00:00 2001 -From: Max Kellermann -Date: Tue, 23 Jul 2024 14:15:16 +0200 -Subject: [PATCH] i18n: add macro my_gettext(), do not define "gettext" - -Defining the macro "gettext" can cause breakages if the C++ standard -library happens to include libintl.h (which GCC 14 does). - -Signed-off-by: Tim Soubry -Upstream: https://github.com/MusicPlayerDaemon/ncmpc/commit/249b62fc9f5e3a653ebdd22da0d75fbe87069457 ---- - src/Command.cxx | 2 +- - src/HelpPage.cxx | 6 +++--- - src/KeyDefPage.cxx | 2 +- - src/SearchPage.cxx | 6 +++--- - src/SongPage.cxx | 8 ++++---- - src/TabBar.cxx | 2 +- - src/i18n.h | 8 +++----- - 7 files changed, 16 insertions(+), 18 deletions(-) - -diff --git a/src/Command.cxx b/src/Command.cxx -index 1caac250..b12a4a35 100644 ---- a/src/Command.cxx -+++ b/src/Command.cxx -@@ -238,7 +238,7 @@ get_cmds_max_name_width() - const char * - get_key_description(Command command) - { -- return gettext(cmds[size_t(command)].description); -+ return my_gettext(cmds[size_t(command)].description); - } - - const char * -diff --git a/src/HelpPage.cxx b/src/HelpPage.cxx -index fad0f8c0..c07a20c4 100644 ---- a/src/HelpPage.cxx -+++ b/src/HelpPage.cxx -@@ -242,7 +242,7 @@ HelpPage::GetListItemText(char *, size_t, unsigned i) const noexcept - assert(i < std::size(help_text)); - - if (row->text != nullptr) -- return gettext(row->text); -+ return my_gettext(row->text); - - if (row->command != Command::NONE) - return get_key_description(row->command); -@@ -272,7 +272,7 @@ HelpPage::PaintListItem(WINDOW *w, unsigned i, - - if (row->command == Command::NONE) { - if (row->text != nullptr) -- mvwaddstr(w, y, 6, gettext(row->text)); -+ mvwaddstr(w, y, 6, my_gettext(row->text)); - else if (row->highlight == 2) - mvwhline(w, y, 3, ACS_HLINE, width - 6); - } else { -@@ -285,7 +285,7 @@ HelpPage::PaintListItem(WINDOW *w, unsigned i, - mvwaddch(w, y, 21, ':'); - mvwaddstr(w, y, 23, - row->text != nullptr -- ? gettext(row->text) -+ ? my_gettext(row->text) - : get_key_description(row->command)); - } - } -diff --git a/src/KeyDefPage.cxx b/src/KeyDefPage.cxx -index be638940..dd301d39 100644 ---- a/src/KeyDefPage.cxx -+++ b/src/KeyDefPage.cxx -@@ -434,7 +434,7 @@ CommandListPage::GetListItemText(char *buffer, size_t size, - - snprintf(buffer + get_cmds_max_name_width(), - size - get_cmds_max_name_width(), -- " - %s", gettext(get_command_definitions()[idx].description)); -+ " - %s", my_gettext(get_command_definitions()[idx].description)); - - return buffer; - } -diff --git a/src/SearchPage.cxx b/src/SearchPage.cxx -index 4f2e3228..9ae8436b 100644 ---- a/src/SearchPage.cxx -+++ b/src/SearchPage.cxx -@@ -142,7 +142,7 @@ public: - " %s : %s [%s]", - GetGlobalKeyBindings().GetKeyNames(Command::SEARCH_MODE).c_str(), - get_key_description(Command::SEARCH_MODE), -- gettext(mode[options.search_mode].label)); -+ my_gettext(mode[options.search_mode].label)); - return buffer; - } - -@@ -453,7 +453,7 @@ SearchPage::GetTitle(char *str, size_t size) const noexcept - "%s '%s' [%s]", - _("Search"), - pattern.c_str(), -- gettext(mode[options.search_mode].label)); -+ my_gettext(mode[options.search_mode].label)); - else - return _("Search"); - -@@ -478,7 +478,7 @@ SearchPage::OnCommand(struct mpdclient &c, Command cmd) - if (mode[options.search_mode].label == nullptr) - options.search_mode = 0; - screen_status_printf(_("Search mode: %s"), -- gettext(mode[options.search_mode].label)); -+ my_gettext(mode[options.search_mode].label)); - - if (pattern.empty()) - /* show the new mode in the help text */ -diff --git a/src/SongPage.cxx b/src/SongPage.cxx -index c0830a9e..6d166b13 100644 ---- a/src/SongPage.cxx -+++ b/src/SongPage.cxx -@@ -174,14 +174,14 @@ static std::unique_ptr - screen_song_init(ScreenManager &_screen, WINDOW *w, Size size) noexcept - { - for (unsigned i = 0; tag_labels[i].label != nullptr; ++i) { -- unsigned width = StringWidthMB(gettext(tag_labels[i].label)); -+ unsigned width = StringWidthMB(my_gettext(tag_labels[i].label)); - if (width > max_tag_label_width) - max_tag_label_width = width; - } - - for (unsigned i = 0; i < std::size(stats_labels); ++i) { - if (stats_labels[i] != nullptr) { -- unsigned width = StringWidthMB(gettext(stats_labels[i])); -+ unsigned width = StringWidthMB(my_gettext(stats_labels[i])); - - if (width > max_stats_label_width) - max_stats_label_width = width; -@@ -267,7 +267,7 @@ get_tag_label(unsigned tag) noexcept - { - for (unsigned i = 0; tag_labels[i].label != nullptr; ++i) - if (tag_labels[i].tag_type == tag) -- return gettext(tag_labels[i].label); -+ return my_gettext(tag_labels[i].label); - - assert(tag < MPD_TAG_COUNT); - return mpd_tag_name((enum mpd_tag_type)tag); -@@ -351,7 +351,7 @@ SongPage::AddSong(const struct mpd_song *song) noexcept - void - SongPage::AppendStatsLine(enum stats_label label, const char *value) noexcept - { -- AppendLine(gettext(stats_labels[label]), value, max_stats_label_width); -+ AppendLine(my_gettext(stats_labels[label]), value, max_stats_label_width); - } - - bool -diff --git a/src/TabBar.cxx b/src/TabBar.cxx -index 426bce12..0518801f 100644 ---- a/src/TabBar.cxx -+++ b/src/TabBar.cxx -@@ -48,7 +48,7 @@ PaintTabBar(WINDOW *w, const PageMeta ¤t_page_meta, - title = current_page_title; - - if (title == nullptr) -- title = gettext(page->title); -+ title = my_gettext(page->title); - - PaintPageTab(w, page->command, title, - page == ¤t_page_meta); -diff --git a/src/i18n.h b/src/i18n.h -index 8bda456e..7e98c1b0 100644 ---- a/src/i18n.h -+++ b/src/i18n.h -@@ -1,8 +1,7 @@ - // SPDX-License-Identifier: GPL-2.0-or-later - // Copyright The Music Player Daemon Project - --#ifndef I18N_H --#define I18N_H -+#pragma once - - #include "config.h" - -@@ -10,6 +9,7 @@ - - #include // IWYU pragma: export - -+#define my_gettext(x) gettext(x) - #define _(x) gettext(x) - - #ifdef gettext_noop -@@ -19,12 +19,10 @@ - #endif - - #else --#define gettext(x) (x) -+#define my_gettext(x) (x) - #define _(x) x - #define N_(x) x - #endif - - #define YES_TRANSLATION _("y") - #define NO_TRANSLATION _("n") -- --#endif --- -2.39.5 - diff --git a/package/ncmpc/0001-meson.build-add-atomic-dependency-for-sparc.patch b/package/ncmpc/0001-meson.build-add-atomic-dependency-for-sparc.patch deleted file mode 100644 index 2b726b7437..0000000000 --- a/package/ncmpc/0001-meson.build-add-atomic-dependency-for-sparc.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 72ef4c1c3c11fc05c057f2b40b87de92a573f2eb Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 11 Feb 2019 21:42:01 +0100 -Subject: [PATCH] meson.build: add atomic dependency for sparc - -Linking with libatomic is needed on sparc otherwise build fails on: -ncmpc@exe/src_Main.cxx.o: In function `std::__atomic_base::operator++()': -/home/buildroot/autobuild/instance-1/output/host/opt/ext-toolchain/sparc-buildroot-linux-uclibc/include/c++/6.4.0/bits/atomic_base.h:296: undefined reference to `__atomic_fetch_add_4' - -Fixes: - - http://autobuild.buildroot.org/results/7ac1a07e4f72633d3ec92b79dc5d8c062490abdc - -Signed-off-by: Fabrice Fontaine -Upstream: https://github.com/MusicPlayerDaemon/ncmpc/pull/45 -[Dario: make the patch to be applied with fuzz factor 0] -Signed-off-by: Dario Binacchi ---- - meson.build | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/meson.build b/meson.build -index fa0eff9408b6..819674cbede4 100644 ---- a/meson.build -+++ b/meson.build -@@ -232,6 +232,9 @@ else - pcre_dep = declare_dependency() - endif - -+# Needed on sparc -+atomic_dep = cc.find_library('atomic', required: false) -+ - inc = include_directories( - 'src', - -@@ -445,6 +448,7 @@ ncmpc = executable('ncmpc', - sources, - include_directories: inc, - dependencies: [ -+ atomic_dep, - thread_dep, - event_dep, - pcre_dep, --- -2.43.0 - diff --git a/package/ncmpc/Config.in b/package/ncmpc/Config.in index 61c186a4ae..2eb5d23967 100644 --- a/package/ncmpc/Config.in +++ b/package/ncmpc/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_NCMPC depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # C++20 + select BR2_PACKAGE_FMT select BR2_PACKAGE_LIBMPDCLIENT select BR2_PACKAGE_NCURSES help diff --git a/package/ncmpc/ncmpc.hash b/package/ncmpc/ncmpc.hash index 1d288294d1..41cfd86584 100644 --- a/package/ncmpc/ncmpc.hash +++ b/package/ncmpc/ncmpc.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 65bbec0ede9e6bcf62ac647b0c706485beb2bdd5db70ca8d60103f32f162cf29 ncmpc-0.49.tar.xz +sha256 3af225496fe363a8534a9780fb46ae1bd17baefd80cf4ba7430a19cddd73eb1a ncmpc-0.52.tar.xz # Hash for license file: sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/ncmpc/ncmpc.mk b/package/ncmpc/ncmpc.mk index ee75c2a676..726f524bfa 100644 --- a/package/ncmpc/ncmpc.mk +++ b/package/ncmpc/ncmpc.mk @@ -5,13 +5,14 @@ ################################################################################ NCMPC_VERSION_MAJOR = 0 -NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).49 +NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).52 NCMPC_SOURCE = ncmpc-$(NCMPC_VERSION).tar.xz NCMPC_SITE = http://www.musicpd.org/download/ncmpc/$(NCMPC_VERSION_MAJOR) NCMPC_DEPENDENCIES = \ host-pkgconf \ libmpdclient \ ncurses \ + fmt \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ $(TARGET_NLS_DEPENDENCIES) NCMPC_LICENSE = GPL-2.0+