]>
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 |
9294db06 | 12 | Version: 45.4 |
b488e34d | 13 | Release: 1 |
25d9769d PZ |
14 | License: GPL v2+ |
15 | Group: X11/Window Managers | |
1887785a | 16 | Source0: https://download.gnome.org/sources/mutter/45/%{name}-%{version}.tar.xz |
9294db06 | 17 | # Source0-md5: 74e84722518707c0768f9753fc3492d7 |
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 | |
587540dd | 44 | BuildRequires: json-glib-devel >= 0.12.0 |
b1557b20 JB |
45 | BuildRequires: lcms2-devel >= 2.6 |
46 | BuildRequires: libcanberra-devel >= 0.26 | |
1887785a | 47 | BuildRequires: libdisplay-info-devel |
7491ffac | 48 | BuildRequires: libdrm-devel |
1887785a JB |
49 | BuildRequires: libei-devel >= 1.1 |
50 | BuildRequires: libeis-devel >= 1.1 | |
8c4d3481 | 51 | BuildRequires: libgudev-devel >= 232 |
dccf1bfd | 52 | BuildRequires: libinput-devel >= 1.19.0 |
4e6754cd | 53 | BuildRequires: libwacom-devel >= 0.13 |
587540dd | 54 | # xcb-randr, xcb-res |
7491ffac | 55 | BuildRequires: libxcb-devel |
1887785a | 56 | BuildRequires: meson >= 0.60.0 |
8c4d3481 | 57 | BuildRequires: ninja >= 1.5 |
c9580293 | 58 | BuildRequires: pango-devel >= 1:1.46.0 |
dccf1bfd | 59 | %{?with_pipewire:BuildRequires: pipewire-devel >= 0.3.33} |
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 |
b1557b20 | 68 | BuildRequires: wayland-devel >= 1.21 |
f949eba7 | 69 | BuildRequires: wayland-egl-devel |
1887785a | 70 | BuildRequires: wayland-protocols >= 1.32 |
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 | ||
1887785a | 105 | %define apiver 13 |
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 |
587540dd | 131 | Requires: json-glib >= 0.12.0 |
1887785a | 132 | Requires: libcanberra >= 0.26 |
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} |
2d2fcd08 | 138 | Requires: startup-notification >= 0.7 |
d7034200 | 139 | Requires: libgudev >= 232 |
5300656a | 140 | Requires: udev-libs >= 1:228 |
b1557b20 JB |
141 | Requires: wayland >= 1.21 |
142 | Requires: xorg-lib-libX11 >= 1.7.0 | |
587540dd | 143 | Requires: xorg-lib-libXcomposite >= 0.4 |
dccf1bfd | 144 | Requires: xorg-lib-libXfixes >= 6 |
0e83eb80 | 145 | Requires: xorg-lib-libXi >= 1.7.4 |
587540dd | 146 | Requires: xorg-lib-libXrandr >= 1.5.0 |
7491ffac | 147 | Obsoletes: mutter-wayland-libs < 3.14 |
2d2fcd08 JB |
148 | Conflicts: mutter < 3.4.0-2 |
149 | ||
150 | %description libs | |
151 | Mutter shared library. | |
152 | ||
153 | %description libs -l pl.UTF-8 | |
154 | Biblioteka współdzielona zarządcy okien i składania Mutter. | |
155 | ||
25d9769d | 156 | %package devel |
d7ee70a8 | 157 | Summary: Development package for Mutter |
2d2fcd08 | 158 | Summary(pl.UTF-8): Pakiet programistyczny do wtyczek zarządcy okien Mutter |
d7ee70a8 | 159 | Group: X11/Development/Libraries |
2d2fcd08 | 160 | Requires: %{name}-libs = %{version}-%{release} |
587540dd | 161 | Requires: EGL-devel |
b1557b20 | 162 | Requires: Mesa-libgbm-devel >= 21.3 |
0591ebfb | 163 | Requires: cairo-devel >= 1.10.0 |
587540dd JB |
164 | Requires: cairo-gobject-devel >= 1.14.0 |
165 | Requires: gdk-pixbuf2-devel >= 2.0 | |
b1557b20 | 166 | Requires: glib2-devel >= 1:2.75.1 |
c9580293 | 167 | Requires: graphene-devel >= 1.10.2 |
1887785a | 168 | Requires: libcanberra-devel >= 0.26 |
587540dd | 169 | Requires: libdrm-devel |
2d2fcd08 | 170 | Requires: startup-notification-devel >= 0.7 |
b1557b20 | 171 | Requires: wayland-devel >= 1.21 |
f949eba7 | 172 | Requires: wayland-egl-devel |
b1557b20 | 173 | Requires: xorg-lib-libX11-devel >= 1.7.0 |
0e83eb80 | 174 | Requires: xorg-lib-libXau-devel |
587540dd | 175 | Requires: xorg-lib-libXcomposite-devel >= 0.4 |
2d2fcd08 JB |
176 | Requires: xorg-lib-libXcursor-devel |
177 | Requires: xorg-lib-libXdamage-devel | |
587540dd | 178 | Requires: xorg-lib-libXext-devel |
dccf1bfd | 179 | Requires: xorg-lib-libXfixes-devel >= 6 |
0e83eb80 | 180 | Requires: xorg-lib-libXi-devel >= 1.7.4 |
587540dd | 181 | Requires: xorg-lib-libXrandr-devel >= 1.5.0 |
2d2fcd08 | 182 | Requires: xorg-lib-libXrender-devel |
0e83eb80 | 183 | Requires: xorg-lib-libXtst-devel |
8c4d3481 | 184 | Requires: xorg-lib-libxkbcommon-devel >= 0.4.3 |
7491ffac | 185 | Obsoletes: mutter-wayland-devel < 3.14 |
25d9769d PZ |
186 | |
187 | %description devel | |
2d2fcd08 JB |
188 | Header files for developing Mutter plugins. |
189 | ||
190 | %description devel -l pl.UTF-8 | |
191 | Pliki nagłówkowe do tworzenia wtyczek zarządcy okien i składania | |
192 | Mutter. | |
25d9769d | 193 | |
dccf1bfd JB |
194 | %package apidocs |
195 | Summary: API documentation for Mutter libaries | |
196 | Summary(pl.UTF-8): Dokumentacja API bibliotek Mutter | |
197 | Group: Documentation | |
198 | BuildArch: noarch | |
199 | ||
200 | %description apidocs | |
201 | API documentation for Mutter libaries. | |
202 | ||
203 | %description apidocs -l pl.UTF-8 | |
204 | Dokumentacja API bibliotek Mutter. | |
205 | ||
25d9769d PZ |
206 | %prep |
207 | %setup -q | |
586b5247 | 208 | %patch0 -p1 |
25d9769d PZ |
209 | |
210 | %build | |
92790b60 | 211 | %meson build \ |
dccf1bfd | 212 | %{?with_apidocs:-Ddocs=true} \ |
3ec8ff71 | 213 | %{?with_eglstream:-Degl_device=true} \ |
c9580293 | 214 | %{?with_eglstream:-Dwayland_eglstream=true} \ |
5300656a | 215 | -Dgles2_libname=libGLESv2.so.2 \ |
92790b60 | 216 | -Dinstalled_tests=false \ |
0e83eb80 | 217 | -Dprofiler=%{__true_false sysprof} \ |
0457c1a2 | 218 | %{!?with_pipewire:-Dremote_desktop=false} \ |
a1856478 | 219 | -Dtests=%{__true_false tests} \ |
8c4d3481 JB |
220 | -Dxwayland_path=/usr/bin/Xwayland |
221 | ||
92790b60 | 222 | %ninja_build -C build |
25d9769d PZ |
223 | |
224 | %install | |
225 | rm -rf $RPM_BUILD_ROOT | |
226 | ||
92790b60 | 227 | %ninja_install -C build |
25d9769d | 228 | |
dccf1bfd | 229 | %if %{with apidocs} |
570e28ba JB |
230 | install -d $RPM_BUILD_ROOT%{_gidocdir} |
231 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/mutter-%{apiver}/doc $RPM_BUILD_ROOT%{_gidocdir}/mutter-%{apiver} | |
dccf1bfd JB |
232 | %endif |
233 | ||
d7ee70a8 | 234 | %find_lang %{name} |
25d9769d PZ |
235 | |
236 | %clean | |
237 | rm -rf $RPM_BUILD_ROOT | |
238 | ||
239 | %post | |
3ba512a2 | 240 | %glib_compile_schemas |
25d9769d | 241 | |
3ba512a2 | 242 | %postun |
3ba512a2 | 243 | %glib_compile_schemas |
25d9769d | 244 | |
2d2fcd08 JB |
245 | %post libs -p /sbin/ldconfig |
246 | %postun libs -p /sbin/ldconfig | |
247 | ||
25d9769d PZ |
248 | %files -f %{name}.lang |
249 | %defattr(644,root,root,755) | |
41c83d1a | 250 | %doc NEWS doc/*.txt |
25d9769d | 251 | %attr(755,root,root) %{_bindir}/mutter |
c0615e35 JB |
252 | %dir %{_libdir}/mutter-%{apiver}/plugins |
253 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/plugins/libdefault.so | |
41c83d1a | 254 | %attr(755,root,root) %{_libexecdir}/mutter-restart-helper |
b1557b20 | 255 | %attr(755,root,root) %{_libexecdir}/mutter-x11-frames |
168b9775 | 256 | /lib/udev/rules.d/61-mutter.rules |
3ba512a2 ŁK |
257 | %{_datadir}/GConf/gsettings/mutter-schemas.convert |
258 | %{_datadir}/glib-2.0/schemas/org.gnome.mutter.gschema.xml | |
41c83d1a | 259 | %{_datadir}/glib-2.0/schemas/org.gnome.mutter.wayland.gschema.xml |
61953114 | 260 | %{_datadir}/gnome-control-center/keybindings/50-mutter-wayland.xml |
3ba512a2 | 261 | %{_datadir}/gnome-control-center/keybindings/50-mutter-windows.xml |
d0d1f3ea AF |
262 | %{_datadir}/gnome-control-center/keybindings/50-mutter-navigation.xml |
263 | %{_datadir}/gnome-control-center/keybindings/50-mutter-system.xml | |
d7ee70a8 | 264 | %{_mandir}/man1/mutter.1* |
25d9769d | 265 | |
2d2fcd08 JB |
266 | %files libs |
267 | %defattr(644,root,root,755) | |
c0615e35 JB |
268 | %attr(755,root,root) %{_libdir}/libmutter-%{apiver}.so.*.*.* |
269 | %attr(755,root,root) %ghost %{_libdir}/libmutter-%{apiver}.so.0 | |
270 | %dir %{_libdir}/mutter-%{apiver} | |
271 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so.*.*.* | |
272 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so.0 | |
273 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so.*.*.* | |
274 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so.0 | |
c0615e35 JB |
275 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so.*.*.* |
276 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so.0 | |
1887785a JB |
277 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-mtk-%{apiver}.so.*.*.* |
278 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-mtk-%{apiver}.so.0 | |
2d2fcd08 | 279 | # intentionally installed in package-private dir |
c9580293 JB |
280 | %{_libdir}/mutter-%{apiver}/Cally-%{apiver}.typelib |
281 | %{_libdir}/mutter-%{apiver}/Clutter-%{apiver}.typelib | |
c9580293 JB |
282 | %{_libdir}/mutter-%{apiver}/Cogl-%{apiver}.typelib |
283 | %{_libdir}/mutter-%{apiver}/CoglPango-%{apiver}.typelib | |
284 | %{_libdir}/mutter-%{apiver}/Meta-%{apiver}.typelib | |
1887785a | 285 | %{_libdir}/mutter-%{apiver}/Mtk-%{apiver}.typelib |
2d2fcd08 | 286 | |
25d9769d PZ |
287 | %files devel |
288 | %defattr(644,root,root,755) | |
c0615e35 JB |
289 | %attr(755,root,root) %{_libdir}/libmutter-%{apiver}.so |
290 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so | |
291 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so | |
c0615e35 | 292 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so |
1887785a | 293 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-mtk-%{apiver}.so |
c0615e35 | 294 | %{_includedir}/mutter-%{apiver} |
d7ee70a8 | 295 | # intentionally installed in package-private dir |
c9580293 JB |
296 | %{_libdir}/mutter-%{apiver}/Cally-%{apiver}.gir |
297 | %{_libdir}/mutter-%{apiver}/Clutter-%{apiver}.gir | |
c9580293 JB |
298 | %{_libdir}/mutter-%{apiver}/Cogl-%{apiver}.gir |
299 | %{_libdir}/mutter-%{apiver}/CoglPango-%{apiver}.gir | |
300 | %{_libdir}/mutter-%{apiver}/Meta-%{apiver}.gir | |
1887785a | 301 | %{_libdir}/mutter-%{apiver}/Mtk-%{apiver}.gir |
c0615e35 JB |
302 | %{_pkgconfigdir}/libmutter-%{apiver}.pc |
303 | %{_pkgconfigdir}/mutter-clutter-%{apiver}.pc | |
c0615e35 JB |
304 | %{_pkgconfigdir}/mutter-cogl-%{apiver}.pc |
305 | %{_pkgconfigdir}/mutter-cogl-pango-%{apiver}.pc | |
1887785a | 306 | %{_pkgconfigdir}/mutter-mtk-%{apiver}.pc |
dccf1bfd JB |
307 | |
308 | %if %{with apidocs} | |
309 | %files apidocs | |
310 | %defattr(644,root,root,755) | |
570e28ba | 311 | %{_gidocdir}/mutter-%{apiver} |
dccf1bfd | 312 | %endif |