git: dd3766b3fc07 - main - audio/musicpd: Update to 0.24.3
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 13 Apr 2025 19:38:37 UTC
The branch main has been updated by riggs:
URL: https://cgit.FreeBSD.org/ports/commit/?id=dd3766b3fc0794abca3182d2dcbf691329610b92
commit dd3766b3fc0794abca3182d2dcbf691329610b92
Author: Thomas Zander <riggs@FreeBSD.org>
AuthorDate: 2025-04-13 17:51:38 +0000
Commit: Thomas Zander <riggs@FreeBSD.org>
CommitDate: 2025-04-13 19:38:35 +0000
audio/musicpd: Update to 0.24.3
This is a major upgrade to the 0.24.x branch of MPD. For most users it
is expected to just work[tm], but a lot has changed behind the scenes.
Details:
- See changelog since 0.23.17, see
https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.24.3/NEWS
- The SOUNDCLOUD and YAJL OPTIONs have been retired upstream and in the
port.
---
audio/musicpd/Makefile | 26 +++++++--------
audio/musicpd/distinfo | 6 ++--
audio/musicpd/files/patch-doc_mpdconf.example | 37 ++++++++++++----------
.../files/patch-src_decoder_plugins_FfmpegIo.cxx | 12 -------
...h-src_input_plugins_CdioParanoiaInputPlugin.cxx | 11 +++++++
audio/musicpd/files/patch-src_lib_nfs_Error.cxx | 20 ------------
.../musicpd/files/patch-src_lib_yajl_Callbacks.hxx | 11 -------
audio/musicpd/files/patch-src_lib_yajl_Gen.hxx | 11 -------
audio/musicpd/files/patch-src_lib_yajl_Handle.hxx | 11 -------
audio/musicpd/files/patch-src_net_DscpParser.cxx | 14 ++++++++
.../musicpd/files/patch-src_protocol_ArgParser.cxx | 10 ------
11 files changed, 59 insertions(+), 110 deletions(-)
diff --git a/audio/musicpd/Makefile b/audio/musicpd/Makefile
index 9cdfdcd3d580..9d8fc52b190a 100644
--- a/audio/musicpd/Makefile
+++ b/audio/musicpd/Makefile
@@ -1,6 +1,5 @@
PORTNAME= musicpd
-PORTVERSION= 0.23.17
-PORTREVISION= 3
+PORTVERSION= 0.24.3
CATEGORIES= audio
MASTER_SITES= https://www.musicpd.org/download/mpd/${PORTVERSION:R}/
DISTNAME= mpd-${PORTVERSION}
@@ -12,21 +11,22 @@ WWW= https://www.musicpd.org/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
-LIB_DEPENDS= libboost_iostreams.so:devel/boost-libs \
- libfmt.so:devel/libfmt \
+LIB_DEPENDS= libfmt.so:devel/libfmt \
libicudata.so:devel/icu
-USES= compiler:c++17-lang localbase:ldflags meson pkgconfig \
+USES= compiler:c++20-lang localbase:ldflags meson pkgconfig \
python:build tar:xz
USE_RC_SUBR= ${PORTNAME}
MESON_ARGS= --auto-features=disabled \
-Dbzip2=enabled \
+ -Dchromaprint=disabled \
-Dhttpd=true \
-Dicu=enabled \
-Dmpcdec=disabled \
-Doss=enabled \
-Dpipe=true \
+ -Dshine=disabled \
-Dsyslog=enabled \
-Dzlib=enabled
@@ -55,7 +55,7 @@ OPTIONS_MULTI_FILE_FORMAT= \
OPTIONS_GROUP= ACCESS PLAYBACK
OPTIONS_GROUP_ACCESS= CDPARANOIA CURL LAME NFS PLAYLISTS QOBUZ \
- SMB SOUNDCLOUD UPNP YAJL
+ SMB UPNP
OPTIONS_GROUP_PLAYBACK= AO JACK OPENAL OPENMPT PIPEWIRE PULSEAUDIO \
SHOUTCAST SNDIO
@@ -71,11 +71,9 @@ PLAYLISTS_DESC= Enable extra playlist support (wma, RSS)
QOBUZ_DESC= Streaming service support: Qobuz
SIDPLAY_DESC= Sidplay support (C64 mono and stereo files)
SMB_DESC= SMB network support (currently strongly discouraged)
-SOUNDCLOUD_DESC=Streaming service support: SoundCloud
TWOLAME_DESC= TwoLAME support (mp2)
VORBISENC_DESC= Ogg Vorbis encoder
WILDMIDI_DESC= WildMIDI support (MIDI files)
-YAJL_DESC= JSON support via libyajl
ZZIP_DESC= Support for zzip archives
OPTIONS_DEFAULT=CURL FFMPEG FLAC ID3TAG LAME MANPAGES OPUS \
@@ -83,7 +81,8 @@ OPTIONS_DEFAULT=CURL FFMPEG FLAC ID3TAG LAME MANPAGES OPUS \
WAVPACK
MANPAGES_MESON_ENABLED= documentation
-MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/bin/sphinx-build:textproc/py-sphinx@${PY_FLAVOR}
+MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/bin/sphinx-build:textproc/py-sphinx@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>=0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR}
# Decoder plugins
ADPLUG_MESON_ENABLED= adplug
@@ -193,11 +192,10 @@ ID3TAG_LIB_DEPENDS= libid3tag.so:audio/libid3tag
IPV6_MESON_ENABLED= ipv6
# Commercial service support
-QOBUZ_MESON_ENABLED= qobuz
+QOBUZ_MESON_ON= -Dqobuz=enabled -Dnlohmann_json=enabled
QOBUZ_LIB_DEPENDS= libgcrypt.so:security/libgcrypt
-QOBUZ_IMPLIES= CURL YAJL
-SOUNDCLOUD_MESON_ENABLED= soundcloud
-SOUNDCLOUD_IMPLIES= CURL YAJL
+QOBUZ_BUILD_DEPENDS= ${LOCALBASE}/include/nlohmann/json.hpp:devel/nlohmann-json
+QOBUZ_IMPLIES= CURL
# Misc library support
AVAHI_MESON_ON= -Dzeroconf=avahi
@@ -206,8 +204,6 @@ 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
MPDUSER?= mpd
MPDGROUP?= mpd
diff --git a/audio/musicpd/distinfo b/audio/musicpd/distinfo
index 92b91de6afd7..60939364c663 100644
--- a/audio/musicpd/distinfo
+++ b/audio/musicpd/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1738356364
-SHA256 (mpd-0.23.17.tar.xz) = a86f4fe811695743b08db82a9f1a840b8918bb4f46b06f48aa1d8d1b5386dff2
-SIZE (mpd-0.23.17.tar.xz) = 779344
+TIMESTAMP = 1744525479
+SHA256 (mpd-0.24.3.tar.xz) = 4225680e068b2ad87e3c2de414ec3209758de93d671f89fa3bae90b70af478a2
+SIZE (mpd-0.24.3.tar.xz) = 1014788
diff --git a/audio/musicpd/files/patch-doc_mpdconf.example b/audio/musicpd/files/patch-doc_mpdconf.example
index 48eb896465cd..b1a8089a580d 100644
--- a/audio/musicpd/files/patch-doc_mpdconf.example
+++ b/audio/musicpd/files/patch-doc_mpdconf.example
@@ -1,64 +1,67 @@
---- doc/mpdconf.example.orig 2023-05-22 17:46:38 UTC
+--- doc/mpdconf.example.orig 2025-03-11 10:05:29 UTC
+++ doc/mpdconf.example
-@@ -10,14 +10,14 @@
- # be disabled and audio files will only be accepted over ipc socket (using
+@@ -11,7 +11,7 @@
# file:// protocol) or streaming files over an accepted protocol.
#
+ #music_directory "$XDG_MUSIC_DIR"
-#music_directory "~/music"
+music_directory "/var/mpd/music"
#
# 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
+@@ -19,7 +19,7 @@
# format. This setting defaults to playlist saving being disabled.
#
+ #playlist_directory "$XDG_CONFIG_HOME/mpd/playlists"
-#playlist_directory "~/.mpd/playlists"
+playlist_directory "/var/mpd/.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
+@@ -28,7 +28,7 @@
# files over an accepted protocol.
#
+ #db_file "$XDG_CACHE_HOME/mpd/database"
-#db_file "~/.mpd/database"
+db_file "/var/mpd/.mpd/database"
# 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
+@@ -39,7 +39,7 @@
# defaults to the systemd journal, which is fine.
#
+ #log_file "$XDG_CACHE_HOME/mpd/log"
-#log_file "~/.mpd/log"
+log_file "/var/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 @@
- #
+@@ -48,7 +48,7 @@
# If you use systemd, do not configure a pid_file.
#
+ #pid_file "$XDG_RUNTIME_DIR/mpd/mpd.pid"
-#pid_file "~/.mpd/pid"
+pid_file "/var/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
+@@ -56,13 +56,13 @@
# state will be reset on server start up.
#
+ #state_file "$XDG_RUNTIME_DIR/mpd/state"
-#state_file "~/.mpd/state"
+state_file "/var/mpd/.mpd/state"
#
# The location of the sticker database. This is a database which
# manages dynamic information attached to songs.
#
+ #sticker_file "$XDG_CACHE_HOME/sticker.sql"
-#sticker_file "~/.mpd/sticker.sql"
+sticker_file "/var/mpd/.mpd/sticker.sql"
#
###############################################################################
-@@ -67,7 +67,7 @@
+@@ -74,7 +74,7 @@
# initialization. This setting is disabled by default and MPD is run as the
# current user.
#
@@ -67,16 +70,16 @@
#
# 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).
-@@ -85,7 +85,7 @@
- #bind_to_address "any"
+@@ -93,7 +93,7 @@
#
# And for Unix Socket
+ #bind_to_address "$XDG_RUNTIME_DIR/mpd/socket"
-#bind_to_address "~/.mpd/socket"
-+#bind_to_address "/var/mpd/.mpd/socket"
++bind_to_address "/var/mpd/.mpd/socket"
#
# This setting is the TCP port that is desired for the daemon to get assigned
# to.
-@@ -181,8 +181,8 @@
+@@ -189,8 +189,8 @@
#
#database {
# plugin "simple"
@@ -87,7 +90,7 @@
#}
#
# An example of database config for a satellite setup
-@@ -227,14 +227,14 @@ input {
+@@ -235,14 +235,14 @@ input {
#
# An example of an OSS output:
#
diff --git a/audio/musicpd/files/patch-src_decoder_plugins_FfmpegIo.cxx b/audio/musicpd/files/patch-src_decoder_plugins_FfmpegIo.cxx
deleted file mode 100644
index a4217e44ce77..000000000000
--- a/audio/musicpd/files/patch-src_decoder_plugins_FfmpegIo.cxx
+++ /dev/null
@@ -1,12 +0,0 @@
-https://github.com/MusicPlayerDaemon/MPD/issues/1898
-
---- src/decoder/plugins/FfmpegIo.cxx.orig 2023-10-08 08:11:05 UTC
-+++ src/decoder/plugins/FfmpegIo.cxx
-@@ -25,6 +25,7 @@ extern "C" {
- #include "input/InputStream.hxx"
-
- extern "C" {
-+#include <libavutil/error.h>
- #include <libavutil/mem.h>
- }
-
diff --git a/audio/musicpd/files/patch-src_input_plugins_CdioParanoiaInputPlugin.cxx b/audio/musicpd/files/patch-src_input_plugins_CdioParanoiaInputPlugin.cxx
new file mode 100644
index 000000000000..3c33c16f1ffc
--- /dev/null
+++ b/audio/musicpd/files/patch-src_input_plugins_CdioParanoiaInputPlugin.cxx
@@ -0,0 +1,11 @@
+--- src/input/plugins/CdioParanoiaInputPlugin.cxx.orig 2025-03-16 11:40:07 UTC
++++ src/input/plugins/CdioParanoiaInputPlugin.cxx
+@@ -5,6 +5,8 @@
+ * CD-Audio handling (requires libcdio_paranoia)
+ */
+
++#include <cstddef>
++
+ #include "CdioParanoiaInputPlugin.hxx"
+ #include "lib/cdio/Paranoia.hxx"
+ #include "lib/fmt/RuntimeError.hxx"
diff --git a/audio/musicpd/files/patch-src_lib_nfs_Error.cxx b/audio/musicpd/files/patch-src_lib_nfs_Error.cxx
deleted file mode 100644
index e93ed7f839c1..000000000000
--- a/audio/musicpd/files/patch-src_lib_nfs_Error.cxx
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/lib/nfs/Error.cxx.orig 2020-09-23 13:26:51 UTC
-+++ src/lib/nfs/Error.cxx
-@@ -33,13 +33,13 @@
- #include "Error.hxx"
- #include "util/StringFormat.hxx"
-
-+#include <cassert>
-+#include <string.h>
-+#include <sys/time.h>
-+
- extern "C" {
- #include <nfsc/libnfs.h>
- }
--
--#include <cassert>
--
--#include <string.h>
-
- static StringBuffer<256>
- FormatNfsClientError(struct nfs_context *nfs, const char *msg) noexcept
diff --git a/audio/musicpd/files/patch-src_lib_yajl_Callbacks.hxx b/audio/musicpd/files/patch-src_lib_yajl_Callbacks.hxx
deleted file mode 100644
index a6b6fa9381ba..000000000000
--- a/audio/musicpd/files/patch-src_lib_yajl_Callbacks.hxx
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/lib/yajl/Callbacks.hxx.orig 2025-01-29 16:11:53 UTC
-+++ src/lib/yajl/Callbacks.hxx
-@@ -32,7 +32,7 @@
- #include "util/Cast.hxx"
- #include "util/StringView.hxx"
-
--#include <yajl_parse.h>
-+#include <yajl/yajl_parse.h>
-
- namespace Yajl {
-
diff --git a/audio/musicpd/files/patch-src_lib_yajl_Gen.hxx b/audio/musicpd/files/patch-src_lib_yajl_Gen.hxx
deleted file mode 100644
index 05e45ddfec43..000000000000
--- a/audio/musicpd/files/patch-src_lib_yajl_Gen.hxx
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/lib/yajl/Gen.hxx.orig 2025-01-29 16:11:53 UTC
-+++ src/lib/yajl/Gen.hxx
-@@ -31,7 +31,7 @@
-
- #include "util/ConstBuffer.hxx"
-
--#include <yajl_gen.h>
-+#include <yajl/yajl_gen.h>
-
- #include <algorithm>
- #include <string_view>
diff --git a/audio/musicpd/files/patch-src_lib_yajl_Handle.hxx b/audio/musicpd/files/patch-src_lib_yajl_Handle.hxx
deleted file mode 100644
index cc90959b4b9f..000000000000
--- a/audio/musicpd/files/patch-src_lib_yajl_Handle.hxx
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/lib/yajl/Handle.hxx.orig 2025-01-29 16:11:53 UTC
-+++ src/lib/yajl/Handle.hxx
-@@ -29,7 +29,7 @@
-
- #pragma once
-
--#include <yajl_parse.h>
-+#include <yajl/yajl_parse.h>
-
- #include <utility>
-
diff --git a/audio/musicpd/files/patch-src_net_DscpParser.cxx b/audio/musicpd/files/patch-src_net_DscpParser.cxx
new file mode 100644
index 000000000000..eb8d51688676
--- /dev/null
+++ b/audio/musicpd/files/patch-src_net_DscpParser.cxx
@@ -0,0 +1,14 @@
+--- src/net/DscpParser.cxx.orig 2025-03-11 10:05:29 UTC
++++ src/net/DscpParser.cxx
+@@ -9,7 +9,10 @@
+ #ifdef _WIN32
+ #include <ws2tcpip.h>
+ #else
+-#include <netinet/ip.h>
++#include <sys/types.h>
++#include <sys/socket.h>
++#include <netinet/in.h>
++#include <arpa/inet.h>
+ #endif
+
+ #ifndef IPTOS_DSCP_AF11
diff --git a/audio/musicpd/files/patch-src_protocol_ArgParser.cxx b/audio/musicpd/files/patch-src_protocol_ArgParser.cxx
deleted file mode 100644
index 6944c08007ac..000000000000
--- a/audio/musicpd/files/patch-src_protocol_ArgParser.cxx
+++ /dev/null
@@ -1,10 +0,0 @@
---- 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