| 3 |
3 |
|
| 4 |
4 |
EAPI=8
|
| 5 |
5 |
|
| 6 |
|
PYTHON_COMPAT=( python3_{11..14} )
|
| 7 |
|
inherit eapi9-ver flag-o-matic linux-info meson python-any-r1 systemd xdg
|
|
6 |
PYTHON_COMPAT=( python3_{12..15} )
|
|
7 |
inherit eapi9-ver flag-o-matic linux-info meson python-any-r1 systemd verify-sig xdg
|
| 8 |
8 |
|
| 9 |
9 |
DESCRIPTION="The Music Player Daemon (mpd)"
|
| 10 |
10 |
HOMEPAGE="https://www.musicpd.org https://github.com/MusicPlayerDaemon/MPD"
|
| 11 |
|
SRC_URI="https://www.musicpd.org/download/${PN}/$(ver_cut 1-2)/${P}.tar.xz"
|
|
11 |
SRC_URI="
|
|
12 |
https://www.musicpd.org/download/${PN}/$(ver_cut 1-2)/${P}.tar.xz
|
|
13 |
verify-sig? ( https://www.musicpd.org/download/${PN}/$(ver_cut 1-2)/${P}.tar.xz.sig )
|
|
14 |
"
|
| 12 |
15 |
|
| 13 |
16 |
LICENSE="GPL-2"
|
| 14 |
17 |
SLOT="0"
|
| 15 |
|
KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86"
|
|
18 |
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
|
| 16 |
19 |
IUSE="+alsa ao audiofile bzip2 cdio chromaprint +curl doc +dbus
|
| 17 |
20 |
+eventfd expat faad +ffmpeg flac fluidsynth gme httpd +icu +id3tag +inotify
|
| 18 |
21 |
+io-uring jack lame libmpdclient libsamplerate libsoxr mad mikmod mms
|
| ... | ... | |
| 133 |
136 |
test? ( dev-cpp/gtest )
|
| 134 |
137 |
"
|
| 135 |
138 |
BDEPEND="
|
|
139 |
virtual/pkgconfig
|
| 136 |
140 |
doc? (
|
| 137 |
141 |
$(python_gen_any_dep '
|
| 138 |
142 |
dev-python/sphinx[${PYTHON_USEDEP}]
|
| 139 |
143 |
dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
|
| 140 |
144 |
')
|
| 141 |
145 |
)
|
| 142 |
|
virtual/pkgconfig
|
|
146 |
verify-sig? ( sec-keys/openpgp-keys-mpd )
|
| 143 |
147 |
"
|
| 144 |
148 |
|
|
149 |
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/${PN}.asc
|
|
150 |
|
|
151 |
PATCHES=(
|
|
152 |
# PR merged
|
|
153 |
"${FILESDIR}"/${P}-fix_libcxx23.patch
|
|
154 |
)
|
|
155 |
|
| 145 |
156 |
python_check_deps() {
|
| 146 |
157 |
use doc || return 0
|
| 147 |
158 |
python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" &&
|
| ... | ... | |
| 307 |
318 |
insinto /etc
|
| 308 |
319 |
newins doc/mpdconf.example mpd.conf
|
| 309 |
320 |
|
| 310 |
|
# When running MPD as system service, better switch to the user we provide
|
| 311 |
|
sed -i \
|
| 312 |
|
-e 's:^#user.*$:user "mpd":' \
|
| 313 |
|
"${ED}/etc/mpd.conf" || die
|
| 314 |
|
|
| 315 |
321 |
if ! use systemd; then
|
| 316 |
|
# Extra options for running MPD under OpenRC
|
| 317 |
|
# (options that should not be set when using systemd)
|
| 318 |
|
sed -i \
|
| 319 |
|
-e '0,/^#log_file.*$/s::log_file "/var/log/mpd/mpd.log"\n&:' \
|
| 320 |
|
-e '0,/^#pid_file.*$/s::pid_file "/run/mpd/mpd.pid"\n&:' \
|
| 321 |
|
"${ED}/etc/mpd.conf" || die
|
|
322 |
# define a log_file that should not be set when using systemd
|
|
323 |
sed -e '0,/^#log_file.*$/s::log_file "/var/log/mpd/mpd.log"\n&:' \
|
|
324 |
-i "${ED}/etc/mpd.conf" || die
|
| 322 |
325 |
fi
|
| 323 |
326 |
|
| 324 |
327 |
insinto /etc/logrotate.d
|
| 325 |
328 |
newins "${FILESDIR}/${PN}-0.23.15.logrotate" "${PN}"
|
| 326 |
329 |
|
| 327 |
|
newinitd "${FILESDIR}/${PN}-0.24.8.init" "${PN}"
|
|
330 |
newinitd "${FILESDIR}/${PN}-0.24.15.init" "${PN}"
|
|
331 |
newconfd "${FILESDIR}/${PN}-0.24.15.confd" "${PN}"
|
|
332 |
|
|
333 |
# set memlock limit for io-uring
|
|
334 |
# see https://mpd.readthedocs.io/en/latest/user.html#startup
|
|
335 |
if use io-uring; then
|
|
336 |
sed -e '/#rc_ulimit="${rc_ulimit} -l/s/^#//' \
|
|
337 |
-i "${ED}/etc/conf.d/mpd" || die
|
|
338 |
fi
|
| 328 |
339 |
|
| 329 |
340 |
keepdir /var/lib/mpd
|
| 330 |
341 |
keepdir /var/lib/mpd/music
|
| ... | ... | |
| 333 |
344 |
|
| 334 |
345 |
rm -r "${ED}"/usr/share/doc/mpd || die
|
| 335 |
346 |
|
| 336 |
|
fowners mpd:audio -R /var/lib/mpd
|
| 337 |
|
fowners mpd:audio -R /var/log/mpd
|
|
347 |
fowners mpd: -R /var/lib/mpd
|
|
348 |
fowners mpd: -R /var/log/mpd
|
| 338 |
349 |
}
|
| 339 |
350 |
|
| 340 |
351 |
pkg_postinst() {
|
| ... | ... | |
| 346 |
357 |
ewarn "Since the user 'mpd' is already part of the 'audio' group, please"
|
| 347 |
358 |
ewarn "consider removing 'group' parameter in ${EROOT}/etc/mpd.conf ."
|
| 348 |
359 |
fi
|
|
360 |
if ver_replacing -lt 0.24.15; then
|
|
361 |
ewarn "The daemon is now started directly as an unprivileged user."
|
|
362 |
ewarn "Update MPD_USER in ${EROOT}/etc/conf.d/mpd to override the default user 'mpd'."
|
|
363 |
ewarn "'user' and 'pid_file' must no longer be set in ${EROOT}/etc/mpd.conf ."
|
|
364 |
fi
|
| 349 |
365 |
}
|