Gentoo Archives: gentoo-commits

From: Jory Pratt <anarchy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/musl:master commit in: media-sound/mpd/, media-sound/mpd/files/
Date: Tue, 28 Jan 2020 18:59:19
Message-Id: 1580237945.93b557ed9b9d5df5776002249a1ca78dd95d1ebf.anarchy@gentoo
1 commit: 93b557ed9b9d5df5776002249a1ca78dd95d1ebf
2 Author: Jory Pratt <anarchy <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jan 28 18:59:05 2020 +0000
4 Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org>
5 CommitDate: Tue Jan 28 18:59:05 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=93b557ed
7
8 media-sound/mpd: Update for stable, fix stacksize patch
9
10 Package-Manager: Portage-2.3.86, Repoman-2.3.20
11 Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>
12
13 media-sound/mpd/Manifest | 2 +-
14 media-sound/mpd/files/fix-mpd-stacksize.patch | 19 --
15 media-sound/mpd/files/mpd-0.20.4.logrotate | 6 -
16 media-sound/mpd/files/mpd-0.21.1.logrotate | 9 +
17 .../mpd/files/mpd-0.21.18-fix-stacksize.patch | 31 +++
18 .../mpd/files/{mpd-0.20.4.init => mpd-0.21.4.init} | 10 +-
19 media-sound/mpd/metadata.xml | 67 ++---
20 media-sound/mpd/mpd-0.20.10.ebuild | 263 ------------------
21 media-sound/mpd/mpd-0.21.18-r1.ebuild | 299 +++++++++++++++++++++
22 9 files changed, 379 insertions(+), 327 deletions(-)
23
24 diff --git a/media-sound/mpd/Manifest b/media-sound/mpd/Manifest
25 index f6e5dde..cc39c32 100644
26 --- a/media-sound/mpd/Manifest
27 +++ b/media-sound/mpd/Manifest
28 @@ -1 +1 @@
29 -DIST mpd-0.20.10.tar.xz 778828 BLAKE2B c16b955ace770cf3d5da2ccad81fd3089cf2e60bf47774745d75babcff38fa344646b26dd32617fa2fe86ee0c785b9c8272ea6c90f77266b1a0cba2d48145236 SHA512 bac6a71e5b85600c590eae6b785474574cf0d7b03d9add537161b968a2997a975a597639a9fece119a01a7e27b5207523e4ae30b2f4f35791eff8c3ff26d107c
30 +DIST mpd-0.21.18.tar.xz 676084 BLAKE2B f55ea278da4b50bf24da476ed9e3ff50a8130215702fb5c4a0accdbfeb00ed734983034ce6ee0542623e42d488555b1c709acefbba026f0e01f17f25f749b833 SHA512 68b4d9dc4be8454d7ef92df2a7b42513dc2d97bfd6b11ba99bce6709fc58ccbeab05419863bacb7a3427f1325bc88da74f9f4b48206222349085f02d0135e1a8
31
32 diff --git a/media-sound/mpd/files/fix-mpd-stacksize.patch b/media-sound/mpd/files/fix-mpd-stacksize.patch
33 deleted file mode 100644
34 index 26d6f78..0000000
35 --- a/media-sound/mpd/files/fix-mpd-stacksize.patch
36 +++ /dev/null
37 @@ -1,19 +0,0 @@
38 -diff --git a/src/thread/Thread.cxx b/src/thread/Thread.cxx
39 -index 2932d47..fd1f3ce 100644
40 ---- a/src/thread/Thread.cxx
41 -+++ b/src/thread/Thread.cxx
42 -@@ -43,8 +43,12 @@ Thread::Start(void (*_f)(void *ctx), void *_ctx, Error &error)
43 - #ifndef NDEBUG
44 - creating = true;
45 - #endif
46 --
47 -- int e = pthread_create(&handle, nullptr, ThreadProc, this);
48 -+ pthread_attr_t attr, *attrptr = nullptr;
49 -+ if ((pthread_attr_init(&attr) == 0)
50 -+ && (pthread_attr_setstacksize(&attr, 1024*1024) == 0)) {
51 -+ attrptr = &attr;
52 -+ }
53 -+ int e = pthread_create(&handle, attrptr, ThreadProc, this);
54 -
55 - if (e != 0) {
56 - #ifndef NDEBUG
57
58 diff --git a/media-sound/mpd/files/mpd-0.20.4.logrotate b/media-sound/mpd/files/mpd-0.20.4.logrotate
59 deleted file mode 100644
60 index ff47d10..0000000
61 --- a/media-sound/mpd/files/mpd-0.20.4.logrotate
62 +++ /dev/null
63 @@ -1,6 +0,0 @@
64 -/var/lib/mpd/log {
65 - missingok
66 - postrotate
67 - /etc/init.d/mpd reload
68 - endscript
69 -}
70
71 diff --git a/media-sound/mpd/files/mpd-0.21.1.logrotate b/media-sound/mpd/files/mpd-0.21.1.logrotate
72 new file mode 100644
73 index 0000000..597c4fb
74 --- /dev/null
75 +++ b/media-sound/mpd/files/mpd-0.21.1.logrotate
76 @@ -0,0 +1,9 @@
77 +/var/lib/mpd/log {
78 + missingok
79 + weekly
80 + delaycompress
81 + compress
82 + postrotate
83 + /etc/init.d/mpd --quiet reload
84 + endscript
85 +}
86
87 diff --git a/media-sound/mpd/files/mpd-0.21.18-fix-stacksize.patch b/media-sound/mpd/files/mpd-0.21.18-fix-stacksize.patch
88 new file mode 100644
89 index 0000000..c57803b
90 --- /dev/null
91 +++ b/media-sound/mpd/files/mpd-0.21.18-fix-stacksize.patch
92 @@ -0,0 +1,31 @@
93 +From 8671aa5b12fd6b857ee24cf8aa55275d283d9014 Mon Sep 17 00:00:00 2001
94 +From: Jory Pratt <anarchy@g.o>
95 +Date: Tue, 28 Jan 2020 12:55:14 -0600
96 +Subject: [PATCH] Fix stacksize on musl
97 +
98 +---
99 + src/thread/Thread.cxx | 8 ++++++--
100 + 1 file changed, 6 insertions(+), 2 deletions(-)
101 +
102 +diff --git a/src/thread/Thread.cxx b/src/thread/Thread.cxx
103 +index bb498fd..da65d52 100644
104 +--- a/src/thread/Thread.cxx
105 ++++ b/src/thread/Thread.cxx
106 +@@ -34,8 +34,12 @@ Thread::Start()
107 + if (handle == nullptr)
108 + throw MakeLastError("Failed to create thread");
109 + #else
110 +- int e = pthread_create(&handle, nullptr, ThreadProc, this);
111 +-
112 ++ pthread_attr_t attr, *attrptr = nullptr;
113 ++ if ((pthread_attr_init(&attr) == 0)
114 ++ && (pthread_attr_setstacksize(&attr, 1024*1024) == 0)) {
115 ++ attrptr = &attr;
116 ++ }
117 ++ int e = pthread_create(&handle, attrptr, ThreadProc, this);
118 + if (e != 0)
119 + throw MakeErrno(e, "Failed to create thread");
120 + #endif
121 +--
122 +2.25.0
123 +
124
125 diff --git a/media-sound/mpd/files/mpd-0.20.4.init b/media-sound/mpd/files/mpd-0.21.4.init
126 similarity index 78%
127 rename from media-sound/mpd/files/mpd-0.20.4.init
128 rename to media-sound/mpd/files/mpd-0.21.4.init
129 index 0a4c616..6af55c1 100644
130 --- a/media-sound/mpd/files/mpd-0.20.4.init
131 +++ b/media-sound/mpd/files/mpd-0.21.4.init
132 @@ -1,5 +1,5 @@
133 #!/sbin/openrc-run
134 -# Copyright 1999-2018 Gentoo Foundation
135 +# Copyright 1999-2020 Gentoo Authors
136 # Distributed under the terms of the GNU General Public License v2
137
138 : CFGFILE=${CFGFILE:=/etc/mpd.conf}
139 @@ -26,7 +26,7 @@ pidfile=$(get_config pid_file)
140 description="Music Player Daemon"
141
142 reload() {
143 - ebegin "Reloading ${SVCNAME}"
144 - kill -HUP `cat ${pidfile}`
145 - eend $?
146 -}
147 + ebegin "Reloading ${RC_SVCNAME}"
148 + start-stop-daemon --pidfile ${pidfile} --signal HUP
149 + eend $?
150 + }
151
152 diff --git a/media-sound/mpd/metadata.xml b/media-sound/mpd/metadata.xml
153 index 23086d3..621b406 100644
154 --- a/media-sound/mpd/metadata.xml
155 +++ b/media-sound/mpd/metadata.xml
156 @@ -2,40 +2,41 @@
157 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
158 <pkgmetadata>
159 <maintainer type="person">
160 - <email>hwoarang@g.o</email>
161 - <name>Markos Chandras</name>
162 - </maintainer>
163 - <maintainer type="project">
164 - <email>sound@g.o</email>
165 - <name>Gentoo Sound project</name>
166 + <email>zlogene@g.o</email>
167 + <name>Mikle Kolyada</name>
168 </maintainer>
169 <use>
170 - <flag name="adplug">Enable the AdPlug decoder plugin</flag>
171 - <flag name="cdio">Use libcdio for ISO9660 parsing support</flag>
172 - <flag name="curl">Support for web stream listening</flag>
173 - <flag name="eventfd">Use the eventfd function in MPD's event loop</flag>
174 - <flag name="faad">Use external faad library for AAC decoding</flag>
175 - <flag name="fifo">Support writing audio to a FIFO</flag>
176 - <flag name="fluidsynth">Enables Fluidsynth MIDI software synthesis (discouraged)</flag>
177 - <flag name="gme">Enables support for <pkg>media-libs/game-music-emu</pkg> for playing various video game music formats.</flag>
178 - <flag name="id3tag">Support for ID3 tags</flag>
179 - <flag name="inotify">Use the Linux kernel inotify subsystem to notice changes to mpd music library</flag>
180 - <flag name="lame">Support for MP3 streaming via Icecast2</flag>
181 - <flag name="libmpdclient">Enable support for remote mpd databases</flag>
182 - <flag name="libsoxr">Enable the libsoxr resampler</flag>
183 - <flag name="mpg123">Enable support for mp3 decoding over media-sound/mpg123</flag>
184 - <flag name="network">Enables network streaming support</flag>
185 - <flag name="nfs">Enable support for the Network File System</flag>
186 - <flag name="opus">Enable Opus codec support</flag>
187 - <flag name="pipe">Support writing audio to a pipe</flag>
188 - <flag name="recorder">Enables output plugin for recording radio streams</flag>
189 - <flag name="sid">Build with SID (Commodore 64 Audio) support</flag>
190 - <flag name="signalfd">Use the signalfd function in MPD's event loop</flag>
191 - <flag name="soundcloud">Build plugin to access soundcloud</flag>
192 - <flag name="systemd">Enable support for systemd socket activation</flag>
193 - <flag name="twolame">Support twolame MPEG-2 encoding</flag>
194 - <flag name="webdav">Enable using music from a WebDAV share</flag>
195 - <flag name="wildmidi">Enable MIDI support via wildmidi</flag>
196 - <flag name="zip">Support for ZIP files</flag>
197 + <flag name="cdio">Use libcdio for ISO9660 parsing support</flag>
198 + <flag name="chromaprint">Enable ChromaPrint / AcoustID support</flag>
199 + <flag name="cue">Enable CUE sheet support</flag>
200 + <flag name="curl">Support for web stream listening</flag>
201 + <flag name="eventfd">Use the eventfd function in MPD's event loop</flag>
202 + <flag name="faad">Use external faad library for AAC decoding</flag>
203 + <flag name="fifo">Support writing audio to a FIFO</flag>
204 + <flag name="fluidsynth">Enables Fluidsynth MIDI software synthesis (discouraged)</flag>
205 + <flag name="gme">Enables support for <pkg>media-libs/game-music-emu</pkg> for playing various video game music formats.</flag>
206 + <flag name="id3tag">Support for ID3 tags</flag>
207 + <flag name="inotify">Use the Linux kernel inotify subsystem to notice changes to mpd music library</flag>
208 + <flag name="lame">Support for MP3 streaming via Icecast2</flag>
209 + <flag name="libmpdclient">Enable support for remote mpd databases</flag>
210 + <flag name="libsoxr">Enable the libsoxr resampler</flag>
211 + <flag name="mpg123">Enable support for mp3 decoding over media-sound/mpg123</flag>
212 + <flag name="network">Enables network streaming support</flag>
213 + <flag name="nfs">Enable support for the Network File System</flag>
214 + <flag name="pipe">Support writing audio to a pipe</flag>
215 + <flag name="qobuz">Build plugin to access qobuz</flag>
216 + <flag name="recorder">Enables output plugin for recording radio streams</flag>
217 + <flag name="sid">Build with SID (Commodore 64 Audio) support</flag>
218 + <flag name="signalfd">Use the signalfd function in MPD's event loop</flag>
219 + <flag name="soundcloud">Build plugin to access soundcloud</flag>
220 + <flag name="tidal">Build plugin to access tidal</flag>
221 + <flag name="systemd">Enable support for systemd socket activation</flag>
222 + <flag name="twolame">Support twolame MPEG-2 encoding</flag>
223 + <flag name="webdav">Enable using music from a WebDAV share</flag>
224 + <flag name="wildmidi">Enable MIDI support via wildmidi</flag>
225 </use>
226 + <upstream>
227 + <remote-id type="github">MusicPlayerDaemon/MPD</remote-id>
228 + <bugs-to>https://github.com/MusicPlayerDaemon/MPD/issues</bugs-to>
229 + </upstream>
230 </pkgmetadata>
231
232 diff --git a/media-sound/mpd/mpd-0.20.10.ebuild b/media-sound/mpd/mpd-0.20.10.ebuild
233 deleted file mode 100644
234 index 678f54b..0000000
235 --- a/media-sound/mpd/mpd-0.20.10.ebuild
236 +++ /dev/null
237 @@ -1,263 +0,0 @@
238 -# Copyright 1999-2018 Gentoo Foundation
239 -# Distributed under the terms of the GNU General Public License v2
240 -
241 -EAPI=6
242 -
243 -inherit autotools flag-o-matic linux-info systemd user
244 -
245 -DESCRIPTION="The Music Player Daemon (mpd)"
246 -HOMEPAGE="https://www.musicpd.org https://github.com/MusicPlayerDaemon/MPD"
247 -SRC_URI="https://www.musicpd.org/download/${PN}/${PV%.*}/${P}.tar.xz"
248 -
249 -LICENSE="GPL-2"
250 -SLOT="0"
251 -KEYWORDS="alpha amd64 ~arm ~arm64 hppa ppc ppc64 ~sh x86 ~x64-macos"
252 -IUSE="adplug +alsa ao audiofile bzip2 cdio +curl debug +eventfd expat faad
253 - +fifo +ffmpeg flac fluidsynth gme +icu +id3tag +inotify +ipv6 jack
254 - lame mms libav libmpdclient libsamplerate libsoxr +mad mikmod modplug
255 - mpg123 musepack +network nfs ogg openal opus oss pipe pulseaudio recorder
256 - samba selinux sid +signalfd sndfile soundcloud sqlite systemd tcpd twolame
257 - unicode upnp vorbis wavpack wildmidi zeroconf zip zlib webdav"
258 -
259 -OUTPUT_PLUGINS="alsa ao fifo jack network openal oss pipe pulseaudio recorder"
260 -DECODER_PLUGINS="adplug audiofile faad ffmpeg flac fluidsynth mad mikmod
261 - modplug mpg123 musepack ogg flac sid vorbis wavpack wildmidi"
262 -ENCODER_PLUGINS="audiofile flac lame twolame vorbis"
263 -
264 -REQUIRED_USE="
265 - || ( ${OUTPUT_PLUGINS} )
266 - || ( ${DECODER_PLUGINS} )
267 - network? ( || ( ${ENCODER_PLUGINS} ) )
268 - recorder? ( || ( ${ENCODER_PLUGINS} ) )
269 - opus? ( ogg )
270 - upnp? ( expat )
271 - webdav? ( curl expat )
272 -"
273 -
274 -CDEPEND="!<sys-cluster/mpich2-1.4_rc2
275 - adplug? ( media-libs/adplug )
276 - alsa? (
277 - media-sound/alsa-utils
278 - media-libs/alsa-lib
279 - )
280 - ao? ( media-libs/libao[alsa?,pulseaudio?] )
281 - audiofile? ( media-libs/audiofile )
282 - bzip2? ( app-arch/bzip2 )
283 - cdio? ( dev-libs/libcdio-paranoia )
284 - curl? ( net-misc/curl )
285 - expat? ( dev-libs/expat )
286 - faad? ( media-libs/faad2 )
287 - ffmpeg? (
288 - libav? ( media-video/libav:0= )
289 - !libav? ( media-video/ffmpeg:0= )
290 - )
291 - flac? ( media-libs/flac[ogg?] )
292 - fluidsynth? ( media-sound/fluidsynth )
293 - gme? ( >=media-libs/game-music-emu-0.6.0_pre20120802 )
294 - icu? ( dev-libs/icu:= )
295 - id3tag? ( media-libs/libid3tag )
296 - jack? ( virtual/jack )
297 - lame? ( network? ( media-sound/lame ) )
298 - libmpdclient? ( media-libs/libmpdclient )
299 - libsamplerate? ( media-libs/libsamplerate )
300 - libsoxr? ( media-libs/soxr )
301 - mad? ( media-libs/libmad )
302 - mikmod? ( media-libs/libmikmod:0 )
303 - mms? ( media-libs/libmms )
304 - modplug? ( media-libs/libmodplug )
305 - mpg123? ( >=media-sound/mpg123-1.12.2 )
306 - musepack? ( media-sound/musepack-tools )
307 - network? (
308 - >=media-libs/libshout-2
309 - !lame? ( !vorbis? ( media-libs/libvorbis ) )
310 - )
311 - nfs? ( net-fs/libnfs )
312 - ogg? ( media-libs/libogg )
313 - openal? ( media-libs/openal )
314 - opus? ( media-libs/opus )
315 - pulseaudio? ( media-sound/pulseaudio )
316 - samba? ( >=net-fs/samba-4.0.25 )
317 - sid? ( || ( media-libs/libsidplay:2 media-libs/libsidplayfp ) )
318 - sndfile? ( media-libs/libsndfile )
319 - soundcloud? ( >=dev-libs/yajl-2:= )
320 - sqlite? ( dev-db/sqlite:3 )
321 - systemd? ( sys-apps/systemd )
322 - tcpd? ( sys-apps/tcp-wrappers )
323 - twolame? ( media-sound/twolame )
324 - upnp? ( net-libs/libupnp:= )
325 - vorbis? ( media-libs/libvorbis )
326 - wavpack? ( media-sound/wavpack )
327 - wildmidi? ( media-sound/wildmidi )
328 - zeroconf? ( net-dns/avahi[dbus] )
329 - zip? ( dev-libs/zziplib )
330 - zlib? ( sys-libs/zlib )"
331 -DEPEND="${CDEPEND}
332 - dev-libs/boost
333 - virtual/pkgconfig"
334 -RDEPEND="${CDEPEND}
335 - selinux? ( sec-policy/selinux-mpd )
336 -"
337 -
338 -PATCHES=(
339 - "${FILESDIR}"/${PN}-0.18.conf.patch
340 - "${FILESDIR}"/fix-mpd-stacksize.patch
341 -)
342 -
343 -pkg_setup() {
344 - use network || ewarn "Icecast and Shoutcast streaming needs networking."
345 - use fluidsynth && ewarn "Using fluidsynth is discouraged by upstream."
346 -
347 - enewuser mpd "" "" "/var/lib/mpd" audio
348 -
349 - if use eventfd; then
350 - CONFIG_CHECK+=" ~EVENTFD"
351 - ERROR_EVENTFD="${P} requires eventfd in-kernel support."
352 - fi
353 - if use signalfd; then
354 - CONFIG_CHECK+=" ~SIGNALFD"
355 - ERROR_SIGNALFD="${P} requires signalfd in-kernel support."
356 - fi
357 - if use inotify; then
358 - CONFIG_CHECK+=" ~INOTIFY_USER"
359 - ERROR_INOTIFY_USER="${P} requires inotify in-kernel support."
360 - fi
361 - if use eventfd || use signalfd || use inotify; then
362 - linux-info_pkg_setup
363 - fi
364 -
365 - elog "If you will be starting mpd via /etc/init.d/mpd, please make
366 - sure that MPD's pid_file is _set_."
367 -}
368 -
369 -src_prepare() {
370 - cp -f doc/mpdconf.example doc/mpdconf.dist || die "cp failed"
371 - default
372 - eautoreconf
373 -}
374 -
375 -src_configure() {
376 - local myeconfargs=(
377 - --enable-database --disable-roar --disable-documentation
378 - --enable-dsd --enable-largefile --disable-osx --disable-shine-encoder
379 - --disable-solaris-output --enable-tcp --enable-un --disable-werror
380 - --docdir="${EPREFIX}"/usr/share/doc/${PF}
381 - )
382 -
383 - if use network; then
384 - myeconfargs+=(
385 - --enable-shout
386 - $(use_enable vorbis vorbis-encoder)
387 - --enable-httpd-output
388 - $(use_enable lame lame-encoder)
389 - $(use_enable twolame twolame-encoder)
390 - $(use_enable audiofile wave-encoder)
391 - )
392 - else
393 - myeconfargs+=(
394 - --disable-shout
395 - --disable-vorbis-encoder
396 - --disable-httpd-output
397 - --disable-lame-encoder
398 - --disable-twolame-encoder
399 - --disable-wave-encoder
400 - )
401 - fi
402 -
403 - if use samba || use upnp; then
404 - myeconfargs+=( --enable-neighbor-plugins )
405 - fi
406 -
407 - append-lfs-flags
408 - append-ldflags "-L/usr/$(get_libdir)/sidplay/builders"
409 -
410 - myeconfargs+=(
411 - $(use_enable eventfd)
412 - $(use_enable signalfd)
413 - $(use_enable libmpdclient)
414 - $(use_enable expat)
415 - $(use_enable upnp)
416 - $(use_enable adplug)
417 - $(use_enable alsa)
418 - $(use_enable ao)
419 - $(use_enable audiofile)
420 - $(use_enable zlib)
421 - $(use_enable bzip2)
422 - $(use_enable cdio cdio-paranoia)
423 - $(use_enable curl)
424 - $(use_enable samba smbclient)
425 - $(use_enable nfs)
426 - $(use_enable debug)
427 - $(use_enable ffmpeg)
428 - $(use_enable fifo)
429 - $(use_enable flac)
430 - $(use_enable fluidsynth)
431 - $(use_enable gme)
432 - $(use_enable id3tag id3)
433 - $(use_enable inotify)
434 - $(use_enable ipv6)
435 - $(use_enable cdio iso9660)
436 - $(use_enable jack)
437 - $(use_enable soundcloud)
438 - $(use_enable tcpd libwrap)
439 - $(use_enable libsamplerate lsr)
440 - $(use_enable libsoxr soxr)
441 - $(use_enable mad)
442 - $(use_enable mikmod)
443 - $(use_enable mms)
444 - $(use_enable modplug)
445 - $(use_enable musepack mpc)
446 - $(use_enable mpg123)
447 - $(use_enable openal)
448 - $(use_enable opus)
449 - $(use_enable oss)
450 - $(use_enable pipe pipe-output)
451 - $(use_enable pulseaudio pulse)
452 - $(use_enable recorder recorder-output)
453 - $(use_enable sid sidplay)
454 - $(use_enable sndfile sndfile)
455 - $(use_enable sqlite)
456 - $(use_enable systemd systemd_daemon)
457 - $(use_enable vorbis)
458 - $(use_enable wavpack)
459 - $(use_enable wildmidi)
460 - $(use_enable zip zzip)
461 - $(use_enable icu)
462 - $(use_enable webdav)
463 - $(use_enable faad aac)
464 - $(use_with zeroconf zeroconf avahi)
465 - --with-systemdsystemunitdir=$(systemd_get_systemunitdir)
466 - --with-systemduserunitdir=$(systemd_get_userunitdir)
467 - )
468 -
469 - econf "${myeconfargs[@]}"
470 -}
471 -
472 -src_install() {
473 - emake DESTDIR="${D}" install
474 -
475 - insinto /etc
476 - newins doc/mpdconf.dist mpd.conf
477 -
478 - newinitd "${FILESDIR}"/${PN}-0.20.4.init ${PN}
479 -
480 - if use unicode; then
481 - sed -i -e 's:^#filesystem_charset.*$:filesystem_charset "UTF-8":' \
482 - "${ED}"/etc/mpd.conf || die "sed failed"
483 - fi
484 -
485 - insinto /etc/logrotate.d
486 - newins "${FILESDIR}"/${PN}-0.20.4.logrotate ${PN}
487 -
488 - use prefix || diropts -m0755 -o mpd -g audio
489 - dodir /var/lib/mpd
490 - keepdir /var/lib/mpd
491 - dodir /var/lib/mpd/music
492 - keepdir /var/lib/mpd/music
493 - dodir /var/lib/mpd/playlists
494 - keepdir /var/lib/mpd/playlists
495 -}
496 -
497 -pkg_postinst() {
498 - # also change the homedir if the user has existed before
499 - usermod -d "/var/lib/mpd" mpd
500 -}
501
502 diff --git a/media-sound/mpd/mpd-0.21.18-r1.ebuild b/media-sound/mpd/mpd-0.21.18-r1.ebuild
503 new file mode 100644
504 index 0000000..87c7114
505 --- /dev/null
506 +++ b/media-sound/mpd/mpd-0.21.18-r1.ebuild
507 @@ -0,0 +1,299 @@
508 +# Copyright 1999-2020 Gentoo Authors
509 +# Distributed under the terms of the GNU General Public License v2
510 +
511 +EAPI=7
512 +
513 +inherit flag-o-matic linux-info meson systemd xdg-utils
514 +
515 +DESCRIPTION="The Music Player Daemon (mpd)"
516 +HOMEPAGE="https://www.musicpd.org https://github.com/MusicPlayerDaemon/MPD"
517 +SRC_URI="https://www.musicpd.org/download/${PN}/${PV%.*}/${P}.tar.xz"
518 +
519 +LICENSE="GPL-2"
520 +SLOT="0"
521 +KEYWORDS="~alpha amd64 ~arm ~hppa ~ppc ~ppc64 ~sh x86 ~x64-macos"
522 +IUSE="+alsa ao +audiofile bzip2 cdio chromaprint +cue +curl +dbus debug
523 + +eventfd expat faad +ffmpeg +fifo flac fluidsynth gme +icu +id3tag +inotify
524 + +ipv6 jack lame libav libmpdclient libsamplerate libsoxr +mad mikmod mms
525 + modplug mpg123 musepack +network nfs openal opus oss pipe pulseaudio qobuz
526 + recorder samba selinux sid signalfd sndfile soundcloud sqlite systemd
527 + test tidal twolame udisks unicode vorbis wavpack webdav wildmidi upnp
528 + zeroconf zip zlib"
529 +
530 +OUTPUT_PLUGINS="alsa ao fifo jack network openal oss pipe pulseaudio recorder"
531 +DECODER_PLUGINS="audiofile faad ffmpeg flac fluidsynth mad mikmod
532 + modplug mpg123 musepack flac sid vorbis wavpack wildmidi"
533 +ENCODER_PLUGINS="audiofile flac lame twolame vorbis"
534 +
535 +REQUIRED_USE="
536 + || ( ${OUTPUT_PLUGINS} )
537 + || ( ${DECODER_PLUGINS} )
538 + network? ( || ( ${ENCODER_PLUGINS} ) )
539 + recorder? ( || ( ${ENCODER_PLUGINS} ) )
540 + upnp? ( expat )
541 + webdav? ( curl expat )
542 + "
543 +
544 +RESTRICT="!test? ( test )"
545 +
546 +RDEPEND="
547 + acct-user/mpd
548 + alsa? (
549 + media-libs/alsa-lib
550 + media-sound/alsa-utils
551 + )
552 +
553 + ao? ( media-libs/libao[alsa?,pulseaudio?] )
554 + audiofile? ( media-libs/audiofile:= )
555 +
556 + cdio? (
557 + dev-libs/libcdio:=
558 + dev-libs/libcdio-paranoia
559 + )
560 +
561 + chromaprint? ( media-libs/chromaprint )
562 + curl? ( net-misc/curl )
563 + dbus? ( sys-apps/dbus )
564 + expat? ( dev-libs/expat )
565 + faad? ( media-libs/faad2 )
566 +
567 + ffmpeg? (
568 + libav? ( media-video/libav:0= )
569 + !libav? ( media-video/ffmpeg:0= )
570 + )
571 +
572 + flac? ( media-libs/flac )
573 + fluidsynth? ( media-sound/fluidsynth )
574 + gme? ( >=media-libs/game-music-emu-0.6.0_pre20120802 )
575 + icu? ( dev-libs/icu:= )
576 + id3tag? ( media-libs/libid3tag )
577 + jack? ( virtual/jack )
578 + lame? ( network? ( media-sound/lame ) )
579 + libmpdclient? ( media-libs/libmpdclient )
580 + libsamplerate? ( media-libs/libsamplerate )
581 + libsoxr? ( media-libs/soxr )
582 + mad? ( media-libs/libmad )
583 + mikmod? ( media-libs/libmikmod )
584 + mms? ( media-libs/libmms )
585 + modplug? ( media-libs/libmodplug )
586 + mpg123? ( media-sound/mpg123 )
587 + musepack? ( media-sound/musepack-tools )
588 + network? ( media-libs/libshout )
589 + nfs? ( net-fs/libnfs )
590 + openal? ( media-libs/openal )
591 + opus? ( media-libs/opus )
592 + pulseaudio? ( media-sound/pulseaudio )
593 + qobuz? ( dev-libs/libgcrypt:0 )
594 + samba? ( net-fs/samba )
595 + selinux? ( sec-policy/selinux-mpd )
596 + sid? ( || (
597 + media-libs/libsidplay:2
598 + media-libs/libsidplayfp
599 + ) )
600 + sndfile? ( media-libs/libsndfile )
601 + soundcloud? ( >=dev-libs/yajl-2:= )
602 + sqlite? ( dev-db/sqlite:3 )
603 + systemd? ( sys-apps/systemd )
604 + tidal? ( dev-libs/yajl
605 + net-misc/curl )
606 + twolame? ( media-sound/twolame )
607 + udisks? ( sys-fs/udisks:2 )
608 + upnp? ( net-libs/libupnp:0 )
609 + vorbis? ( media-libs/libvorbis )
610 + wavpack? ( media-sound/wavpack )
611 + wildmidi? ( media-sound/wildmidi )
612 + zeroconf? ( net-dns/avahi[dbus] )
613 + zip? ( dev-libs/zziplib )
614 + zlib? ( sys-libs/zlib:= )"
615 +
616 +DEPEND="${RDEPEND}
617 + >=dev-libs/boost-1.58:=
618 + test? ( dev-cpp/gtest )"
619 +
620 +BDEPEND=">=dev-util/meson-0.49.2
621 + virtual/pkgconfig"
622 +
623 +PATCHES=(
624 + "${FILESDIR}"/${PN}-0.18.conf.patch
625 + "${FILESDIR}"/${PN}-0.21.18-fix-stacksize.patch
626 +)
627 +
628 +pkg_setup() {
629 + if use eventfd; then
630 + CONFIG_CHECK+=" ~EVENTFD"
631 + ERROR_EVENTFD="${P} requires eventfd in-kernel support."
632 + fi
633 +
634 + if use signalfd; then
635 + CONFIG_CHECK+=" ~SIGNALFD"
636 + ERROR_SIGNALFD="${P} requires signalfd in-kernel support."
637 + fi
638 +
639 + if use inotify; then
640 + CONFIG_CHECK+=" ~INOTIFY_USER"
641 + ERROR_INOTIFY_USER="${P} requires inotify in-kernel support."
642 + fi
643 +
644 + if use eventfd || use signalfd || use inotify; then
645 + linux-info_pkg_setup
646 + fi
647 +
648 + elog "If you will be starting mpd via /etc/init.d/mpd, please make
649 + sure that MPD's pid_file is _set_."
650 +}
651 +
652 +src_prepare() {
653 + cp -f doc/mpdconf.example doc/mpdconf.dist || die "cp failed"
654 + default
655 +}
656 +
657 +src_configure() {
658 + local emesonargs=(
659 + -Dbzip2=$(usex bzip2 enabled disabled)
660 + -Dcdio_paranoia=$(usex cdio enabled disabled)
661 + -Dchromaprint=$(usex chromaprint enabled disabled)
662 + -Dcue=$(usex cue true false)
663 + -Dcurl=$(usex curl enabled disabled)
664 + -Ddbus=$(usex dbus enabled disabled)
665 + -Ddebug=$(usex debug true false)
666 + -Deventfd=$(usex eventfd true false)
667 + -Dexpat=$(usex expat enabled disabled)
668 + -Dicu=$(usex icu enabled disabled)
669 + -Did3tag=$(usex id3tag enabled disabled)
670 + -Dinotify=$(usex inotify true false)
671 + -Dipv6=$(usex ipv6 enabled disabled)
672 + -Diso9660=$(usex cdio enabled disabled)
673 + -Dlibmpdclient=$(usex libmpdclient enabled disabled)
674 + -Dlibsamplerate=$(usex libsamplerate enabled disabled)
675 + -Dmms=$(usex mms enabled disabled)
676 + -Dnfs=$(usex nfs enabled disabled)
677 + -Dsignalfd=$(usex signalfd true false)
678 + -Dsmbclient=$(usex samba enabled disabled)
679 + -Dsoxr=$(usex libsoxr enabled disabled)
680 + -Dsqlite=$(usex sqlite enabled disabled)
681 + -Dsystemd=$(usex systemd enabled disabled)
682 + -Dtest=$(usex test true false)
683 + -Dudisks=$(usex udisks enabled disabled)
684 + -Dupnp=$(usex upnp enabled disabled)
685 + -Dwebdav=$(usex webdav enabled disabled)
686 + -Dzeroconf=$(usex zeroconf avahi disabled)
687 + -Dzlib=$(usex zlib enabled disabled)
688 + -Dzzip=$(usex zip enabled disabled)
689 + )
690 +
691 + emesonargs+=(
692 + -Dalsa=$(usex alsa enabled disabled)
693 + -Dao=$(usex ao enabled disabled)
694 + -Dfifo=$(usex fifo true false)
695 + -Djack=$(usex jack enabled disabled)
696 + -Dopenal=$(usex openal enabled disabled)
697 + -Doss=$(usex oss enabled disabled)
698 + -Dpipe=$(usex pipe true false)
699 + -Dpulse=$(usex pulseaudio enabled disabled)
700 + -Drecorder=$(usex recorder true false)
701 + )
702 +
703 + if use samba || use upnp; then
704 + emesonargs+=( -Dneighbor=true )
705 + fi
706 +
707 + append-lfs-flags
708 + append-ldflags "-L/usr/$(get_libdir)/sidplay/builders"
709 +
710 + if use network; then
711 +
712 + emesonargs+=(
713 + -Dshine=disabled
714 + -Dshout=enabled
715 + -Dvorbisenc=$(usex vorbis enabled disabled)
716 + -Dhttpd=true
717 + -Dlame=$(usex lame enabled disabled)
718 + -Dtwolame=$(usex twolame enabled disabled)
719 + -Dwave_encoder=$(usex audiofile true false)
720 + )
721 + fi
722 +
723 + emesonargs+=(
724 + # media-libs/adplug is not packaged anymore
725 + -Dadplug=disabled
726 + -Daudiofile=$(usex audiofile enabled disabled)
727 + -Dfaad=$(usex faad enabled disabled)
728 + -Dffmpeg=$(usex ffmpeg enabled disabled)
729 + -Dflac=$(usex flac enabled disabled)
730 + -Dfluidsynth=$(usex fluidsynth enabled disabled)
731 + -Dgme=$(usex gme enabled disabled)
732 + -Dmad=$(usex mad enabled disabled)
733 + -Dmikmod=$(usex mikmod enabled disabled)
734 + -Dmodplug=$(usex modplug enabled disabled)
735 + -Dmpcdec=$(usex musepack enabled disabled)
736 + -Dmpg123=$(usex mpg123 enabled disabled)
737 + -Dopus=$(usex opus enabled disabled)
738 + -Dsidplay=$(usex sid enabled disabled)
739 + -Dsndfile=$(usex sndfile enabled disabled)
740 + -Dvorbis=$(usex vorbis enabled disabled)
741 + -Dwavpack=$(usex wavpack enabled disabled)
742 + -Dwildmidi=$(usex wildmidi enabled disabled)
743 +
744 + )
745 +
746 + emesonargs+=(
747 + -Dqobuz=$(usex qobuz enabled disabled)
748 + -Dsoundcloud=$(usex soundcloud enabled disabled)
749 + -Dtidal=$(usex tidal enabled disabled)
750 + )
751 +
752 + emesonargs+=(
753 + --libdir="/usr/$(get_libdir)"
754 + -Ddocumentation=false
755 + -Dsndio=disabled #not yet in the tree
756 + -Dsolaris_output=disabled
757 +
758 + -Ddatabase=true
759 + -Ddsd=true
760 + -Dtcp=true
761 +
762 + -Dsystemd_system_unit_dir="$(systemd_get_systemunitdir)"
763 + -Dsystemd_user_unit_dir="$(systemd_get_userunitdir)"
764 + )
765 +
766 + if use icu; then
767 + emesonargs+=( -Diconv=enabled )
768 + else
769 + emesonargs+=( -Diconv=disabled )
770 + fi
771 +
772 + meson_src_configure
773 +}
774 +
775 +src_install() {
776 + meson_src_install
777 +
778 + insinto /etc
779 + newins doc/mpdconf.dist mpd.conf
780 +
781 + insinto /etc/logrotate.d
782 + newins "${FILESDIR}"/${PN}-0.21.1.logrotate ${PN}
783 +
784 + newinitd "${FILESDIR}"/${PN}-0.21.4.init ${PN}
785 +
786 + if use unicode; then
787 + sed -i -e 's:^#filesystem_charset.*$:filesystem_charset "UTF-8":' \
788 + "${ED}"/etc/mpd.conf || die "sed failed"
789 + fi
790 +
791 + doman doc/mpd.1
792 + doman doc/mpd.conf.5
793 +
794 + keepdir /var/lib/mpd
795 + keepdir /var/lib/mpd/music
796 + keepdir /var/lib/mpd/playlists
797 +
798 +}
799 +
800 +pkg_postinst() {
801 + xdg_icon_cache_update
802 +}
803 +
804 +pkg_postrm() {
805 + xdg_icon_cache_update
806 +}