]> git.pld-linux.org Git - packages/mutter.git/blob - mutter.spec
- versioned libeis dependency
[packages/mutter.git] / mutter.spec
1 #
2 # Conditional build
3 %bcond_with     eglstream       # Wayland EGLStream support
4 %bcond_without  pipewire        # remote desktop via pipewire
5 %bcond_with     sysprof         # build with tracing support
6 %bcond_without  apidocs         # API documentation
7 %bcond_with     tests           # run tests (causes infinite loop on builders)
8
9 Summary:        Window and compositing manager based on Clutter
10 Summary(pl.UTF-8):      Zarządca okien i składania oparty na bibliotece Clutter
11 Name:           mutter
12 Version:        45.2
13 Release:        1
14 License:        GPL v2+
15 Group:          X11/Window Managers
16 Source0:        https://download.gnome.org/sources/mutter/45/%{name}-%{version}.tar.xz
17 # Source0-md5:  5e210826424ccd997dc61ca42000872b
18 Patch0:         %{name}-deps.patch
19 URL:            https://gitlab.gnome.org/GNOME/mutter
20 BuildRequires:  EGL-devel
21 # <EGL/eglmesaext.h>
22 BuildRequires:  Mesa-libEGL-devel
23 BuildRequires:  Mesa-libgbm-devel >= 21.3
24 BuildRequires:  OpenGL-GLX-devel
25 BuildRequires:  atk-devel >= 1:2.6
26 BuildRequires:  cairo-devel >= 1.10.0
27 BuildRequires:  cairo-gobject-devel >= 1.14.0
28 BuildRequires:  colord-devel >= 1.4.5
29 BuildRequires:  dbus-devel
30 %{?with_eglstream:BuildRequires:        egl-wayland-devel}
31 BuildRequires:  fribidi-devel >= 1.0.0
32 BuildRequires:  gdk-pixbuf2-devel >= 2.0
33 BuildRequires:  gettext-tools >= 0.19.6
34 %{?with_apidocs:BuildRequires:  gi-docgen >= 2021.1}
35 BuildRequires:  glib2-devel >= 1:2.75.1
36 BuildRequires:  gnome-desktop4-devel >= 42
37 BuildRequires:  gnome-settings-daemon-devel
38 BuildRequires:  gobject-introspection-devel >= 1.40.0
39 BuildRequires:  graphene-devel >= 1.10.2
40 BuildRequires:  gsettings-desktop-schemas-devel >= 40
41 %{?with_tests:BuildRequires:    gtk+3-devel >= 3.19.8}
42 BuildRequires:  gtk4-devel >= 4.0.0
43 BuildRequires:  harfbuzz-devel >= 2.6
44 BuildRequires:  json-glib-devel >= 0.12.0
45 BuildRequires:  lcms2-devel >= 2.6
46 BuildRequires:  libcanberra-devel >= 0.26
47 BuildRequires:  libdisplay-info-devel
48 BuildRequires:  libdrm-devel
49 BuildRequires:  libei-devel >= 1.1
50 BuildRequires:  libeis-devel >= 1.1
51 BuildRequires:  libgudev-devel >= 232
52 BuildRequires:  libinput-devel >= 1.19.0
53 BuildRequires:  libwacom-devel >= 0.13
54 # xcb-randr, xcb-res
55 BuildRequires:  libxcb-devel
56 BuildRequires:  meson >= 0.60.0
57 BuildRequires:  ninja >= 1.5
58 BuildRequires:  pango-devel >= 1:1.46.0
59 %{?with_pipewire:BuildRequires: pipewire-devel >= 0.3.33}
60 BuildRequires:  pkgconfig >= 1:0.21
61 BuildRequires:  rpmbuild(macros) >= 2.029
62 BuildRequires:  startup-notification-devel >= 0.7
63 %{?with_sysprof:BuildRequires:  sysprof-devel >= 3.37.2}
64 # or elogind-devel
65 BuildRequires:  systemd-devel >= 1:209
66 BuildRequires:  tar >= 1:1.22
67 BuildRequires:  udev-devel >= 1:228
68 BuildRequires:  wayland-devel >= 1.21
69 BuildRequires:  wayland-egl-devel
70 BuildRequires:  wayland-protocols >= 1.32
71 BuildRequires:  xkeyboard-config
72 BuildRequires:  xorg-lib-libICE-devel
73 BuildRequires:  xorg-lib-libSM-devel
74 BuildRequires:  xorg-lib-libX11-devel >= 1.7.0
75 BuildRequires:  xorg-lib-libXau-devel
76 BuildRequires:  xorg-lib-libXcomposite-devel >= 0.4
77 BuildRequires:  xorg-lib-libXcursor-devel
78 BuildRequires:  xorg-lib-libXdamage-devel
79 BuildRequires:  xorg-lib-libXext-devel
80 BuildRequires:  xorg-lib-libXfixes-devel >= 6
81 BuildRequires:  xorg-lib-libXi-devel >= 1.7.4
82 BuildRequires:  xorg-lib-libXinerama-devel
83 BuildRequires:  xorg-lib-libXrandr-devel >= 1.5.0
84 BuildRequires:  xorg-lib-libXrender-devel
85 BuildRequires:  xorg-lib-libXtst-devel
86 BuildRequires:  xorg-lib-libxkbcommon-devel >= 0.4.3
87 BuildRequires:  xorg-lib-libxkbcommon-x11-devel >= 0.4.3
88 BuildRequires:  xorg-lib-libxkbfile-devel
89 BuildRequires:  xorg-xserver-Xwayland-devel >= 21.1
90 # /usr/bin/cvt
91 BuildRequires:  xorg-xserver-server-tools
92 BuildRequires:  xz
93 Requires(post,postun):  glib2 >= 1:2.75.1
94 Requires:       %{name}-libs = %{version}-%{release}
95 Requires:       colord >= 1.4.5
96 Requires:       gsettings-desktop-schemas >= 40
97 Requires:       lcms2 >= 2.6
98 Requires:       zenity
99 Provides:       gnome-wm
100 Obsoletes:      mutter-apidocs < 3.18
101 Obsoletes:      mutter-wayland < 3.14
102 Obsoletes:      mutter-wayland-apidocs < 3.14
103 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
104
105 %define         apiver          13
106
107 %description
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.
112
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
123 Requires:       Mesa-libgbm >= 21.3
124 Requires:       atk >= 1:2.6
125 Requires:       cairo >= 1.10.0
126 Requires:       cairo-gobject >= 1.14.0
127 Requires:       fribidi >= 1.0.0
128 Requires:       glib2 >= 1:2.75.1
129 Requires:       gnome-desktop4 >= 42
130 Requires:       graphene >= 1.10.2
131 Requires:       json-glib >= 0.12.0
132 Requires:       libcanberra >= 0.26
133 Requires:       libeis >= 1.1
134 Requires:       libinput >= 1.19.0
135 Requires:       libwacom >= 0.13
136 Requires:       pango >= 1:1.46.0
137 %{?with_pipewire:Requires:      pipewire-libs >= 0.3.33}
138 Requires:       startup-notification >= 0.7
139 Requires:       libgudev >= 232
140 Requires:       udev-libs >= 1:228
141 Requires:       wayland >= 1.21
142 Requires:       xorg-lib-libX11 >= 1.7.0
143 Requires:       xorg-lib-libXcomposite >= 0.4
144 Requires:       xorg-lib-libXfixes >= 6
145 Requires:       xorg-lib-libXi >= 1.7.4
146 Requires:       xorg-lib-libXrandr >= 1.5.0
147 Obsoletes:      mutter-wayland-libs < 3.14
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
156 %package devel
157 Summary:        Development package for Mutter
158 Summary(pl.UTF-8):      Pakiet programistyczny do wtyczek zarządcy okien Mutter
159 Group:          X11/Development/Libraries
160 Requires:       %{name}-libs = %{version}-%{release}
161 Requires:       EGL-devel
162 Requires:       Mesa-libgbm-devel >= 21.3
163 Requires:       cairo-devel >= 1.10.0
164 Requires:       cairo-gobject-devel >= 1.14.0
165 Requires:       gdk-pixbuf2-devel >= 2.0
166 Requires:       glib2-devel >= 1:2.75.1
167 Requires:       graphene-devel >= 1.10.2
168 Requires:       libcanberra-devel >= 0.26
169 Requires:       libdrm-devel
170 Requires:       startup-notification-devel >= 0.7
171 Requires:       wayland-devel >= 1.21
172 Requires:       wayland-egl-devel
173 Requires:       xorg-lib-libX11-devel >= 1.7.0
174 Requires:       xorg-lib-libXau-devel
175 Requires:       xorg-lib-libXcomposite-devel >= 0.4
176 Requires:       xorg-lib-libXcursor-devel
177 Requires:       xorg-lib-libXdamage-devel
178 Requires:       xorg-lib-libXext-devel
179 Requires:       xorg-lib-libXfixes-devel >= 6
180 Requires:       xorg-lib-libXi-devel >= 1.7.4
181 Requires:       xorg-lib-libXrandr-devel >= 1.5.0
182 Requires:       xorg-lib-libXrender-devel
183 Requires:       xorg-lib-libXtst-devel
184 Requires:       xorg-lib-libxkbcommon-devel >= 0.4.3
185 Obsoletes:      mutter-wayland-devel < 3.14
186
187 %description devel
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.
193
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
206 %prep
207 %setup -q
208 %patch0 -p1
209
210 %build
211 %meson build \
212         %{?with_apidocs:-Ddocs=true} \
213         %{?with_eglstream:-Degl_device=true} \
214         %{?with_eglstream:-Dwayland_eglstream=true} \
215         -Dgles2_libname=libGLESv2.so.2 \
216         -Dinstalled_tests=false \
217         -Dprofiler=%{__true_false sysprof} \
218         %{!?with_pipewire:-Dremote_desktop=false} \
219         -Dtests=%{__true_false tests} \
220         -Dxwayland_path=/usr/bin/Xwayland
221
222 %ninja_build -C build
223
224 %install
225 rm -rf $RPM_BUILD_ROOT
226
227 %ninja_install -C build
228
229 %if %{with apidocs}
230 install -d $RPM_BUILD_ROOT%{_gidocdir}
231 %{__mv} $RPM_BUILD_ROOT%{_datadir}/mutter-%{apiver}/doc $RPM_BUILD_ROOT%{_gidocdir}/mutter-%{apiver}
232 %endif
233
234 %find_lang %{name}
235
236 %clean
237 rm -rf $RPM_BUILD_ROOT
238
239 %post
240 %glib_compile_schemas
241
242 %postun
243 %glib_compile_schemas
244
245 %post   libs -p /sbin/ldconfig
246 %postun libs -p /sbin/ldconfig
247
248 %files -f %{name}.lang
249 %defattr(644,root,root,755)
250 %doc NEWS doc/*.txt
251 %attr(755,root,root) %{_bindir}/mutter
252 %dir %{_libdir}/mutter-%{apiver}/plugins
253 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/plugins/libdefault.so
254 %attr(755,root,root) %{_libexecdir}/mutter-restart-helper
255 %attr(755,root,root) %{_libexecdir}/mutter-x11-frames
256 /lib/udev/rules.d/61-mutter.rules
257 %{_datadir}/GConf/gsettings/mutter-schemas.convert
258 %{_datadir}/glib-2.0/schemas/org.gnome.mutter.gschema.xml
259 %{_datadir}/glib-2.0/schemas/org.gnome.mutter.wayland.gschema.xml
260 %{_datadir}/gnome-control-center/keybindings/50-mutter-wayland.xml
261 %{_datadir}/gnome-control-center/keybindings/50-mutter-windows.xml
262 %{_datadir}/gnome-control-center/keybindings/50-mutter-navigation.xml
263 %{_datadir}/gnome-control-center/keybindings/50-mutter-system.xml
264 %{_mandir}/man1/mutter.1*
265
266 %files libs
267 %defattr(644,root,root,755)
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
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
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
279 # intentionally installed in package-private dir
280 %{_libdir}/mutter-%{apiver}/Cally-%{apiver}.typelib
281 %{_libdir}/mutter-%{apiver}/Clutter-%{apiver}.typelib
282 %{_libdir}/mutter-%{apiver}/Cogl-%{apiver}.typelib
283 %{_libdir}/mutter-%{apiver}/CoglPango-%{apiver}.typelib
284 %{_libdir}/mutter-%{apiver}/Meta-%{apiver}.typelib
285 %{_libdir}/mutter-%{apiver}/Mtk-%{apiver}.typelib
286
287 %files devel
288 %defattr(644,root,root,755)
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
292 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so
293 %attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-mtk-%{apiver}.so
294 %{_includedir}/mutter-%{apiver}
295 # intentionally installed in package-private dir
296 %{_libdir}/mutter-%{apiver}/Cally-%{apiver}.gir
297 %{_libdir}/mutter-%{apiver}/Clutter-%{apiver}.gir
298 %{_libdir}/mutter-%{apiver}/Cogl-%{apiver}.gir
299 %{_libdir}/mutter-%{apiver}/CoglPango-%{apiver}.gir
300 %{_libdir}/mutter-%{apiver}/Meta-%{apiver}.gir
301 %{_libdir}/mutter-%{apiver}/Mtk-%{apiver}.gir
302 %{_pkgconfigdir}/libmutter-%{apiver}.pc
303 %{_pkgconfigdir}/mutter-clutter-%{apiver}.pc
304 %{_pkgconfigdir}/mutter-cogl-%{apiver}.pc
305 %{_pkgconfigdir}/mutter-cogl-pango-%{apiver}.pc
306 %{_pkgconfigdir}/mutter-mtk-%{apiver}.pc
307
308 %if %{with apidocs}
309 %files apidocs
310 %defattr(644,root,root,755)
311 %{_gidocdir}/mutter-%{apiver}
312 %endif
This page took 0.079476 seconds and 3 git commands to generate.