Index | Thread | Search

From:
Brad Smith <brad@comstyle.com>
Subject:
UPDATE: mpd
To:
ports@openbsd.org
Cc:
landry@openbsd.org
Date:
Fri, 9 Oct 2026 17:50:41 -0400

Download raw body.

Thread
  • Brad Smith:

    UPDATE: mpd

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();