1 # TODO: -Dxwayland_initfd=enabled when available in Xwayland release
4 %bcond_without pipewire # remote desktop via pipewire
5 %bcond_with sysprof # build with tracing support
6 %bcond_with tests # run tests (causes infinite loop on builders)
8 Summary: Window and compositing manager based on Clutter
9 Summary(pl.UTF-8): Zarządca okien i składania oparty na bibliotece Clutter
14 Group: X11/Window Managers
15 Source0: https://download.gnome.org/sources/mutter/3.38/%{name}-%{version}.tar.xz
16 # Source0-md5: 7a72928143cd8f84e6ff43de6a408b77
17 Patch0: %{name}-no-xwayland.patch
18 URL: https://gitlab.gnome.org/GNOME/mutter
19 BuildRequires: EGL-devel
20 BuildRequires: OpenGL-GLX-devel
21 BuildRequires: Mesa-libgbm-devel >= 17.3
22 BuildRequires: atk-devel >= 1:2.6
23 BuildRequires: cairo-devel >= 1.10.0
24 BuildRequires: cairo-gobject-devel >= 1.14.0
25 BuildRequires: dbus-devel
26 BuildRequires: fribidi-devel >= 1.0.0
27 BuildRequires: gdk-pixbuf2-devel >= 2.0
28 BuildRequires: gettext-tools >= 0.19.6
29 BuildRequires: glib2-devel >= 1:2.61.1
30 BuildRequires: gnome-desktop-devel >= 3.0
31 BuildRequires: gnome-settings-daemon-devel
32 BuildRequires: gobject-introspection-devel >= 1.40.0
33 BuildRequires: graphene-devel >= 1.9.3
34 BuildRequires: gsettings-desktop-schemas-devel >= 3.37.2
35 BuildRequires: gtk+3-devel >= 3.20.0
36 BuildRequires: json-glib-devel >= 0.12.0
37 BuildRequires: libcanberra-gtk3-devel >= 0.26
38 BuildRequires: libdrm-devel
39 BuildRequires: libgudev-devel >= 232
40 BuildRequires: libinput-devel >= 1.7
41 BuildRequires: libwacom-devel >= 0.13
43 BuildRequires: libxcb-devel
44 BuildRequires: meson >= 0.51.0
45 BuildRequires: ninja >= 1.5
46 BuildRequires: pango-devel >= 1:1.30
47 %{?with_pipewire:BuildRequires: pipewire-devel >= 0.3.0}
48 BuildRequires: pkgconfig >= 1:0.21
49 BuildRequires: rpmbuild(macros) >= 1.736
50 BuildRequires: startup-notification-devel >= 0.7
51 %{?with_sysprof:BuildRequires: sysprof-devel >= 3.37.2}
53 BuildRequires: systemd-devel >= 1:209
54 BuildRequires: tar >= 1:1.22
55 BuildRequires: udev-devel >= 1:228
56 BuildRequires: upower-devel >= 0.99.0
57 BuildRequires: wayland-devel >= 1.18
58 BuildRequires: wayland-egl-devel
59 BuildRequires: wayland-protocols >= 1.19
60 BuildRequires: xkeyboard-config
61 BuildRequires: xorg-lib-libICE-devel
62 BuildRequires: xorg-lib-libSM-devel
63 BuildRequires: xorg-lib-libX11-devel
64 BuildRequires: xorg-lib-libXau-devel
65 BuildRequires: xorg-lib-libXcomposite-devel >= 0.4
66 BuildRequires: xorg-lib-libXcursor-devel
67 BuildRequires: xorg-lib-libXdamage-devel
68 BuildRequires: xorg-lib-libXext-devel
69 BuildRequires: xorg-lib-libXfixes-devel >= 3
70 BuildRequires: xorg-lib-libXi-devel >= 1.7.4
71 BuildRequires: xorg-lib-libXinerama-devel
72 BuildRequires: xorg-lib-libXrandr-devel >= 1.5.0
73 BuildRequires: xorg-lib-libXrender-devel
74 BuildRequires: xorg-lib-libXtst-devel
75 BuildRequires: xorg-lib-libxkbcommon-devel >= 0.4.3
76 BuildRequires: xorg-lib-libxkbcommon-x11-devel >= 0.4.3
77 BuildRequires: xorg-lib-libxkbfile-devel
79 Requires(post,postun): glib2 >= 1:2.61.1
80 Requires: %{name}-libs = %{version}-%{release}
81 Requires: gsettings-desktop-schemas >= 3.37.2
84 Obsoletes: mutter-apidocs < 3.18
85 Obsoletes: mutter-wayland < 3.14
86 Obsoletes: mutter-wayland-apidocs < 3.14
87 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
92 Mutter is a window and compositing manager that displays and manages
93 your desktop via OpenGL. Mutter combines a sophisticated display
94 engine using the Clutter toolkit with solid window-management logic
95 inherited from the Metacity window manager.
97 %description -l pl.UTF-8
98 Mutter to zarządca okien i składania wyświetlający pulpit i
99 zarządzający nim poprzez OpenGL. Łączy wyszukany silnik wyświetlania
100 wykorzystujący toolkit Clutter z solidną logiką zarządcy okien
101 odziedziczoną z zarządcy okien Metacity.
104 Summary: Mutter shared library
105 Summary(pl.UTF-8): Biblioteka współdzielona zarządcy okien Mutter
107 Requires: Mesa-libgbm >= 17.3
108 Requires: atk >= 1:2.6
109 Requires: cairo >= 1.10.0
110 Requires: cairo-gobject >= 1.14.0
111 Requires: fribidi >= 1.0.0
112 Requires: glib2 >= 1:2.61.1
113 Requires: gnome-desktop >= 3.0
114 Requires: graphene >= 1.9.3
115 Requires: gtk+3 >= 3.20.0
116 Requires: json-glib >= 0.12.0
117 Requires: libcanberra-gtk3 >= 0.26
118 Requires: libinput >= 1.7
119 Requires: libwacom >= 0.13
120 Requires: pango >= 1:1.30
121 %{?with_pipewire:Requires: pipewire-libs >= 0.3.0}
122 Requires: startup-notification >= 0.7
123 Requires: libgudev >= 232
124 Requires: udev-libs >= 1:228
125 Requires: upower-libs >= 0.99.0
126 Requires: wayland >= 1.18
127 Requires: xorg-lib-libXcomposite >= 0.4
128 Requires: xorg-lib-libXfixes >= 3
129 Requires: xorg-lib-libXi >= 1.7.4
130 Requires: xorg-lib-libXrandr >= 1.5.0
131 Obsoletes: mutter-wayland-libs < 3.14
132 Conflicts: mutter < 3.4.0-2
135 Mutter shared library.
137 %description libs -l pl.UTF-8
138 Biblioteka współdzielona zarządcy okien i składania Mutter.
141 Summary: Development package for Mutter
142 Summary(pl.UTF-8): Pakiet programistyczny do wtyczek zarządcy okien Mutter
143 Group: X11/Development/Libraries
144 Requires: %{name}-libs = %{version}-%{release}
146 Requires: Mesa-libgbm-devel >= 17.3
147 Requires: cairo-devel >= 1.10.0
148 Requires: cairo-gobject-devel >= 1.14.0
149 Requires: gdk-pixbuf2-devel >= 2.0
150 Requires: glib2-devel >= 1:2.61.1
151 Requires: graphene-devel >= 1.9.3
152 Requires: gtk+3-devel >= 3.20.0
153 Requires: libcanberra-gtk3-devel >= 0.26
154 Requires: libdrm-devel
155 Requires: startup-notification-devel >= 0.7
156 Requires: wayland-devel >= 1.8
157 Requires: wayland-egl-devel
158 Requires: xorg-lib-libX11-devel
159 Requires: xorg-lib-libXau-devel
160 Requires: xorg-lib-libXcomposite-devel >= 0.4
161 Requires: xorg-lib-libXcursor-devel
162 Requires: xorg-lib-libXdamage-devel
163 Requires: xorg-lib-libXext-devel
164 Requires: xorg-lib-libXfixes-devel >= 3
165 Requires: xorg-lib-libXi-devel >= 1.7.4
166 Requires: xorg-lib-libXrandr-devel >= 1.5.0
167 Requires: xorg-lib-libXrender-devel
168 Requires: xorg-lib-libXtst-devel
169 Requires: xorg-lib-libxkbcommon-devel >= 0.4.3
170 Obsoletes: mutter-wayland-devel < 3.14
173 Header files for developing Mutter plugins.
175 %description devel -l pl.UTF-8
176 Pliki nagłówkowe do tworzenia wtyczek zarządcy okien i składania
185 -Dgles2_libname=libGLESv2.so.2 \
186 -Dinstalled_tests=false \
187 -Dprofiler=%{__true_false sysprof} \
188 %{!?with_pipewire:-Dremote_desktop=false} \
189 -Dtests=%{__true_false tests} \
190 -Dxwayland_initfd=disabled \
191 -Dxwayland_path=/usr/bin/Xwayland
193 %ninja_build -C build
196 rm -rf $RPM_BUILD_ROOT
198 %ninja_install -C build
203 rm -rf $RPM_BUILD_ROOT
206 %glib_compile_schemas
209 %glib_compile_schemas
211 %post libs -p /sbin/ldconfig
212 %postun libs -p /sbin/ldconfig
214 %files -f %{name}.lang
215 %defattr(644,root,root,755)
217 %attr(755,root,root) %{_bindir}/mutter
218 %dir %{_libdir}/mutter-%{apiver}/plugins
219 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/plugins/libdefault.so
220 %attr(755,root,root) %{_libexecdir}/mutter-restart-helper
221 /lib/udev/rules.d/61-mutter.rules
222 %{_desktopdir}/mutter.desktop
223 %{_datadir}/GConf/gsettings/mutter-schemas.convert
224 %{_datadir}/glib-2.0/schemas/org.gnome.mutter.gschema.xml
225 %{_datadir}/glib-2.0/schemas/org.gnome.mutter.wayland.gschema.xml
226 %{_datadir}/gnome-control-center/keybindings/50-mutter-wayland.xml
227 %{_datadir}/gnome-control-center/keybindings/50-mutter-windows.xml
228 %{_datadir}/gnome-control-center/keybindings/50-mutter-navigation.xml
229 %{_datadir}/gnome-control-center/keybindings/50-mutter-system.xml
230 %{_mandir}/man1/mutter.1*
233 %defattr(644,root,root,755)
234 %attr(755,root,root) %{_libdir}/libmutter-%{apiver}.so.*.*.*
235 %attr(755,root,root) %ghost %{_libdir}/libmutter-%{apiver}.so.0
236 %dir %{_libdir}/mutter-%{apiver}
237 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so.*.*.*
238 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so.0
239 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so.*.*.*
240 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so.0
241 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so.*.*.*
242 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so.0
243 # intentionally installed in package-private dir
244 %{_libdir}/mutter-%{apiver}/Cally-*.typelib
245 %{_libdir}/mutter-%{apiver}/Clutter-*.typelib
246 %{_libdir}/mutter-%{apiver}/ClutterX11-*.typelib
247 %{_libdir}/mutter-%{apiver}/Cogl-*.typelib
248 %{_libdir}/mutter-%{apiver}/CoglPango-*.typelib
249 %{_libdir}/mutter-%{apiver}/Meta-*.typelib
252 %defattr(644,root,root,755)
253 %attr(755,root,root) %{_libdir}/libmutter-%{apiver}.so
254 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so
255 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so
256 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so
257 %{_includedir}/mutter-%{apiver}
258 # intentionally installed in package-private dir
259 %{_libdir}/mutter-%{apiver}/Cally-*.gir
260 %{_libdir}/mutter-%{apiver}/Clutter-*.gir
261 %{_libdir}/mutter-%{apiver}/ClutterX11-*.gir
262 %{_libdir}/mutter-%{apiver}/Cogl-*.gir
263 %{_libdir}/mutter-%{apiver}/CoglPango-*.gir
264 %{_libdir}/mutter-%{apiver}/Meta-*.gir
265 %{_pkgconfigdir}/libmutter-%{apiver}.pc
266 %{_pkgconfigdir}/mutter-clutter-%{apiver}.pc
267 %{_pkgconfigdir}/mutter-clutter-x11-%{apiver}.pc
268 %{_pkgconfigdir}/mutter-cogl-%{apiver}.pc
269 %{_pkgconfigdir}/mutter-cogl-pango-%{apiver}.pc