]>
Commit | Line | Data |
---|---|---|
0457c1a2 JB |
1 | # |
2 | # Conditional build | |
c9580293 | 3 | %bcond_with eglstream # Wayland EGLStream support |
0457c1a2 | 4 | %bcond_without pipewire # remote desktop via pipewire |
0e83eb80 | 5 | %bcond_with sysprof # build with tracing support |
dccf1bfd | 6 | %bcond_without apidocs # API documentation |
a1856478 | 7 | %bcond_with tests # run tests (causes infinite loop on builders) |
0457c1a2 | 8 | |
25d9769d | 9 | Summary: Window and compositing manager based on Clutter |
2d2fcd08 | 10 | Summary(pl.UTF-8): Zarządca okien i składania oparty na bibliotece Clutter |
25d9769d | 11 | Name: mutter |
8c61113d | 12 | Version: 46.1 |
b488e34d | 13 | Release: 1 |
25d9769d PZ |
14 | License: GPL v2+ |
15 | Group: X11/Window Managers | |
8c61113d JB |
16 | Source0: https://download.gnome.org/sources/mutter/46/%{name}-%{version}.tar.xz |
17 | # Source0-md5: bc2266ac2c507f88bcd4d86ab93886ad | |
db933be0 | 18 | Patch0: %{name}-deps.patch |
5300656a | 19 | URL: https://gitlab.gnome.org/GNOME/mutter |
587540dd | 20 | BuildRequires: EGL-devel |
f5403a97 JB |
21 | # <EGL/eglmesaext.h> |
22 | BuildRequires: Mesa-libEGL-devel | |
b1557b20 | 23 | BuildRequires: Mesa-libgbm-devel >= 21.3 |
f5403a97 | 24 | BuildRequires: OpenGL-GLX-devel |
587540dd | 25 | BuildRequires: atk-devel >= 1:2.6 |
0591ebfb | 26 | BuildRequires: cairo-devel >= 1.10.0 |
587540dd | 27 | BuildRequires: cairo-gobject-devel >= 1.14.0 |
b1557b20 | 28 | BuildRequires: colord-devel >= 1.4.5 |
c0615e35 | 29 | BuildRequires: dbus-devel |
c9580293 | 30 | %{?with_eglstream:BuildRequires: egl-wayland-devel} |
5300656a | 31 | BuildRequires: fribidi-devel >= 1.0.0 |
587540dd JB |
32 | BuildRequires: gdk-pixbuf2-devel >= 2.0 |
33 | BuildRequires: gettext-tools >= 0.19.6 | |
dccf1bfd | 34 | %{?with_apidocs:BuildRequires: gi-docgen >= 2021.1} |
b1557b20 | 35 | BuildRequires: glib2-devel >= 1:2.75.1 |
9c3fa7fc | 36 | BuildRequires: gnome-desktop4-devel >= 42 |
92790b60 | 37 | BuildRequires: gnome-settings-daemon-devel |
587540dd | 38 | BuildRequires: gobject-introspection-devel >= 1.40.0 |
c9580293 JB |
39 | BuildRequires: graphene-devel >= 1.10.2 |
40 | BuildRequires: gsettings-desktop-schemas-devel >= 40 | |
1887785a | 41 | %{?with_tests:BuildRequires: gtk+3-devel >= 3.19.8} |
b1557b20 JB |
42 | BuildRequires: gtk4-devel >= 4.0.0 |
43 | BuildRequires: harfbuzz-devel >= 2.6 | |
b1557b20 JB |
44 | BuildRequires: lcms2-devel >= 2.6 |
45 | BuildRequires: libcanberra-devel >= 0.26 | |
1887785a | 46 | BuildRequires: libdisplay-info-devel |
8c61113d | 47 | BuildRequires: libdrm-devel >= 2.4.118 |
1887785a JB |
48 | BuildRequires: libei-devel >= 1.1 |
49 | BuildRequires: libeis-devel >= 1.1 | |
8c4d3481 | 50 | BuildRequires: libgudev-devel >= 232 |
dccf1bfd | 51 | BuildRequires: libinput-devel >= 1.19.0 |
4e6754cd | 52 | BuildRequires: libwacom-devel >= 0.13 |
587540dd | 53 | # xcb-randr, xcb-res |
7491ffac | 54 | BuildRequires: libxcb-devel |
1887785a | 55 | BuildRequires: meson >= 0.60.0 |
8c4d3481 | 56 | BuildRequires: ninja >= 1.5 |
c9580293 | 57 | BuildRequires: pango-devel >= 1:1.46.0 |
dccf1bfd | 58 | %{?with_pipewire:BuildRequires: pipewire-devel >= 0.3.33} |
8c61113d | 59 | BuildRequires: pixman-devel >= 0.42 |
7491ffac | 60 | BuildRequires: pkgconfig >= 1:0.21 |
570e28ba | 61 | BuildRequires: rpmbuild(macros) >= 2.029 |
d7ee70a8 | 62 | BuildRequires: startup-notification-devel >= 0.7 |
a219dc67 | 63 | %{?with_sysprof:BuildRequires: sysprof-devel >= 3.37.2} |
5300656a JB |
64 | # or elogind-devel |
65 | BuildRequires: systemd-devel >= 1:209 | |
011c8734 | 66 | BuildRequires: tar >= 1:1.22 |
8c4d3481 | 67 | BuildRequires: udev-devel >= 1:228 |
8c61113d | 68 | BuildRequires: wayland-devel >= 1.22 |
f949eba7 | 69 | BuildRequires: wayland-egl-devel |
8c61113d | 70 | BuildRequires: wayland-protocols >= 1.33 |
41c83d1a | 71 | BuildRequires: xkeyboard-config |
d7ee70a8 MB |
72 | BuildRequires: xorg-lib-libICE-devel |
73 | BuildRequires: xorg-lib-libSM-devel | |
b1557b20 | 74 | BuildRequires: xorg-lib-libX11-devel >= 1.7.0 |
0e83eb80 | 75 | BuildRequires: xorg-lib-libXau-devel |
587540dd | 76 | BuildRequires: xorg-lib-libXcomposite-devel >= 0.4 |
25d9769d PZ |
77 | BuildRequires: xorg-lib-libXcursor-devel |
78 | BuildRequires: xorg-lib-libXdamage-devel | |
79 | BuildRequires: xorg-lib-libXext-devel | |
dccf1bfd | 80 | BuildRequires: xorg-lib-libXfixes-devel >= 6 |
0e83eb80 | 81 | BuildRequires: xorg-lib-libXi-devel >= 1.7.4 |
d7ee70a8 | 82 | BuildRequires: xorg-lib-libXinerama-devel |
4e6754cd | 83 | BuildRequires: xorg-lib-libXrandr-devel >= 1.5.0 |
25d9769d | 84 | BuildRequires: xorg-lib-libXrender-devel |
0e83eb80 | 85 | BuildRequires: xorg-lib-libXtst-devel |
3d470aa2 | 86 | BuildRequires: xorg-lib-libxkbcommon-devel >= 0.4.3 |
8c4d3481 | 87 | BuildRequires: xorg-lib-libxkbcommon-x11-devel >= 0.4.3 |
7491ffac | 88 | BuildRequires: xorg-lib-libxkbfile-devel |
db933be0 | 89 | BuildRequires: xorg-xserver-Xwayland-devel >= 21.1 |
4aab8c13 JB |
90 | # /usr/bin/cvt |
91 | BuildRequires: xorg-xserver-server-tools | |
011c8734 | 92 | BuildRequires: xz |
b1557b20 | 93 | Requires(post,postun): glib2 >= 1:2.75.1 |
2d2fcd08 | 94 | Requires: %{name}-libs = %{version}-%{release} |
b1557b20 | 95 | Requires: colord >= 1.4.5 |
c9580293 | 96 | Requires: gsettings-desktop-schemas >= 40 |
b1557b20 | 97 | Requires: lcms2 >= 2.6 |
25d9769d | 98 | Requires: zenity |
d7ee70a8 | 99 | Provides: gnome-wm |
03eb186a | 100 | Obsoletes: mutter-apidocs < 3.18 |
7491ffac | 101 | Obsoletes: mutter-wayland < 3.14 |
03eb186a | 102 | Obsoletes: mutter-wayland-apidocs < 3.14 |
25d9769d PZ |
103 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
104 | ||
8c61113d | 105 | %define apiver 14 |
c0615e35 | 106 | |
25d9769d | 107 | %description |
d7ee70a8 MB |
108 | Mutter is a window and compositing manager that displays and manages |
109 | your desktop via OpenGL. Mutter combines a sophisticated display | |
110 | engine using the Clutter toolkit with solid window-management logic | |
111 | inherited from the Metacity window manager. | |
25d9769d | 112 | |
2d2fcd08 JB |
113 | %description -l pl.UTF-8 |
114 | Mutter to zarządca okien i składania wyświetlający pulpit i | |
115 | zarządzający nim poprzez OpenGL. Łączy wyszukany silnik wyświetlania | |
116 | wykorzystujący toolkit Clutter z solidną logiką zarządcy okien | |
117 | odziedziczoną z zarządcy okien Metacity. | |
118 | ||
119 | %package libs | |
120 | Summary: Mutter shared library | |
121 | Summary(pl.UTF-8): Biblioteka współdzielona zarządcy okien Mutter | |
122 | Group: Libraries | |
b1557b20 | 123 | Requires: Mesa-libgbm >= 21.3 |
587540dd | 124 | Requires: atk >= 1:2.6 |
0591ebfb | 125 | Requires: cairo >= 1.10.0 |
587540dd | 126 | Requires: cairo-gobject >= 1.14.0 |
5300656a | 127 | Requires: fribidi >= 1.0.0 |
b1557b20 | 128 | Requires: glib2 >= 1:2.75.1 |
9c3fa7fc | 129 | Requires: gnome-desktop4 >= 42 |
c9580293 | 130 | Requires: graphene >= 1.10.2 |
1887785a | 131 | Requires: libcanberra >= 0.26 |
8c61113d | 132 | Requires: libdrm >= 2.4.118 |
adbc2c34 | 133 | Requires: libeis >= 1.1 |
dccf1bfd | 134 | Requires: libinput >= 1.19.0 |
587540dd | 135 | Requires: libwacom >= 0.13 |
c9580293 | 136 | Requires: pango >= 1:1.46.0 |
dccf1bfd | 137 | %{?with_pipewire:Requires: pipewire-libs >= 0.3.33} |
8c61113d | 138 | Requires: pixman >= 0.42 |
2d2fcd08 | 139 | Requires: startup-notification >= 0.7 |
d7034200 | 140 | Requires: libgudev >= 232 |
5300656a | 141 | Requires: udev-libs >= 1:228 |
8c61113d | 142 | Requires: wayland >= 1.22 |
b1557b20 | 143 | Requires: xorg-lib-libX11 >= 1.7.0 |
587540dd | 144 | Requires: xorg-lib-libXcomposite >= 0.4 |
dccf1bfd | 145 | Requires: xorg-lib-libXfixes >= 6 |
0e83eb80 | 146 | Requires: xorg-lib-libXi >= 1.7.4 |
587540dd | 147 | Requires: xorg-lib-libXrandr >= 1.5.0 |
7491ffac | 148 | Obsoletes: mutter-wayland-libs < 3.14 |
2d2fcd08 JB |
149 | Conflicts: mutter < 3.4.0-2 |
150 | ||
151 | %description libs | |
152 | Mutter shared library. | |
153 | ||
154 | %description libs -l pl.UTF-8 | |
155 | Biblioteka współdzielona zarządcy okien i składania Mutter. | |
156 | ||
25d9769d | 157 | %package devel |
d7ee70a8 | 158 | Summary: Development package for Mutter |
2d2fcd08 | 159 | Summary(pl.UTF-8): Pakiet programistyczny do wtyczek zarządcy okien Mutter |
d7ee70a8 | 160 | Group: X11/Development/Libraries |
2d2fcd08 | 161 | Requires: %{name}-libs = %{version}-%{release} |
587540dd | 162 | Requires: EGL-devel |
b1557b20 | 163 | Requires: Mesa-libgbm-devel >= 21.3 |
0591ebfb | 164 | Requires: cairo-devel >= 1.10.0 |
587540dd JB |
165 | Requires: cairo-gobject-devel >= 1.14.0 |
166 | Requires: gdk-pixbuf2-devel >= 2.0 | |
b1557b20 | 167 | Requires: glib2-devel >= 1:2.75.1 |
c9580293 | 168 | Requires: graphene-devel >= 1.10.2 |
1887785a | 169 | Requires: libcanberra-devel >= 0.26 |
8c61113d JB |
170 | Requires: libdrm-devel >= 2.4.118 |
171 | Requires: pixman-devel >= 0.42 | |
2d2fcd08 | 172 | Requires: startup-notification-devel >= 0.7 |
8c61113d | 173 | Requires: wayland-devel >= 1.22 |
f949eba7 | 174 | Requires: wayland-egl-devel |
b1557b20 | 175 | Requires: xorg-lib-libX11-devel >= 1.7.0 |
0e83eb80 | 176 | Requires: xorg-lib-libXau-devel |
587540dd | 177 | Requires: xorg-lib-libXcomposite-devel >= 0.4 |
2d2fcd08 JB |
178 | Requires: xorg-lib-libXcursor-devel |
179 | Requires: xorg-lib-libXdamage-devel | |
587540dd | 180 | Requires: xorg-lib-libXext-devel |
dccf1bfd | 181 | Requires: xorg-lib-libXfixes-devel >= 6 |
0e83eb80 | 182 | Requires: xorg-lib-libXi-devel >= 1.7.4 |
587540dd | 183 | Requires: xorg-lib-libXrandr-devel >= 1.5.0 |
2d2fcd08 | 184 | Requires: xorg-lib-libXrender-devel |
0e83eb80 | 185 | Requires: xorg-lib-libXtst-devel |
8c4d3481 | 186 | Requires: xorg-lib-libxkbcommon-devel >= 0.4.3 |
7491ffac | 187 | Obsoletes: mutter-wayland-devel < 3.14 |
25d9769d PZ |
188 | |
189 | %description devel | |
2d2fcd08 JB |
190 | Header files for developing Mutter plugins. |
191 | ||
192 | %description devel -l pl.UTF-8 | |
193 | Pliki nagłówkowe do tworzenia wtyczek zarządcy okien i składania | |
194 | Mutter. | |
25d9769d | 195 | |
dccf1bfd JB |
196 | %package apidocs |
197 | Summary: API documentation for Mutter libaries | |
198 | Summary(pl.UTF-8): Dokumentacja API bibliotek Mutter | |
199 | Group: Documentation | |
200 | BuildArch: noarch | |
201 | ||
202 | %description apidocs | |
203 | API documentation for Mutter libaries. | |
204 | ||
205 | %description apidocs -l pl.UTF-8 | |
206 | Dokumentacja API bibliotek Mutter. | |
207 | ||
25d9769d PZ |
208 | %prep |
209 | %setup -q | |
586b5247 | 210 | %patch0 -p1 |
25d9769d PZ |
211 | |
212 | %build | |
92790b60 | 213 | %meson build \ |
dccf1bfd | 214 | %{?with_apidocs:-Ddocs=true} \ |
3ec8ff71 | 215 | %{?with_eglstream:-Degl_device=true} \ |
c9580293 | 216 | %{?with_eglstream:-Dwayland_eglstream=true} \ |
5300656a | 217 | -Dgles2_libname=libGLESv2.so.2 \ |
92790b60 | 218 | -Dinstalled_tests=false \ |
0e83eb80 | 219 | -Dprofiler=%{__true_false sysprof} \ |
0457c1a2 | 220 | %{!?with_pipewire:-Dremote_desktop=false} \ |
a1856478 | 221 | -Dtests=%{__true_false tests} \ |
8c4d3481 JB |
222 | -Dxwayland_path=/usr/bin/Xwayland |
223 | ||
92790b60 | 224 | %ninja_build -C build |
25d9769d PZ |
225 | |
226 | %install | |
227 | rm -rf $RPM_BUILD_ROOT | |
228 | ||
92790b60 | 229 | %ninja_install -C build |
25d9769d | 230 | |
dccf1bfd | 231 | %if %{with apidocs} |
570e28ba JB |
232 | install -d $RPM_BUILD_ROOT%{_gidocdir} |
233 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/mutter-%{apiver}/doc $RPM_BUILD_ROOT%{_gidocdir}/mutter-%{apiver} | |
dccf1bfd JB |
234 | %endif |
235 | ||
d7ee70a8 | 236 | %find_lang %{name} |
25d9769d PZ |
237 | |
238 | %clean | |
239 | rm -rf $RPM_BUILD_ROOT | |
240 | ||
241 | %post | |
3ba512a2 | 242 | %glib_compile_schemas |
25d9769d | 243 | |
3ba512a2 | 244 | %postun |
3ba512a2 | 245 | %glib_compile_schemas |
25d9769d | 246 | |
2d2fcd08 JB |
247 | %post libs -p /sbin/ldconfig |
248 | %postun libs -p /sbin/ldconfig | |
249 | ||
25d9769d PZ |
250 | %files -f %{name}.lang |
251 | %defattr(644,root,root,755) | |
41c83d1a | 252 | %doc NEWS doc/*.txt |
25d9769d | 253 | %attr(755,root,root) %{_bindir}/mutter |
c0615e35 JB |
254 | %dir %{_libdir}/mutter-%{apiver}/plugins |
255 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/plugins/libdefault.so | |
41c83d1a | 256 | %attr(755,root,root) %{_libexecdir}/mutter-restart-helper |
b1557b20 | 257 | %attr(755,root,root) %{_libexecdir}/mutter-x11-frames |
168b9775 | 258 | /lib/udev/rules.d/61-mutter.rules |
3ba512a2 ŁK |
259 | %{_datadir}/GConf/gsettings/mutter-schemas.convert |
260 | %{_datadir}/glib-2.0/schemas/org.gnome.mutter.gschema.xml | |
41c83d1a | 261 | %{_datadir}/glib-2.0/schemas/org.gnome.mutter.wayland.gschema.xml |
61953114 | 262 | %{_datadir}/gnome-control-center/keybindings/50-mutter-wayland.xml |
3ba512a2 | 263 | %{_datadir}/gnome-control-center/keybindings/50-mutter-windows.xml |
d0d1f3ea AF |
264 | %{_datadir}/gnome-control-center/keybindings/50-mutter-navigation.xml |
265 | %{_datadir}/gnome-control-center/keybindings/50-mutter-system.xml | |
d7ee70a8 | 266 | %{_mandir}/man1/mutter.1* |
25d9769d | 267 | |
2d2fcd08 JB |
268 | %files libs |
269 | %defattr(644,root,root,755) | |
c0615e35 JB |
270 | %attr(755,root,root) %{_libdir}/libmutter-%{apiver}.so.*.*.* |
271 | %attr(755,root,root) %ghost %{_libdir}/libmutter-%{apiver}.so.0 | |
272 | %dir %{_libdir}/mutter-%{apiver} | |
273 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so.*.*.* | |
274 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so.0 | |
275 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so.*.*.* | |
276 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so.0 | |
c0615e35 JB |
277 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so.*.*.* |
278 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so.0 | |
1887785a JB |
279 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-mtk-%{apiver}.so.*.*.* |
280 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-mtk-%{apiver}.so.0 | |
2d2fcd08 | 281 | # intentionally installed in package-private dir |
c9580293 JB |
282 | %{_libdir}/mutter-%{apiver}/Cally-%{apiver}.typelib |
283 | %{_libdir}/mutter-%{apiver}/Clutter-%{apiver}.typelib | |
c9580293 JB |
284 | %{_libdir}/mutter-%{apiver}/Cogl-%{apiver}.typelib |
285 | %{_libdir}/mutter-%{apiver}/CoglPango-%{apiver}.typelib | |
286 | %{_libdir}/mutter-%{apiver}/Meta-%{apiver}.typelib | |
1887785a | 287 | %{_libdir}/mutter-%{apiver}/Mtk-%{apiver}.typelib |
2d2fcd08 | 288 | |
25d9769d PZ |
289 | %files devel |
290 | %defattr(644,root,root,755) | |
c0615e35 JB |
291 | %attr(755,root,root) %{_libdir}/libmutter-%{apiver}.so |
292 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so | |
293 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so | |
c0615e35 | 294 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so |
1887785a | 295 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-mtk-%{apiver}.so |
c0615e35 | 296 | %{_includedir}/mutter-%{apiver} |
d7ee70a8 | 297 | # intentionally installed in package-private dir |
c9580293 JB |
298 | %{_libdir}/mutter-%{apiver}/Cally-%{apiver}.gir |
299 | %{_libdir}/mutter-%{apiver}/Clutter-%{apiver}.gir | |
c9580293 JB |
300 | %{_libdir}/mutter-%{apiver}/Cogl-%{apiver}.gir |
301 | %{_libdir}/mutter-%{apiver}/CoglPango-%{apiver}.gir | |
302 | %{_libdir}/mutter-%{apiver}/Meta-%{apiver}.gir | |
1887785a | 303 | %{_libdir}/mutter-%{apiver}/Mtk-%{apiver}.gir |
c0615e35 JB |
304 | %{_pkgconfigdir}/libmutter-%{apiver}.pc |
305 | %{_pkgconfigdir}/mutter-clutter-%{apiver}.pc | |
c0615e35 JB |
306 | %{_pkgconfigdir}/mutter-cogl-%{apiver}.pc |
307 | %{_pkgconfigdir}/mutter-cogl-pango-%{apiver}.pc | |
1887785a | 308 | %{_pkgconfigdir}/mutter-mtk-%{apiver}.pc |
dccf1bfd JB |
309 | |
310 | %if %{with apidocs} | |
311 | %files apidocs | |
312 | %defattr(644,root,root,755) | |
570e28ba | 313 | %{_gidocdir}/mutter-%{apiver} |
dccf1bfd | 314 | %endif |