]> git.pld-linux.org Git - packages/mutter.git/blobdiff - mutter.spec
- updated to 40.1
[packages/mutter.git] / mutter.spec
index b24215e5397fe1d0b9273a38a9f8ac84b5c6c08d..890139310ebd86b05cfe9d0d9f176267b9104f85 100644 (file)
@@ -1,63 +1,87 @@
+# TODO: use xorg-xserver-Xwayland-devel >= 21.1 instead of no-xwayland patch after finishing xorg-xserver-Xwayland.spec
+#
+# Conditional build
+%bcond_with    eglstream       # Wayland EGLStream support
+%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.22.2
+Version:       40.1
 Release:       1
 License:       GPL v2+
 Group:         X11/Window Managers
-Source0:       http://ftp.gnome.org/pub/GNOME/sources/mutter/3.22/%{name}-%{version}.tar.xz
-# Source0-md5: d081fc259aaa171f0b8f1aea855217ac
-URL:           http://git.gnome.org/cgit/mutter
-BuildRequires: Mesa-libgbm-devel >= 10.3
-BuildRequires: autoconf >= 2.62
-BuildRequires: automake >= 1:1.11
+Source0:       https://download.gnome.org/sources/mutter/40/%{name}-%{version}.tar.xz
+# Source0-md5: 84beb760caa91baad7838260593e488a
+Patch0:                %{name}-no-xwayland.patch
+Patch1:                %{name}-deps.patch
+URL:           https://gitlab.gnome.org/GNOME/mutter
+BuildRequires: EGL-devel
+BuildRequires: OpenGL-GLX-devel
+BuildRequires: Mesa-libgbm-devel >= 17.3
+BuildRequires: atk-devel >= 1:2.6
 BuildRequires: cairo-devel >= 1.10.0
-BuildRequires: gdk-pixbuf2-devel
-BuildRequires: gettext-tools
-BuildRequires: glib2-devel >= 1:2.50.0
-BuildRequires: gnome-common
+BuildRequires: cairo-gobject-devel >= 1.14.0
+BuildRequires: dbus-devel
+%{?with_eglstream:BuildRequires:       egl-wayland-devel}
+BuildRequires: fribidi-devel >= 1.0.0
+BuildRequires: gdk-pixbuf2-devel >= 2.0
+BuildRequires: gettext-tools >= 0.19.6
+BuildRequires: glib2-devel >= 1:2.67.3
 BuildRequires: gnome-desktop-devel >= 3.0
-BuildRequires: gobject-introspection-devel >= 0.10.0
-BuildRequires: gsettings-desktop-schemas-devel >= 3.22.0
+BuildRequires: gnome-settings-daemon-devel
+BuildRequires: gobject-introspection-devel >= 1.40.0
+BuildRequires: graphene-devel >= 1.10.2
+BuildRequires: gsettings-desktop-schemas-devel >= 40
 BuildRequires: gtk+3-devel >= 3.20.0
-BuildRequires: json-glib-devel
+BuildRequires: json-glib-devel >= 0.12.0
 BuildRequires: libcanberra-gtk3-devel >= 0.26
 BuildRequires: libdrm-devel
-BuildRequires: libinput-devel
-BuildRequires: libtool >= 2:2.2.6
+BuildRequires: libgudev-devel >= 232
+BuildRequires: libinput-devel >= 1.15.0
 BuildRequires: libwacom-devel >= 0.13
-# xcb-randr
+# xcb-randr, xcb-res
 BuildRequires: libxcb-devel
-BuildRequires: pango-devel >= 1:1.2.0
+BuildRequires: meson >= 0.51.0
+BuildRequires: ninja >= 1.5
+BuildRequires: pango-devel >= 1:1.46.0
+%{?with_pipewire:BuildRequires:        pipewire-devel >= 0.3.21}
 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
+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-libXcomposite-devel >= 0.2
+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
-BuildRequires: xorg-lib-libXi-devel >= 1.7
+BuildRequires: xorg-lib-libXfixes-devel >= 3
+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.35.1
+Requires(post,postun): glib2 >= 1:2.67.3
 Requires:      %{name}-libs = %{version}-%{release}
-Requires:      gsettings-desktop-schemas >= 3.22.0
+Requires:      gsettings-desktop-schemas >= 40
 Requires:      zenity
 Provides:      gnome-wm
 Obsoletes:     mutter-apidocs < 3.18
@@ -65,6 +89,8 @@ Obsoletes:    mutter-wayland < 3.14
 Obsoletes:     mutter-wayland-apidocs < 3.14
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                apiver          8
+
 %description
 Mutter is a window and compositing manager that displays and manages
 your desktop via OpenGL. Mutter combines a sophisticated display
@@ -81,17 +107,30 @@ 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:      glib2 >= 1:2.50.0
+Requires:      cairo-gobject >= 1.14.0
+Requires:      fribidi >= 1.0.0
+Requires:      glib2 >= 1:2.67.3
 Requires:      gnome-desktop >= 3.0
+Requires:      graphene >= 1.10.2
 Requires:      gtk+3 >= 3.20.0
+Requires:      json-glib >= 0.12.0
 Requires:      libcanberra-gtk3 >= 0.26
+Requires:      libinput >= 1.15.0
+Requires:      libwacom >= 0.13
+Requires:      pango >= 1:1.46.0
+%{?with_pipewire:Requires:     pipewire-libs >= 0.3.21}
 Requires:      startup-notification >= 0.7
+Requires:      libgudev >= 232
+Requires:      udev-libs >= 1:228
 Requires:      upower-libs >= 0.99.0
-Requires:      wayland >= 1.6.90
-Requires:      xorg-lib-libXcomposite >= 0.2
-Requires:      xorg-lib-libXi >= 1.7
+Requires:      wayland >= 1.18
+Requires:      xorg-lib-libXcomposite >= 0.4
+Requires:      xorg-lib-libXfixes >= 3
+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
 
@@ -106,16 +145,31 @@ Summary:  Development package for Mutter
 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 >= 17.3
 Requires:      cairo-devel >= 1.10.0
-Requires:      glib2-devel >= 1:2.50.0
+Requires:      cairo-gobject-devel >= 1.14.0
+Requires:      gdk-pixbuf2-devel >= 2.0
+Requires:      glib2-devel >= 1:2.67.3
+Requires:      graphene-devel >= 1.10.2
 Requires:      gtk+3-devel >= 3.20.0
 Requires:      libcanberra-gtk3-devel >= 0.26
+Requires:      libdrm-devel
 Requires:      startup-notification-devel >= 0.7
-Requires:      xorg-lib-libXcomposite-devel >= 0.2
+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-libXfixes-devel
+Requires:      xorg-lib-libXext-devel
+Requires:      xorg-lib-libXfixes-devel >= 3
+Requires:      xorg-lib-libXi-devel >= 1.7.4
+Requires:      xorg-lib-libXrandr-devel >= 1.5.0
 Requires:      xorg-lib-libXrender-devel
+Requires:      xorg-lib-libXtst-devel
+Requires:      xorg-lib-libxkbcommon-devel >= 0.4.3
 Obsoletes:     mutter-wayland-devel < 3.14
 
 %description devel
@@ -127,28 +181,26 @@ Mutter.
 
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
 
 %build
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
-       ZENITY=/usr/bin/zenity \
-       --enable-compile-warnings=maximum \
-       --disable-silent-rules \
-       --disable-static
-%{__make}
+%meson build \
+       %{?with_eglstream:-Dwayland_eglstream=true} \
+       -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}
 
@@ -168,13 +220,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
@@ -182,36 +236,39 @@ rm -rf $RPM_BUILD_ROOT
 
 %files libs
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libmutter.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmutter.so.0
-%dir %{_libdir}/mutter
-%attr(755,root,root) %{_libdir}/mutter/libmutter-clutter-1.0.so
-%attr(755,root,root) %{_libdir}/mutter/libmutter-cogl-pango.so
-%attr(755,root,root) %{_libdir}/mutter/libmutter-cogl-path.so
-%attr(755,root,root) %{_libdir}/mutter/libmutter-cogl.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-%{apiver}.typelib
+%{_libdir}/mutter-%{apiver}/Clutter-%{apiver}.typelib
+%{_libdir}/mutter-%{apiver}/ClutterX11-%{apiver}.typelib
+%{_libdir}/mutter-%{apiver}/Cogl-%{apiver}.typelib
+%{_libdir}/mutter-%{apiver}/CoglPango-%{apiver}.typelib
+%{_libdir}/mutter-%{apiver}/Meta-%{apiver}.typelib
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libmutter.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.pc
-%{_pkgconfigdir}/mutter-clutter-1.0.pc
-%{_pkgconfigdir}/mutter-clutter-x11-1.0.pc
-%{_pkgconfigdir}/mutter-cogl-1.0.pc
-%{_pkgconfigdir}/mutter-cogl-pango-1.0.pc
-%{_pkgconfigdir}/mutter-cogl-path-1.0.pc
-
+%{_libdir}/mutter-%{apiver}/Cally-%{apiver}.gir
+%{_libdir}/mutter-%{apiver}/Clutter-%{apiver}.gir
+%{_libdir}/mutter-%{apiver}/ClutterX11-%{apiver}.gir
+%{_libdir}/mutter-%{apiver}/Cogl-%{apiver}.gir
+%{_libdir}/mutter-%{apiver}/CoglPango-%{apiver}.gir
+%{_libdir}/mutter-%{apiver}/Meta-%{apiver}.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
This page took 0.184601 seconds and 4 git commands to generate.