Blob Blame History Raw
# Rebuild switch: 
#  --with nonfree    Enables nonfree plugins (xine engine, MP4 support, iPod...)
#

%{?_with_nonfree: %define use_nonfree 1}

Name:       amarok
Summary:    Media player for KDE
Version:    1.4
Release:    0.6.beta1%{?dist}

Group: 	    Applications/Multimedia
License:    GPL
Url:        http://amarok.kde.org
Source0:    http://dl.sf.net/amarok/amarok-1.4-beta1.tar.bz2
Patch0:     amarok-1.4beta1-gst10.patch
#Patch0:     amarok-1.3.4-helix-libs.patch
#Patch1:     amarok-1.3.6-libtunepimp040.patch
Patch2:     amarok-1.3-engines-cfg.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  kdemultimedia-devel >= 6:3.2
BuildRequires:  taglib-devel >= 1.3, esound-devel
BuildRequires:  desktop-file-utils, gettext
BuildRequires:  libGL
BuildRequires:  libmusicbrainz-devel, xmms-devel >= 1:1.2
BuildRequires:  libvisual-devel >= 0.2.0, SDL-devel, gtk+-devel
BuildRequires:  libtool-ltdl-devel
BuildRequires:  mysql-devel, postgresql-devel
BuildRequires:  libtunepimp-devel >= 0.4.0
BuildRequires:  kdebase-devel
BuildRequires:  alsa-lib-devel
BuildRequires:  akode-devel
BuildRequires:  libifp-devel, libusb-devel
%if "%fedora" >= "5"
BuildRequires:  gstreamer-plugins-base-devel, gstreamer-plugins-good-devel, gstreamer-devel
%else
BuildRequires:  gstreamer-plugins-devel >= 0.8.4
%endif
%ifnarch ppc64 x86_64 s390 s390x ia64
BuildRequires:  HelixPlayer
%endif

%if  0%{?use_nonfree}
BuildRequires:  xine-lib-devel >= 0:1.0.0
BuildRequires:  libmad-devel
BuildRequires:  faad2-devel
%endif

Requires:   kdemultimedia >= 6:3.2
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils

Obsoletes: amarok-arts < 1.3, amarok-akode < 1.3
Provides:  amarok-devel = %{version}-%{release}


%description
Amarok is a KDE multimedia player with:
 - fresh playlist concept, very fast to use, with drag and drop
 - plays all formats supported by the various engines
 - audio effects, like reverb and compressor
 - compatible with the .m3u and .pls formats for playlists
 - nice GUI, integrates into the KDE look, but with a unique touch

Amarok can use various engines to decode sound : gstreamer, arts,
helix and xine (disabled by default for patent reasons)
To use the helix engine, you'll have to install either HelixPlayer
or RealPlayer


%package visualisation
Summary:    Visualisation plugins for Amarok
Group:      Applications/Multimedia
Requires:   %{name} = %{version}

%description visualisation
Amarok can use visualisation plugins from different origins.
Right now, only xmms is supported, which means that you can
use any of xmms' visualisation plugins with Amarok.


%if 0%{?use_nonfree}
%package nonfree
Summary:    Non-free plugins for Amarok
Group:      Applications/Multimedia
Requires:   %{name} = %{version}
Obsoletes:  %{name}-xine < %{version}
Provides:   %{name}-xine = %{version}

%description nonfree
This package adds the patented/non-free plugins for Amarok:
 - xine engine
 - mp4 tagging support (not yet done)
 - iPod support (not yet done)
%endif


%prep
%setup -q -n %{name}-%{version}-beta1
# Discover the helix libs
#%patch0 -p1 -b .helix-libs
# Use libtunepimp 0.4.0 (api changed)
#%patch1 -p1 -b .libtunepimp040
# Gstreamer default sink should be autoaudiosink
%patch2 -p1 -b .engines-cfg
# Don't use cache to detect gst 0.10 or it will fail because gst 0.8 is not present
%patch0 -p1 -b .gst10


%build
unset QTDIR && . %{_sysconfdir}/profile.d/qt.sh
# work around an improper ${kdelibsuff}
export QTLIB=${QTDIR}/lib QTINC=${QTDIR}/include
%configure \
     --disable-debug \
     --disable-rpath \
     --with-gstreamer10 \
     --enable-mysql \
     --enable-postgresql \
     --with-ifp \
%ifnarch ppc64 x86_64 s390 s390x ia64
     --with-helix=%{_libdir}/helix \
%endif
%if 0%{?use_nonfree}
     --with-xine \
#     --with-mp4v2 \  # Compile fails
#     --with-libgpod \ # Not packaged yet
%else
     --without-xine \
     --without-mp4v2 \
#     --without-libgpod \
%endif
#     --enable-final \
#     --with-nmm \
#     --with-mas

# fails with smp flags
#make %{?_smp_mflags}
make


%install
rm -fr $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT 

# desktop files
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
mkdir -p $RPM_BUILD_ROOT%{_datadir}/apps/konqueror/servicemenus

# The desktop file contains both the desktop entry and the service menu, we have to split.
# Tail from the blank line:
perl -ne '/^$/...do{print;0}' $RPM_BUILD_ROOT%{_datadir}/applications/kde/%{name}.desktop \
    > $RPM_BUILD_ROOT%{_datadir}/apps/konqueror/servicemenus/%name.desktop
# Head until the blank line:
perl -pi -e '/^$/ && exit' $RPM_BUILD_ROOT%{_datadir}/applications/kde/%{name}.desktop

desktop-file-install  --vendor fedora \
        --dir $RPM_BUILD_ROOT%{_datadir}/applications/kde \
        --delete-original \
        --add-category Application \
        --add-category X-Fedora \
        $RPM_BUILD_ROOT%{_datadir}/applications/kde/%{name}.desktop

rm -f $RPM_BUILD_ROOT%{_datadir}/applications/kde/amarokapp.desktop
# Amarok crashes without the *.la files !
#find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';'
# Remove the *.la file in /usr/lib though, those are OK to delete
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la


%find_lang %{name}
# HTML
for lang_dir in $RPM_BUILD_ROOT%{_docdir}/HTML/* ; do
  lang=$(basename $lang_dir)
  [ "$lang" == "en" ] && d=en/%{name} || d=$lang
  echo "%lang($lang) %doc %{_docdir}/HTML/$d" >> %{name}.lang
done


%post
# update icon themes if necessary
touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
    %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
update-desktop-database &> /dev/null ||:
ldconfig

%postun
# update icon themes if necessary
touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
    %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
update-desktop-database &> /dev/null ||:
ldconfig


%clean
rm -fr $RPM_BUILD_ROOT


%files -f %{name}.lang
%defattr(-,root,root)
%doc COPYING AUTHORS ChangeLog README
%{_bindir}/amarok
%{_bindir}/amarokapp
%{_bindir}/amarokcollectionscanner
%{_datadir}/apps/%{name}
%{_datadir}/icons/hicolor/*/*
%{_datadir}/applications/kde/*.desktop
%{_datadir}/services/amarok_void-engine_plugin.desktop
%{_datadir}/services/amarok_ifp-mediadevice.desktop
%{_datadir}/services/amarok_vfat-mediadevice.desktop
%{_datadir}/servicetypes/*.desktop
%{_datadir}/apps/konqueror/servicemenus/*.desktop
%{_libdir}/kde3/libamarok_void-engine_plugin.*
%{_libdir}/kde3/libamarok_ifp-mediadevice.*
%{_libdir}/kde3/libamarok_vfat-mediadevice.*
%{_libdir}/kde3/konqsidebar_universalamarok.*
%{_libdir}/libamarok.*
%{_datadir}/apps/konqsidebartng/*/amarok.desktop
%{_datadir}/apps/profiles/amarok.profile.xml
%{_libdir}/mcop/Amarok
%{_libdir}/mcop/amarok*
%{_datadir}/config/amarokrc
%{_datadir}/config.kcfg/*.kcfg
# Gstreamer engine
%if "%fedora" >= "5"
%{_datadir}/services/amarok_gst10engine_plugin.desktop
%{_libdir}/kde3/libamarok_gst10engine_plugin.*
%else
%{_datadir}/services/amarok_gstengine_plugin.desktop
%{_libdir}/kde3/libamarok_gstengine_plugin.*
%endif
# Akode engine
%{_datadir}/services/amarok_aKode-engine.desktop
%{_libdir}/kde3/libamarok_aKode-engine.*
# Arts engine
%{_libdir}/libamarokarts*
%{_libdir}/kde3/libamarok_artsengine_plugin.*
%{_datadir}/services/amarok_artsengine_plugin.desktop
# Helix engine
%ifnarch ppc64 s390 s390x ia64
%{_libdir}/kde3/libamarok_helixengine_plugin.*
%{_datadir}/services/amarok_helixengine_plugin.desktop
%endif



%files visualisation
%defattr(-,root,root)
%{_bindir}/amarok_libvisual
%{_bindir}/amarok_xmmswrapper2


%if 0%{?use_nonfree}
%files nonfree
%defattr(-,root,root)
%{_libdir}/kde3/libamarok_xine-engine.*
%{_datadir}/services/amarok_xine-engine.desktop
%endif


%changelog
* Wed Feb 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.6.beta1
- remove requirement on HelixPlayer for x86_64, amarok include the headers

* Wed Feb 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.5.beta1
- build Helix engine on x86_64

* Wed Feb 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.4.beta1
- fix gstramer 0.10 detection again

* Mon Feb 20 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.3.beta1
- fix gstreamer 0.10 detection

* Fri Feb 17 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.1.beta1
- fix gstreamer dependency

* Wed Feb 15 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.1.beta1
- version 1.4-beta1

* Sun Feb 12 2006 Aurelien Bompard <gauret[AT]free.fr> 1.3.8-2
- fix BR for gstreamer < 0.10

* Sat Jan 21 2006 Aurelien Bompard <gauret[AT]free.fr> 1.3.8-1
- version 1.3.8

* Wed Dec 07 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.7-1
- version 1.3.7

* Sun Nov 20 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.6-2
- build with libtunepimp
- add patch to use libtunepimp 0.4.0 (api changed)

* Tue Nov 08 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.6-1
- version 1.3.6
- BR libGL instead of xorg-x11-Mesa-libGL to prepare for X11R7

* Tue Oct 25 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.5-1
- version 1.3.5

* Mon Oct 24 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.4-1
- version 1.3.4
- add mysql and postgresql support
- update desktop database
- add %%doc files

* Thu Oct 13 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.3-1
- version 1.3.3
- drop endian patch

* Wed Sep 21 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.2-1
- version 1.3.2
- remove patch 4 (applied upstream)

* Sat Sep 10 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.1-2
- add patch from upstream to fix alsasink in gstreamer
- default to autoaudiosink for gstreamer

* Mon Sep 05 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.1-1
- version 1.3.1

* Tue Aug 23 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-6
- add version to obsoletes

* Tue Aug 23 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-5
- add missing Obsoletes.

* Mon Aug 22 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-4
- fix endian declaration on ppc

* Mon Aug 22 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-3
- dont build the Helix engine on arches where HelixPlayer is not built

* Mon Aug 22 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-2
- disable the akode engine (disabled upstream, see Changelog)
- merge in the Helix engine, since it does not have special Requires.
  HelixPlayer or RealPlayer need to be installed manually (either one)
- updated description

* Mon Aug 22 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-1
- update to version 1.3
- add Michel Salim's improvements:
  - call gtk-update-icon-cache to (de-)register icons
  - new output plugin subpackage: helix
  - patched gst and helix plugins' default settings

* Fri Jul 01 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.4-6
- remove -arts subpackage, it is useless

* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-6.fc5
- remove temporary work-around from 1.2.4-2.fc4
- add patch to fix several missing forward declarations which let
  compilation with gcc >= 4.0.0-9 fail
- re-enable SMP make flags

* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-5.fc4
- disable SMP make flags, since previous release failed miserably on
  i386 while the one before it succeeded

* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-4.fc4
- set QTLIB and QTINC, so configure script does not search for Qt in
  QTDIR/lib64 on 64-bit multilib platforms

* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-3.fc4
- try to fix build problems (#158654): always set QTDIR, always
  buildrequire libtool-ltdl-devel, disable %%fedora conditional BR

* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-2.fc4
- temporarily add patch to work around Fedora Core bug 159090

* Mon May 23 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.4-1
- version 1.2.4
- use dist tag
- conditional builds for fc3 and fc4

* Sun May 22 2005 Jeremy Katz <katzj@redhat.com> - 1.2.3-2.fc4
- rebuild on all arches

* Tue Mar 29 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.3-1.fc4
- version 1.2.3
- add libtool to BuildRequirements
- change release tag for FC4
- add a subpackage for aKode engine

* Mon Mar 14 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.2-1
- version 1.2.2

* Sat Mar 05 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.1-1
- version 1.2.1 (bugfixes)

* Mon Feb 14 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2-2
- show in the GNOME menus too

* Sun Feb 13 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2-1
- version 1.2 final
- drop --disable-rpath, won't build with it.
- drop epoch

* Thu Feb 10 2005 Aurelien Bompard <gauret[AT]free.fr> 0:1.2-0.2.beta4
- version 1.2 beta 4

* Sat Nov 27 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.2-0.fdr.0.1.beta1
- version 1.2beta 1
- minor cleanups
- don't ship the desktop files, split the provided one instead

* Sun Oct 24 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.1-0.fdr.2
- clean-up buildrequires
- fix --with xine switch
- make a -visualisation subpackage for visualisation plugins
- make a -arts subpackage to lower dependencies

* Wed Oct 20 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.1-0.fdr.1
- version 1.1.1

* Mon Sep 27 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.0-0.fdr.2
- improve buildrequires

* Sun Sep 26 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.0-0.fdr.1
- version 1.1 final

* Tue Sep 14 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.0-0.fdr.0.1.beta2
- version 1.1 beta2

* Thu Aug 05 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0.2-0.fdr.1
- version 1.0.2
- added new xine engine

* Tue Jul 13 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0.1-0.fdr.3
- remove BR: libselinux-devel: RH fixed the bug

* Wed Jun 30 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0.1-0.fdr.2
- add Requires: xorg-x11-devel because of a qt packaging bug

* Tue Jun 29 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0.1-0.fdr.1
- version 1.0.1 (bugfixes)

* Mon Jun 21 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0-0.fdr.3
- remove BR: xine-lib-devel
- add BR: xorg-x11-Mesa-libGL and libselinux-devel

* Thu Jun 17 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0-0.fdr.2
- add translations

* Thu Jun 17 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0-0.fdr.1
- version 1.0 final

* Tue Jun 01 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0-0.fdr.0.1.beta4
- update to beta4

* Sun May 09 2004 Aurelien Bompard <gauret[AT]free.fr> 1.0-0.fdr.0.1.beta3
- version 1.0-beta3

* Fri Apr 23 2004 Aurelien Bompard <gauret[AT]free.fr> 1.0-0.fdr.0.1.beta2
- version 1.0-beta2
- use desktop-file-install
- remove .la files
- remove --enable-final (won't build with it)

* Thu Apr 15 2004 Aurelien Bompard <gauret[AT]free.fr> 1.0-0.fdr.0.1.beta1
- version 1.0-beta1
- reduce BuildRequires : arts-devel already requires arts, libvorbis-devel
  and audiofile-devel

* Mon Mar 08 2004 Aurelien Bompard <gauret[AT]free.fr> 0:0.9-0.fdr.1
- version 0.9

* Wed Feb 11 2004 Aurelien Bompard <gauret[AT]free.fr> 0.8.3-0.fdr.1
- initial package