hi,

here's updates for the newer 0.24 branch for mpd, see
https://www.musicpd.org/news/2025/03/mpd-0-24-released/ ,
https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.24.2/NEWS
and the companion ncmpc 0.52. i had to revert an upstream commit in both
that made the build fail with error messages related to undefined
invoke/invocable too modern c++20 concepts, i attribute that failure to
a 'too old base libcxx'.

with that reverted mpd builds with ports llvm 19 and base llvm 16.

i havent done any runtime testing yet, will update my local install
running on 7.6 with backports.

feedback/testing welcome.

Landry
? 0.21.8.log
? mpd-0.20.20
? mpd-0.21.1
? patch-src_Main_cxx
Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/mpd/Makefile,v
diff -u -r1.153 Makefile
--- Makefile    23 Dec 2024 16:55:25 -0000      1.153
+++ Makefile    29 Mar 2025 08:45:22 -0000
@@ -1,6 +1,6 @@
 BROKEN-hppa =          no atomic ops
 COMMENT =              Music Player Daemon
-VER =                  0.23.16
+VER =                  0.24.2
 DISTNAME =             mpd-${VER}
 EXTRACT_SUFX =         .tar.xz
 CATEGORIES =           audio
@@ -19,6 +19,7 @@
 
 SITES =                        https://www.musicpd.org/download/mpd/${VER:R}/
 
+# needs libcxx update ?
 COMPILER =             base-clang ports-gcc
 
 BUILD_DEPENDS =                devel/boost
Index: distinfo
===================================================================
RCS file: /cvs/ports/audio/mpd/distinfo,v
diff -u -r1.68 distinfo
--- distinfo    23 Dec 2024 16:55:25 -0000      1.68
+++ distinfo    29 Mar 2025 08:45:22 -0000
@@ -1,2 +1,2 @@
-SHA256 (mpd-0.23.16.tar.xz) = lmjjbfgN5IVoPJYtAoRb8xTYoI5hQa96/v92QB4yssE=
-SIZE (mpd-0.23.16.tar.xz) = 778572
+SHA256 (mpd-0.24.2.tar.xz) = 1pJR/dFbvY+80cSG3U3GpOAI4EWXWyQIyy83RhwQ8eQ=
+SIZE (mpd-0.24.2.tar.xz) = 1016792
Index: patches/patch-doc_meson_build
===================================================================
RCS file: /cvs/ports/audio/mpd/patches/patch-doc_meson_build,v
diff -u -r1.3 patch-doc_meson_build
--- patches/patch-doc_meson_build       9 Mar 2022 09:52:23 -0000       1.3
+++ patches/patch-doc_meson_build       29 Mar 2025 08:45:22 -0000
@@ -1,8 +1,8 @@
 Index: doc/meson.build
 --- doc/meson.build.orig
 +++ doc/meson.build
-@@ -19,7 +19,7 @@ if get_option('html_manual')
-       'conf.py',
+@@ -20,7 +20,7 @@ if get_option('html_manual')
+       '_static/css/custom.css'
      ],
      command: [sphinx, '-q', '-b', 'html', '-d', '@OUTDIR@/doctrees', 
meson.current_source_dir(), '@OUTPUT@'],
 -    build_by_default: true,
Index: patches/patch-doc_mpdconf_example
===================================================================
RCS file: /cvs/ports/audio/mpd/patches/patch-doc_mpdconf_example,v
diff -u -r1.23 patch-doc_mpdconf_example
--- patches/patch-doc_mpdconf_example   22 Dec 2023 19:24:34 -0000      1.23
+++ patches/patch-doc_mpdconf_example   29 Mar 2025 08:45:22 -0000
@@ -1,65 +1,62 @@
 Index: doc/mpdconf.example
 --- doc/mpdconf.example.orig
 +++ doc/mpdconf.example
-@@ -10,14 +10,14 @@
- # be disabled and audio files will only be accepted over ipc socket (using
- # file:// protocol) or streaming files over an accepted protocol.
+@@ -12,6 +12,7 @@
  #
--#music_directory              "~/music"
+ #music_directory              "$XDG_MUSIC_DIR"
+ #music_directory              "~/music"
 +music_directory               "/please-configure-your-music_directory"
  #
  # This setting sets the MPD internal playlist directory. The purpose of this
  # directory is storage for playlists created by MPD. The server will use
- # playlist files not created by the server but only if they are in the MPD
- # format. This setting defaults to playlist saving being disabled.
+@@ -20,6 +21,7 @@
  #
--#playlist_directory           "~/.mpd/playlists"
+ #playlist_directory           "$XDG_CONFIG_HOME/mpd/playlists"
+ #playlist_directory           "~/.mpd/playlists"
 +playlist_directory                    "/var/spool/mpd/playlists"
  #
  # This setting sets the location of the MPD database. This file is used to
  # load the database at server start up and store the database while the
-@@ -25,7 +25,7 @@
- # MPD to accept files over ipc socket (using file:// protocol) or streaming
- # files over an accepted protocol.
+@@ -29,6 +31,7 @@
  #
--#db_file                      "~/.mpd/database"
+ #db_file                      "$XDG_CACHE_HOME/mpd/database"
+ #db_file                      "~/.mpd/database"
 +db_file                       "/var/spool/mpd/mpd.db"
  
  # These settings are the locations for the daemon log files for the daemon.
  #
-@@ -35,7 +35,7 @@
- # If you use systemd, do not configure a log_file.  With systemd, MPD
- # defaults to the systemd journal, which is fine.
+@@ -40,6 +43,7 @@
  #
--#log_file                     "~/.mpd/log"
+ #log_file                     "$XDG_CACHE_HOME/mpd/log"
+ #log_file                     "~/.mpd/log"
 +log_file                      "/var/log/mpd/mpd.log"
  
  # This setting sets the location of the file which stores the process ID
  # for use of mpd --kill and some init scripts. This setting is disabled by
-@@ -43,19 +43,19 @@
+@@ -49,6 +53,7 @@
  #
- # If you use systemd, do not configure a pid_file.
- #
--#pid_file                     "~/.mpd/pid"
+ #pid_file                     "$XDG_RUNTIME_DIR/mpd/mpd.pid"
+ #pid_file                     "~/.mpd/pid"
 +pid_file                      "/var/spool/mpd/mpd.pid"
  
  # This setting sets the location of the file which contains information about
  # most variables to get MPD back into the same general shape it was in before
- # it was brought down. This setting is disabled by default and the server
- # state will be reset on server start up.
+@@ -57,12 +62,14 @@
  #
--#state_file                   "~/.mpd/state"
+ #state_file                   "$XDG_RUNTIME_DIR/mpd/state"
+ #state_file                   "~/.mpd/state"
 +state_file                    "/var/spool/mpd/mpdstate"
  #
  # The location of the sticker database.  This is a database which
  # manages dynamic information attached to songs.
  #
--#sticker_file                 "~/.mpd/sticker.sql"
+ #sticker_file                 "$XDG_CACHE_HOME/sticker.sql"
+ #sticker_file                 "~/.mpd/sticker.sql"
 +sticker_file                  "/var/spool/mpd/sticker.sql"
  #
  
###############################################################################
  
-@@ -67,7 +67,7 @@
+@@ -74,7 +81,7 @@
  # initialization. This setting is disabled by default and MPD is run as the
  # current user.
  #
@@ -68,9 +65,9 @@
  #
  # This setting specifies the group that MPD will run as. If not specified
  # primary group of user specified with "user" setting will be used (if set).
-@@ -86,7 +86,10 @@
- #
+@@ -94,7 +101,10 @@
  # And for Unix Socket
+ #bind_to_address              "$XDG_RUNTIME_DIR/mpd/socket"
  #bind_to_address              "~/.mpd/socket"
 +#bind_to_address              "/var/run/mpd/socket"
  #
@@ -79,7 +76,7 @@
  # This setting is the TCP port that is desired for the daemon to get assigned
  # to.
  #
-@@ -331,11 +334,11 @@ input {
+@@ -339,11 +349,11 @@ input {
  #
  # An example of an sndio output.
  #
Index: patches/patch-src_event_FineTimerEvent_hxx
===================================================================
RCS file: patches/patch-src_event_FineTimerEvent_hxx
diff -N patches/patch-src_event_FineTimerEvent_hxx
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_event_FineTimerEvent_hxx  29 Mar 2025 08:45:22 -0000
@@ -0,0 +1,24 @@
+revert 
https://github.com/MusicPlayerDaemon/MPD/commit/c5e607a3107c3ec2592f5785db4c9b55faefcaae
+
+to revisit when base libcxx is updated ?
+Index: src/event/FineTimerEvent.hxx
+--- src/event/FineTimerEvent.hxx.orig
++++ src/event/FineTimerEvent.hxx
+@@ -7,7 +7,7 @@
+ #include "Chrono.hxx"
+ #include "event/Features.h"
+ #include "util/BindMethod.hxx"
+-#include "util/IntrusiveTreeSet.hxx"
++#include <boost/intrusive/set_hook.hpp>
+ 
+ #include <cassert>
+ 
+@@ -25,7 +25,7 @@ class EventLoop;
+  * as thread-safe.
+  */
+ class FineTimerEvent final :
+-      public IntrusiveTreeSetHook<IntrusiveHookMode::AUTO_UNLINK>
++      public 
boost::intrusive::set_base_hook<boost::intrusive::link_mode<boost::intrusive::auto_unlink>>
+ {
+       friend class TimerList;
+ 
Index: patches/patch-src_event_TimerList_cxx
===================================================================
RCS file: patches/patch-src_event_TimerList_cxx
diff -N patches/patch-src_event_TimerList_cxx
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_event_TimerList_cxx       29 Mar 2025 08:45:22 -0000
@@ -0,0 +1,30 @@
+revert 
https://github.com/MusicPlayerDaemon/MPD/commit/c5e607a3107c3ec2592f5785db4c9b55faefcaae
+
+to revisit when base libcxx is updated ?
+Index: src/event/TimerList.cxx
+--- src/event/TimerList.cxx.orig
++++ src/event/TimerList.cxx
+@@ -5,10 +5,11 @@
+ #include "TimerList.hxx"
+ #include "FineTimerEvent.hxx"
+ 
+-constexpr Event::TimePoint
+-TimerList::GetDue::operator()(const FineTimerEvent &timer) const noexcept
++constexpr bool
++TimerList::Compare::operator()(const FineTimerEvent &a,
++                             const FineTimerEvent &b) const noexcept
+ {
+-      return timer.GetDue();
++      return a.due < b.due;
+ }
+ 
+ TimerList::TimerList() = default;
+@@ -37,7 +38,7 @@ TimerList::Run(const Event::TimePoint now) noexcept
+               if (timeout > timeout.zero())
+                       return timeout;
+ 
+-              timers.pop_front();
++              timers.erase(i);
+ 
+               t.Run();
+       }
Index: patches/patch-src_event_TimerList_hxx
===================================================================
RCS file: patches/patch-src_event_TimerList_hxx
diff -N patches/patch-src_event_TimerList_hxx
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_event_TimerList_hxx       29 Mar 2025 08:45:22 -0000
@@ -0,0 +1,35 @@
+revert 
https://github.com/MusicPlayerDaemon/MPD/commit/c5e607a3107c3ec2592f5785db4c9b55faefcaae
+
+to revisit when base libcxx is updated ?
+Index: src/event/TimerList.hxx
+--- src/event/TimerList.hxx.orig
++++ src/event/TimerList.hxx
+@@ -6,7 +6,7 @@
+ 
+ #include "Chrono.hxx"
+ #include "event/Features.h"
+-#include "util/IntrusiveTreeSet.hxx"
++#include <boost/intrusive/set.hpp>
+ 
+ class FineTimerEvent;
+ 
+@@ -14,12 +14,15 @@ class FineTimerEvent;
+  * A list of #FineTimerEvent instances sorted by due time point.
+  */
+ class TimerList final {
+-      struct GetDue {
+-              constexpr Event::TimePoint operator()(const FineTimerEvent 
&timer) const noexcept;
++      struct Compare {
++              constexpr bool operator()(const FineTimerEvent &a,
++                                        const FineTimerEvent &b) const 
noexcept;
+       };
+ 
+-      IntrusiveTreeSet<FineTimerEvent,
+-                       IntrusiveTreeSetOperators<FineTimerEvent, GetDue>> 
timers;
++      boost::intrusive::multiset<FineTimerEvent,
++                                 
boost::intrusive::base_hook<boost::intrusive::set_base_hook<boost::intrusive::link_mode<boost::intrusive::auto_unlink>>>,
++                                 boost::intrusive::compare<Compare>,
++                                 boost::intrusive::constant_time_size<false>> 
timers;
+ 
+ public:
+       TimerList();
Index: patches/patch-src_input_plugins_CdioParanoiaInputPlugin_cxx
===================================================================
RCS file: patches/patch-src_input_plugins_CdioParanoiaInputPlugin_cxx
diff -N patches/patch-src_input_plugins_CdioParanoiaInputPlugin_cxx
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_input_plugins_CdioParanoiaInputPlugin_cxx 29 Mar 2025 
08:45:22 -0000
@@ -0,0 +1,14 @@
+otherwise NULL is defined to (void*)0 by cdio/types.h
+
+Index: src/input/plugins/CdioParanoiaInputPlugin.cxx
+--- src/input/plugins/CdioParanoiaInputPlugin.cxx.orig
++++ src/input/plugins/CdioParanoiaInputPlugin.cxx
+@@ -5,6 +5,8 @@
+  * CD-Audio handling (requires libcdio_paranoia)
+  */
+ 
++#define NULL nullptr
++
+ #include "CdioParanoiaInputPlugin.hxx"
+ #include "lib/cdio/Paranoia.hxx"
+ #include "lib/fmt/RuntimeError.hxx"
Index: patches/patch-src_net_DscpParser_cxx
===================================================================
RCS file: patches/patch-src_net_DscpParser_cxx
diff -N patches/patch-src_net_DscpParser_cxx
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_net_DscpParser_cxx        29 Mar 2025 08:45:22 -0000
@@ -0,0 +1,14 @@
+/usr/include/netinet/ip.h:67:19: error: field has incomplete type 'struct 
in_addr'
+
+Index: src/net/DscpParser.cxx
+--- src/net/DscpParser.cxx.orig
++++ src/net/DscpParser.cxx
+@@ -9,7 +9,7 @@
+ #ifdef _WIN32
+ #include <ws2tcpip.h>
+ #else
+-#include <netinet/ip.h>
++//#include <netinet/ip.h>
+ #endif
+ 
+ #ifndef IPTOS_DSCP_AF11
Index: patches/patch-src_net_meson_build
===================================================================
RCS file: /cvs/ports/audio/mpd/patches/patch-src_net_meson_build,v
diff -u -r1.2 patch-src_net_meson_build
--- patches/patch-src_net_meson_build   11 Mar 2022 18:20:19 -0000      1.2
+++ patches/patch-src_net_meson_build   29 Mar 2025 08:45:22 -0000
@@ -1,11 +1,11 @@
 Index: src/net/meson.build
 --- src/net/meson.build.orig
 +++ src/net/meson.build
-@@ -19,7 +19,6 @@ have_local_socket = not is_windows and get_option('loc
+@@ -29,7 +29,6 @@ have_local_socket = not is_windows and get_option('loc
  conf.set('HAVE_UN', have_local_socket)
  
  if have_local_socket
 -  conf.set('HAVE_STRUCT_UCRED', compiler.has_header_symbol('sys/socket.h', 
'struct ucred') and compiler.has_header_symbol('sys/socket.h', 'SO_PEERCRED'))
    conf.set('HAVE_GETPEEREID', compiler.has_function('getpeereid'))
+   net_sources += 'LocalSocketAddress.cxx'
  endif
- 
Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/ncmpc/Makefile,v
diff -u -r1.64 Makefile
--- Makefile    4 Jan 2025 16:30:13 -0000       1.64
+++ Makefile    29 Mar 2025 08:41:00 -0000
@@ -2,7 +2,7 @@
 
 COMMENT=               curses based frontend for mpd
 
-VER=                   0.49
+VER=                   0.52
 DISTNAME=              ncmpc-${VER}
 EPOCH=                 0
 CATEGORIES=            audio
@@ -14,7 +14,7 @@
 
 # make sure to regen WANTLIB on ld.lld arches (-Wl,--as-needed)
 WANTLIB +=     ${COMPILER_LIBCXX} c curses iconv intl m mpdclient>=1
-WANTLIB +=     pcre2-8
+WANTLIB +=     pcre2-8 fmt
 
 SITES=                 https://www.musicpd.org/download/ncmpc/${VER:R}/
 
@@ -30,6 +30,7 @@
                        textproc/py-sphinx
 
 LIB_DEPENDS=           audio/libmpdclient>=2.20 \
+                       devel/fmt \
                        devel/gettext,-runtime \
                        devel/pcre2
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/audio/ncmpc/distinfo,v
diff -u -r1.29 distinfo
--- distinfo    12 Aug 2023 16:56:29 -0000      1.29
+++ distinfo    29 Mar 2025 08:41:00 -0000
@@ -1,2 +1,2 @@
-SHA256 (ncmpc-0.49.tar.xz) = ZbvsDt6ea89irGR7DHBkhb6yvdXbcMqNYBA/MvFizyk=
-SIZE (ncmpc-0.49.tar.xz) = 296012
+SHA256 (ncmpc-0.52.tar.xz) = OvIlSW/jY6hTSpeA+0auG9F7rv2Az0unQwoZzd1z6xo=
+SIZE (ncmpc-0.52.tar.xz) = 319580
Index: patches/patch-src_event_FineTimerEvent_hxx
===================================================================
RCS file: patches/patch-src_event_FineTimerEvent_hxx
diff -N patches/patch-src_event_FineTimerEvent_hxx
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_event_FineTimerEvent_hxx  29 Mar 2025 08:41:00 -0000
@@ -0,0 +1,24 @@
+revert 
https://github.com/MusicPlayerDaemon/ncmpc/commit/63e3372775c7b1330d07e7e2be38170ad9076cae
+
+to revisit when base libcxx is updated ?
+Index: src/event/FineTimerEvent.hxx
+--- src/event/FineTimerEvent.hxx.orig
++++ src/event/FineTimerEvent.hxx
+@@ -7,7 +7,7 @@
+ #include "Chrono.hxx"
+ #include "event/Features.h"
+ #include "util/BindMethod.hxx"
+-#include "util/IntrusiveTreeSet.hxx"
++#include <boost/intrusive/set_hook.hpp>
+ 
+ #include <cassert>
+ 
+@@ -25,7 +25,7 @@ class EventLoop;
+  * as thread-safe.
+  */
+ class FineTimerEvent final :
+-      public IntrusiveTreeSetHook<IntrusiveHookMode::AUTO_UNLINK>
++      public 
boost::intrusive::set_base_hook<boost::intrusive::link_mode<boost::intrusive::auto_unlink>>
+ {
+       friend class TimerList;
+ 
Index: patches/patch-src_event_TimerList_cxx
===================================================================
RCS file: patches/patch-src_event_TimerList_cxx
diff -N patches/patch-src_event_TimerList_cxx
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_event_TimerList_cxx       29 Mar 2025 08:41:00 -0000
@@ -0,0 +1,30 @@
+revert 
https://github.com/MusicPlayerDaemon/ncmpc/commit/63e3372775c7b1330d07e7e2be38170ad9076cae
+
+to revisit when base libcxx is updated ?
+Index: src/event/TimerList.cxx
+--- src/event/TimerList.cxx.orig
++++ src/event/TimerList.cxx
+@@ -5,10 +5,11 @@
+ #include "TimerList.hxx"
+ #include "FineTimerEvent.hxx"
+ 
+-constexpr Event::TimePoint
+-TimerList::GetDue::operator()(const FineTimerEvent &timer) const noexcept
++constexpr bool
++TimerList::Compare::operator()(const FineTimerEvent &a,
++                             const FineTimerEvent &b) const noexcept
+ {
+-      return timer.GetDue();
++      return a.due < b.due;
+ }
+ 
+ TimerList::TimerList() = default;
+@@ -37,7 +38,7 @@ TimerList::Run(const Event::TimePoint now) noexcept
+               if (timeout > timeout.zero())
+                       return timeout;
+ 
+-              timers.pop_front();
++              timers.erase(i);
+ 
+               t.Run();
+       }
Index: patches/patch-src_event_TimerList_hxx
===================================================================
RCS file: patches/patch-src_event_TimerList_hxx
diff -N patches/patch-src_event_TimerList_hxx
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_event_TimerList_hxx       29 Mar 2025 08:41:00 -0000
@@ -0,0 +1,35 @@
+revert 
https://github.com/MusicPlayerDaemon/ncmpc/commit/63e3372775c7b1330d07e7e2be38170ad9076cae
+
+to revisit when base libcxx is updated ?
+Index: src/event/TimerList.hxx
+--- src/event/TimerList.hxx.orig
++++ src/event/TimerList.hxx
+@@ -6,7 +6,7 @@
+ 
+ #include "Chrono.hxx"
+ #include "event/Features.h"
+-#include "util/IntrusiveTreeSet.hxx"
++#include <boost/intrusive/set.hpp>
+ 
+ class FineTimerEvent;
+ 
+@@ -14,12 +14,15 @@ class FineTimerEvent;
+  * A list of #FineTimerEvent instances sorted by due time point.
+  */
+ class TimerList final {
+-      struct GetDue {
+-              constexpr Event::TimePoint operator()(const FineTimerEvent 
&timer) const noexcept;
++      struct Compare {
++              constexpr bool operator()(const FineTimerEvent &a,
++                                        const FineTimerEvent &b) const 
noexcept;
+       };
+ 
+-      IntrusiveTreeSet<FineTimerEvent,
+-                       IntrusiveTreeSetOperators<FineTimerEvent, GetDue>> 
timers;
++      boost::intrusive::multiset<FineTimerEvent,
++                                 
boost::intrusive::base_hook<boost::intrusive::set_base_hook<boost::intrusive::link_mode<boost::intrusive::auto_unlink>>>,
++                                 boost::intrusive::compare<Compare>,
++                                 boost::intrusive::constant_time_size<false>> 
timers;
+ 
+ public:
+       TimerList();
Index: patches/patch-src_screen_cxx
===================================================================
RCS file: patches/patch-src_screen_cxx
diff -N patches/patch-src_screen_cxx
--- patches/patch-src_screen_cxx        23 Apr 2023 15:48:15 -0000      1.6
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-Because c++14 zomg woot woot
-
-Index: src/screen.cxx
---- src/screen.cxx.orig
-+++ src/screen.cxx
-@@ -27,8 +27,8 @@ ScreenManager::MakePage(const PageMeta &sf) noexcept
-               return i;
- 
-       auto j = pages.emplace(&sf,
--                             sf.init(*this, main_window.w,
--                                     main_window.size));
-+                             std::unique_ptr<Page>(sf.init(*this, 
main_window.w,
-+                                     main_window.size)));
-       assert(j.second);
-       return j.first;
- }
Index: patches/patch-src_screen_utils_cxx
===================================================================
RCS file: patches/patch-src_screen_utils_cxx
diff -N patches/patch-src_screen_utils_cxx
--- patches/patch-src_screen_utils_cxx  23 Apr 2023 15:48:15 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
-Index: src/screen_utils.cxx
---- src/screen_utils.cxx.orig
-+++ src/screen_utils.cxx
-@@ -15,6 +15,7 @@
- #include <cerrno>
- #endif
- 
-+#include <errno.h>
- #include <string.h>
- 
- void
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/audio/ncmpc/pkg/PLIST,v
diff -u -r1.11 PLIST
--- pkg/PLIST   5 Mar 2022 09:32:53 -0000       1.11
+++ pkg/PLIST   29 Mar 2025 08:41:00 -0000
@@ -40,5 +40,8 @@
 share/locale/ru/LC_MESSAGES/ncmpc.mo
 share/locale/sk/LC_MESSAGES/ncmpc.mo
 share/locale/sv/LC_MESSAGES/ncmpc.mo
+share/locale/ta/
+share/locale/ta/LC_MESSAGES/
+share/locale/ta/LC_MESSAGES/ncmpc.mo
 share/locale/uk/LC_MESSAGES/ncmpc.mo
 share/locale/zh_CN/LC_MESSAGES/ncmpc.mo

Reply via email to