]>
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 |
80f01a76 | 12 | Version: 44.4 |
b488e34d | 13 | Release: 1 |
25d9769d PZ |
14 | License: GPL v2+ |
15 | Group: X11/Window Managers | |
b1557b20 | 16 | Source0: https://download.gnome.org/sources/mutter/44/%{name}-%{version}.tar.xz |
80f01a76 | 17 | # Source0-md5: 985f14046cbff834f5f7ba4e1bce4bad |
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 |
e9a83890 | 36 | BuildRequires: gnome-desktop-devel >= 3.0 |
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 | |
b1557b20 JB |
41 | BuildRequires: gtk4-devel >= 4.0.0 |
42 | BuildRequires: harfbuzz-devel >= 2.6 | |
587540dd | 43 | BuildRequires: json-glib-devel >= 0.12.0 |
b1557b20 JB |
44 | BuildRequires: lcms2-devel >= 2.6 |
45 | BuildRequires: libcanberra-devel >= 0.26 | |
7491ffac | 46 | BuildRequires: libdrm-devel |
8c4d3481 | 47 | BuildRequires: libgudev-devel >= 232 |
dccf1bfd | 48 | BuildRequires: libinput-devel >= 1.19.0 |
4e6754cd | 49 | BuildRequires: libwacom-devel >= 0.13 |
587540dd | 50 | # xcb-randr, xcb-res |
7491ffac | 51 | BuildRequires: libxcb-devel |
b1557b20 | 52 | BuildRequires: meson >= 0.58.0 |
8c4d3481 | 53 | BuildRequires: ninja >= 1.5 |
c9580293 | 54 | BuildRequires: pango-devel >= 1:1.46.0 |
dccf1bfd | 55 | %{?with_pipewire:BuildRequires: pipewire-devel >= 0.3.33} |
7491ffac | 56 | BuildRequires: pkgconfig >= 1:0.21 |
92790b60 | 57 | BuildRequires: rpmbuild(macros) >= 1.736 |
d7ee70a8 | 58 | BuildRequires: startup-notification-devel >= 0.7 |
a219dc67 | 59 | %{?with_sysprof:BuildRequires: sysprof-devel >= 3.37.2} |
5300656a JB |
60 | # or elogind-devel |
61 | BuildRequires: systemd-devel >= 1:209 | |
011c8734 | 62 | BuildRequires: tar >= 1:1.22 |
8c4d3481 | 63 | BuildRequires: udev-devel >= 1:228 |
b1557b20 | 64 | BuildRequires: wayland-devel >= 1.21 |
f949eba7 | 65 | BuildRequires: wayland-egl-devel |
b1557b20 | 66 | BuildRequires: wayland-protocols >= 1.31 |
41c83d1a | 67 | BuildRequires: xkeyboard-config |
d7ee70a8 MB |
68 | BuildRequires: xorg-lib-libICE-devel |
69 | BuildRequires: xorg-lib-libSM-devel | |
b1557b20 | 70 | BuildRequires: xorg-lib-libX11-devel >= 1.7.0 |
0e83eb80 | 71 | BuildRequires: xorg-lib-libXau-devel |
587540dd | 72 | BuildRequires: xorg-lib-libXcomposite-devel >= 0.4 |
25d9769d PZ |
73 | BuildRequires: xorg-lib-libXcursor-devel |
74 | BuildRequires: xorg-lib-libXdamage-devel | |
75 | BuildRequires: xorg-lib-libXext-devel | |
dccf1bfd | 76 | BuildRequires: xorg-lib-libXfixes-devel >= 6 |
0e83eb80 | 77 | BuildRequires: xorg-lib-libXi-devel >= 1.7.4 |
d7ee70a8 | 78 | BuildRequires: xorg-lib-libXinerama-devel |
4e6754cd | 79 | BuildRequires: xorg-lib-libXrandr-devel >= 1.5.0 |
25d9769d | 80 | BuildRequires: xorg-lib-libXrender-devel |
0e83eb80 | 81 | BuildRequires: xorg-lib-libXtst-devel |
3d470aa2 | 82 | BuildRequires: xorg-lib-libxkbcommon-devel >= 0.4.3 |
8c4d3481 | 83 | BuildRequires: xorg-lib-libxkbcommon-x11-devel >= 0.4.3 |
7491ffac | 84 | BuildRequires: xorg-lib-libxkbfile-devel |
db933be0 | 85 | BuildRequires: xorg-xserver-Xwayland-devel >= 21.1 |
4aab8c13 JB |
86 | # /usr/bin/cvt |
87 | BuildRequires: xorg-xserver-server-tools | |
011c8734 | 88 | BuildRequires: xz |
b1557b20 | 89 | Requires(post,postun): glib2 >= 1:2.75.1 |
2d2fcd08 | 90 | Requires: %{name}-libs = %{version}-%{release} |
b1557b20 | 91 | Requires: colord >= 1.4.5 |
c9580293 | 92 | Requires: gsettings-desktop-schemas >= 40 |
b1557b20 | 93 | Requires: lcms2 >= 2.6 |
25d9769d | 94 | Requires: zenity |
d7ee70a8 | 95 | Provides: gnome-wm |
03eb186a | 96 | Obsoletes: mutter-apidocs < 3.18 |
7491ffac | 97 | Obsoletes: mutter-wayland < 3.14 |
03eb186a | 98 | Obsoletes: mutter-wayland-apidocs < 3.14 |
25d9769d PZ |
99 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
100 | ||
b1557b20 | 101 | %define apiver 12 |
c0615e35 | 102 | |
25d9769d | 103 | %description |
d7ee70a8 MB |
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. | |
25d9769d | 108 | |
2d2fcd08 JB |
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. | |
114 | ||
115 | %package libs | |
116 | Summary: Mutter shared library | |
117 | Summary(pl.UTF-8): Biblioteka współdzielona zarządcy okien Mutter | |
118 | Group: Libraries | |
b1557b20 | 119 | Requires: Mesa-libgbm >= 21.3 |
587540dd | 120 | Requires: atk >= 1:2.6 |
0591ebfb | 121 | Requires: cairo >= 1.10.0 |
587540dd | 122 | Requires: cairo-gobject >= 1.14.0 |
5300656a | 123 | Requires: fribidi >= 1.0.0 |
b1557b20 | 124 | Requires: glib2 >= 1:2.75.1 |
e9a83890 | 125 | Requires: gnome-desktop >= 3.0 |
c9580293 | 126 | Requires: graphene >= 1.10.2 |
a936f533 | 127 | Requires: gtk+3 >= 3.20.0 |
587540dd | 128 | Requires: json-glib >= 0.12.0 |
2d2fcd08 | 129 | Requires: libcanberra-gtk3 >= 0.26 |
dccf1bfd | 130 | Requires: libinput >= 1.19.0 |
587540dd | 131 | Requires: libwacom >= 0.13 |
c9580293 | 132 | Requires: pango >= 1:1.46.0 |
dccf1bfd | 133 | %{?with_pipewire:Requires: pipewire-libs >= 0.3.33} |
2d2fcd08 | 134 | Requires: startup-notification >= 0.7 |
d7034200 | 135 | Requires: libgudev >= 232 |
5300656a | 136 | Requires: udev-libs >= 1:228 |
b1557b20 JB |
137 | Requires: wayland >= 1.21 |
138 | Requires: xorg-lib-libX11 >= 1.7.0 | |
587540dd | 139 | Requires: xorg-lib-libXcomposite >= 0.4 |
dccf1bfd | 140 | Requires: xorg-lib-libXfixes >= 6 |
0e83eb80 | 141 | Requires: xorg-lib-libXi >= 1.7.4 |
587540dd | 142 | Requires: xorg-lib-libXrandr >= 1.5.0 |
7491ffac | 143 | Obsoletes: mutter-wayland-libs < 3.14 |
2d2fcd08 JB |
144 | Conflicts: mutter < 3.4.0-2 |
145 | ||
146 | %description libs | |
147 | Mutter shared library. | |
148 | ||
149 | %description libs -l pl.UTF-8 | |
150 | Biblioteka współdzielona zarządcy okien i składania Mutter. | |
151 | ||
25d9769d | 152 | %package devel |
d7ee70a8 | 153 | Summary: Development package for Mutter |
2d2fcd08 | 154 | Summary(pl.UTF-8): Pakiet programistyczny do wtyczek zarządcy okien Mutter |
d7ee70a8 | 155 | Group: X11/Development/Libraries |
2d2fcd08 | 156 | Requires: %{name}-libs = %{version}-%{release} |
587540dd | 157 | Requires: EGL-devel |
b1557b20 | 158 | Requires: Mesa-libgbm-devel >= 21.3 |
0591ebfb | 159 | Requires: cairo-devel >= 1.10.0 |
587540dd JB |
160 | Requires: cairo-gobject-devel >= 1.14.0 |
161 | Requires: gdk-pixbuf2-devel >= 2.0 | |
b1557b20 | 162 | Requires: glib2-devel >= 1:2.75.1 |
c9580293 | 163 | Requires: graphene-devel >= 1.10.2 |
a936f533 | 164 | Requires: gtk+3-devel >= 3.20.0 |
2d2fcd08 | 165 | Requires: libcanberra-gtk3-devel >= 0.26 |
587540dd | 166 | Requires: libdrm-devel |
2d2fcd08 | 167 | Requires: startup-notification-devel >= 0.7 |
b1557b20 | 168 | Requires: wayland-devel >= 1.21 |
f949eba7 | 169 | Requires: wayland-egl-devel |
b1557b20 | 170 | Requires: xorg-lib-libX11-devel >= 1.7.0 |
0e83eb80 | 171 | Requires: xorg-lib-libXau-devel |
587540dd | 172 | Requires: xorg-lib-libXcomposite-devel >= 0.4 |
2d2fcd08 JB |
173 | Requires: xorg-lib-libXcursor-devel |
174 | Requires: xorg-lib-libXdamage-devel | |
587540dd | 175 | Requires: xorg-lib-libXext-devel |
dccf1bfd | 176 | Requires: xorg-lib-libXfixes-devel >= 6 |
0e83eb80 | 177 | Requires: xorg-lib-libXi-devel >= 1.7.4 |
587540dd | 178 | Requires: xorg-lib-libXrandr-devel >= 1.5.0 |
2d2fcd08 | 179 | Requires: xorg-lib-libXrender-devel |
0e83eb80 | 180 | Requires: xorg-lib-libXtst-devel |
8c4d3481 | 181 | Requires: xorg-lib-libxkbcommon-devel >= 0.4.3 |
7491ffac | 182 | Obsoletes: mutter-wayland-devel < 3.14 |
25d9769d PZ |
183 | |
184 | %description devel | |
2d2fcd08 JB |
185 | Header files for developing Mutter plugins. |
186 | ||
187 | %description devel -l pl.UTF-8 | |
188 | Pliki nagłówkowe do tworzenia wtyczek zarządcy okien i składania | |
189 | Mutter. | |
25d9769d | 190 | |
dccf1bfd JB |
191 | %package apidocs |
192 | Summary: API documentation for Mutter libaries | |
193 | Summary(pl.UTF-8): Dokumentacja API bibliotek Mutter | |
194 | Group: Documentation | |
195 | BuildArch: noarch | |
196 | ||
197 | %description apidocs | |
198 | API documentation for Mutter libaries. | |
199 | ||
200 | %description apidocs -l pl.UTF-8 | |
201 | Dokumentacja API bibliotek Mutter. | |
202 | ||
25d9769d PZ |
203 | %prep |
204 | %setup -q | |
586b5247 | 205 | %patch0 -p1 |
25d9769d PZ |
206 | |
207 | %build | |
92790b60 | 208 | %meson build \ |
dccf1bfd | 209 | %{?with_apidocs:-Ddocs=true} \ |
3ec8ff71 | 210 | %{?with_eglstream:-Degl_device=true} \ |
c9580293 | 211 | %{?with_eglstream:-Dwayland_eglstream=true} \ |
5300656a | 212 | -Dgles2_libname=libGLESv2.so.2 \ |
92790b60 | 213 | -Dinstalled_tests=false \ |
0e83eb80 | 214 | -Dprofiler=%{__true_false sysprof} \ |
0457c1a2 | 215 | %{!?with_pipewire:-Dremote_desktop=false} \ |
a1856478 | 216 | -Dtests=%{__true_false tests} \ |
8c4d3481 JB |
217 | -Dxwayland_path=/usr/bin/Xwayland |
218 | ||
92790b60 | 219 | %ninja_build -C build |
25d9769d PZ |
220 | |
221 | %install | |
222 | rm -rf $RPM_BUILD_ROOT | |
223 | ||
92790b60 | 224 | %ninja_install -C build |
25d9769d | 225 | |
dccf1bfd JB |
226 | %if %{with apidocs} |
227 | # FIXME: where to package gi-docgen generated docs? | |
228 | install -d $RPM_BUILD_ROOT%{_gtkdocdir} | |
b1557b20 | 229 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/mutter-%{apiver}/doc $RPM_BUILD_ROOT%{_gtkdocdir}/mutter-%{apiver} |
dccf1bfd JB |
230 | %endif |
231 | ||
d7ee70a8 | 232 | %find_lang %{name} |
25d9769d PZ |
233 | |
234 | %clean | |
235 | rm -rf $RPM_BUILD_ROOT | |
236 | ||
237 | %post | |
3ba512a2 | 238 | %glib_compile_schemas |
25d9769d | 239 | |
3ba512a2 | 240 | %postun |
3ba512a2 | 241 | %glib_compile_schemas |
25d9769d | 242 | |
2d2fcd08 JB |
243 | %post libs -p /sbin/ldconfig |
244 | %postun libs -p /sbin/ldconfig | |
245 | ||
25d9769d PZ |
246 | %files -f %{name}.lang |
247 | %defattr(644,root,root,755) | |
41c83d1a | 248 | %doc NEWS doc/*.txt |
25d9769d | 249 | %attr(755,root,root) %{_bindir}/mutter |
c0615e35 JB |
250 | %dir %{_libdir}/mutter-%{apiver}/plugins |
251 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/plugins/libdefault.so | |
41c83d1a | 252 | %attr(755,root,root) %{_libexecdir}/mutter-restart-helper |
b1557b20 | 253 | %attr(755,root,root) %{_libexecdir}/mutter-x11-frames |
168b9775 | 254 | /lib/udev/rules.d/61-mutter.rules |
3ba512a2 ŁK |
255 | %{_datadir}/GConf/gsettings/mutter-schemas.convert |
256 | %{_datadir}/glib-2.0/schemas/org.gnome.mutter.gschema.xml | |
41c83d1a | 257 | %{_datadir}/glib-2.0/schemas/org.gnome.mutter.wayland.gschema.xml |
61953114 | 258 | %{_datadir}/gnome-control-center/keybindings/50-mutter-wayland.xml |
3ba512a2 | 259 | %{_datadir}/gnome-control-center/keybindings/50-mutter-windows.xml |
d0d1f3ea AF |
260 | %{_datadir}/gnome-control-center/keybindings/50-mutter-navigation.xml |
261 | %{_datadir}/gnome-control-center/keybindings/50-mutter-system.xml | |
d7ee70a8 | 262 | %{_mandir}/man1/mutter.1* |
25d9769d | 263 | |
2d2fcd08 JB |
264 | %files libs |
265 | %defattr(644,root,root,755) | |
c0615e35 JB |
266 | %attr(755,root,root) %{_libdir}/libmutter-%{apiver}.so.*.*.* |
267 | %attr(755,root,root) %ghost %{_libdir}/libmutter-%{apiver}.so.0 | |
268 | %dir %{_libdir}/mutter-%{apiver} | |
269 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so.*.*.* | |
270 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so.0 | |
271 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so.*.*.* | |
272 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so.0 | |
c0615e35 JB |
273 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so.*.*.* |
274 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so.0 | |
2d2fcd08 | 275 | # intentionally installed in package-private dir |
c9580293 JB |
276 | %{_libdir}/mutter-%{apiver}/Cally-%{apiver}.typelib |
277 | %{_libdir}/mutter-%{apiver}/Clutter-%{apiver}.typelib | |
c9580293 JB |
278 | %{_libdir}/mutter-%{apiver}/Cogl-%{apiver}.typelib |
279 | %{_libdir}/mutter-%{apiver}/CoglPango-%{apiver}.typelib | |
280 | %{_libdir}/mutter-%{apiver}/Meta-%{apiver}.typelib | |
2d2fcd08 | 281 | |
25d9769d PZ |
282 | %files devel |
283 | %defattr(644,root,root,755) | |
c0615e35 JB |
284 | %attr(755,root,root) %{_libdir}/libmutter-%{apiver}.so |
285 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so | |
286 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so | |
c0615e35 JB |
287 | %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so |
288 | %{_includedir}/mutter-%{apiver} | |
d7ee70a8 | 289 | # intentionally installed in package-private dir |
c9580293 JB |
290 | %{_libdir}/mutter-%{apiver}/Cally-%{apiver}.gir |
291 | %{_libdir}/mutter-%{apiver}/Clutter-%{apiver}.gir | |
c9580293 JB |
292 | %{_libdir}/mutter-%{apiver}/Cogl-%{apiver}.gir |
293 | %{_libdir}/mutter-%{apiver}/CoglPango-%{apiver}.gir | |
294 | %{_libdir}/mutter-%{apiver}/Meta-%{apiver}.gir | |
c0615e35 JB |
295 | %{_pkgconfigdir}/libmutter-%{apiver}.pc |
296 | %{_pkgconfigdir}/mutter-clutter-%{apiver}.pc | |
c0615e35 JB |
297 | %{_pkgconfigdir}/mutter-cogl-%{apiver}.pc |
298 | %{_pkgconfigdir}/mutter-cogl-pango-%{apiver}.pc | |
dccf1bfd JB |
299 | |
300 | %if %{with apidocs} | |
301 | %files apidocs | |
302 | %defattr(644,root,root,755) | |
303 | %{_gtkdocdir}/mutter-%{apiver} | |
304 | %endif |