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