package/ncmpc: bump version to 0.52

Applying version bump of ncmpc to version 0.52 as proposed in [1].
As from version 0.50 of ncmpc, fmt got added as a dependency [2]. This was
also added to package/ncmpc/Config.in and package/ncmpc/ncmpc.mk.

For release notes, see:
https://github.com/MusicPlayerDaemon/ncmpc/blob/v0.52/NEWS

Comparision between version 0.49 and 0.52:
https://github.com/MusicPlayerDaemon/ncmpc/compare/v0.49..v0.52

[1] https://lore.kernel.org/buildroot/20250707112536.1644236-1-tim.soubry@mind.be/T/#rb3b968fff23bac0298e33f473d63a1ad470d38e3
[2] c3b0055d06

Signed-off-by: Tim Soubry <tim.soubry@mind.be>
Tested-by: Andreas Ziegler <br015@umbiko.net>
[Julien: change release note link to use tag]
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
Tim Soubry
2025-07-11 16:32:24 +02:00
committed by Julien Olivain
parent e44aff6b1b
commit 793c5ad89d
5 changed files with 4 additions and 246 deletions

View File

@@ -1,199 +0,0 @@
From d90e80cf0b3525d780b57d016afaa879e16b0fe4 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
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 <tim.soubry@mind.be>
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<Page>
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 &current_page_meta,
title = current_page_title;
if (title == nullptr)
- title = gettext(page->title);
+ title = my_gettext(page->title);
PaintPageTab(w, page->command, title,
page == &current_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 <libintl.h> // 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

View File

@@ -1,45 +0,0 @@
From 72ef4c1c3c11fc05c057f2b40b87de92a573f2eb Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
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<long>::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 <fontaine.fabrice@gmail.com>
Upstream: https://github.com/MusicPlayerDaemon/ncmpc/pull/45
[Dario: make the patch to be applied with fuzz factor 0]
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
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

View File

@@ -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

View File

@@ -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

View File

@@ -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+