]> git.pld-linux.org Git - packages/amarok.git/blob - amarok.spec
3b0a0c1a6f201d07febe782dbdfe40a09d6c0a35
[packages/amarok.git] / amarok.spec
1 # TODO:
2 # - postgresql support alongside mysql
3 # - NMM audio backend support (fix build - propably some BRs)
4 # - make descriptions less useless
5 # - track http://websvn.kde.org/trunk/extragear/multimedia/amarok/TODO?rev=470324&r1=470292&r2=470324
6 # - include /usr/bin/amarok_proxy.rb (proxy server for last.fm, but req. ruby)
7 # - main package pulls /usr/bin/ruby
8 # - monitor http://bugs.kde.org/show_bug.cgi?id=137390 to remove the temporary fix
9 # - ProjectM (see README)
10 # - karma & MFS (see README)
11 # - ipod mount should not inherit descriptions (like fuse mount has /dev/alsa nodes open)
12 #
13 # Conditional builds:
14 %bcond_without  xine            # disable xine engine
15 %bcond_without  zeroconf        # disable support for zeroconf
16 %bcond_without  included_sqlite # don't use included sqlite (VERY BAD IDEA), needs sqlite >= 3.3 otherwise
17 %bcond_without  helix           # disable HelixPlayer engine
18 %bcond_without  mp3players      # disable iPod and iRiver MP3 players support
19 %bcond_with     nmm             # enable NMM audio backend
20 %bcond_with     mysql           # enable MySQL support
21 %bcond_with     pgsql           # enable PostgreSQL support
22 #
23 %ifarch i386
24 %undefine       with_helix
25 %endif
26
27 Summary:        A KDE audio player
28 Summary(pl.UTF-8):      Odtwarzacz audio dla KDE
29 Name:           amarok
30 Version:        1.4.10
31 Release:        9
32 License:        GPL
33 Group:          X11/Applications/Multimedia
34 Source0:        ftp://ftp.kde.org/pub/kde/stable/amarok/%{version}/src/%{name}-%{version}.tar.bz2
35 # Source0-md5:  3bdbf26181bf5e5925f48968caba7ac2
36 Patch0:         %{name}-helixplayer-morearchs.patch
37 Patch1:         %{name}-libnjb.patch
38 Patch2:         %{name}-smp.patch
39 Patch3:         %{name}-sparc.patch
40 Patch4:         kde-ac260-lt.patch
41 Patch5:         kde-common-PLD.patch
42 Patch6:         %{name}-gcc4.patch
43 Patch7:         %{name}-titleorder.patch
44 Patch8:         %{name}-mongrel.patch
45 Patch9:         %{name}-libmtp.patch
46 URL:            http://amarok.kde.org/
47 # Upgrade to 2.0.1.1 required?
48 # http://www.trapkit.de/advisories/TKADV2009-002.txt
49 # http://amarok.kde.org/de/node/600
50 #BuildRequires: security(TKADV2009-002)
51 BuildRequires:  SDL-devel
52 BuildRequires:  alsa-lib-devel
53 BuildRequires:  autoconf
54 BuildRequires:  automake
55 BuildRequires:  dbus-glib-devel
56 BuildRequires:  gettext-devel
57 BuildRequires:  kdebase-devel
58 BuildRequires:  kdemultimedia-devel >= 9:3.1.93
59 %{?with_mp3players:BuildRequires:       libgpod-devel >= 0.6.0}
60 %{?with_mp3players:BuildRequires:       libifp-devel >= 1.0.0.2}
61 BuildRequires:  libltdl-devel
62 %{?with_mp3players:BuildRequires:       libmtp-devel >= 0.3.0}
63 %{?with_mp3players:BuildRequires:       libnjb-devel >= 2.2.4}
64 %{?with_pgsql:BuildRequires:            libpqxx-devel}
65 BuildRequires:  libtunepimp-devel >= 0.5.1-6
66 BuildRequires:  libvisual-devel >= 0.4.0
67 BuildRequires:  mpeg4ip-devel >= 1:1.6
68 %{?with_mysql:BuildRequires:            mysql-devel}
69 BuildRequires:  pcre-devel
70 BuildRequires:  pkgconfig
71 BuildRequires:  rpm-pythonprov
72 BuildRequires:  rpmbuild(macros) >= 1.129
73 BuildRequires:  ruby-devel >= 1.8
74 BuildRequires:  sed >= 4.0
75 %{!?with_included_sqlite:BuildRequires: sqlite3-devel >= 3.3}
76 BuildRequires:  taglib-devel >= 1.4
77 %{?with_xine:BuildRequires:     xine-lib-devel >= 1.1.1}
78 Requires(post): /sbin/ldconfig
79 Requires:       %{name}-plugin = %{version}-%{release}
80 Requires:       ruby-mongrel
81 Suggests:       kdemultimedia(audiocd) >= 9:3.1.93
82 Suggests:       libvisual-plugin-actor-JESS
83 Suggests:       libvisual-plugin-actor-bumpscope
84 Suggests:       libvisual-plugin-actor-corona
85 Suggests:       libvisual-plugin-actor-flower
86 Suggests:       libvisual-plugin-actor-gdkpixbuf
87 Suggests:       libvisual-plugin-actor-gforce
88 Suggests:       libvisual-plugin-actor-infinite
89 Suggests:       libvisual-plugin-actor-jakdaw
90 Suggests:       libvisual-plugin-actor-lv_analyzer
91 Suggests:       libvisual-plugin-actor-lv_gltest
92 Suggests:       libvisual-plugin-actor-lv_scope
93 Suggests:       libvisual-plugin-actor-madspin
94 Suggests:       libvisual-plugin-actor-nastyfft
95 Suggests:       libvisual-plugin-actor-oinksie
96 Suggests:       libvisual-plugin-input-alsa
97 Suggests:       libvisual-plugin-input-esd
98 Suggests:       libvisual-plugin-input-jack
99 Suggests:       libvisual-plugin-input-mplayer
100 Suggests:       libvisual-plugin-morph-alphablend
101 Suggests:       libvisual-plugin-morph-flash
102 Suggests:       libvisual-plugin-morph-slide
103 Suggests:       libvisual-plugin-morph-tentacle
104 Suggests:       python-PyKDE
105 Obsoletes:      amarok-arts
106 Obsoletes:      amarok-xmms
107 Conflicts:      kdelibs-libs < 9:3.5.9
108 # sr@Latn vs. sr@latin
109 Conflicts:      glibc-misc < 6:2.7
110 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
111
112 # temporary hack for proper libgpod::itdb_get_mountpoint() detection.
113 %define         filterout_ld    -Wl,--as-needed
114
115 %description
116 A KDE audio player.
117
118 %description -l pl.UTF-8
119 Odtwarzacz audio dla KDE.
120
121 %package -n konqueror-addon-amarok
122 Summary:        Amarok sidebar for Konqueror
123 Summary(pl.UTF-8):      Pasek z Amarokiem dla Konquerora
124 Group:          X11/Applications/Multimedia
125 Requires:       %{name} = %{version}-%{release}
126
127 %description -n konqueror-addon-amarok
128 Amarok sidebar for Konqueror.
129
130 %description -n konqueror-addon-amarok -l pl.UTF-8
131 Pasek z Amarokiem dla Konquerora.
132
133 %package helix
134 Summary:        Helix/Realplayer playback support for amarok
135 Summary(pl.UTF-8):      Wsparcie dla odtwarzania przez Helix/Realplayera dla amaroka
136 Group:          X11/Applications/Multimedia
137 Requires:       %{name} = %{version}-%{release}
138 Requires:       helix-core
139 Provides:       %{name}-plugin = %{version}-%{release}
140
141 %description helix
142 Helix/Realplayer playback support for amarok.
143
144 %description helix -l pl.UTF-8
145 Wsparcie dla odtwarzania przez Helix/Realplayera dla amaroka.
146
147 %package xine
148 Summary:        Plugin xine
149 Summary(pl.UTF-8):      Wtyczka xine
150 Group:          X11/Applications/Multimedia
151 Requires:       %{name} = %{version}-%{release}
152 Requires:       xine-plugin-audio
153 Provides:       %{name}-plugin = %{version}-%{release}
154
155 %description xine
156 Plugin xine.
157
158 %description xine -l pl.UTF-8
159 Wtyczka xine.
160
161 %package zeroconf
162 Summary:        Zeroconf data
163 Summary(pl.UTF-8):      Dane dla zeroconf
164 Group:          X11/Applications/Multimedia
165 Requires:       %{name} = %{version}-%{release}
166 Requires:       kdenetwork-kdnssd
167 Provides:       %{name}-plugin = %{version}-%{release}
168
169 %description zeroconf
170 Zeroconf data.
171
172 %description zeroconf -l pl.UTF-8
173 Dane dla zeroconf.
174
175 %package scripts
176 Summary:        amaroK scripts
177 Summary(pl.UTF-8):      Skrypty amaroKa
178 Group:          X11/Applications/Multimedia
179 Requires:       %{name} = %{version}-%{release}
180 Requires:       /usr/bin/kdialog
181 Requires:       python-PyQt
182 Requires:       ruby-modules
183
184 %description scripts
185 amaroK scripts allow you extend amaroK functionality.
186
187 You can learn more about scripts in amaroK from here:
188 <http://amarok.kde.org/amarokwiki/index.php/Script-Writing_HowTo>.
189
190 %description scripts -l pl.UTF-8
191 Skrypty amaroKa pozwalające rozszerzać jego funkcjonalność.
192
193 Więcej o skryptach w amaroKu można dowiedzieć się stąd:
194 <http://amarok.kde.org/amarokwiki/index.php/Script-Writing_HowTo>.
195
196 %prep
197 %setup -q
198 %patch0 -p1
199 %patch1 -p1
200 %patch2 -p1
201 %patch3 -p1
202 %patch4 -p1
203 %patch5 -p1
204 %patch6 -p1
205 %patch7 -p1
206 %patch8 -p1
207 %patch9 -p0
208
209 %{__sed} -i -e 's/Categories=.*/Categories=Qt;KDE;AudioVideo;Player;/' \
210         amarok/src/amarok.desktop \
211
212 # see kde bug #110909
213 %{__sed} -i -e 's/amarok_live//' amarok/src/scripts/Makefile.am
214
215 # kill env, call interpreter directly, so rpm automatics could rule
216 %{__sed} -i -e '
217         1s,#!.*bin/env.*ruby,#!%{_bindir}/ruby,
218         1s,#!.*bin/env.*python,#!%{__python},
219 ' amarok/src/scripts/*/*.{py,rb} amarok/src/amarok_proxy.rb
220
221 %build
222 cp -f /usr/share/automake/config.sub admin
223 %{__make} -f admin/Makefile.common cvs
224
225 # hack: passing something other than "no" or "yes" to --with-helix allows
226 # us to pass HELIX_LIBS
227 %configure \
228         HELIX_LIBS=%{_libdir}/helixplayer \
229         --%{?debug:en}%{!?debug:dis}able-debug%{?debug:=full} \
230         --disable-rpath \
231         --with%{!?with_xine:out}-xine \
232         --with%{!?with_helix:out}-helix%{?with_helix:=usegivenpath} \
233         --with%{!?with_nmm:out}-nmm \
234         --with%{!?with_mp3players:out}-libgpod \
235         --with%{!?with_mp3players:out}-libnjb \
236         --with%{!?with_mp3players:out}-libmtp \
237         --with%{!?with_mp3players:out}-ifp \
238         --%{?with_mysql:en}%{!?with_mysql:dis}able-mysql \
239         --%{?with_mysql:en}%{!?with_mysql:dis}able-postgresql \
240         --disable-final \
241         --with-mp4v2 \
242         --with-qt-libraries=%{_libdir} \
243         --with%{!?with_included_sqlite:out}-included-sqlite
244
245 %{__make}
246
247 %install
248 rm -rf $RPM_BUILD_ROOT
249
250 %{__make} install \
251         DESTDIR=$RPM_BUILD_ROOT \
252         ruby_rubylibdir=%{ruby_rubylibdir} \
253         kde_htmldir=%{_kdedocdir} \
254         kde_libs_htmldir=%{_kdedocdir}
255
256 # remove bogus dir
257 rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/xx
258
259 rm $RPM_BUILD_ROOT%{_libdir}/kde3/*.la
260 rm $RPM_BUILD_ROOT%{_libdir}/libamarok.{so,la}
261
262 # example plugin code
263 rm -rf $RPM_BUILD_ROOT%{_datadir}/apps/amarok/scripts/templates
264
265 [ -d $RPM_BUILD_ROOT%{_datadir}/locale/sr@latin ] || \
266         mv -f $RPM_BUILD_ROOT%{_datadir}/locale/sr@{Latn,latin}
267 %find_lang amarok --all-name --with-kde
268
269 %clean
270 rm -rf $RPM_BUILD_ROOT
271
272 %post -p /sbin/ldconfig
273
274 %postun -p /sbin/ldconfig
275
276 %files -f amarok.lang
277 %defattr(644,root,root,755)
278 %doc AUTHORS ChangeLog README
279 %attr(755,root,root) %{_bindir}/amarok
280 %attr(755,root,root) %{_bindir}/amarokapp
281 %attr(755,root,root) %{_bindir}/amarokcollectionscanner
282 %attr(755,root,root) %{_bindir}/amarok_libvisual
283 # used by last.fm and daap
284 %attr(755,root,root) %{_bindir}/amarok_proxy.rb
285 # used by daap
286 %attr(755,root,root) %{_bindir}/amarok_daapserver.rb
287 %attr(755,root,root) %{_libdir}/libamarok.so.*.*.*
288 %attr(755,root,root) %ghost %{_libdir}/libamarok.so.0
289 %attr(755,root,root) %{_libdir}/kde3/libamarok_generic-mediadevice.so
290 %attr(755,root,root) %{_libdir}/kde3/libamarok_void-engine_plugin.so
291 %attr(755,root,root) %{_libdir}/kde3/libamarok_daap-mediadevice.so
292 %attr(755,root,root) %{_libdir}/kde3/libamarok_massstorage-device.so
293 %attr(755,root,root) %{_libdir}/kde3/libamarok_nfs-device.so
294 %attr(755,root,root) %{_libdir}/kde3/libamarok_smb-device.so
295 %dir %{_datadir}/apps/amarok
296 %dir %{_datadir}/apps/amarok/scripts
297 %{_datadir}/apps/amarok/*.rc
298 %{_datadir}/apps/amarok/data
299 %{_datadir}/apps/amarok/icons
300 %{_datadir}/apps/amarok/images
301 %{_datadir}/apps/amarok/themes
302 %{_datadir}/apps/profiles/amarok.profile.xml
303 %{_datadir}/config/amarokrc
304 %{_datadir}/config.kcfg/amarok.kcfg
305 %{_datadir}/services/amarok_generic-mediadevice.desktop
306 %{_datadir}/services/amarok_void-engine_plugin.desktop
307 %{_datadir}/services/amarok_daap-mediadevice.desktop
308 %{_datadir}/services/amarok_massstorage-device.desktop
309 %{_datadir}/services/amarok_nfs-device.desktop
310 %{_datadir}/services/amarok_smb-device.desktop
311 %{_datadir}/services/amaroklastfm.protocol
312 %{_datadir}/services/amarokitpc.protocol
313 %{_datadir}/services/amarokpcast.protocol
314 %{_datadir}/servicetypes/amarok_codecinstall.desktop
315 %{_datadir}/servicetypes/amarok_plugin.desktop
316 %{_desktopdir}/kde/amarok.desktop
317 %{_iconsdir}/*/*/apps/amarok.*
318
319 # TODO: move to subpackage
320 %dir %{ruby_rubylibdir}/amarok
321 # used by daap
322 %{ruby_rubylibdir}/amarok/codes.rb
323 # used by daap and lyrics_lyrc
324 %{ruby_rubylibdir}/amarok/debug.rb
325
326 # TODO: move to subpackage
327 %if %{with mp3players}
328 %attr(755,root,root) %{_libdir}/kde3/libamarok_ifp-mediadevice.so
329 %attr(755,root,root) %{_libdir}/kde3/libamarok_ipod-mediadevice.so
330 %attr(755,root,root) %{_libdir}/kde3/libamarok_mtp-mediadevice.so
331 %attr(755,root,root) %{_libdir}/kde3/libamarok_njb-mediadevice.so
332 %{_datadir}/services/amarok_ifp-mediadevice.desktop
333 %{_datadir}/services/amarok_ipod-mediadevice.desktop
334 %{_datadir}/services/amarok_mtp-mediadevice.desktop
335 %{_datadir}/services/amarok_njb-mediadevice.desktop
336 %endif
337
338 %files -n konqueror-addon-amarok
339 %defattr(644,root,root,755)
340 %attr(755,root,root) %{_libdir}/kde3/konqsidebar_universalamarok.so
341 %{_datadir}/apps/konqueror/servicemenus/amarok_append.desktop
342 %{_datadir}/apps/konqueror/servicemenus/amarok_addaspodcast.desktop
343 %{_datadir}/apps/konqueror/servicemenus/amarok_play_audiocd.desktop
344 %{_datadir}/apps/konqsidebartng/add/amarok.desktop
345 %{_datadir}/apps/konqsidebartng/entries/amarok.desktop
346 %{_datadir}/apps/konqsidebartng/kicker_entries/amarok.desktop
347
348 %if %{with helix}
349 %files helix
350 %defattr(644,root,root,755)
351 %attr(755,root,root) %{_libdir}/kde3/libamarok_helixengine_plugin.so
352 %{_datadir}/config.kcfg/helixconfig.kcfg
353 %{_datadir}/services/amarok_helixengine_plugin.desktop
354 %endif
355
356 %if %{with xine}
357 %files xine
358 %defattr(644,root,root,755)
359 %attr(755,root,root) %{_libdir}/kde3/libamarok_xine-engine.so
360 %{_datadir}/config.kcfg/xinecfg.kcfg
361 %{_datadir}/services/amarok_xine-engine.desktop
362 %endif
363
364 %if 0
365 %if %{with zeroconf}
366 %files zeroconf
367 %defattr(644,root,root,755)
368 #%{_datadir}/apps/zeroconf/_shoutcast._tcp
369 %endif
370 %endif
371
372 %files scripts
373 %defattr(644,root,root,755)
374 %dir %{_datadir}/apps/amarok/scripts/common
375 %{_datadir}/apps/amarok/scripts/common/Publisher.py
376 %{_datadir}/apps/amarok/scripts/common/Zeroconf.py
377
378 # amarok searches for executable programs for scripts
379 # to figure out which files need to have execute permission, use this
380 # find command:
381 # $ find $RPM_BUILD_ROOT/usr/share/apps/amarok/scripts -perm +1
382
383 #%dir %{_datadir}/apps/amarok/scripts/graphequalizer
384 #%{_datadir}/apps/amarok/scripts/graphequalizer/README
385 #%attr(755,root,root) %{_datadir}/apps/amarok/scripts/graphequalizer/graphequalizer
386
387 %dir %{_datadir}/apps/amarok/scripts/playlist2html
388 %{_datadir}/apps/amarok/scripts/playlist2html/README
389 %{_datadir}/apps/amarok/scripts/playlist2html/Playlist.py
390 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/playlist2html/PlaylistServer.py
391 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/playlist2html/playlist2html.py
392 %{_datadir}/apps/amarok/scripts/playlist2html/PlaylistServer.spec
393 %{_datadir}/apps/amarok/scripts/playlist2html/playlist2html.spec
394
395 %dir %{_datadir}/apps/amarok/scripts/webcontrol
396 %{_datadir}/apps/amarok/scripts/webcontrol/README
397 %{_datadir}/apps/amarok/scripts/webcontrol/Globals.py
398 %{_datadir}/apps/amarok/scripts/webcontrol/Playlist.py
399 %{_datadir}/apps/amarok/scripts/webcontrol/RequestHandler.py
400 %{_datadir}/apps/amarok/scripts/webcontrol/amarok_cut.png
401 %{_datadir}/apps/amarok/scripts/webcontrol/controlbackground.png
402 %{_datadir}/apps/amarok/scripts/webcontrol/main.css
403 %{_datadir}/apps/amarok/scripts/webcontrol/main.js
404 %{_datadir}/apps/amarok/scripts/webcontrol/player_end.png
405 %{_datadir}/apps/amarok/scripts/webcontrol/player_pause.png
406 %{_datadir}/apps/amarok/scripts/webcontrol/player_play.png
407 %{_datadir}/apps/amarok/scripts/webcontrol/player_start.png
408 %{_datadir}/apps/amarok/scripts/webcontrol/player_stop.png
409 %{_datadir}/apps/amarok/scripts/webcontrol/template.thtml
410 %{_datadir}/apps/amarok/scripts/webcontrol/vol_speaker.png
411 %{_datadir}/apps/amarok/scripts/webcontrol/WebPublisher.py
412 %{_datadir}/apps/amarok/scripts/webcontrol/WebControl.spec
413 %{_datadir}/apps/amarok/scripts/webcontrol/smallstar.png
414 %{_datadir}/apps/amarok/scripts/webcontrol/star.png
415 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/webcontrol/WebControl.py
416
417 %dir %{_datadir}/apps/amarok/scripts/lyrics_astraweb
418 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/COPYING
419 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/README
420 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/lyrics_astraweb/lyrics_astraweb.rb
421 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/lyrics_astraweb.spec
422
423 %dir %{_datadir}/apps/amarok/scripts/lyrics_lyrc
424 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/COPYING
425 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/README
426 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/lyrics_lyrc/lyrics_lyrc.rb
427 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/lyrics_lyrc.spec
428
429 %dir %{_datadir}/apps/amarok/scripts/score_default
430 %{_datadir}/apps/amarok/scripts/score_default/COPYING
431 %{_datadir}/apps/amarok/scripts/score_default/README
432 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/score_default/score_default.rb
433 %{_datadir}/apps/amarok/scripts/score_default/score_default.spec
434 %dir %{_datadir}/apps/amarok/scripts/score_impulsive
435 %{_datadir}/apps/amarok/scripts/score_impulsive/COPYING
436 %{_datadir}/apps/amarok/scripts/score_impulsive/README
437 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/score_impulsive/score_impulsive.rb
438 %{_datadir}/apps/amarok/scripts/score_impulsive/score_impulsive.spec
439
440 %if 0
441 %dir %{_datadir}/apps/amarok/scripts/amarok_live
442 %{_datadir}/apps/amarok/scripts/amarok_live/README
443 %{_datadir}/apps/amarok/scripts/amarok_live/amarok.live.remaster.part1.sh
444 %{_datadir}/apps/amarok/scripts/amarok_live/amarok.live.remaster.part2.sh
445 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/amarok_live/amarok_live.py
446 %endif
This page took 0.050596 seconds and 2 git commands to generate.