- Added mpd-icu76.patch (fixed build with icu 76.1).
OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/mpd?expand=0&rev=121
This commit is contained in:
commit
dd2a68c78d
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
41
README.mpd
Normal file
41
README.mpd
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
mpd config file /etc/mpd.cond should be customised, at least a path to
|
||||||
|
music directories (music_directory).
|
||||||
|
|
||||||
|
To use alsa sound output instead of pulse, activate the corresponding
|
||||||
|
part of mpd.conf and put comment on pulse part.
|
||||||
|
|
||||||
|
For security reasons, MPD runs as restricted user mpd, group
|
||||||
|
audio. Please consider that music_directory and all directories in the
|
||||||
|
path to it should be readable and executable either for user mpd or
|
||||||
|
group audio. IF you ask youself what should "executable" means to
|
||||||
|
a directory, it is a right to change into it. So a directory could
|
||||||
|
either belong to mpd user or belong to the audio group or be readable
|
||||||
|
for all (others). Directories and files beneath it should be accessable
|
||||||
|
the same way. Some examples for right permissions:
|
||||||
|
|
||||||
|
ls -l -d /mnt/mp3
|
||||||
|
|
||||||
|
readable by everyone
|
||||||
|
drwxr-xr-x 226 user users 16384 Mar 24 23:36 /mnt/mp3
|
||||||
|
|
||||||
|
readable by audio group
|
||||||
|
drwxr-x--- 226 user audio 16384 Mar 24 23:36 /mnt/mp3
|
||||||
|
|
||||||
|
readable by mpd user
|
||||||
|
drwx------ 226 mpd audio 16384 Mar 24 23:36 /mnt/mp3
|
||||||
|
|
||||||
|
If you would like to set up some independent directories, declare one
|
||||||
|
of it as music_directory and link others in it. Permissions for other
|
||||||
|
directories are to be set accordingly.
|
||||||
|
|
||||||
|
MPD will be bounded to the local address (localhost): If you would
|
||||||
|
like to control it over network , then change bind_to_address to the
|
||||||
|
network address. You can set password and the list of activities to
|
||||||
|
restrict control of MPD over network.
|
||||||
|
|
||||||
|
To start MPD at boot time, call as root:
|
||||||
|
|
||||||
|
systemctl enable mpd
|
||||||
|
|
||||||
|
If filenames or directory names don't display correctly, set the
|
||||||
|
character set (encoding) for the filesystem in mpd.conf.
|
3
mpd-0.23.15.tar.xz
Normal file
3
mpd-0.23.15.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:550132239ad1acf82ccf8905b56cc13dc2c81a4489b96fba7731b3049907661a
|
||||||
|
size 778384
|
BIN
mpd-0.23.15.tar.xz.sig
Normal file
BIN
mpd-0.23.15.tar.xz.sig
Normal file
Binary file not shown.
202
mpd-conf.patch
Normal file
202
mpd-conf.patch
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
Index: mpd-0.23.9/doc/mpdconf.example
|
||||||
|
===================================================================
|
||||||
|
--- mpd-0.23.9.orig/doc/mpdconf.example
|
||||||
|
+++ mpd-0.23.9/doc/mpdconf.example
|
||||||
|
@@ -17,7 +17,7 @@
|
||||||
|
# playlist files not created by the server but only if they are in the MPD
|
||||||
|
# format. This setting defaults to playlist saving being disabled.
|
||||||
|
#
|
||||||
|
-#playlist_directory "~/.mpd/playlists"
|
||||||
|
+#playlist_directory "/var/lib/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
|
||||||
|
# files over an accepted protocol.
|
||||||
|
#
|
||||||
|
-#db_file "~/.mpd/database"
|
||||||
|
+#db_file "/var/lib/mpd/mpd.db"
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# defaults to the systemd journal, which is fine.
|
||||||
|
#
|
||||||
|
-#log_file "~/.mpd/log"
|
||||||
|
+#log_file "/var/log/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 @@
|
||||||
|
#
|
||||||
|
# If you use systemd, do not configure a pid_file.
|
||||||
|
#
|
||||||
|
-#pid_file "~/.mpd/pid"
|
||||||
|
+#pid_file "/run/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
|
||||||
|
# state will be reset on server start up.
|
||||||
|
#
|
||||||
|
-#state_file "~/.mpd/state"
|
||||||
|
+#state_file "/var/lib/mpd/mpdstate"
|
||||||
|
#
|
||||||
|
# The location of the sticker database. This is a database which
|
||||||
|
# manages dynamic information attached to songs.
|
||||||
|
#
|
||||||
|
-#sticker_file "~/.mpd/sticker.sql"
|
||||||
|
+#sticker_file "/var/lib/mpd/sticker.sql"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
@@ -67,14 +67,14 @@
|
||||||
|
# initialization. This setting is disabled by default and MPD is run as the
|
||||||
|
# current user.
|
||||||
|
#
|
||||||
|
-#user "nobody"
|
||||||
|
+#user "mpd"
|
||||||
|
#
|
||||||
|
# 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).
|
||||||
|
# This is useful if MPD needs to be a member of group such as "audio" to
|
||||||
|
# have permission to use sound card.
|
||||||
|
#
|
||||||
|
-#group "nogroup"
|
||||||
|
+#group "audio"
|
||||||
|
#
|
||||||
|
# This setting sets the address for the daemon to listen on. Careful attention
|
||||||
|
# should be paid if this is assigned to anything other than the default, any.
|
||||||
|
@@ -85,7 +85,7 @@
|
||||||
|
#bind_to_address "any"
|
||||||
|
#
|
||||||
|
# And for Unix Socket
|
||||||
|
-#bind_to_address "~/.mpd/socket"
|
||||||
|
+#bind_to_address "/run/mpd/socket"
|
||||||
|
#
|
||||||
|
# This setting is the TCP port that is desired for the daemon to get assigned
|
||||||
|
# to.
|
||||||
|
@@ -96,7 +96,7 @@
|
||||||
|
# troubleshooting. Available setting arguments are "notice", "info", "verbose",
|
||||||
|
# "warning" and "error".
|
||||||
|
#
|
||||||
|
-#log_level "notice"
|
||||||
|
+log_level "warning"
|
||||||
|
#
|
||||||
|
# Setting "restore_paused" to "yes" puts MPD into pause mode instead
|
||||||
|
# of starting playback after startup.
|
||||||
|
@@ -120,7 +120,7 @@
|
||||||
|
# This setting enables automatic update of MPD's database when files in
|
||||||
|
# music_directory are changed.
|
||||||
|
#
|
||||||
|
-#auto_update "yes"
|
||||||
|
+auto_update "no"
|
||||||
|
#
|
||||||
|
# Limit the depth of the directories being watched, 0 means only watch
|
||||||
|
# the music directory itself. There is no limit by default.
|
||||||
|
@@ -150,7 +150,7 @@
|
||||||
|
# If this setting is set to "yes", service information will be published with
|
||||||
|
# Zeroconf / Avahi.
|
||||||
|
#
|
||||||
|
-#zeroconf_enabled "yes"
|
||||||
|
+zeroconf_enabled "no"
|
||||||
|
#
|
||||||
|
# The argument to this setting will be the Zeroconf / Avahi unique name for
|
||||||
|
# this MPD server on the network. %h will be replaced with the hostname.
|
||||||
|
@@ -217,8 +217,9 @@ input {
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "alsa"
|
||||||
|
-# name "My ALSA Device"
|
||||||
|
-## device "hw:0,0" # optional
|
||||||
|
+# name "ALSA Device"
|
||||||
|
+## device "plug:plugequal" # optional
|
||||||
|
+## mixer_control "Master" # optional
|
||||||
|
## mixer_type "hardware" # optional
|
||||||
|
## mixer_device "default" # optional
|
||||||
|
## mixer_control "PCM" # optional
|
||||||
|
@@ -241,14 +242,14 @@ input {
|
||||||
|
#audio_output {
|
||||||
|
# type "shout"
|
||||||
|
# encoder "vorbis" # optional
|
||||||
|
-# name "My Shout Stream"
|
||||||
|
+# name "Shout Stream"
|
||||||
|
# host "localhost"
|
||||||
|
# port "8000"
|
||||||
|
# mount "/mpd.ogg"
|
||||||
|
# password "hackme"
|
||||||
|
-# quality "5.0"
|
||||||
|
-# bitrate "128"
|
||||||
|
-# format "44100:16:1"
|
||||||
|
+# quality "6.0"
|
||||||
|
+# bitrate "192"
|
||||||
|
+# format "48000:16:2"
|
||||||
|
## protocol "icecast2" # optional
|
||||||
|
## user "source" # optional
|
||||||
|
## description "My Stream Description" # optional
|
||||||
|
@@ -266,34 +267,34 @@ input {
|
||||||
|
# name "My recorder"
|
||||||
|
# encoder "vorbis" # optional, vorbis or lame
|
||||||
|
# path "/var/lib/mpd/recorder/mpd.ogg"
|
||||||
|
-## quality "5.0" # do not define if bitrate is defined
|
||||||
|
-# bitrate "128" # do not define if quality is defined
|
||||||
|
-# format "44100:16:1"
|
||||||
|
+## quality "6.0" # do not define if bitrate is defined
|
||||||
|
+# bitrate "192" # do not define if quality is defined
|
||||||
|
+# format "48000:16:2"
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of a httpd output (built-in HTTP streaming server):
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "httpd"
|
||||||
|
-# name "My HTTP Stream"
|
||||||
|
-# encoder "vorbis" # optional, vorbis or lame
|
||||||
|
+# name "HTTP Stream"
|
||||||
|
+# encoder "vorbis" # optional, vorbis or lame
|
||||||
|
# port "8000"
|
||||||
|
# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
|
||||||
|
-## quality "5.0" # do not define if bitrate is defined
|
||||||
|
-# bitrate "128" # do not define if quality is defined
|
||||||
|
-# format "44100:16:1"
|
||||||
|
+## quality "6.0" # do not define if bitrate is defined
|
||||||
|
+# bitrate "192" # do not define if quality is defined
|
||||||
|
+# format "48000:16:2"
|
||||||
|
# max_clients "0" # optional 0=no limit
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of a pulseaudio output (streaming to a remote pulseaudio server)
|
||||||
|
#
|
||||||
|
-#audio_output {
|
||||||
|
-# type "pulse"
|
||||||
|
-# name "My Pulse Output"
|
||||||
|
+audio_output {
|
||||||
|
+ type "pulse"
|
||||||
|
+ name "Pulse Output"
|
||||||
|
## server "remote_server" # optional
|
||||||
|
## sink "remote_server_sink" # optional
|
||||||
|
## media_role "media_role" #optional
|
||||||
|
-#}
|
||||||
|
+}
|
||||||
|
#
|
||||||
|
# An example of a winmm output (Windows multimedia API).
|
||||||
|
#
|
||||||
|
@@ -355,7 +356,7 @@ input {
|
||||||
|
# command "AudioCompress -m | aplay -f cd 2>/dev/null"
|
||||||
|
## Or to send raw PCM stream through PCM:
|
||||||
|
# command "nc example.org 8765"
|
||||||
|
-# format "44100:16:2"
|
||||||
|
+# format "48000:16:2"
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
## An example of a null output (for no audio output):
|
||||||
|
@@ -413,6 +414,6 @@ input {
|
||||||
|
# If file or directory names do not display correctly for your locale then you
|
||||||
|
# may need to modify this setting.
|
||||||
|
#
|
||||||
|
-#filesystem_charset "UTF-8"
|
||||||
|
+filesystem_charset "UTF-8"
|
||||||
|
#
|
||||||
|
###############################################################################
|
79
mpd-fmt11.patch
Normal file
79
mpd-fmt11.patch
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
From 1402869715e3efca87942d79c3173a6b21a6925d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rudi Heitbaum <rudi@heitbaum.com>
|
||||||
|
Date: Fri, 5 Jul 2024 14:27:45 +0000
|
||||||
|
Subject: [PATCH] lib/fmt: support build with libfmt-11.0.0
|
||||||
|
|
||||||
|
Upstream libfmt commit fmtlib/fmt@d707292
|
||||||
|
now requires the format function to be const.
|
||||||
|
|
||||||
|
Adjust the function prototype so it is const and can compile.
|
||||||
|
|
||||||
|
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
|
||||||
|
---
|
||||||
|
src/lib/ffmpeg/LibFmt.hxx | 2 +-
|
||||||
|
src/lib/fmt/AudioFormatFormatter.hxx | 4 ++--
|
||||||
|
src/lib/fmt/ExceptionFormatter.hxx | 2 +-
|
||||||
|
src/lib/fmt/PathFormatter.hxx | 2 +-
|
||||||
|
4 files changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/lib/ffmpeg/LibFmt.hxx b/src/lib/ffmpeg/LibFmt.hxx
|
||||||
|
index aa068711f3..dee83ed2d5 100644
|
||||||
|
--- a/src/lib/ffmpeg/LibFmt.hxx
|
||||||
|
+++ b/src/lib/ffmpeg/LibFmt.hxx
|
||||||
|
@@ -13,7 +13,7 @@ template<>
|
||||||
|
struct fmt::formatter<AVSampleFormat> : formatter<string_view>
|
||||||
|
{
|
||||||
|
template<typename FormatContext>
|
||||||
|
- auto format(const AVSampleFormat format, FormatContext &ctx) {
|
||||||
|
+ auto format(const AVSampleFormat format, FormatContext &ctx) const {
|
||||||
|
const char *name = av_get_sample_fmt_name(format);
|
||||||
|
if (name == nullptr)
|
||||||
|
name = "?";
|
||||||
|
diff --git a/src/lib/fmt/AudioFormatFormatter.hxx b/src/lib/fmt/AudioFormatFormatter.hxx
|
||||||
|
index e0ffb62160..8da98efd41 100644
|
||||||
|
--- a/src/lib/fmt/AudioFormatFormatter.hxx
|
||||||
|
+++ b/src/lib/fmt/AudioFormatFormatter.hxx
|
||||||
|
@@ -13,7 +13,7 @@ template<>
|
||||||
|
struct fmt::formatter<SampleFormat> : formatter<string_view>
|
||||||
|
{
|
||||||
|
template<typename FormatContext>
|
||||||
|
- auto format(const SampleFormat format, FormatContext &ctx) {
|
||||||
|
+ auto format(const SampleFormat format, FormatContext &ctx) const {
|
||||||
|
return formatter<string_view>::format(sample_format_to_string(format),
|
||||||
|
ctx);
|
||||||
|
}
|
||||||
|
@@ -23,7 +23,7 @@ template<>
|
||||||
|
struct fmt::formatter<AudioFormat> : formatter<string_view>
|
||||||
|
{
|
||||||
|
template<typename FormatContext>
|
||||||
|
- auto format(const AudioFormat &af, FormatContext &ctx) {
|
||||||
|
+ auto format(const AudioFormat &af, FormatContext &ctx) const {
|
||||||
|
return formatter<string_view>::format(ToString(af).c_str(),
|
||||||
|
ctx);
|
||||||
|
}
|
||||||
|
diff --git a/src/lib/fmt/ExceptionFormatter.hxx b/src/lib/fmt/ExceptionFormatter.hxx
|
||||||
|
index 3f342df672..f08b3bb228 100644
|
||||||
|
--- a/src/lib/fmt/ExceptionFormatter.hxx
|
||||||
|
+++ b/src/lib/fmt/ExceptionFormatter.hxx
|
||||||
|
@@ -12,7 +12,7 @@ template<>
|
||||||
|
struct fmt::formatter<std::exception_ptr> : formatter<string_view>
|
||||||
|
{
|
||||||
|
template<typename FormatContext>
|
||||||
|
- auto format(std::exception_ptr e, FormatContext &ctx) {
|
||||||
|
+ auto format(std::exception_ptr e, FormatContext &ctx) const {
|
||||||
|
return formatter<string_view>::format(GetFullMessage(e), ctx);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
diff --git a/src/lib/fmt/PathFormatter.hxx b/src/lib/fmt/PathFormatter.hxx
|
||||||
|
index e5ae89dec5..add06df81b 100644
|
||||||
|
--- a/src/lib/fmt/PathFormatter.hxx
|
||||||
|
+++ b/src/lib/fmt/PathFormatter.hxx
|
||||||
|
@@ -13,7 +13,7 @@ template<std::convertible_to<Path> T>
|
||||||
|
struct fmt::formatter<Path> : formatter<string_view>
|
||||||
|
{
|
||||||
|
template<typename FormatContext>
|
||||||
|
- auto format(Path path, FormatContext &ctx) {
|
||||||
|
+ auto format(Path path, FormatContext &ctx) const {
|
||||||
|
return formatter<string_view>::format(path.ToUTF8(), ctx);
|
||||||
|
}
|
||||||
|
};
|
11
mpd-icu76.patch
Normal file
11
mpd-icu76.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
diff -Pdpru mpd-0.23.15.orig/meson.build mpd-0.23.15/meson.build
|
||||||
|
--- mpd-0.23.15.orig/meson.build 2023-12-20 18:21:57.000000000 +0300
|
||||||
|
+++ mpd-0.23.15/meson.build 2024-11-23 00:40:07.712091468 +0300
|
||||||
|
@@ -135,6 +135,7 @@ if get_option('buildtype') != 'debug'
|
||||||
|
]
|
||||||
|
test_ldflags += [
|
||||||
|
'-Wl,--gc-sections',
|
||||||
|
+ '-licuuc',
|
||||||
|
]
|
||||||
|
endif
|
||||||
|
|
20
mpd-sndfile.patch
Normal file
20
mpd-sndfile.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
From: Luigi Baldoni <aloisio@gmx.com>
|
||||||
|
Date: 2018-11-09 21:10:34 +0100
|
||||||
|
Subject: avoid clash wrt sndfile.h
|
||||||
|
|
||||||
|
sndfile.h is present both in /usr/include and /usr/include/libmodplug
|
||||||
|
This hack hardcodes the path of the first one.
|
||||||
|
|
||||||
|
Index: mpd-0.21.1/src/decoder/plugins/SndfileDecoderPlugin.cxx
|
||||||
|
===================================================================
|
||||||
|
--- mpd-0.21.1.orig/src/decoder/plugins/SndfileDecoderPlugin.cxx
|
||||||
|
+++ mpd-0.21.1/src/decoder/plugins/SndfileDecoderPlugin.cxx
|
||||||
|
@@ -29,7 +29,7 @@
|
||||||
|
|
||||||
|
#include <exception>
|
||||||
|
|
||||||
|
-#include <sndfile.h>
|
||||||
|
+#include "/usr/include/sndfile.h"
|
||||||
|
|
||||||
|
static constexpr Domain sndfile_domain("sndfile");
|
||||||
|
|
58
mpd-user.conf
Normal file
58
mpd-user.conf
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
music_directory "~/data/music"
|
||||||
|
playlist_directory "~/.mpd/playlists"
|
||||||
|
db_file "~/.mpd/database"
|
||||||
|
log_file "~/.mpd/log"
|
||||||
|
#pid_file "~/.mpd/pid"
|
||||||
|
state_file "~/.mpd/state"
|
||||||
|
sticker_file "~/.mpd/sticker.sql"
|
||||||
|
bind_to_address "127.0.0.1"
|
||||||
|
port "6600"
|
||||||
|
#bind_to_address "~/.mpd/socket"
|
||||||
|
#gapless_mp3_playback "yes"
|
||||||
|
save_absolute_paths_in_playlists "no"
|
||||||
|
metadata_to_use "artist,album,title,track,name,date"
|
||||||
|
auto_update "yes"
|
||||||
|
#auto_update_depth "3"
|
||||||
|
follow_outside_symlinks "yes"
|
||||||
|
follow_inside_symlinks "yes"
|
||||||
|
zeroconf_enabled "yes"
|
||||||
|
zeroconf_name "Music Player"
|
||||||
|
#password "password@read,add,control,admin"
|
||||||
|
#default_permissions "read,add,control,admin"
|
||||||
|
|
||||||
|
input {
|
||||||
|
plugin "curl"
|
||||||
|
}
|
||||||
|
|
||||||
|
audio_output {
|
||||||
|
type "pulse"
|
||||||
|
name "PulseAudio"
|
||||||
|
}
|
||||||
|
|
||||||
|
#audio_output {
|
||||||
|
# type "alsa"
|
||||||
|
# name "ALSA"
|
||||||
|
## device "plug:plugequal" # optional
|
||||||
|
## mixer_control "Master" # optional
|
||||||
|
#}
|
||||||
|
|
||||||
|
#audio_output {
|
||||||
|
# type "jack"
|
||||||
|
# name "mpd"
|
||||||
|
#}
|
||||||
|
|
||||||
|
audio_output_format "48000:16:2"
|
||||||
|
samplerate_converter "Fastest Sinc Interpolator"
|
||||||
|
|
||||||
|
#replaygain "album"
|
||||||
|
#replaygain_preamp "0"
|
||||||
|
#volume_normalization "no"
|
||||||
|
#audio_buffer_size "2048"
|
||||||
|
#buffer_before_play "10%"
|
||||||
|
#connection_timeout "60"
|
||||||
|
#max_connections "10"
|
||||||
|
#max_playlist_length "16384"
|
||||||
|
#max_command_list_size "2048"
|
||||||
|
#max_output_buffer_size "8192"
|
||||||
|
|
||||||
|
filesystem_charset "UTF-8"
|
2109
mpd.changes
Normal file
2109
mpd.changes
Normal file
File diff suppressed because it is too large
Load Diff
7
mpd.firewalld
Normal file
7
mpd.firewalld
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<service>
|
||||||
|
<short>Music Player Daemon</short>
|
||||||
|
<description>Opens ports for Music Player Daemon</description>
|
||||||
|
<port port="6600" protocol="tcp"/>
|
||||||
|
<port port="8000" protocol="tcp"/>
|
||||||
|
</service>
|
88
mpd.keyring
Normal file
88
mpd.keyring
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
=VXaj
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
273
mpd.spec
Normal file
273
mpd.spec
Normal file
@ -0,0 +1,273 @@
|
|||||||
|
#
|
||||||
|
# spec file for package mpd
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%define mver 0.23
|
||||||
|
%bcond_with faad
|
||||||
|
%bcond_without mpd_iso9660
|
||||||
|
Name: mpd
|
||||||
|
Version: 0.23.15
|
||||||
|
Release: 0
|
||||||
|
Summary: Music Player Daemon
|
||||||
|
License: GPL-2.0-or-later
|
||||||
|
URL: https://musicpd.org
|
||||||
|
Source0: https://musicpd.org/download/%{name}/%{mver}/%{name}-%{version}.tar.xz
|
||||||
|
Source1: https://musicpd.org/download/%{name}/%{mver}/%{name}-%{version}.tar.xz.sig
|
||||||
|
Source2: README.%{name}
|
||||||
|
Source3: %{name}-user.conf
|
||||||
|
Source4: %{name}.firewalld
|
||||||
|
Source5: %{name}.tmpfiles.d
|
||||||
|
Source9: %{name}.keyring
|
||||||
|
Patch0: %{name}-conf.patch
|
||||||
|
Patch1: %{name}-sndfile.patch
|
||||||
|
Patch2: %{name}-fmt11.patch
|
||||||
|
Patch3: %{name}-icu76.patch
|
||||||
|
BuildRequires: cmake
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: group(audio)
|
||||||
|
BuildRequires: hicolor-icon-theme
|
||||||
|
BuildRequires: libboost_headers-devel
|
||||||
|
BuildRequires: libcue-devel
|
||||||
|
# MPD_ENABLE_AUTO_LIB
|
||||||
|
BuildRequires: libgcrypt-devel
|
||||||
|
BuildRequires: libmikmod-devel
|
||||||
|
BuildRequires: libmp3lame-devel
|
||||||
|
BuildRequires: meson >= 0.56.0
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: python3-Sphinx
|
||||||
|
# MPD_ENABLE_AUTO_PKG
|
||||||
|
BuildRequires: pkgconfig(alsa)
|
||||||
|
BuildRequires: pkgconfig(ao)
|
||||||
|
BuildRequires: pkgconfig(audiofile)
|
||||||
|
BuildRequires: pkgconfig(avahi-client)
|
||||||
|
BuildRequires: pkgconfig(bzip2)
|
||||||
|
BuildRequires: pkgconfig(dbus-1)
|
||||||
|
BuildRequires: pkgconfig(expat)
|
||||||
|
BuildRequires: pkgconfig(flac)
|
||||||
|
BuildRequires: pkgconfig(fluidsynth)
|
||||||
|
BuildRequires: pkgconfig(fmt)
|
||||||
|
BuildRequires: pkgconfig(icu-i18n)
|
||||||
|
BuildRequires: pkgconfig(id3tag)
|
||||||
|
BuildRequires: pkgconfig(jack)
|
||||||
|
BuildRequires: pkgconfig(libavcodec)
|
||||||
|
BuildRequires: pkgconfig(libavformat)
|
||||||
|
BuildRequires: pkgconfig(libavutil)
|
||||||
|
BuildRequires: pkgconfig(libcdio) >= 2.0.0
|
||||||
|
BuildRequires: pkgconfig(libcdio_paranoia)
|
||||||
|
BuildRequires: pkgconfig(libcurl)
|
||||||
|
BuildRequires: pkgconfig(libgme)
|
||||||
|
BuildRequires: pkgconfig(libmms)
|
||||||
|
BuildRequires: pkgconfig(libmodplug)
|
||||||
|
BuildRequires: pkgconfig(libmpdclient)
|
||||||
|
BuildRequires: pkgconfig(libmpg123)
|
||||||
|
BuildRequires: pkgconfig(libnfs)
|
||||||
|
BuildRequires: pkgconfig(libopenmpt)
|
||||||
|
BuildRequires: pkgconfig(libpcre2-8)
|
||||||
|
BuildRequires: pkgconfig(libpipewire-0.3)
|
||||||
|
BuildRequires: pkgconfig(libpulse)
|
||||||
|
BuildRequires: pkgconfig(libsystemd)
|
||||||
|
BuildRequires: pkgconfig(libupnp)
|
||||||
|
BuildRequires: pkgconfig(liburing)
|
||||||
|
BuildRequires: pkgconfig(mad)
|
||||||
|
BuildRequires: pkgconfig(ogg)
|
||||||
|
BuildRequires: pkgconfig(openal)
|
||||||
|
BuildRequires: pkgconfig(opus)
|
||||||
|
BuildRequires: pkgconfig(samplerate)
|
||||||
|
BuildRequires: pkgconfig(shine)
|
||||||
|
BuildRequires: pkgconfig(shout)
|
||||||
|
BuildRequires: pkgconfig(smbclient)
|
||||||
|
BuildRequires: pkgconfig(sndfile)
|
||||||
|
BuildRequires: pkgconfig(soxr)
|
||||||
|
BuildRequires: pkgconfig(sqlite3)
|
||||||
|
BuildRequires: pkgconfig(twolame)
|
||||||
|
BuildRequires: pkgconfig(vorbis)
|
||||||
|
BuildRequires: pkgconfig(vorbisenc)
|
||||||
|
BuildRequires: pkgconfig(wavpack)
|
||||||
|
BuildRequires: pkgconfig(yajl)
|
||||||
|
BuildRequires: pkgconfig(zlib)
|
||||||
|
BuildRequires: pkgconfig(zziplib)
|
||||||
|
Requires(pre): %fillup_prereq
|
||||||
|
Requires(pre): group(audio)
|
||||||
|
Requires(pre): shadow
|
||||||
|
Provides: user(%{name})
|
||||||
|
%{?systemd_requires}
|
||||||
|
%if %{with faad}
|
||||||
|
BuildRequires: faad2-devel
|
||||||
|
%endif
|
||||||
|
%if %{with mpd_iso9660}
|
||||||
|
BuildRequires: pkgconfig(libiso9660)
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
A daemon for playing music (mp3, ogg vorbis, flac, and wav). Music is
|
||||||
|
played through the server's audio device. The daemon stores info
|
||||||
|
about all available music, and this info can be easily searched and
|
||||||
|
retrieved. Player control, info retrieval, and playlist management
|
||||||
|
can all be managed remotely. There a bunch of clients to control mpd:
|
||||||
|
for Gnome, KDE, console and Apache (PHP).
|
||||||
|
|
||||||
|
Please read README.mpd how to configure it.
|
||||||
|
|
||||||
|
%package doc
|
||||||
|
Summary: Additional Package Documentation
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description doc
|
||||||
|
This package contains optional documentation provided in addition to this package's base documentation.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%meson \
|
||||||
|
-Dsidplay=disabled \
|
||||||
|
-Dfaad=disabled \
|
||||||
|
-Diso9660=disabled \
|
||||||
|
-Dsyslog=enabled \
|
||||||
|
-Deventfd=true \
|
||||||
|
-Dsignalfd=true \
|
||||||
|
-Depoll=true \
|
||||||
|
-Ddatabase=true \
|
||||||
|
-Ddaemon=true \
|
||||||
|
-Ddocumentation=enabled \
|
||||||
|
-Dmanpages=true \
|
||||||
|
-Ddsd=true \
|
||||||
|
-Dfifo=true \
|
||||||
|
-Dhttpd=true \
|
||||||
|
-Dinotify=true \
|
||||||
|
-Dipv6=enabled \
|
||||||
|
-Dsoundcloud=disabled \
|
||||||
|
-Dmikmod=enabled \
|
||||||
|
-Dopenal=enabled \
|
||||||
|
-Doss=disabled \
|
||||||
|
-Dpipe=true \
|
||||||
|
-Drecorder=true \
|
||||||
|
-Dshout=enabled \
|
||||||
|
-Dsolaris_output=enabled \
|
||||||
|
-Dtcp=true \
|
||||||
|
-Dtest=false \
|
||||||
|
-Dlocal_socket=true \
|
||||||
|
-Dvorbis=enabled \
|
||||||
|
-Dwave_encoder=true \
|
||||||
|
-Dicu=enabled \
|
||||||
|
-Diconv=enabled \
|
||||||
|
-Dsystemd=enabled \
|
||||||
|
-Dlibmpdclient=enabled \
|
||||||
|
-Dexpat=enabled \
|
||||||
|
-Did3tag=enabled \
|
||||||
|
-Dchromaprint=disabled \
|
||||||
|
-Dsqlite=enabled \
|
||||||
|
-Dlibsamplerate=enabled \
|
||||||
|
-Dsoxr=enabled \
|
||||||
|
-Dcurl=enabled \
|
||||||
|
-Dsmbclient=enabled \
|
||||||
|
-Dnfs=enabled \
|
||||||
|
-Dcdio_paranoia=enabled \
|
||||||
|
-Dmms=enabled \
|
||||||
|
-Dwebdav=enabled \
|
||||||
|
-Dcue=true \
|
||||||
|
-Dneighbor=true \
|
||||||
|
%if %{with mpd_iso9660}
|
||||||
|
-Diso9660=enabled \
|
||||||
|
%endif
|
||||||
|
-Dzlib=enabled \
|
||||||
|
-Dbzip2=enabled \
|
||||||
|
-Dupnp=pupnp \
|
||||||
|
-Dzzip=enabled \
|
||||||
|
-Dadplug=disabled \
|
||||||
|
-Daudiofile=enabled \
|
||||||
|
%if %{with faad}
|
||||||
|
-Dfaad=enabled \
|
||||||
|
%endif
|
||||||
|
-Dffmpeg=enabled \
|
||||||
|
-Dflac=enabled \
|
||||||
|
-Dfluidsynth=enabled \
|
||||||
|
-Dgme=enabled \
|
||||||
|
-Dmad=enabled \
|
||||||
|
-Dmpg123=enabled \
|
||||||
|
-Dmodplug=enabled \
|
||||||
|
-Dopus=enabled \
|
||||||
|
-Dsndfile=enabled \
|
||||||
|
-Dmpcdec=disabled \
|
||||||
|
-Dwavpack=enabled \
|
||||||
|
-Dwildmidi=disabled \
|
||||||
|
-Dshine=enabled \
|
||||||
|
-Dvorbisenc=enabled \
|
||||||
|
-Dlame=enabled \
|
||||||
|
-Dtwolame=enabled \
|
||||||
|
-Dalsa=enabled \
|
||||||
|
-Dsndio=disabled \
|
||||||
|
-Djack=enabled \
|
||||||
|
-Dao=enabled \
|
||||||
|
-Dpulse=enabled \
|
||||||
|
-Dtremor=disabled \
|
||||||
|
-Dpcre=enabled \
|
||||||
|
-Dsystemd_system_unit_dir=%{_unitdir} \
|
||||||
|
-Dsystemd_user_unit_dir=%{_userunitdir}
|
||||||
|
%meson_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%meson_install
|
||||||
|
mv %{buildroot}%{_datadir}/doc/%{name}/html .
|
||||||
|
rm -r %{buildroot}%{_datadir}/doc/%{name}
|
||||||
|
install -pm0644 %{SOURCE2} %{SOURCE3} .
|
||||||
|
install -Dpm0644 %{SOURCE4} %{buildroot}%{_prefix}/lib/firewalld/services/%{name}.xml
|
||||||
|
install -Dpm0644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/%{name}.conf
|
||||||
|
install -Dpm0644 doc/mpdconf.example %{buildroot}%{_sysconfdir}/%{name}.conf
|
||||||
|
# Remove duplicate for mpd.socket and replace it with a symlink.
|
||||||
|
rm %{buildroot}%{_userunitdir}/%{name}.socket
|
||||||
|
ln -s ../system/%{name}.socket %{buildroot}%{_userunitdir}/%{name}.socket
|
||||||
|
mkdir %{buildroot}%{_sbindir}
|
||||||
|
mkdir -p %{buildroot}%{_localstatedir}/lib/%{name}/playlists
|
||||||
|
|
||||||
|
%pre
|
||||||
|
getent passwd %{name} >/dev/null || useradd -rc 'Music Player Daemon' -s /bin/false -d %{_localstatedir}/lib/%{name} -g audio %{name}
|
||||||
|
%service_add_pre %{name}.service %{name}.socket
|
||||||
|
|
||||||
|
%post
|
||||||
|
%service_add_post %{name}.service %{name}.socket
|
||||||
|
%tmpfiles_create %{_tmpfilesdir}/%{name}.conf
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%service_del_preun %{name}.service %{name}.socket
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%service_del_postun %{name}.service %{name}.socket
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license COPYING
|
||||||
|
%doc AUTHORS NEWS README.md README.%{name} %{name}-user.conf doc/mpdconf.example
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}.conf
|
||||||
|
%{_bindir}/%{name}
|
||||||
|
%attr(0755,mpd,audio) %{_localstatedir}/lib/%{name}
|
||||||
|
%{_mandir}/man1/%{name}.1%{?ext_man}
|
||||||
|
%{_mandir}/man5/%{name}.conf.5%{?ext_man}
|
||||||
|
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
|
||||||
|
%{_unitdir}/%{name}.service
|
||||||
|
%{_unitdir}/%{name}.socket
|
||||||
|
%{_userunitdir}/%{name}.socket
|
||||||
|
%{_userunitdir}/%{name}.service
|
||||||
|
%dir %{_prefix}/lib/firewalld
|
||||||
|
%dir %{_prefix}/lib/firewalld/services
|
||||||
|
%{_prefix}/lib/firewalld/services/%{name}.xml
|
||||||
|
%{_tmpfilesdir}/%{name}.conf
|
||||||
|
%ghost %dir %attr(0755,%{name},audio) /run/%{name}
|
||||||
|
|
||||||
|
%files doc
|
||||||
|
%doc html/*.{html,js} html/_static
|
||||||
|
|
||||||
|
%changelog
|
1
mpd.tmpfiles.d
Normal file
1
mpd.tmpfiles.d
Normal file
@ -0,0 +1 @@
|
|||||||
|
d /run/mpd 0755 mpd audio -
|
Loading…
Reference in New Issue
Block a user