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