+# TODO: use browser-plugins if plugin works with something else than firefox (e.g. seamonkey)
#
# Conditional build:
-%bcond_with gstreamer # build with GStreamer support (instead of XINE)
+%bcond_without gaim # build without D-BUS gaim support
+%bcond_without sid # build without sid support
+%bcond_without ofa # build without MusicIP support
#
Summary: Sound player with the WinAmp GUI, for Unix-based systems for GTK+
Summary(pl): Odtwarzacz d¼wiêku z interfejsem WinAmpa dla GTK+
Name: bmpx
-Version: 0.12.9
+Version: 0.36.0
Release: 0.1
License: GPL v2
Group: X11/Applications/Sound
-Source0: http://dl.sourceforge.net/beepmp/%{name}-%{version}.tar.bz2
-# Source0-md5: 4449eb429dc7bfb9c2ec3feb9e8c7e56
+Source0: http://files.beep-media-player.org/releases/0.36/%{name}-%{version}.tar.bz2
+# Source0-md5: 4755c38432dd912dc8156ad217c2e5bf
Source1: mp3license
-Patch1: %{name}-desktop.patch
+Patch0: %{name}-desktop.patch
URL: http://beep-media-player.org/
BuildRequires: autoconf
BuildRequires: automake
+BuildRequires: bison
+BuildRequires: boost-bind-devel
+BuildRequires: boost-call_traits-devel
+BuildRequires: boost-devel
+BuildRequires: boost-filesystem-devel
+BuildRequires: boost-regex-devel
+BuildRequires: cdparanoia-III-devel
BuildRequires: curl-devel
-BuildRequires: dbus-glib-devel
+BuildRequires: dbus-glib-devel >= 0.62
BuildRequires: esound-devel >= 0.2.8
BuildRequires: fam-devel
-BuildRequires: gtk+2-devel >= 2:2.8.0
-BuildRequires: libglade2-devel >= 1:2.5.1
+BuildRequires: flex
+%{?with_gaim:BuildRequires: gaim-devel}
+BuildRequires: gstreamer-plugins-base-devel >= 0.10.9
+BuildRequires: gtkmm-devel >= 2.9.8
+BuildRequires: hal-devel >= 0.5.7
+BuildRequires: libglademm-devel >= 2.6.2
+BuildRequires: libnotify-devel >= 0.4.2
+BuildRequires: libmusicbrainz-devel >= 2.1.1
+%{?with_ofa:BuildRequires: libofa-devel >= 0.9.3}
+%{?with_sid:BuildRequires: libsidplay-devel}
+BuildRequires: libtool
BuildRequires: libvorbis-devel >= 1:1.0
+BuildRequires: libxml2-devel >= 1:2.6.26
+BuildRequires: mpeg4ip-devel
+BuildRequires: neon-devel >= 0.25.5
+BuildRequires: rpmbuild(macros) >= 1.311
BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.194
-BuildRequires: startup-notification-devel
-BuildRequires: taglib-devel
-%if %{with gstreamer}
-BuildRequires: gstreamer-devel >= 0.10
-%else
-BuildRequires: xine-lib-devel
-%endif
-Obsoletes: libchroma
-Obsoletes: libchroma-devel
-Requires: %{name}-libs = %{epoch}:%{version}-%{release}
-Requires: %{name}-plugin-container = %{epoch}:%{version}-%{release}
-Requires: %{name}-plugin-flow = %{epoch}:%{version}-%{release}
-Requires: %{name}-plugin-transport = %{epoch}:%{version}-%{release}
-Requires: libhrel = 0.1-2
-%if %{with gstreamer}
-Requires: gstreamer-audio-effects
-Requires: gstreamer-audio-formats
+BuildRequires: startup-notification-devel >= 0.8
+BuildRequires: taglib-devel >= 1.4
+BuildRequires: unzip
+Requires(post,postun): desktop-file-utils
+Requires(post,postun): gtk+2 >= 2:2.10.0
+Requires(post,postun): hicolor-icon-theme
+Requires(post,postun): shared-mime-info
+Requires: gstreamer-audio-effects-base >= 0.10.9
+Requires: gstreamer-audio-formats >= 0.10.3
Requires: gstreamer-audiosink
-%else
-Requires: xine-plugin-audio
-%endif
+Obsoletes: bmpx-curses
+Obsoletes: bmpx-libs
+Obsoletes: bmpx-plugin-container
+Obsoletes: bmpx-plugin-flow
+Obsoletes: bmpx-plugins-base
+Obsoletes: bmpx-plugin-transport
+Obsoletes: bmpx-remote
+Obsoletes: bmpx-remote-gtk
+Obsoletes: bmpx-static
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _firefoxdir %{_libdir}/mozilla-firefox
+%define _chromedir %{_firefoxdir}/chrome
+
%description
BMPx is the follow-up of the BMP project with a codebase rewritten
from scratch and aims to maintain a stable audio player foundation,
siê na utrzymaniu stabilnej podstawy odtwarzacza d¼wiêku, aby
udostêpniæ odtwarzacz ze spójn± i ³atw± do zrozumienia obs³ug±.
-%package libs
-Summary: BMPx player library
-Summary(pl): Biblioteka odtwarzacza BMPx
-Group: X11/Development/Libraries
-
-%description libs
-BMPx player library.
-
-%description libs -l pl
-Biblioteka odtwarzacza BMPx.
-
%package devel
Summary: Header files for BMPx media player
Summary(pl): Pliki nag³ówkowe odtwarzacza multimedialnego BMPx
Group: X11/Development/Libraries
-Requires: %{name}-libs = %{epoch}:%{version}-%{release}
-Requires: libhrel-devel
+Requires: dbus-glib-devel >= 0.62
+Obsoletes: libchroma-devel
+Obsoletes: libhrel-devel
%description devel
Header files required for compiling BMPx media player plugins.
Pliki nag³ówkowe potrzebne do kompilowania wtyczek odtwarzacza
multimedialnego BMPx.
-%package static
-Summary: Static BMPx library
-Summary(pl): Statyczna biblioteka BMPx
-Group: X11/Development/Libraries
-Requires: %{name}-devel = %{epoch}:%{version}-%{release}
-
-%description static
-Static BMPx library.
-
-%description static -l pl
-Statyczna biblioteka BMPx.
-
-%package plugin-container
-Summary: Container plugin for BMPx
-Summary(pl): Wtyczka Container dla BMPx
-Group: X11/Applications/Sound
-Requires: %{name} = %{epoch}:%{version}-%{release}
-
-%description plugin-container
-Plugin providing support for folders, m3u & pls playlist files, etc.
-
-%description plugin-container -l pl
-Wtyczka dodaj±ca obs³ugê folderów, playlist w formacie m3u i pls, itp.
-
-%package plugin-flow
-Summary: Flow plugin for BMPx
-Summary(pl): Wtyczka Flow dla BMPx
-Group: X11/Applications/Sound
-Requires: %{name} = %{epoch}:%{version}-%{release}
-
-%description plugin-flow
-Flow plugin for BMPx.
-
-%description plugin-flow -l pl
-Wtyczka Flow dla BMPx.
-
-%package plugin-transport
-Summary: Transport plugin for BMPx
-Summary(pl): Wtyczka Transport dla BMPx
-Group: X11/Applications/Sound
-Requires: %{name} = %{epoch}:%{version}-%{release}
-
-%description plugin-transport
-Transport plugin for BMPx.
-
-%description plugin-transport -l pl
-Wtyczka Transport dla BMPx.
-
-%package remote
-Summary: BMPx python status watcher
-Summary(pl): Obserwator statusu BMPx
-Group: X11/Applications/Sound
-Requires: %{name} = %{epoch}:%{version}-%{release}
-
-%description remote
-BMPx python status watcher.
-
-%description remote -l pl
-Obserwator statusu BMPx.
-
-%package remote-curses
-Summary: BMPx python status watcher
-Summary(pl): Obserwator statusu BMPx w pythonie
-Group: X11/Applications/Sound
-Requires: %{name} = %{epoch}:%{version}-%{release}
-
-%description remote-curses
-BMPx python status watcher (CLI interface).
-
-%description remote-curses -l pl
-Obserwator statusu BMPx w pythonie (interfejs CLI).
-
-%package remote-gtk
-Summary: BMPx python status watcher
-Summary(pl): Obserwator statusu BMPx w pythonie
-Group: X11/Applications/Sound
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: python-dbus
-Requires: python-pygtk-glade
-
-%description remote-gtk
-BMPx python status watcher (GTK+ interface).
-
-%description remote-gtk -l pl
-Obserwator statusu BMPx w pythonie (interfejs GTK+).
-
-%package -n libhrel
-Summary: Holyrel library
-Summary(pl): Biblioteka Holyrel
-Group: X11/Development/Libraries
-Version: 0.1
-Release: 2
-
-%description -n libhrel
-Holyrel library.
-
-%description -n libhrel -l pl
-Biblioteka Holyrel.
-
-%package -n libhrel-devel
-Summary: Header files for Holyrel library
-Summary(pl): Pliki nag³ówkowe biblioteki Holyrel
-Group: X11/Development/Libraries
-Requires: libhrel = %{epoch}:%{version}-%{release}
-Version: 0.1
-Release: 2
+%package -n mozilla-firefox-plugin-bmpx
+Summary: BMPx plugin for Mozilla Firefox
+Summary(pl): Wtyczka BMPx dla Mozilli Firefox
+Group: X11/Applications
+Requires: %{name} = %{version}-%{release}
+Requires: mozilla-firefox
-%description -n libhrel-devel
-Header files for Holyrel library.
+%description -n mozilla-firefox-plugin-bmpx
+This plugin registers the lastfm:// protocol to BMPx.
-%description -n libhrel-devel -l pl
-Pliki nag³ówkowe biblioteki Holyrel.
+%description -n mozilla-firefox-plugin-bmpx -l pl
+Ta wtyczka rejestruje protokó³ lastfm:// do BMPx.
%prep
%setup -q
-%patch1 -p1
+%patch0 -p1
%build
-rm -rf autom4te.cache
+%{__libtoolize}
%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
-%if %{with gstreamer}
- --enable-gst \
- --disable-xine
-%else
- --enable-xine \
-%endif
+ --enable-hal \
+ --enable-gamin \
+ --enable-libnotify \
+ --enable-mp4v2 \
+ %{?with_ofa:--enable-ofa} \
+ %{?with_sid:--enable-sid} \
--enable-shared \
- --enable-static
+ --enable-static \
+ %{?with_gaim:--enable-gaim} \
+ --with-dbus-services-dir=%{_datadir}/dbus-1/services
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_chromedir}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
m4datadir=%{_aclocaldir}
-rm -f $RPM_BUILD_ROOT%{_datadir}/bmpx/data/GPL.txt
-
-install -d $RPM_BUILD_ROOT%{_pixmapsdir}
-mv -f $RPM_BUILD_ROOT%{_iconsdir}/hicolor/48x48/apps/bmpx.png \
- $RPM_BUILD_ROOT%{_pixmapsdir}
+unzip xpi/bmp.xpi -d $RPM_BUILD_ROOT%{_firefoxdir}
+sed -e 's@chrome/bmp\.jar@bmp\.jar@' $RPM_BUILD_ROOT%{_firefoxdir}/chrome.manifest \
+ > $RPM_BUILD_ROOT%{_chromedir}/bmp.manifest
-rm -f $RPM_BUILD_ROOT%{_libdir}/bmpx/plugins/*/*.{a,la}
-rm -f $RPM_BUILD_ROOT%{_bindir}/{ctt,hash_*,hrel-demo}
+rm -f $RPM_BUILD_ROOT%{_firefoxdir}/{install.rdf,chrome.manifest}
+rm -f $RPM_BUILD_ROOT%{_datadir}/bmpx/data/GPL.txt
+rm -f $RPM_BUILD_ROOT%{_libdir}/bmpx/plugins/{taglib,vfs/container,vfs/transport}/*.{a,la}
+rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/th_TH
%find_lang %{name}
rm -rf $RPM_BUILD_ROOT
%post
-umask 022
-[ ! -x /usr/bin/update-desktop-database ] || /usr/bin/update-desktop-database >/dev/null 2>&1 ||:
+%update_desktop_database_post
+%update_mime_database
+%update_icon_cache hicolor
-%if %{with gstreamer}
%banner %{name} -e << EOF
Remember to install appropriate GStreamer plugins for files
you want to play:
+- gstreamer-cdparanoia (for Audio-CD)
- gstreamer-flac (for FLAC)
- gstreamer-mad (for MP3s)
- gstreamer-vorbis (for Ogg Vorbis)
EOF
-%else
-%banner %{name} -e << EOF
-Remember to install appropriate xine-decode plugins for files
-you want to play:
-- xine-decode-flac (for FLAC)
-- xine-decode-ogg (for Ogg Vorbis)
-EOF
-%endif
%postun
-if [ $1 = 0 ]; then
- umask 022
- [ ! -x /usr/bin/update-desktop-database ] || /usr/bin/update-desktop-database >/dev/null 2>&1
-fi
-
-%post libs -p /sbin/ldconfig
-%postun libs -p /sbin/ldconfig
-
-%post -n libhrel -p /sbin/ldconfig
-%postun -n libhrel -p /sbin/ldconfig
+%update_desktop_database_postun
+%update_mime_database
+%update_icon_cache hicolor
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc AUTHORS ChangeLog NEWS README
-%attr(755,root,root) %{_bindir}/bmpx
-%attr(755,root,root) %{_bindir}/bmpx-dbus-*
+%attr(755,root,root) %{_bindir}/beep-media-player-2
+%attr(755,root,root) %{_bindir}/bmp-enqueue-files-2.0
+%attr(755,root,root) %{_bindir}/bmp-enqueue-uris-2.0
+%attr(755,root,root) %{_bindir}/bmp-play-files-2.0
+%attr(755,root,root) %{_bindir}/bmp-play-lastfm-2.0
+%attr(755,root,root) %{_libexecdir}/beep-media-player-2-bin
+%attr(755,root,root) %{_libexecdir}/beep-media-player-2-sentinel
+
%dir %{_libdir}/bmpx
%dir %{_libdir}/bmpx/plugins
-%dir %{_datadir}/bmpx-clients
-%{_mandir}/man*/*
-%{_datadir}/bmpx
-%{_desktopdir}/*
-%{_pixmapsdir}/*
+%dir %{_libdir}/bmpx/plugins/taglib
+%dir %{_libdir}/bmpx/plugins/vfs
+%dir %{_libdir}/bmpx/plugins/vfs/container
+%dir %{_libdir}/bmpx/plugins/vfs/transport
+%attr(755,root,root) %{_libdir}/bmpx/plugins/taglib/*.so*
+%attr(755,root,root) %{_libdir}/bmpx/plugins/vfs/container/*.so*
+%attr(755,root,root) %{_libdir}/bmpx/plugins/vfs/transport/*.so*
-%files libs
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libskinned.so.*.*.*
+%{_datadir}/bmpx
+%{_datadir}/dbus-1/services/*.service
+%{_mandir}/man*/*
+%{_desktopdir}/*.desktop
+%{_iconsdir}/hicolor/*/*/*.png
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libskinned.so
-%{_libdir}/libskinned.la
-%{_includedir}/bmpx
-%{_includedir}/libskinned
-
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/*.a
-
-%files plugin-container
-%defattr(644,root,root,755)
-%dir %{_libdir}/bmpx/plugins/container
-%attr(755,root,root) %{_libdir}/bmpx/plugins/container/*.so*
-
-%files plugin-flow
-%defattr(644,root,root,755)
-%dir %{_libdir}/bmpx/plugins/flow
-%attr(755,root,root) %{_libdir}/bmpx/plugins/flow/*.so*
-
-%files plugin-transport
-%defattr(644,root,root,755)
-%dir %{_libdir}/bmpx/plugins/transport
-%attr(755,root,root) %{_libdir}/bmpx/plugins/transport/*.so*
-
-%files remote
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/bmpx-remote
-
-%files remote-curses
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/bmpty
-
-%files remote-gtk
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/bmpx-client-pygtk
-%{_datadir}/bmpx-clients/pygtk
-
-%files -n libhrel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libhrel.so.*.*.*
+%{_includedir}/bmp-2.0
+%{_pkgconfigdir}/*.pc
-%files -n libhrel-devel
+%files -n mozilla-firefox-plugin-bmpx
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libhrel.so
-%{_libdir}/libhrel.la
-%{_pkgconfigdir}/hrel.pc
-%{_includedir}/libhrel
+%{_chromedir}/bmp.jar
+%{_chromedir}/bmp.manifest