SHA256
1
0
forked from pool/mutter

Accepting request 735091 from GNOME:Next

Scripted push of project GNOME:Next

OBS-URL: https://build.opensuse.org/request/show/735091
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/mutter?expand=0&rev=320
This commit is contained in:
Bjørn Lie 2019-10-04 15:54:05 +00:00 committed by Git OBS Bridge
parent 309ba4be53
commit b1d8c9ad53
9 changed files with 188 additions and 433 deletions

View File

@ -2,7 +2,7 @@
<service name="obs_scm" mode="disabled"> <service name="obs_scm" mode="disabled">
<param name="scm">git</param> <param name="scm">git</param>
<param name="url">https://gitlab.gnome.org/GNOME/mutter.git</param> <param name="url">https://gitlab.gnome.org/GNOME/mutter.git</param>
<param name="revision">gnome-3-32</param> <param name="revision">b5775e3d</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="changesgenerate">enable</param> <param name="changesgenerate">enable</param>
</service> </service>

View File

@ -1,4 +1,4 @@
<servicedata> <servicedata>
<service name="tar_scm"> <service name="tar_scm">
<param name="url">https://gitlab.gnome.org/GNOME/mutter.git</param> <param name="url">https://gitlab.gnome.org/GNOME/mutter.git</param>
<param name="changesrevision">b7f158811934d8e4d9dd0be28ad8e1746ceac46c</param></service></servicedata> <param name="changesrevision">b5775e3d85235418fc12c2024a54863d49acf02d</param></service></servicedata>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5f104c725390b20b366e48a9be3585717cef21dd9d71faa750ee6b0da0dfeea9
size 25605133

3
mutter-3.34.0+30.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:becf923b0c4a7d4888e4b5e9a09c3ea7ac5d160f5ae383414b3100d2e768508e
size 25429517

View File

@ -1,63 +0,0 @@
From ac29ffebc3cbc4aa33e2f4685039496d2cff6170 Mon Sep 17 00:00:00 2001
From: Vasilis Liaskovitis <vliaskovitis@suse.com>
Date: Thu, 6 Jul 2017 10:26:57 +0200
Subject: [PATCH] iconcache: Support RGB16_565 format for 16-bit color depth
sessions
Add an RGB16_565 XRenderPictformat. Otherwise, 16-bit depth sessions
terminate in standard_pict_format_for_depth().
https://bugzilla.gnome.org/show_bug.cgi?id=781704
---
src/x11/iconcache.c | 35 ++++++++++++++++++++++++++++++++++-
1 file changed, 34 insertions(+), 1 deletion(-)
Index: mutter-3.32.1/src/x11/iconcache.c
===================================================================
--- mutter-3.32.1.orig/src/x11/iconcache.c
+++ mutter-3.32.1/src/x11/iconcache.c
@@ -305,10 +305,43 @@ standard_pict_format_for_depth (int dept
return 0;
}
+static XRenderPictFormat RGB16_565_Format =
+/* PictRGB16_565 */
+{
+ {
+ 0, /* id */
+ PictTypeDirect, /* type */
+ 16, /* depth */
+ { /* direct */
+ 11, /* direct.red */
+ 0x1f, /* direct.redMask */
+ 5, /* direct.green */
+ 0x3f, /* direct.greenMask */
+ 0, /* direct.blue */
+ 0x1f, /* direct.blueMask */
+ 0, /* direct.alpha */
+ 0x00, /* direct.alphaMask */
+ },
+ 0, /* colormap */
+ },
+ PictFormatType |
+ PictFormatDepth |
+ PictFormatRed |
+ PictFormatRedMask |
+ PictFormatGreen |
+ PictFormatGreenMask |
+ PictFormatBlue |
+ PictFormatBlueMask |
+ PictFormatAlphaMask,
+};
+
static XRenderPictFormat *
pict_format_for_depth (Display *xdisplay, int depth)
{
- return XRenderFindStandardFormat (xdisplay, standard_pict_format_for_depth (depth));
+ if (depth != 16)
+ return XRenderFindStandardFormat (xdisplay, standard_pict_format_for_depth (depth));
+ else
+ return &RGB16_565_Format;
}
static cairo_surface_t *

View File

@ -1,347 +0,0 @@
commit 04fab574db9c814196e81a86084a565dcdd4a26b
Author: Hans Petter Jansson <hpj@cl.no>
Date: Wed Mar 14 19:06:42 2018 +0100
Patch 3: mutter-xwayland-use-gdm-auth-file.patch
Index: mutter-3.32.1/src/wayland/meta-wayland.c
===================================================================
--- mutter-3.32.1.orig/src/wayland/meta-wayland.c
+++ mutter-3.32.1/src/wayland/meta-wayland.c
@@ -367,6 +367,7 @@ meta_wayland_init (void)
{
MetaWaylandCompositor *compositor = meta_wayland_compositor_get_default ();
GSource *wayland_event_source;
+ gchar *xauthority_path = NULL;
wayland_event_source = wayland_event_source_new (compositor->wayland_display);
@@ -415,7 +416,8 @@ meta_wayland_init (void)
if (meta_should_autostart_x11_display ())
{
- if (!meta_xwayland_start (&compositor->xwayland_manager, compositor->wayland_display))
+ if (!meta_xwayland_start (&compositor->xwayland_manager, compositor->wayland_display,
+ &xauthority_path))
g_error ("Failed to start X Wayland");
}
@@ -440,6 +442,9 @@ meta_wayland_init (void)
if (meta_should_autostart_x11_display ())
set_gnome_env ("DISPLAY", meta_wayland_get_xwayland_display_name (compositor));
+ set_gnome_env ("XAUTHORITY", xauthority_path);
+
+ g_free (xauthority_path);
set_gnome_env ("WAYLAND_DISPLAY", meta_wayland_get_wayland_display_name (compositor));
}
Index: mutter-3.32.1/src/wayland/meta-xwayland-private.h
===================================================================
--- mutter-3.32.1.orig/src/wayland/meta-xwayland-private.h
+++ mutter-3.32.1/src/wayland/meta-xwayland-private.h
@@ -26,7 +26,8 @@
gboolean
meta_xwayland_start (MetaXWaylandManager *manager,
- struct wl_display *display);
+ struct wl_display *display,
+ gchar **xauthority_path_out);
void
meta_xwayland_complete_init (MetaDisplay *display);
Index: mutter-3.32.1/src/wayland/meta-xwayland.c
===================================================================
--- mutter-3.32.1.orig/src/wayland/meta-xwayland.c
+++ mutter-3.32.1/src/wayland/meta-xwayland.c
@@ -32,6 +32,13 @@
#include <sys/socket.h>
#include <sys/un.h>
+/* For Xauthority cookie */
+#include <X11/Xauth.h>
+#include <glib/gstdio.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
#include "compositor/meta-surface-actor-wayland.h"
#include "meta/main.h"
#include "wayland/meta-wayland-actor-surface.h"
@@ -465,20 +472,231 @@ on_displayfd_ready (int fd,
return G_SOURCE_REMOVE;
}
+/* Cookie generation code snipped from GDM */
+
+static gboolean
+_fd_is_character_device (int fd)
+{
+ struct stat file_info;
+
+ if (fstat (fd, &file_info) < 0) {
+ return FALSE;
+ }
+
+ return S_ISCHR (file_info.st_mode);
+}
+
+static gboolean
+_read_bytes (int fd,
+ char *bytes,
+ gsize number_of_bytes,
+ GError **error)
+{
+ size_t bytes_left_to_read;
+ size_t total_bytes_read = 0;
+ gboolean premature_eof;
+
+ bytes_left_to_read = number_of_bytes;
+ premature_eof = FALSE;
+ do {
+ size_t bytes_read = 0;
+
+ errno = 0;
+ bytes_read = read (fd, ((guchar *) bytes) + total_bytes_read,
+ bytes_left_to_read);
+
+ if (bytes_read > 0) {
+ total_bytes_read += bytes_read;
+ bytes_left_to_read -= bytes_read;
+ } else if (bytes_read == 0) {
+ premature_eof = TRUE;
+ break;
+ } else if ((errno != EINTR)) {
+ break;
+ }
+ } while (bytes_left_to_read > 0);
+
+ if (premature_eof) {
+ g_set_error (error,
+ G_FILE_ERROR,
+ G_FILE_ERROR_FAILED,
+ "No data available");
+
+ return FALSE;
+ } else if (bytes_left_to_read > 0) {
+ g_set_error (error,
+ G_FILE_ERROR,
+ g_file_error_from_errno (errno),
+ "%s", g_strerror (errno));
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static char *
+generate_random_bytes (gsize size,
+ GError **error)
+{
+ int fd;
+ char *bytes;
+ GError *read_error;
+
+ /* We don't use the g_rand_* glib apis because they don't document
+ * how much entropy they are seeded with, and it might be less
+ * than the passed in size.
+ */
+
+ errno = 0;
+ fd = open ("/dev/urandom", O_RDONLY);
+
+ if (fd < 0) {
+ g_set_error (error,
+ G_FILE_ERROR,
+ g_file_error_from_errno (errno),
+ "%s", g_strerror (errno));
+ close (fd);
+ return NULL;
+ }
+
+ if (!_fd_is_character_device (fd)) {
+ g_set_error (error,
+ G_FILE_ERROR,
+ g_file_error_from_errno (ENODEV),
+ "/dev/urandom is not a character device");
+ close (fd);
+ return NULL;
+ }
+
+ bytes = g_malloc (size);
+ read_error = NULL;
+ if (!_read_bytes (fd, bytes, size, &read_error)) {
+ g_propagate_error (error, read_error);
+ g_free (bytes);
+ close (fd);
+ return NULL;
+ }
+
+ close (fd);
+ return bytes;
+}
+
+static FILE *
+create_auth_file (char **filename)
+{
+ char *auth_dir = NULL;
+ char *auth_file = NULL;
+ int fd;
+ FILE *fp = NULL;
+
+ auth_dir = g_build_filename (g_get_user_runtime_dir (),
+ "mutter",
+ NULL);
+
+ g_mkdir_with_parents (auth_dir, 0711);
+ auth_file = g_build_filename (auth_dir, "Xauthority", NULL);
+ g_clear_pointer (&auth_dir, g_free);
+
+ fd = open (auth_file, O_RDWR | O_CREAT | O_TRUNC, 0700);
+
+ if (fd < 0) {
+ g_debug ("could not open %s to store auth cookie: %m",
+ auth_file);
+ g_clear_pointer (&auth_file, g_free);
+ goto out;
+ }
+
+ fp = fdopen (fd, "w+");
+
+ if (fp == NULL) {
+ g_debug ("could not set up stream for auth cookie file: %m");
+ g_clear_pointer (&auth_file, g_free);
+ close (fd);
+ goto out;
+ }
+
+ *filename = auth_file;
+out:
+ return fp;
+}
+
+static char *
+prepare_auth_file (void)
+{
+ FILE *fp = NULL;
+ char *filename = NULL;
+ GError *error = NULL;
+ gboolean prepared = FALSE;
+ Xauth auth_entry = { 0 };
+ char localhost[HOST_NAME_MAX + 1] = "";
+
+ g_debug ("Preparing auth file for X server");
+
+ fp = create_auth_file (&filename);
+
+ if (fp == NULL) {
+ return NULL;
+ }
+
+ if (gethostname (localhost, HOST_NAME_MAX) < 0) {
+ strncpy (localhost, "localhost", sizeof (localhost) - 1);
+ }
+
+ auth_entry.family = FamilyLocal;
+ auth_entry.address = localhost;
+ auth_entry.address_length = strlen (auth_entry.address);
+ auth_entry.name = "MIT-MAGIC-COOKIE-1";
+ auth_entry.name_length = strlen (auth_entry.name);
+
+ auth_entry.data_length = 16;
+ auth_entry.data = generate_random_bytes (auth_entry.data_length, &error);
+
+ if (error != NULL) {
+ goto out;
+ }
+
+ if (!XauWriteAuth (fp, &auth_entry) || fflush (fp) == EOF) {
+ goto out;
+ }
+
+ auth_entry.family = FamilyWild;
+ if (!XauWriteAuth (fp, &auth_entry) || fflush (fp) == EOF) {
+ goto out;
+ }
+
+ prepared = TRUE;
+
+out:
+ g_clear_pointer (&auth_entry.data, g_free);
+ g_clear_pointer (&fp, fclose);
+
+ if (!prepared) {
+ g_clear_pointer (&filename, g_free);
+ }
+
+ return filename;
+}
+
gboolean
meta_xwayland_start (MetaXWaylandManager *manager,
- struct wl_display *wl_display)
+ struct wl_display *wl_display,
+ gchar **xauthority_path_out)
{
int xwayland_client_fd[2];
int displayfd[2];
gboolean started = FALSE;
g_autoptr(GSubprocessLauncher) launcher = NULL;
GSubprocessFlags flags;
+ gchar *auth_file = NULL;
GError *error = NULL;
if (!choose_xdisplay (manager))
goto out;
+ auth_file = prepare_auth_file ();
+ if (!auth_file)
+ g_error ("Unable to create X authority file");
+
/* We want xwayland to be a wayland client so we make a socketpair to setup a
* wayland protocol connection. */
if (socketpair (AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, xwayland_client_fd) < 0)
@@ -523,6 +741,7 @@ meta_xwayland_start (MetaXWaylandManager
"-terminate",
"-accessx",
"-core",
+ "-auth", auth_file,
"-listen", "4",
"-listen", "5",
"-displayfd", "6",
@@ -545,6 +764,11 @@ meta_xwayland_start (MetaXWaylandManager
manager->init_loop = g_main_loop_new (NULL, FALSE);
g_main_loop_run (manager->init_loop);
+ if (xauthority_path_out)
+ *xauthority_path_out = auth_file;
+ else
+ g_free (auth_file);
+
started = TRUE;
out:
Index: mutter-3.32.1/meson.build
===================================================================
--- mutter-3.32.1.orig/meson.build
+++ mutter-3.32.1/meson.build
@@ -83,6 +83,7 @@ mutter_installed_tests_libexecdir = join
m_dep = cc.find_library('m', required: true)
x11_dep = dependency('x11')
+xau_dep = dependency('xau')
gtk3_dep = dependency('gtk+-3.0', version: gtk3_req)
gdk_pixbuf_dep = dependency('gdk-pixbuf-2.0')
pango_dep = dependency('pango', version: pango_req)
Index: mutter-3.32.1/src/meson.build
===================================================================
--- mutter-3.32.1.orig/src/meson.build
+++ mutter-3.32.1/src/meson.build
@@ -84,6 +84,7 @@ if have_x11
xfixes_dep,
xi_dep,
x11_dep,
+ xau_dep,
]
mutter_pkg_private_deps += [

View File

@ -1,3 +1,165 @@
-------------------------------------------------------------------
Thu Oct 3 10:17:28 UTC 2019 - Frederic Crozat <fcrozat@suse.com>
- Disable sysprof support until it get security team approval.
-------------------------------------------------------------------
Sat Sep 21 17:08:50 UTC 2019 - bjorn.lie@gmail.com
- Update to version 3.34.0+30:
* window-actor: Use surface coordinates for the fast path in get_image()
* shaped-texture: Use surface coordinates in get_image()
* shaped-texture: Declare that we inherit from GObject
* window/surface-actor: Add docstrings
* shaped-texture: Mark set the clip and return value nullable
* clutter/actor: Cancel delayed timelines on removal
* clutter/timeline: Don't emit ::paused signal on delayed timelines
* clutter/timeline: Use a function to cancel the delay timeout
* wayland/dma-buf: Handle zero modifiers from eglQueryDmaBufModifiersEXT
* stage: Compute view perspective when parameters changed
* build: Compile with `-ffloat-store` on x86 (32 bit)
* kms-impl-device: Use portable formatting for 64-bit integers
* output-kms: Use portable formatting for 64-bit integers
* input-settings: Use portable formatting for 64-bit integers
* clutter/stage-cogl: Use portable formatting for 64-bit integers
* clutter/paint-node: Convert safely from pointer to integer
-------------------------------------------------------------------
Tue Sep 17 09:06:26 UTC 2019 - bjorn.lie@gmail.com
- Update to version 3.34.0+14:
+ idle-monitor: Reset timeout before firing watch
+ idle-monitor: Remove redundant type cast
+ idle-monitor: Make helper function static
+ kms-device: Free path when finalizing
+ kms-device: Handle impl device creation failure
+ x11: Minor refactor of input focus handling code
+ x11: Use the currently focused X window for _NET_ACTIVE_WINDOW
-------------------------------------------------------------------
Fri Sep 13 14:22:20 UTC 2019 - bjorn.lie@gmail.com
- Update to version 3.34.0+7:
+ cogl/egl: Just notify about failure to create high priority
context
+ clutter/actor:
- Remove unused private function
- Fix a wrong comment
+ Fix a few tracing typos
+ core: Split x11-display initialization in 2 signals
+ plugins/default: Get default keymap from localed
+ Updated translations.
- Switch to checkout from master, we need the fixes for stability.
-------------------------------------------------------------------
Mon Sep 9 15:49:44 CDT 2019 - mgorse@suse.com
- Update to version 3.34.0:
+ Fix xdg-output v3 support.
+ Fix crash when changing decoration state.
+ Add and remove connectors on hot-plug.
-------------------------------------------------------------------
Sat Sep 07 19:54:14 UTC 2019 - bjorn.lie@gmail.com
- Fixup _service to follow our standards.
-------------------------------------------------------------------
Thu Sep 5 12:46:34 NZST 2019 - luke@ljones.dev
- Update to version 3.33.92:
+ Turn MetaShapedTexture into a ClutterContent implementation.
+ Restore inhibit shortcut for overlay key.
+ Misc. pointer a11y improvements.
+ Fix position of drag surfaces.
+ Implement subsurface.place_below() for parents.
+ Add meta_window_actor_get_image().
+ Revert faulty optimization from !719.
+ Add additional sysprof trace points.
+ Remove GLX "threaded swap wait" used on Nvidia.
+ Implement geometric picking.
+ Fix lost keyboard focus after DND.
+ Misc. bug fixes and cleanups.
- Drop
mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch
-------------------------------------------------------------------
Thu Aug 29 20:05:21 UTC 2019 - Luke Jones <luke@ljones.dev>
- Remove mutter-xwayland-create-xauthority.patch, upstreamed.
Autostart of xwayland is enabled, and also sets xauthority.
-------------------------------------------------------------------
Wed Aug 28 23:17:54 UTC 2019 - luke@ljones.dev
- Update to version 3.33.91
+ Fix primary selection copy and paste between X11 and wayland.
+ Improve monitor hotplug support.
+ Remove a source of frame skips.
+ Fix windows being lowered after unmaximizing with double click.
+ Remove Clutter API for global grabs.
+ Improve processing of incompressible events.
+ Add xdg-output v3 support.
+ Misc. bug fixes and cleanups.
- Changes from version 3.33.90
+ Fix visibility of clones with hidden source.
+ Reduce freezes when opening some popup windows.
+ Be more thorough when excluding obscured areas from painting.
+ Make it possible to start Xwayland on demand.
+ clutter: Expose layout_manager to transitions.
+ Misc. bug fixes and cleanups.
- Changes from version 3.33.4
+ Discard page flip retries on hotplug.
+ Add xdg-output v2 support.
+ Restore DRM format fallbacks.
+ Don't emit ::size-changed when only position changed.
+ Expose workspace layout properties.
+ Don't use grab modifiers when shortcuts are inhibited.
+ Fix stuttering due to unchanged power save mode notifications.
+ Add API to reorder workspaces.
+ Make picking a new focus window more reliable.
+ Defer actor allocation till shown.
+ Try to use primary GPU for copy instead of glReadPixels.
+ Unset pointer focus when the cursor is hidden.
+ Fix modifier-drag on wayland subsurfaces.
+ Fix background corruption on Nvidia after resuming from suspend.
+ Only grab the locate-pointer key when necessary.
+ Misc. bug fixes and cleanups.
- Changes from version 3.33.3
+ Prepare for running Xwayland on demand.
+ Fix text selection color rendering.
+ Fix black shadows when using fractional scaling.
+ Honor startup sequence workspace on wayland.
+ Only emit 'grab-op-end` signal after dropping grabs.
+ Add a Sysprof-based profiler.
+ Relax "xwayland-allow-grabs" setting.
+ Implement locate-pointer accessibility feature.
+ Implement mouse accessibility.
+ Consolidate frame throttling.
+ Fix setting blank cursor under wayland.
+ Pixel-align OpenGL cursors.
+ Handle returning from fullscreen/maximization better.
+ Improve screencast support on multi-monitor systems.
+ Fix running X11 applications with sudo under wayland.
+ Implement toggle-keys notification.
+ Add initial KMS transactional support.
+ Improve finding new focus window when the old one is closed.
+ Misc. bug fixes and cleanups.
- Changes from version 3.33.2
+ Fix rendering lag on Xorg.
+ Misc. bug fixes and cleanups.
- Changes from version 3.33.1
+ Remove unused APIs and outdated driver support
+ Enable EGL_IMG_context_priority.
+ Disable mouse keys with Numlock on.
+ Fix crash when restarting on X11.
+ Implement clipboard manager.
+ Fix spurious idle signals that prevent session unblank.
+ Fix mapping of touchscreens that don't report dimensions.
+ Fix propagating fractional scaling factor.
+ Add experimental RT scheduling support.
+ Misc. bug fixes and cleanups.
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Jul 24 20:49:24 UTC 2019 - bjorn.lie@gmail.com Wed Jul 24 20:49:24 UTC 2019 - bjorn.lie@gmail.com
@ -706,7 +868,7 @@ Sat Nov 4 02:03:57 UTC 2017 - luc14n0@linuxmail.org
+ Work with clients that require older linux_dmabuf protocol + Work with clients that require older linux_dmabuf protocol
(bgo#788558). (bgo#788558).
+ Prevent crash when closing maximized windows (bgo#788666). + Prevent crash when closing maximized windows (bgo#788666).
+ Use the correct monitor for HiDPI scaling of shell chrome + Use the correct monitor for HiDPI scaling of shell chrome
(bgo#788820). (bgo#788820).
+ Enable XWayland core dumps (bgo#789086). + Enable XWayland core dumps (bgo#789086).
+ Fixes: + Fixes:
@ -818,7 +980,7 @@ Thu Sep 14 14:39:13 UTC 2017 - fezhang@suse.com
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Sep 12 19:59:13 UTC 2017 - zaitor@opensuse.org Tue Sep 12 19:59:13 UTC 2017 - zaitor@opensuse.org
- Add disabled pkgconfig(libpipewire-0.1) BuildRequires and - Add disabled pkgconfig(libpipewire-0.1) BuildRequires and
--enable-remote-desktop configure flag, enable support for --enable-remote-desktop configure flag, enable support for
remote desktop and screen cast when the dependency is available remote desktop and screen cast when the dependency is available
in openSUSE. in openSUSE.

View File

@ -1,5 +1,5 @@
name: mutter name: mutter
version: 3.32.2+43 version: 3.34.0+30
mtime: 1563468013 mtime: 1568997775
commit: b7f158811934d8e4d9dd0be28ad8e1746ceac46c commit: b5775e3d85235418fc12c2024a54863d49acf02d

View File

@ -16,23 +16,21 @@
# #
%define api_major 4 # don't enable sysprof support by default
%bcond_with profiler
%define api_major 5
%define api_minor 0 %define api_minor 0
%define libmutter libmutter-%{api_major}-%{api_minor} %define libmutter libmutter-%{api_major}-%{api_minor}
Name: mutter Name: mutter
Version: 3.32.2+43 Version: 3.34.0+30
Release: 0 Release: 0
Summary: Window and compositing manager based on Clutter Summary: Window and compositing manager based on Clutter
License: GPL-2.0-or-later License: GPL-2.0-or-later
Group: System/GUI/GNOME Group: System/GUI/GNOME
URL: https://www.gnome.org URL: https://www.gnome.org
# We are using source services, so no download url for source
Source: %{name}-%{version}.tar.xz Source: %{name}-%{version}.tar.xz
# PATCH-FEATURE-UPSTREAM mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch FATE#323412 bgo#781704 bsc#1024748 vliaskovitis@suse.com -- iconcache: Support RGB16_565 format for 16-bit sessions
Patch1: mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch
# PATCH-FIX-OPENSUSE mutter-xwayland-create-xauthority.patch bsc#1084737 hpj@suse.com -- Create and pass an Xauthority file to Xwayland and session
Patch2: mutter-xwayland-create-xauthority.patch
# PATCH-FIX-OPENSUSE mutter-Lower-HIDPI_LIMIT-to-144.patch fate#326682, bsc#1125467 qkzhu@suse.com -- Lower HIDPI_LIMIT to 144 # PATCH-FIX-OPENSUSE mutter-Lower-HIDPI_LIMIT-to-144.patch fate#326682, bsc#1125467 qkzhu@suse.com -- Lower HIDPI_LIMIT to 144
Patch3: mutter-Lower-HIDPI_LIMIT-to-144.patch Patch3: mutter-Lower-HIDPI_LIMIT-to-144.patch
## SLE-only patches start at 1000 ## SLE-only patches start at 1000
@ -44,6 +42,7 @@ Patch1001: mutter-SLE-relax-some-constraints-on-CSD-windows.patch
Patch1002: mutter-SLE-bsc984738-grab-display.patch Patch1002: mutter-SLE-bsc984738-grab-display.patch
BuildRequires: Mesa-libGLESv3-devel BuildRequires: Mesa-libGLESv3-devel
BuildRequires: cmake
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: meson BuildRequires: meson
BuildRequires: pkgconfig BuildRequires: pkgconfig
@ -59,7 +58,7 @@ BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(gnome-desktop-3.0) BuildRequires: pkgconfig(gnome-desktop-3.0)
BuildRequires: pkgconfig(gnome-settings-daemon) BuildRequires: pkgconfig(gnome-settings-daemon)
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.9.5 BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.9.5
BuildRequires: pkgconfig(gsettings-desktop-schemas) >= 3.19.3 BuildRequires: pkgconfig(gsettings-desktop-schemas) >= 3.33.0
BuildRequires: pkgconfig(gtk+-3.0) >= 3.19.7 BuildRequires: pkgconfig(gtk+-3.0) >= 3.19.7
BuildRequires: pkgconfig(gudev-1.0) >= 232 BuildRequires: pkgconfig(gudev-1.0) >= 232
BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(json-glib-1.0)
@ -73,6 +72,10 @@ BuildRequires: pkgconfig(libudev) >= 136
BuildRequires: pkgconfig(libwacom) BuildRequires: pkgconfig(libwacom)
BuildRequires: pkgconfig(pango) >= 1.2.0 BuildRequires: pkgconfig(pango) >= 1.2.0
BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(sm)
%if %{with profiler}
BuildRequires: pkgconfig(sysprof-3)
BuildRequires: pkgconfig(sysprof-capture-3)
%endif
BuildRequires: pkgconfig(upower-glib) >= 0.99.0 BuildRequires: pkgconfig(upower-glib) >= 0.99.0
BuildRequires: pkgconfig(wayland-protocols) >= 1.10 BuildRequires: pkgconfig(wayland-protocols) >= 1.10
BuildRequires: pkgconfig(wayland-server) >= 1.13.0 BuildRequires: pkgconfig(wayland-server) >= 1.13.0
@ -147,8 +150,6 @@ applications that want to make use of the mutter library.
%prep %prep
%setup -q %setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1 %patch3 -p1
# SLE-only patches and translations. # SLE-only patches and translations.
@ -167,6 +168,11 @@ translation-update-upstream po mutter
-Dclutter_tests=false \ -Dclutter_tests=false \
-Dtests=false \ -Dtests=false \
-Dinstalled_tests=false \ -Dinstalled_tests=false \
%if %{with profiler}
-Dprofiler=true \
%else
-Dprofiler=false \
%endif
%{nil} %{nil}
%meson_build %meson_build
@ -191,7 +197,6 @@ translation-update-upstream po mutter
# These so files are not split out since they are private to mutter # These so files are not split out since they are private to mutter
%{_libdir}/mutter-%{api_major}/libmutter-clutter-%{api_major}.so.* %{_libdir}/mutter-%{api_major}/libmutter-clutter-%{api_major}.so.*
%{_libdir}/mutter-%{api_major}/libmutter-cogl-gles2-%{api_major}.so.*
%{_libdir}/mutter-%{api_major}/libmutter-cogl-pango-%{api_major}.so.* %{_libdir}/mutter-%{api_major}/libmutter-cogl-pango-%{api_major}.so.*
%{_libdir}/mutter-%{api_major}/libmutter-cogl-path-%{api_major}.so.* %{_libdir}/mutter-%{api_major}/libmutter-cogl-path-%{api_major}.so.*
%{_libdir}/mutter-%{api_major}/libmutter-cogl-%{api_major}.so.* %{_libdir}/mutter-%{api_major}/libmutter-cogl-%{api_major}.so.*
@ -232,7 +237,6 @@ translation-update-upstream po mutter
%{_libdir}/mutter-%{api_major}/Cogl-%{api_major}.gir %{_libdir}/mutter-%{api_major}/Cogl-%{api_major}.gir
%{_libdir}/mutter-%{api_major}/CoglPango-%{api_major}.gir %{_libdir}/mutter-%{api_major}/CoglPango-%{api_major}.gir
%{_libdir}/mutter-%{api_major}/libmutter-clutter-%{api_major}.so %{_libdir}/mutter-%{api_major}/libmutter-clutter-%{api_major}.so
%{_libdir}/mutter-%{api_major}/libmutter-cogl-gles2-%{api_major}.so
%{_libdir}/mutter-%{api_major}/libmutter-cogl-pango-%{api_major}.so %{_libdir}/mutter-%{api_major}/libmutter-cogl-pango-%{api_major}.so
%{_libdir}/mutter-%{api_major}/libmutter-cogl-path-%{api_major}.so %{_libdir}/mutter-%{api_major}/libmutter-cogl-path-%{api_major}.so
%{_libdir}/mutter-%{api_major}/libmutter-cogl-%{api_major}.so %{_libdir}/mutter-%{api_major}/libmutter-cogl-%{api_major}.so
@ -241,7 +245,6 @@ translation-update-upstream po mutter
%{_libdir}/pkgconfig/mutter-clutter-%{api_major}.pc %{_libdir}/pkgconfig/mutter-clutter-%{api_major}.pc
%{_libdir}/pkgconfig/mutter-clutter-x11-%{api_major}.pc %{_libdir}/pkgconfig/mutter-clutter-x11-%{api_major}.pc
%{_libdir}/pkgconfig/mutter-cogl-%{api_major}.pc %{_libdir}/pkgconfig/mutter-cogl-%{api_major}.pc
%{_libdir}/pkgconfig/mutter-cogl-gles2-%{api_major}.pc
%{_libdir}/pkgconfig/mutter-cogl-pango-%{api_major}.pc %{_libdir}/pkgconfig/mutter-cogl-pango-%{api_major}.pc
%{_libdir}/pkgconfig/mutter-cogl-path-%{api_major}.pc %{_libdir}/pkgconfig/mutter-cogl-path-%{api_major}.pc