File gnome-python-desktop.spec of Package gnome-python-desktop

#
# spec file for package gnome-python-desktop
#
# 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/
#


%define build_applet 0
%define build_brasero 0
%define build_bugbuddy 0
%define build_evince 0
%define build_evolution 0
%define build_mediaprofiles 0
%define build_metacity 0

Name:           gnome-python-desktop
Version:        2.32.0
Release:        0
Url:            http://www.realistanew.com/projects/gnome-python-desktop
Summary:        Python bindings for GNOME
License:        LGPL-2.1+
Group:          System/GUI/GNOME
Source:         %{name}-%{version}.tar.bz2
Source1:        README.openSUSE
%if %{build_bugbuddy}
BuildRequires:  bug-buddy
%endif
BuildRequires:  fdupes
BuildRequires:  intltool
BuildRequires:  update-desktop-files
%if %{build_evince}
BuildRequires:  pkgconfig(evince-document-2.32)
%endif
BuildRequires:  pkgconfig(gconf-2.0)
BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
BuildRequires:  pkgconfig(gnome-desktop-2.0)
BuildRequires:  pkgconfig(gnome-keyring-1)
%if %{build_mediaprofiles}
BuildRequires:  pkgconfig(gnome-media-profiles)
%endif
BuildRequires:  pkgconfig(gnome-python-2.0)
BuildRequires:  pkgconfig(gobject-2.0)
%if %{build_brasero}
BuildRequires:  pkgconfig(libbrasero-burn)
BuildRequires:  pkgconfig(libbrasero-media)
%endif
%if %{build_evolution}
BuildRequires:  pkgconfig(libebook-1.2)
BuildRequires:  pkgconfig(libecal-1.2)
%endif
BuildRequires:  pkgconfig(libgnome-2.0)
BuildRequires:  pkgconfig(libgnomeprint-2.2)
BuildRequires:  pkgconfig(libgnomeprintui-2.2)
BuildRequires:  pkgconfig(libgnomeui-2.0)
BuildRequires:  pkgconfig(libgtop-2.0)
%if %{build_metacity}
BuildRequires:  pkgconfig(libmetacity-private)
%endif
%if %{build_applet}
BuildRequires:  pkgconfig(libpanelapplet-2.0)
%endif
BuildRequires:  pkgconfig(librsvg-2.0)
BuildRequires:  pkgconfig(libwnck-1.0)
BuildRequires:  pkgconfig(pango)
BuildRequires:  pkgconfig(pycairo)
BuildRequires:  pkgconfig(pygobject-2.0)
BuildRequires:  pkgconfig(pygtk-2.0)
BuildRequires:  pkgconfig(totem-plparser)
# Explicitly require all subpackages, so packages depending on
# gnome-python-desktop get all modules.
%if %{build_brasero}
Requires:       python-brasero
%else
Obsoletes:      python-brasero <= %{version}
%endif
%if %{build_bugbuddy}
Requires:       python-bugbuddy
%else
Obsoletes:      python-bugbuddy <= %{version}
%endif
%if %{build_evince}
Requires:       python-evince
%else
Obsoletes:      python-evince <= %{version}
%endif
%if %{build_evolution}
Requires:       python-evolution
%else
Obsoletes:      python-evolution <= %{version}
%endif
%if %{build_applet}
Requires:       python-gnomeapplet
%else
Obsoletes:      python-gnomeapplet <= %{version}
%endif
Requires:       python-gnomedesktop
Requires:       python-gnomekeyring
Requires:       python-gnomeprint
Requires:       python-gtop
%if %{build_mediaprofiles}
Requires:       python-mediaprofiles
%else
Obsoletes:      python-mediaprofiles <= %{version}
%endif
%if %{build_metacity}
Requires:       python-metacity
%else
Obsoletes:      python-metacity <= %{version}
%endif
Requires:       python-rsvg
Requires:       python-totem
Requires:       python-wnck
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
This package provides additional python bindings for GNOME libraries.

%if %{build_brasero}
%package -n python-brasero
Summary:        Python bindings for Brasero
Group:          Development/Libraries/Python
Requires:       python-gtk
%py_requires

%description -n python-brasero
This package contains Python bindings for Brasero.
%endif

%if %{build_bugbuddy}
%package -n python-bugbuddy
Summary:        Python bindings for Bug-Buddy
Group:          Development/Libraries/Python
Recommends:     bug-buddy
%py_requires

%description -n python-bugbuddy
This package contains Python bindings for Bug-Buddy.
%endif

%if %{build_evince}
%package -n python-evince
Summary:        Python bindings for Evince
Group:          Development/Libraries/Python
Requires:       python-gtk
%py_requires

%description -n python-evince
This package contains Python bindings for Evince.
%endif

%if %{build_evolution}
%package -n python-evolution
Summary:        Python bindings for Evolution
Group:          Development/Libraries/Python
Requires:       python-bonobo
Requires:       python-gobject2
Provides:       evolution-python = 0.4
Obsoletes:      evolution-python < 0.4
%py_requires

%description -n python-evolution
This package contains Python bindings for Evolution.
%endif

%if %{build_applet}
%package -n python-gnomeapplet
Summary:        Python bindings for the GNOME Panel Applet Library
Group:          Development/Libraries/Python
Requires:       python-bonobo
Requires:       python-gtk
%py_requires

%description -n python-gnomeapplet
This package contains Python bindings for the GNOME Panel Applet Library.
%endif

%package -n python-gnomedesktop
Summary:        Python bindings for libgnome-desktop
Group:          Development/Libraries/Python
Requires:       python-gnomevfs
Requires:       python-gtk
%py_requires

%description -n python-gnomedesktop
This package contains Python bindings for libgnome-desktop.

%package -n python-gnomekeyring
Summary:        Python bindings for GNOME Keyring
Group:          Development/Libraries/Python
%py_requires

%description -n python-gnomekeyring
This package contains Python bindings for GNOME Keyring.

%package -n python-gnomeprint
Summary:        Python bindings for libgnomeprint
Group:          Development/Libraries/Python
Requires:       python-gnomecanvas
Requires:       python-gtk
%py_requires

%description -n python-gnomeprint
This package contains Python bindings for libgnomeprint.

%package -n python-gtop
Summary:        Python bindings for libgtop
Group:          Development/Libraries/Python
%py_requires

%description -n python-gtop
This package contains Python bindings for libgtop.

%if %{build_mediaprofiles}
%package -n python-mediaprofiles
Summary:        Python bindings for media profiles
Group:          Development/Libraries/Python
Requires:       python-gconf
Requires:       python-gtk
%py_requires

%description -n python-mediaprofiles
This package contains Python bindings for media profiles.
%endif

%if %{build_metacity}
%package -n python-metacity
Summary:        Python bindings for Metacity
Group:          Development/Libraries/Python
Requires:       python-gtk
%py_requires

%description -n python-metacity
This package contains Python bindings for Metacity.
%endif

%package -n python-rsvg
Summary:        Python bindings for librsvg
Group:          Development/Libraries/Python
Requires:       python-gobject2
%py_requires

%description -n python-rsvg
This package contains Python bindings for librsvg.

%package -n python-totem
Summary:        Python bindings for Totem
Group:          Development/Libraries/Python
Requires:       python-gnomevfs
Requires:       python-gobject2
%py_requires

%description -n python-totem
This package contains Python bindings for Totem.

%package -n python-wnck
Summary:        Python bindings for libwnck
Group:          Development/Libraries/Python
Requires:       python-gtk
%py_requires

%description -n python-wnck
This package contains Python bindings for libwnck.

%package devel
Summary:        Python bindings for GNOME
Group:          Development/Libraries/Python
# This will bring in all subpackages
Requires:       %{name} = %{version}
Provides:       %{name}-doc = %{version}
Obsoletes:      %{name}-doc < %{version}

%description devel
This package provides additional python bindings for GNOME libraries.

%prep
%setup -q
cp -a %{S:1} .

%build
%configure \
    --disable-static \
%if %{build_metacity}
    --enable-metacity \
%endif
%if ! %{build_bugbuddy}
    --disable-bugbuddy \
%endif
%if ! %{build_evolution}
    --disable-evolution \
    --disable-evolution_ecal \
%endif
    %{nil}
make %{?jobs:-j%jobs}

%install
%makeinstall
find %{buildroot} -type f -name "*.la" -delete -print
# Remove examples for bindings we don't ship
rm -r examples/{gtksourceview,nautilusburn}
%if !%{build_applet}
rm -r examples/applet/
%endif
%if !%{build_brasero}
rm -r examples/braseroburn/
rm -r examples/braseromedia/
%endif
%if !%{build_mediaprofiles}
rm -r examples/mediaprofiles/
%endif
%fdupes %{buildroot}

%clean
rm -rf %{buildroot}

%files
%defattr (-, root, root)
%doc AUTHORS COPYING ChangeLog NEWS README README.openSUSE
# Please list modules explicitly, do not use wildcards!
# Note: we don't want the gtksourceview 1.x bindings. We've migrated to
# gtksourceview 2.
#%{py_sitedir}/gtk-2.0/gtksourceview.so

%if %{build_brasero}
%files -n python-brasero
%defattr (-, root, root)
%doc COPYING
%{py_sitedir}/gtk-2.0/braseroburn.so
%{py_sitedir}/gtk-2.0/braseromedia.so
%endif

%if %{build_bugbuddy}
%files -n python-bugbuddy
%defattr (-, root, root)
%doc COPYING
%{py_sitedir}/gtk-2.0/bugbuddy.py*
%endif

%if %{build_evince}
%files -n python-evince
%defattr (-, root, root)
%doc COPYING
%{py_sitedir}/gtk-2.0/evince.so
%endif

%if %{build_evolution}
%files -n python-evolution
%defattr (-, root, root)
%doc COPYING
%dir %{py_sitedir}/gtk-2.0/evolution
%{py_sitedir}/gtk-2.0/evolution/__init__.py*
%{py_sitedir}/gtk-2.0/evolution/ebook.so
%{py_sitedir}/gtk-2.0/evolution/ecal.so
%endif

%if %{build_applet}
%files -n python-gnomeapplet
%defattr (-, root, root)
%doc COPYING
%dir %{py_sitedir}/gtk-2.0/gnome
%{py_sitedir}/gtk-2.0/gnome/applet.py*
%{py_sitedir}/gtk-2.0/gnomeapplet.so
%endif

%files -n python-gnomedesktop
%defattr (-, root, root)
%doc COPYING
%dir %{py_sitedir}/gtk-2.0/gnomedesktop
%{py_sitedir}/gtk-2.0/gnomedesktop/__init__.py*
%{py_sitedir}/gtk-2.0/gnomedesktop/_gnomedesktop.so

%files -n python-gnomekeyring
%defattr (-, root, root)
%doc COPYING
%{py_sitedir}/gtk-2.0/gnomekeyring.so

%files -n python-gnomeprint
%defattr (-, root, root)
%doc COPYING
%dir %{py_sitedir}/gtk-2.0/gnomeprint
%{py_sitedir}/gtk-2.0/gnomeprint/__init__.py*
%{py_sitedir}/gtk-2.0/gnomeprint/_print.so
%{py_sitedir}/gtk-2.0/gnomeprint/ui.so

%files -n python-gtop
%defattr (-, root, root)
%doc COPYING
%{py_sitedir}/gtk-2.0/gtop.so

%if %{build_mediaprofiles}
%files -n python-mediaprofiles
%defattr (-, root, root)
%doc COPYING
%{py_sitedir}/gtk-2.0/mediaprofiles.so
%endif

%if %{build_metacity}
%files -n python-metacity
%defattr (-, root, root)
%doc COPYING
%{py_sitedir}/gtk-2.0/metacity.so
%endif

%files -n python-rsvg
%defattr (-, root, root)
%doc COPYING
%{py_sitedir}/gtk-2.0/rsvg.so

%files -n python-totem
%defattr (-, root, root)
%doc COPYING
%dir %{py_sitedir}/gtk-2.0/totem
%{py_sitedir}/gtk-2.0/totem/__init__.py*
%{py_sitedir}/gtk-2.0/totem/plparser.so

%files -n python-wnck
%defattr (-, root, root)
%doc COPYING
%{py_sitedir}/gtk-2.0/wnck.so

%files devel
%defattr (-, root, root)
%doc examples/
%{_datadir}/gtk-doc/html/pygnomeprint/
%{_datadir}/gtk-doc/html/pygnomeprintui/
%{_libdir}/pkgconfig/gnome-python-desktop-2.0.pc
# we explicitly list the directories here to be sure we don't include something
# that should live in the main package
%dir %{_datadir}/pygtk
%dir %{_datadir}/pygtk/2.0
%{_datadir}/pygtk/2.0/defs/

%changelog