]> git.pld-linux.org Git - packages/mpd.git/blob - mpd.spec
dcec329e1726f02a851ee4c5061ac4d14e28c955
[packages/mpd.git] / mpd.spec
1 # TODO:
2 # - add logrotate
3 #
4 # Conditional build:
5 %bcond_without  mod             # MOD support via libmikmod
6 %bcond_without  pulseaudio      # PulseAudio support
7 %bcond_without  audiofile       # Audiofile support (WAV and others)
8
9 Summary:        Music Player Daemon
10 Summary(pl.UTF-8):      Music Player Daemon - demon odtwarzający muzykę
11 Name:           mpd
12 Version:        0.22.7
13 Release:        1
14 License:        GPL v2+
15 Group:          Applications/Multimedia
16 Source0:        https://www.musicpd.org/download/mpd/0.22/%{name}-%{version}.tar.xz
17 # Source0-md5:  25950866a4e21feeb16b0e23fc1872ff
18 Source1:        %{name}.conf
19 Source2:        %{name}.init
20 Source3:        %{name}.sysconfig
21 Source4:        %{name}.tmpfiles
22 URL:            http://www.musicpd.org/
23 BuildRequires:  OpenAL-devel
24 BuildRequires:  adplug-devel
25 BuildRequires:  alsa-lib-devel >= 0.9.0
26 %{?with_audiofile:BuildRequires:        audiofile-devel >= 0.3}
27 BuildRequires:  avahi-devel
28 BuildRequires:  boost-devel >= 1.58
29 BuildRequires:  bzip2-devel
30 BuildRequires:  curl-devel >= 7.33
31 BuildRequires:  dbus-devel
32 BuildRequires:  doxygen
33 BuildRequires:  expat-devel
34 BuildRequires:  faad2-devel >= 2.6.1-5
35 BuildRequires:  ffmpeg-devel >= 2.4.0
36 BuildRequires:  flac-devel >= 1.2.0
37 BuildRequires:  fluidsynth-devel >= 1.1
38 BuildRequires:  game-music-emu-devel
39 BuildRequires:  gcc >= 6:8
40 BuildRequires:  glib2-devel >= 1:2.28.0
41 BuildRequires:  jack-audio-connection-kit-devel >= 0.100
42 BuildRequires:  lame-libs-devel
43 BuildRequires:  libao-devel >= 0.8.3
44 BuildRequires:  libcdio-devel
45 BuildRequires:  libcdio-paranoia-devel >= 0.93
46 BuildRequires:  libchromaprint-devel
47 BuildRequires:  libicu-devel >= 50
48 BuildRequires:  libid3tag-devel
49 BuildRequires:  libmad-devel
50 %{?with_mod:BuildRequires:      libmikmod-devel >= 3.2}
51 BuildRequires:  libmms-devel >= 0.4
52 BuildRequires:  libmodplug-devel
53 BuildRequires:  libmpdclient-devel >= 2.9
54 BuildRequires:  libmpg123-devel
55 BuildRequires:  libnfs-devel >= 1.11
56 BuildRequires:  libogg-devel
57 BuildRequires:  libsamplerate-devel >= 0.1.3
58 BuildRequires:  libshout-devel
59 BuildRequires:  libsidplayfp-devel >= 1.8
60 BuildRequires:  libsmbclient-devel >= 0.2
61 BuildRequires:  libsndfile-devel
62 BuildRequires:  libstdc++-devel
63 BuildRequires:  libupnp-devel >= 1.8
64 BuildRequires:  liburing-devel
65 BuildRequires:  libvorbis-devel
66 BuildRequires:  meson >= 0.49.0
67 BuildRequires:  musepack-devel
68 BuildRequires:  ninja
69 BuildRequires:  opus-devel
70 BuildRequires:  pcre-devel
71 BuildRequires:  pkgconfig >= 1:0.9.0
72 %{?with_pulseaudio:BuildRequires:       pulseaudio-devel >= 0.9.16}
73 BuildRequires:  rpmbuild(macros) >= 1.736
74 BuildRequires:  shine-devel >= 3.1
75 BuildRequires:  soxr-devel
76 BuildRequires:  sphinx-pdg
77 BuildRequires:  sqlite3-devel >= 3.7.3
78 BuildRequires:  systemd-devel
79 BuildRequires:  tar >= 1:1.22
80 BuildRequires:  twolame-devel
81 BuildRequires:  wavpack-devel
82 BuildRequires:  wildmidi-devel
83 BuildRequires:  xmlto
84 BuildRequires:  xz
85 BuildRequires:  yajl-devel >= 2.0
86 BuildRequires:  zlib-devel
87 BuildRequires:  zziplib-devel >= 0.13
88 Requires(post,postun):  gtk-update-icon-cache
89 Requires(post,preun,postun):    systemd-units >= 38
90 Requires:       alsa-lib >= 0.9.0
91 %{?with_audiofile:Requires:     audiofile >= 0.3}
92 Requires:       curl-libs >= 7.33
93 Requires:       faad2-libs >= 2.6.1-5
94 Requires:       ffmpeg-libs >= 2.4.0
95 Requires:       flac >= 1.2.0
96 Requires:       fluidsynth >= 1.1
97 Requires:       glib2 >= 1:2.28.0
98 Requires:       hicolor-icon-theme
99 Requires:       jack-audio-connection-kit-libs >= 0.100
100 Requires:       libao >= 0.8.3
101 Requires:       libcdio-paranoia >= 0.93
102 Requires:       libicu >= 50
103 %{?with_mod:Requires:   libmikmod >= 3.2}
104 Requires:       libmms >= 0.4
105 Requires:       libmpdclient >= 2.9
106 Requires:       libnfs >= 1.11
107 Requires:       libsamplerate >= 0.1.3
108 Requires:       libsidplayfp >= 1.8
109 Requires:       libsmbclient >= 0.2
110 Requires:       libupnp >= 1.8
111 %{?with_pulseaudio:Requires:    pulseaudio-libs >= 0.9.16}
112 Requires:       shine >= 3.1
113 Requires:       sqlite3 >= 3.7.3
114 Requires:       systemd-units >= 38
115 Requires:       yajl >= 2.0
116 Requires:       zziplib >= 0.13
117 Provides:       group(mpd)
118 Provides:       user(mpd)
119 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
120
121 %description
122 Music Player Daemon (MPD) allows remote access for playing music (MP3,
123 Ogg Vorbis, FLAC, AAC, Mod, and wave files) and managing playlists.
124 MPD is designed for integrating a computer into a stereo system that
125 provides control for music playback over a local network. It is also
126 makes a great desktop music player, especially if you are a console
127 junkie, like frontend options, or restart X often.
128
129 %description -l hu.UTF-8
130 Music Player Daemon (MPD)-vel lehetővé válik távoli zenelejátszás
131 (MP3, Ogg Vorbis, FLAC, AAC, Mod és wav fájlok) és lejátszási listák
132 menedzselése. Az MPD a számítógépben egy zenelejátszó, amelyet
133 irányíthatsz helyi hálózaton keresztül. Egyben egy zseniális desktop
134 zenelejátszó is, különösen a konzol-mániásoknak, vagy azoknak, akik
135 sűrűn indítják újra az X-et.
136
137 %description -l pl.UTF-8
138 Music Player Daemon (MPD) pozwala na zdalny dostęp do odtwarzania
139 muzyki (plików MP3, Ogg Vorbis, FLAC, AAC, Mod i wave) oraz
140 zarządzania playlistami. MPD jest zaprojektowany do integrowania
141 komputera w system stereo umożliwiający sterowanie odtwarzaniem muzyki
142 w sieci lokalnej. Służy także za dobry odtwarzacz muzyki dla
143 komputerów biurkowych, zwłaszcza dla miłośników konsoli, różnych opcji
144 frontendów albo często restartujących X.
145
146 %package doc
147 Summary:        Documentation for Music Player Daemon (MPD)
148 Summary(fr.UTF-8):      Documentation pour Music Player Daemon (MPD)
149 Summary(it.UTF-8):      Documentazione di Music Player Daemon (MPD)
150 Summary(pl.UTF-8):      Podręcznik dla Music Player Daemon (MPD)
151 Group:          Documentation
152 Obsoletes:      mpd-apidocs < 0.21
153
154 %description doc
155 Documentation for Music Player Daemon (MPD).
156
157 %description doc -l fr.UTF-8
158 Documentation pour Music Player Daemon (MPD).
159
160 %description doc -l it.UTF-8
161 Documentazione di Music Player Daemon (MPD).
162
163 %description doc -l pl.UTF-8
164 Dokumentacja do Music Player Daemon (MPD).
165
166 %prep
167 %setup -q
168
169 %build
170 %meson build \
171         -Dpulse=%{?with_pulseaudio:enabled}%{!?with_pulseaudio:disabled} \
172         -Dmikmod=%{?with_mod:enabled}%{!?with_mod:disabled} \
173         -Dadplug=enabled \
174         -Dalsa=enabled \
175         -Dao=enabled \
176         -Daudiofile=%{?with_audiofile:enabled}%{!?with_audiofile:disabled} \
177         -Dbzip2=enabled \
178         -Dcdio_paranoia=enabled \
179         -Dcurl=enabled \
180         -Ddatabase=true \
181         -Ddocumentation=enabled \
182         -Ddsd=true \
183         -Dexpat=enabled \
184         -Dffmpeg=enabled \
185         -Dfifo=true \
186         -Dflac=enabled \
187         -Dfluidsynth=enabled \
188         -Dgme=enabled \
189         -Dhttpd=true \
190         -Dicu=enabled \
191         -Did3tag=enabled \
192         -Dinotify=true \
193         -Dio_uring=enabled \
194         -Dipv6=enabled \
195         -Diso9660=enabled \
196         -Djack=enabled \
197         -Dlame=enabled \
198         -Dlibmpdclient=enabled \
199         -Dmad=enabled \
200         -Dmikmod=enabled \
201         -Dmms=enabled \
202         -Dmodplug=enabled \
203         -Dmpcdec=disabled \
204         -Dnfs=enabled \
205         -Dopenal=enabled \
206         -Dopus=enabled \
207         -Doss=enabled \
208         -Dpipe=true \
209         -Drecorder=true \
210         -Dsidplay=enabled \
211         -Dshine=enabled \
212         -Dshout=enabled \
213         -Dsmbclient=enabled \
214         -Dsndfile=enabled \
215         -Dsoundcloud=enabled \
216         -Dsoxr=enabled \
217         -Dsqlite=enabled \
218         -Ddaemon=true \
219         -Dsystemd=enabled \
220         -Dtcp=true \
221         -Dtwolame=enabled \
222         -Dupnp=enabled \
223         -Dvorbis=enabled \
224         -Dvorbisenc=enabled \
225         -Dwave_encoder=true \
226         -Dwavpack=enabled \
227         -Dwildmidi=enabled \
228         -Dzlib=enabled \
229         -Dzzip=enabled \
230         -Dzeroconf=avahi \
231         -Dsystemd_system_unit_dir=%{systemdunitdir} \
232         -Dsystemd_user_unit_dir=%{systemduserunitdir}
233 %ninja_build -C build
234
235 %install
236 rm -rf $RPM_BUILD_ROOT
237 install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
238         $RPM_BUILD_ROOT{/var/lib/mpd/playlists,/var/log/mpd,/var/run/mpd} \
239         $RPM_BUILD_ROOT%{systemdtmpfilesdir}
240
241 %ninja_install -C build
242
243 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
244 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mpd
245 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/mpd
246 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
247
248 touch $RPM_BUILD_ROOT/var/lib/mpd/mpd.db
249 touch $RPM_BUILD_ROOT/var/lib/mpd/mpdstate
250 touch $RPM_BUILD_ROOT/var/lib/mpd/sticker.sql
251 touch $RPM_BUILD_ROOT/var/log/mpd/mpd.log
252
253 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/mpd
254
255 %clean
256 rm -rf $RPM_BUILD_ROOT
257
258 %pre
259 %groupadd -g 204 mpd
260 %useradd -u 204 -r -d /var/lib/mpd -s /bin/false -c "Music Player Daemon (MPD) user" -G audio -g mpd mpd
261
262 %post
263 for f in mpd.log; do
264         if [ ! -f /var/log/%{name}/$f ]; then
265                 touch /var/log/%{name}/$f
266                 chown mpd:mpd /var/log/%{name}/$f
267                 chmod 644 /var/log/%{name}/$f
268         fi
269 done
270 /sbin/chkconfig --add mpd
271 %systemd_post %{name}.service %{name}.socket
272 %update_icon_cache hicolor
273
274 %preun
275 if [ "$1" = "0" ]; then
276         %service mpd stop
277         /sbin/chkconfig --del mpd
278 fi
279 %systemd_preun %{name}.service %{name}.socket
280
281 %postun
282 if [ "$1" = "0" ]; then
283         %userremove mpd
284         %groupremove mpd
285 fi
286 %systemd_reload
287 %update_icon_cache hicolor
288
289 %triggerpostun -- %{name} < 0.16.6-1
290 %systemd_trigger %{name}.service
291
292 %files
293 %defattr(644,root,root,755)
294 %doc AUTHORS NEWS README.md doc/mpdconf.example
295 %attr(755,root,root) %{_bindir}/*
296 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mpd.conf
297 %attr(754,root,root) /etc/rc.d/init.d/mpd
298 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mpd
299 %{systemdtmpfilesdir}/%{name}.conf
300 %{systemdunitdir}/mpd.service
301 %{systemdunitdir}/mpd.socket
302 %{systemduserunitdir}/mpd.service
303 %{systemduserunitdir}/mpd.socket
304 %dir %attr(770,root,mpd) /var/lib/%{name}
305 %dir %attr(770,root,mpd) /var/lib/%{name}/playlists
306 %dir %attr(751,root,root) /var/log/%{name}
307 %dir %attr(770,root,mpd) /var/run/%{name}
308 %attr(644,mpd,mpd) %ghost /var/lib/%{name}/mpd.db
309 %attr(644,mpd,mpd) %ghost /var/lib/%{name}/mpdstate
310 %attr(644,mpd,mpd) %ghost /var/lib/%{name}/sticker.sql
311 %attr(644,mpd,mpd) %ghost /var/log/%{name}/mpd.log
312 %{_iconsdir}/hicolor/scalable/apps/mpd.svg
313 %{_mandir}/man1/mpd.1*
314 %{_mandir}/man5/mpd.conf.5*
315
316 %files doc
317 %defattr(644,root,root,755)
318 %doc build/doc/html
This page took 0.084594 seconds and 2 git commands to generate.