mutter/mutter.spec

228 lines
8.1 KiB
RPMSpec
Raw Normal View History

#
# spec file for package mutter
#
# Copyright (c) 2018 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/
#
Name: mutter
Version: 3.27.92
Release: 0
Summary: Window and compositing manager based on Clutter
License: GPL-2.0-or-later
Group: System/GUI/GNOME
URL: https://www.gnome.org
Source0: http://download.gnome.org/sources/mutter/3.27/%{name}-%{version}.tar.xz
# PATCH-FIX-UPSTREAM mutter-fix-startup.patch bgo#768531 zaitor@opensuse.org -- Fix slow startup notification on wayland
Patch0: mutter-fix-startup.patch
# PATCH-FEATURE-UPSTREAM mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch FATE#323412 bgo#781704 bsc#1024748 vliaskovitis@suse.com -- iconcache: Support RGB16_565 format for 16-bit sessions
Patch1: mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch
# SLE-only patches start at 1000
# PATCH-FEATURE-SLE mutter-SLE-bell.patch FATE#316042 bnc#889218 idonmez@suse.com -- make audible bell work out of the box.
Patch1000: mutter-SLE-bell.patch
# PATCH-FIX-SLE mutter-SLE-relax-some-constraints-on-CSD-windows.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.
Patch1001: mutter-SLE-relax-some-constraints-on-CSD-windows.patch
# PATCH-FIX-UPSTREAM mutter-SLE-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.
Patch1002: mutter-SLE-bsc984738-grab-display.patch
# Not available in openSUSE yet
# BuildRequires: pkgconfig(libpipewire-0.1)
BuildRequires: Mesa-libGLESv3-devel
BuildRequires: fdupes
BuildRequires: intltool
BuildRequires: pkgconfig
BuildRequires: zenity
BuildRequires: pkgconfig(cairo) >= 1.10.0
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(gbm) >= 17.1
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.53.2
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(gnome-desktop-3.0)
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.9.5
BuildRequires: pkgconfig(gsettings-desktop-schemas) >= 3.19.3
BuildRequires: pkgconfig(gtk+-3.0) >= 3.19.7
BuildRequires: pkgconfig(gudev-1.0) >= 232
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(libcanberra-gtk3)
BuildRequires: pkgconfig(libdrm) >= 2.4.83
BuildRequires: pkgconfig(libinput)
BuildRequires: pkgconfig(libstartup-notification-1.0)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libudev) >= 136
BuildRequires: pkgconfig(libwacom)
BuildRequires: pkgconfig(pango) >= 1.2.0
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(upower-glib) >= 0.99.0
BuildRequires: pkgconfig(wayland-protocols) >= 1.10
BuildRequires: pkgconfig(wayland-server) >= 1.13.0
BuildRequires: pkgconfig(x11)
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(xinerama)
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)
BuildRequires: pkgconfig(xtst)
Requires: zenity
Recommends: %{name}-lang
Provides: windowmanager
# Obsolete the now private typelib.
Obsoletes: typelib-1_0-Meta-3_0
%if !0%{?is_opensuse}
BuildRequires: translation-update-upstream
%endif
%description
Mutter is a window and compositing manager based on Clutter, forked
from Metacity.
%package -n libmutter-2-0
Summary: Window and compositing manager based on Clutter
# we need the gsettings schema; hopefully, they'll stay backwards compatible
# (since we can't require = version, to not break SLPP)
Group: System/Libraries
Requires: %{name}-data >= %{version}
Obsoletes: libmutter0
%description -n libmutter-2-0
Mutter is a window and compositing manager based on Clutter, forked
from Metacity.
This package contains a library for shared features.
%package data
Summary: Data files for mutter, a window and compositing manager based on Clutter
Group: System/GUI/GNOME
Requires: %{name} = %{version}
%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: Development files for mutter, a window and compositing manager
Group: Development/Libraries/GNOME
Requires: %{name} = %{version}
Requires: libmutter-2-0 = %{version}
%description devel
This subpackage contains libraries and header files for developing
applications that want to make use of the mutter library.
%lang_package
%prep
%setup -q
%patch0 -p1
Accepting request 422494 from home:zhangxiaofei:branches:GNOME:Factory 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
2016-08-26 14:00:22 +02:00
%patch1 -p1
# SLE-only patches and translations.
%if !0%{?is_opensuse}
translation-update-upstream
%patch1000 -p1
%patch1001 -p1
%patch1002 -p1
%endif
%build
# FIXME add --enable-remote-desktop when libpipewire-0.1 is available
%configure \
--enable-wayland \
--enable-native-backend \
--disable-static \
--enable-egl-device \
--enable-compile-warnings=maximum \
%{nil}
%make_build
%install
%make_install
find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print
%find_lang %{name} %{?no_lang_C}
%fdupes %{buildroot}%{_prefix}
%post -n libmutter-2-0 -p /sbin/ldconfig
%postun -n libmutter-2-0 -p /sbin/ldconfig
%files
%license COPYING
%doc NEWS
%{_mandir}/man1/mutter.1%{?ext_man}
%{_bindir}/mutter
# These so files are not split out since they are private to mutter
%{_libdir}/mutter/libmutter-clutter-2.so
%{_libdir}/mutter/libmutter-cogl-pango-2.so
%{_libdir}/mutter/libmutter-cogl-path-2.so
%{_libdir}/mutter/libmutter-cogl-2.so
%{_libdir}/mutter/plugins/default.so
#
%{_libexecdir}/mutter-restart-helper
%{_datadir}/applications/mutter.desktop
# These typelibs are not split out since they are private to mutter
%{_libdir}/mutter/Cally-2.typelib
%{_libdir}/mutter/Clutter-2.typelib
%{_libdir}/mutter/ClutterX11-2.typelib
%{_libdir}/mutter/Cogl-2.typelib
%{_libdir}/mutter/CoglPango-2.typelib
%{_libdir}/mutter/Meta-2.typelib
#
%files -n libmutter-2-0
%{_libdir}/libmutter-2.so.*
%dir %{_libdir}/mutter/
# users of libmutter need this directory
%dir %{_libdir}/mutter/plugins/
%files data
# 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}/gnome-control-center/keybindings/50-mutter-wayland.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
%{_includedir}/mutter/
%{_libdir}/libmutter-2.so
%{_libdir}/mutter/Meta-2.gir
%{_libdir}/mutter/Cally-2.gir
%{_libdir}/mutter/Clutter-2.gir
%{_libdir}/mutter/ClutterX11-2.gir
%{_libdir}/mutter/Cogl-2.gir
%{_libdir}/mutter/CoglPango-2.gir
%{_libdir}/pkgconfig/libmutter-2.pc
%{_libdir}/pkgconfig/mutter-clutter-2.pc
%{_libdir}/pkgconfig/mutter-clutter-x11-2.pc
%{_libdir}/pkgconfig/mutter-cogl-2.pc
%{_libdir}/pkgconfig/mutter-cogl-pango-2.pc
%{_libdir}/pkgconfig/mutter-cogl-path-2.pc
%changelog