]> git.pld-linux.org Git - packages/amarok.git/blob - amarok.spec
769c612640989acb1be53ad42cfb498e10e5143f
[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 # - karma & MFS (see README)
10 # - ProjectM (see README)
11 #
12 # Conditional builds:
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_with     xmms            # disable xmms wrapping
17 %bcond_without  zeroconf        # disable support for zeroconf
18 %bcond_without  included_sqlite # don't use included sqlite (VERY BAD IDEA), needs sqlite >= 3.3 otherwise
19 %bcond_without  helix           # disable HelixPlayer engine
20 %bcond_without  mp3players      # disable iPod and iRiver MP3 players support
21 %bcond_with     nmm             # enable NMM audio backend
22 %bcond_with     mysql           # enable MySQL support
23 %bcond_with     pgsql           # enable PostgreSQL support
24 #
25 %ifarch i386
26 %undefine       with_helix
27 %endif
28
29 Summary:        A KDE audio player
30 Summary(pl.UTF-8):   Odtwarzacz audio dla KDE
31 Name:           amarok
32 Version:        1.4.5
33 Release:        1
34 License:        GPL
35 Group:          X11/Applications/Multimedia
36 Source0:        ftp://ftp.kde.org/pub/kde/stable/amarok/%{version}/src/%{name}-%{version}.tar.bz2
37 # Source0-md5:  1dac1cb5ac9c9cdabdab5f69b39e92c8
38 Patch0:         %{name}-helixplayer-morearchs.patch
39 Patch1:         %{name}-libnjb.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 %{?with_xmms:BuildRequires:     xmms-devel}
76 Requires(post): /sbin/ldconfig
77 Requires:       %{name}-plugin = %{version}-%{release}
78 Requires:       kdebase-core >= 9:3.1.93
79 Requires:       kdemultimedia-audiocd >= 9:3.1.93
80 Obsoletes:      amarok-arts
81 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
82
83 # temporary hack for proper libgpod::itdb_get_mountpoint() detection.
84 %define         filterout_ld    -Wl,--as-needed
85
86 %description
87 A KDE audio player.
88
89 %description -l pl.UTF-8
90 Odtwarzacz audio dla KDE.
91
92 %package akode
93 Summary:        Plugin akode
94 Summary(pl.UTF-8):   Wtyczka akode
95 Group:          X11/Applications/Multimedia
96 Requires:       %{name} = %{version}-%{release}
97 Provides:       %{name}-plugin = %{version}-%{release}
98
99 %description akode
100 Plugin akode.
101
102 %description akode -l pl.UTF-8
103 Wtyczka akode.
104
105 %package helix
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}
110 Requires:       helix-core
111 Provides:       %{name}-plugin = %{version}-%{release}
112
113 %description helix
114 Helix/Realplayer playback support for amarok.
115
116 %description helix -l pl.UTF-8
117 Wsparcie dla odtwarzania przez Helix/Realplayera dla amaroka.
118
119 %package gstreamer
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
128 # needed libs:
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}
140
141 %description gstreamer
142 Plugin gstreamer.
143
144 %description gstreamer -l pl.UTF-8
145 Wtyczka gstreamer.
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 xmms
162 Summary:        Xmms wrapper
163 Summary(pl.UTF-8):   Wrapper xmms
164 Group:          X11/Applications/Multimedia
165 Requires:       %{name} = %{version}-%{release}
166
167 %description xmms
168 Xmms wrapper.
169
170 %description xmms -l pl.UTF-8
171 Wrapper xmms.
172
173 %package zeroconf
174 Summary:        Zeroconf data
175 Summary(pl.UTF-8):   Dane dla zeroconf
176 Group:          X11/Applications/Multimedia
177 Requires:       %{name} = %{version}-%{release}
178 Requires:       kdenetwork-kdnssd
179 Provides:       %{name}-plugin = %{version}-%{release}
180
181 %description zeroconf
182 Zeroconf data.
183
184 %description zeroconf -l pl.UTF-8
185 Dane dla zeroconf.
186
187 %package scripts
188 Summary:        amaroK scripts
189 Summary(pl.UTF-8):   Skrypty amaroKa
190 Group:          X11/Applications/Multimedia
191 Requires:       %{name} = %{version}-%{release}
192 Requires:       kdebase-kdialog
193 Requires:       python-PyQt
194 Requires:       ruby-modules
195
196 %description scripts
197 amaroK scripts allow you extend amaroK functionality.
198
199 You can learn more about scripts in amaroK from here:
200 <http://amarok.kde.org/amarokwiki/index.php/Script-Writing_HowTo>.
201
202 %description scripts -l pl.UTF-8
203 Skrypty amaroKa pozwalające rozszerzać jego funkcjonalność.
204
205 Więcej o skryptach w amaroKu można dowiedzieć się stąd:
206 <http://amarok.kde.org/amarokwiki/index.php/Script-Writing_HowTo>.
207
208 %prep
209 %setup -q
210 %patch0 -p1
211 %patch1 -p1
212 %patch3 -p1
213 %patch4 -p1
214 %patch5 -p1
215 %patch6 -p1
216 %patch7 -p1
217
218 %{__sed} -i -e 's/Categories=.*/Categories=Qt;KDE;AudioVideo;Player;/' \
219         amarok/src/amarok.desktop \
220
221 # see kde bug #110909
222 %{__sed} -i -e 's/amarok_live//' amarok/src/scripts/Makefile.am
223
224 # kill env, call interpreter directly, so rpm automatics could rule
225 %{__sed} -i -e '
226         1s,#!.*bin/env.*ruby,#!%{_bindir}/ruby,
227         1s,#!.*bin/env.*python,#!%{__python},
228         1s,#!.*bin/env.*bash,#!/bin/bash,
229 ' amarok/src/scripts/*/*.{py,rb,sh} amarok/src/amarok_proxy.rb
230
231 %build
232 cp -f /usr/share/automake/config.sub admin
233 %{__make} -f admin/Makefile.common cvs
234
235 # hack: passing something other than "no" or "yes" to --with-helix allows
236 # us to pass HELIX_LIBS
237 %configure \
238         HELIX_LIBS=%{_libdir}/helixplayer \
239         --%{?debug:en}%{!?debug:dis}able-debug%{?debug:=full} \
240         --disable-rpath \
241         --with%{!?with_mas:out}-mas \
242         --with%{!?with_xine:out}-xine \
243         --with%{!?with_gstreamer:out}-gstreamer10 \
244         --with%{!?with_akode:out}-akode \
245         --with%{!?with_helix:out}-helix%{?with_helix:=usegivenpath} \
246         --with%{!?with_nmm:out}-nmm \
247         --with%{!?with_xmms:out}-xmms \
248         --with%{!?with_mp3players:out}-libgpod \
249         --with%{!?with_mp3players:out}-libnjb \
250         --with%{!?with_mp3players:out}-libmtp \
251         --with%{!?with_mp3players:out}-ifp \
252         --%{?with_mysql:en}%{!?with_mysql:dis}able-mysql \
253         --%{?with_mysql:en}%{!?with_mysql:dis}able-postgresql \
254         --disable-final \
255         --with-mp4v2 \
256         --with-qt-libraries=%{_libdir} \
257         --with%{!?with_included_sqlite:out}-included-sqlite
258
259 %{__make}
260
261 %install
262 rm -rf $RPM_BUILD_ROOT
263
264 %{__make} install \
265         DESTDIR=$RPM_BUILD_ROOT \
266         kde_htmldir=%{_kdedocdir} \
267         kde_libs_htmldir=%{_kdedocdir}
268
269 # remove bogus dir
270 rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/xx
271
272 rm $RPM_BUILD_ROOT%{_libdir}/kde3/*.la
273 rm $RPM_BUILD_ROOT%{_libdir}/ruby_lib/libhttp11.la
274
275 %find_lang amarok --all-name --with-kde
276
277 %clean
278 rm -rf $RPM_BUILD_ROOT
279
280 %post
281 /sbin/ldconfig
282 if [ "$1" = 1 ]; then
283         echo "Remember to install libvisual-plugins-* packages if you"
284         echo "want to have a visualizations in amaroK."
285 fi
286
287 %postun -p /sbin/ldconfig
288
289 %files -f amarok.lang
290 %defattr(644,root,root,755)
291 %doc AUTHORS ChangeLog README
292 %attr(755,root,root) %{_bindir}/amarok
293 %attr(755,root,root) %{_bindir}/amarokapp
294 %attr(755,root,root) %{_bindir}/amarokcollectionscanner
295 %attr(755,root,root) %{_bindir}/amarok_libvisual
296 %attr(755,root,root) %{_bindir}/amarok_proxy.rb
297 %attr(755,root,root) %{_bindir}/amarok_daapserver.rb
298 %attr(755,root,root) %{_libdir}/libamarok.so
299 %attr(755,root,root) %{_libdir}/libamarok.so.*.*.*
300 %attr(755,root,root) %{_libdir}/kde3/konqsidebar_universalamarok.so
301 %attr(755,root,root) %{_libdir}/kde3/libamarok_generic-mediadevice.so
302 %attr(755,root,root) %{_libdir}/kde3/libamarok_void-engine_plugin.so
303 %attr(755,root,root) %{_libdir}/kde3/libamarok_daap-mediadevice.so
304 %attr(755,root,root) %{_libdir}/kde3/libamarok_massstorage-device.so
305 %attr(755,root,root) %{_libdir}/kde3/libamarok_nfs-device.so
306 %attr(755,root,root) %{_libdir}/kde3/libamarok_smb-device.so
307 %{_libdir}/ruby_lib/http11.rb
308 %attr(755,root,root) %{_libdir}/ruby_lib/libhttp11.so
309 %attr(755,root,root) %{_libdir}/ruby_lib/libhttp11.so.0.0.0
310 %dir %{_datadir}/apps/amarok
311 %dir %{_datadir}/apps/amarok/scripts
312 %{_datadir}/apps/amarok/ruby_lib
313 %{_datadir}/apps/amarok/*.rc
314 %{_datadir}/apps/amarok/data
315 %{_datadir}/apps/amarok/icons
316 %{_datadir}/apps/amarok/images
317 %{_datadir}/apps/amarok/themes
318 %{_datadir}/apps/konqueror/servicemenus/amarok_append.desktop
319 %{_datadir}/apps/konqueror/servicemenus/amarok_addaspodcast.desktop
320 %{_datadir}/apps/konqueror/servicemenus/amarok_play_audiocd.desktop
321 %{_datadir}/apps/konqsidebartng/add/amarok.desktop
322 %{_datadir}/apps/konqsidebartng/entries/amarok.desktop
323 %{_datadir}/apps/konqsidebartng/kicker_entries/amarok.desktop
324 %{_datadir}/apps/profiles/amarok.profile.xml
325 %{_datadir}/config/amarokrc
326 %{_datadir}/config.kcfg/amarok.kcfg
327 %{_datadir}/services/amarok_generic-mediadevice.desktop
328 %{_datadir}/services/amarok_void-engine_plugin.desktop
329 %{_datadir}/services/amarok_daap-mediadevice.desktop
330 %{_datadir}/services/amarok_massstorage-device.desktop
331 %{_datadir}/services/amarok_nfs-device.desktop
332 %{_datadir}/services/amarok_smb-device.desktop
333 %{_datadir}/services/amaroklastfm.protocol
334 %{_datadir}/services/amarokitpc.protocol
335 %{_datadir}/services/amarokpcast.protocol
336 %{_datadir}/servicetypes/amarok_codecinstall.desktop
337 %{_datadir}/servicetypes/amarok_plugin.desktop
338 %{_desktopdir}/kde/amarok.desktop
339 %{_iconsdir}/*/*/apps/amarok.*
340 # TODO: move to subpackage
341 %if %{with mp3players}
342 %attr(755,root,root) %{_libdir}/kde3/libamarok_ifp-mediadevice.so
343 %attr(755,root,root) %{_libdir}/kde3/libamarok_ipod-mediadevice.so
344 %attr(755,root,root) %{_libdir}/kde3/libamarok_mtp-mediadevice.so
345 %attr(755,root,root) %{_libdir}/kde3/libamarok_njb-mediadevice.so
346 %{_datadir}/services/amarok_ifp-mediadevice.desktop
347 %{_datadir}/services/amarok_ipod-mediadevice.desktop
348 %{_datadir}/services/amarok_mtp-mediadevice.desktop
349 %{_datadir}/services/amarok_njb-mediadevice.desktop
350 %endif
351
352 %if %{with akode}
353 %files akode
354 %defattr(644,root,root,755)
355 %attr(755,root,root) %{_libdir}/kde3/libamarok_aKode-engine.so
356 %{_datadir}/services/amarok_aKode-engine.desktop
357 %endif
358
359 %if %{with gstreamer}
360 %files gstreamer
361 %defattr(644,root,root,755)
362 %attr(755,root,root) %{_libdir}/kde3/libamarok_gst10engine_plugin.so
363 %{_datadir}/config.kcfg/gstconfig.kcfg
364 %{_datadir}/services/amarok_gst10engine_plugin.desktop
365 %endif
366
367 %if %{with helix}
368 %files helix
369 %defattr(644,root,root,755)
370 %attr(755,root,root) %{_libdir}/kde3/libamarok_helixengine_plugin.so
371 %{_datadir}/config.kcfg/helixconfig.kcfg
372 %{_datadir}/services/amarok_helixengine_plugin.desktop
373 %endif
374
375 %if %{with xine}
376 %files xine
377 %defattr(644,root,root,755)
378 %attr(755,root,root) %{_libdir}/kde3/libamarok_xine-engine.so
379 %{_datadir}/config.kcfg/xinecfg.kcfg
380 %{_datadir}/services/amarok_xine-engine.desktop
381 %endif
382
383 %if %{with xmms}
384 %files xmms
385 %defattr(644,root,root,755)
386 %attr(755,root,root) %{_bindir}/amarok_xmmswrapper2
387 %endif
388
389 %if 0
390 %if %{with zeroconf}
391 %files zeroconf
392 %defattr(644,root,root,755)
393 #%{_datadir}/apps/zeroconf/_shoutcast._tcp
394 %endif
395 %endif
396
397 %files scripts
398 %defattr(644,root,root,755)
399 %dir %{_datadir}/apps/amarok/scripts/common
400 %{_datadir}/apps/amarok/scripts/common/Publisher.py
401 %{_datadir}/apps/amarok/scripts/common/Zeroconf.py
402
403 %dir %{_datadir}/apps/amarok/scripts/templates
404 %{_datadir}/apps/amarok/scripts/templates/amarok.rb
405 %{_datadir}/apps/amarok/scripts/templates/python_qt_template.py
406 %{_datadir}/apps/amarok/scripts/templates/ruby_qt_template.rb
407
408 # amarok searches for executable programs for scripts
409 # to figure out which files need to have execute permission, use this
410 # find command:
411 # $ find $RPM_BUILD_ROOT/usr/share/apps/amarok/scripts -perm +1
412
413 #%dir %{_datadir}/apps/amarok/scripts/graphequalizer
414 #%{_datadir}/apps/amarok/scripts/graphequalizer/README
415 #%attr(755,root,root) %{_datadir}/apps/amarok/scripts/graphequalizer/graphequalizer
416
417 %dir %{_datadir}/apps/amarok/scripts/playlist2html
418 %{_datadir}/apps/amarok/scripts/playlist2html/README
419 %{_datadir}/apps/amarok/scripts/playlist2html/Playlist.py
420 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/playlist2html/PlaylistServer.py
421 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/playlist2html/playlist2html.py
422
423 %dir %{_datadir}/apps/amarok/scripts/webcontrol
424 %{_datadir}/apps/amarok/scripts/webcontrol/README
425 %{_datadir}/apps/amarok/scripts/webcontrol/Globals.py
426 %{_datadir}/apps/amarok/scripts/webcontrol/Playlist.py
427 %{_datadir}/apps/amarok/scripts/webcontrol/RequestHandler.py
428 %{_datadir}/apps/amarok/scripts/webcontrol/amarok_cut.png
429 %{_datadir}/apps/amarok/scripts/webcontrol/controlbackground.png
430 %{_datadir}/apps/amarok/scripts/webcontrol/main.css
431 %{_datadir}/apps/amarok/scripts/webcontrol/main.js
432 %{_datadir}/apps/amarok/scripts/webcontrol/player_end.png
433 %{_datadir}/apps/amarok/scripts/webcontrol/player_pause.png
434 %{_datadir}/apps/amarok/scripts/webcontrol/player_play.png
435 %{_datadir}/apps/amarok/scripts/webcontrol/player_start.png
436 %{_datadir}/apps/amarok/scripts/webcontrol/player_stop.png
437 %{_datadir}/apps/amarok/scripts/webcontrol/template.thtml
438 %{_datadir}/apps/amarok/scripts/webcontrol/vol_speaker.png
439 %{_datadir}/apps/amarok/scripts/webcontrol/WebPublisher.py
440 %{_datadir}/apps/amarok/scripts/webcontrol/WebControl.spec
441 %{_datadir}/apps/amarok/scripts/webcontrol/smallstar.png
442 %{_datadir}/apps/amarok/scripts/webcontrol/star.png
443 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/webcontrol/WebControl.py
444
445 %dir %{_datadir}/apps/amarok/scripts/lyrics_astraweb
446 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/COPYING
447 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/README
448 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/lyrics_astraweb/lyrics_astraweb.rb
449 %{_datadir}/apps/amarok/scripts/lyrics_astraweb/lyrics_astraweb.spec
450
451 %dir %{_datadir}/apps/amarok/scripts/lyrics_lyrc
452 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/COPYING
453 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/README
454 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/lyrics_lyrc/lyrics_lyrc.rb
455 %{_datadir}/apps/amarok/scripts/lyrics_lyrc/lyrics_lyrc.spec
456
457 %dir %{_datadir}/apps/amarok/scripts/score_default
458 %{_datadir}/apps/amarok/scripts/score_default/COPYING
459 %{_datadir}/apps/amarok/scripts/score_default/README
460 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/score_default/score_default.rb
461 %{_datadir}/apps/amarok/scripts/score_default/score_default.spec
462 %dir %{_datadir}/apps/amarok/scripts/score_impulsive
463 %{_datadir}/apps/amarok/scripts/score_impulsive/COPYING
464 %{_datadir}/apps/amarok/scripts/score_impulsive/README
465 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/score_impulsive/score_impulsive.rb
466 %{_datadir}/apps/amarok/scripts/score_impulsive/score_impulsive.spec
467
468 %dir %{_datadir}/apps/amarok/scripts/ruby_debug
469 %{_datadir}/apps/amarok/scripts/ruby_debug/debug.rb
470
471 %if 0
472 %dir %{_datadir}/apps/amarok/scripts/amarok_live
473 %{_datadir}/apps/amarok/scripts/amarok_live/README
474 %{_datadir}/apps/amarok/scripts/amarok_live/amarok.live.remaster.part1.sh
475 %{_datadir}/apps/amarok/scripts/amarok_live/amarok.live.remaster.part2.sh
476 %attr(755,root,root) %{_datadir}/apps/amarok/scripts/amarok_live/amarok_live.py
477 %endif
This page took 0.110319 seconds and 2 git commands to generate.