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.
This commit is contained in:
Thomas Zander 2025-04-13 19:51:38 +02:00
parent 39c1851ffb
commit dd3766b3fc
No known key found for this signature in database
GPG key ID: 856D8ED47C7EAFA5
11 changed files with 59 additions and 110 deletions

View file

@ -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

View file

@ -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

View file

@ -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:
#

View file

@ -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>
}

View file

@ -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"

View file

@ -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

View file

@ -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 {

View file

@ -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>

View file

@ -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>

View file

@ -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

View file

@ -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