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 # - karma & MFS (see README)
10 # - ProjectM (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: 1dac1cb5ac9c9cdabdab5f69b39e92c8
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 URL: http://amarok.kde.org/
46 BuildRequires: SDL-devel
47 BuildRequires: alsa-lib-devel
48 BuildRequires: autoconf
49 BuildRequires: automake
50 BuildRequires: dbus-glib-devel
51 BuildRequires: gettext-devel
52 %{?with_gstreamer:BuildRequires: gstreamer-devel >= 0.10.0}
53 BuildRequires: kdebase-devel
54 %{?with_akode:BuildRequires: kdemultimedia-akode}
55 BuildRequires: kdemultimedia-devel >= 9:3.1.93
56 %{?with_mp3players:BuildRequires: libgpod-devel >= 0.4.2}
57 %{?with_mp3players:BuildRequires: libifp-devel >= 1.0.0.2}
58 BuildRequires: libltdl-devel
59 %{?with_mp3players:BuildRequires: libmtp-devel >= 0.1.1}
60 %{?with_mp3players:BuildRequires: libnjb-devel >= 2.2.4}
61 %{?with_pgsql:BuildRequires: libpqxx-devel}
62 BuildRequires: libtunepimp-devel >= 0.5.1-6
63 BuildRequires: libvisual-devel >= 0.4.0
64 BuildRequires: mpeg4ip-devel >= 1:1.5
65 %{?with_mysql:BuildRequires: mysql-devel}
66 BuildRequires: pcre-devel
67 BuildRequires: pkgconfig
68 BuildRequires: rpm-pythonprov
69 BuildRequires: rpmbuild(macros) >= 1.129
70 BuildRequires: ruby-devel >= 1.8
71 BuildRequires: sed >= 4.0
72 %{!?with_included_sqlite:BuildRequires: sqlite3-devel >= 3.3}
73 BuildRequires: taglib-devel >= 1.4
74 %{?with_xine:BuildRequires: xine-lib-devel >= 1.1.1}
75 Requires(post): /sbin/ldconfig
76 Requires: %{name}-plugin = %{version}-%{release}
77 Requires: kdebase-core >= 9:3.1.93
78 Requires: kdemultimedia-audiocd >= 9:3.1.93
79 Obsoletes: amarok-arts
80 Obsoletes: amarok-xmms
81 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
83 # temporary hack for proper libgpod::itdb_get_mountpoint() detection.
84 %define filterout_ld -Wl,--as-needed
89 %description -l pl.UTF-8
90 Odtwarzacz audio dla KDE.
94 Summary(pl.UTF-8): Wtyczka akode
95 Group: X11/Applications/Multimedia
96 Requires: %{name} = %{version}-%{release}
97 Provides: %{name}-plugin = %{version}-%{release}
102 %description akode -l pl.UTF-8
106 Summary: Helix/Realplayer playback support for amarok
107 Summary(pl.UTF-8): Wsparcie dla odtwarzania przez Helix/Realplayera dla amaroka
108 Group: X11/Applications/Multimedia
109 Requires: %{name} = %{version}-%{release}
111 Provides: %{name}-plugin = %{version}-%{release}
114 Helix/Realplayer playback support for amarok.
116 %description helix -l pl.UTF-8
117 Wsparcie dla odtwarzania przez Helix/Realplayera dla amaroka.
120 Summary: Plugin gstreamer
121 Summary(pl.UTF-8): Wtyczka gstreamer
122 Group: X11/Applications/Multimedia
123 # deps, to get it working:
124 # mp3 decoder: gstreamer-mad
125 # ogg decoder: gstreamer-vorbis
126 # audio output driver: gstreamer-audiosink-alsa
127 # from gstreamer-audio-effects to control volume, etc
129 # at least /usr/lib/gstreamer-0.8/libgstresample.so
130 # probably /usr/lib/gstreamer-0.8/libgstadder.so
131 # and probably /usr/lib/gstreamer-0.8/libgstvolume.so
132 # gstreamer-musicbrainz for being able to edit id3 tags on files.
133 Requires: %{name} = %{version}-%{release}
134 Requires: gstreamer-audio-effects
135 Requires: gstreamer-audiosink
136 Requires: gstreamer-mad
137 Requires: gstreamer-musicbrainz
138 Requires: gstreamer-vorbis
139 Provides: %{name}-plugin = %{version}-%{release}
141 %description gstreamer
144 %description gstreamer -l pl.UTF-8
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}
158 %description xine -l pl.UTF-8
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}
169 %description zeroconf
172 %description zeroconf -l pl.UTF-8
176 Summary: amaroK scripts
177 Summary(pl.UTF-8): Skrypty amaroKa
178 Group: X11/Applications/Multimedia
179 Requires: %{name} = %{version}-%{release}
180 Requires: kdebase-kdialog
181 Requires: python-PyQt
182 Requires: ruby-modules
185 amaroK scripts allow you extend amaroK functionality.
187 You can learn more about scripts in amaroK from here:
188 <http://amarok.kde.org/amarokwiki/index.php/Script-Writing_HowTo>.
190 %description scripts -l pl.UTF-8
191 Skrypty amaroKa pozwalające rozszerzać jego funkcjonalność.
193 Więcej o skryptach w amaroKu można dowiedzieć się stąd:
194 <http://amarok.kde.org/amarokwiki/index.php/Script-Writing_HowTo>.
207 %{__sed} -i -e 's/Categories=.*/Categories=Qt;KDE;AudioVideo;Player;/' \
208 amarok/src/amarok.desktop \
210 # see kde bug #110909
211 %{__sed} -i -e 's/amarok_live//' amarok/src/scripts/Makefile.am
213 # kill env, call interpreter directly, so rpm automatics could rule
215 1s,#!.*bin/env.*ruby,#!%{_bindir}/ruby,
216 1s,#!.*bin/env.*python,#!%{__python},
217 1s,#!.*bin/env.*bash,#!/bin/bash,
218 ' amarok/src/scripts/*/*.{py,rb,sh} 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_mas:out}-mas \
231 --with%{!?with_xine:out}-xine \
232 --with%{!?with_gstreamer:out}-gstreamer10 \
233 --with%{!?with_akode:out}-akode \
234 --with%{!?with_helix:out}-helix%{?with_helix:=usegivenpath} \
235 --with%{!?with_nmm:out}-nmm \
236 --with%{!?with_mp3players:out}-libgpod \
237 --with%{!?with_mp3players:out}-libnjb \
238 --with%{!?with_mp3players:out}-libmtp \
239 --with%{!?with_mp3players:out}-ifp \
240 --%{?with_mysql:en}%{!?with_mysql:dis}able-mysql \
241 --%{?with_mysql:en}%{!?with_mysql:dis}able-postgresql \
244 --with-qt-libraries=%{_libdir} \
245 --with%{!?with_included_sqlite:out}-included-sqlite
250 rm -rf $RPM_BUILD_ROOT
253 DESTDIR=$RPM_BUILD_ROOT \
254 kde_htmldir=%{_kdedocdir} \
255 kde_libs_htmldir=%{_kdedocdir}
258 rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/xx
260 rm $RPM_BUILD_ROOT%{_libdir}/kde3/*.la
261 rm $RPM_BUILD_ROOT%{_libdir}/ruby_lib/libhttp11.la
263 %find_lang amarok --all-name --with-kde
266 rm -rf $RPM_BUILD_ROOT
270 if [ "$1" = 1 ]; then
271 echo "Remember to install libvisual-plugins-* packages if you"
272 echo "want to have a visualizations in amaroK."
275 %postun -p /sbin/ldconfig
277 %files -f amarok.lang
278 %defattr(644,root,root,755)
279 %doc AUTHORS ChangeLog README
280 %attr(755,root,root) %{_bindir}/amarok
281 %attr(755,root,root) %{_bindir}/amarokapp
282 %attr(755,root,root) %{_bindir}/amarokcollectionscanner
283 %attr(755,root,root) %{_bindir}/amarok_libvisual
284 %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) %{_libdir}/libamarok.so.*.*.*
288 %attr(755,root,root) %{_libdir}/kde3/konqsidebar_universalamarok.so
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 %{_libdir}/ruby_lib
296 %{_libdir}/ruby_lib/http11.rb
297 %attr(755,root,root) %{_libdir}/ruby_lib/libhttp11.so
298 %attr(755,root,root) %{_libdir}/ruby_lib/libhttp11.so.0.0.0
299 %dir %{_datadir}/apps/amarok
300 %dir %{_datadir}/apps/amarok/scripts
301 %{_datadir}/apps/amarok/ruby_lib
302 %{_datadir}/apps/amarok/*.rc
303 %{_datadir}/apps/amarok/data
304 %{_datadir}/apps/amarok/icons
305 %{_datadir}/apps/amarok/images
306 %{_datadir}/apps/amarok/themes
307 %{_datadir}/apps/konqueror/servicemenus/amarok_append.desktop
308 %{_datadir}/apps/konqueror/servicemenus/amarok_addaspodcast.desktop
309 %{_datadir}/apps/konqueror/servicemenus/amarok_play_audiocd.desktop
310 %{_datadir}/apps/konqsidebartng/add/amarok.desktop
311 %{_datadir}/apps/konqsidebartng/entries/amarok.desktop
312 %{_datadir}/apps/konqsidebartng/kicker_entries/amarok.desktop
313 %{_datadir}/apps/profiles/amarok.profile.xml
314 %{_datadir}/config/amarokrc
315 %{_datadir}/config.kcfg/amarok.kcfg
316 %{_datadir}/services/amarok_generic-mediadevice.desktop
317 %{_datadir}/services/amarok_void-engine_plugin.desktop
318 %{_datadir}/services/amarok_daap-mediadevice.desktop
319 %{_datadir}/services/amarok_massstorage-device.desktop
320 %{_datadir}/services/amarok_nfs-device.desktop
321 %{_datadir}/services/amarok_smb-device.desktop
322 %{_datadir}/services/amaroklastfm.protocol
323 %{_datadir}/services/amarokitpc.protocol
324 %{_datadir}/services/amarokpcast.protocol
325 %{_datadir}/servicetypes/amarok_codecinstall.desktop
326 %{_datadir}/servicetypes/amarok_plugin.desktop
327 %{_desktopdir}/kde/amarok.desktop
328 %{_iconsdir}/*/*/apps/amarok.*
329 # TODO: move to subpackage
330 %if %{with mp3players}
331 %attr(755,root,root) %{_libdir}/kde3/libamarok_ifp-mediadevice.so
332 %attr(755,root,root) %{_libdir}/kde3/libamarok_ipod-mediadevice.so
333 %attr(755,root,root) %{_libdir}/kde3/libamarok_mtp-mediadevice.so
334 %attr(755,root,root) %{_libdir}/kde3/libamarok_njb-mediadevice.so
335 %{_datadir}/services/amarok_ifp-mediadevice.desktop
336 %{_datadir}/services/amarok_ipod-mediadevice.desktop
337 %{_datadir}/services/amarok_mtp-mediadevice.desktop
338 %{_datadir}/services/amarok_njb-mediadevice.desktop
343 %defattr(644,root,root,755)
344 %attr(755,root,root) %{_libdir}/kde3/libamarok_aKode-engine.so
345 %{_datadir}/services/amarok_aKode-engine.desktop
348 %if %{with gstreamer}
350 %defattr(644,root,root,755)
351 %attr(755,root,root) %{_libdir}/kde3/libamarok_gst10engine_plugin.so
352 %{_datadir}/config.kcfg/gstconfig.kcfg
353 %{_datadir}/services/amarok_gst10engine_plugin.desktop
358 %defattr(644,root,root,755)
359 %attr(755,root,root) %{_libdir}/kde3/libamarok_helixengine_plugin.so
360 %{_datadir}/config.kcfg/helixconfig.kcfg
361 %{_datadir}/services/amarok_helixengine_plugin.desktop
366 %defattr(644,root,root,755)
367 %attr(755,root,root) %{_libdir}/kde3/libamarok_xine-engine.so
368 %{_datadir}/config.kcfg/xinecfg.kcfg
369 %{_datadir}/services/amarok_xine-engine.desktop
375 %defattr(644,root,root,755)
376 #%{_datadir}/apps/zeroconf/_shoutcast._tcp
381 %defattr(644,root,root,755)
382 %dir %{_datadir}/apps/amarok/scripts/common
383 %{_datadir}/apps/amarok/scripts/common/Publisher.py
384 %{_datadir}/apps/amarok/scripts/common/Zeroconf.py
386 %dir %{_datadir}/apps/amarok/scripts/templates
387 %{_datadir}/apps/amarok/scripts/templates/amarok.rb
388 %{_datadir}/apps/amarok/scripts/templates/python_qt_template.py
389 %{_datadir}/apps/amarok/scripts/templates/ruby_qt_template.rb
391 # amarok searches for executable programs for scripts
392 # to figure out which files need to have execute permission, use this
394 # $ find $RPM_BUILD_ROOT/usr/share/apps/amarok/scripts -perm +1
396 #%dir %{_datadir}/apps/amarok/scripts/graphequalizer
397 #%{_datadir}/apps/amarok/scripts/graphequalizer/README
398 #%attr(755,root,root) %{_datadir}/apps/amarok/scripts/graphequalizer/graphequalizer
400 %dir %{_datadir}/apps/amarok/scripts/playlist2html
401 %{_datadir}/apps/amarok/scripts/playlist2html/README
402 %{_datadir}/apps/amarok/scripts/playlist2html/Playlist.py
403 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/playlist2html/PlaylistServer.py
404 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/playlist2html/playlist2html.py
406 %dir %{_datadir}/apps/amarok/scripts/webcontrol
407 %{_datadir}/apps/amarok/scripts/webcontrol/README
408 %{_datadir}/apps/amarok/scripts/webcontrol/Globals.py
409 %{_datadir}/apps/amarok/scripts/webcontrol/Playlist.py
410 %{_datadir}/apps/amarok/scripts/webcontrol/RequestHandler.py
411 %{_datadir}/apps/amarok/scripts/webcontrol/amarok_cut.png
412 %{_datadir}/apps/amarok/scripts/webcontrol/controlbackground.png
413 %{_datadir}/apps/amarok/scripts/webcontrol/main.css
414 %{_datadir}/apps/amarok/scripts/webcontrol/main.js
415 %{_datadir}/apps/amarok/scripts/webcontrol/player_end.png
416 %{_datadir}/apps/amarok/scripts/webcontrol/player_pause.png
417 %{_datadir}/apps/amarok/scripts/webcontrol/player_play.png
418 %{_datadir}/apps/amarok/scripts/webcontrol/player_start.png
419 %{_datadir}/apps/amarok/scripts/webcontrol/player_stop.png
420 %{_datadir}/apps/amarok/scripts/webcontrol/template.thtml
421 %{_datadir}/apps/amarok/scripts/webcontrol/vol_speaker.png
422 %{_datadir}/apps/amarok/scripts/webcontrol/WebPublisher.py
423 %{_datadir}/apps/amarok/scripts/webcontrol/WebControl.spec
424 %{_datadir}/apps/amarok/scripts/webcontrol/smallstar.png
425 %{_datadir}/apps/amarok/scripts/webcontrol/star.png
426 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/webcontrol/WebControl.py
428 %dir %{_datadir}/apps/amarok/scripts/lyrics_astraweb
429 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/COPYING
430 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/README
431 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/lyrics_astraweb/lyrics_astraweb.rb
432 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/lyrics_astraweb.spec
434 %dir %{_datadir}/apps/amarok/scripts/lyrics_lyrc
435 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/COPYING
436 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/README
437 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/lyrics_lyrc/lyrics_lyrc.rb
438 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/lyrics_lyrc.spec
440 %dir %{_datadir}/apps/amarok/scripts/score_default
441 %{_datadir}/apps/amarok/scripts/score_default/COPYING
442 %{_datadir}/apps/amarok/scripts/score_default/README
443 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/score_default/score_default.rb
444 %{_datadir}/apps/amarok/scripts/score_default/score_default.spec
445 %dir %{_datadir}/apps/amarok/scripts/score_impulsive
446 %{_datadir}/apps/amarok/scripts/score_impulsive/COPYING
447 %{_datadir}/apps/amarok/scripts/score_impulsive/README
448 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/score_impulsive/score_impulsive.rb
449 %{_datadir}/apps/amarok/scripts/score_impulsive/score_impulsive.spec
451 %dir %{_datadir}/apps/amarok/scripts/ruby_debug
452 %{_datadir}/apps/amarok/scripts/ruby_debug/debug.rb
455 %dir %{_datadir}/apps/amarok/scripts/amarok_live
456 %{_datadir}/apps/amarok/scripts/amarok_live/README
457 %{_datadir}/apps/amarok/scripts/amarok_live/amarok.live.remaster.part1.sh
458 %{_datadir}/apps/amarok/scripts/amarok_live/amarok.live.remaster.part2.sh
459 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/amarok_live/amarok_live.py