File totem.spec of Package totem

#
# spec file for package totem
#
# Copyright (c) 2011 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/
#

# norootforbuild


Name:           totem
License:        GPLv2+ ; LGPLv2.1+
Group:          Productivity/Multimedia/Video/Players
Version:        2.32.0
Release:        4
# FIXME: add gnome-dvb-daemon Suggests/Recommends when we'll have it?
Url:            http://www.gnome.org/projects/totem/
Summary:        Movie Player for the GNOME Desktop
Source0:        %{name}-%{version}.tar.bz2
# PATCH-FIX-UPSTREAM totem-URI-scheme-handler-support.patch badshah400@gmail.com -- Add support for URI scheme handlers, taken from git
Patch0:         totem-URI-scheme-handler-support.patch
# PATCH-FIX-UPSTREAM totem-URI-scheme-handler-support.patch badshah400@gmail.com -- Fix URI scheme handler support, taken from git
Patch1:         totem-fix-scheme-handler.patch
BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  gnome-common
BuildRequires:  gnome-doc-utils-devel
BuildRequires:  gstreamer-0_10-plugins-good
BuildRequires:  intltool
BuildRequires:  lirc-devel
BuildRequires:  update-desktop-files
BuildRequires:  vala-devel
# We need these to pickup the playbin plugin
BuildRequires:  gstreamer-0_10-plugins-base gstreamer-utils
BuildRequires:  pkgconfig(bluez)
BuildRequires:  pkgconfig(cairo)
BuildRequires:  pkgconfig(dbus-glib-1)
BuildRequires:  pkgconfig(gconf-2.0)
BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(gnome-icon-theme)
BuildRequires:  pkgconfig(gstreamer-0.10)
BuildRequires:  pkgconfig(gstreamer-plugins-base-0.10)
BuildRequires:  pkgconfig(gstreamer-tag-0.10)
BuildRequires:  pkgconfig(gtk+-2.0)
BuildRequires:  pkgconfig(ice)
BuildRequires:  pkgconfig(iso-codes)
BuildRequires:  pkgconfig(libepc-ui-1.0)
BuildRequires:  pkgconfig(libgdata)
BuildRequires:  pkgconfig(libnautilus-extension)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(pygtk-2.0)
BuildRequires:  pkgconfig(shared-mime-info)
BuildRequires:  pkgconfig(sm)
BuildRequires:  pkgconfig(totem-plparser)
%if 0%{?suse_version} <= 1130
BuildRequires:  pkgconfig(tracker-client-0.8)
%else
BuildRequires:  pkgconfig(tracker-client-0.10)
%endif
BuildRequires:  pkgconfig(unique-1.0)
BuildRequires:  pkgconfig(xrandr)
BuildRequires:  pkgconfig(xxf86vm)
Requires:       gstreamer010 gstreamer010-plugins-base gstreamer010-plugins-good iso-codes
Recommends:     %{name}-lang
Recommends:     totem-plugins
Recommends:     totem-browser-plugin
Suggests:       totem-plugin-upnp
# Since totem-devel no longer exists, obsolete it.
Provides:       totem-devel = %{version}
Obsoletes:      totem-devel < %{version} 
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%gconf_schemas_prereq

%description
Totem is a movie player for the GNOME desktop based on GStreamer. It
features a playlist, a full-screen mode, seek and volume controls, and
complete keyboard navigation.

%package plugins
License:        GPLv2+ ; LGPLv2.1+
Summary:        Plugins for Totem Movie Player
Group:          Productivity/Multimedia/Video/Players
Requires:       %{name} = %{version}
# BBC iPlayer plugin
Recommends:     python-beautifulsoup
Recommends:     python-httplib2
# Brasero plugin
Recommends:     brasero
# Gromit Annotation plugin
Suggests:       gromit

%description plugins
Totem is movie player for the GNOME desktop based on GStreamer.

This package includes plugins for Totem, to add advanced features.

%package plugin-upnp
License:        GPLv2+ ; LGPLv2.1+
Summary:        Plugins for Totem Movie Player -- UPnP Support
Group:          Productivity/Multimedia/Video/Players
Requires:       %{name} = %{version}
Requires:       python-coherence
Supplements:    packageand(%{totem}:python-coherence)

%description plugin-upnp
Totem is movie player for the GNOME desktop based on GStreamer.

This package include the UPnP plugin for Totem.

%package -n nautilus-totem
License:        GPLv2+ ; LGPLv2.1+
Summary:        Totem Plugin for Nautilus
Group:          Productivity/Multimedia/Video/Players
Requires:       %{name} = %{version}
Supplements:    packageand(totem:nautilus)

%description -n nautilus-totem
Totem is movie player for the GNOME desktop based on GStreamer.

This package contains a plugin to integrate Totem into Nautilus.

%package browser-plugin
License:        GPLv2+ ; LGPLv2.1+
Summary:        Browser Plugin Based on Totem Movie Player for the GNOME Desktop
Group:          Productivity/Multimedia/Video/Players
Requires:       %{name} = %{version}
Supplements:    packageand(totem:MozillaFirefox)
Provides:       totem-plugin = 2.25.3
Obsoletes:      totem-plugin < 2.25.3

%description browser-plugin
Totem is movie player for the GNOME desktop based on GStreamer.

Apart from a movie player, it also includes a Mozilla plugin.

This package does not include the Windows Media (gmp) browser plugin.

%package browser-plugin-gmp
License:        GPLv2+ ; LGPLv2.1+
Summary:        Windows Media Browser Plugin Based on Totem Movie Player for the GNOME Desktop
Group:          Productivity/Multimedia/Video/Players
Requires:       %{name} = %{version}
Requires:       %{name}-browser-plugin = %{version}
Supplements:    packageand(totem:MozillaFirefox)
Provides:       totem-plugin = 2.25.3
Obsoletes:      totem-plugin < 2.25.3

%description browser-plugin-gmp
Totem is movie player for the GNOME desktop based on GStreamer.

This package includes only the Windows Media (gmp) browser plugin.

%package devel
License:        GPLv2+ ; LGPLv2.1+
Summary:        Developer Documentation for Totem Movie Player
Group:          Development/Libraries/GNOME
Requires:       %{name} = %{version}

%description devel
Totem is movie player for the GNOME desktop based on GStreamer

This package contains developer documentation.

%lang_package
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%if 0%{?suse_version} > 1130
# fail if we don't need the sed anymore
grep -q tracker-client-0.10 configure && false
sed -i "s:tracker-client-0.9:tracker-client-0.10:g" configure
%endif

%build
# FIXME: Build as root modifies system!
#   totem-2.20.0: --disable-scrollkeeper does not work properly.
export BROWSER_PLUGIN_DIR=%{_libdir}/browser-plugins
%configure\
	--libexecdir=%{_libexecdir}/totem\
	--disable-static\
	--disable-scrollkeeper
make %{?jobs:-j%jobs}

%install
%makeinstall
%if 0%{?suse_version} <= 1120
%{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/*
%endif
# Remove SWF (#72417) and any Real (#72985) MIME types.
sed -i ':1;s/^\(MimeType=.*\);[^;]*\(real\|shockwave-flash\)[^;]*/\1/;t1' \
    $RPM_BUILD_ROOT%{_datadir}/applications/totem.desktop
%suse_update_desktop_file -N "Totem" -G "Movie Player" %{name}
%find_lang %{name} %{?no_lang_C}
%find_gconf_schemas
find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
%fdupes $RPM_BUILD_ROOT

%clean
rm -rf $RPM_BUILD_ROOT

%pre -f %{name}.schemas_pre

%post
%desktop_database_post
%icon_theme_cache_post

%preun -f %{name}.schemas_preun

%postun
%desktop_database_postun
%icon_theme_cache_postun

%posttrans -f %{name}.schemas_posttrans

%files -f %{name}.schemas_list
%defattr(-, root, root)
%doc AUTHORS COPYING ChangeLog NEWS README
%dir %{_datadir}/gnome/
%dir %{_datadir}/gnome/help/
%dir %{_datadir}/gnome/help/%{name}/
%doc %{_datadir}/gnome/help/%{name}/C/
%dir %{_datadir}/omf/
%dir %{_datadir}/omf/%{name}/
%doc %{_datadir}/omf/%{name}/%{name}-C.omf
%{_bindir}/*
%{_datadir}/applications/*.desktop
%{_datadir}/icons/hicolor/*/apps/totem*.*
%{_datadir}/icons/hicolor/*/devices/totem*.*
%{_datadir}/totem
%doc %{_mandir}/man?/*.*
# Own directories for plugins
%dir %{_libdir}/totem
%dir %{_libdir}/totem/plugins
# this is needed for python plugins that are not in totem-plugins
%{_libdir}/totem/plugins/totem
# Be careful here: libdir contains plugins while libexecdir contains a
# browser-plugin helper and a small utility for the main package
%if "%{_libdir}" != "%{_libexecdir}"
%dir %{_libexecdir}/totem
%endif
%{_libexecdir}/totem/totem

%files lang -f %{name}.lang

%files -n nautilus-totem
%defattr(-, root, root)
%{_libdir}/nautilus/extensions-2.0/*.so

%files plugins
%defattr(-, root, root)
%exclude %{_libdir}/totem/plugins/totem
%{_libdir}/totem/plugins/*
# Files from plugin-upnp
%exclude %{_libdir}/totem/plugins/coherence_upnp/
# Files from devel
%exclude %{_libdir}/totem/plugins/sample-vala/

%files plugin-upnp
%defattr(-, root, root)
%exclude %{_libdir}/totem/plugins/totem
%{_libdir}/totem/plugins/coherence_upnp/

%files browser-plugin
%defattr(-, root, root)
%{_prefix}/lib/totem/totem-plugin-viewer
%{_libdir}/browser-plugins/libtotem-cone-plugin*
%{_libdir}/browser-plugins/libtotem-mully-plugin*
%{_libdir}/browser-plugins/libtotem-narrowspace-plugin*

%files browser-plugin-gmp
%defattr(-, root, root)
%{_libdir}/browser-plugins/libtotem-gmp-plugin*

%files devel
%defattr(-, root, root)
%{_libdir}/totem/plugins/sample-vala/
%{_datadir}/gtk-doc/html/totem
# Own these repositories to not depend on gtk-doc while building:
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html

%changelog
openSUSE Build Service is sponsored by