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