File cheese.spec of Package cheese

#
# spec file for package cheese
#
# 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/
#


%define lib_major 1
%define lib_gtk_major 20

Name:           cheese
Version:        3.2.1
Release:        1
License:        GPLv2+
Summary:        Webcam Booth for GNOME
Url:            http://www.gnome.org/projects/cheese
Group:          Productivity/Graphics/Other
Source0:        http://download.gnome.org/sources/cheese/3.2/%{name}-%{version}.tar.bz2
# Needed for patch0, missing from tarball -- Cheese will not build due to vala without it. Taken from git.
Source1:        cheese-common.vapi
# PATCH-FIX-UPSTREAM cheese-prefer-darkGTK+-theme.patch bgo#660628 zaitor@opensuse.org -- Prefer dark GTK+ theme
Patch0:         cheese-prefer-darkGTK+-theme.patch
BuildRequires:  fdupes
BuildRequires:  gnome-doc-utils-devel
BuildRequires:  gobject-introspection-devel
BuildRequires:  intltool
BuildRequires:  translation-update-upstream
BuildRequires:  update-desktop-files
BuildRequires:  vala
BuildRequires:  pkgconfig(cairo)
BuildRequires:  pkgconfig(clutter-1.0)
BuildRequires:  pkgconfig(clutter-gst-1.0)
BuildRequires:  pkgconfig(clutter-gtk-1.0)
BuildRequires:  pkgconfig(dbus-1)
BuildRequires:  pkgconfig(dbus-glib-1)
BuildRequires:  pkgconfig(gee-1.0)
BuildRequires:  pkgconfig(gnome-desktop-3.0)
BuildRequires:  pkgconfig(gnome-video-effects)
BuildRequires:  pkgconfig(gobject-2.0)
BuildRequires:  pkgconfig(gstreamer-0.10)
BuildRequires:  pkgconfig(gstreamer-plugins-base-0.10)
BuildRequires:  pkgconfig(gtk+-3.0)
BuildRequires:  pkgconfig(gudev-1.0)
BuildRequires:  pkgconfig(libcanberra-gtk3)
BuildRequires:  pkgconfig(librsvg-2.0)
BuildRequires:  pkgconfig(mx-1.0)
BuildRequires:  pkgconfig(x11)
Requires:       gnome-video-effects
Requires:       yelp
Recommends:     %{name}-lang
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Cheese is an application to take photos and videos with your webcam,
with fun graphical effects.

%package -n libcheese%{lib_major}
License:        GPLv2+
Summary:        Webcam Booth for GNOME - Library
Group:          System/Libraries
# won't start without those:
Requires:       gstreamer-0_10-plugins-bad
Requires:       gstreamer-0_10-plugins-good
# The library is using gsettings key that are defined in the -common package
Requires:       libcheese-common >= %{version}

%description -n libcheese%{lib_major}
Cheese is an application to take photos and videos with your webcam,
with fun graphical effects.

%package -n libcheese-gtk%{lib_gtk_major}
License:        GPLv2+
Summary:        Webcam Booth for GNOME - UI Library
Group:          System/Libraries
# The library is using gsettings keys that are defined in the -common package
Requires:       libcheese-common >= %{version}
# Obsolete the old libcheese-gtk18 library, technially wrong, but needed here
# for a smooth update process. Solved for the future with a -common subpackage
Obsoletes:      libcheese-gtk18

%description -n libcheese-gtk%{lib_gtk_major}
Cheese is an application to take photos and videos with your webcam,
with fun graphical effects.

This package contains a library providing widgets to allow third
party applications to include parts of cheese functionality.

%package -n libcheese-common
License:        GPLv2+
Summary:        Webcam Booth for GNOME - Common Data used by Libraries
Group:          System/Libraries
%glib2_gsettings_schema_requires

%description -n libcheese-common
Cheese is an application to take photos and videos with your webcam,
with fun graphical effects.

This package contains common data that is used by the cheese libraries,
like schemas.

%package devel
License:        GPLv2+
Summary:        Webcam Booth for GNOME - Development Files
Group:          Development/Libraries/GNOME
Requires:       libcheese%{lib_major} = %{version}
Requires:       libcheese-gtk%{lib_gtk_major} = %{version}

%description devel
Cheese is an application to take photos and videos with your webcam,
with fun graphical effects.

%lang_package
%prep
%setup -q
translation-update-upstream
%patch0 -p1
# Will fail when we can remove our local copy of the vapi file
test ! -f src/vapi/cheese-common.vapi
# Needed for build due to patch0 - cheese-prefer-darkGTK+-theme.patch
cp -p %{S:1} src/vapi/cheese-common.vapi

%build
%configure \
    --disable-static \
    --disable-scrollkeeper
make %{?_smp_mflags} V=1

%install
%makeinstall
%if 0%{?suse_version} <= 1120
%{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/*
%endif
find %{buildroot} -type f -name "*.la" -delete -print
%find_lang %{name} %{?no_lang_C}
%suse_update_desktop_file -r -C "Webcam application" -G "Webcam Application" -N "Cheese" cheese Graphics Photography GNOME GTK
%fdupes -s %{buildroot}

%post
%desktop_database_post
%icon_theme_cache_post

%postun
%desktop_database_postun
%icon_theme_cache_postun

%post -n libcheese%{lib_major} -p /sbin/ldconfig

%postun -n libcheese%{lib_major} -p /sbin/ldconfig

%post -n libcheese-gtk%{lib_gtk_major} -p /sbin/ldconfig

%postun -n libcheese-gtk%{lib_gtk_major} -p /sbin/ldconfig

%post -n libcheese-common
%glib2_gsettings_schema_post

%postun -n libcheese-common
%glib2_gsettings_schema_postun

%files
%defattr(-, root, root)
%doc AUTHORS README COPYING ChangeLog
%dir %{_datadir}/gnome/
%dir %{_datadir}/gnome/help/
%dir %{_datadir}/gnome/help/%{name}/
%doc %{_datadir}/gnome/help/%{name}/C/
%{_bindir}/cheese
%{_datadir}/applications/cheese.desktop
%{_datadir}/cheese/
%{_datadir}/icons/hicolor/*/apps/cheese.*

%files -n libcheese%{lib_major}
%defattr(-, root, root)
%{_libdir}/libcheese.so.%{lib_major}*
%{_libdir}/girepository-1.0/Cheese-3.0.typelib

%files -n libcheese-gtk%{lib_gtk_major}
%defattr(-, root, root)
%{_libdir}/libcheese-gtk.so.%{lib_gtk_major}*

%files -n libcheese-common
%defattr(-, root, root)
%{_datadir}/glib-2.0/schemas/org.gnome.Cheese.gschema.xml

%files devel
%defattr(-, root, root)
%{_includedir}/cheese/
%{_libdir}/pkgconfig/cheese.pc
%{_libdir}/pkgconfig/cheese-gtk.pc
%{_libdir}/libcheese.so
%{_libdir}/libcheese-gtk.so
%{_datadir}/gir-1.0/Cheese-3.0.gir
%{_datadir}/gtk-doc/html/cheese/

%files lang -f %{name}.lang

%changelog
openSUSE Build Service is sponsored by