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