compiz/compiz.spec
2013-08-19 10:31:21 +02:00

482 lines
16 KiB
RPMSpec

%global core_plugins blur clone cube decoration fade ini inotify minimize move place png regex resize rotate scale screenshot switcher video water wobbly zoom fs obs commands wall annotate svg matecompat
# List of plugins passed to ./configure. The order is important
%global plugins core,png,svg,video,screenshot,decoration,clone,place,fade,minimize,move,resize,switcher,scale,wall,obs
Name: compiz
URL: http://www.compiz.org
License: GPLv2+ and LGPLv2+ and MIT
Group: User Interface/Desktops
Version: 0.8.8
Release: 25%{?dist}
Epoch: 1
Summary: OpenGL window and compositing manager
# libdrm is not available on these arches
ExcludeArch: s390 s390x
Source0: http://releases.compiz.org/%{version}/%{name}-%{version}.tar.bz2
Source1: compiz-mate-gtk
Source2: compiz-mate-gtk.desktop
Source3: compiz-mate-emerald
Source4: compiz-mate-emerald.desktop
Source5: compiz-lxde-emerald
Source6: compiz-lxde-emerald.desktop
Source7: compiz-xfce-emerald
Source8: compiz-xfce-emerald.desktop
Source9: compiz-decorator-gtk
Source10: gtk-decorator.desktop
Source11: compiz-decorator-emerald
Source12: emerald-decorator.desktop
Source13: compiz-plugins-main_plugin-matecompat.svg
Source14: emerald-decorator.svg
Source15: gtk-decorator.svg
# build for aarch64
Patch0: compiz-aarch64.patch
# usage of matecompat plugin and marco for gtk-windows-decorator
Patch1: compiz_new_mate.patch
# Patches that are not upstream
Patch2: compiz_disable_gdk_disable_deprecated.patch
Patch3: compiz_composite-cube-logo.patch
Patch4: compiz_fedora-logo.patch
Patch5: compiz_redhat-logo.patch
Patch6: compiz-0.8.6-wall.patch
Patch7: compiz-0.8.6-new_unloadpluginfix.patch
Patch8: compiz-0.8.8_incorrect-fsf-address.patch
Patch9: compiz_new_add-cursor-theme-support.patch
Patch10: compiz-fix-gtk-window-decorator-no-argb-crash.patch
Patch11: compiz_fix-no-border-window-shadow.patch
Patch12: compiz_draw_dock_shadows_on_desktop.patch
Patch13: compiz_optional-fbo.patch
Patch14: compiz_call_glxwaitx_before_drawing.patch
Patch15: compiz_always_unredirect_screensaver_on_nvidia.patch
Patch16: compiz_fullscreen_stacking_fixes.patch
Patch17: compiz_damage-report-non-empty.patch
Patch18: compiz_stacking.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=909657
Patch19: compiz_primary-is-control.patch
# those patches belongs together, removal of keybindings, mate-windows-settings
# kde, gconf/mateconf, dbus, glib and old metacity checks
Patch20: compiz_remove_keybindings_and_mate-windows-settings_files.patch
Patch21: compiz_remove_kde.patch
Patch22: compiz_remove_mateconf_dbus_glib.patch
Patch23: compiz_clean_potfiles.patch
Patch24: compiz_remove_old_metacity_checks.patch
# gtk-windows-decorator
Patch25: compiz_commandline_options_for_button_layout_and_titlebar_font.patch
# usage of libmatewnck for gtk-windows-decorator
Patch26: compiz_libwnck_to_libmatewnck.patch
Patch27: compiz_matewnck_corrections.patch
# new patch series
Patch28: compiz_get_smclient-id_from_DESKTOP-AUTOSTART-ID.patch
# removing the rest of the gconf/mateconf code in gtk-windows-decorator
Patch29: compiz_removal_gconf.patch
Patch30: compiz_automake-1.13.patch
BuildRequires: libX11-devel
BuildRequires: libdrm-devel
BuildRequires: libmatewnck-devel
BuildRequires: libXfixes-devel
BuildRequires: libXrandr-devel
BuildRequires: libXrender-devel
BuildRequires: libXcomposite-devel
BuildRequires: libXdamage-devel
BuildRequires: libXext-devel
BuildRequires: libXt-devel
BuildRequires: libSM-devel
BuildRequires: libICE-devel
BuildRequires: libXmu-devel
BuildRequires: desktop-file-utils
BuildRequires: intltool
BuildRequires: gettext
BuildRequires: librsvg2-devel
BuildRequires: mesa-libGLU-devel
BuildRequires: fuse-devel
BuildRequires: cairo-devel
BuildRequires: libtool
BuildRequires: libxslt-devel
BuildRequires: mate-window-manager-devel
Requires: system-logos
Requires: glx-utils
# this is an inverse require which is needed for build without gtk-windows-decorator
Requires: emerald
Requires: hicolor-icon-theme
# obsolete old compiz versions from f15/f16, rhbz (#997557)
Obsoletes: %{name}-gconf < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-gnome < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-gtk < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-kde < %{epoch}:%{version}-%{release}
%description
Compiz is one of the first OpenGL-accelerated compositing window
managers for the X Window System. The integration allows it to perform
compositing effects in window management, such as a minimization
effect and a cube work space. Compiz is an OpenGL compositing manager
that use Compiz use EXT_texture_from_pixmap OpenGL extension for
binding redirected top-level windows to texture objects.
%package devel
Summary: Development packages for compiz
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
Requires: pkgconfig
Requires: libXcomposite-devel libXfixes-devel libXdamage-devel libXrandr-devel
Requires: libXinerama-devel libICE-devel libSM-devel libxml2-devel
Requires: libxslt-devel startup-notification-devel
%description devel
The compiz-devel package includes the header files,
and developer docs for the compiz package.
Install compiz-devel if you want to develop plugins for the compiz
windows and compositing manager.
%package mate
Summary: Compiz mate integration bits
Group: User Interface/Desktops
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description mate
The compiz-mate package contains the matecompat plugin
and start scripts to start Compiz with emerald and
gtk-windows-decorator.
%package xfce
Summary: Compiz xfce integration bits
Group: User Interface/Desktops
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description xfce
The compiz-xfce package contains a start script to start
Compiz with emerald.
%package lxde
Summary: Compiz lxde integration bits
Group: User Interface/Desktops
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description lxde
The compiz-lxde package contains a start script to start
Compiz with emerald.
%prep
%setup -q
%patch0 -p1 -b .aarch64
%patch1 -p1 -b .mate
%patch2 -p1 -b .disable_deprecated
%patch3 -p1 -b .composite-cube-logo
%if 0%{?fedora}
%patch4 -p1 -b .fedora-logo
%else
%patch5 -p1 -b .redhat-logo
%endif
%patch6 -p1 -b .wall
%patch7 -p1 -b .unloadfix
%patch8 -p1 -b .incorrect-fsf-address
%patch9 -p1 -b .cursor-theme-support
%patch10 -p1 -b .gtk-window-decorator-no-argb-crash
%patch11 -p1 -b .no-border-window-shadow
%patch12 -p1 -b .draw_dock_shadows
%patch13 -p1 -b .fbo
%patch14 -p1 -b .glxwaitx_before_drawing
%patch15 -p1 -b .always_unredirect_screensaver
%patch16 -p1 -b .fullscreen_stacking
%patch17 -p1 -b .damage-report
%patch18 -p1 -b .stacking
%patch19 -p1 -b .primary-is-control
%patch20 -p1 -b .remove_keybindings
%patch21 -p1 -b .remove_kde
%patch22 -p1 -b .remove_mateconf_dbus_glib
%patch23 -p1 -b .potfiles
%patch24 -p1 -b .old_metacity_checks
%patch25 -p1 -b .commandline_options
%patch26 -p1 -b .wnck_to_matewnck
%patch27 -p1 -b .matewnck_corrections
%patch28 -p1 -b .get_smclient-id
%patch29 -p1 -b .gconf
%patch30 -p1 -b .automake
%build
autoreconf -f -i
%configure \
--enable-librsvg \
--enable-gtk \
--enable-marco \
--enable-mate \
--with-default-plugins=%{plugins}
make %{?_smp_mflags} imagedir=%{_datadir}/pixmaps
%install
make DESTDIR=$RPM_BUILD_ROOT install || exit 1
install %SOURCE1 $RPM_BUILD_ROOT%{_bindir}
install %SOURCE3 $RPM_BUILD_ROOT%{_bindir}
install %SOURCE5 $RPM_BUILD_ROOT%{_bindir}
install %SOURCE7 $RPM_BUILD_ROOT%{_bindir}
install %SOURCE9 $RPM_BUILD_ROOT%{_bindir}
install %SOURCE11 $RPM_BUILD_ROOT%{_bindir}
desktop-file-install --vendor="" \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%SOURCE2
desktop-file-install --vendor="" \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%SOURCE4
desktop-file-install --vendor="" \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%SOURCE6
desktop-file-install --vendor="" \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%SOURCE8
desktop-file-install --vendor="" \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%SOURCE10
desktop-file-install --vendor="" \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%SOURCE12
# matecompat icon
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps
cp -f %SOURCE13 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps/plugin-matecompat.svg
# emerald-decorator icon
cp -f %SOURCE14 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps/emerald-decorator.svg
# gtk-decorator icon
cp -f %SOURCE15 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps/gtk-decorator.svg
rm $RPM_BUILD_ROOT%{_datadir}/applications/compiz.desktop
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';'
%find_lang %{name}
cat %{name}.lang > core-files.txt
for f in %{core_plugins}; do
echo %{_libdir}/compiz/lib$f.so
echo %{_datadir}/compiz/$f.xml
done >> core-files.txt
%post
/sbin/ldconfig
/bin/touch --no-create %{_datadir}/compiz &>/dev/null || :
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
%postun
/sbin/ldconfig
if [ $1 -eq 0 ] ; then
/bin/touch --no-create %{_datadir}/compiz &>/dev/null
/usr/bin/gtk-update-icon-cache %{_datadir}/compiz &>/dev/null || :
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi
%posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/compiz &>/dev/null || :
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%post mate -p /sbin/ldconfig
%postun mate -p /sbin/ldconfig
%files -f core-files.txt
%doc AUTHORS ChangeLog COPYING.GPL COPYING.LGPL README TODO NEWS
%{_bindir}/compiz
%{_libdir}/libdecoration.so.*
%dir %{_libdir}/compiz
%dir %{_datadir}/compiz
%{_datadir}/compiz/*.png
%{_datadir}/compiz/core.xml
%{_datadir}/icons/hicolor/scalable/apps/*.svg
%files mate
%{_bindir}/gtk-window-decorator
%{_bindir}/compiz-mate-emerald
%{_bindir}/compiz-mate-gtk
%{_bindir}/compiz-decorator-gtk
%{_bindir}/compiz-decorator-emerald
%{_datadir}/applications/compiz-mate-emerald.desktop
%{_datadir}/applications/compiz-mate-gtk.desktop
%{_datadir}/applications/gtk-decorator.desktop
%{_datadir}/applications/emerald-decorator.desktop
%files xfce
%{_bindir}/compiz-xfce-emerald
%{_datadir}/applications/compiz-xfce-emerald.desktop
%files lxde
%{_bindir}/compiz-lxde-emerald
%{_datadir}/applications/compiz-lxde-emerald.desktop
%files devel
%{_libdir}/pkgconfig/compiz.pc
%{_libdir}/pkgconfig/libdecoration.pc
%{_libdir}/pkgconfig/compiz-cube.pc
%{_libdir}/pkgconfig/compiz-scale.pc
%{_includedir}/compiz/
%{_libdir}/libdecoration.so
%changelog
* Thu Aug 15 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-25
- obsolete old compiz versions from f15/f16, rhbz (#997557)
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.8.8-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon Jun 03 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-23
- fix windows-decorator scripts and desktop files
* Sun May 26 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-22
- add patch to speed up start
- remove --sm-disable --ignore-desktop-hints from start scipts
- fix build for aarch64
- add xfce subpackage again with start script and desktop file
- move matecompat plugin to main package
- add requires hicolor-icon-theme
- add scripts and desktop files for switch the windows-decorator to
- mate subpackage
- remove useless compiz_new_add-cursor-theme-support.patch
- complete removal of gconf
- clean up patches
- rename patches and add more descriptions to spec file
- remove unnecessary desktop-file-validate checks
- update icon-cache scriptlets
* Wed May 08 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-21
- remove compiz-lxde-gtk script and desktop file
* Tue May 07 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-20
- DISABLE XFCE SUPPORT
- remove xfce subpackage
- move gwd decorator to a subpackage
* Mon Apr 29 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-19
- remove compiz-xfce-gtk start script
* Mon Apr 29 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-18
- rename compiz_disable_gtk_disable_deprecated.patch
* Mon Apr 29 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-17
- remove compiz-xfce-gtk.desktop
* Wed Apr 24 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-16
- enable gtk-windows-decorator based on marco (mate-window-manager)
- add compiz_disable_gdk_gtk_disable_deprecated patch
- remove dbus
- remove glib
- remove mateconf
- remove kde
- remove keybindings
- add start scripts for gtk-windows-decorator
- update start scripts for emerald
- add ldconfig scriptlet for mate subpackage
- using libmatewnck instead of libwnck
* Wed Feb 13 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-15
- fix primary-is-control in wall patch
* Sun Feb 10 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-14
- add compiz_primary-is-control.patch
- this will set all default configurations to pimary key
- change compiz-wall.patch for set primary is control key
- fix (#909657)
* Fri Jan 04 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-13
- add require emerald again
* Tue Dec 25 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-12
- remove require emerald until it is in fedora stable
* Sat Dec 22 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-11
- do some major changes
- disable mateconf and use libini text file configuration backend
- remove mateconf from scriptlet section
- move glib annotate svg plugins to core package
- disable gtk-windows-decorator
- drop compiz-mate-gtk compiz session script
- disable gtk-windows-decorator patches
- disable marco/metacity
- disable mate/gnome
- disable mate/gnome keybindings
- insert compiz-mate-emerald compiz session script
- insert compiz-xfce-emerald compiz session script
- insert compiz-lxde-emerald compiz session script
- add emerald as require
- add matecompat icon
- add icon cache scriptlets
* Sun Dec 02 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-10
- add %%global plugins_schemas again
* Sun Dec 02 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-9
- revert scriptlet change
* Sun Dec 02 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1:0.8.8-8
- add %%global plugins_schemas
- change mateconf scriptlets
- remove (Requires(post): desktop-file-utils)
- add some patches from Jasmine Hassan jasmine.aura@gmail.com
- remove (noreplace) from mateconf schema directory
- add desktop-file-validate
- disable mate keybindings for the moment
* Fri Oct 05 2012 Leigh Scott <leigh123linux@googlemail.com> - 1:0.8.8-7
- remove and obsolete compiz-kconfig schema
* Fri Oct 05 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 0.8.8-6
- remove update update-desktop-database from %%post mate
- remove (noreplace) from mateconf schema dir
- remove Requires(post): desktop-file-utils
- add epoch tags
* Wed Sep 26 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 0.8.8-5
- change compiz-0.88_incorrect-fsf-address.patch
* Wed Sep 26 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 0.8.8-4
- remove upstreamed patches
- own include dir
- add compiz-mate-gtk source and compiz-mate-gtk.desktop file
- add keybinding sources
- change %%define to %%global entries
- rename no-more-gnome-wm-settings.patch to no-more-mate-wm-settings.patch
- add compiz-0.88_incorrect-fsf-address.patch
- clean up build section
* Sun Sep 16 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 0.8.8-3
- add isa tags
- remove kde stuff
- remove obsolete beryl stuff
- add comiz_mate_fork.patch
- remove %%defattr(-, root, root)
- add compiz_gtk_window_decoration_button_placement.patch
- enable some compiz keybindings
* Tue May 15 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 0.8.8-2
- add compiz_mate_fix.patch
* Tue May 15 2012 Wolfgang Ulbrich <chat-to-me@raveit.de> - 0.8.8-1
- build for mate
* Sun May 06 2012 Andrew Wyatt <andrew@fuduntu.org> - 0.8.8-1
- Update to latest stable release
* Tue Nov 30 2010 leigh scott <leigh123linux@googlemail.com> - 0.8.6-6
- add more upstream gdk fixes