mutter/mutter.spec

211 lines
6.9 KiB
RPMSpec
Raw Permalink Normal View History

2023-03-06 16:43:58 +00:00
%global glib_version 2.75.1
2016-02-19 17:22:52 +00:00
%global gtk3_version 3.19.8
2023-03-06 16:43:58 +00:00
%global gtk4_version 4.0.0
%global gsettings_desktop_schemas_version 40~alpha
2016-04-29 11:24:52 +00:00
%global json_glib_version 0.12.0
2022-07-18 10:39:17 +00:00
%global libinput_version 1.19.0
%global pipewire_version 0.3.33
2022-09-04 14:43:05 +00:00
%global lcms2_version 2.6
%global colord_version 1.4.5
2023-08-08 11:22:54 +00:00
%global libei_version 1.0.0
2024-01-07 09:29:11 +00:00
%global mutter_api_version 14
2014-07-23 22:35:01 +00:00
2021-03-16 15:54:14 +00:00
%global tarball_version %%(echo %{version} | tr '~' '.')
2010-02-04 01:52:24 +00:00
Name: mutter
Version: 46.3
2023-04-25 09:16:06 +00:00
Release: %autorelease
2010-02-04 01:52:24 +00:00
Summary: Window and compositing manager based on Clutter
License: GPLv2+
URL: http://www.gnome.org
2023-07-06 18:20:12 +00:00
Source0: http://download.gnome.org/sources/%{name}/45/%{name}-%{tarball_version}.tar.xz
2015-09-16 15:45:44 +00:00
2018-11-14 01:27:14 +00:00
# Work-around for OpenJDK's compliance test
Patch: 0001-window-actor-Special-case-shaped-Java-windows.patch
2022-01-14 14:43:42 +00:00
# https://bugzilla.redhat.com/show_bug.cgi?id=1936991
Patch: mutter-42.alpha-disable-tegra.patch
2022-01-14 14:43:42 +00:00
# https://pagure.io/fedora-workstation/issue/79
Patch: 0001-place-Always-center-initial-setup-fedora-welcome.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2239128
# https://gitlab.gnome.org/GNOME/mutter/-/issues/3068
# not upstreamed because for upstream we'd really want to find a way
# to fix *both* problems
Patch: 0001-Revert-x11-Use-input-region-from-frame-window-for-de.patch
# https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3329
# Modified to add the change from
# https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3329#note_1874837
# which solves the problems reported with #3329 alone
Patch: 0001-modified-3329.patch
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.41.0
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(libwacom)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(x11-xcb)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(xkbcommon-x11)
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xtst)
2017-07-19 19:41:07 +00:00
BuildRequires: mesa-libEGL-devel
BuildRequires: mesa-libGLES-devel
2016-04-29 11:24:52 +00:00
BuildRequires: mesa-libGL-devel
BuildRequires: mesa-libgbm-devel
2019-05-14 18:57:39 +00:00
BuildRequires: pkgconfig(glesv2)
2019-12-11 18:30:42 +00:00
BuildRequires: pkgconfig(graphene-gobject-1.0)
2014-04-30 16:55:43 +00:00
BuildRequires: pam-devel
2020-03-01 01:46:32 +00:00
BuildRequires: pkgconfig(libpipewire-0.3) >= %{pipewire_version}
2020-08-24 16:03:14 +00:00
BuildRequires: pkgconfig(sysprof-capture-4)
BuildRequires: sysprof-devel
BuildRequires: pkgconfig(libsystemd)
2021-09-05 11:04:09 +00:00
BuildRequires: xorg-x11-server-Xvfb
BuildRequires: pkgconfig(xkeyboard-config)
2009-07-23 16:53:14 +00:00
BuildRequires: desktop-file-utils
BuildRequires: cvt
2010-07-06 17:53:37 +00:00
# Bootstrap requirements
BuildRequires: gettext-devel git-core
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(gsettings-desktop-schemas) >= %{gsettings_desktop_schemas_version}
BuildRequires: pkgconfig(gnome-settings-daemon)
2018-11-19 16:17:18 +00:00
BuildRequires: meson
2022-01-14 14:43:42 +00:00
BuildRequires: pkgconfig(gbm)
2023-03-06 16:43:58 +00:00
BuildRequires: pkgconfig(gnome-desktop-4)
BuildRequires: pkgconfig(gudev-1.0)
BuildRequires: pkgconfig(libdrm)
2022-01-14 14:43:42 +00:00
BuildRequires: pkgconfig(libstartup-notification-1.0)
BuildRequires: pkgconfig(wayland-eglstream)
2022-01-14 14:43:42 +00:00
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: pkgconfig(wayland-server)
2022-09-04 14:43:05 +00:00
BuildRequires: pkgconfig(lcms2) >= %{lcms2_version}
BuildRequires: pkgconfig(colord) >= %{colord_version}
2023-08-08 11:22:54 +00:00
BuildRequires: pkgconfig(libei-1.0) >= %{libei_version}
BuildRequires: pkgconfig(libeis-1.0) >= %{libei_version}
2010-02-04 01:52:24 +00:00
BuildRequires: pkgconfig(json-glib-1.0) >= %{json_glib_version}
BuildRequires: pkgconfig(libinput) >= %{libinput_version}
BuildRequires: pkgconfig(xwayland)
2016-04-29 11:24:52 +00:00
BuildRequires: python3-dbusmock
2009-07-23 16:53:14 +00:00
Requires: control-center-filesystem
2015-03-17 19:28:33 +00:00
Requires: gsettings-desktop-schemas%{?_isa} >= %{gsettings_desktop_schemas_version}
Requires: gnome-settings-daemon
2023-03-06 16:43:58 +00:00
Requires: gtk4%{?_isa} >= %{gtk4_version}
2021-04-13 07:21:13 +00:00
Requires: json-glib%{?_isa} >= %{json_glib_version}
Requires: libinput%{?_isa} >= %{libinput_version}
2017-09-08 14:50:36 +00:00
Requires: pipewire%{_isa} >= %{pipewire_version}
2009-07-23 16:53:14 +00:00
Requires: startup-notification
Requires: dbus
2009-07-23 16:53:14 +00:00
# Need common
Requires: %{name}-common = %{version}-%{release}
Recommends: mesa-dri-drivers%{?_isa}
2016-04-29 11:24:52 +00:00
Provides: firstboot(windowmanager) = mutter
# Cogl and Clutter were forked at these versions, but have diverged
# significantly since then.
Provides: bundled(cogl) = 1.22.0
Provides: bundled(clutter) = 1.26.0
Conflicts: mutter < 45~beta.1-2
# Make sure dnf updates gnome-shell together with this package; otherwise we
# might end up with broken gnome-shell installations due to mutter ABI changes.
Conflicts: gnome-shell < 45~rc
2009-07-23 16:53:14 +00:00
%description
Mutter is a window and compositing manager that displays and manages
your desktop via OpenGL. Mutter combines a sophisticated display engine
using the Clutter toolkit with solid window-management logic inherited
from the Metacity window manager.
While Mutter can be used stand-alone, it is primarily intended to be
used as the display core of a larger system such as GNOME Shell. For
this reason, Mutter is very extensible via plugins, which are used both
to add fancy visual effects and to rework the window management
behaviors to meet the needs of the environment.
2009-07-23 16:53:14 +00:00
%package common
Summary: Common files used by %{name} and forks of %{name}
BuildArch: noarch
Conflicts: mutter < 45~beta.1-2
%description common
Common files used by Mutter and soft forks of Mutter
2009-07-23 16:53:14 +00:00
%package devel
Summary: Development package for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
# for EGL/eglmesaext.h that's included from public cogl-egl-defines.h header
Requires: mesa-libEGL-devel
2009-07-23 16:53:14 +00:00
%description devel
Header files and libraries for developing Mutter plugins. Also includes
utilities for testing Metacity/Mutter themes.
2014-11-12 11:28:39 +00:00
%package tests
Summary: Tests for the %{name} package
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
2014-11-12 11:28:39 +00:00
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: gtk3%{?_isa} >= %{gtk3_version}
2014-11-12 11:28:39 +00:00
%description tests
The %{name}-tests package contains tests that can be used to verify
the functionality of the installed %{name} package.
2009-07-23 16:53:14 +00:00
%prep
2021-03-16 15:54:14 +00:00
%autosetup -S git -n %{name}-%{tarball_version}
2010-02-04 01:52:24 +00:00
2009-07-23 16:53:14 +00:00
%build
%meson -Degl_device=true -Dwayland_eglstream=true -Dlibdisplay_info=disabled
2018-11-19 16:17:18 +00:00
%meson_build
2009-07-23 16:53:14 +00:00
%install
2018-11-19 16:17:18 +00:00
%meson_install
2009-07-23 16:53:14 +00:00
%find_lang %{name}
%files -f %{name}.lang
2015-03-17 19:29:23 +00:00
%license COPYING
%doc NEWS
2009-07-23 16:53:14 +00:00
%{_bindir}/mutter
%{_libdir}/lib*.so.*
2018-11-14 01:27:14 +00:00
%{_libdir}/mutter-%{mutter_api_version}/
2014-07-23 22:37:23 +00:00
%{_libexecdir}/mutter-restart-helper
2023-02-14 15:56:45 +00:00
%{_libexecdir}/mutter-x11-frames
%{_mandir}/man1/mutter.1*
%files common
2011-11-22 22:42:42 +00:00
%{_datadir}/GConf/gsettings/mutter-schemas.convert
%{_datadir}/glib-2.0/schemas/org.gnome.mutter.gschema.xml
2014-04-30 16:55:43 +00:00
%{_datadir}/glib-2.0/schemas/org.gnome.mutter.wayland.gschema.xml
%{_datadir}/gnome-control-center/keybindings/50-mutter-*.xml
2020-09-28 15:40:35 +00:00
%{_udevrulesdir}/61-mutter.rules
2009-07-23 16:53:14 +00:00
%files devel
%{_includedir}/*
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*
2014-11-12 11:28:39 +00:00
%files tests
2018-11-19 16:17:18 +00:00
%{_libexecdir}/installed-tests/mutter-%{mutter_api_version}
%{_datadir}/installed-tests/mutter-%{mutter_api_version}
2018-11-14 01:27:14 +00:00
%{_datadir}/mutter-%{mutter_api_version}/tests
2014-11-12 11:28:39 +00:00
2009-07-23 16:53:14 +00:00
%changelog
2023-04-25 09:16:06 +00:00
%autochangelog