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