git: 578df4db8f7e - main - audio/musicpd: Update to upstream release 0.23
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 18 Oct 2021 07:57:31 UTC
The branch main has been updated by riggs: URL: https://cgit.FreeBSD.org/ports/commit/?id=578df4db8f7e0ee96c0ba59cc6c3c760b6440111 commit 578df4db8f7e0ee96c0ba59cc6c3c760b6440111 Author: Thomas Zander <riggs@FreeBSD.org> AuthorDate: 2021-10-17 17:33:13 +0000 Commit: Thomas Zander <riggs@FreeBSD.org> CommitDate: 2021-10-18 07:57:29 +0000 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. --- audio/musicpd/Makefile | 20 ++++++--- audio/musicpd/distinfo | 6 +-- ...rc_neighbor_plugins_SmbclientNeighborPlugin.cxx | 50 ++++++++++++++++++++++ .../musicpd/files/patch-src_protocol_ArgParser.cxx | 10 +++++ .../patch-src_storage_plugins_SmbclientStorage.cxx | 21 +++++++++ 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, + };