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