Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/mpd/
Date: Thu, 19 May 2022 01:20:18
Message-Id: 1652922945.b8afa7f4b36615244b636ff8f2db95b3d87ed4ea.sam@gentoo
1 commit: b8afa7f4b36615244b636ff8f2db95b3d87ed4ea
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Thu May 19 01:15:45 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Thu May 19 01:15:45 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8afa7f4
7
8 media-sound/mpd: add 0.23.7
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 media-sound/mpd/Manifest | 1 +
13 media-sound/mpd/mpd-0.23.7.ebuild | 293 ++++++++++++++++++++++++++++++++++++++
14 2 files changed, 294 insertions(+)
15
16 diff --git a/media-sound/mpd/Manifest b/media-sound/mpd/Manifest
17 index c21d866d1e69..f1ee6b55f7fd 100644
18 --- a/media-sound/mpd/Manifest
19 +++ b/media-sound/mpd/Manifest
20 @@ -2,3 +2,4 @@ DIST mpd-0.22.11.tar.xz 737184 BLAKE2B b47dcbd1e01812b66c81f33a53fc0838ddb8b7a14
21 DIST mpd-0.22.3.tar.xz 726356 BLAKE2B a821e9fed56c3ad625d155057867747d2c883dd90d110b097dfd4acc56ff583949889b849686d5644687226f205c5ae3f95eec182841f706f56135c7e8f3746b SHA512 deeafbe1a95f777fa4f9f355293a648a3f7121fae8e299c92dbd43d821319ffa4182c558cb0691f65e90f243428cec2cf14f64e9572bc72fc6a2af0fd9c0cd60
22 DIST mpd-0.23.5.tar.xz 770700 BLAKE2B 91f0d37bca0632a414083f6ecf8838ba5dc4ef4965692b14e56587d3d145140f61bcc120fe4b2bf83eb41f2a7e085da4d999efc19ca9717d2552d92fc6359c65 SHA512 3a870e79bb82c9e8877958d271e933daa3dd970a4510aff4aeea91feab521d7927cd59c7f1ea16a36e84ff879e4f24e4347602ac449c5da31853acb5a3b46f34
23 DIST mpd-0.23.6.tar.xz 770812 BLAKE2B 5ccb4a7c06c4317e3285846a261438bdcc10db5eaf71fcba969bcae8321ca50bb26fe9317e23e38eca1c4a8785015596064d5bfc692bf66f8007d0d2a1b71cbb SHA512 1595fcc53a67f1a68b0c0516697d242da53b91626e37bc2f49095add78eb497a52c67c961a421f20b40f3c57a571557a76559a212838de2a3ec4aec6c7a3288d
24 +DIST mpd-0.23.7.tar.xz 771992 BLAKE2B 2c75196c37eb8d075cca2881bb7ed10e434a071d3c64bb7cdb3bb96dfea74c30de2dce5bfdbc51da945df325d9f278cdf8dd03b7ba07c0ad51cea50971f4a143 SHA512 2a6b3eb2c8b61a22861ae75fe2f62c8ec6cd391f029438577127e309b910e99d7b735e40afae96d52ed4f161195a0ce7cb89cc51ad45df5a18e04736c16ce3a6
25
26 diff --git a/media-sound/mpd/mpd-0.23.7.ebuild b/media-sound/mpd/mpd-0.23.7.ebuild
27 new file mode 100644
28 index 000000000000..003f74fa7c6e
29 --- /dev/null
30 +++ b/media-sound/mpd/mpd-0.23.7.ebuild
31 @@ -0,0 +1,293 @@
32 +# Copyright 1999-2022 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=8
36 +
37 +inherit flag-o-matic linux-info meson systemd xdg
38 +
39 +DESCRIPTION="The Music Player Daemon (mpd)"
40 +HOMEPAGE="https://www.musicpd.org https://github.com/MusicPlayerDaemon/MPD"
41 +SRC_URI="https://www.musicpd.org/download/${PN}/${PV%.*}/${P}.tar.xz"
42 +
43 +LICENSE="GPL-2"
44 +SLOT="0"
45 +KEYWORDS="~amd64 ~arm ~ppc ~riscv ~x86"
46 +IUSE="+alsa ao +audiofile bzip2 cdio chromaprint +cue +curl doc +dbus
47 + +eventfd expat faad +ffmpeg +fifo flac fluidsynth gme +icu +id3tag +inotify
48 + +ipv6 jack lame libmpdclient libsamplerate libsoxr +mad mikmod mms
49 + modplug mpg123 musepack +network nfs openal openmpt opus oss pipe pipewire pulseaudio qobuz
50 + recorder samba selinux sid signalfd snapcast sndfile sndio soundcloud sqlite systemd
51 + test twolame udisks unicode vorbis wavpack webdav wildmidi upnp
52 + zeroconf zip zlib"
53 +
54 +OUTPUT_PLUGINS="alsa ao fifo jack network openal oss pipe pipewire pulseaudio snapcast sndio recorder"
55 +DECODER_PLUGINS="audiofile faad ffmpeg flac fluidsynth mad mikmod
56 + modplug mpg123 musepack opus openmpt flac sid vorbis wavpack wildmidi"
57 +ENCODER_PLUGINS="audiofile flac lame twolame vorbis"
58 +
59 +REQUIRED_USE="
60 + || ( ${OUTPUT_PLUGINS} )
61 + || ( ${DECODER_PLUGINS} )
62 + network? ( || ( ${ENCODER_PLUGINS} ) )
63 + recorder? ( || ( ${ENCODER_PLUGINS} ) )
64 + qobuz? ( curl soundcloud )
65 + soundcloud? ( curl qobuz )
66 + udisks? ( dbus )
67 + upnp? ( curl expat )
68 + webdav? ( curl expat )
69 +"
70 +
71 +RESTRICT="!test? ( test )"
72 +
73 +RDEPEND="
74 + acct-user/mpd
75 + dev-libs/libfmt:=
76 + dev-libs/libpcre2
77 + media-libs/libogg
78 + sys-libs/liburing:=
79 + alsa? (
80 + media-libs/alsa-lib
81 + media-sound/alsa-utils
82 + )
83 + ao? ( media-libs/libao:=[alsa?,pulseaudio?] )
84 + audiofile? ( media-libs/audiofile:= )
85 + bzip2? ( app-arch/bzip2 )
86 + cdio? (
87 + dev-libs/libcdio:=
88 + dev-libs/libcdio-paranoia
89 + )
90 + chromaprint? ( media-libs/chromaprint )
91 + curl? ( net-misc/curl )
92 + dbus? ( sys-apps/dbus )
93 + doc? ( dev-python/sphinx )
94 + expat? ( dev-libs/expat )
95 + faad? ( media-libs/faad2 )
96 + ffmpeg? ( media-video/ffmpeg:0= )
97 + flac? ( media-libs/flac )
98 + fluidsynth? ( media-sound/fluidsynth )
99 + gme? ( >=media-libs/game-music-emu-0.6.0_pre20120802 )
100 + icu? (
101 + dev-libs/icu:=
102 + virtual/libiconv
103 + )
104 + id3tag? ( media-libs/libid3tag:= )
105 + jack? ( virtual/jack )
106 + lame? ( network? ( media-sound/lame ) )
107 + libmpdclient? ( media-libs/libmpdclient )
108 + libsamplerate? ( media-libs/libsamplerate )
109 + libsoxr? ( media-libs/soxr )
110 + mad? ( media-libs/libmad )
111 + mikmod? ( media-libs/libmikmod )
112 + mms? ( media-libs/libmms )
113 + modplug? ( media-libs/libmodplug )
114 + mpg123? ( media-sound/mpg123 )
115 + musepack? ( media-sound/musepack-tools )
116 + network? ( >=media-libs/libshout-2.4.0 )
117 + nfs? ( net-fs/libnfs )
118 + openal? ( media-libs/openal )
119 + openmpt? ( media-libs/libopenmpt )
120 + opus? ( media-libs/opus )
121 + pulseaudio? ( media-sound/pulseaudio )
122 + pipewire? ( media-video/pipewire:= )
123 + qobuz? ( dev-libs/libgcrypt:0 )
124 + samba? ( net-fs/samba )
125 + selinux? ( sec-policy/selinux-mpd )
126 + sid? ( || (
127 + media-libs/libsidplay:2
128 + media-libs/libsidplayfp
129 + ) )
130 + snapcast? ( media-sound/snapcast )
131 + sndfile? ( media-libs/libsndfile )
132 + sndio? ( media-sound/sndio )
133 + soundcloud? ( >=dev-libs/yajl-2:= )
134 + sqlite? ( dev-db/sqlite:3 )
135 + systemd? ( sys-apps/systemd:= )
136 + twolame? ( media-sound/twolame )
137 + udisks? ( sys-fs/udisks:2 )
138 + upnp? ( net-libs/libupnp:0 )
139 + vorbis? ( media-libs/libvorbis )
140 + wavpack? ( media-sound/wavpack )
141 + wildmidi? ( media-sound/wildmidi )
142 + zeroconf? ( net-dns/avahi[dbus] )
143 + zip? ( dev-libs/zziplib:= )
144 + zlib? ( sys-libs/zlib:= )"
145 +
146 +DEPEND="${RDEPEND}
147 + >=dev-libs/boost-1.68:=
148 + test? ( dev-cpp/gtest )"
149 +
150 +BDEPEND="virtual/pkgconfig"
151 +
152 +pkg_setup() {
153 + if use eventfd; then
154 + CONFIG_CHECK+=" ~EVENTFD"
155 + ERROR_EVENTFD="${P} requires eventfd in-kernel support."
156 + fi
157 +
158 + if use signalfd; then
159 + CONFIG_CHECK+=" ~SIGNALFD"
160 + ERROR_SIGNALFD="${P} requires signalfd in-kernel support."
161 + fi
162 +
163 + if use inotify; then
164 + CONFIG_CHECK+=" ~INOTIFY_USER"
165 + ERROR_INOTIFY_USER="${P} requires inotify in-kernel support."
166 + fi
167 +
168 + if use eventfd || use signalfd || use inotify; then
169 + linux-info_pkg_setup
170 + fi
171 +
172 + elog "If you will be starting mpd via /etc/init.d/mpd, please make sure that MPD's pid_file is _set_."
173 +}
174 +
175 +src_prepare() {
176 + sed -i \
177 + -e 's:^#filesystem_charset.*$:filesystem_charset "UTF-8":' \
178 + -e 's:^#user.*$:user "mpd":' \
179 + -e 's:^#bind_to_address.*any.*$:bind_to_address "localhost":' \
180 + -e 's:^#bind_to_address.*$:bind_to_address "/var/lib/mpd/socket":' \
181 + -e 's:^#music_directory.*$:music_directory "/var/lib/mpd/music":' \
182 + -e 's:^#playlist_directory.*$:playlist_directory "/var/lib/mpd/playlists":' \
183 + -e 's:^#db_file.*$:db_file "/var/lib/mpd/database":' \
184 + -e 's:^#log_file.*$:log_file "/var/lib/mpd/log":' \
185 + -e 's:^#pid_file.*$:pid_file "/var/lib/mpd/pid":' \
186 + -e 's:^#state_file.*$:state_file "/var/lib/mpd/state":' \
187 + doc/mpdconf.example || die
188 + default
189 +}
190 +
191 +src_configure() {
192 + local emesonargs=(
193 + $(meson_feature bzip2)
194 + $(meson_feature cdio cdio_paranoia)
195 + $(meson_feature chromaprint)
196 + $(meson_use cue)
197 + $(meson_feature curl)
198 + $(meson_feature dbus)
199 + $(meson_use eventfd)
200 + $(meson_feature expat)
201 + $(meson_feature icu)
202 + $(meson_feature id3tag)
203 + $(meson_use inotify)
204 + $(meson_feature ipv6)
205 + $(meson_feature cdio iso9660)
206 + $(meson_feature libmpdclient)
207 + $(meson_feature libsamplerate)
208 + $(meson_feature mms)
209 + $(meson_feature nfs)
210 + $(meson_use signalfd)
211 + $(meson_feature samba smbclient)
212 + $(meson_feature libsoxr soxr)
213 + $(meson_feature sqlite)
214 + $(meson_feature systemd)
215 + $(meson_use test)
216 + $(meson_feature udisks)
217 + -Dupnp=$(usex upnp pupnp disabled)
218 + $(meson_feature webdav)
219 + -Dzeroconf=$(usex zeroconf avahi disabled)
220 + $(meson_feature zlib)
221 + $(meson_feature zip zzip)
222 + )
223 +
224 + emesonargs+=(
225 + $(meson_feature alsa)
226 + $(meson_feature ao)
227 + $(meson_use fifo)
228 + $(meson_feature jack)
229 + $(meson_feature openal)
230 + $(meson_feature oss)
231 + $(meson_use pipe)
232 + $(meson_feature pipewire)
233 + $(meson_feature pulseaudio pulse)
234 + $(meson_use recorder)
235 + $(meson_use snapcast)
236 + $(meson_feature sndio)
237 + )
238 +
239 + if use samba || use upnp; then
240 + emesonargs+=( -Dneighbor=true )
241 + fi
242 +
243 + append-lfs-flags
244 + append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders"
245 +
246 + if use network; then
247 + emesonargs+=(
248 + -Dshine=disabled
249 + -Dshout=enabled
250 + $(meson_feature vorbis vorbisenc)
251 + -Dhttpd=true
252 + $(meson_feature lame)
253 + $(meson_feature twolame)
254 + $(meson_use audiofile wave_encoder)
255 + )
256 + fi
257 +
258 + emesonargs+=(
259 + # media-libs/adplug is not packaged anymore
260 + -Dadplug=disabled
261 + $(meson_feature audiofile)
262 + $(meson_feature faad)
263 + $(meson_feature ffmpeg)
264 + $(meson_feature flac)
265 + $(meson_feature fluidsynth)
266 + $(meson_feature gme)
267 + $(meson_feature mad)
268 + $(meson_feature mikmod)
269 + $(meson_feature modplug)
270 + $(meson_feature musepack mpcdec)
271 + $(meson_feature mpg123)
272 + $(meson_feature openmpt)
273 + $(meson_feature opus)
274 + $(meson_feature sid sidplay)
275 + $(meson_feature sndfile)
276 + $(meson_feature vorbis)
277 + $(meson_feature wavpack)
278 + $(meson_feature wildmidi)
279 + $(meson_feature qobuz)
280 + $(meson_feature soundcloud)
281 +
282 + --libdir="/usr/$(get_libdir)"
283 + $(meson_feature doc documentation)
284 + -Dsolaris_output=disabled
285 +
286 + -Ddatabase=true
287 + -Ddsd=true
288 + -Dio_uring=enabled
289 + -Dtcp=true
290 +
291 + -Dsystemd_system_unit_dir="$(systemd_get_systemunitdir)"
292 + -Dsystemd_user_unit_dir="$(systemd_get_userunitdir)"
293 +
294 + $(meson_feature icu iconv)
295 + )
296 +
297 + meson_src_configure
298 +}
299 +
300 +src_install() {
301 + meson_src_install
302 +
303 + insinto /etc
304 + newins doc/mpdconf.example mpd.conf
305 +
306 + insinto /etc/logrotate.d
307 + newins "${FILESDIR}"/${PN}-0.21.1.logrotate ${PN}
308 +
309 + newinitd "${FILESDIR}"/${PN}-0.21.4.init ${PN}
310 +
311 + if use unicode; then
312 + sed -i -e 's:^#filesystem_charset.*$:filesystem_charset "UTF-8":' \
313 + "${ED}"/etc/mpd.conf || die "sed failed"
314 + fi
315 +
316 + keepdir /var/lib/mpd
317 + keepdir /var/lib/mpd/music
318 + keepdir /var/lib/mpd/playlists
319 +
320 + rm -r "${ED}"/usr/share/doc/mpd || die
321 +
322 + fowners mpd:audio -R /var/lib/mpd
323 +
324 +}