File compiz.spec of Package compiz

#
# spec file for package compiz
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2010 Dominique Leuenberger, Amsterdam, Netherlands.
#
# 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:           compiz
Version:        0.9.2.1
Release:        2
License:        GPLv2+ ; MIT License (or similar)
Summary:        OpenGL window and compositing manager
Url:            http://www.compiz.org
Group:          System/GUI/Other
Source:         %{name}.tar.bz2
Source1:        opensuse.png
Source2:        sle.png
# Helper to update to latest git snapshot.
Source99:       update.sh
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/Packaging/Patches
Patch0:         0001-Use-dynamic-allocation-for-plugin-class-indexes-and-.patch
BuildRequires:  Mesa-devel
BuildRequires:  boost-devel
BuildRequires:  cairo-devel
BuildRequires:  cmake
BuildRequires:  dbus-1-devel
BuildRequires:  gcc-c++
BuildRequires:  gconf2-devel
BuildRequires:  intltool
BuildRequires:  kdebase4-workspace-devel
BuildRequires:  libkde4-devel
BuildRequires:  libpng-devel
BuildRequires:  librsvg-devel
BuildRequires:  libxslt-devel
BuildRequires:  pango-devel
BuildRequires:  pkg-config
BuildRequires:  startup-notification-devel
BuildRequires:  update-desktop-files
BuildRequires:  xorg-x11-devel
%if %suse_version >= 1130
# gnome-desktop-devel and friends will point to a GNOME 3 version at some
# point, so when possible (ie, on 11.3 and later), prefer a pkgconfig()
# BuildRequires.
BuildRequires:  pkgconfig(gnome-desktop-2.0)
BuildRequires:  pkgconfig(gnome-keybindings)
BuildRequires:  pkgconfig(gnome-window-settings-2.0)
BuildRequires:  pkgconfig(libmetacity-private)
BuildRequires:  pkgconfig(libwnck-1.0)
%else
BuildRequires:  gconf2-devel
BuildRequires:  gnome-control-center-devel
BuildRequires:  gnome-desktop-devel
BuildRequires:  libgnome-window-settings-devel
BuildRequires:  libwnck-devel
BuildRequires:  metacity-devel
%endif
Recommends:     %{name}-lang
Provides:       windowmanager
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
ExclusiveArch:  %ix86 x86_64 ppc ppc64 ia64

%description
Compiz is an OpenGL compositing manager that use
GLX_EXT_texture_from_drawable for binding redirected top-level windows
to texture objects. It has a flexible plug-in system and it is designed
to run well on most graphics hardware.

%package gnome
License:        GPLv2+ ; MIT License (or similar)
Summary:        OpenGL window and compositing manager configuration utilities
Group:          System/GUI/GNOME
Requires:       %name = %version
Provides:       compiz-decorator = %version

%description gnome
This package contains Gnome based configuration utilities for the
Compiz compositing manager.

%package kde4
License:        GPLv2+ ; LGPLv2.1+ ; MIT License (or similar)
Summary:        OpenGL window and compositing managerdecorator for kde4
Group:          System/GUI/KDE
Requires:       %name = %version
Requires:       kde4-kwin
Recommends:     simple-ccsm-kde4
Provides:       compiz-decorator = %version

%description kde4
This package contains the KDE4 window decorator for the Compiz
compositing manager.

%package devel
License:        GPLv2+ ; LGPLv2.1+ ; MIT License (or similar)
Summary:        OpenGL window and compositing manager
Group:          System/GUI/Other
Requires:       %name = %version
Requires:       libxslt-devel
Requires:       startup-notification-devel
Requires:       xorg-x11-devel

%description devel
Compiz is an OpenGL compositing manager that use
GLX_EXT_texture_from_drawable for binding redirected top-level windows
to texture objects. It has a flexible plug-in system and it is designed
to run well on most graphics hardware.

%package branding-openSUSE
License:        GPLv2+ ; LGPLv2.1+ ; MIT License (or similar)
Summary:        OpenGL window and compositing manager
Group:          System/GUI/Other
PreReq:         /bin/ln
PreReq:         /bin/rm
Requires:       %name = %version
Supplements:    packageand(compiz:branding-openSUSE)
Provides:       compiz-branding = %version
Conflicts:      otherproviders(compiz-branding)

%description branding-openSUSE
Compiz is an OpenGL compositing manager that use
GLX_EXT_texture_from_drawable for binding redirected top-level windows
to texture objects. It has a flexible plug-in system and it is designed
to run well on most graphics hardware.

%package branding-SLE
License:        GPLv2+ ; LGPLv2.1+ ; MIT License (or similar)
Summary:        OpenGL window and compositing manager
Group:          System/GUI/Other
PreReq:         /bin/ln
PreReq:         /bin/rm
Requires:       %name = %version
Supplements:    packageand(compiz:branding-SLE)
Provides:       compiz-branding = %version
Conflicts:      otherproviders(compiz-branding)

%description branding-SLE
Compiz is an OpenGL compositing manager that use
GLX_EXT_texture_from_drawable for binding redirected top-level windows
to texture objects. It has a flexible plug-in system and it is designed
to run well on most graphics hardware.

%package branding-upstream
License:        GPLv2+ ; LGPLv2.1+ ; MIT License (or similar)
Summary:        OpenGL window and compositing manager
Group:          System/GUI/Other
PreReq:         /bin/ln
PreReq:         /bin/rm
Requires:       %name = %version
Supplements:    packageand(compiz:branding-upstream)
Provides:       compiz-branding = %version
Conflicts:      otherproviders(compiz-branding)

%description branding-upstream
Compiz is an OpenGL compositing manager that use
GLX_EXT_texture_from_drawable for binding redirected top-level windows
to texture objects. It has a flexible plug-in system and it is designed
to run well on most graphics hardware.

%lang_package
%prep
%setup -q -n %{name}
%if 0%{?suse_version} > 1120
%patch0 -p1
%endif
mkdir build

%build
pushd build
export BUILD_GLOBAL=true
cmake  \
  -DCMAKE_INSTALL_PREFIX=%{_prefix} \
  -Dbindir=%{_bindir} \
  -Ddatadir=%{_datadir} \
  -Dincludedir=%{_includedir} \
  -Dlibdir=%{_libdir} \
  -Ddatadir=%{_datadir} \
  -DCOMPIZ_INSTALL_GCONF_SCHEMA_DIR=%{_sysconfdir}/gconf/schemas \
  -DCOMPIZ_DISABLE_SCHEMAS_INSTALL=TRUE \
  -DCOMPIZ_PACKAGING_ENABLED=TRUE \
  -DCOMPIZ_DESTDIR=%{buildroot} \
..
make VERBOSE=1
popd

%install
pushd build
make install
install -D -m 644 ../cmake/FindCompiz.cmake %{buildroot}%{_datadir}/cmake/Modules/FindCompiz.cmake
#remove locale data as it is not required anymore, translations are merged in .xml and .schemas
install -m 444 %{S:1} %{buildroot}%{_datadir}/%{name}/images/
install -m 444 %{S:2} %{buildroot}%{_datadir}/%{name}/images/
popd
%suse_update_desktop_file %{name}
%find_gconf_schemas
%find_lang %{name}

%pre -n compiz-gnome -f %name.schemas_pre

%preun -n compiz-gnome -f %name.schemas_preun

%posttrans -n compiz-gnome -f %name.schemas_posttrans

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%post -n compiz-branding-openSUSE
/bin/ln -sf /usr/share/compiz/images/opensuse.png /usr/share/compiz/cube-image.png

%post -n compiz-branding-SLE
/bin/ln -sf /usr/share/compiz/images/sle.png /usr/share/compiz/cube-image.png

%post -n compiz-branding-upstream
/bin/ln -sf /usr/share/compiz/images/freedesktop.png /usr/share/compiz/cube-image.png

%postun -n  compiz-branding-openSUSE
if [ -L /usr/share/compiz/cube-image.png ]; then
    rm /usr/share/compiz/cube-image.png || true
fi

%postun -n compiz-branding-SLE
if [ -L /usr/share/compiz/cube-image.png ]; then
    rm /usr/share/compiz/cube-image.png || true
fi

%postun -n compiz-branding-upstream
if [ -L /usr/share/compiz/cube-image.png ]; then
    rm /usr/share/compiz/cube-image.png || true
fi

%clean
%__rm -rf %{buildroot}

%files
%defattr(-, root, root)
%{_bindir}/compiz
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/images
%{_datadir}/%{name}/images/icon.png
%{_libdir}/libdecoration.so.0*
%{_libdir}/window-manager-settings/libcompiz.so
%{_datadir}/applications/%{name}.desktop
%{_datadir}/%{name}/xslt
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/libannotate.so
%{_datadir}/%{name}/annotate.xml
%{_libdir}/%{name}/libblur.so
%{_datadir}/%{name}/blur.xml
%{_libdir}/%{name}/libclone.so
%{_datadir}/%{name}/clone.xml
%{_libdir}/%{name}/libcommands.so
%{_datadir}/%{name}/commands.xml
%{_libdir}/%{name}/libcompiztoolbox.so
%{_datadir}/%{name}/compiztoolbox.xml
%{_libdir}/%{name}/libcomposite.so
%{_datadir}/%{name}/composite.xml
%{_datadir}/%{name}/core.xml
%{_libdir}/%{name}/libcopytex.so
%{_datadir}/%{name}/copytex.xml
%{_libdir}/%{name}/libcube.so
%{_datadir}/%{name}/cube.xml
%{_libdir}/%{name}/libdbus.so
%{_datadir}/%{name}/dbus.xml
%{_libdir}/%{name}/libdecor.so
%{_datadir}/%{name}/decor.xml
%{_libdir}/%{name}/libfade.so
%{_datadir}/%{name}/fade.xml
%{_libdir}/%{name}/libimgpng.so
%{_datadir}/%{name}/imgpng.xml
%{_libdir}/%{name}/libimgsvg.so
%{_datadir}/%{name}/imgsvg.xml
%{_libdir}/%{name}/libini.so
%{_datadir}/%{name}/ini.xml
%{_libdir}/%{name}/libinotify.so
%{_datadir}/%{name}/inotify.xml
%{_libdir}/%{name}/libmove.so
%{_datadir}/%{name}/move.xml
%{_libdir}/%{name}/libobs.so
%{_datadir}/%{name}/obs.xml
%{_libdir}/%{name}/libopengl.so
%{_datadir}/%{name}/opengl.xml
%{_libdir}/%{name}/libplace.so
%{_datadir}/%{name}/place.xml
%{_libdir}/%{name}/libregex.so
%{_datadir}/%{name}/regex.xml
%{_libdir}/%{name}/libresize.so
%{_datadir}/%{name}/resize.xml
%{_libdir}/%{name}/librotate.so
%{_datadir}/%{name}/rotate.xml
%{_libdir}/%{name}/libscale.so
%{_datadir}/%{name}/scale.xml
%{_libdir}/%{name}/libscreenshot.so
%{_datadir}/%{name}/screenshot.xml
%{_libdir}/%{name}/libswitcher.so
%{_datadir}/%{name}/switcher.xml
%{_libdir}/%{name}/libwater.so
%{_datadir}/%{name}/water.xml
%{_libdir}/%{name}/libwobbly.so
%{_datadir}/%{name}/wobbly.xml
%{_libdir}/%{name}/libzoom.so
%{_datadir}/%{name}/zoom.xml

%files lang -f %{name}.lang
%defattr(-, root, root)

%files branding-openSUSE
%defattr(-, root, root)
%{_datadir}/compiz/images/opensuse.png

%files branding-SLE
%defattr(-, root, root)
%{_datadir}/compiz/images/sle.png

%files branding-upstream
%defattr(-, root, root)
%{_datadir}/compiz/images/freedesktop.png

%files devel
%defattr(-, root, root)
%{_includedir}/compiz
%{_libdir}/libdecoration.so
%{_libdir}/pkgconfig/*.pc
%dir %{_datadir}/%{name}/cmake/
%dir %{_datadir}/%{name}/cmake/plugin_extensions/
%{_datadir}/%{name}/cmake/CompizBcop.cmake
%{_datadir}/%{name}/cmake/CompizCommon.cmake
%{_datadir}/%{name}/cmake/CompizDefaults.cmake
%{_datadir}/%{name}/cmake/CompizGconf.cmake
%{_datadir}/%{name}/cmake/CompizPackage.cmake
%{_datadir}/%{name}/cmake/CompizPlugin.cmake
%{_datadir}/%{name}/cmake/plugin_extensions/CompizGenGconf.cmake
%{_datadir}/%{name}/cmake/plugin_extensions/CompizGenInstallData.cmake
%{_datadir}/%{name}/cmake/plugin_extensions/CompizGenInstallImages.cmake
%{_datadir}/cmake/Modules/FindCompiz.cmake

%files gnome -f %{name}.schemas_list
%defattr(-, root, root)
%{_bindir}/gtk-window-decorator
%{_libdir}/%{name}/libglib.so
%{_datadir}/%{name}/glib.xml
%{_libdir}/%{name}/libgnomecompat.so
%{_datadir}/%{name}/gnomecompat.xml
%{_datadir}/gnome-control-center/keybindings/50-compiz-*.xml
%{_datadir}/gnome/wm-properties/compiz-wm.desktop

%files kde4
%defattr(-, root, root)
%{_bindir}/kde4-window-decorator
%{_libdir}/compiz/libkde.so
%{_datadir}/compiz/kde.xml

%changelog
openSUSE Build Service is sponsored by