File banshee.spec of Package banshee

#
# spec file for package banshee
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           banshee
Version:        2.4.1
Release:        0
Summary:        A media playback and management application
License:        MIT
Group:          Productivity/Multimedia/Sound/Players
Url:            http://banshee.fm
Source0:        http://download.gnome.org/sources/banshee/2.4/%{name}-%{version}.tar.xz
# rpmlintrc: macro-in-comment, no-manual-page-for-binary
Source99:       %{name}-rpmlintrc
# PATCH-FIX-UPSTREAM banshee-recent-gpod.patch bgo#655660 vuntz@opensuse.org -- Fix build with recent gtkpod-sharp (0.8.2)
Patch0:         banshee-recent-gpod.patch
BuildRequires:  fdupes
BuildRequires:  gnome-doc-utils-devel
BuildRequires:  intltool
# We need the %%mime_database_* macros
BuildRequires:  shared-mime-info
BuildRequires:  translation-update-upstream
BuildRequires:  update-desktop-files
# Only needed because we don't (and won't) support building xz tarballs by default... See bnc#697467
BuildRequires:  xz
BuildRequires:  pkgconfig(boo) >= 0.8.1
BuildRequires:  pkgconfig(dbus-sharp-1.0)
BuildRequires:  pkgconfig(dbus-sharp-glib-1.0)
BuildRequires:  pkgconfig(gconf-2.0)
BuildRequires:  pkgconfig(gconf-sharp-2.0)
BuildRequires:  pkgconfig(gdata-sharp-youtube)
BuildRequires:  pkgconfig(gio-sharp-2.0) >= 2.22.3
BuildRequires:  pkgconfig(gkeyfile-sharp)
BuildRequires:  pkgconfig(gnome-desktop-2.0)
BuildRequires:  pkgconfig(gstreamer-plugins-base-0.10)
BuildRequires:  pkgconfig(gtk-sharp-2.0)
BuildRequires:  pkgconfig(gtk-sharp-beans-2.0)
BuildRequires:  pkgconfig(gudev-sharp-1.0)
BuildRequires:  pkgconfig(libgpod-sharp)
BuildRequires:  pkgconfig(libmtp)
BuildRequires:  pkgconfig(mono)
BuildRequires:  pkgconfig(mono-addins) >= 0.6.2
BuildRequires:  pkgconfig(mono-zeroconf)
%if 0%{?suse_version} > 1210
BuildRequires:  pkgconfig(mono.ssdp) >= 0.1
BuildRequires:  pkgconfig(mono.upnp) >= 0.1
BuildRequires:  pkgconfig(mono.upnp.dcp.mediaserver1) >= 0.1
%endif
BuildRequires:  pkgconfig(notify-sharp)
BuildRequires:  pkgconfig(sqlite3)
BuildRequires:  pkgconfig(taglib-sharp) >= 2.0.3.5
BuildRequires:  pkgconfig(webkit-1.0)
BuildRequires:  pkgconfig(xrandr) >= 1.1.1
BuildRequires:  pkgconfig(xxf86vm) >= 1.0.1
Requires:       %{name}-core = %{version}
Provides:       %{name}-1 = %{version}
Provides:       %{name}-client = %{version}
Provides:       %{name}-client-classic = %{version}
Obsoletes:      %{name}-1 < %{version}
# We merged client-classic in the main package
Provides:       %{name}-1-client-classic = %{version}
Obsoletes:      %{name}-1-client-classic < %{version}
Provides:       helix-banshee = %{version}
Obsoletes:      helix-banshee < %{version}
# We stopped building the soundmenu extension in 2.3.2
Obsoletes:      %{name}-1-extensions-soundmenu < %{version}
Obsoletes:      %{name}-extensions-soundmenu < %{version}
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Import, organize, and discover new music with Banshee through its
simple and powerful interface and wide array of innovative features.
Create your own radio stations or listen to a friends' through Last.fm
integration; experience automatic cover art fetching as you listen; and
easily browse, search, and control your media collection.

This package provides the Classic Banshee client, a familiar user
interface with a source list and three-pane layout for browsing and
exploring media. This client is the most feature rich, but does not
sacrifice usability.


%package core
Summary:        Core Banshee platform libraries, services, and resources
Group:          Productivity/Multimedia/Sound/Players
# While subpackages, they're pretty much required to have banshee work
Requires:       %{name}-backend-engine-gstreamer = %{version}
Requires:       %{name}-backend-io-gio = %{version}
Requires:       %{name}-backend-platform-unix = %{version}
# Those other subpackages are not strictly required. We recommend a client,
# since we need a UI.
Recommends:     %{name}-client-classic = %{version}
Recommends:     %{name}-backend-platform-gnome = %{version}
Recommends:     %{name}-dmp = %{version}
Recommends:     %{name}-dmp-apple-devices = %{version}
Recommends:     %{name}-dmp-mtp = %{version}
Recommends:     %{name}-extensions-default = %{version}
Recommends:     %{name}-lang
Provides:       %{name}-1-core = %{version}
Obsoletes:      %{name}-1-core < %{version}
# Obsoletes former language packs for smooth upgrades
Obsoletes:      %{name}-1-lang < %{version}

%description core
This package provides core libraries, services, and resources for
building Banshee clients and user experiences.


%package backend-engine-gstreamer
Summary:        GStreamer engine support for Banshee
Group:          Productivity/Multimedia/Sound/Players
Requires:       %{name}-core = %{version}
Requires:       gstreamer010-plugins-good
Supplements:    packageand(%{name}:gstreamer-0_10)
Provides:       %{name}-1-backend-engine-gstreamer = %{version}
Obsoletes:      %{name}-1-backend-engine-gstreamer < %{version}

%description backend-engine-gstreamer
This package provides the playback engine used by Banshee, built on the
GStreamer multimedia framework.


%package backend-io-gio
Summary:        GIO backend for non-local files for Banshee
Group:          Productivity/Multimedia/Sound/Players
Requires:       %{name}-core = %{version}
Requires:       gio-sharp
Requires:       gkeyfile-sharp
Requires:       gtk-sharp-beans
Requires:       gudev-sharp
Requires:       media-player-info
Provides:       %{name}-1-backend-io-gio = %{version}
Obsoletes:      %{name}-1-backend-io-gio < %{version}
# Obsoletes hal io backend for smooth upgrades
Obsoletes:      %{name}-1-backend-io-hal < %{version}

%description backend-io-gio
This package provides support for importing non-local files into
Banshee, eg over a ssh mount or similar.


%package backend-platform-unix
Summary:        UNIX platform support for Banshee
Group:          Productivity/Multimedia/Sound/Players
Requires:       %{name}-core = %{version}
Provides:       %{name}-1-backend-platform-unix = %{version}
Obsoletes:      %{name}-1-backend-platform-unix < %{version}

%description backend-platform-unix
This package provides many optimizations for UNIX based platforms. In
particular, it provides a POSIX IO layer that performs better than the
default System.IO/.NET IO layer provided in the base banshee-1 package.


%package backend-platform-gnome
Summary:        GNOME platform support for Banshee
Group:          Productivity/Multimedia/Sound/Players
Requires:       %{name}-backend-platform-unix = %{version}
Requires:       %{name}-core = %{version}
Provides:       %{name}-1-backend-platform-gnome = %{version}
Obsoletes:      %{name}-1-backend-platform-gnome < %{version}

%description backend-platform-gnome
This package provides platform integration with the GNOME Desktop for
Banshee. Most notably it provides a configuration backend to GConf, so
all user settings can be stored there. Other GNOME specific integration
hooks are provided as well.

Users running Banshee on GNOME are recommended to install this package.


%package dmp
Summary:        Digital Media Player support for Banshee
Group:          Productivity/Multimedia/Sound/Players
Requires:       %{name}-core = %{version}
Provides:       %{name}-1-dmp = %{version}
Obsoletes:      %{name}-1-dmp < %{version}

%description dmp
Core support for Digital Media Player support. Includes generic
USB mass storage device support.


%package dmp-apple-devices
Summary:        Apple(R) iPod(R) Digital Media Player support for Banshee
Group:          Productivity/Multimedia/Sound/Players
Requires:       %{name}-core = %{version}
Requires:       %{name}-dmp = %{version}
Provides:       %{name}-dmp-ipod = %{version}
Obsoletes:      %{name}-dmp-ipod < %{version}
Provides:       %{name}-1-dmp-apple-devices = %{version}
Obsoletes:      %{name}-1-dmp-apple-devices < %{version}
# Obsoletes ipod device extensions for smooth upgrades
Obsoletes:      %{name}-1-dmp-ipod-devices < %{version}

%description dmp-apple-devices
Support for iPod(R) devices including the iPod Classic(R) and iPod Nano(R).
Does not support iPod Touch(R) or iPhone(R).


%package dmp-mtp
Summary:        MTP/PlaysForSure Digital Media Player support for Banshee
Group:          Productivity/Multimedia/Sound/Players
Requires:       %{name}-core = %{version}
Requires:       %{name}-dmp = %{version}
Provides:       %{name}-1-dmp-mtp = %{version}
Obsoletes:      %{name}-1-dmp-mtp < %{version}

%description dmp-mtp
Support for various MTP/PlaysForSure/Certified For Windows Vista(R)
devices as provided by libmtp.


%package extensions-default
Summary:        Extra features extending the Banshee Media Player
Group:          Productivity/Multimedia/Sound/Players
Requires:       %{name}-core = %{version}
Requires:       gdata-sharp
Requires:       mono-zeroconf
Requires:       notify-sharp
Provides:       %{name}-1-extensions-default = %{version}
Obsoletes:      %{name}-1-extensions-default < %{version}

%description extensions-default
This package provides a number of useful features for Banshee,
including a Play Queue, Last.fm streaming, Last.fm Audioscrobbling, and
Multimedia Key support. This package is highly recommended as it
greatly enhances the end user experience of Banshee.

Import, organize, and discover new music with Banshee through its
simple and powerful interface and wide array of innovative features.
Create your own radio stations or listen to a friends' through Last.fm
integration; experience automatic cover art fetching as you listen; and
easily browse, search, and control your media collection.


%package extensions-boo
Summary:        Boo scripting support for Banshee
Group:          Productivity/Multimedia/Sound/Players
Requires:       %{name}-core = %{version}
Provides:       %{name}-1-extensions-boo = %{version}
Obsoletes:      %{name}-1-extensions-boo < %{version}

%description extensions-boo
This package provides the Boo scripting extension, useful for power
users and developers looking to customize and extend the functionality
of Banshee using Boo, the Python-like language for .NET.


%package devel
Summary:        Development package for Banshee
Group:          Development/Libraries/Other
Requires:       %{name}-core = %{version}
Requires:       %{name}-extensions-default = %{version}
Provides:       %{name}-1-devel = %{version}
Obsoletes:      %{name}-1-devel < %{version}

%description devel
Users who wish to extend Banshee should install this package. It
includes standard Linux development files and other tools for building
extensions and applications on top of the Banshee  application
framework.


%package -n muinshee
Summary:        Banshee client modeled after the Muine music player interface
Group:          Productivity/Multimedia/Sound/Players
# /usr/bin/muinshee is a symlink to /usr/bin/banshee (bnc#736777)
Requires:       %{name} = %{version}
Requires:       %{name}-core = %{version}
Provides:       %{name}-1-client-muinshee = %{version}
Provides:       %{name}-client = %{version}
Provides:       %{name}-client-muinshee = %{version}
Obsoletes:      %{name}-1-client-muinshee < %{version}

%description -n muinshee
Import, organize, and discover new music with Banshee through its
simple and powerful interface and wide array of innovative features.
Create your own radio stations or listen to a friends' through Last.fm
integration; experience automatic cover art fetching as you listen; and
easily browse, search, and control your media collection.

The Muinshee Banshee client provides a user interface modeled directly
after the old GNOME Muine media player.



%lang_package -n banshee-core
%prep
%setup -q
translation-update-upstream po banshee
%patch0 -p1

%build
%{?env_options}
echo 'dist / suse_version / sles_version'
echo '%distribution ;; %suse_version ;; %sles_version'
%configure \
  --disable-static \
  --disable-docs \
  --with-vendor-build-id="%distribution" \
  --enable-youtube \
  --disable-docs
%{__make} %{?_smp_mflags}

%install
%make_install
%find_lang %{name}
chmod -x %{buildroot}%{_libdir}/%{name}/*.config
chmod -x %{buildroot}%{_libdir}/%{name}/*/*.config
%suse_update_desktop_file %{name}
%suse_update_desktop_file %{name}-audiocd
%suse_update_desktop_file %{name}-media-player

# Remove the libtool archives
find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
%fdupes %{buildroot}%{_datadir}
%fdupes %{buildroot}%{_libdir}

%clean
%{?buildroot:%__rm -rf "%{buildroot}"}

%post
%desktop_database_post

%postun
%desktop_database_postun

%post core
%icon_theme_cache_post

%postun core
%icon_theme_cache_postun

%post extensions-default
%mime_database_post

%postun extensions-default
%mime_database_postun

%files
%defattr(-,root,root)
%doc NEWS COPYING AUTHORS README
%{_bindir}/banshee
%{_libdir}/banshee/Nereid.exe*
# desktop files all reference the banshee binary
%{_datadir}/applications/banshee.desktop
%{_datadir}/applications/banshee-audiocd.desktop
%{_datadir}/applications/banshee-media-player.desktop

%files core
%defattr(-,root,root)
%dir %{_libdir}/banshee
%dir %{_libdir}/banshee/Backends
%dir %{_libdir}/banshee/Extensions
%dir %{_datadir}/banshee
%dir %{_datadir}/banshee/icons
%dir %{_datadir}/banshee/icons/hicolor
%dir %{_datadir}/banshee/icons/hicolor/*
%dir %{_datadir}/banshee/icons/hicolor/*/*
%{_libdir}/banshee/Hyena.dll*
%{_libdir}/banshee/Hyena.Data.Sqlite.dll*
%{_libdir}/banshee/Hyena.Gui.dll*
%{_libdir}/banshee/Migo.dll*
%{_libdir}/banshee/MusicBrainz.dll*
%{_libdir}/banshee/Mono.Media.dll*
%{_libdir}/banshee/Lastfm.dll*
%{_libdir}/banshee/Lastfm.Gui.dll*
%{_libdir}/banshee/Banshee.Core.dll*
%{_libdir}/banshee/Banshee.Services.dll*
%{_libdir}/banshee/Banshee.Services.addins
%{_libdir}/banshee/Banshee.Widgets.dll*
%{_libdir}/banshee/Banshee.ThickClient.dll*
%{_libdir}/banshee/Banshee.CollectionIndexer.dll*
%{_libdir}/banshee/Banshee.exe*
%{_libdir}/banshee/Halie.exe*
%{_libdir}/banshee/Beroe.exe*
%{_datadir}/banshee/icons/hicolor/*/categories/source-playlist.png
%{_datadir}/banshee/icons/hicolor/*/categories/source-smart-playlist.png
%{_datadir}/banshee/icons/hicolor/*/actions/media-repeat-all.png
%{_datadir}/banshee/icons/hicolor/*/actions/media-repeat-none.png
%{_datadir}/banshee/icons/hicolor/*/actions/media-repeat-single.png
%{_datadir}/banshee/icons/hicolor/*/actions/encode.png
%{_datadir}/banshee/icons/hicolor/*/emblems//creative-commons*.png
%{_datadir}/dbus-1/services/org.bansheeproject.Banshee.service
%{_datadir}/dbus-1/services/org.bansheeproject.CollectionIndexer.service
%{_datadir}/icons/hicolor/*/*/media-player-banshee.png

%files backend-engine-gstreamer
%defattr(-,root,root)
%{_libdir}/banshee/libbanshee.so
%{_libdir}/banshee/Backends/Banshee.GStreamer.dll*
# audio profiles are specific to gstreamer
%dir %{_datadir}/banshee/audio-profiles
%{_datadir}/%{name}/audio-profiles/*.xml

%files backend-io-gio
%defattr(-,root,root)
%{_libdir}/banshee/Backends/Banshee.Gio.dll*
%{_libdir}/banshee/Backends/gio-sharp*
%{_libdir}/banshee/Backends/gtk-sharp-beans*

%files backend-platform-unix
%defattr(-,root,root)
%dir %{_libdir}/banshee/Backends
%{_libdir}/banshee/Backends/Banshee.Unix.dll*

%files backend-platform-gnome
%defattr(-,root,root)
%{_libdir}/banshee/Backends/Banshee.Gnome.dll*
%{_libdir}/banshee/Backends/Banshee.NowPlaying.X11.dll*
%{_libdir}/banshee/Backends/libbnpx11.so
%{_datadir}/banshee/icons/hicolor/*/actions/media-write-cd.png

%files dmp
%defattr(-,root,root)
%{_libdir}/banshee/Extensions/Banshee.Dap.dll*
%{_libdir}/banshee/Extensions/Banshee.Dap.MassStorage.dll*
%{_datadir}/banshee/icons/hicolor/*/devices/phone-*

%files dmp-apple-devices
%defattr(-,root,root)
%{_libdir}/banshee/Extensions/Banshee.Dap.AppleDevice.dll*
%{_libdir}/banshee/Extensions/libgpod-sharp*
%{_datadir}/banshee/icons/hicolor/*/devices/*ipod*

%files dmp-mtp
%defattr(-,root,root)
%{_libdir}/banshee/Mtp.dll*
%{_libdir}/banshee/Extensions/Banshee.Dap.Mtp.dll*

%files extensions-default
%defattr(-,root,root)
%{_libdir}/banshee/libossifer.so
%{_libdir}/banshee/Banshee.WebBrowser.dll*
# Amazon
%{_bindir}/bamz
%{_libdir}/banshee/Extensions/Banshee.AmazonMp3.exe*
%{_libdir}/banshee/Extensions/Banshee.AmazonMp3.Store.dll*
%{_datadir}/banshee/icons/hicolor/*/categories/amazon-mp3-source.*
%{_datadir}/banshee/icons/hicolor/*/categories/amazon-mp3-store-source.*
%{_datadir}/mime/packages/banshee-amz.xml
# Audiobook
%{_libdir}/banshee/Extensions/Banshee.Audiobook.dll*
%{_datadir}/banshee/icons/hicolor/*/categories/audiobook.*
# Last.fm
%{_libdir}/banshee/Extensions/Banshee.Lastfm.dll*
%{_libdir}/banshee/Extensions/Banshee.LastfmStreaming.dll*
%{_datadir}/banshee/icons/hicolor/*/categories/lastfm-*.png
# Internet Archive
%{_libdir}/banshee/Extensions/Banshee.InternetArchive.dll*
%{_datadir}/banshee/icons/hicolor/*/categories/internet-archive.*
# Miro
%{_libdir}/banshee/Extensions/Banshee.MiroGuide.dll*
%{_datadir}/banshee/icons/hicolor/*/categories/miro-guide-source.*
# OpticalDisc
%{_libdir}/banshee/Extensions/Banshee.OpticalDisc.dll*
%{_datadir}/banshee/icons/hicolor/*/actions/media-import-audio-cd.png
# Podcasts
%{_libdir}/banshee/Extensions/Banshee.Podcasting.dll*
%{_datadir}/banshee/icons/hicolor/*/categories/podcast*.png
%{_datadir}/banshee/icons/hicolor/*/status/podcast*.png
# Radio
%{_libdir}/banshee/Extensions/Banshee.InternetRadio.dll*
%{_datadir}/banshee/icons/hicolor/*/categories/radio.*
%if 0%{?suse_version} > 1210
# UPnP
%{_libdir}/banshee/Extensions/Banshee.UPnPClient.dll*
%{_libdir}/banshee/Extensions/Mono.Ssdp.dll*
%{_libdir}/banshee/Extensions/Mono.Upnp.Dcp.MediaServer1.dll*
%{_libdir}/banshee/Extensions/Mono.Upnp.dll*
%endif
# Wikipedia
%{_libdir}/banshee/Extensions/Banshee.Wikipedia.dll*
%{_datadir}/banshee/icons/hicolor/*/categories/wikipedia.*
# Youtube
%{_libdir}/banshee/Extensions/Banshee.YouTube.dll*
%{_datadir}/banshee/icons/hicolor/*/categories/youtube.*
# Emusic
%{_libdir}/banshee/Extensions/Banshee.Emusic.Store.dll*
%{_datadir}/mime/packages/banshee-emx.xml
# Extensions with no additional files
%{_libdir}/banshee/Extensions/Banshee.Bpm.dll*
%{_libdir}/banshee/Extensions/Banshee.CoverArt.dll*
%{_libdir}/banshee/Extensions/Banshee.Daap.dll*
%{_libdir}/banshee/Extensions/Banshee.Emusic.dll*
%{_libdir}/banshee/Extensions/Banshee.FileSystemQueue.dll*
%{_libdir}/banshee/Extensions/Banshee.Fixup.dll*
%{_libdir}/banshee/Extensions/Banshee.LibraryWatcher.dll*
%{_libdir}/banshee/Extensions/Banshee.MiniMode.dll*
%{_libdir}/banshee/Extensions/Banshee.Mpris.dll*
%{_libdir}/banshee/Extensions/Banshee.MultimediaKeys.dll*
%{_libdir}/banshee/Extensions/Banshee.NotificationArea.dll*
%{_libdir}/banshee/Extensions/Banshee.NowPlaying.dll*
%{_libdir}/banshee/Extensions/Banshee.PlayerMigration.dll*
%{_libdir}/banshee/Extensions/Banshee.PlayQueue.dll*

%files extensions-boo
%defattr(-,root,root)
%{_libdir}/banshee/Extensions/Banshee.BooScript.dll*

%files devel
%defattr(-,root,root)
%{_libdir}/banshee/gconf-schema-extractor.exe
%{_libdir}/pkgconfig/*.pc

%files -n muinshee
%defattr(-,root,root)
%doc NEWS COPYING AUTHORS README
%{_bindir}/muinshee
%{_libdir}/banshee/Muinshee.exe*

%files -n banshee-core-lang -f %{name}.lang

%changelog
openSUSE Build Service is sponsored by