aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Zander <riggs@FreeBSD.org>2021-10-17 17:33:13 +0000
committerThomas Zander <riggs@FreeBSD.org>2021-10-18 07:57:29 +0000
commit578df4db8f7e0ee96c0ba59cc6c3c760b6440111 (patch)
treed28ff1da848ef49add15891c3e184eac16998ea7
parentef60d46c71d556eb9a41023b275b48c9b473cfbd (diff)
downloadports-578df4db8f7e0ee96c0ba59cc6c3c760b6440111.tar.gz
ports-578df4db8f7e0ee96c0ba59cc6c3c760b6440111.zip
audio/musicpd: Update to upstream release 0.23
Details: - Big release with new features and fixes, see: https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23/NEWS including: - New plugins for OPENMTP, PIPEWIRE (both as non-default OPTIONS), and snapcast (later enabled by default, since no new LIB_DEPENDS). - Support for libnpupnp via UPNP OPTION. - DSD over PCM playback via native OSS output. - PROXY requires mpd 0.20 or later now. This might be a regression for some users' use cases, hence no merge to quarterly yet. - While one it: Fix search paths for config files when not using the rc script in the man pages.
-rw-r--r--audio/musicpd/Makefile20
-rw-r--r--audio/musicpd/distinfo6
-rw-r--r--audio/musicpd/files/patch-src_neighbor_plugins_SmbclientNeighborPlugin.cxx50
-rw-r--r--audio/musicpd/files/patch-src_protocol_ArgParser.cxx10
-rw-r--r--audio/musicpd/files/patch-src_storage_plugins_SmbclientStorage.cxx21
5 files changed, 97 insertions, 10 deletions
diff --git a/audio/musicpd/Makefile b/audio/musicpd/Makefile
index f272ff45fed1..1132de5e333c 100644
--- a/audio/musicpd/Makefile
+++ b/audio/musicpd/Makefile
@@ -1,8 +1,7 @@
PORTNAME= musicpd
-PORTVERSION= 0.22.11
-PORTREVISION= 1
+PORTVERSION= 0.23
CATEGORIES= audio
-MASTER_SITES= https://www.musicpd.org/download/mpd/${PORTVERSION:R}/
+MASTER_SITES= https://www.musicpd.org/download/mpd/${PORTVERSION}/
DISTNAME= mpd-${PORTVERSION}
MAINTAINER= riggs@FreeBSD.org
@@ -12,6 +11,7 @@ LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libboost_iostreams.so:devel/boost-libs \
+ libfmt.so:devel/libfmt \
libicudata.so:devel/icu
USES= compiler:c++17-lang localbase:ldflags meson pkgconfig \
@@ -52,9 +52,9 @@ OPTIONS_MULTI_FILE_FORMAT= \
OPTIONS_GROUP= ACCESS PLAYBACK
OPTIONS_GROUP_ACCESS= CDPARANOIA CURL LAME MMS NFS PLAYLISTS QOBUZ \
- SMB SOUNDCLOUD YAJL
+ SMB SOUNDCLOUD UPNP YAJL
-OPTIONS_GROUP_PLAYBACK= AO JACK OPENAL PULSEAUDIO \
+OPTIONS_GROUP_PLAYBACK= AO JACK OPENAL OPENMPT PIPEWIRE PULSEAUDIO \
SHOUTCAST SNDIO
ADPLUG_DESC= AdPlug support
@@ -63,6 +63,8 @@ GME_DESC= GME support (video game music files)
ISO9660_DESC= Direct support for ISO 9660 images
PROXYDB_DESC= Proxy database support via libmpdclient
LAME_DESC= Support for MP3 Icecast Streams
+OPENMPT_DESC= Support for OpenMPT playback
+PIPEWIRE_DESC= PipeWire support
PLAYLISTS_DESC= Enable extra playlist support (wma, RSS)
QOBUZ_DESC= Streaming service support: Qobuz
SIDPLAY_DESC= Sidplay support (C64 mono and stereo files)
@@ -109,6 +111,8 @@ MUSEPACK_MESON_ENABLED= mpcdec
MUSEPACK_LIB_DEPENDS= libmpcdec.so:audio/musepack
NFS_MESON_ENABLED= nfs
NFS_LIB_DEPENDS= libnfs.so:net/libnfs
+OPENMPT_MESON_ENABLED= openmpt
+OPENMPT_LIB_DEPENDS= libopenmpt.so:audio/libopenmpt
OPUS_MESON_ENABLED= opus
OPUS_LIB_DEPENDS= libopus.so:audio/opus \
libogg.so:audio/libogg
@@ -149,6 +153,8 @@ JACK_LIB_DEPENDS= libjack.so:audio/jack
JACK_CXXFLAGS= -Wno-register
OPENAL_MESON_ENABLED= openal
OPENAL_USES= openal
+PIPEWIRE_MESON_ENABLED= pipewire
+PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire
PULSEAUDIO_MESON_ENABLED= pulse
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
SHOUTCAST_MESON_ENABLED=shout
@@ -198,6 +204,8 @@ AVAHI_MESON_ON= -Dzeroconf=avahi
AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app
MDNSRESPONDER_MESON_ON= -Dzeroconf=bonjour
MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder
+UPNP_MESON_ON= -Dupnp=npupnp
+UPNP_LIB_DEPENDS= libnpupnp.so:net/libnpupnp
YAJL_MESON_ENABLED= yajl
YAJL_LIB_DEPENDS= libyajl.so:devel/yajl
@@ -216,8 +224,6 @@ post-patch:
-e 's#^``mpd#``${PORTNAME}#' \
-e 's#:: mpd#:: ${PORTNAME}#' \
-e 's#mpd(1)#${PORTNAME}(1)#' \
- -e 's#/etc/mpd.conf#${PREFIX}/etc/${PORTNAME}.conf#' \
- -e 's#mpd.conf#${PORTNAME}.conf#' \
-e 's#mpd.conf(5)#${PORTNAME}.conf(5)#' \
${WRKSRC}/doc/mpd.1.rst ${WRKSRC}/doc/mpd.conf.5.rst
@${REINPLACE_CMD} \
diff --git a/audio/musicpd/distinfo b/audio/musicpd/distinfo
index 4cd117eeb383..6ba2ffde1abe 100644
--- a/audio/musicpd/distinfo
+++ b/audio/musicpd/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1629886055
-SHA256 (mpd-0.22.11.tar.xz) = 143f7f34aaee6e87888f3dd35d49aade6656052651b960ca42b46cbb518ca0a0
-SIZE (mpd-0.22.11.tar.xz) = 737184
+TIMESTAMP = 1634384255
+SHA256 (mpd-0.23.tar.xz) = 73562c7e6d5815e84de9485c9947c98fa5b9c2d761c3fb23df7004b9b8beb85a
+SIZE (mpd-0.23.tar.xz) = 764184
diff --git a/audio/musicpd/files/patch-src_neighbor_plugins_SmbclientNeighborPlugin.cxx b/audio/musicpd/files/patch-src_neighbor_plugins_SmbclientNeighborPlugin.cxx
new file mode 100644
index 000000000000..c8c90a1d62b7
--- /dev/null
+++ b/audio/musicpd/files/patch-src_neighbor_plugins_SmbclientNeighborPlugin.cxx
@@ -0,0 +1,50 @@
+--- src/neighbor/plugins/SmbclientNeighborPlugin.cxx.orig 2021-10-14 13:25:21 UTC
++++ src/neighbor/plugins/SmbclientNeighborPlugin.cxx
+@@ -33,6 +33,8 @@
+
+ #include <libsmbclient.h>
+
++#include <cerrno>
++#include <cstring>
+ #include <utility>
+
+ class SmbclientNeighborExplorer final : public NeighborExplorer {
+@@ -45,12 +47,12 @@ class SmbclientNeighborExplorer final : public Neighbo
+
+ Server(const Server &) = delete;
+
+- gcc_pure
++ [[gnu::pure]]
+ bool operator==(const Server &other) const noexcept {
+ return name == other.name;
+ }
+
+- [[nodiscard]] gcc_pure
++ [[nodiscard]] [[gnu::pure]]
+ NeighborInfo Export() const noexcept {
+ return { "smb://" + name + "/", comment };
+ }
+@@ -165,11 +167,11 @@ ReadServers(SmbclientContext &ctx, const char *uri,
+ ReadServers(ctx, handle, list);
+ ctx.CloseDirectory(handle);
+ } else
+- FormatErrno(smbclient_domain, "smbc_opendir('%s') failed",
+- uri);
++ FmtError(smbclient_domain, "smbc_opendir('{}') failed: {}",
++ uri, strerror(errno));
+ }
+
+-gcc_pure
++[[gnu::pure]]
+ static NeighborExplorer::List
+ DetectServers(SmbclientContext &ctx) noexcept
+ {
+@@ -178,7 +180,7 @@ DetectServers(SmbclientContext &ctx) noexcept
+ return list;
+ }
+
+-gcc_pure
++[[gnu::pure]]
+ static NeighborExplorer::List::iterator
+ FindBeforeServerByURI(NeighborExplorer::List::iterator prev,
+ NeighborExplorer::List::iterator end,
diff --git a/audio/musicpd/files/patch-src_protocol_ArgParser.cxx b/audio/musicpd/files/patch-src_protocol_ArgParser.cxx
new file mode 100644
index 000000000000..6944c08007ac
--- /dev/null
+++ b/audio/musicpd/files/patch-src_protocol_ArgParser.cxx
@@ -0,0 +1,10 @@
+--- src/protocol/ArgParser.cxx.orig 2021-10-14 13:25:21 UTC
++++ src/protocol/ArgParser.cxx
+@@ -24,6 +24,7 @@
+ #include "util/NumberParser.hxx"
+
+ #include <stdlib.h>
++#include <stdio.h>
+
+ static inline ProtocolError
+ MakeArgError(const char *msg, const char *value) noexcept
diff --git a/audio/musicpd/files/patch-src_storage_plugins_SmbclientStorage.cxx b/audio/musicpd/files/patch-src_storage_plugins_SmbclientStorage.cxx
new file mode 100644
index 000000000000..acb8680d62e1
--- /dev/null
+++ b/audio/musicpd/files/patch-src_storage_plugins_SmbclientStorage.cxx
@@ -0,0 +1,21 @@
+--- src/storage/plugins/SmbclientStorage.cxx.orig 2021-10-14 13:25:21 UTC
++++ src/storage/plugins/SmbclientStorage.cxx
+@@ -186,15 +186,15 @@ SmbclientDirectoryReader::GetInfo([[maybe_unused]] boo
+ static std::unique_ptr<Storage>
+ CreateSmbclientStorageURI([[maybe_unused]] EventLoop &event_loop, const char *base)
+ {
+- if (!StringStartsWithCaseASCII(base, "smb://"))
+- return nullptr;
+-
+ SmbclientInit();
+
+ return std::make_unique<SmbclientStorage>(base);
+ }
+
++static constexpr const char *smbclient_prefixes[] = { "smb://", nullptr };
++
+ const StoragePlugin smbclient_storage_plugin = {
+ "smbclient",
++ smbclient_prefixes,
+ CreateSmbclientStorageURI,
+ };