bc9db1f782
SLE sync - Add mutter-bsc984738-grab-display.patch (bsc#984738, bgo#769387). - Drop mutter-grab-display.patch, it has been fixed by upstream differently. - Update to GNOME 3.20 Fate#318572 - Remove upstream patches: mutter-bnc879109-no-monitors-crash.patch - Refresh mutter-grab-display.patch, mutter-bell.patch, relax-some-constraints-on-CSD-windows-in-sle-classic.patch - Update mutter-bell.patch so it works on all cases (bnc#889218) - Add relax-some-constraints-on-CSD-windows-in-sle-classic.patch: CSD (Client Side Decoration) windows have invisible box wrapping around them, which leads to some positioning issues as in this bug report. Relax some constraints on window positioning for CSD windows s.t. they can be placed at the very top of the monitor. This fix works nicely for "sle-classic" as there is no top bar any more, and is NOT applied in other GNOME sessions for reasons stated in bgo#719772 (bnc#883491). - Add mutter-bnc879109-no-monitors-crash.patch: Fixes a crash in Mutter when there are no usable monitors, such as when a laptop is booted with the lid closed while on a docking station, with the intent of plugging an external monitor later (bnc#879109). - Added support for gnome-patch-translation (2 strings). - Update mutter-grab-display.patch to fix (bnc#873763) OBS-URL: https://build.opensuse.org/request/show/422494 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/mutter?expand=0&rev=203
235 lines
7.4 KiB
RPMSpec
235 lines
7.4 KiB
RPMSpec
#
|
|
# spec file for package mutter
|
|
#
|
|
# Copyright (c) 2016 SUSE LINUX 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/
|
|
#
|
|
|
|
|
|
%if 0%{?suse_version} == 1315
|
|
%bcond_with wayland
|
|
%else
|
|
%bcond_without wayland
|
|
%endif
|
|
|
|
Name: mutter
|
|
Version: 3.20.3
|
|
Release: 0
|
|
Summary: Window and compositing manager based on Clutter
|
|
License: GPL-2.0+
|
|
Group: System/GUI/GNOME
|
|
Url: http://www.gnome.org
|
|
Source: http://download.gnome.org/sources/mutter/3.20/%{name}-%{version}.tar.xz
|
|
# PATCH-FEATURE-SLE mutter-bell.patch FATE#316042 bnc#889218 idonmez@suse.com -- make audible bell work out of the box.
|
|
Patch1: mutter-bell.patch
|
|
# PATCH-FIX-SLE relax-some-constraints-on-CSD-windows-in-sle-classic.patch bnc#883491 cxiong@suse.com -- Relax some constraints on window positioning for CSD windows s.t. they can be placed at the very top of the monitor.
|
|
Patch2: relax-some-constraints-on-CSD-windows-in-sle-classic.patch
|
|
# PATCH-FIX-UPSTREAM mutter-bsc984738-grab-display.patch bsc#984738 bgo#769387 hpj@suse.com -- Revert a upstream commit to avoid X11 race condition that results in wrong dialog sizes.
|
|
Patch3: mutter-bsc984738-grab-display.patch
|
|
BuildRequires: fdupes
|
|
BuildRequires: gobject-introspection-devel >= 0.9.5
|
|
BuildRequires: intltool
|
|
BuildRequires: libSM-devel
|
|
BuildRequires: libX11-devel
|
|
BuildRequires: libXinerama-devel
|
|
%if !0%{?is_opensuse}
|
|
BuildRequires: translation-update-upstream
|
|
%endif
|
|
BuildRequires: update-desktop-files
|
|
BuildRequires: zenity
|
|
BuildRequires: pkgconfig(cairo) >= 1.10.0
|
|
BuildRequires: pkgconfig(clutter-1.0) >= 1.25.6
|
|
BuildRequires: pkgconfig(cogl-1.0) >= 1.17.1
|
|
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.25.10
|
|
BuildRequires: pkgconfig(gnome-desktop-3.0)
|
|
BuildRequires: pkgconfig(gsettings-desktop-schemas) >= 3.19.3
|
|
BuildRequires: pkgconfig(gtk+-3.0) >= 3.19.7
|
|
BuildRequires: pkgconfig(libcanberra-gtk3)
|
|
BuildRequires: pkgconfig(libstartup-notification-1.0)
|
|
BuildRequires: pkgconfig(pango) >= 1.2.0
|
|
BuildRequires: pkgconfig(upower-glib) >= 0.99.0
|
|
BuildRequires: pkgconfig(x11-xcb)
|
|
BuildRequires: pkgconfig(xcb-randr)
|
|
BuildRequires: pkgconfig(xcomposite) >= 0.2
|
|
BuildRequires: pkgconfig(xcursor)
|
|
BuildRequires: pkgconfig(xdamage)
|
|
BuildRequires: pkgconfig(xext)
|
|
BuildRequires: pkgconfig(xfixes)
|
|
BuildRequires: pkgconfig(xi)
|
|
BuildRequires: pkgconfig(xkbcommon) >= 0.4.3
|
|
BuildRequires: pkgconfig(xkbcommon-x11)
|
|
BuildRequires: pkgconfig(xkbfile)
|
|
BuildRequires: pkgconfig(xkeyboard-config)
|
|
BuildRequires: pkgconfig(xrandr) >= 1.5.0
|
|
BuildRequires: pkgconfig(xrender)
|
|
%if %{with wayland}
|
|
BuildRequires: pkgconfig(clutter-egl-1.0)
|
|
BuildRequires: pkgconfig(clutter-wayland-1.0)
|
|
BuildRequires: pkgconfig(clutter-wayland-compositor-1.0)
|
|
BuildRequires: pkgconfig(gbm) >= 10.3
|
|
BuildRequires: pkgconfig(gudev-1.0)
|
|
BuildRequires: pkgconfig(libdrm)
|
|
BuildRequires: pkgconfig(libinput)
|
|
BuildRequires: pkgconfig(libsystemd)
|
|
BuildRequires: pkgconfig(wayland-protocols) >= 1.0
|
|
BuildRequires: pkgconfig(wayland-server) >= 1.4.93
|
|
%endif
|
|
Requires: zenity
|
|
Recommends: %{name}-lang
|
|
Provides: windowmanager
|
|
# mutter 3.9.90 dropped old, unused tools. Likely, nobody has them installed anyway
|
|
Obsoletes: %{name}-tools < %{version}
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
|
|
%description
|
|
Mutter is a window and compositing manager based on Clutter, forked
|
|
from Metacity.
|
|
|
|
%package -n libmutter0
|
|
Summary: Window and compositing manager based on Clutter -- Library
|
|
Group: System/Libraries
|
|
# we need the gsettings schema; hopefully, they'll stay backwards compatible
|
|
# (since we can't require = version, to not break SLPP)
|
|
Requires: %{name}-data >= %{version}
|
|
|
|
%description -n libmutter0
|
|
Mutter is a window and compositing manager based on Clutter, forked
|
|
from Metacity.
|
|
|
|
This package contains a library for shared features.
|
|
|
|
%package -n typelib-1_0-Meta-3_0
|
|
Summary: Window and compositing manager based on Clutter -- Introspection bindings
|
|
Group: System/Libraries
|
|
|
|
%description -n typelib-1_0-Meta-3_0
|
|
Mutter is a window and compositing manager based on Clutter, forked
|
|
from Metacity.
|
|
|
|
This package provides the GObject Introspection bindings for libmutter.
|
|
|
|
%package data
|
|
Summary: Window and compositing manager based on Clutter -- Data Files
|
|
Group: System/GUI/GNOME
|
|
Requires: %{name} = %{version}
|
|
%glib2_gsettings_schema_requires
|
|
|
|
%description data
|
|
Mutter is a window and compositing manager based on Clutter, forked
|
|
from Metacity.
|
|
|
|
This package contains data files needed by mutter and its library.
|
|
|
|
%package devel
|
|
Summary: Include Files and Libraries mandatory for Development
|
|
Group: Development/Libraries/GNOME
|
|
Requires: libmutter0 = %{version}
|
|
Requires: typelib-1_0-Meta-3_0 = %{version}
|
|
|
|
%description devel
|
|
This package contains all necessary include files and libraries needed
|
|
to develop applications that require these.
|
|
|
|
|
|
%lang_package
|
|
%prep
|
|
%setup -q
|
|
%if !0%{?is_opensuse}
|
|
translation-update-upstream
|
|
%patch1 -p1
|
|
%patch2 -p1
|
|
%endif
|
|
%patch3 -p1
|
|
|
|
%build
|
|
%configure \
|
|
%if %{with wayland}
|
|
--enable-wayland \
|
|
--enable-native-backend \
|
|
%else
|
|
--disable-wayland \
|
|
--disable-native-backend \
|
|
%endif
|
|
--disable-static \
|
|
--enable-compile-warnings=maximum
|
|
make %{?_smp_mflags} V=1
|
|
|
|
%install
|
|
%make_install
|
|
find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print
|
|
%suse_update_desktop_file %{name}
|
|
%find_lang %{name} %{?no_lang_C}
|
|
%fdupes %{buildroot}
|
|
|
|
%clean
|
|
rm -rf %{buildroot}
|
|
|
|
%post
|
|
%desktop_database_post
|
|
|
|
%postun
|
|
%desktop_database_postun
|
|
|
|
%post -n libmutter0 -p /sbin/ldconfig
|
|
|
|
%postun -n libmutter0 -p /sbin/ldconfig
|
|
|
|
%post data
|
|
%glib2_gsettings_schema_post
|
|
|
|
%postun data
|
|
%glib2_gsettings_schema_postun
|
|
|
|
%files
|
|
%defattr (-, root, root)
|
|
%doc COPYING NEWS
|
|
%{_bindir}/mutter
|
|
%{_libdir}/mutter/plugins/default.so
|
|
%{_libexecdir}/mutter-restart-helper
|
|
%{_datadir}/applications/mutter.desktop
|
|
%doc %{_mandir}/man1/mutter.1%{?ext_man}
|
|
|
|
%files -n libmutter0
|
|
%defattr(-,root,root)
|
|
%{_libdir}/libmutter.so.*
|
|
%dir %{_libdir}/mutter/
|
|
# users of libmutter need this directory
|
|
%dir %{_libdir}/mutter/plugins/
|
|
|
|
%files -n typelib-1_0-Meta-3_0
|
|
%defattr(-,root,root)
|
|
%{_libdir}/mutter/Meta-3.0.typelib
|
|
|
|
%files data
|
|
%defattr(-,root,root)
|
|
# Do not depend on g-c-c just for a directory
|
|
%dir %{_datadir}/gnome-control-center
|
|
%dir %{_datadir}/gnome-control-center/keybindings
|
|
%{_datadir}/gnome-control-center/keybindings/50-mutter-windows.xml
|
|
%{_datadir}/gnome-control-center/keybindings/50-mutter-navigation.xml
|
|
%{_datadir}/gnome-control-center/keybindings/50-mutter-system.xml
|
|
%{_datadir}/GConf/gsettings/mutter-schemas.convert
|
|
%{_datadir}/glib-2.0/schemas/org.gnome.mutter.gschema.xml
|
|
%{_datadir}/glib-2.0/schemas/org.gnome.mutter.wayland.gschema.xml
|
|
|
|
%files lang -f %{name}.lang
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
%{_includedir}/mutter/
|
|
%{_libdir}/libmutter.so
|
|
%{_libdir}/mutter/Meta-3.0.gir
|
|
%{_libdir}/pkgconfig/libmutter.pc
|
|
|
|
%changelog
|