X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=mutter.spec;h=3af74f3829aed2d21781fcd688419467c5d2a0ee;hb=586b524;hp=46b4dc5922247460a1ee8b8542ab92bf2f76c6a7;hpb=e77449c4dd960f21599a9a1813d58f4c636fcac6;p=packages%2Fmutter.git diff --git a/mutter.spec b/mutter.spec index 46b4dc5..3af74f3 100644 --- a/mutter.spec +++ b/mutter.spec @@ -1,67 +1,84 @@ +# TODO: -Dxwayland_initfd=enabled when available in Xwayland release +# +# Conditional build +%bcond_without pipewire # remote desktop via pipewire +%bcond_with sysprof # build with tracing support +%bcond_with tests # run tests (causes infinite loop on builders) + Summary: Window and compositing manager based on Clutter Summary(pl.UTF-8): Zarządca okien i składania oparty na bibliotece Clutter Name: mutter -Version: 3.24.3 +Version: 3.38.2 Release: 1 License: GPL v2+ Group: X11/Window Managers -Source0: http://ftp.gnome.org/pub/GNOME/sources/mutter/3.24/%{name}-%{version}.tar.xz -# Source0-md5: c75af24cbebb69c874fbbcd33f7a44dc -URL: http://git.gnome.org/cgit/mutter +Source0: https://download.gnome.org/sources/mutter/3.38/%{name}-%{version}.tar.xz +# Source0-md5: 07307571f9f2bdb433894741222773e1 +Patch0: %{name}-no-xwayland.patch +URL: https://gitlab.gnome.org/GNOME/mutter BuildRequires: EGL-devel BuildRequires: OpenGL-GLX-devel -BuildRequires: Mesa-libgbm-devel >= 10.3 -BuildRequires: Mesa-libwayland-egl-devel +BuildRequires: Mesa-libgbm-devel >= 17.3 BuildRequires: atk-devel >= 1:2.6 -BuildRequires: autoconf >= 2.63 -BuildRequires: automake >= 1:1.11 BuildRequires: cairo-devel >= 1.10.0 BuildRequires: cairo-gobject-devel >= 1.14.0 +BuildRequires: dbus-devel +BuildRequires: fribidi-devel >= 1.0.0 BuildRequires: gdk-pixbuf2-devel >= 2.0 BuildRequires: gettext-tools >= 0.19.6 -BuildRequires: glib2-devel >= 1:2.50.0 +BuildRequires: glib2-devel >= 1:2.61.1 BuildRequires: gnome-desktop-devel >= 3.0 +BuildRequires: gnome-settings-daemon-devel BuildRequires: gobject-introspection-devel >= 1.40.0 -BuildRequires: gsettings-desktop-schemas-devel >= 3.22.0 +BuildRequires: graphene-devel >= 1.9.3 +BuildRequires: gsettings-desktop-schemas-devel >= 3.37.2 BuildRequires: gtk+3-devel >= 3.20.0 BuildRequires: json-glib-devel >= 0.12.0 BuildRequires: libcanberra-gtk3-devel >= 0.26 BuildRequires: libdrm-devel -BuildRequires: libinput-devel >= 1.4.0 -BuildRequires: libtool >= 2:2.2.6 +BuildRequires: libgudev-devel >= 232 +BuildRequires: libinput-devel >= 1.7 BuildRequires: libwacom-devel >= 0.13 # xcb-randr, xcb-res BuildRequires: libxcb-devel +BuildRequires: meson >= 0.51.0 +BuildRequires: ninja >= 1.5 BuildRequires: pango-devel >= 1:1.30 +%{?with_pipewire:BuildRequires: pipewire-devel >= 0.3.0} BuildRequires: pkgconfig >= 1:0.21 -BuildRequires: rpmbuild(macros) >= 1.98 +BuildRequires: rpmbuild(macros) >= 1.736 BuildRequires: startup-notification-devel >= 0.7 -BuildRequires: systemd-devel +%{?with_sysprof:BuildRequires: sysprof-devel >= 3.37.2} +# or elogind-devel +BuildRequires: systemd-devel >= 1:209 BuildRequires: tar >= 1:1.22 -BuildRequires: udev-glib-devel >= 136 +BuildRequires: udev-devel >= 1:228 BuildRequires: upower-devel >= 0.99.0 -BuildRequires: wayland-devel >= 1.6.90 -BuildRequires: wayland-protocols >= 1.7 +BuildRequires: wayland-devel >= 1.18 +BuildRequires: wayland-egl-devel +BuildRequires: wayland-protocols >= 1.19 BuildRequires: xkeyboard-config BuildRequires: xorg-lib-libICE-devel BuildRequires: xorg-lib-libSM-devel BuildRequires: xorg-lib-libX11-devel +BuildRequires: xorg-lib-libXau-devel BuildRequires: xorg-lib-libXcomposite-devel >= 0.4 BuildRequires: xorg-lib-libXcursor-devel BuildRequires: xorg-lib-libXdamage-devel BuildRequires: xorg-lib-libXext-devel BuildRequires: xorg-lib-libXfixes-devel >= 3 -BuildRequires: xorg-lib-libXi-devel >= 1.7 +BuildRequires: xorg-lib-libXi-devel >= 1.7.4 BuildRequires: xorg-lib-libXinerama-devel BuildRequires: xorg-lib-libXrandr-devel >= 1.5.0 BuildRequires: xorg-lib-libXrender-devel +BuildRequires: xorg-lib-libXtst-devel BuildRequires: xorg-lib-libxkbcommon-devel >= 0.4.3 -BuildRequires: xorg-lib-libxkbcommon-x11-devel +BuildRequires: xorg-lib-libxkbcommon-x11-devel >= 0.4.3 BuildRequires: xorg-lib-libxkbfile-devel BuildRequires: xz -Requires(post,postun): glib2 >= 1:2.50.0 +Requires(post,postun): glib2 >= 1:2.61.1 Requires: %{name}-libs = %{version}-%{release} -Requires: gsettings-desktop-schemas >= 3.22.0 +Requires: gsettings-desktop-schemas >= 3.37.2 Requires: zenity Provides: gnome-wm Obsoletes: mutter-apidocs < 3.18 @@ -69,6 +86,8 @@ Obsoletes: mutter-wayland < 3.14 Obsoletes: mutter-wayland-apidocs < 3.14 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define apiver 7 + %description Mutter is a window and compositing manager that displays and manages your desktop via OpenGL. Mutter combines a sophisticated display @@ -85,25 +104,29 @@ odziedziczoną z zarządcy okien Metacity. Summary: Mutter shared library Summary(pl.UTF-8): Biblioteka współdzielona zarządcy okien Mutter Group: Libraries -Requires: Mesa-libgbm >= 10.3 +Requires: Mesa-libgbm >= 17.3 Requires: atk >= 1:2.6 Requires: cairo >= 1.10.0 Requires: cairo-gobject >= 1.14.0 -Requires: glib2 >= 1:2.50.0 +Requires: fribidi >= 1.0.0 +Requires: glib2 >= 1:2.61.1 Requires: gnome-desktop >= 3.0 +Requires: graphene >= 1.9.3 Requires: gtk+3 >= 3.20.0 Requires: json-glib >= 0.12.0 Requires: libcanberra-gtk3 >= 0.26 -Requires: libinput >= 1.4.0 +Requires: libinput >= 1.7 Requires: libwacom >= 0.13 Requires: pango >= 1:1.30 +%{?with_pipewire:Requires: pipewire-libs >= 0.3.0} Requires: startup-notification >= 0.7 -Requires: udev-glib >= 136 +Requires: libgudev >= 232 +Requires: udev-libs >= 1:228 Requires: upower-libs >= 0.99.0 -Requires: wayland >= 1.6.90 +Requires: wayland >= 1.18 Requires: xorg-lib-libXcomposite >= 0.4 Requires: xorg-lib-libXfixes >= 3 -Requires: xorg-lib-libXi >= 1.7 +Requires: xorg-lib-libXi >= 1.7.4 Requires: xorg-lib-libXrandr >= 1.5.0 Obsoletes: mutter-wayland-libs < 3.14 Conflicts: mutter < 3.4.0-2 @@ -120,27 +143,30 @@ Summary(pl.UTF-8): Pakiet programistyczny do wtyczek zarządcy okien Mutter Group: X11/Development/Libraries Requires: %{name}-libs = %{version}-%{release} Requires: EGL-devel -Requires: Mesa-libgbm-devel >= 10.3 -Requires: Mesa-libwayland-egl-devel +Requires: Mesa-libgbm-devel >= 17.3 Requires: cairo-devel >= 1.10.0 Requires: cairo-gobject-devel >= 1.14.0 Requires: gdk-pixbuf2-devel >= 2.0 -Requires: glib2-devel >= 1:2.50.0 +Requires: glib2-devel >= 1:2.61.1 +Requires: graphene-devel >= 1.9.3 Requires: gtk+3-devel >= 3.20.0 Requires: libcanberra-gtk3-devel >= 0.26 Requires: libdrm-devel Requires: startup-notification-devel >= 0.7 -Requires: wayland-devel >= 1.6.90 +Requires: wayland-devel >= 1.8 +Requires: wayland-egl-devel Requires: xorg-lib-libX11-devel +Requires: xorg-lib-libXau-devel Requires: xorg-lib-libXcomposite-devel >= 0.4 Requires: xorg-lib-libXcursor-devel Requires: xorg-lib-libXdamage-devel Requires: xorg-lib-libXext-devel Requires: xorg-lib-libXfixes-devel >= 3 -Requires: xorg-lib-libXi-devel >= 1.7 +Requires: xorg-lib-libXi-devel >= 1.7.4 Requires: xorg-lib-libXrandr-devel >= 1.5.0 Requires: xorg-lib-libXrender-devel -Requires: xorg-lib-libxkbcommon-devel +Requires: xorg-lib-libXtst-devel +Requires: xorg-lib-libxkbcommon-devel >= 0.4.3 Obsoletes: mutter-wayland-devel < 3.14 %description devel @@ -152,28 +178,24 @@ Mutter. %prep %setup -q +%patch0 -p1 %build -%{__libtoolize} -%{__aclocal} -%{__autoconf} -%{__autoheader} -%{__automake} -%configure \ - ZENITY=/usr/bin/zenity \ - --enable-compile-warnings=maximum \ - --disable-silent-rules \ - --disable-static -%{__make} +%meson build \ + -Dgles2_libname=libGLESv2.so.2 \ + -Dinstalled_tests=false \ + -Dprofiler=%{__true_false sysprof} \ + %{!?with_pipewire:-Dremote_desktop=false} \ + -Dtests=%{__true_false tests} \ + -Dxwayland_initfd=disabled \ + -Dxwayland_path=/usr/bin/Xwayland + +%ninja_build -C build %install rm -rf $RPM_BUILD_ROOT -%{__make} install \ - DESTDIR=$RPM_BUILD_ROOT - -%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la -%{__rm} $RPM_BUILD_ROOT%{_libdir}/mutter/*.la +%ninja_install -C build %find_lang %{name} @@ -193,13 +215,15 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %doc NEWS doc/*.txt %attr(755,root,root) %{_bindir}/mutter -%dir %{_libdir}/mutter/plugins -%attr(755,root,root) %{_libdir}/mutter/plugins/default.so +%dir %{_libdir}/mutter-%{apiver}/plugins +%attr(755,root,root) %{_libdir}/mutter-%{apiver}/plugins/libdefault.so %attr(755,root,root) %{_libexecdir}/mutter-restart-helper +/lib/udev/rules.d/61-mutter.rules %{_desktopdir}/mutter.desktop %{_datadir}/GConf/gsettings/mutter-schemas.convert %{_datadir}/glib-2.0/schemas/org.gnome.mutter.gschema.xml %{_datadir}/glib-2.0/schemas/org.gnome.mutter.wayland.gschema.xml +%{_datadir}/gnome-control-center/keybindings/50-mutter-wayland.xml %{_datadir}/gnome-control-center/keybindings/50-mutter-windows.xml %{_datadir}/gnome-control-center/keybindings/50-mutter-navigation.xml %{_datadir}/gnome-control-center/keybindings/50-mutter-system.xml @@ -207,35 +231,39 @@ rm -rf $RPM_BUILD_ROOT %files libs %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libmutter-0.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libmutter-0.so.0 -%dir %{_libdir}/mutter -%attr(755,root,root) %{_libdir}/mutter/libmutter-clutter-0.so -%attr(755,root,root) %{_libdir}/mutter/libmutter-cogl-pango-0.so -%attr(755,root,root) %{_libdir}/mutter/libmutter-cogl-path-0.so -%attr(755,root,root) %{_libdir}/mutter/libmutter-cogl-0.so +%attr(755,root,root) %{_libdir}/libmutter-%{apiver}.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libmutter-%{apiver}.so.0 +%dir %{_libdir}/mutter-%{apiver} +%attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so.*.*.* +%attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so.0 +%attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so.*.*.* +%attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so.0 +%attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so.*.*.* +%attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so.0 # intentionally installed in package-private dir -%{_libdir}/mutter/Cally-*.typelib -%{_libdir}/mutter/Clutter-*.typelib -%{_libdir}/mutter/ClutterX11-*.typelib -%{_libdir}/mutter/Cogl-*.typelib -%{_libdir}/mutter/CoglPango-*.typelib -%{_libdir}/mutter/Meta-*.typelib +%{_libdir}/mutter-%{apiver}/Cally-*.typelib +%{_libdir}/mutter-%{apiver}/Clutter-*.typelib +%{_libdir}/mutter-%{apiver}/ClutterX11-*.typelib +%{_libdir}/mutter-%{apiver}/Cogl-*.typelib +%{_libdir}/mutter-%{apiver}/CoglPango-*.typelib +%{_libdir}/mutter-%{apiver}/Meta-*.typelib %files devel %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libmutter-0.so -%{_includedir}/mutter +%attr(755,root,root) %{_libdir}/libmutter-%{apiver}.so +%attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-clutter-%{apiver}.so +%attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-pango-%{apiver}.so +%attr(755,root,root) %{_libdir}/mutter-%{apiver}/libmutter-cogl-%{apiver}.so +%{_includedir}/mutter-%{apiver} # intentionally installed in package-private dir -%{_libdir}/mutter/Cally-*.gir -%{_libdir}/mutter/Clutter-*.gir -%{_libdir}/mutter/ClutterX11-*.gir -%{_libdir}/mutter/Cogl-*.gir -%{_libdir}/mutter/CoglPango-*.gir -%{_libdir}/mutter/Meta-*.gir -%{_pkgconfigdir}/libmutter-0.pc -%{_pkgconfigdir}/mutter-clutter-0.pc -%{_pkgconfigdir}/mutter-clutter-x11-0.pc -%{_pkgconfigdir}/mutter-cogl-0.pc -%{_pkgconfigdir}/mutter-cogl-pango-0.pc -%{_pkgconfigdir}/mutter-cogl-path-0.pc +%{_libdir}/mutter-%{apiver}/Cally-*.gir +%{_libdir}/mutter-%{apiver}/Clutter-*.gir +%{_libdir}/mutter-%{apiver}/ClutterX11-*.gir +%{_libdir}/mutter-%{apiver}/Cogl-*.gir +%{_libdir}/mutter-%{apiver}/CoglPango-*.gir +%{_libdir}/mutter-%{apiver}/Meta-*.gir +%{_pkgconfigdir}/libmutter-%{apiver}.pc +%{_pkgconfigdir}/mutter-clutter-%{apiver}.pc +%{_pkgconfigdir}/mutter-clutter-x11-%{apiver}.pc +%{_pkgconfigdir}/mutter-cogl-%{apiver}.pc +%{_pkgconfigdir}/mutter-cogl-pango-%{apiver}.pc