3 %bcond_with eglstream # Wayland EGLStream support
4 %bcond_without pipewire # remote desktop via pipewire
5 %bcond_with sysprof # build with tracing support
6 %bcond_without apidocs # API documentation
7 %bcond_with tests # run tests (causes infinite loop on builders)
9 Summary: Window and compositing manager based on Clutter
10 Summary(pl.UTF-8): Zarządca okien i składania oparty na bibliotece Clutter
15 Group: X11/Window Managers
16 Source0: https://download.gnome.org/sources/mutter/44/%{name}-%{version}.tar.xz
17 # Source0-md5: 011f0a722a5e4644007407531097afcd
18 Patch0: %{name}-deps.patch
19 URL: https://gitlab.gnome.org/GNOME/mutter
20 BuildRequires: EGL-devel
22 BuildRequires: Mesa-libEGL-devel
23 BuildRequires: Mesa-libgbm-devel >= 21.3
24 BuildRequires: OpenGL-GLX-devel
25 BuildRequires: atk-devel >= 1:2.6
26 BuildRequires: cairo-devel >= 1.10.0
27 BuildRequires: cairo-gobject-devel >= 1.14.0
28 BuildRequires: colord-devel >= 1.4.5
29 BuildRequires: dbus-devel
30 %{?with_eglstream:BuildRequires: egl-wayland-devel}
31 BuildRequires: fribidi-devel >= 1.0.0
32 BuildRequires: gdk-pixbuf2-devel >= 2.0
33 BuildRequires: gettext-tools >= 0.19.6
34 %{?with_apidocs:BuildRequires: gi-docgen >= 2021.1}
35 BuildRequires: glib2-devel >= 1:2.75.1
36 BuildRequires: gnome-desktop4-devel >= 42
37 BuildRequires: gnome-settings-daemon-devel
38 BuildRequires: gobject-introspection-devel >= 1.40.0
39 BuildRequires: graphene-devel >= 1.10.2
40 BuildRequires: gsettings-desktop-schemas-devel >= 40
41 BuildRequires: gtk4-devel >= 4.0.0
42 BuildRequires: harfbuzz-devel >= 2.6
43 BuildRequires: json-glib-devel >= 0.12.0
44 BuildRequires: lcms2-devel >= 2.6
45 BuildRequires: libcanberra-devel >= 0.26
46 BuildRequires: libdrm-devel
47 BuildRequires: libgudev-devel >= 232
48 BuildRequires: libinput-devel >= 1.19.0
49 BuildRequires: libwacom-devel >= 0.13
51 BuildRequires: libxcb-devel
52 BuildRequires: meson >= 0.58.0
53 BuildRequires: ninja >= 1.5
54 BuildRequires: pango-devel >= 1:1.46.0
55 %{?with_pipewire:BuildRequires: pipewire-devel >= 0.3.33}
56 BuildRequires: pkgconfig >= 1:0.21
57 BuildRequires: rpmbuild(macros) >= 2.029
58 BuildRequires: startup-notification-devel >= 0.7
59 %{?with_sysprof:BuildRequires: sysprof-devel >= 3.37.2}
61 BuildRequires: systemd-devel >= 1:209
62 BuildRequires: tar >= 1:1.22
63 BuildRequires: udev-devel >= 1:228
64 BuildRequires: wayland-devel >= 1.21
65 BuildRequires: wayland-egl-devel
66 BuildRequires: wayland-protocols >= 1.31
67 BuildRequires: xkeyboard-config
68 BuildRequires: xorg-lib-libICE-devel
69 BuildRequires: xorg-lib-libSM-devel
70 BuildRequires: xorg-lib-libX11-devel >= 1.7.0
71 BuildRequires: xorg-lib-libXau-devel
72 BuildRequires: xorg-lib-libXcomposite-devel >= 0.4
73 BuildRequires: xorg-lib-libXcursor-devel
74 BuildRequires: xorg-lib-libXdamage-devel
75 BuildRequires: xorg-lib-libXext-devel
76 BuildRequires: xorg-lib-libXfixes-devel >= 6
77 BuildRequires: xorg-lib-libXi-devel >= 1.7.4
78 BuildRequires: xorg-lib-libXinerama-devel
79 BuildRequires: xorg-lib-libXrandr-devel >= 1.5.0
80 BuildRequires: xorg-lib-libXrender-devel
81 BuildRequires: xorg-lib-libXtst-devel
82 BuildRequires: xorg-lib-libxkbcommon-devel >= 0.4.3
83 BuildRequires: xorg-lib-libxkbcommon-x11-devel >= 0.4.3
84 BuildRequires: xorg-lib-libxkbfile-devel
85 BuildRequires: xorg-xserver-Xwayland-devel >= 21.1
87 BuildRequires: xorg-xserver-server-tools
89 Requires(post,postun): glib2 >= 1:2.75.1
90 Requires: %{name}-libs = %{version}-%{release}
91 Requires: colord >= 1.4.5
92 Requires: gsettings-desktop-schemas >= 40
93 Requires: lcms2 >= 2.6
96 Obsoletes: mutter-apidocs < 3.18
97 Obsoletes: mutter-wayland < 3.14
98 Obsoletes: mutter-wayland-apidocs < 3.14
99 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
104 Mutter is a window and compositing manager that displays and manages
105 your desktop via OpenGL. Mutter combines a sophisticated display
106 engine using the Clutter toolkit with solid window-management logic
107 inherited from the Metacity window manager.
109 %description -l pl.UTF-8
110 Mutter to zarządca okien i składania wyświetlający pulpit i
111 zarządzający nim poprzez OpenGL. Łączy wyszukany silnik wyświetlania
112 wykorzystujący toolkit Clutter z solidną logiką zarządcy okien
113 odziedziczoną z zarządcy okien Metacity.
116 Summary: Mutter shared library
117 Summary(pl.UTF-8): Biblioteka współdzielona zarządcy okien Mutter
119 Requires: Mesa-libgbm >= 21.3
120 Requires: atk >= 1:2.6
121 Requires: cairo >= 1.10.0
122 Requires: cairo-gobject >= 1.14.0
123 Requires: fribidi >= 1.0.0
124 Requires: glib2 >= 1:2.75.1
125 Requires: gnome-desktop4 >= 42
126 Requires: graphene >= 1.10.2
127 Requires: gtk+3 >= 3.20.0
128 Requires: json-glib >= 0.12.0
129 Requires: libcanberra-gtk3 >= 0.26
130 Requires: libinput >= 1.19.0
131 Requires: libwacom >= 0.13
132 Requires: pango >= 1:1.46.0
133 %{?with_pipewire:Requires: pipewire-libs >= 0.3.33}
134 Requires: startup-notification >= 0.7
135 Requires: libgudev >= 232
136 Requires: udev-libs >= 1:228
137 Requires: wayland >= 1.21
138 Requires: xorg-lib-libX11 >= 1.7.0
139 Requires: xorg-lib-libXcomposite >= 0.4
140 Requires: xorg-lib-libXfixes >= 6
141 Requires: xorg-lib-libXi >= 1.7.4
142 Requires: xorg-lib-libXrandr >= 1.5.0
143 Obsoletes: mutter-wayland-libs < 3.14
144 Conflicts: mutter < 3.4.0-2
147 Mutter shared library.
149 %description libs -l pl.UTF-8
150 Biblioteka współdzielona zarządcy okien i składania Mutter.
153 Summary: Development package for Mutter
154 Summary(pl.UTF-8): Pakiet programistyczny do wtyczek zarządcy okien Mutter
155 Group: X11/Development/Libraries
156 Requires: %{name}-libs = %{version}-%{release}
158 Requires: Mesa-libgbm-devel >= 21.3
159 Requires: cairo-devel >= 1.10.0
160 Requires: cairo-gobject-devel >= 1.14.0
161 Requires: gdk-pixbuf2-devel >= 2.0
162 Requires: glib2-devel >= 1:2.75.1
163 Requires: graphene-devel >= 1.10.2
164 Requires: gtk+3-devel >= 3.20.0
165 Requires: libcanberra-gtk3-devel >= 0.26
166 Requires: libdrm-devel
167 Requires: startup-notification-devel >= 0.7
168 Requires: wayland-devel >= 1.21
169 Requires: wayland-egl-devel
170 Requires: xorg-lib-libX11-devel >= 1.7.0
171 Requires: xorg-lib-libXau-devel
172 Requires: xorg-lib-libXcomposite-devel >= 0.4
173 Requires: xorg-lib-libXcursor-devel
174 Requires: xorg-lib-libXdamage-devel
175 Requires: xorg-lib-libXext-devel
176 Requires: xorg-lib-libXfixes-devel >= 6
177 Requires: xorg-lib-libXi-devel >= 1.7.4
178 Requires: xorg-lib-libXrandr-devel >= 1.5.0
179 Requires: xorg-lib-libXrender-devel
180 Requires: xorg-lib-libXtst-devel
181 Requires: xorg-lib-libxkbcommon-devel >= 0.4.3
182 Obsoletes: mutter-wayland-devel < 3.14
185 Header files for developing Mutter plugins.
187 %description devel -l pl.UTF-8
188 Pliki nagłówkowe do tworzenia wtyczek zarządcy okien i składania
192 Summary: API documentation for Mutter libaries
193 Summary(pl.UTF-8): Dokumentacja API bibliotek Mutter
198 API documentation for Mutter libaries.
200 %description apidocs -l pl.UTF-8
201 Dokumentacja API bibliotek Mutter.
209 %{?with_apidocs:-Ddocs=true} \
210 %{?with_eglstream:-Degl_device=true} \
211 %{?with_eglstream:-Dwayland_eglstream=true} \
212 -Dgles2_libname=libGLESv2.so.2 \
213 -Dinstalled_tests=false \
214 -Dprofiler=%{__true_false sysprof} \
215 %{!?with_pipewire:-Dremote_desktop=false} \
216 -Dtests=%{__true_false tests} \
217 -Dxwayland_path=/usr/bin/Xwayland
219 %ninja_build -C build
222 rm -rf $RPM_BUILD_ROOT
224 %ninja_install -C build
227 install -d $RPM_BUILD_ROOT%{_gidocdir}
228 %{__mv} $RPM_BUILD_ROOT%{_datadir}/mutter-%{apiver}/doc $RPM_BUILD_ROOT%{_gidocdir}/mutter-%{apiver}
234 rm -rf $RPM_BUILD_ROOT
237 %glib_compile_schemas
240 %glib_compile_schemas
242 %post libs -p /sbin/ldconfig
243 %postun libs -p /sbin/ldconfig
245 %files -f %{name}.lang
246 %defattr(644,root,root,755)
248 %attr(755,root,root) %{_bindir}/mutter
249 %dir %{_libdir}/mutter-%{apiver}/plugins
250 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/plugins/libdefault.so
251 %attr(755,root,root) %{_libexecdir}/mutter-restart-helper
252 %attr(755,root,root) %{_libexecdir}/mutter-x11-frames
253 /lib/udev/rules.d/61-mutter.rules
254 %{_datadir}/GConf/gsettings/mutter-schemas.convert
255 %{_datadir}/glib-2.0/schemas/org.gnome.mutter.gschema.xml
256 %{_datadir}/glib-2.0/schemas/org.gnome.mutter.wayland.gschema.xml
257 %{_datadir}/gnome-control-center/keybindings/50-mutter-wayland.xml
258 %{_datadir}/gnome-control-center/keybindings/50-mutter-windows.xml
259 %{_datadir}/gnome-control-center/keybindings/50-mutter-navigation.xml
260 %{_datadir}/gnome-control-center/keybindings/50-mutter-system.xml
261 %{_mandir}/man1/mutter.1*
264 %defattr(644,root,root,755)
265 %attr(755,root,root) %{_libdir}/libmutter-%{apiver}.so.*.*.*
266 %attr(755,root,root) %ghost %{_libdir}/libmutter-%{apiver}.so.0
267 %dir %{_libdir}/mutter-%{apiver}
268 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so.*.*.*
269 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so.0
270 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so.*.*.*
271 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so.0
272 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so.*.*.*
273 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so.0
274 # intentionally installed in package-private dir
275 %{_libdir}/mutter-%{apiver}/Cally-%{apiver}.typelib
276 %{_libdir}/mutter-%{apiver}/Clutter-%{apiver}.typelib
277 %{_libdir}/mutter-%{apiver}/Cogl-%{apiver}.typelib
278 %{_libdir}/mutter-%{apiver}/CoglPango-%{apiver}.typelib
279 %{_libdir}/mutter-%{apiver}/Meta-%{apiver}.typelib
282 %defattr(644,root,root,755)
283 %attr(755,root,root) %{_libdir}/libmutter-%{apiver}.so
284 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so
285 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so
286 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so
287 %{_includedir}/mutter-%{apiver}
288 # intentionally installed in package-private dir
289 %{_libdir}/mutter-%{apiver}/Cally-%{apiver}.gir
290 %{_libdir}/mutter-%{apiver}/Clutter-%{apiver}.gir
291 %{_libdir}/mutter-%{apiver}/Cogl-%{apiver}.gir
292 %{_libdir}/mutter-%{apiver}/CoglPango-%{apiver}.gir
293 %{_libdir}/mutter-%{apiver}/Meta-%{apiver}.gir
294 %{_pkgconfigdir}/libmutter-%{apiver}.pc
295 %{_pkgconfigdir}/mutter-clutter-%{apiver}.pc
296 %{_pkgconfigdir}/mutter-cogl-%{apiver}.pc
297 %{_pkgconfigdir}/mutter-cogl-pango-%{apiver}.pc
301 %defattr(644,root,root,755)
302 %{_gidocdir}/mutter-%{apiver}