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_with gstreamer # enable gstreamer (gst10 not stable)
14 %bcond_without mas # disable MAS audio backend
15 %bcond_without xine # disable xine engine
16 %bcond_without zeroconf # disable support for zeroconf
17 %bcond_without included_sqlite # don't use included sqlite (VERY BAD IDEA), needs sqlite >= 3.3 otherwise
18 %bcond_without helix # disable HelixPlayer engine
19 %bcond_without mp3players # disable iPod and iRiver MP3 players support
20 %bcond_with nmm # enable NMM audio backend
21 %bcond_with mysql # enable MySQL support
22 %bcond_with pgsql # enable PostgreSQL support
28 Summary: A KDE audio player
29 Summary(pl.UTF-8): Odtwarzacz audio dla KDE
34 Group: X11/Applications/Multimedia
35 Source0: ftp://ftp.kde.org/pub/kde/stable/amarok/%{version}/src/%{name}-%{version}.tar.bz2
36 # Source0-md5: 3bdbf26181bf5e5925f48968caba7ac2
37 Patch0: %{name}-helixplayer-morearchs.patch
38 Patch1: %{name}-libnjb.patch
39 Patch2: %{name}-smp.patch
40 Patch3: %{name}-sparc.patch
41 Patch4: kde-ac260-lt.patch
42 Patch5: kde-common-PLD.patch
43 Patch6: %{name}-gcc4.patch
44 Patch7: %{name}-titleorder.patch
45 Patch8: %{name}-mongrel.patch
46 Patch9: %{name}-libmtp.patch
47 URL: http://amarok.kde.org/
48 # Upgrade to 2.0.1.1 required?
49 # http://www.trapkit.de/advisories/TKADV2009-002.txt
50 # http://amarok.kde.org/de/node/600
51 BuildRequires: security(TKADV2009-002)
52 BuildRequires: SDL-devel
53 BuildRequires: alsa-lib-devel
54 BuildRequires: autoconf
55 BuildRequires: automake
56 BuildRequires: dbus-glib-devel
57 BuildRequires: gettext-devel
58 %{?with_gstreamer:BuildRequires: gstreamer-devel >= 0.10.0}
59 BuildRequires: kdebase-devel
60 %{?with_akode:BuildRequires: kdemultimedia-akode}
61 BuildRequires: kdemultimedia-devel >= 9:3.1.93
62 %{?with_mp3players:BuildRequires: libgpod-devel >= 0.6.0}
63 %{?with_mp3players:BuildRequires: libifp-devel >= 1.0.0.2}
64 BuildRequires: libltdl-devel
65 %{?with_mp3players:BuildRequires: libmtp-devel >= 0.3.0}
66 %{?with_mp3players:BuildRequires: libnjb-devel >= 2.2.4}
67 %{?with_pgsql:BuildRequires: libpqxx-devel}
68 BuildRequires: libtunepimp-devel >= 0.5.1-6
69 BuildRequires: libvisual-devel >= 0.4.0
70 BuildRequires: mpeg4ip-devel >= 1:1.6
71 %{?with_mysql:BuildRequires: mysql-devel}
72 BuildRequires: pcre-devel
73 BuildRequires: pkgconfig
74 BuildRequires: rpm-pythonprov
75 BuildRequires: rpmbuild(macros) >= 1.129
76 BuildRequires: ruby-devel >= 1.8
77 BuildRequires: sed >= 4.0
78 %{!?with_included_sqlite:BuildRequires: sqlite3-devel >= 3.3}
79 BuildRequires: taglib-devel >= 1.4
80 %{?with_xine:BuildRequires: xine-lib-devel >= 1.1.1}
81 Requires(post): /sbin/ldconfig
82 Requires: %{name}-plugin = %{version}-%{release}
83 Requires: ruby-mongrel
84 Suggests: kdemultimedia(audiocd) >= 9:3.1.93
85 Suggests: libvisual-plugin-actor-JESS
86 Suggests: libvisual-plugin-actor-bumpscope
87 Suggests: libvisual-plugin-actor-corona
88 Suggests: libvisual-plugin-actor-flower
89 Suggests: libvisual-plugin-actor-gdkpixbuf
90 Suggests: libvisual-plugin-actor-gforce
91 %{?with_gstreamer:Suggests: libvisual-plugin-actor-gstreamer}
92 Suggests: libvisual-plugin-actor-infinite
93 Suggests: libvisual-plugin-actor-jakdaw
94 Suggests: libvisual-plugin-actor-lv_analyzer
95 Suggests: libvisual-plugin-actor-lv_gltest
96 Suggests: libvisual-plugin-actor-lv_scope
97 Suggests: libvisual-plugin-actor-madspin
98 Suggests: libvisual-plugin-actor-nastyfft
99 Suggests: libvisual-plugin-actor-oinksie
100 Suggests: libvisual-plugin-input-alsa
101 Suggests: libvisual-plugin-input-esd
102 Suggests: libvisual-plugin-input-jack
103 Suggests: libvisual-plugin-input-mplayer
104 Suggests: libvisual-plugin-morph-alphablend
105 Suggests: libvisual-plugin-morph-flash
106 Suggests: libvisual-plugin-morph-slide
107 Suggests: libvisual-plugin-morph-tentacle
108 Suggests: python-PyKDE
109 Obsoletes: amarok-arts
110 Obsoletes: amarok-xmms
111 Conflicts: kdelibs-libs < 9:3.5.9
112 # sr@Latn vs. sr@latin
113 Conflicts: glibc-misc < 6:2.7
114 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
116 # temporary hack for proper libgpod::itdb_get_mountpoint() detection.
117 %define filterout_ld -Wl,--as-needed
122 %description -l pl.UTF-8
123 Odtwarzacz audio dla KDE.
125 %package -n konqueror-addon-amarok
126 Summary: Amarok sidebar for Konqueror
127 Summary(pl.UTF-8): Pasek z Amarokiem dla Konquerora
128 Group: X11/Applications/Multimedia
129 Requires: %{name} = %{version}-%{release}
131 %description -n konqueror-addon-amarok
132 Amarok sidebar for Konqueror.
134 %description -n konqueror-addon-amarok -l pl.UTF-8
135 Pasek z Amarokiem dla Konquerora.
138 Summary: Plugin akode
139 Summary(pl.UTF-8): Wtyczka akode
140 Group: X11/Applications/Multimedia
141 Requires: %{name} = %{version}-%{release}
142 Provides: %{name}-plugin = %{version}-%{release}
147 %description akode -l pl.UTF-8
151 Summary: Helix/Realplayer playback support for amarok
152 Summary(pl.UTF-8): Wsparcie dla odtwarzania przez Helix/Realplayera dla amaroka
153 Group: X11/Applications/Multimedia
154 Requires: %{name} = %{version}-%{release}
156 Provides: %{name}-plugin = %{version}-%{release}
159 Helix/Realplayer playback support for amarok.
161 %description helix -l pl.UTF-8
162 Wsparcie dla odtwarzania przez Helix/Realplayera dla amaroka.
165 Summary: Plugin gstreamer
166 Summary(pl.UTF-8): Wtyczka gstreamer
167 Group: X11/Applications/Multimedia
168 # deps, to get it working:
169 # mp3 decoder: gstreamer-mad
170 # ogg decoder: gstreamer-vorbis
171 # audio output driver: gstreamer-audiosink-alsa
172 # from gstreamer-audio-effects to control volume, etc
174 # at least /usr/lib/gstreamer-0.8/libgstresample.so
175 # probably /usr/lib/gstreamer-0.8/libgstadder.so
176 # and probably /usr/lib/gstreamer-0.8/libgstvolume.so
177 # gstreamer-musicbrainz for being able to edit id3 tags on files.
178 Requires: %{name} = %{version}-%{release}
179 Requires: gstreamer-audio-effects
180 Requires: gstreamer-audiosink
181 Requires: gstreamer-mad
182 Requires: gstreamer-musicbrainz
183 Requires: gstreamer-vorbis
184 Provides: %{name}-plugin = %{version}-%{release}
186 %description gstreamer
189 %description gstreamer -l pl.UTF-8
194 Summary(pl.UTF-8): Wtyczka xine
195 Group: X11/Applications/Multimedia
196 Requires: %{name} = %{version}-%{release}
197 Requires: xine-plugin-audio
198 Provides: %{name}-plugin = %{version}-%{release}
203 %description xine -l pl.UTF-8
207 Summary: Zeroconf data
208 Summary(pl.UTF-8): Dane dla zeroconf
209 Group: X11/Applications/Multimedia
210 Requires: %{name} = %{version}-%{release}
211 Requires: kdenetwork-kdnssd
212 Provides: %{name}-plugin = %{version}-%{release}
214 %description zeroconf
217 %description zeroconf -l pl.UTF-8
221 Summary: amaroK scripts
222 Summary(pl.UTF-8): Skrypty amaroKa
223 Group: X11/Applications/Multimedia
224 Requires: %{name} = %{version}-%{release}
225 Requires: /usr/bin/kdialog
226 Requires: python-PyQt
227 Requires: ruby-modules
230 amaroK scripts allow you extend amaroK functionality.
232 You can learn more about scripts in amaroK from here:
233 <http://amarok.kde.org/amarokwiki/index.php/Script-Writing_HowTo>.
235 %description scripts -l pl.UTF-8
236 Skrypty amaroKa pozwalające rozszerzać jego funkcjonalność.
238 Więcej o skryptach w amaroKu można dowiedzieć się stąd:
239 <http://amarok.kde.org/amarokwiki/index.php/Script-Writing_HowTo>.
254 %{__sed} -i -e 's/Categories=.*/Categories=Qt;KDE;AudioVideo;Player;/' \
255 amarok/src/amarok.desktop \
257 # see kde bug #110909
258 %{__sed} -i -e 's/amarok_live//' amarok/src/scripts/Makefile.am
260 # kill env, call interpreter directly, so rpm automatics could rule
262 1s,#!.*bin/env.*ruby,#!%{_bindir}/ruby,
263 1s,#!.*bin/env.*python,#!%{__python},
264 ' amarok/src/scripts/*/*.{py,rb} amarok/src/amarok_proxy.rb
267 cp -f /usr/share/automake/config.sub admin
268 %{__make} -f admin/Makefile.common cvs
270 # hack: passing something other than "no" or "yes" to --with-helix allows
271 # us to pass HELIX_LIBS
273 HELIX_LIBS=%{_libdir}/helixplayer \
274 --%{?debug:en}%{!?debug:dis}able-debug%{?debug:=full} \
276 --with%{!?with_mas:out}-mas \
277 --with%{!?with_xine:out}-xine \
278 --with%{!?with_gstreamer:out}-gstreamer10 \
279 --with%{!?with_akode:out}-akode \
280 --with%{!?with_helix:out}-helix%{?with_helix:=usegivenpath} \
281 --with%{!?with_nmm:out}-nmm \
282 --with%{!?with_mp3players:out}-libgpod \
283 --with%{!?with_mp3players:out}-libnjb \
284 --with%{!?with_mp3players:out}-libmtp \
285 --with%{!?with_mp3players:out}-ifp \
286 --%{?with_mysql:en}%{!?with_mysql:dis}able-mysql \
287 --%{?with_mysql:en}%{!?with_mysql:dis}able-postgresql \
290 --with-qt-libraries=%{_libdir} \
291 --with%{!?with_included_sqlite:out}-included-sqlite
296 rm -rf $RPM_BUILD_ROOT
299 DESTDIR=$RPM_BUILD_ROOT \
300 ruby_rubylibdir=%{ruby_rubylibdir} \
301 kde_htmldir=%{_kdedocdir} \
302 kde_libs_htmldir=%{_kdedocdir}
305 rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/xx
307 rm $RPM_BUILD_ROOT%{_libdir}/kde3/*.la
308 rm $RPM_BUILD_ROOT%{_libdir}/libamarok.{so,la}
310 # example plugin code
311 rm -rf $RPM_BUILD_ROOT%{_datadir}/apps/amarok/scripts/templates
313 [ -d $RPM_BUILD_ROOT%{_datadir}/locale/sr@latin ] || \
314 mv -f $RPM_BUILD_ROOT%{_datadir}/locale/sr@{Latn,latin}
315 %find_lang amarok --all-name --with-kde
318 rm -rf $RPM_BUILD_ROOT
320 %post -p /sbin/ldconfig
322 %postun -p /sbin/ldconfig
324 %files -f amarok.lang
325 %defattr(644,root,root,755)
326 %doc AUTHORS ChangeLog README
327 %attr(755,root,root) %{_bindir}/amarok
328 %attr(755,root,root) %{_bindir}/amarokapp
329 %attr(755,root,root) %{_bindir}/amarokcollectionscanner
330 %attr(755,root,root) %{_bindir}/amarok_libvisual
331 # used by last.fm and daap
332 %attr(755,root,root) %{_bindir}/amarok_proxy.rb
334 %attr(755,root,root) %{_bindir}/amarok_daapserver.rb
335 %attr(755,root,root) %{_libdir}/libamarok.so.*.*.*
336 %attr(755,root,root) %ghost %{_libdir}/libamarok.so.0
337 %attr(755,root,root) %{_libdir}/kde3/libamarok_generic-mediadevice.so
338 %attr(755,root,root) %{_libdir}/kde3/libamarok_void-engine_plugin.so
339 %attr(755,root,root) %{_libdir}/kde3/libamarok_daap-mediadevice.so
340 %attr(755,root,root) %{_libdir}/kde3/libamarok_massstorage-device.so
341 %attr(755,root,root) %{_libdir}/kde3/libamarok_nfs-device.so
342 %attr(755,root,root) %{_libdir}/kde3/libamarok_smb-device.so
343 %dir %{_datadir}/apps/amarok
344 %dir %{_datadir}/apps/amarok/scripts
345 %{_datadir}/apps/amarok/*.rc
346 %{_datadir}/apps/amarok/data
347 %{_datadir}/apps/amarok/icons
348 %{_datadir}/apps/amarok/images
349 %{_datadir}/apps/amarok/themes
350 %{_datadir}/apps/profiles/amarok.profile.xml
351 %{_datadir}/config/amarokrc
352 %{_datadir}/config.kcfg/amarok.kcfg
353 %{_datadir}/services/amarok_generic-mediadevice.desktop
354 %{_datadir}/services/amarok_void-engine_plugin.desktop
355 %{_datadir}/services/amarok_daap-mediadevice.desktop
356 %{_datadir}/services/amarok_massstorage-device.desktop
357 %{_datadir}/services/amarok_nfs-device.desktop
358 %{_datadir}/services/amarok_smb-device.desktop
359 %{_datadir}/services/amaroklastfm.protocol
360 %{_datadir}/services/amarokitpc.protocol
361 %{_datadir}/services/amarokpcast.protocol
362 %{_datadir}/servicetypes/amarok_codecinstall.desktop
363 %{_datadir}/servicetypes/amarok_plugin.desktop
364 %{_desktopdir}/kde/amarok.desktop
365 %{_iconsdir}/*/*/apps/amarok.*
367 # TODO: move to subpackage
368 %dir %{ruby_rubylibdir}/amarok
370 %{ruby_rubylibdir}/amarok/codes.rb
371 # used by daap and lyrics_lyrc
372 %{ruby_rubylibdir}/amarok/debug.rb
374 # TODO: move to subpackage
375 %if %{with mp3players}
376 %attr(755,root,root) %{_libdir}/kde3/libamarok_ifp-mediadevice.so
377 %attr(755,root,root) %{_libdir}/kde3/libamarok_ipod-mediadevice.so
378 %attr(755,root,root) %{_libdir}/kde3/libamarok_mtp-mediadevice.so
379 %attr(755,root,root) %{_libdir}/kde3/libamarok_njb-mediadevice.so
380 %{_datadir}/services/amarok_ifp-mediadevice.desktop
381 %{_datadir}/services/amarok_ipod-mediadevice.desktop
382 %{_datadir}/services/amarok_mtp-mediadevice.desktop
383 %{_datadir}/services/amarok_njb-mediadevice.desktop
386 %files -n konqueror-addon-amarok
387 %defattr(644,root,root,755)
388 %attr(755,root,root) %{_libdir}/kde3/konqsidebar_universalamarok.so
389 %{_datadir}/apps/konqueror/servicemenus/amarok_append.desktop
390 %{_datadir}/apps/konqueror/servicemenus/amarok_addaspodcast.desktop
391 %{_datadir}/apps/konqueror/servicemenus/amarok_play_audiocd.desktop
392 %{_datadir}/apps/konqsidebartng/add/amarok.desktop
393 %{_datadir}/apps/konqsidebartng/entries/amarok.desktop
394 %{_datadir}/apps/konqsidebartng/kicker_entries/amarok.desktop
398 %defattr(644,root,root,755)
399 %attr(755,root,root) %{_libdir}/kde3/libamarok_aKode-engine.so
400 %{_datadir}/services/amarok_aKode-engine.desktop
403 %if %{with gstreamer}
405 %defattr(644,root,root,755)
406 %attr(755,root,root) %{_libdir}/kde3/libamarok_gst10engine_plugin.so
407 %{_datadir}/config.kcfg/gstconfig.kcfg
408 %{_datadir}/services/amarok_gst10engine_plugin.desktop
413 %defattr(644,root,root,755)
414 %attr(755,root,root) %{_libdir}/kde3/libamarok_helixengine_plugin.so
415 %{_datadir}/config.kcfg/helixconfig.kcfg
416 %{_datadir}/services/amarok_helixengine_plugin.desktop
421 %defattr(644,root,root,755)
422 %attr(755,root,root) %{_libdir}/kde3/libamarok_xine-engine.so
423 %{_datadir}/config.kcfg/xinecfg.kcfg
424 %{_datadir}/services/amarok_xine-engine.desktop
430 %defattr(644,root,root,755)
431 #%{_datadir}/apps/zeroconf/_shoutcast._tcp
436 %defattr(644,root,root,755)
437 %dir %{_datadir}/apps/amarok/scripts/common
438 %{_datadir}/apps/amarok/scripts/common/Publisher.py
439 %{_datadir}/apps/amarok/scripts/common/Zeroconf.py
441 # amarok searches for executable programs for scripts
442 # to figure out which files need to have execute permission, use this
444 # $ find $RPM_BUILD_ROOT/usr/share/apps/amarok/scripts -perm +1
446 #%dir %{_datadir}/apps/amarok/scripts/graphequalizer
447 #%{_datadir}/apps/amarok/scripts/graphequalizer/README
448 #%attr(755,root,root) %{_datadir}/apps/amarok/scripts/graphequalizer/graphequalizer
450 %dir %{_datadir}/apps/amarok/scripts/playlist2html
451 %{_datadir}/apps/amarok/scripts/playlist2html/README
452 %{_datadir}/apps/amarok/scripts/playlist2html/Playlist.py
453 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/playlist2html/PlaylistServer.py
454 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/playlist2html/playlist2html.py
455 %{_datadir}/apps/amarok/scripts/playlist2html/PlaylistServer.spec
456 %{_datadir}/apps/amarok/scripts/playlist2html/playlist2html.spec
458 %dir %{_datadir}/apps/amarok/scripts/webcontrol
459 %{_datadir}/apps/amarok/scripts/webcontrol/README
460 %{_datadir}/apps/amarok/scripts/webcontrol/Globals.py
461 %{_datadir}/apps/amarok/scripts/webcontrol/Playlist.py
462 %{_datadir}/apps/amarok/scripts/webcontrol/RequestHandler.py
463 %{_datadir}/apps/amarok/scripts/webcontrol/amarok_cut.png
464 %{_datadir}/apps/amarok/scripts/webcontrol/controlbackground.png
465 %{_datadir}/apps/amarok/scripts/webcontrol/main.css
466 %{_datadir}/apps/amarok/scripts/webcontrol/main.js
467 %{_datadir}/apps/amarok/scripts/webcontrol/player_end.png
468 %{_datadir}/apps/amarok/scripts/webcontrol/player_pause.png
469 %{_datadir}/apps/amarok/scripts/webcontrol/player_play.png
470 %{_datadir}/apps/amarok/scripts/webcontrol/player_start.png
471 %{_datadir}/apps/amarok/scripts/webcontrol/player_stop.png
472 %{_datadir}/apps/amarok/scripts/webcontrol/template.thtml
473 %{_datadir}/apps/amarok/scripts/webcontrol/vol_speaker.png
474 %{_datadir}/apps/amarok/scripts/webcontrol/WebPublisher.py
475 %{_datadir}/apps/amarok/scripts/webcontrol/WebControl.spec
476 %{_datadir}/apps/amarok/scripts/webcontrol/smallstar.png
477 %{_datadir}/apps/amarok/scripts/webcontrol/star.png
478 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/webcontrol/WebControl.py
480 %dir %{_datadir}/apps/amarok/scripts/lyrics_astraweb
481 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/COPYING
482 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/README
483 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/lyrics_astraweb/lyrics_astraweb.rb
484 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/lyrics_astraweb.spec
486 %dir %{_datadir}/apps/amarok/scripts/lyrics_lyrc
487 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/COPYING
488 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/README
489 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/lyrics_lyrc/lyrics_lyrc.rb
490 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/lyrics_lyrc.spec
492 %dir %{_datadir}/apps/amarok/scripts/score_default
493 %{_datadir}/apps/amarok/scripts/score_default/COPYING
494 %{_datadir}/apps/amarok/scripts/score_default/README
495 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/score_default/score_default.rb
496 %{_datadir}/apps/amarok/scripts/score_default/score_default.spec
497 %dir %{_datadir}/apps/amarok/scripts/score_impulsive
498 %{_datadir}/apps/amarok/scripts/score_impulsive/COPYING
499 %{_datadir}/apps/amarok/scripts/score_impulsive/README
500 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/score_impulsive/score_impulsive.rb
501 %{_datadir}/apps/amarok/scripts/score_impulsive/score_impulsive.spec
504 %dir %{_datadir}/apps/amarok/scripts/amarok_live
505 %{_datadir}/apps/amarok/scripts/amarok_live/README
506 %{_datadir}/apps/amarok/scripts/amarok_live/amarok.live.remaster.part1.sh
507 %{_datadir}/apps/amarok/scripts/amarok_live/amarok.live.remaster.part2.sh
508 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/amarok_live/amarok_live.py