Now that we've gone through libc++ 19 and 22 it looks like
we can remove this workaround. Also g/c the 16 yr old faad
version guard.


Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/mpd/Makefile,v
retrieving revision 1.166
diff -u -p -u -p -r1.166 Makefile
--- Makefile    28 Aug 2026 19:10:01 -0000      1.166
+++ Makefile    9 Oct 2026 21:40:40 -0000
@@ -2,6 +2,7 @@ BROKEN-hppa =           no atomic ops
 COMMENT =              Music Player Daemon
 VER =                  0.24.15
 DISTNAME =             mpd-${VER}
+REVISION =             0
 EXTRACT_SUFX =         .tar.xz
 CATEGORIES =           audio
 HOMEPAGE =             https://www.musicpd.org/
@@ -21,14 +22,12 @@ WANTLIB =           FLAC audiofile avcodec avfilt
 
 SITES =                        https://www.musicpd.org/download/mpd/${VER:R}/
 
-# needs libcxx update ?
 COMPILER =             base-clang ports-gcc
 
-BUILD_DEPENDS =                devel/boost
 BUILD_DEPENDS +=       textproc/py-sphinx
 BUILD_DEPENDS +=       textproc/nlohmann-json
 
-LIB_DEPENDS =          audio/faad>=2.6.1p0 \
+LIB_DEPENDS =          audio/faad \
                        audio/flac \
                        audio/lame \
                        audio/libcdio \
Index: patches/patch-src_event_FineTimerEvent_hxx
===================================================================
RCS file: patches/patch-src_event_FineTimerEvent_hxx
diff -N patches/patch-src_event_FineTimerEvent_hxx
--- patches/patch-src_event_FineTimerEvent_hxx  15 Apr 2025 06:43:28 -0000      
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-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
--- patches/patch-src_event_TimerList_cxx       15 Apr 2025 06:43:28 -0000      
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,30 +0,0 @@
-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
--- patches/patch-src_event_TimerList_hxx       15 Apr 2025 06:43:28 -0000      
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,35 +0,0 @@
-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();

Reply via email to