%define _disable_ld_no_undefined 1 %define rel 13 %define git 0 %define major 0 %define libname %mklibname %{name} %major %define libname_devel %mklibname -d %{name} %if %{git} %define srcname %{name}-%{git}.tar.xz %define distname %{name}-%{git} %define release %mkrel %{rel}.%{git} %else %define srcname %{name}-%{version}.tar.bz2 %define distname %{name}-%{version} %define release %mkrel %{rel} %endif Name: compiz Version: 0.9.10.0 Release: %{release} Summary: OpenGL composite manager for Xgl and AIGLX Group: System/X11 URL: https://launchpad.net/compiz License: GPLv2+ and LGPLv2+ and MIT # get source from launchpad # bzr branch lp:compiz # pushd compiz # bzr export --format=tar ../compiz-bzrcommit_id.tar # popd # xz -z -e compiz-bzrcommit_id.tar Source0: compiz-%{version}.tar.bz2 Source1: compiz.defaults Source3: %{name}-fusion Source4: %{name}-fusion.defaults # Mageia Patches Patch0: compiz-0.9.8.0-compizconfig-libdir.patch # Mandriva Patches # git format-patch --start-number 500 mdv-0.8.0-cherry-picks..mdv-0.8.0-patches #Patch501: 0501-Add-Mageia-graphic-to-the-top-of-the-cube.patch Patch503: 0503-Do-not-put-window-decorations-on-KDE-screensaver.patch # Upstream Patches Patch504: compiz-0.9.10.0-ubu-fix_maximized_windows.patch BuildRequires: cmake BuildRequires: intltool BuildRequires: pkgconfig(gconf-2.0) BuildRequires: pkgconfig(libwnck-1.0) BuildRequires: pkgconfig(glibmm-2.4) BuildRequires: boost-devel BuildRequires: kdebase4-workspace-devel BuildRequires: pkgconfig(gnome-keybindings) BuildRequires: pkgconfig(libxslt) BuildRequires: pkgconfig(librsvg-2.0) BuildRequires: pkgconfig(gnome-desktop-2.0) BuildRequires: pkgconfig(libmetacity-private) #BR for compizconfig BuildRequires: pkgconfig(protobuf) BuildRequires: pkgconfig(libxml-2.0) #BR for plugins BuildRequires: pkgconfig(dbus-1) BuildRequires: gettext-devel BuildRequires: pkgconfig(glu) BuildRequires: jpeg-devel BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(libnotify) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(gtk+-2.0) # BR for python binding BuildRequires: python-pyrex BuildRequires: python-cython BuildRequires: pkgconfig(python) #BR for CCSM BuildRequires: desktop-file-utils Requires(post): desktop-file-utils Requires(postun): desktop-file-utils Requires(post): GConf2 Requires(preun): GConf2 Requires: %{libname} = %{version}-%{release} Requires: compositing-wm-common Requires: compiz-decorator = %{version}-%{release} Recommends: ccsm Provides: compositing-wm # Compiz-bcop is now provided by compiz so rename it (since 0.9) %rename compiz-bcop # Compiz-fusion has been merged (since mga2) Obsoletes: compiz-fusion Provides: compiz-fusion # Plugins main and extra are now merged with core (since 0.9.8) %rename compiz-plugins-main %rename compiz-plugins-extra # Compizconfig has been merged with core and lib (since 0.9.8) Obsoletes: libcompizconfig-common %description Compiz is an OpenGL compositing manager, which means that it enhances the overall user interaction by adding fancy effects to your windows, from drop shadows to desktop effects like the Desktop Cube or the Expo view. Compiz can also be a window manager, which means that it is the software between you and your desktop apps. It enables you to move or resize windows, to switch workspaces, to switch windows easily (using alt-tab or so), and so on. %files -f %{name}.lang %doc AUTHORS ChangeLog COPYING COPYING.GPL COPYING.LGPL COPYING.MIT INSTALL NEWS README %{_bindir}/%{name} %{_bindir}/%{name}-window-decorator %{_bindir}/%{name}-decorator %{_bindir}/%{name}-fusion %dir %{_libdir}/%{name} %{_libdir}/%{name}/lib*.so %{_libdir}/compizconfig/backends/* %{_libdir}/libcompizconfig_gsettings_backend.so # this files go in another package, the same for schema %exclude %{_libdir}/%{name}/libannotate.so %exclude %{_libdir}/%{name}/libgnomecompat.so %exclude %{_libdir}/%{name}/libkde.so %{_sysconfdir}/gconf/schemas/%{name}-*.schemas %exclude %{_sysconfdir}/gconf/schemas/%{name}-annotate.schemas %exclude %{_sysconfdir}/gconf/schemas/%{name}-gnomecompat.schemas %exclude %{_sysconfdir}/gconf/schemas/%{name}-kde.schemas %dir %{_datadir}/%{name} %{_datadir}/%{name}/splash/* %{_datadir}/%{name}/notification/* %{_datadir}/%{name}/showmouse/* %{_datadir}/%{name}/mag/* %{_datadir}/%{name}/*.png %{_datadir}/%{name}/*.xml %exclude %{_datadir}/%{name}/annotate.xml %exclude %{_datadir}/%{name}/gnomecompat.xml %exclude %{_datadir}/%{name}/kde.xml %{_datadir}/compositing-wm/%{name}.defaults %{_datadir}/compositing-wm/%{name}-fusion.defaults %dir %{_datadir}/%{name}/cubeaddon %dir %{_datadir}/%{name}/cubeaddon/images %{_datadir}/%{name}/cubeaddon/images/*.png %dir %{_datadir}/%{name}/cube %dir %{_datadir}/%{name}/cube/images %{_datadir}/%{name}/cube/images/*.png %{_datadir}/applications/%{name}.desktop %preun %preun_uninstall_gconf_schemas compiz-addhelper compiz-animation compiz-bench compiz-ccp compiz-clone compiz-commands compiz-compiztoolbox compiz-composite compiz-copytex compiz-core compiz-crashhandler compiz-cube compiz-dbus compiz-decor compiz-expo compiz-extrawm compiz-ezoom compiz-fade compiz-fadedesktop compiz-firepaint compiz-grid compiz-imgjpeg compiz-imgpng compiz-imgsvg compiz-inotify compiz-kdecompat compiz-mag compiz-maximumize compiz-mblur compiz-mousepoll compiz-move compiz-neg compiz-notification compiz-obs compiz-opacify compiz-opengl compiz-place compiz-put compiz-regex compiz-resize compiz-resizeinfo compiz-ring compiz-rotate compiz-scale compiz-scaleaddon compiz-scalefilter compiz-screenshot compiz-session compiz-shelf compiz-shift compiz-showdesktop compiz-showmouse compiz-showrepaint compiz-snap compiz-splash compiz-staticswitcher compiz-switcher compiz-td compiz-text compiz-titleinfo compiz-trailfocus compiz-vpswitch compiz-wall compiz-water compiz-widget compiz-winrules compiz-wobbly compiz-workarounds compiz-workspacenames #---------------------------------------------------------------------------- %package decorator-gtk Summary: GTK window decorator for compiz Group: System/X11 Provides: compiz-decorator = %{version}-%{release} Requires: %{name} = %{version}-%{release} Requires(pre): GConf2 %description decorator-gtk This package provides a GTK window decorator for the compiz OpenGL compositing manager. %files decorator-gtk %{_bindir}/gtk-window-decorator %{_sysconfdir}/gconf/schemas/gwd.schemas %{_sysconfdir}/gconf/schemas/%{name}-annotate.schemas %{_sysconfdir}/gconf/schemas/%{name}-gnomecompat.schemas %{_libdir}/%{name}/libannotate.so %{_libdir}/%{name}/libgnomecompat.so %{_datadir}/%{name}/annotate.xml %{_datadir}/%{name}/gnomecompat.xml %preun decorator-gtk %preun_uninstall_gconf_schemas gwd %{name}-annotate %{name}-gnomecompat #---------------------------------------------------------------------------- %package decorator-kde4 Summary: KDE4 window decorator for compiz Group: System/X11 Provides: compiz-decorator = %{version}-%{release} Requires: %{name} = %{version}-%{release} %description decorator-kde4 This package provides a KDE4 window decorator for the compiz OpenGL compositing manager. %files decorator-kde4 %{_bindir}/kde4-window-decorator %{_libdir}/%{name}/libkde.so %{_datadir}/%{name}/kde.xml %{_sysconfdir}/gconf/schemas/%{name}-kde.schemas #---------------------------------------------------------------------------- %package ccsm Summary: Compiz Config Settings Manager Group: System/X11 Requires(preun): GConf2 Requires: compizconfig-python Requires: pygtk2.0 Requires: compiz Recommends: python-sexy BuildArch: noarch %rename ccsm %description ccsm Configuration tool for Compiz when used with the ccp configuration plugin (default). %files ccsm -f ccsm.lang %{_bindir}/ccsm %dir %{_datadir}/ccsm %dir %{_datadir}/ccsm/images %{_datadir}/ccsm/images/*.png %{_datadir}/ccsm/icons %dir %{py_puresitedir}/ccm %{py_puresitedir}/ccm/*.py* %{_datadir}/icons/hicolor/*/apps/ccsm.png %{_datadir}/icons/hicolor/*/apps/ccsm.svg %{_datadir}/applications/ccsm.desktop %{py_puresitedir}/ccsm-*.egg-info #---------------------------------------------------------------------------- %package -n %libname Summary: Shared libraries for compiz Group: System/X11 Obsoletes: %{_lib}compizconfig0 %description -n %libname This package provides shared libraries for compiz. %files -n %libname %{_libdir}/libdecoration.so.%{major}* %{_libdir}/lib*_core.so.%{major}* %{_libdir}/lib*_core.so.ABI* %{_libdir}/lib*config.so.%{major}* #---------------------------------------------------------------------------- %package -n %mklibname compizconfig-python Summary: Python Binding for Compiz Group: System/X11 Provides: compizconfig-python = %{version}-%{release} Requires: %{name} = %{version}-%{release} %description -n %mklibname compizconfig-python Python Bindings for Compiz Settings %files -n %mklibname compizconfig-python %{py_platsitedir}/%{name}config.so %{py_puresitedir}/compizconfig_python*.egg-info #---------------------------------------------------------------------------- %package -n %libname_devel Summary: Development files for compiz Group: Development/X11 Provides: %{name}-devel = %{version}-%{release} Obsoletes: %{name}-devel Obsoletes: %{name}-plugins-main-devel Obsoletes: %{name}-plugins-extra-devel Obsoletes: %{_lib}compizconfig-devel Requires: %{libname} = %{version}-%{release} Requires: %{name} = %{version}-%{release} Requires: png-devel Requires: libxcomposite-devel Requires: libxdamage-devel Requires: libxfixes-devel Requires: libxrandr-devel Requires: libxinerama-devel Requires: libice-devel Requires: libsm-devel Requires: startup-notification-devel Requires: GL-devel Requires: libxslt-devel Requires: libxslt-proc Requires: glib2-devel Conflicts: %{libname} < 0.9.10.0-6 %description -n %libname_devel This package provides development files for compiz. %files -n %libname_devel %{_includedir}/%{name}/* %{_libdir}/libdecoration.so %{_libdir}/lib*_core.so %{_libdir}/lib*config.so %{_libdir}/pkgconfig/*.pc %{_datadir}/cmake-3.0/*.cmake %{_datadir}/cmake/Modules/*.cmake %{_datadir}/%{name}/cmake %{_datadir}/%{name}/xslt/*.xslt %{_includedir}/%{name}config/* #---------------------------------------------------------------------------- %prep %setup -q -n %{distname} %apply_patches %build export CXXFLAGS="%{optflags} -Wno-error=cpp" %cmake -DCOMPIZ_PACKAGING_ENABLED=ON \ -DCOMPIZ_BUILD_WITH_RPATH=OFF \ -DCOMPIZ_DISABLE_SCHEMAS_INSTALL=ON \ -DCOMPIZ_DISABLE_GS_SCHEMAS_INSTALL=ON \ -DCOMPIZ_UNUSED_PRIVATE_FIELD_WARNINGS=ON \ -DCOMPIZ_INSTALL_GCONF_SCHEMA_DIR=%{_sysconfdir}/gconf/schemas \ -DBUILD_SHARED_LIBS:BOOL=OFF %make %install pushd build %makeinstall_std DESTDIR=%{buildroot} # Borrowed from fedora # This should work, but is buggy upstream: # make DESTDIR=$RPM_BUILD_ROOT findcompiz_install # So we do this instead: mkdir -p %{buildroot}%{_datadir}/cmake/Modules %__cmake -E copy ../cmake/FindCompiz.cmake %{buildroot}%{_datadir}/cmake/Modules %__cmake -E copy ../compizconfig/libcompizconfig/cmake/FindCompizConfig.cmake %{buildroot}%{_datadir}/cmake/Modules %__cmake -E copy ../cmake/FindOpenGLES2.cmake %{buildroot}%{_datadir}/cmake/Modules popd %__install -D -m644 %{SOURCE1} %{buildroot}%{_datadir}/compositing-wm/%{name}.defaults %__install -m755 %{SOURCE3} %{buildroot}%{_bindir}/%{name}-fusion %__install -m644 %{SOURCE4} %{buildroot}%{_datadir}/compositing-wm/%{name}-fusion.defaults find %{buildroot} -name *.la -exec rm {} \; # We already installed them in good location %__rm -rf %{buildroot}%{_datadir}/cmake-2.8 # Compiz now provides a script to choose decorator, so we dropped our own # make a link to not break existing setup which rely on former script. ln -s %{_bindir}/%{name}-decorator %{buildroot}/%{_bindir}/%{name}-window-decorator %find_lang %{name} %find_lang ccsm desktop-file-install \ --vendor="" \ --remove-category="Compiz" \ --add-category="GTK" \ --add-category="Settings" \ --add-category="DesktopSettings" \ --add-category="X-MandrivaLinux-CrossDesktop" \ --dir %{buildroot}%{_datadir}/applications \ %{buildroot}%{_datadir}/applications/ccsm.desktop #---------------------------------------------------------------------------- %changelog * Fri Oct 17 2014 luigiwalser <luigiwalser> 0.9.10.0-13.mga5 + Revision: 778725 - do not fail to compile because of a deprecation warning + umeabot <umeabot> - Second Mageia 5 Mass Rebuild - Rebuild to fix library dependencies - Mageia 5 Mass Rebuild + tv <tv> - rebuild for missing pythoneggs deps - s/uggests:/Recommends:/ * Mon Sep 01 2014 luigiwalser <luigiwalser> 0.9.10.0-9.mga5 + Revision: 670362 - add cmake 3.0 path to files - rebuild for protobuf * Mon Jul 07 2014 tarakbumba <tarakbumba> 0.9.10.0-7.mga5 + Revision: 650493 - Add patch from upstream to fix clicking on maximized window buttons (mga#12810) - Add conflicts tag to libcompiz0 package * Sat Jul 05 2014 tarakbumba <tarakbumba> 0.9.10.0-6.mga5 + Revision: 643916 - Move development .so files to devel subpackage + pterjan <pterjan> - Rebuild for new Python * Wed Jan 01 2014 pterjan <pterjan> 0.9.10.0-4.mga4 + Revision: 563838 - Rebuild for new protobuf * Tue Oct 22 2013 umeabot <umeabot> 0.9.10.0-3.mga4 + Revision: 544896 - Mageia 4 Mass Rebuild * Tue Oct 15 2013 pterjan <pterjan> 0.9.10.0-2.mga4 + Revision: 500474 - Rebuild to add different pythonegg provides for python 2 and 3 * Wed Sep 18 2013 julien <julien> 0.9.10.0-1.mga4 + Revision: 481311 - new version 0.9.10 - rediff patch0 * Tue Jul 09 2013 fwang <fwang> 0.9.9.0-5.mga4 + Revision: 451717 - rebuild for new boost * Mon Jun 03 2013 fwang <fwang> 0.9.9.0-4.mga4 + Revision: 435561 - rebuild for new libpng * Sat Apr 13 2013 julien <julien> 0.9.9.0-3.mga3 + Revision: 409875 - add upstream patch to fix build with boost 1.53, thanks to Barry Jackson for digging this * Tue Mar 26 2013 julien <julien> 0.9.9.0-2.mga3 + Revision: 405323 - add default path to compositor wrapper MGA#9453 * Thu Jan 24 2013 julien <julien> 0.9.9.0-1.mga3 + Revision: 392188 - update to v0.9.9.0 - drop patch 601,602,603 - rediff patch0 * Fri Jan 11 2013 umeabot <umeabot> 0.9.8.6-3.mga3 + Revision: 348101 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Wed Dec 19 2012 julien <julien> 0.9.8.6-2.mga3 + Revision: 332873 - add patch603 to fix initialization of plugins (MGA#7720) * Sun Nov 25 2012 julien <julien> 0.9.8.6-1.mga3 + Revision: 321742 - add upstream patch601 to fix build with new kde - new version 0.9.8.6 * Sun Nov 18 2012 julien <julien> 0.9.8.4-2.mga3 + Revision: 319458 - add upstream patch to fix MGA#5626 (black background icon in titlebar) * Sun Sep 30 2012 julien <julien> 0.9.8.4-1.mga3 + Revision: 300846 - new version 0.9.8.4 * Thu Sep 13 2012 julien <julien> 0.9.8.2-1.mga3 + Revision: 293713 - update to 0.9.8.2 - drop merged upstream patches - reenabling Werror - disabling the directive BUILD_SHARED_LIBS as it cause strange build failure * Sun Sep 02 2012 julien <julien> 0.9.8.0-4.mga3 + Revision: 287381 - fix crash when loading svg plugin (upstream patch) * Sat Sep 01 2012 julien <julien> 0.9.8.0-3.mga3 + Revision: 286969 - really obsolete libcompizconfig-devel * Fri Aug 31 2012 julien <julien> 0.9.8.0-2.mga3 + Revision: 286773 - reenable kde support (upstream patch, bug lp#1041310) - add obsoletes for devel package - correct list of gconf schemas + fwang <fwang> - update url * Fri Aug 31 2012 fwang <fwang> 0.9.8.0-1.mga3 + Revision: 285951 - update file list - more patch - fix libdir installation - disable werror - rebuild for new boost + julien <julien> - drop compiz-plugin-main|extra, merged in compiz - drop compizconfig-common, merged in compiz - drop libcompizconfig, merged in libcompiz - rename ccsm to compiz-ccsm - drop our own script to choose decorator in favor of upstream one - drop PATCH502 Use-our-compiz-window-decorator-script-as-the-default - new version 0.9.8.0 - disable kde support for the time being as it doesn't build * Wed May 30 2012 fwang <fwang> 0.9.7.8-2.mga3 + Revision: 249687 - rebuild for new boost * Thu Apr 26 2012 julien <julien> 0.9.7.8-1.mga2 + Revision: 233365 - new version 0.9.7.8 * Fri Apr 13 2012 julien <julien> 0.9.7.6-2.mga2 + Revision: 230724 - add sane default pref for compiz-fusion (not very pretty hack) should fix #5190: decoration not applied when compiz-fusion is started with a fresh profile * Fri Apr 06 2012 julien <julien> 0.9.7.6-1.mga2 + Revision: 229375 - new version 0.9.7.6 * Sun Apr 01 2012 julien <julien> 0.9.7.4-1.mga2 + Revision: 227682 - update to new version 0.9.7.4 * Fri Mar 23 2012 julien <julien> 0.9.7.2-1.mga2 + Revision: 225824 - update to 0.9.7.2 * Sat Mar 03 2012 julien <julien> 0.9.7.0-1.mga2 + Revision: 217397 - update to final 0.9.7.0 * Thu Feb 23 2012 julien <julien> 0.9.7-0.bzr3017.mga2 + Revision: 212684 - update to latest bzr - clean BR - replace description with a more meaningful one * Sun Feb 05 2012 julien <julien> 0.9.7-0.bzr2979.mga2 + Revision: 204813 - update to prerelease 0.9.7 - switch to launchpad as source - drop upstreamed patches * Sun Jan 22 2012 julien <julien> 0.9.5.92.1-5.git.20111101.mga2 + Revision: 199860 - fix build of KDE decorator with new gcc * Wed Nov 30 2011 julien <julien> 0.9.5.92.1-4.git.20111101.mga2 + Revision: 174584 - add a provides on compiz-fusion - update to latest git (hopefully, less bugs...) * Sun Nov 27 2011 julien <julien> 0.9.5.92.1-3.mga2 + Revision: 172893 - merge compiz-fusion - add suggests to ccsm and plugins - drop kstylerc.xinit, very old file used with kde3 * Mon Nov 07 2011 mikala <mikala> 0.9.5.92.1-2.mga2 + Revision: 164613 - Add compiz as requires on -devel (some plugins available in compiz packages are needed to build others plugins) - remove defattr() * Sun Nov 06 2011 julien <julien> 0.9.5.92.1-1.mga2 + Revision: 164364 - limit compilation to 2 jobs to be safe - clean some warnings - new version 0.9.5.92.1 - rediff patch 0503 0502 0501 - add patch from fedora for keybinding * Wed Sep 14 2011 fwang <fwang> 0.8.8-2.mga2 + Revision: 143178 - drop .la files + ahmad <ahmad> - Replace BR libgnome-window-settings-devel with pkgconfig(gnome-keybindings) * Sat Jun 25 2011 julien <julien> 0.8.8-1.mga2 + Revision: 113657 - update to 0.8.8 - clean up specfile - remove old Obsolete - drop patchs merged upstream - move static libs to devel package - add condition to ease backport + dmorgan <dmorgan> - Fix file list - Rebuild against latest gnome - fix up the GNOME session stuff so it actually works ( from fedora ) - New version 0.9.4 - New version 0.9.4 Remove merged patches - Fix build arches - Fix file list + mikala <mikala> - Update patch0501 to use mageia-top.png & not mandriva-top.png * Mon Feb 28 2011 eandry <eandry> 0.8.6-3.mga1 + Revision: 61777 - drop old conditionnal - drop buildroot + colin <colin> - imported package compiz