# - track http://websvn.kde.org/trunk/extragear/multimedia/amarok/TODO?rev=470324&r1=470292&r2=470324
# - include /usr/bin/amarok_proxy.rb (proxy server for last.fm, but req. ruby)
# - main package pulls /usr/bin/ruby
+# - monitor http://bugs.kde.org/show_bug.cgi?id=137390 to remove the temporary fix
+# - ProjectM (see README)
+# - karma & MFS (see README)
#
# Conditional builds:
%bcond_with gstreamer # enable gstreamer (gst10 not stable)
%bcond_without mas # disable MAS audio backend
%bcond_without xine # disable xine engine
-%bcond_without xmms # disable xmms wrapping
%bcond_without zeroconf # disable support for zeroconf
%bcond_without included_sqlite # don't use included sqlite (VERY BAD IDEA), needs sqlite >= 3.3 otherwise
%bcond_without helix # disable HelixPlayer engine
%endif
Summary: A KDE audio player
-Summary(pl): Odtwarzacz audio dla KDE
+Summary(pl.UTF-8): Odtwarzacz audio dla KDE
Name: amarok
-Version: 1.4.3
-Release: 1
+Version: 1.4.10
+Release: 8
License: GPL
Group: X11/Applications/Multimedia
-#Source0: http://dl.sourceforge.net/amarok/%{name}-%{version}.tar.bz2
-Source0: http://mirrors.isc.org/pub/kde/stable/amarok/%{version}/src/%{name}-%{version}.tar.bz2
-# Source0-md5: b0b4f8952ad23705c70815d50fd0af52
+Source0: ftp://ftp.kde.org/pub/kde/stable/amarok/%{version}/src/%{name}-%{version}.tar.bz2
+# Source0-md5: 3bdbf26181bf5e5925f48968caba7ac2
Patch0: %{name}-helixplayer-morearchs.patch
Patch1: %{name}-libnjb.patch
+Patch2: %{name}-smp.patch
+Patch3: %{name}-sparc.patch
+Patch4: kde-ac260-lt.patch
+Patch5: kde-common-PLD.patch
+Patch6: %{name}-gcc4.patch
+Patch7: %{name}-titleorder.patch
+Patch8: %{name}-mongrel.patch
+Patch9: %{name}-libmtp.patch
URL: http://amarok.kde.org/
+# Upgrade to 2.0.1.1 required?
+# http://www.trapkit.de/advisories/TKADV2009-002.txt
+# http://amarok.kde.org/de/node/600
+#BuildRequires: security(TKADV2009-002)
BuildRequires: SDL-devel
BuildRequires: alsa-lib-devel
BuildRequires: autoconf
BuildRequires: kdebase-devel
%{?with_akode:BuildRequires: kdemultimedia-akode}
BuildRequires: kdemultimedia-devel >= 9:3.1.93
-%{?with_mp3players:BuildRequires: libgpod-devel >= 0.2.0}
-%{?with_mp3players:BuildRequires: libgpod-devel < 0.3.1}
-%{?with_mp3players:BuildRequires: libifp-devel}
-%{?with_mp3players:BuildRequires: libmtp-devel}
-%{?with_mp3players:BuildRequires: libnjb-devel}
+%{?with_mp3players:BuildRequires: libgpod-devel >= 0.6.0}
+%{?with_mp3players:BuildRequires: libifp-devel >= 1.0.0.2}
BuildRequires: libltdl-devel
+%{?with_mp3players:BuildRequires: libmtp-devel >= 0.3.0}
+%{?with_mp3players:BuildRequires: libnjb-devel >= 2.2.4}
%{?with_pgsql:BuildRequires: libpqxx-devel}
-BuildRequires: libtunepimp-devel >= 0.4.0
+BuildRequires: libtunepimp-devel >= 0.5.1-6
BuildRequires: libvisual-devel >= 0.4.0
-BuildRequires: mpeg4ip-devel
+BuildRequires: mpeg4ip-devel >= 1:1.6
%{?with_mysql:BuildRequires: mysql-devel}
BuildRequires: pcre-devel
BuildRequires: pkgconfig
%{!?with_included_sqlite:BuildRequires: sqlite3-devel >= 3.3}
BuildRequires: taglib-devel >= 1.4
%{?with_xine:BuildRequires: xine-lib-devel >= 1.1.1}
-%{?with_xmms:BuildRequires: xmms-devel}
Requires(post): /sbin/ldconfig
Requires: %{name}-plugin = %{version}-%{release}
-Requires: kdebase-core >= 9:3.1.93
-Requires: kdemultimedia-audiocd >= 9:3.1.93
+Requires: ruby-mongrel
+Suggests: kdemultimedia(audiocd) >= 9:3.1.93
+Suggests: libvisual-plugin-actor-JESS
+Suggests: libvisual-plugin-actor-bumpscope
+Suggests: libvisual-plugin-actor-corona
+Suggests: libvisual-plugin-actor-flower
+Suggests: libvisual-plugin-actor-gdkpixbuf
+Suggests: libvisual-plugin-actor-gforce
+%{?with_gstreamer:Suggests: libvisual-plugin-actor-gstreamer}
+Suggests: libvisual-plugin-actor-infinite
+Suggests: libvisual-plugin-actor-jakdaw
+Suggests: libvisual-plugin-actor-lv_analyzer
+Suggests: libvisual-plugin-actor-lv_gltest
+Suggests: libvisual-plugin-actor-lv_scope
+Suggests: libvisual-plugin-actor-madspin
+Suggests: libvisual-plugin-actor-nastyfft
+Suggests: libvisual-plugin-actor-oinksie
+Suggests: libvisual-plugin-input-alsa
+Suggests: libvisual-plugin-input-esd
+Suggests: libvisual-plugin-input-jack
+Suggests: libvisual-plugin-input-mplayer
+Suggests: libvisual-plugin-morph-alphablend
+Suggests: libvisual-plugin-morph-flash
+Suggests: libvisual-plugin-morph-slide
+Suggests: libvisual-plugin-morph-tentacle
+Suggests: python-PyKDE
Obsoletes: amarok-arts
+Obsoletes: amarok-xmms
+Conflicts: kdelibs-libs < 9:3.5.9
+# sr@Latn vs. sr@latin
+Conflicts: glibc-misc < 6:2.7
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+# temporary hack for proper libgpod::itdb_get_mountpoint() detection.
+%define filterout_ld -Wl,--as-needed
+
%description
A KDE audio player.
-%description -l pl
+%description -l pl.UTF-8
Odtwarzacz audio dla KDE.
+%package -n konqueror-addon-amarok
+Summary: Amarok sidebar for Konqueror
+Summary(pl.UTF-8): Pasek z Amarokiem dla Konquerora
+Group: X11/Applications/Multimedia
+Requires: %{name} = %{version}-%{release}
+
+%description -n konqueror-addon-amarok
+Amarok sidebar for Konqueror.
+
+%description -n konqueror-addon-amarok -l pl.UTF-8
+Pasek z Amarokiem dla Konquerora.
+
%package akode
Summary: Plugin akode
-Summary(pl): Wtyczka akode
+Summary(pl.UTF-8): Wtyczka akode
Group: X11/Applications/Multimedia
Requires: %{name} = %{version}-%{release}
Provides: %{name}-plugin = %{version}-%{release}
%description akode
Plugin akode.
-%description akode -l pl
+%description akode -l pl.UTF-8
Wtyczka akode.
%package helix
Summary: Helix/Realplayer playback support for amarok
-Summary(pl): Wsparcie dla odtwarzania przez Helix/Realplayera dla amaroka
+Summary(pl.UTF-8): Wsparcie dla odtwarzania przez Helix/Realplayera dla amaroka
Group: X11/Applications/Multimedia
Requires: %{name} = %{version}-%{release}
Requires: helix-core
%description helix
Helix/Realplayer playback support for amarok.
-%description helix -l pl
+%description helix -l pl.UTF-8
Wsparcie dla odtwarzania przez Helix/Realplayera dla amaroka.
%package gstreamer
Summary: Plugin gstreamer
-Summary(pl): Wtyczka gstreamer
+Summary(pl.UTF-8): Wtyczka gstreamer
Group: X11/Applications/Multimedia
# deps, to get it working:
# mp3 decoder: gstreamer-mad
%description gstreamer
Plugin gstreamer.
-%description gstreamer -l pl
+%description gstreamer -l pl.UTF-8
Wtyczka gstreamer.
%package xine
Summary: Plugin xine
-Summary(pl): Wtyczka xine
+Summary(pl.UTF-8): Wtyczka xine
Group: X11/Applications/Multimedia
Requires: %{name} = %{version}-%{release}
Requires: xine-plugin-audio
%description xine
Plugin xine.
-%description xine -l pl
+%description xine -l pl.UTF-8
Wtyczka xine.
-%package xmms
-Summary: Xmms wrapper
-Summary(pl): Wrapper xmms
-Group: X11/Applications/Multimedia
-Requires: %{name} = %{version}-%{release}
-
-%description xmms
-Xmms wrapper.
-
-%description xmms -l pl
-Wrapper xmms.
-
%package zeroconf
Summary: Zeroconf data
-Summary(pl): Dane dla zeroconf
+Summary(pl.UTF-8): Dane dla zeroconf
Group: X11/Applications/Multimedia
Requires: %{name} = %{version}-%{release}
Requires: kdenetwork-kdnssd
%description zeroconf
Zeroconf data.
-%description zeroconf -l pl
+%description zeroconf -l pl.UTF-8
Dane dla zeroconf.
%package scripts
Summary: amaroK scripts
-Summary(pl): Skrypty amaroKa
+Summary(pl.UTF-8): Skrypty amaroKa
Group: X11/Applications/Multimedia
Requires: %{name} = %{version}-%{release}
-Requires: kdebase-kdialog
+Requires: /usr/bin/kdialog
Requires: python-PyQt
Requires: ruby-modules
You can learn more about scripts in amaroK from here:
<http://amarok.kde.org/amarokwiki/index.php/Script-Writing_HowTo>.
-%description scripts -l pl
-Skrypty amaroKa pozwalaj±ce rozszerzaæ jego funkcjonalno¶æ.
+%description scripts -l pl.UTF-8
+Skrypty amaroKa pozwalające rozszerzać jego funkcjonalność.
-Wiêcej o skryptach w amaroKu mo¿na dowiedzieæ siê st±d:
+Więcej o skryptach w amaroKu można dowiedzieć się stąd:
<http://amarok.kde.org/amarokwiki/index.php/Script-Writing_HowTo>.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p0
+
%{__sed} -i -e 's/Categories=.*/Categories=Qt;KDE;AudioVideo;Player;/' \
amarok/src/amarok.desktop \
# kill env, call interpreter directly, so rpm automatics could rule
%{__sed} -i -e '
1s,#!.*bin/env.*ruby,#!%{_bindir}/ruby,
- 1s,#!.*bin/env.*python,#!%{_bindir}/python,
- 1s,#!.*bin/env.*bash,#!/bin/bash,
-' amarok/src/scripts/*/*.{py,rb,sh} amarok/src/amarok_proxy.rb
+ 1s,#!.*bin/env.*python,#!%{__python},
+' amarok/src/scripts/*/*.{py,rb} amarok/src/amarok_proxy.rb
%build
cp -f /usr/share/automake/config.sub admin
--with%{!?with_akode:out}-akode \
--with%{!?with_helix:out}-helix%{?with_helix:=usegivenpath} \
--with%{!?with_nmm:out}-nmm \
- --with%{!?with_xmms:out}-xmms \
--with%{!?with_mp3players:out}-libgpod \
--with%{!?with_mp3players:out}-libnjb \
--with%{!?with_mp3players:out}-libmtp \
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
+ ruby_rubylibdir=%{ruby_rubylibdir} \
kde_htmldir=%{_kdedocdir} \
kde_libs_htmldir=%{_kdedocdir}
# remove bogus dir
rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/xx
+rm $RPM_BUILD_ROOT%{_libdir}/kde3/*.la
+rm $RPM_BUILD_ROOT%{_libdir}/libamarok.{so,la}
+
+# example plugin code
+rm -rf $RPM_BUILD_ROOT%{_datadir}/apps/amarok/scripts/templates
+
+[ -d $RPM_BUILD_ROOT%{_datadir}/locale/sr@latin ] || \
+ mv -f $RPM_BUILD_ROOT%{_datadir}/locale/sr@{Latn,latin}
%find_lang amarok --all-name --with-kde
%clean
rm -rf $RPM_BUILD_ROOT
-%post
-/sbin/ldconfig
-if [ "$1" = 1 ]; then
- echo "Remember to install libvisual-plugins-* packages if you"
- echo "want to have a visualizations in amaroK."
-fi
+%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
-%files -f %{name}.lang
+%files -f amarok.lang
%defattr(644,root,root,755)
%doc AUTHORS ChangeLog README
%attr(755,root,root) %{_bindir}/amarok
%attr(755,root,root) %{_bindir}/amarokapp
%attr(755,root,root) %{_bindir}/amarokcollectionscanner
%attr(755,root,root) %{_bindir}/amarok_libvisual
+# used by last.fm and daap
%attr(755,root,root) %{_bindir}/amarok_proxy.rb
+# used by daap
%attr(755,root,root) %{_bindir}/amarok_daapserver.rb
%attr(755,root,root) %{_libdir}/libamarok.so.*.*.*
-%{_libdir}/kde3/konqsidebar_universalamarok.la
-%attr(755,root,root) %{_libdir}/kde3/konqsidebar_universalamarok.so
-%{_libdir}/kde3/libamarok_generic-mediadevice.la
+%attr(755,root,root) %ghost %{_libdir}/libamarok.so.0
%attr(755,root,root) %{_libdir}/kde3/libamarok_generic-mediadevice.so
-%{_libdir}/kde3/libamarok_void-engine_plugin.la
%attr(755,root,root) %{_libdir}/kde3/libamarok_void-engine_plugin.so
-%{_libdir}/libamarok.la
-%{_libdir}/kde3/libamarok_daap-mediadevice.la
%attr(755,root,root) %{_libdir}/kde3/libamarok_daap-mediadevice.so
-%{_libdir}/kde3/libamarok_massstorage-device.la
%attr(755,root,root) %{_libdir}/kde3/libamarok_massstorage-device.so
-%{_libdir}/kde3/libamarok_nfs-device.la
%attr(755,root,root) %{_libdir}/kde3/libamarok_nfs-device.so
-%{_libdir}/kde3/libamarok_smb-device.la
%attr(755,root,root) %{_libdir}/kde3/libamarok_smb-device.so
%dir %{_datadir}/apps/amarok
%dir %{_datadir}/apps/amarok/scripts
-%{_datadir}/apps/amarok/ruby_lib
%{_datadir}/apps/amarok/*.rc
%{_datadir}/apps/amarok/data
%{_datadir}/apps/amarok/icons
%{_datadir}/apps/amarok/images
%{_datadir}/apps/amarok/themes
-%{_datadir}/apps/konqueror/servicemenus/amarok_append.desktop
-%{_datadir}/apps/konqsidebartng/add/amarok.desktop
-%{_datadir}/apps/konqsidebartng/entries/amarok.desktop
-%{_datadir}/apps/konqsidebartng/kicker_entries/amarok.desktop
%{_datadir}/apps/profiles/amarok.profile.xml
%{_datadir}/config/amarokrc
%{_datadir}/config.kcfg/amarok.kcfg
%{_datadir}/servicetypes/amarok_plugin.desktop
%{_desktopdir}/kde/amarok.desktop
%{_iconsdir}/*/*/apps/amarok.*
+
+# TODO: move to subpackage
+%dir %{ruby_rubylibdir}/amarok
+# used by daap
+%{ruby_rubylibdir}/amarok/codes.rb
+# used by daap and lyrics_lyrc
+%{ruby_rubylibdir}/amarok/debug.rb
+
# TODO: move to subpackage
%if %{with mp3players}
-%{_libdir}/kde3/libamarok_ifp-mediadevice.la
%attr(755,root,root) %{_libdir}/kde3/libamarok_ifp-mediadevice.so
-%{_libdir}/kde3/libamarok_ipod-mediadevice.la
%attr(755,root,root) %{_libdir}/kde3/libamarok_ipod-mediadevice.so
-%{_libdir}/kde3/libamarok_mtp-mediadevice.la
%attr(755,root,root) %{_libdir}/kde3/libamarok_mtp-mediadevice.so
-%{_libdir}/kde3/libamarok_njb-mediadevice.la
%attr(755,root,root) %{_libdir}/kde3/libamarok_njb-mediadevice.so
%{_datadir}/services/amarok_ifp-mediadevice.desktop
%{_datadir}/services/amarok_ipod-mediadevice.desktop
%{_datadir}/services/amarok_njb-mediadevice.desktop
%endif
+%files -n konqueror-addon-amarok
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/kde3/konqsidebar_universalamarok.so
+%{_datadir}/apps/konqueror/servicemenus/amarok_append.desktop
+%{_datadir}/apps/konqueror/servicemenus/amarok_addaspodcast.desktop
+%{_datadir}/apps/konqueror/servicemenus/amarok_play_audiocd.desktop
+%{_datadir}/apps/konqsidebartng/add/amarok.desktop
+%{_datadir}/apps/konqsidebartng/entries/amarok.desktop
+%{_datadir}/apps/konqsidebartng/kicker_entries/amarok.desktop
+
%if %{with akode}
%files akode
%defattr(644,root,root,755)
-%{_libdir}/kde3/libamarok_aKode-engine.la
%attr(755,root,root) %{_libdir}/kde3/libamarok_aKode-engine.so
%{_datadir}/services/amarok_aKode-engine.desktop
%endif
%if %{with gstreamer}
%files gstreamer
%defattr(644,root,root,755)
-%{_libdir}/kde3/libamarok_gst10engine_plugin.la
%attr(755,root,root) %{_libdir}/kde3/libamarok_gst10engine_plugin.so
%{_datadir}/config.kcfg/gstconfig.kcfg
%{_datadir}/services/amarok_gst10engine_plugin.desktop
%if %{with helix}
%files helix
%defattr(644,root,root,755)
-%{_libdir}/kde3/libamarok_helixengine_plugin.la
%attr(755,root,root) %{_libdir}/kde3/libamarok_helixengine_plugin.so
%{_datadir}/config.kcfg/helixconfig.kcfg
%{_datadir}/services/amarok_helixengine_plugin.desktop
%if %{with xine}
%files xine
%defattr(644,root,root,755)
-%{_libdir}/kde3/libamarok_xine-engine.la
%attr(755,root,root) %{_libdir}/kde3/libamarok_xine-engine.so
%{_datadir}/config.kcfg/xinecfg.kcfg
%{_datadir}/services/amarok_xine-engine.desktop
%endif
-%if %{with xmms}
-%files xmms
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/amarok_xmmswrapper2
-%endif
-
%if 0
%if %{with zeroconf}
%files zeroconf
%{_datadir}/apps/amarok/scripts/common/Publisher.py
%{_datadir}/apps/amarok/scripts/common/Zeroconf.py
-%dir %{_datadir}/apps/amarok/scripts/templates
-%{_datadir}/apps/amarok/scripts/templates/amarok.rb
-%{_datadir}/apps/amarok/scripts/templates/python_qt_template.py
-%{_datadir}/apps/amarok/scripts/templates/ruby_qt_template.rb
-
# amarok searches for executable programs for scripts
# to figure out which files need to have execute permission, use this
# find command:
%{_datadir}/apps/amarok/scripts/playlist2html/Playlist.py
%attr(755,root,root) %{_datadir}/apps/amarok/scripts/playlist2html/PlaylistServer.py
%attr(755,root,root) %{_datadir}/apps/amarok/scripts/playlist2html/playlist2html.py
+%{_datadir}/apps/amarok/scripts/playlist2html/PlaylistServer.spec
+%{_datadir}/apps/amarok/scripts/playlist2html/playlist2html.spec
%dir %{_datadir}/apps/amarok/scripts/webcontrol
%{_datadir}/apps/amarok/scripts/webcontrol/README
%attr(755,root,root) %{_datadir}/apps/amarok/scripts/score_impulsive/score_impulsive.rb
%{_datadir}/apps/amarok/scripts/score_impulsive/score_impulsive.spec
-%dir %{_datadir}/apps/amarok/scripts/ruby_debug
-%{_datadir}/apps/amarok/scripts/ruby_debug/debug.rb
-
%if 0
%dir %{_datadir}/apps/amarok/scripts/amarok_live
%{_datadir}/apps/amarok/scripts/amarok_live/README