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)
13 %bcond_without xine # disable xine engine
14 %bcond_without zeroconf # disable support for zeroconf
15 %bcond_without included_sqlite # don't use included sqlite (VERY BAD IDEA), needs sqlite >= 3.3 otherwise
16 %bcond_without helix # disable HelixPlayer engine
17 %bcond_without mp3players # disable iPod and iRiver MP3 players support
18 %bcond_with nmm # enable NMM audio backend
19 %bcond_with mysql # enable MySQL support
20 %bcond_with pgsql # enable PostgreSQL support
26 Summary: A KDE audio player
27 Summary(pl.UTF-8): Odtwarzacz audio dla KDE
32 Group: X11/Applications/Multimedia
33 Source0: ftp://ftp.kde.org/pub/kde/stable/amarok/%{version}/src/%{name}-%{version}.tar.bz2
34 # Source0-md5: 3bdbf26181bf5e5925f48968caba7ac2
35 Patch0: %{name}-helixplayer-morearchs.patch
36 Patch1: %{name}-libnjb.patch
37 Patch2: %{name}-smp.patch
38 Patch3: %{name}-sparc.patch
39 Patch4: kde-ac260-lt.patch
40 Patch5: kde-common-PLD.patch
41 Patch6: %{name}-gcc4.patch
42 Patch7: %{name}-titleorder.patch
43 Patch8: %{name}-mongrel.patch
44 Patch9: %{name}-libmtp.patch
45 URL: http://amarok.kde.org/
46 # Upgrade to 2.0.1.1 required?
47 # http://www.trapkit.de/advisories/TKADV2009-002.txt
48 # http://amarok.kde.org/de/node/600
49 #BuildRequires: security(TKADV2009-002)
50 BuildRequires: SDL-devel
51 BuildRequires: alsa-lib-devel
52 BuildRequires: autoconf
53 BuildRequires: automake
54 BuildRequires: dbus-glib-devel
55 BuildRequires: gettext-devel
56 BuildRequires: kdebase-devel
57 BuildRequires: kdemultimedia-devel >= 9:3.1.93
58 %{?with_mp3players:BuildRequires: libgpod-devel >= 0.6.0}
59 %{?with_mp3players:BuildRequires: libifp-devel >= 1.0.0.2}
60 BuildRequires: libltdl-devel
61 %{?with_mp3players:BuildRequires: libmtp-devel >= 0.3.0}
62 %{?with_mp3players:BuildRequires: libnjb-devel >= 2.2.4}
63 %{?with_pgsql:BuildRequires: libpqxx-devel}
64 BuildRequires: libtunepimp-devel >= 0.5.1-6
65 BuildRequires: libvisual-devel >= 0.4.0
66 BuildRequires: mpeg4ip-devel >= 1:1.6
67 %{?with_mysql:BuildRequires: mysql-devel}
68 BuildRequires: pcre-devel
69 BuildRequires: pkgconfig
70 BuildRequires: rpm-pythonprov
71 BuildRequires: rpmbuild(macros) >= 1.129
72 BuildRequires: ruby-devel >= 1.8
73 BuildRequires: sed >= 4.0
74 %{!?with_included_sqlite:BuildRequires: sqlite3-devel >= 3.3}
75 BuildRequires: taglib-devel >= 1.4
76 %{?with_xine:BuildRequires: xine-lib-devel >= 1.1.1}
77 Requires(post): /sbin/ldconfig
78 Requires: %{name}-plugin = %{version}-%{release}
79 Requires: ruby-mongrel
80 Suggests: kdemultimedia(audiocd) >= 9:3.1.93
81 Suggests: libvisual-plugin-actor-JESS
82 Suggests: libvisual-plugin-actor-bumpscope
83 Suggests: libvisual-plugin-actor-corona
84 Suggests: libvisual-plugin-actor-flower
85 Suggests: libvisual-plugin-actor-gdkpixbuf
86 Suggests: libvisual-plugin-actor-gforce
87 Suggests: libvisual-plugin-actor-infinite
88 Suggests: libvisual-plugin-actor-jakdaw
89 Suggests: libvisual-plugin-actor-lv_analyzer
90 Suggests: libvisual-plugin-actor-lv_gltest
91 Suggests: libvisual-plugin-actor-lv_scope
92 Suggests: libvisual-plugin-actor-madspin
93 Suggests: libvisual-plugin-actor-nastyfft
94 Suggests: libvisual-plugin-actor-oinksie
95 Suggests: libvisual-plugin-input-alsa
96 Suggests: libvisual-plugin-input-esd
97 Suggests: libvisual-plugin-input-jack
98 Suggests: libvisual-plugin-input-mplayer
99 Suggests: libvisual-plugin-morph-alphablend
100 Suggests: libvisual-plugin-morph-flash
101 Suggests: libvisual-plugin-morph-slide
102 Suggests: libvisual-plugin-morph-tentacle
103 Suggests: python-PyKDE
104 Obsoletes: amarok-arts
105 Obsoletes: amarok-xmms
106 Conflicts: kdelibs-libs < 9:3.5.9
107 # sr@Latn vs. sr@latin
108 Conflicts: glibc-misc < 6:2.7
109 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
111 # temporary hack for proper libgpod::itdb_get_mountpoint() detection.
112 %define filterout_ld -Wl,--as-needed
117 %description -l pl.UTF-8
118 Odtwarzacz audio dla KDE.
120 %package -n konqueror-addon-amarok
121 Summary: Amarok sidebar for Konqueror
122 Summary(pl.UTF-8): Pasek z Amarokiem dla Konquerora
123 Group: X11/Applications/Multimedia
124 Requires: %{name} = %{version}-%{release}
126 %description -n konqueror-addon-amarok
127 Amarok sidebar for Konqueror.
129 %description -n konqueror-addon-amarok -l pl.UTF-8
130 Pasek z Amarokiem dla Konquerora.
133 Summary: Helix/Realplayer playback support for amarok
134 Summary(pl.UTF-8): Wsparcie dla odtwarzania przez Helix/Realplayera dla amaroka
135 Group: X11/Applications/Multimedia
136 Requires: %{name} = %{version}-%{release}
138 Provides: %{name}-plugin = %{version}-%{release}
141 Helix/Realplayer playback support for amarok.
143 %description helix -l pl.UTF-8
144 Wsparcie dla odtwarzania przez Helix/Realplayera dla amaroka.
148 Summary(pl.UTF-8): Wtyczka xine
149 Group: X11/Applications/Multimedia
150 Requires: %{name} = %{version}-%{release}
151 Requires: xine-plugin-audio
152 Provides: %{name}-plugin = %{version}-%{release}
157 %description xine -l pl.UTF-8
161 Summary: Zeroconf data
162 Summary(pl.UTF-8): Dane dla zeroconf
163 Group: X11/Applications/Multimedia
164 Requires: %{name} = %{version}-%{release}
165 Requires: kdenetwork-kdnssd
166 Provides: %{name}-plugin = %{version}-%{release}
168 %description zeroconf
171 %description zeroconf -l pl.UTF-8
175 Summary: amaroK scripts
176 Summary(pl.UTF-8): Skrypty amaroKa
177 Group: X11/Applications/Multimedia
178 Requires: %{name} = %{version}-%{release}
179 Requires: /usr/bin/kdialog
180 Requires: python-PyQt
181 Requires: ruby-modules
184 amaroK scripts allow you extend amaroK functionality.
186 You can learn more about scripts in amaroK from here:
187 <http://amarok.kde.org/amarokwiki/index.php/Script-Writing_HowTo>.
189 %description scripts -l pl.UTF-8
190 Skrypty amaroKa pozwalające rozszerzać jego funkcjonalność.
192 Więcej o skryptach w amaroKu można dowiedzieć się stąd:
193 <http://amarok.kde.org/amarokwiki/index.php/Script-Writing_HowTo>.
208 %{__sed} -i -e 's/Categories=.*/Categories=Qt;KDE;AudioVideo;Player;/' \
209 amarok/src/amarok.desktop \
211 # see kde bug #110909
212 %{__sed} -i -e 's/amarok_live//' amarok/src/scripts/Makefile.am
214 # kill env, call interpreter directly, so rpm automatics could rule
216 1s,#!.*bin/env.*ruby,#!%{_bindir}/ruby,
217 1s,#!.*bin/env.*python,#!%{__python},
218 ' amarok/src/scripts/*/*.{py,rb} amarok/src/amarok_proxy.rb
221 cp -f /usr/share/automake/config.sub admin
222 %{__make} -f admin/Makefile.common cvs
224 # hack: passing something other than "no" or "yes" to --with-helix allows
225 # us to pass HELIX_LIBS
227 HELIX_LIBS=%{_libdir}/helixplayer \
228 --%{?debug:en}%{!?debug:dis}able-debug%{?debug:=full} \
230 --with%{!?with_xine:out}-xine \
231 --with%{!?with_helix:out}-helix%{?with_helix:=usegivenpath} \
232 --with%{!?with_nmm:out}-nmm \
233 --with%{!?with_mp3players:out}-libgpod \
234 --with%{!?with_mp3players:out}-libnjb \
235 --with%{!?with_mp3players:out}-libmtp \
236 --with%{!?with_mp3players:out}-ifp \
237 --%{?with_mysql:en}%{!?with_mysql:dis}able-mysql \
238 --%{?with_mysql:en}%{!?with_mysql:dis}able-postgresql \
241 --with-qt-libraries=%{_libdir} \
242 --with%{!?with_included_sqlite:out}-included-sqlite
247 rm -rf $RPM_BUILD_ROOT
250 DESTDIR=$RPM_BUILD_ROOT \
251 ruby_rubylibdir=%{ruby_rubylibdir} \
252 kde_htmldir=%{_kdedocdir} \
253 kde_libs_htmldir=%{_kdedocdir}
256 rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/xx
258 rm $RPM_BUILD_ROOT%{_libdir}/kde3/*.la
259 rm $RPM_BUILD_ROOT%{_libdir}/libamarok.{so,la}
261 # example plugin code
262 rm -rf $RPM_BUILD_ROOT%{_datadir}/apps/amarok/scripts/templates
264 [ -d $RPM_BUILD_ROOT%{_datadir}/locale/sr@latin ] || \
265 mv -f $RPM_BUILD_ROOT%{_datadir}/locale/sr@{Latn,latin}
266 %find_lang amarok --all-name --with-kde
269 rm -rf $RPM_BUILD_ROOT
271 %post -p /sbin/ldconfig
273 %postun -p /sbin/ldconfig
275 %files -f amarok.lang
276 %defattr(644,root,root,755)
277 %doc AUTHORS ChangeLog README
278 %attr(755,root,root) %{_bindir}/amarok
279 %attr(755,root,root) %{_bindir}/amarokapp
280 %attr(755,root,root) %{_bindir}/amarokcollectionscanner
281 %attr(755,root,root) %{_bindir}/amarok_libvisual
282 # used by last.fm and daap
283 %attr(755,root,root) %{_bindir}/amarok_proxy.rb
285 %attr(755,root,root) %{_bindir}/amarok_daapserver.rb
286 %attr(755,root,root) %{_libdir}/libamarok.so.*.*.*
287 %attr(755,root,root) %ghost %{_libdir}/libamarok.so.0
288 %attr(755,root,root) %{_libdir}/kde3/libamarok_generic-mediadevice.so
289 %attr(755,root,root) %{_libdir}/kde3/libamarok_void-engine_plugin.so
290 %attr(755,root,root) %{_libdir}/kde3/libamarok_daap-mediadevice.so
291 %attr(755,root,root) %{_libdir}/kde3/libamarok_massstorage-device.so
292 %attr(755,root,root) %{_libdir}/kde3/libamarok_nfs-device.so
293 %attr(755,root,root) %{_libdir}/kde3/libamarok_smb-device.so
294 %dir %{_datadir}/apps/amarok
295 %dir %{_datadir}/apps/amarok/scripts
296 %{_datadir}/apps/amarok/*.rc
297 %{_datadir}/apps/amarok/data
298 %{_datadir}/apps/amarok/icons
299 %{_datadir}/apps/amarok/images
300 %{_datadir}/apps/amarok/themes
301 %{_datadir}/apps/profiles/amarok.profile.xml
302 %{_datadir}/config/amarokrc
303 %{_datadir}/config.kcfg/amarok.kcfg
304 %{_datadir}/services/amarok_generic-mediadevice.desktop
305 %{_datadir}/services/amarok_void-engine_plugin.desktop
306 %{_datadir}/services/amarok_daap-mediadevice.desktop
307 %{_datadir}/services/amarok_massstorage-device.desktop
308 %{_datadir}/services/amarok_nfs-device.desktop
309 %{_datadir}/services/amarok_smb-device.desktop
310 %{_datadir}/services/amaroklastfm.protocol
311 %{_datadir}/services/amarokitpc.protocol
312 %{_datadir}/services/amarokpcast.protocol
313 %{_datadir}/servicetypes/amarok_codecinstall.desktop
314 %{_datadir}/servicetypes/amarok_plugin.desktop
315 %{_desktopdir}/kde/amarok.desktop
316 %{_iconsdir}/*/*/apps/amarok.*
318 # TODO: move to subpackage
319 %dir %{ruby_rubylibdir}/amarok
321 %{ruby_rubylibdir}/amarok/codes.rb
322 # used by daap and lyrics_lyrc
323 %{ruby_rubylibdir}/amarok/debug.rb
325 # TODO: move to subpackage
326 %if %{with mp3players}
327 %attr(755,root,root) %{_libdir}/kde3/libamarok_ifp-mediadevice.so
328 %attr(755,root,root) %{_libdir}/kde3/libamarok_ipod-mediadevice.so
329 %attr(755,root,root) %{_libdir}/kde3/libamarok_mtp-mediadevice.so
330 %attr(755,root,root) %{_libdir}/kde3/libamarok_njb-mediadevice.so
331 %{_datadir}/services/amarok_ifp-mediadevice.desktop
332 %{_datadir}/services/amarok_ipod-mediadevice.desktop
333 %{_datadir}/services/amarok_mtp-mediadevice.desktop
334 %{_datadir}/services/amarok_njb-mediadevice.desktop
337 %files -n konqueror-addon-amarok
338 %defattr(644,root,root,755)
339 %attr(755,root,root) %{_libdir}/kde3/konqsidebar_universalamarok.so
340 %{_datadir}/apps/konqueror/servicemenus/amarok_append.desktop
341 %{_datadir}/apps/konqueror/servicemenus/amarok_addaspodcast.desktop
342 %{_datadir}/apps/konqueror/servicemenus/amarok_play_audiocd.desktop
343 %{_datadir}/apps/konqsidebartng/add/amarok.desktop
344 %{_datadir}/apps/konqsidebartng/entries/amarok.desktop
345 %{_datadir}/apps/konqsidebartng/kicker_entries/amarok.desktop
349 %defattr(644,root,root,755)
350 %attr(755,root,root) %{_libdir}/kde3/libamarok_helixengine_plugin.so
351 %{_datadir}/config.kcfg/helixconfig.kcfg
352 %{_datadir}/services/amarok_helixengine_plugin.desktop
357 %defattr(644,root,root,755)
358 %attr(755,root,root) %{_libdir}/kde3/libamarok_xine-engine.so
359 %{_datadir}/config.kcfg/xinecfg.kcfg
360 %{_datadir}/services/amarok_xine-engine.desktop
366 %defattr(644,root,root,755)
367 #%{_datadir}/apps/zeroconf/_shoutcast._tcp
372 %defattr(644,root,root,755)
373 %dir %{_datadir}/apps/amarok/scripts/common
374 %{_datadir}/apps/amarok/scripts/common/Publisher.py
375 %{_datadir}/apps/amarok/scripts/common/Zeroconf.py
377 # amarok searches for executable programs for scripts
378 # to figure out which files need to have execute permission, use this
380 # $ find $RPM_BUILD_ROOT/usr/share/apps/amarok/scripts -perm +1
382 #%dir %{_datadir}/apps/amarok/scripts/graphequalizer
383 #%{_datadir}/apps/amarok/scripts/graphequalizer/README
384 #%attr(755,root,root) %{_datadir}/apps/amarok/scripts/graphequalizer/graphequalizer
386 %dir %{_datadir}/apps/amarok/scripts/playlist2html
387 %{_datadir}/apps/amarok/scripts/playlist2html/README
388 %{_datadir}/apps/amarok/scripts/playlist2html/Playlist.py
389 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/playlist2html/PlaylistServer.py
390 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/playlist2html/playlist2html.py
391 %{_datadir}/apps/amarok/scripts/playlist2html/PlaylistServer.spec
392 %{_datadir}/apps/amarok/scripts/playlist2html/playlist2html.spec
394 %dir %{_datadir}/apps/amarok/scripts/webcontrol
395 %{_datadir}/apps/amarok/scripts/webcontrol/README
396 %{_datadir}/apps/amarok/scripts/webcontrol/Globals.py
397 %{_datadir}/apps/amarok/scripts/webcontrol/Playlist.py
398 %{_datadir}/apps/amarok/scripts/webcontrol/RequestHandler.py
399 %{_datadir}/apps/amarok/scripts/webcontrol/amarok_cut.png
400 %{_datadir}/apps/amarok/scripts/webcontrol/controlbackground.png
401 %{_datadir}/apps/amarok/scripts/webcontrol/main.css
402 %{_datadir}/apps/amarok/scripts/webcontrol/main.js
403 %{_datadir}/apps/amarok/scripts/webcontrol/player_end.png
404 %{_datadir}/apps/amarok/scripts/webcontrol/player_pause.png
405 %{_datadir}/apps/amarok/scripts/webcontrol/player_play.png
406 %{_datadir}/apps/amarok/scripts/webcontrol/player_start.png
407 %{_datadir}/apps/amarok/scripts/webcontrol/player_stop.png
408 %{_datadir}/apps/amarok/scripts/webcontrol/template.thtml
409 %{_datadir}/apps/amarok/scripts/webcontrol/vol_speaker.png
410 %{_datadir}/apps/amarok/scripts/webcontrol/WebPublisher.py
411 %{_datadir}/apps/amarok/scripts/webcontrol/WebControl.spec
412 %{_datadir}/apps/amarok/scripts/webcontrol/smallstar.png
413 %{_datadir}/apps/amarok/scripts/webcontrol/star.png
414 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/webcontrol/WebControl.py
416 %dir %{_datadir}/apps/amarok/scripts/lyrics_astraweb
417 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/COPYING
418 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/README
419 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/lyrics_astraweb/lyrics_astraweb.rb
420 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/lyrics_astraweb.spec
422 %dir %{_datadir}/apps/amarok/scripts/lyrics_lyrc
423 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/COPYING
424 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/README
425 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/lyrics_lyrc/lyrics_lyrc.rb
426 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/lyrics_lyrc.spec
428 %dir %{_datadir}/apps/amarok/scripts/score_default
429 %{_datadir}/apps/amarok/scripts/score_default/COPYING
430 %{_datadir}/apps/amarok/scripts/score_default/README
431 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/score_default/score_default.rb
432 %{_datadir}/apps/amarok/scripts/score_default/score_default.spec
433 %dir %{_datadir}/apps/amarok/scripts/score_impulsive
434 %{_datadir}/apps/amarok/scripts/score_impulsive/COPYING
435 %{_datadir}/apps/amarok/scripts/score_impulsive/README
436 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/score_impulsive/score_impulsive.rb
437 %{_datadir}/apps/amarok/scripts/score_impulsive/score_impulsive.spec
440 %dir %{_datadir}/apps/amarok/scripts/amarok_live
441 %{_datadir}/apps/amarok/scripts/amarok_live/README
442 %{_datadir}/apps/amarok/scripts/amarok_live/amarok.live.remaster.part1.sh
443 %{_datadir}/apps/amarok/scripts/amarok_live/amarok.live.remaster.part2.sh
444 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/amarok_live/amarok_live.py