public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/files/, x11-wm/mutter/
@ 2020-06-28  9:38 Mart Raudsepp
  0 siblings, 0 replies; 12+ messages in thread
From: Mart Raudsepp @ 2020-06-28  9:38 UTC (permalink / raw
  To: gentoo-commits

commit:     21f565f494469cfe0c8aecf83237ce94d30353c6
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 28 09:28:00 2020 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sun Jun 28 09:37:46 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21f565f4

x11-wm/mutter: try to fix tests without gtk+[wayland]

Bug: https://bugs.gentoo.org/728952
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 .../files/3.34.6-tests-dontreq-gdkwayland.patch    | 51 ++++++++++++++++++++++
 x11-wm/mutter/mutter-3.34.6-r1.ebuild              |  1 +
 2 files changed, 52 insertions(+)

diff --git a/x11-wm/mutter/files/3.34.6-tests-dontreq-gdkwayland.patch b/x11-wm/mutter/files/3.34.6-tests-dontreq-gdkwayland.patch
new file mode 100644
index 00000000000..810801977af
--- /dev/null
+++ b/x11-wm/mutter/files/3.34.6-tests-dontreq-gdkwayland.patch
@@ -0,0 +1,51 @@
+From fd10425c598f7b3db16521c2709032fd2ea5a396 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Sun, 28 Jun 2020 09:26:33 +0300
+Subject: [PATCH] test-client: Fix compilation without GDK_WINDOWING_WAYLAND
+
+---
+ src/tests/test-client.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/tests/test-client.c b/src/tests/test-client.c
+index 83a5ce485..80c239310 100644
+--- a/src/tests/test-client.c
++++ b/src/tests/test-client.c
+@@ -22,7 +22,9 @@
+ #include <gio/gunixinputstream.h>
+ #include <gtk/gtk.h>
+ #include <gdk/gdkx.h>
++#ifdef GDK_WINDOWING_WAYLAND
+ #include <gdk/gdkwayland.h>
++#endif
+ #include <stdarg.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -46,8 +48,10 @@ window_export_handle_cb (GdkWindow  *window,
+ {
+   GdkWindow *gdk_window = gtk_widget_get_window (GTK_WIDGET (user_data));
+ 
++#ifdef GDK_WINDOWING_WAYLAND
+   if (!gdk_wayland_window_set_transient_for_exported (gdk_window,
+                                                       (gchar *) handle_str))
++#endif
+     g_print ("Fail to set transient_for exported window handle %s", handle_str);
+   gdk_window_set_modal_hint (gdk_window, TRUE);
+ }
+@@ -377,11 +381,13 @@ process_line (const char *line)
+           goto out;
+         }
+ 
++#ifdef GDK_WINDOWING_WAYLAND
+       GdkWindow *parent_gdk_window = gtk_widget_get_window (parent_window);
+       if (!gdk_wayland_window_export_handle (parent_gdk_window,
+                                              window_export_handle_cb,
+                                              window,
+                                              NULL))
++#endif
+         g_print ("Fail to export handle for window id %s", argv[2]);
+     }
+   else if (strcmp (argv[0], "accept_focus") == 0)
+-- 
+2.20.1
+

diff --git a/x11-wm/mutter/mutter-3.34.6-r1.ebuild b/x11-wm/mutter/mutter-3.34.6-r1.ebuild
index 722e7bb3d13..bc54061390f 100644
--- a/x11-wm/mutter/mutter-3.34.6-r1.ebuild
+++ b/x11-wm/mutter/mutter-3.34.6-r1.ebuild
@@ -94,6 +94,7 @@ BDEPEND="
 PATCHES=(
 	"${FILESDIR}"/3.32-eglmesaext-include.patch
 	"${FILESDIR}"/${PV}-XInitThreads.patch
+	"${FILESDIR}"/${PV}-tests-dontreq-gdkwayland.patch
 )
 
 src_configure() {


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/files/, x11-wm/mutter/
@ 2024-10-08 16:33 Andreas Sturmlechner
  0 siblings, 0 replies; 12+ messages in thread
From: Andreas Sturmlechner @ 2024-10-08 16:33 UTC (permalink / raw
  To: gentoo-commits

commit:     437dd9ea598ac3139935539a846fbbae5920045b
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  7 17:44:26 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Oct  8 16:32:30 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=437dd9ea

x11-wm/mutter: drop 45.2-r1, 45.4

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 x11-wm/mutter/Manifest                    |   3 -
 x11-wm/mutter/files/45.2-fix-X-only.patch |  48 ------
 x11-wm/mutter/mutter-45.2-r1.ebuild       | 240 ------------------------------
 x11-wm/mutter/mutter-45.4.ebuild          | 236 -----------------------------
 4 files changed, 527 deletions(-)

diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
index d4ca3042e49f..85d24f199538 100644
--- a/x11-wm/mutter/Manifest
+++ b/x11-wm/mutter/Manifest
@@ -1,6 +1,3 @@
-DIST mutter-45.2-r1-patchset.tar.xz 21864 BLAKE2B c09566f75a816f6599ac4bf99879cc0e3bb78220c56cc4bd64edabf00e533a5feb4decdaa75ef5ae7ade911ec266ba6dd4641f1cbcd2c3145c10d5a8d327d653 SHA512 dd953afb97c4cdd9e24b2eab6636472e526042eb768c23e0d5bd49cd3ceb3a5cebd3ff396d014bdf168de81f810cef754efbb1739350fc09f6d196461de41ea4
-DIST mutter-45.2.tar.xz 2884940 BLAKE2B c4107840b8bd0f75a9c76300f324bfff6aac3195f526ab88102c831df693cb8dfa5b55bb1590a54e68f41eab392e69bb833221480578a2fba4b1e4bdc5ed030d SHA512 2111ad0645d2da58dedb30d94e99b52045f38b31a9de7314a5d8b41a5525612d88d2fbaafd3658eb6f734c143ad12176367c26533237199d9a5c1ad3dea743c7
-DIST mutter-45.4.tar.xz 2886300 BLAKE2B 62fe0c08e92f8cab0bcf64a52a9d1bdf16754deae5fb00018f29c596ab2e26a5b75eee46f1c0206ae1773fe5b7ed48abc755b6070d35dc22536dcb11e8955e95 SHA512 3fdd44dfcb504a84d402065987fb8bdec84d639260c66c0cb2e88ef2deb56fadf2ae91bdeae782793728e54803a455ab38943b68693124d728b0c52ba8698e3c
 DIST mutter-45.5.tar.xz 2886412 BLAKE2B b5534943d41500a165de5242f73b9da145dd52a4b5168e863843ca5b08a6d726be9b7a94b94763e6b4c10b48355ed845accd9ae63704aefaf3f8e2bb361855b8 SHA512 15fb5589e2b971ac94b3d8f549643f2998375943c419114907c317761c8250089751dea65c35be44435350e6bb02bb238fcf2eef17bf7d6a5b41053a64ffba05
 DIST mutter-45.6.tar.xz 2886844 BLAKE2B f5658d0667cac04f290040e26cf8326d6d30130d0500b18b318269bae152b18a1e4867b9c749269e14b31fb8d7af7fb7a1d72f94df1dad1da0bd98462b9a29f0 SHA512 bfd918469450dd287b58c5e8c55969d9d3bb737898a5823175c15841e2d483faf2900f6c0d4b2bcdcbdb4e58fa16d4dee836084f1f4307fbbce3e7a8d6343738
 DIST mutter-46.4.tar.xz 6752800 BLAKE2B 330c8fd1537c6eea93af4413ec7ccf8c0ea478c5d11d8666b80c93e86eb3135782d365f5f7b449379e211f12d4172fc74b0c39026ab45064dbf18b50fe30a894 SHA512 b8d952da069230b2e10d82aaf87c7acca2a1436b0cc2e19b64012dc535690fdded931d905496dd668948330e553f863505c1aafb36b4ff4724f5ac0e9012f7db

diff --git a/x11-wm/mutter/files/45.2-fix-X-only.patch b/x11-wm/mutter/files/45.2-fix-X-only.patch
deleted file mode 100644
index 2e76277e2607..000000000000
--- a/x11-wm/mutter/files/45.2-fix-X-only.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From e2ef4e1504a40d62b45167d7cacfea0322a78134 Mon Sep 17 00:00:00 2001
-From: Mart Raudsepp <leio@gentoo.org>
-Date: Mon, 25 Dec 2023 14:51:46 +0200
-Subject: [PATCH] build: Fix building without wayland headers
-
-Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3046
----
- src/backends/x11/nested/meta-backend-x11-nested.c | 2 ++
- src/core/meta-context-main.c                      | 2 +-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/backends/x11/nested/meta-backend-x11-nested.c b/src/backends/x11/nested/meta-backend-x11-nested.c
-index 17e6f7e47..0d99078ea 100644
---- a/src/backends/x11/nested/meta-backend-x11-nested.c
-+++ b/src/backends/x11/nested/meta-backend-x11-nested.c
-@@ -25,7 +25,9 @@
- #include "backends/x11/nested/meta-cursor-renderer-x11-nested.h"
- #include "backends/x11/nested/meta-renderer-x11-nested.h"
- 
-+#ifdef HAVE_WAYLAND
- #include "wayland/meta-wayland.h"
-+#endif
- 
- typedef struct _MetaBackendX11NestedPrivate
- {
-diff --git a/src/core/meta-context-main.c b/src/core/meta-context-main.c
-index 9c94183b5..a0ac7c823 100644
---- a/src/core/meta-context-main.c
-+++ b/src/core/meta-context-main.c
-@@ -33,7 +33,6 @@
- #include "backends/meta-virtual-monitor.h"
- #include "backends/x11/cm/meta-backend-x11-cm.h"
- #include "meta/meta-backend.h"
--#include "wayland/meta-wayland.h"
- #include "x11/session.h"
- 
- #ifdef HAVE_NATIVE_BACKEND
-@@ -42,6 +41,7 @@
- 
- #ifdef HAVE_WAYLAND
- #include "backends/x11/nested/meta-backend-x11-nested.h"
-+#include "wayland/meta-wayland.h"
- #endif
- 
- typedef struct _MetaContextMainOptions
--- 
-2.43.0
-

diff --git a/x11-wm/mutter/mutter-45.2-r1.ebuild b/x11-wm/mutter/mutter-45.2-r1.ebuild
deleted file mode 100644
index fa99dc7a1251..000000000000
--- a/x11-wm/mutter/mutter-45.2-r1.ebuild
+++ /dev/null
@@ -1,240 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
-inherit gnome.org gnome2-utils meson python-any-r1 udev xdg
-
-DESCRIPTION="GNOME compositing window manager based on Clutter"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
-SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${PF}-patchset.tar.xz"
-LICENSE="GPL-2+"
-
-if [[ ${PV} == 9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git"
-	SRC_URI=""
-	SLOT="0/13" # This can get easily out of date, but better than 9967
-else
-	KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-	SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
-fi
-
-IUSE="debug elogind gnome gtk-doc input_devices_wacom +introspection screencast sysprof systemd test udev wayland video_cards_nvidia"
-# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
-REQUIRED_USE="
-	gtk-doc? ( introspection )
-	wayland? ( ^^ ( elogind systemd ) udev )
-	test? ( wayland )"
-RESTRICT="!test? ( test )"
-
-# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
-# USE=libei was first introduced in xwayland-23.2.1; we min dep on that to ensure the [libei(+)] works right, as missing USE flag with
-# previous versions meant that it's not there, while the intention seems to be to make it always enabled without USE flag in the future;
-# this ensures have_enable_ei_portal is always there in xwayland.pc, which affects how Xwayland is launched, thus if it were toggled off
-# in Xwayland after mutter is installed, Xwayland would fail to be started by mutter. mutter already hard-depends on libei, so there's
-# really no extra deps here (besides xdg-desktop-portal, but we want that too, anyhow).
-# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
-DEPEND="
-	>=media-libs/graphene-1.10.2[introspection?]
-	x11-libs/gdk-pixbuf:2
-	>=x11-libs/pango-1.46[introspection?]
-	>=x11-libs/cairo-1.14[X]
-	>=dev-libs/fribidi-1.0.0
-	>=gnome-base/gsettings-desktop-schemas-42.0[introspection?]
-	>=dev-libs/glib-2.75.1:2
-	gnome-base/gnome-settings-daemon
-	>=dev-libs/json-glib-0.12.0[introspection?]
-	>=x11-libs/libxkbcommon-0.4.3
-	x11-libs/libICE
-	>=app-accessibility/at-spi2-core-2.46:2[introspection?]
-	sys-apps/dbus
-	>=x11-misc/colord-1.4.5:=
-	>=media-libs/lcms-2.6:2
-	>=media-libs/harfbuzz-2.6.0:=
-	>=dev-libs/libei-1.0.901
-
-	gnome? ( gnome-base/gnome-desktop:4= )
-
-	>=media-libs/libcanberra-0.26
-
-	media-libs/libglvnd[X]
-
-	wayland? (
-		>=dev-libs/wayland-protocols-1.32
-		>=dev-libs/wayland-1.21.0
-
-		x11-libs/libdrm
-		media-libs/mesa[gbm(+)]
-		>=dev-libs/libinput-1.19.0:=
-
-		elogind? ( sys-auth/elogind )
-		>=x11-base/xwayland-23.2.1[libei(+)]
-		video_cards_nvidia? ( gui-libs/egl-wayland )
-	)
-	udev? (
-		>=virtual/libudev-232-r1:=
-		>=dev-libs/libgudev-232
-	)
-	systemd? ( sys-apps/systemd )
-	x11-libs/libSM
-	input_devices_wacom? ( >=dev-libs/libwacom-0.13:= )
-	>=x11-libs/startup-notification-0.7
-	screencast? ( >=media-video/pipewire-0.3.33:= )
-	introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-	sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 >=dev-util/sysprof-3.46.0 )
-"
-# for now upstream has "have_x11 = true" in the meson.build, but sooner or later upstream is going to make X optional.
-#	X? (
-DEPEND+="
-		>=gui-libs/gtk-4.0.0:4[X,introspection?]
-		>=x11-libs/libX11-1.7.0
-		>=x11-libs/libXcomposite-0.4
-		x11-libs/libXcursor
-		x11-libs/libXdamage
-		x11-libs/libXext
-		>=x11-libs/libXfixes-6
-		>=x11-libs/libXi-1.7.4
-		x11-libs/libXtst
-		x11-libs/libxkbfile
-		x11-misc/xkeyboard-config
-		>=x11-libs/libxkbcommon-0.4.3[X]
-		x11-libs/libXrender
-		>=x11-libs/libXrandr-1.5.0
-		x11-libs/libxcb:=
-		x11-libs/libXinerama
-		x11-libs/libXau
-"
-#	)"
-
-RDEPEND="${DEPEND}
-	!<gui-libs/gtk-4.6.4:4
-"
-DEPEND="${DEPEND}
-	x11-base/xorg-proto
-	sysprof? ( >=dev-util/sysprof-common-3.38.0 )
-	test? (
-		>=x11-libs/gtk+-3.19.8:3[X,introspection?,wayland]
-		gnome-extra/zenity
-	)
-"
-BDEPEND="
-	dev-util/wayland-scanner
-	dev-util/gdbus-codegen
-	dev-util/glib-utils
-	>=sys-devel/gettext-0.19.8
-	virtual/pkgconfig
-	gtk-doc? ( >=dev-util/gi-docgen-2021.1 )
-	test? (
-		${PYTHON_DEPS}
-		$(python_gen_any_dep '
-			>=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]
-		')
-		app-text/docbook-xml-dtd:4.5
-		x11-misc/xvfb-run
-	)
-	wayland? (
-		>=sys-kernel/linux-headers-4.4
-		x11-libs/libxcvt
-	)
-"
-
-PATCHES=(
-	"${WORKDIR}"/patches # Upstream branch up to commit 5f777c90b79a
-	"${FILESDIR}"/${PV}-fix-X-only.patch #914571, upstream #3046, !3471
-	"${FILESDIR}"/${PN}-43.0-Disable-anonymous-file-test.patch
-)
-
-python_check_deps() {
-	if use test; then
-		python_has_version ">=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]"
-	fi
-}
-
-src_configure() {
-	use debug && EMESON_BUILDTYPE=debug
-
-	local emesonargs=(
-		# Mutter X11 renderer only supports gles2 and GLX, thus do NOT pass
-		#
-		#   -Dopengl_libname=libOpenGL.so.0
-		#
-		# while we build the x11 renderer, as we currently enable gles2 only
-		# with USE=wayland and x11 renderer wouldn't find the needed GLX symbols
-		# in a configuration where wayland is disabled, as libOpenGL doesn't
-		# include them.
-		#
-		# See
-		# - https://bugs.gentoo.org/835786
-		# - https://forums.gentoo.org/viewtopic-p-8695669.html
-
-		-Dopengl=true
-		$(meson_use wayland gles2)
-		#gles2_libname
-		-Degl=true
-		-Dglx=true
-		$(meson_use wayland)
-		$(meson_use wayland xwayland)
-		$(meson_use systemd)
-		$(meson_use wayland native_backend)
-		$(meson_use screencast remote_desktop)
-		$(meson_use gnome libgnome_desktop)
-		$(meson_use udev)
-		-Dudev_dir=$(get_udevdir)
-		$(meson_use input_devices_wacom libwacom)
-		-Dsound_player=true
-		-Dpango_ft2=true
-		-Dstartup_notification=true
-		-Dsm=true
-		$(meson_use introspection)
-		$(meson_use gtk-doc docs)
-		$(meson_use test cogl_tests)
-		$(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
-		-Dnative_tests=false
-		$(meson_use test clutter_tests)
-		$(meson_use test tests)
-		-Dkvm_tests=false
-		-Dtty_tests=false
-		$(meson_use sysprof profiler)
-		-Dinstalled_tests=false
-
-		#verbose # Let upstream choose default for verbose mode
-		#xwayland_path
-		# TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops)
-		#xwayland_grab_default_access_rules
-	)
-
-	if use wayland && use video_cards_nvidia; then
-		emesonargs+=(
-			-Degl_device=true
-			-Dwayland_eglstream=true
-		)
-	else
-		emesonargs+=(
-			-Degl_device=false
-			-Dwayland_eglstream=false
-		)
-	fi
-
-	meson_src_configure
-}
-
-src_test() {
-	# Reset variables to avoid issues from /etc/profile.d/flatpak.sh file
-	gnome2_environment_reset
-	export XDG_DATA_DIRS="${EPREFIX}"/usr/share
-	glib-compile-schemas "${BUILD_DIR}"/data
-	GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI
-}
-
-pkg_postinst() {
-	use udev && udev_reload
-	xdg_pkg_postinst
-	gnome2_schemas_update
-}
-
-pkg_postrm() {
-	use udev && udev_reload
-	xdg_pkg_postrm
-	gnome2_schemas_update
-}

diff --git a/x11-wm/mutter/mutter-45.4.ebuild b/x11-wm/mutter/mutter-45.4.ebuild
deleted file mode 100644
index aeed10b04dac..000000000000
--- a/x11-wm/mutter/mutter-45.4.ebuild
+++ /dev/null
@@ -1,236 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
-inherit gnome.org gnome2-utils meson python-any-r1 udev xdg
-
-DESCRIPTION="GNOME compositing window manager based on Clutter"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
-LICENSE="GPL-2+"
-
-if [[ ${PV} == 9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git"
-	SRC_URI=""
-	SLOT="0/13" # This can get easily out of date, but better than 9967
-else
-	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
-	SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
-fi
-
-IUSE="debug elogind gnome gtk-doc input_devices_wacom +introspection screencast sysprof systemd test udev wayland video_cards_nvidia"
-# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
-REQUIRED_USE="
-	gtk-doc? ( introspection )
-	wayland? ( ^^ ( elogind systemd ) udev )
-	test? ( wayland )"
-RESTRICT="!test? ( test )"
-
-# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
-# USE=libei was first introduced in xwayland-23.2.1; we min dep on that to ensure the [libei(+)] works right, as missing USE flag with
-# previous versions meant that it's not there, while the intention seems to be to make it always enabled without USE flag in the future;
-# this ensures have_enable_ei_portal is always there in xwayland.pc, which affects how Xwayland is launched, thus if it were toggled off
-# in Xwayland after mutter is installed, Xwayland would fail to be started by mutter. mutter already hard-depends on libei, so there's
-# really no extra deps here (besides xdg-desktop-portal, but we want that too, anyhow).
-# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
-DEPEND="
-	>=media-libs/graphene-1.10.2[introspection?]
-	x11-libs/gdk-pixbuf:2
-	>=x11-libs/pango-1.46[introspection?]
-	>=x11-libs/cairo-1.14[X]
-	>=dev-libs/fribidi-1.0.0
-	>=gnome-base/gsettings-desktop-schemas-42.0[introspection?]
-	>=dev-libs/glib-2.75.1:2
-	gnome-base/gnome-settings-daemon
-	>=dev-libs/json-glib-0.12.0[introspection?]
-	>=x11-libs/libxkbcommon-0.4.3
-	x11-libs/libICE
-	>=app-accessibility/at-spi2-core-2.46:2[introspection?]
-	sys-apps/dbus
-	>=x11-misc/colord-1.4.5:=
-	>=media-libs/lcms-2.6:2
-	>=media-libs/harfbuzz-2.6.0:=
-	>=dev-libs/libei-1.0.901
-
-	gnome? ( gnome-base/gnome-desktop:4= )
-
-	>=media-libs/libcanberra-0.26
-
-	media-libs/libglvnd[X]
-
-	wayland? (
-		>=dev-libs/wayland-protocols-1.32
-		>=dev-libs/wayland-1.21.0
-
-		x11-libs/libdrm
-		media-libs/mesa[gbm(+)]
-		>=dev-libs/libinput-1.19.0:=
-
-		elogind? ( sys-auth/elogind )
-		>=x11-base/xwayland-23.2.1[libei(+)]
-		video_cards_nvidia? ( gui-libs/egl-wayland )
-	)
-	udev? (
-		>=virtual/libudev-232-r1:=
-		>=dev-libs/libgudev-232
-	)
-	systemd? ( sys-apps/systemd )
-	x11-libs/libSM
-	input_devices_wacom? ( >=dev-libs/libwacom-0.13:= )
-	>=x11-libs/startup-notification-0.7
-	screencast? ( >=media-video/pipewire-0.3.33:= )
-	introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-	sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 >=dev-util/sysprof-3.46.0 )
-"
-# for now upstream has "have_x11 = true" in the meson.build, but sooner or later upstream is going to make X optional.
-#	X? (
-DEPEND+="
-		>=gui-libs/gtk-4.0.0:4[X,introspection?]
-		>=x11-libs/libX11-1.7.0
-		>=x11-libs/libXcomposite-0.4
-		x11-libs/libXcursor
-		x11-libs/libXdamage
-		x11-libs/libXext
-		>=x11-libs/libXfixes-6
-		>=x11-libs/libXi-1.7.4
-		x11-libs/libXtst
-		x11-libs/libxkbfile
-		x11-misc/xkeyboard-config
-		>=x11-libs/libxkbcommon-0.4.3[X]
-		x11-libs/libXrender
-		>=x11-libs/libXrandr-1.5.0
-		x11-libs/libxcb:=
-		x11-libs/libXinerama
-		x11-libs/libXau
-"
-#	)"
-
-RDEPEND="${DEPEND}
-	!<gui-libs/gtk-4.6.4:4
-"
-DEPEND="${DEPEND}
-	x11-base/xorg-proto
-	sysprof? ( >=dev-util/sysprof-common-3.38.0 )
-	test? (
-		>=x11-libs/gtk+-3.19.8:3[X,introspection?,wayland]
-		gnome-extra/zenity
-	)
-"
-BDEPEND="
-	dev-util/wayland-scanner
-	dev-util/gdbus-codegen
-	dev-util/glib-utils
-	>=sys-devel/gettext-0.19.8
-	virtual/pkgconfig
-	gtk-doc? ( >=dev-util/gi-docgen-2021.1 )
-	test? (
-		${PYTHON_DEPS}
-		$(python_gen_any_dep '
-			>=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]
-		')
-		app-text/docbook-xml-dtd:4.5
-		x11-misc/xvfb-run
-	)
-	wayland? (
-		>=sys-kernel/linux-headers-4.4
-		x11-libs/libxcvt
-	)
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-43.0-Disable-anonymous-file-test.patch
-)
-
-python_check_deps() {
-	if use test; then
-		python_has_version ">=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]"
-	fi
-}
-
-src_configure() {
-	local emesonargs=(
-		# Mutter X11 renderer only supports gles2 and GLX, thus do NOT pass
-		#
-		#   -Dopengl_libname=libOpenGL.so.0
-		#
-		# while we build the x11 renderer, as we currently enable gles2 only
-		# with USE=wayland and x11 renderer wouldn't find the needed GLX symbols
-		# in a configuration where wayland is disabled, as libOpenGL doesn't
-		# include them.
-		#
-		# See
-		# - https://bugs.gentoo.org/835786
-		# - https://forums.gentoo.org/viewtopic-p-8695669.html
-
-		-Dbuildtype=$(usex debug debug plain)
-		-Dopengl=true
-		$(meson_use wayland gles2)
-		#gles2_libname
-		-Degl=true
-		-Dglx=true
-		$(meson_use wayland)
-		$(meson_use wayland xwayland)
-		$(meson_use systemd)
-		$(meson_use wayland native_backend)
-		$(meson_use screencast remote_desktop)
-		$(meson_use gnome libgnome_desktop)
-		$(meson_use udev)
-		-Dudev_dir=$(get_udevdir)
-		$(meson_use input_devices_wacom libwacom)
-		-Dsound_player=true
-		-Dpango_ft2=true
-		-Dstartup_notification=true
-		-Dsm=true
-		$(meson_use introspection)
-		$(meson_use gtk-doc docs)
-		$(meson_use test cogl_tests)
-		$(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
-		-Dnative_tests=false
-		$(meson_use test clutter_tests)
-		$(meson_use test tests)
-		-Dkvm_tests=false
-		-Dtty_tests=false
-		$(meson_use sysprof profiler)
-		-Dinstalled_tests=false
-
-		#verbose # Let upstream choose default for verbose mode
-		#xwayland_path
-		# TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops)
-		#xwayland_grab_default_access_rules
-	)
-
-	if use wayland && use video_cards_nvidia; then
-		emesonargs+=(
-			-Degl_device=true
-			-Dwayland_eglstream=true
-		)
-	else
-		emesonargs+=(
-			-Degl_device=false
-			-Dwayland_eglstream=false
-		)
-	fi
-
-	meson_src_configure
-}
-
-src_test() {
-	# Reset variables to avoid issues from /etc/profile.d/flatpak.sh file
-	gnome2_environment_reset
-	export XDG_DATA_DIRS="${EPREFIX}"/usr/share
-	glib-compile-schemas "${BUILD_DIR}"/data
-	GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI
-}
-
-pkg_postinst() {
-	use udev && udev_reload
-	xdg_pkg_postinst
-	gnome2_schemas_update
-}
-
-pkg_postrm() {
-	use udev && udev_reload
-	xdg_pkg_postrm
-	gnome2_schemas_update
-}


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/files/, x11-wm/mutter/
@ 2023-12-25 17:14 Mart Raudsepp
  0 siblings, 0 replies; 12+ messages in thread
From: Mart Raudsepp @ 2023-12-25 17:14 UTC (permalink / raw
  To: gentoo-commits

commit:     61dfbb83a61d0e5ee3e6822f22b1d3a3bb1afbb9
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 25 15:39:39 2023 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Mon Dec 25 17:13:58 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61dfbb83

x11-wm/mutter: fix USE=-wayland build; add various upstream fixes

Upstream patchset up to current state of stable branch most notably includes:
* fixes compatibility with xdg-desktop-portal-gnome-45.1
* some important NVIDIA EGLStream fix when that ends up used (with
  e.g. MUTTER_DEBUG_FORCE_EGL_STREAM=1)
* window size and related fixes when moving fullscreen window across
  differently sized monitors
* fixes handling of relative mode for tablet
* improvements for desktop icons extension purposes
* much more

Closes: https://bugs.gentoo.org/914571
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 x11-wm/mutter/Manifest                    |   1 +
 x11-wm/mutter/files/45.2-fix-X-only.patch |  48 ++++++
 x11-wm/mutter/mutter-45.2-r1.ebuild       | 239 ++++++++++++++++++++++++++++++
 3 files changed, 288 insertions(+)

diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
index 46cee7d21b3a..d9669bb68553 100644
--- a/x11-wm/mutter/Manifest
+++ b/x11-wm/mutter/Manifest
@@ -1,4 +1,5 @@
 DIST mutter-44.3.tar.xz 2848256 BLAKE2B 42c00d4673cab5d119361c6eb2b78c33894c637b36a34f9b74eb5a19ca621d3458208be020216f9a8949e8b0a9c9de697662c5aebb11f70bc83173ce33c7a1eb SHA512 d29bc6c7407ba81be0b5bfa2333bc77c09f7a084e09d6902cad8ca8e64ba75a22652b68a4e84b79b80481d9a7b6cb490128113dcd125ed5bcd5423d4ec88fb35
 DIST mutter-44.4.tar.xz 2847392 BLAKE2B 2ecdb0d447c0426a7e02f4d3b3cdf8936a6c7a5fecad163bdba9428f018e0ceb2047b241422bc9de5e9d0fb08e88a04d572d1b404b48d6df214a7263292309ba SHA512 3f7b37be5531e270c071fc9784a6a284a3d715dfd1dfc854779126197d6e53c660836412ba08e6233747c7b016926114a57be5adb36a11c8ec9c81e333ce668c
 DIST mutter-45.1.tar.xz 2881852 BLAKE2B 40fa8de01ecae346d2b9a352d55cb9215e3b9c88d7424c567fd63aa97dc7aa7cc202fdda298a4a8a9bc08330b6db3895d5860b8c99daaa4974dbd07f0ac8b86a SHA512 87a629e941eb231d05fc24dbb905acb12236c971a02dd000fdd6cc6e7686544b5796ce57d10b34e096dc956578a373d5a73e89760bcc6beb292e9a25ce2faaf4
+DIST mutter-45.2-r1-patchset.tar.xz 21864 BLAKE2B c09566f75a816f6599ac4bf99879cc0e3bb78220c56cc4bd64edabf00e533a5feb4decdaa75ef5ae7ade911ec266ba6dd4641f1cbcd2c3145c10d5a8d327d653 SHA512 dd953afb97c4cdd9e24b2eab6636472e526042eb768c23e0d5bd49cd3ceb3a5cebd3ff396d014bdf168de81f810cef754efbb1739350fc09f6d196461de41ea4
 DIST mutter-45.2.tar.xz 2884940 BLAKE2B c4107840b8bd0f75a9c76300f324bfff6aac3195f526ab88102c831df693cb8dfa5b55bb1590a54e68f41eab392e69bb833221480578a2fba4b1e4bdc5ed030d SHA512 2111ad0645d2da58dedb30d94e99b52045f38b31a9de7314a5d8b41a5525612d88d2fbaafd3658eb6f734c143ad12176367c26533237199d9a5c1ad3dea743c7

diff --git a/x11-wm/mutter/files/45.2-fix-X-only.patch b/x11-wm/mutter/files/45.2-fix-X-only.patch
new file mode 100644
index 000000000000..2e76277e2607
--- /dev/null
+++ b/x11-wm/mutter/files/45.2-fix-X-only.patch
@@ -0,0 +1,48 @@
+From e2ef4e1504a40d62b45167d7cacfea0322a78134 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Mon, 25 Dec 2023 14:51:46 +0200
+Subject: [PATCH] build: Fix building without wayland headers
+
+Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3046
+---
+ src/backends/x11/nested/meta-backend-x11-nested.c | 2 ++
+ src/core/meta-context-main.c                      | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/backends/x11/nested/meta-backend-x11-nested.c b/src/backends/x11/nested/meta-backend-x11-nested.c
+index 17e6f7e47..0d99078ea 100644
+--- a/src/backends/x11/nested/meta-backend-x11-nested.c
++++ b/src/backends/x11/nested/meta-backend-x11-nested.c
+@@ -25,7 +25,9 @@
+ #include "backends/x11/nested/meta-cursor-renderer-x11-nested.h"
+ #include "backends/x11/nested/meta-renderer-x11-nested.h"
+ 
++#ifdef HAVE_WAYLAND
+ #include "wayland/meta-wayland.h"
++#endif
+ 
+ typedef struct _MetaBackendX11NestedPrivate
+ {
+diff --git a/src/core/meta-context-main.c b/src/core/meta-context-main.c
+index 9c94183b5..a0ac7c823 100644
+--- a/src/core/meta-context-main.c
++++ b/src/core/meta-context-main.c
+@@ -33,7 +33,6 @@
+ #include "backends/meta-virtual-monitor.h"
+ #include "backends/x11/cm/meta-backend-x11-cm.h"
+ #include "meta/meta-backend.h"
+-#include "wayland/meta-wayland.h"
+ #include "x11/session.h"
+ 
+ #ifdef HAVE_NATIVE_BACKEND
+@@ -42,6 +41,7 @@
+ 
+ #ifdef HAVE_WAYLAND
+ #include "backends/x11/nested/meta-backend-x11-nested.h"
++#include "wayland/meta-wayland.h"
+ #endif
+ 
+ typedef struct _MetaContextMainOptions
+-- 
+2.43.0
+

diff --git a/x11-wm/mutter/mutter-45.2-r1.ebuild b/x11-wm/mutter/mutter-45.2-r1.ebuild
new file mode 100644
index 000000000000..29a2b57bbc04
--- /dev/null
+++ b/x11-wm/mutter/mutter-45.2-r1.ebuild
@@ -0,0 +1,239 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+inherit gnome.org gnome2-utils meson python-any-r1 udev xdg
+
+DESCRIPTION="GNOME compositing window manager based on Clutter"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
+SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${PF}-patchset.tar.xz"
+LICENSE="GPL-2+"
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git"
+	SRC_URI=""
+	SLOT="0/13" # This can get easily out of date, but better than 9967
+else
+	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+	SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
+fi
+
+IUSE="debug elogind gnome gtk-doc input_devices_wacom +introspection screencast sysprof systemd test udev wayland video_cards_nvidia"
+# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
+REQUIRED_USE="
+	gtk-doc? ( introspection )
+	wayland? ( ^^ ( elogind systemd ) udev )
+	test? ( wayland )"
+RESTRICT="!test? ( test )"
+
+# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
+# USE=libei was first introduced in xwayland-23.2.1; we min dep on that to ensure the [libei(+)] works right, as missing USE flag with
+# previous versions meant that it's not there, while the intention seems to be to make it always enabled without USE flag in the future;
+# this ensures have_enable_ei_portal is always there in xwayland.pc, which affects how Xwayland is launched, thus if it were toggled off
+# in Xwayland after mutter is installed, Xwayland would fail to be started by mutter. mutter already hard-depends on libei, so there's
+# really no extra deps here (besides xdg-desktop-portal, but we want that too, anyhow).
+# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
+DEPEND="
+	>=media-libs/graphene-1.10.2[introspection?]
+	x11-libs/gdk-pixbuf:2
+	>=x11-libs/pango-1.46[introspection?]
+	>=x11-libs/cairo-1.14[X]
+	>=dev-libs/fribidi-1.0.0
+	>=gnome-base/gsettings-desktop-schemas-42.0[introspection?]
+	>=dev-libs/glib-2.75.1:2
+	gnome-base/gnome-settings-daemon
+	>=dev-libs/json-glib-0.12.0[introspection?]
+	>=x11-libs/libxkbcommon-0.4.3
+	x11-libs/libICE
+	>=app-accessibility/at-spi2-core-2.46:2[introspection?]
+	sys-apps/dbus
+	>=x11-misc/colord-1.4.5:=
+	>=media-libs/lcms-2.6:2
+	>=media-libs/harfbuzz-2.6.0:=
+	>=dev-libs/libei-1.0.901
+
+	gnome? ( gnome-base/gnome-desktop:4= )
+
+	>=media-libs/libcanberra-0.26
+
+	media-libs/libglvnd[X]
+
+	wayland? (
+		>=dev-libs/wayland-protocols-1.32
+		>=dev-libs/wayland-1.21.0
+
+		x11-libs/libdrm
+		media-libs/mesa[gbm(+)]
+		>=dev-libs/libinput-1.19.0:=
+
+		elogind? ( sys-auth/elogind )
+		>=x11-base/xwayland-23.2.1[libei(+)]
+		video_cards_nvidia? ( gui-libs/egl-wayland )
+	)
+	udev? (
+		>=virtual/libudev-232-r1:=
+		>=dev-libs/libgudev-232
+	)
+	systemd? ( sys-apps/systemd )
+	x11-libs/libSM
+	input_devices_wacom? ( >=dev-libs/libwacom-0.13:= )
+	>=x11-libs/startup-notification-0.7
+	screencast? ( >=media-video/pipewire-0.3.33:= )
+	introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+	test? (
+		>=x11-libs/gtk+-3.19.8:3[X,introspection?]
+		gnome-extra/zenity
+	)
+	sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 >=dev-util/sysprof-3.46.0 )
+"
+# for now upstream has "have_x11 = true" in the meson.build, but sooner or later upstream is going to make X optional.
+#	X? (
+DEPEND+="
+		>=gui-libs/gtk-4.0.0:4[X,introspection?]
+		>=x11-libs/libX11-1.7.0
+		>=x11-libs/libXcomposite-0.4
+		x11-libs/libXcursor
+		x11-libs/libXdamage
+		x11-libs/libXext
+		>=x11-libs/libXfixes-6
+		>=x11-libs/libXi-1.7.4
+		x11-libs/libXtst
+		x11-libs/libxkbfile
+		x11-misc/xkeyboard-config
+		>=x11-libs/libxkbcommon-0.4.3[X]
+		x11-libs/libXrender
+		>=x11-libs/libXrandr-1.5.0
+		x11-libs/libxcb:=
+		x11-libs/libXinerama
+		x11-libs/libXau
+"
+#	)"
+
+RDEPEND="${DEPEND}
+	!<gui-libs/gtk-4.6.4:4
+"
+DEPEND="${DEPEND}
+	x11-base/xorg-proto
+	sysprof? ( >=dev-util/sysprof-common-3.38.0 )
+"
+BDEPEND="
+	dev-util/wayland-scanner
+	dev-util/gdbus-codegen
+	dev-util/glib-utils
+	>=sys-devel/gettext-0.19.8
+	virtual/pkgconfig
+	gtk-doc? ( >=dev-util/gi-docgen-2021.1 )
+	test? (
+		${PYTHON_DEPS}
+		$(python_gen_any_dep '
+			>=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]
+		')
+		app-text/docbook-xml-dtd:4.5
+		x11-misc/xvfb-run
+	)
+	wayland? (
+		>=sys-kernel/linux-headers-4.4
+		x11-libs/libxcvt
+	)
+"
+
+PATCHES=(
+	"${WORKDIR}"/patches # Upstream branch up to commit 5f777c90b79a
+	"${FILESDIR}"/${PV}-fix-X-only.patch #914571, upstream #3046, !3471
+	"${FILESDIR}"/${PN}-43.0-Disable-anonymous-file-test.patch
+)
+
+python_check_deps() {
+	if use test; then
+		python_has_version ">=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]"
+	fi
+}
+
+src_configure() {
+	local emesonargs=(
+		# Mutter X11 renderer only supports gles2 and GLX, thus do NOT pass
+		#
+		#   -Dopengl_libname=libOpenGL.so.0
+		#
+		# while we build the x11 renderer, as we currently enable gles2 only
+		# with USE=wayland and x11 renderer wouldn't find the needed GLX symbols
+		# in a configuration where wayland is disabled, as libOpenGL doesn't
+		# include them.
+		#
+		# See
+		# - https://bugs.gentoo.org/835786
+		# - https://forums.gentoo.org/viewtopic-p-8695669.html
+
+		--buildtype $(usex debug debug plain)
+		-Dopengl=true
+		$(meson_use wayland gles2)
+		#gles2_libname
+		-Degl=true
+		-Dglx=true
+		$(meson_use wayland)
+		$(meson_use wayland xwayland)
+		$(meson_use systemd)
+		$(meson_use wayland native_backend)
+		$(meson_use screencast remote_desktop)
+		$(meson_use gnome libgnome_desktop)
+		$(meson_use udev)
+		-Dudev_dir=$(get_udevdir)
+		$(meson_use input_devices_wacom libwacom)
+		-Dsound_player=true
+		-Dpango_ft2=true
+		-Dstartup_notification=true
+		-Dsm=true
+		$(meson_use introspection)
+		$(meson_use gtk-doc docs)
+		$(meson_use test cogl_tests)
+		$(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
+		-Dnative_tests=false
+		$(meson_use test clutter_tests)
+		$(meson_use test tests)
+		-Dkvm_tests=false
+		-Dtty_tests=false
+		$(meson_use sysprof profiler)
+		-Dinstalled_tests=false
+
+		#verbose # Let upstream choose default for verbose mode
+		#xwayland_path
+		# TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops)
+		#xwayland_grab_default_access_rules
+	)
+
+	if use wayland && use video_cards_nvidia; then
+		emesonargs+=(
+			-Degl_device=true
+			-Dwayland_eglstream=true
+		)
+	else
+		emesonargs+=(
+			-Degl_device=false
+			-Dwayland_eglstream=false
+		)
+	fi
+
+	meson_src_configure
+}
+
+src_test() {
+	# Reset variables to avoid issues from /etc/profile.d/flatpak.sh file
+	gnome2_environment_reset
+	export XDG_DATA_DIRS="${EPREFIX}"/usr/share
+	glib-compile-schemas "${BUILD_DIR}"/data
+	GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI
+}
+
+pkg_postinst() {
+	use udev && udev_reload
+	xdg_pkg_postinst
+	gnome2_schemas_update
+}
+
+pkg_postrm() {
+	use udev && udev_reload
+	xdg_pkg_postrm
+	gnome2_schemas_update
+}


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/files/, x11-wm/mutter/
@ 2023-05-17 21:55 Matt Turner
  0 siblings, 0 replies; 12+ messages in thread
From: Matt Turner @ 2023-05-17 21:55 UTC (permalink / raw
  To: gentoo-commits

commit:     dcef3c213fc9fccede1218579a1e3fcdd396e5d5
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Wed May 17 21:15:51 2023 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Wed May 17 21:54:59 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dcef3c21

x11-wm/mutter: Drop old versions

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 x11-wm/mutter/Manifest                             |   3 -
 .../files/mutter-44.0-no-screencast-build.patch    |  69 -------
 x11-wm/mutter/mutter-43.3.ebuild                   | 206 ------------------
 x11-wm/mutter/mutter-43.4.ebuild                   | 206 ------------------
 x11-wm/mutter/mutter-44.0-r1.ebuild                | 229 ---------------------
 5 files changed, 713 deletions(-)

diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
index 0df44b9e2c1d..35fa6efca8d5 100644
--- a/x11-wm/mutter/Manifest
+++ b/x11-wm/mutter/Manifest
@@ -1,4 +1 @@
-DIST mutter-43.3.tar.xz 2782016 BLAKE2B 9a931dba410a71e67383a453c4480622fce3333ea5d7466bf05cf20b474e3cb06288ea8015bc391a77fc3a358c60282a965428c4984006a0ea8db9a7cfee2e2f SHA512 5e9d4b213ac674889af9c15dd52f79a28a1c38af57f08a19bd6b2bf78a799aaa2f6dcb76adb9fa8d6a94e21d988befc37a696bc06801c96e1f692c80a5aff2ae
-DIST mutter-43.4.tar.xz 2782136 BLAKE2B 8b1ebf42fcd0dc7b502c09f54f21454a71c1cc0a366da5306b3d088ff9bc849f561358454844e8ee40b79e878d2240714a6aeae1be424f52e7a3f7fd0d190f43 SHA512 ca80ceb9233dca0b8331e7fc8ebced67871a2ecf606a648ec9f6922f1a53db107e20446b828813fcab8234467b9325623708eff066cf8d803a6b2e5695766ccb
-DIST mutter-44.0.tar.xz 2838932 BLAKE2B 0a5ea5a45a8074face45727af5d332ef61d69180d941634bf1ab673f53cd710893ccbedd16cb7bc1a09b51120b2047105a04a8eae4fbcb3803179eba89c7d73e SHA512 c7d35e797d080f90cc43b2904bb04d2328fecd13cd7d1ab12b1db735d331b2df9501668c2e0f7a10ea3ad9821048b09cbeb7149fcda3d43f37e5a1834bb04e2b
 DIST mutter-44.1.tar.xz 2843780 BLAKE2B f148b96ebeeb5db9cb620ca0870862cde579fc6d5ca9ddf87d6b6ad982baf67326b931b4a43cc9c4c9aa3b7752faa6fbbac2254c75924f0fa33fb34ae16db8fe SHA512 42cf748d83736e4a3ba595329d784829c278ea74c2db816bad770976000ee1f5070e0caf756ba123178819fdec6ae9380017f3c44f08bbff19c8bcaa46b6f33c

diff --git a/x11-wm/mutter/files/mutter-44.0-no-screencast-build.patch b/x11-wm/mutter/files/mutter-44.0-no-screencast-build.patch
deleted file mode 100644
index 4544a72f1e7e..000000000000
--- a/x11-wm/mutter/files/mutter-44.0-no-screencast-build.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-https://bugs.gentoo.org/901809
-https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2935
-
-From 28a599631de8fbbf28777e5238da1d7addcc0d56 Mon Sep 17 00:00:00 2001
-From: Chris Mayo <aklhfex@gmail.com>
-Date: Sat, 1 Apr 2023 18:02:56 +0100
-Subject: [PATCH] backend: Fix build with -Dremote_desktop=false
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-../mutter-44.0/src/backends/meta-backend.c: In function ‘meta_backend_real_post_init’:
-../mutter-44.0/src/backends/meta-backend.c:560:7: error: ‘MetaBackendPrivate’ {aka ‘struct _MetaBackendPrivate’} has no member named ‘remote_access_controller’
-  560 |   priv->remote_access_controller =
-      |       ^~
-
-Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2655
-Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2935>
----
- src/backends/meta-backend.c | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
-
-diff --git a/src/backends/meta-backend.c b/src/backends/meta-backend.c
-index d278e6a85..e77b9612b 100644
---- a/src/backends/meta-backend.c
-+++ b/src/backends/meta-backend.c
-@@ -63,6 +63,7 @@
- #include "backends/meta-input-settings-private.h"
- #include "backends/meta-logical-monitor.h"
- #include "backends/meta-monitor-manager-dummy.h"
-+#include "backends/meta-remote-access-controller-private.h"
- #include "backends/meta-settings-private.h"
- #include "backends/meta-stage-private.h"
- #include "backends/x11/meta-backend-x11.h"
-@@ -77,7 +78,6 @@
- #include "meta/util.h"
- 
- #ifdef HAVE_REMOTE_DESKTOP
--#include "backends/meta-remote-access-controller-private.h"
- #include "backends/meta-remote-desktop.h"
- #include "backends/meta-screen-cast.h"
- #endif
-@@ -134,8 +134,8 @@ struct _MetaBackendPrivate
- #endif
-   MetaSettings *settings;
-   MetaDbusSessionWatcher *dbus_session_watcher;
--#ifdef HAVE_REMOTE_DESKTOP
-   MetaRemoteAccessController *remote_access_controller;
-+#ifdef HAVE_REMOTE_DESKTOP
-   MetaScreenCast *screen_cast;
-   MetaRemoteDesktop *remote_desktop;
- #endif
-@@ -1410,13 +1410,9 @@ meta_backend_get_screen_cast (MetaBackend *backend)
- MetaRemoteAccessController *
- meta_backend_get_remote_access_controller (MetaBackend *backend)
- {
--#ifdef HAVE_REMOTE_DESKTOP
-   MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
- 
-   return priv->remote_access_controller;
--#else
--  return NULL;
--#endif
- }
- 
- /**
--- 
-2.39.2
-

diff --git a/x11-wm/mutter/mutter-43.3.ebuild b/x11-wm/mutter/mutter-43.3.ebuild
deleted file mode 100644
index e6e29160b91d..000000000000
--- a/x11-wm/mutter/mutter-43.3.ebuild
+++ /dev/null
@@ -1,206 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
-inherit gnome.org gnome2-utils meson python-any-r1 udev xdg
-
-DESCRIPTION="GNOME compositing window manager based on Clutter"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
-
-LICENSE="GPL-2+"
-SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
-
-IUSE="doc elogind gnome input_devices_wacom +introspection screencast sysprof systemd test udev wayland video_cards_nvidia"
-# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
-REQUIRED_USE="
-	wayland? ( ^^ ( elogind systemd ) udev )
-	test? ( wayland )"
-RESTRICT="!test? ( test )"
-
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
-# xorg-server is needed at build and runtime with USE=wayland for Xwayland
-# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
-DEPEND="
-	>=media-libs/lcms-2.6:2
-	>=x11-misc/colord-1.4.5:=
-	>=x11-libs/libX11-1.7.0
-	>=media-libs/graphene-1.10.2[introspection?]
-	>=x11-libs/gtk+-3.19.8:3[X,introspection?]
-	x11-libs/gdk-pixbuf:2
-	>=x11-libs/pango-1.46[introspection?]
-	>=dev-libs/fribidi-1.0.0
-	>=x11-libs/cairo-1.14[X]
-	>=gnome-base/gsettings-desktop-schemas-42.0[introspection?]
-	>=dev-libs/glib-2.69.0:2
-	gnome-base/gnome-settings-daemon
-	>=dev-libs/json-glib-0.12.0[introspection?]
-	>=x11-libs/libxkbcommon-0.4.3
-	x11-libs/libICE
-	>=app-accessibility/at-spi2-core-2.46:2[introspection?]
-	>=media-libs/libcanberra-0.26
-	sys-apps/dbus
-	gnome? ( gnome-base/gnome-desktop:3= )
-	media-libs/libglvnd[X]
-	sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 )
-	systemd? ( sys-apps/systemd )
-	wayland? (
-		>=dev-libs/wayland-protocols-1.26
-		>=dev-libs/wayland-1.21.0
-		x11-libs/libdrm
-		>=media-libs/mesa-21.3[egl(+),gbm(+),wayland,gles2]
-		>=dev-libs/libinput-1.18.0:=
-		elogind? ( sys-auth/elogind )
-		x11-base/xwayland
-		video_cards_nvidia? ( gui-libs/egl-wayland )
-	)
-	udev? ( >=dev-libs/libgudev-232
-		>=virtual/libudev-232-r1:=
-	)
-	x11-libs/libSM
-	input_devices_wacom? ( >=dev-libs/libwacom-0.13:= )
-	>=x11-libs/startup-notification-0.7
-	screencast? ( >=media-video/pipewire-0.3.21:= )
-	introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-	doc? ( >=dev-util/gi-docgen-2021.1 )
-"
-# for now upstream has "have_x11 = true" in the meson.build, but sooner or later upstream is going to make X optional.
-#	X? (
-DEPEND+="
-		>=x11-libs/libXcomposite-0.4
-		x11-libs/libXcursor
-		x11-libs/libXdamage
-		x11-libs/libXext
-		>=x11-libs/libXfixes-3
-		>=x11-libs/libXi-1.7.4
-		x11-libs/libXtst
-		x11-libs/libxkbfile
-		x11-misc/xkeyboard-config
-		>=x11-libs/libxkbcommon-0.4.3[X]
-		x11-libs/libXrender
-		>=x11-libs/libXrandr-1.5.0
-		x11-libs/libxcb:=
-		x11-libs/libXinerama
-		x11-libs/libXau
-"
-#	)"
-
-RDEPEND="${DEPEND}
-	gnome-extra/zenity
-
-	!<gui-libs/gtk-4.6.4:4
-	!<x11-libs/gtk+-3.24.34:3
-"
-DEPEND="${DEPEND}
-	x11-base/xorg-proto
-	sysprof? ( >=dev-util/sysprof-common-3.38.0 )
-"
-BDEPEND="
-	dev-util/wayland-scanner
-	dev-util/gdbus-codegen
-	dev-util/glib-utils
-	>=sys-devel/gettext-0.19.8
-	virtual/pkgconfig
-	test? (
-		${PYTHON_DEPS}
-		$(python_gen_any_dep '
-			>=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]
-		')
-		app-text/docbook-xml-dtd:4.5
-		x11-misc/xvfb-run
-	)
-	wayland? (
-		>=sys-kernel/linux-headers-4.4
-		x11-libs/libxcvt
-	)
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-43.0-Disable-anonymous-file-test.patch
-)
-
-python_check_deps() {
-	if use test; then
-		python_has_version ">=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]"
-	fi
-}
-
-src_prepare() {
-	default
-
-	sed -i -e "s:#!/usr/bin/bash:#!$(command -v bash):" src/tests/x11-test.sh || die
-}
-
-src_configure() {
-	# TODO: Replicate debug vs release meson build type behaviour under our buildtype=plain
-	local emesonargs=(
-		-Dopengl=true
-		#opengl_libname
-		#gles2_libname
-		$(meson_use wayland gles2)
-		-Degl=true
-		-Dglx=true
-		$(meson_use wayland)
-		$(meson_use systemd)
-		$(meson_use wayland native_backend)
-		$(meson_use screencast remote_desktop)
-		-Dlibgnome_desktop=true
-		$(meson_use udev)
-		-Dudev_dir=$(get_udevdir)
-		$(meson_use input_devices_wacom libwacom)
-		-Dsound_player=true
-		-Dpango_ft2=true
-		-Dstartup_notification=true
-		-Dsm=true
-		$(meson_use introspection)
-		$(meson_use doc docs)
-		$(meson_use test cogl_tests)
-		$(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
-		-Dnative_tests=false
-		$(meson_use test clutter_tests)
-		$(meson_use test tests)
-		-Dkvm_tests=false
-		-Dtty_tests=false
-		$(meson_use sysprof profiler)
-		-Dinstalled_tests=false
-
-		#verbose # Let upstream choose default for verbose mode
-		#xwayland_path
-		# TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops)
-		#xwayland_grab_default_access_rules
-	)
-
-	if use wayland && use video_cards_nvidia; then
-		emesonargs+=(
-			-Degl_device=true
-			-Dwayland_eglstream=true
-		)
-	else
-		emesonargs+=(
-			-Degl_device=false
-			-Dwayland_eglstream=false
-		)
-	fi
-
-	meson_src_configure
-}
-
-src_test() {
-	gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed
-	glib-compile-schemas "${BUILD_DIR}"/data
-	GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI
-}
-
-pkg_postinst() {
-	use udev && udev_reload
-	xdg_pkg_postinst
-	gnome2_schemas_update
-}
-
-pkg_postrm() {
-	use udev && udev_reload
-	xdg_pkg_postrm
-	gnome2_schemas_update
-}

diff --git a/x11-wm/mutter/mutter-43.4.ebuild b/x11-wm/mutter/mutter-43.4.ebuild
deleted file mode 100644
index e6e29160b91d..000000000000
--- a/x11-wm/mutter/mutter-43.4.ebuild
+++ /dev/null
@@ -1,206 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
-inherit gnome.org gnome2-utils meson python-any-r1 udev xdg
-
-DESCRIPTION="GNOME compositing window manager based on Clutter"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
-
-LICENSE="GPL-2+"
-SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
-
-IUSE="doc elogind gnome input_devices_wacom +introspection screencast sysprof systemd test udev wayland video_cards_nvidia"
-# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
-REQUIRED_USE="
-	wayland? ( ^^ ( elogind systemd ) udev )
-	test? ( wayland )"
-RESTRICT="!test? ( test )"
-
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
-# xorg-server is needed at build and runtime with USE=wayland for Xwayland
-# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
-DEPEND="
-	>=media-libs/lcms-2.6:2
-	>=x11-misc/colord-1.4.5:=
-	>=x11-libs/libX11-1.7.0
-	>=media-libs/graphene-1.10.2[introspection?]
-	>=x11-libs/gtk+-3.19.8:3[X,introspection?]
-	x11-libs/gdk-pixbuf:2
-	>=x11-libs/pango-1.46[introspection?]
-	>=dev-libs/fribidi-1.0.0
-	>=x11-libs/cairo-1.14[X]
-	>=gnome-base/gsettings-desktop-schemas-42.0[introspection?]
-	>=dev-libs/glib-2.69.0:2
-	gnome-base/gnome-settings-daemon
-	>=dev-libs/json-glib-0.12.0[introspection?]
-	>=x11-libs/libxkbcommon-0.4.3
-	x11-libs/libICE
-	>=app-accessibility/at-spi2-core-2.46:2[introspection?]
-	>=media-libs/libcanberra-0.26
-	sys-apps/dbus
-	gnome? ( gnome-base/gnome-desktop:3= )
-	media-libs/libglvnd[X]
-	sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 )
-	systemd? ( sys-apps/systemd )
-	wayland? (
-		>=dev-libs/wayland-protocols-1.26
-		>=dev-libs/wayland-1.21.0
-		x11-libs/libdrm
-		>=media-libs/mesa-21.3[egl(+),gbm(+),wayland,gles2]
-		>=dev-libs/libinput-1.18.0:=
-		elogind? ( sys-auth/elogind )
-		x11-base/xwayland
-		video_cards_nvidia? ( gui-libs/egl-wayland )
-	)
-	udev? ( >=dev-libs/libgudev-232
-		>=virtual/libudev-232-r1:=
-	)
-	x11-libs/libSM
-	input_devices_wacom? ( >=dev-libs/libwacom-0.13:= )
-	>=x11-libs/startup-notification-0.7
-	screencast? ( >=media-video/pipewire-0.3.21:= )
-	introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-	doc? ( >=dev-util/gi-docgen-2021.1 )
-"
-# for now upstream has "have_x11 = true" in the meson.build, but sooner or later upstream is going to make X optional.
-#	X? (
-DEPEND+="
-		>=x11-libs/libXcomposite-0.4
-		x11-libs/libXcursor
-		x11-libs/libXdamage
-		x11-libs/libXext
-		>=x11-libs/libXfixes-3
-		>=x11-libs/libXi-1.7.4
-		x11-libs/libXtst
-		x11-libs/libxkbfile
-		x11-misc/xkeyboard-config
-		>=x11-libs/libxkbcommon-0.4.3[X]
-		x11-libs/libXrender
-		>=x11-libs/libXrandr-1.5.0
-		x11-libs/libxcb:=
-		x11-libs/libXinerama
-		x11-libs/libXau
-"
-#	)"
-
-RDEPEND="${DEPEND}
-	gnome-extra/zenity
-
-	!<gui-libs/gtk-4.6.4:4
-	!<x11-libs/gtk+-3.24.34:3
-"
-DEPEND="${DEPEND}
-	x11-base/xorg-proto
-	sysprof? ( >=dev-util/sysprof-common-3.38.0 )
-"
-BDEPEND="
-	dev-util/wayland-scanner
-	dev-util/gdbus-codegen
-	dev-util/glib-utils
-	>=sys-devel/gettext-0.19.8
-	virtual/pkgconfig
-	test? (
-		${PYTHON_DEPS}
-		$(python_gen_any_dep '
-			>=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]
-		')
-		app-text/docbook-xml-dtd:4.5
-		x11-misc/xvfb-run
-	)
-	wayland? (
-		>=sys-kernel/linux-headers-4.4
-		x11-libs/libxcvt
-	)
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-43.0-Disable-anonymous-file-test.patch
-)
-
-python_check_deps() {
-	if use test; then
-		python_has_version ">=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]"
-	fi
-}
-
-src_prepare() {
-	default
-
-	sed -i -e "s:#!/usr/bin/bash:#!$(command -v bash):" src/tests/x11-test.sh || die
-}
-
-src_configure() {
-	# TODO: Replicate debug vs release meson build type behaviour under our buildtype=plain
-	local emesonargs=(
-		-Dopengl=true
-		#opengl_libname
-		#gles2_libname
-		$(meson_use wayland gles2)
-		-Degl=true
-		-Dglx=true
-		$(meson_use wayland)
-		$(meson_use systemd)
-		$(meson_use wayland native_backend)
-		$(meson_use screencast remote_desktop)
-		-Dlibgnome_desktop=true
-		$(meson_use udev)
-		-Dudev_dir=$(get_udevdir)
-		$(meson_use input_devices_wacom libwacom)
-		-Dsound_player=true
-		-Dpango_ft2=true
-		-Dstartup_notification=true
-		-Dsm=true
-		$(meson_use introspection)
-		$(meson_use doc docs)
-		$(meson_use test cogl_tests)
-		$(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
-		-Dnative_tests=false
-		$(meson_use test clutter_tests)
-		$(meson_use test tests)
-		-Dkvm_tests=false
-		-Dtty_tests=false
-		$(meson_use sysprof profiler)
-		-Dinstalled_tests=false
-
-		#verbose # Let upstream choose default for verbose mode
-		#xwayland_path
-		# TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops)
-		#xwayland_grab_default_access_rules
-	)
-
-	if use wayland && use video_cards_nvidia; then
-		emesonargs+=(
-			-Degl_device=true
-			-Dwayland_eglstream=true
-		)
-	else
-		emesonargs+=(
-			-Degl_device=false
-			-Dwayland_eglstream=false
-		)
-	fi
-
-	meson_src_configure
-}
-
-src_test() {
-	gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed
-	glib-compile-schemas "${BUILD_DIR}"/data
-	GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI
-}
-
-pkg_postinst() {
-	use udev && udev_reload
-	xdg_pkg_postinst
-	gnome2_schemas_update
-}
-
-pkg_postrm() {
-	use udev && udev_reload
-	xdg_pkg_postrm
-	gnome2_schemas_update
-}

diff --git a/x11-wm/mutter/mutter-44.0-r1.ebuild b/x11-wm/mutter/mutter-44.0-r1.ebuild
deleted file mode 100644
index 3ca6e7a5b72e..000000000000
--- a/x11-wm/mutter/mutter-44.0-r1.ebuild
+++ /dev/null
@@ -1,229 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
-inherit gnome.org gnome2-utils meson python-any-r1 udev xdg
-
-DESCRIPTION="GNOME compositing window manager based on Clutter"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
-
-LICENSE="GPL-2+"
-SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
-
-IUSE="debug elogind gnome gtk-doc input_devices_wacom +introspection screencast sysprof systemd test udev wayland video_cards_nvidia"
-# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
-REQUIRED_USE="
-	gtk-doc? ( introspection )
-	wayland? ( ^^ ( elogind systemd ) udev )
-	test? ( wayland )"
-RESTRICT="!test? ( test )"
-
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
-# xorg-server is needed at build and runtime with USE=wayland for Xwayland
-# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
-DEPEND="
-	>=media-libs/graphene-1.10.2[introspection?]
-	x11-libs/gdk-pixbuf:2
-	>=x11-libs/pango-1.46[introspection?]
-	>=x11-libs/cairo-1.14[X]
-	>=dev-libs/fribidi-1.0.0
-	>=gnome-base/gsettings-desktop-schemas-42.0[introspection?]
-	>=dev-libs/glib-2.75.1:2
-	gnome-base/gnome-settings-daemon
-	>=dev-libs/json-glib-0.12.0[introspection?]
-	>=x11-libs/libxkbcommon-0.4.3
-	x11-libs/libICE
-	>=app-accessibility/at-spi2-core-2.46:2[introspection?]
-	sys-apps/dbus
-	>=x11-misc/colord-1.4.5:=
-	>=media-libs/lcms-2.6:2
-	>=media-libs/harfbuzz-2.6.0
-
-	gnome? ( gnome-base/gnome-desktop:4= )
-
-	>=media-libs/libcanberra-0.26
-
-	media-libs/libglvnd[X]
-
-	wayland? (
-		>=dev-libs/wayland-protocols-1.31
-		>=dev-libs/wayland-1.21.0
-
-		x11-libs/libdrm
-		media-libs/mesa[gbm(+)]
-		>=dev-libs/libinput-1.18.0:=
-
-		elogind? ( sys-auth/elogind )
-		x11-base/xwayland
-		video_cards_nvidia? ( gui-libs/egl-wayland )
-	)
-	udev? (
-		>=virtual/libudev-232-r1:=
-		>=dev-libs/libgudev-232
-	)
-	systemd? ( sys-apps/systemd )
-	x11-libs/libSM
-	input_devices_wacom? ( >=dev-libs/libwacom-0.13:= )
-	>=x11-libs/startup-notification-0.7
-	screencast? ( >=media-video/pipewire-0.3.21:= )
-	introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-	test? ( >=x11-libs/gtk+-3.19.8:3[X,introspection?] )
-	sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 >=dev-util/sysprof-3.46.0 )
-"
-# for now upstream has "have_x11 = true" in the meson.build, but sooner or later upstream is going to make X optional.
-#	X? (
-DEPEND+="
-		>=gui-libs/gtk-4.0.0:4[X,introspection?]
-		>=x11-libs/libX11-1.7.0
-		>=x11-libs/libXcomposite-0.4
-		x11-libs/libXcursor
-		x11-libs/libXdamage
-		x11-libs/libXext
-		>=x11-libs/libXfixes-3
-		>=x11-libs/libXi-1.7.4
-		x11-libs/libXtst
-		x11-libs/libxkbfile
-		x11-misc/xkeyboard-config
-		>=x11-libs/libxkbcommon-0.4.3[X]
-		x11-libs/libXrender
-		>=x11-libs/libXrandr-1.5.0
-		x11-libs/libxcb:=
-		x11-libs/libXinerama
-		x11-libs/libXau
-"
-#	)"
-
-RDEPEND="${DEPEND}
-	gnome-extra/zenity
-
-	!<gui-libs/gtk-4.6.4:4
-"
-DEPEND="${DEPEND}
-	x11-base/xorg-proto
-	sysprof? ( >=dev-util/sysprof-common-3.38.0 )
-"
-BDEPEND="
-	dev-util/wayland-scanner
-	dev-util/gdbus-codegen
-	dev-util/glib-utils
-	>=sys-devel/gettext-0.19.8
-	virtual/pkgconfig
-	gtk-doc? ( >=dev-util/gi-docgen-2021.1 )
-	test? (
-		${PYTHON_DEPS}
-		$(python_gen_any_dep '
-			>=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]
-		')
-		app-text/docbook-xml-dtd:4.5
-		x11-misc/xvfb-run
-	)
-	wayland? (
-		>=sys-kernel/linux-headers-4.4
-		x11-libs/libxcvt
-	)
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-43.0-Disable-anonymous-file-test.patch
-	"${FILESDIR}"/${PN}-44.0-no-screencast-build.patch
-)
-
-python_check_deps() {
-	if use test; then
-		python_has_version ">=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]"
-	fi
-}
-
-src_prepare() {
-	default
-
-	sed -i -e "s:#!/usr/bin/bash:#!$(command -v bash):" src/tests/x11-test.sh || die
-}
-
-src_configure() {
-	local emesonargs=(
-		# Mutter X11 renderer only supports gles2 and GLX, thus do NOT pass
-		#
-		#   -Dopengl_libname=libOpenGL.so.0
-		#
-		# while we build the x11 renderer, as we currently enable gles2 only
-		# with USE=wayland and x11 renderer wouldn't find the needed GLX symbols
-		# in a configuration where wayland is disabled, as libOpenGL doesn't
-		# include them.
-		#
-		# See
-		# - https://bugs.gentoo.org/835786
-		# - https://forums.gentoo.org/viewtopic-p-8695669.html
-
-		--buildtype $(usex debug debug plain)
-		-Dopengl=true
-		$(meson_use wayland gles2)
-		#gles2_libname
-		-Degl=true
-		-Dglx=true
-		$(meson_use wayland)
-		$(meson_use wayland xwayland)
-		$(meson_use systemd)
-		$(meson_use wayland native_backend)
-		$(meson_use screencast remote_desktop)
-		-Dlibgnome_desktop=true
-		$(meson_use udev)
-		-Dudev_dir=$(get_udevdir)
-		$(meson_use input_devices_wacom libwacom)
-		-Dsound_player=true
-		-Dpango_ft2=true
-		-Dstartup_notification=true
-		-Dsm=true
-		$(meson_use introspection)
-		$(meson_use gtk-doc docs)
-		$(meson_use test cogl_tests)
-		$(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
-		-Dnative_tests=false
-		$(meson_use test clutter_tests)
-		$(meson_use test tests)
-		-Dkvm_tests=false
-		-Dtty_tests=false
-		$(meson_use sysprof profiler)
-		-Dinstalled_tests=false
-
-		#verbose # Let upstream choose default for verbose mode
-		#xwayland_path
-		# TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops)
-		#xwayland_grab_default_access_rules
-	)
-
-	if use wayland && use video_cards_nvidia; then
-		emesonargs+=(
-			-Degl_device=true
-			-Dwayland_eglstream=true
-		)
-	else
-		emesonargs+=(
-			-Degl_device=false
-			-Dwayland_eglstream=false
-		)
-	fi
-
-	meson_src_configure
-}
-
-src_test() {
-	gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed
-	glib-compile-schemas "${BUILD_DIR}"/data
-	GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI
-}
-
-pkg_postinst() {
-	use udev && udev_reload
-	xdg_pkg_postinst
-	gnome2_schemas_update
-}
-
-pkg_postrm() {
-	use udev && udev_reload
-	xdg_pkg_postrm
-	gnome2_schemas_update
-}


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/files/, x11-wm/mutter/
@ 2023-03-27 14:14 Sam James
  0 siblings, 0 replies; 12+ messages in thread
From: Sam James @ 2023-03-27 14:14 UTC (permalink / raw
  To: gentoo-commits

commit:     71df66a832a266fd1c151d2fa89163586da4436f
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 27 14:12:52 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 27 14:12:52 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=71df66a8

x11-wm/mutter: fix build w/ USE=-screencast

Closes: https://bugs.gentoo.org/901809
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/mutter-44.0-no-screencast-build.patch    | 31 ++++++++++++++++++++++
 x11-wm/mutter/mutter-44.0.ebuild                   |  1 +
 2 files changed, 32 insertions(+)

diff --git a/x11-wm/mutter/files/mutter-44.0-no-screencast-build.patch b/x11-wm/mutter/files/mutter-44.0-no-screencast-build.patch
new file mode 100644
index 000000000000..85b95164a65a
--- /dev/null
+++ b/x11-wm/mutter/files/mutter-44.0-no-screencast-build.patch
@@ -0,0 +1,31 @@
+https://bugs.gentoo.org/901809
+https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2935
+
+From 2c1eee4d0a27439e97ff5dee541ad138aa75aaed Mon Sep 17 00:00:00 2001
+From: Chris Mayo <aklhfex@gmail.com>
+Date: Sat, 25 Mar 2023 17:22:01 +0000
+Subject: [PATCH] backend: Fix build with -Dremote_desktop=false
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+../mutter-44.0/src/backends/meta-backend.c: In function ‘meta_backend_real_post_init’:
+../mutter-44.0/src/backends/meta-backend.c:560:7: error: ‘MetaBackendPrivate’ {aka ‘struct _MetaBackendPrivate’} has no member named ‘remote_access_controller’
+  560 |   priv->remote_access_controller =
+      |       ^~
+
+Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2655
+--- a/src/backends/meta-backend.c
++++ b/src/backends/meta-backend.c
+@@ -134,8 +134,8 @@ struct _MetaBackendPrivate
+ #endif
+   MetaSettings *settings;
+   MetaDbusSessionWatcher *dbus_session_watcher;
+-#ifdef HAVE_REMOTE_DESKTOP
+   MetaRemoteAccessController *remote_access_controller;
++#ifdef HAVE_REMOTE_DESKTOP
+   MetaScreenCast *screen_cast;
+   MetaRemoteDesktop *remote_desktop;
+ #endif
+-- 
+GitLab

diff --git a/x11-wm/mutter/mutter-44.0.ebuild b/x11-wm/mutter/mutter-44.0.ebuild
index 5ef3fcb79b38..b53a43637e87 100644
--- a/x11-wm/mutter/mutter-44.0.ebuild
+++ b/x11-wm/mutter/mutter-44.0.ebuild
@@ -128,6 +128,7 @@ BDEPEND="
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-43.0-Disable-anonymous-file-test.patch
+	"${FILESDIR}"/${PN}-44.0-no-screencast-build.patch
 )
 
 python_check_deps() {


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/files/, x11-wm/mutter/
@ 2022-09-07  2:10 Matt Turner
  0 siblings, 0 replies; 12+ messages in thread
From: Matt Turner @ 2022-09-07  2:10 UTC (permalink / raw
  To: gentoo-commits

commit:     5ab1ba64e93bc0d4ee88f02d9663ea138c1c6ff0
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Tue Sep  6 23:09:16 2022 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Wed Sep  7 02:10:04 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ab1ba64

x11-wm/mutter: Reenable tests

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 ...d-native-Don-t-warn-on-EACCES-if-headless.patch | 79 ++++++++++++++++++++++
 .../{mutter-42.4.ebuild => mutter-42.4-r1.ebuild}  |  3 +-
 2 files changed, 81 insertions(+), 1 deletion(-)

diff --git a/x11-wm/mutter/files/mutter-42.4-backend-native-Don-t-warn-on-EACCES-if-headless.patch b/x11-wm/mutter/files/mutter-42.4-backend-native-Don-t-warn-on-EACCES-if-headless.patch
new file mode 100644
index 000000000000..98b58d3dfeff
--- /dev/null
+++ b/x11-wm/mutter/files/mutter-42.4-backend-native-Don-t-warn-on-EACCES-if-headless.patch
@@ -0,0 +1,79 @@
+From db854a8588c1164df2f54c5718930aadf353b948 Mon Sep 17 00:00:00 2001
+From: Simon McVittie <smcv@debian.org>
+Date: Thu, 18 Aug 2022 10:41:01 +0100
+Subject: [PATCH] backend/native: Don't warn on EACCES if headless
+
+Since commit 1bf70334 "tests/runner: Make test runner use the headless
+backend", tests are run with the native backend in headless mode, which
+will attempt to open each GPU and show a warning (fatal during tests)
+if it cannot.
+
+However, in headless mode we might not be logged in on any seat (for
+example we might be logged in via ssh instead), which means we might
+legitimately not have permission to use any GPUs, even if they exist.
+Downgrade the warning to a debug message in this case.
+
+Resolves: https://gitlab.gnome.org/GNOME/mutter/-/issues/2381
+Signed-off-by: Simon McVittie <smcv@debian.org>
+Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2584>
+(cherry picked from commit 64a67aa00bfe54fe7219d7f581950897fcbf9a75)
+---
+ src/backends/native/meta-backend-native.c | 35 +++++++++++++++++++----
+ 1 file changed, 30 insertions(+), 5 deletions(-)
+
+diff --git a/src/backends/native/meta-backend-native.c b/src/backends/native/meta-backend-native.c
+index 224538787..a2babb4b0 100644
+--- a/src/backends/native/meta-backend-native.c
++++ b/src/backends/native/meta-backend-native.c
+@@ -514,8 +514,20 @@ on_udev_device_added (MetaUdev          *udev,
+   new_gpu_kms = create_gpu_from_udev_device (native, device, &error);
+   if (!new_gpu_kms)
+     {
+-      g_warning ("Failed to hotplug secondary gpu '%s': %s",
+-                 device_path, error->message);
++      if (meta_backend_is_headless (backend) &&
++          g_error_matches (error, G_IO_ERROR,
++                           G_IO_ERROR_PERMISSION_DENIED))
++        {
++          meta_topic (META_DEBUG_BACKEND,
++                      "Ignoring unavailable secondary gpu '%s': %s",
++                      device_path, error->message);
++        }
++      else
++        {
++          g_warning ("Failed to hotplug secondary gpu '%s': %s",
++                     device_path, error->message);
++        }
++
+       return;
+     }
+ 
+@@ -552,9 +564,22 @@ init_gpus (MetaBackendNative  *native,
+ 
+       if (!gpu_kms)
+         {
+-          g_warning ("Failed to open gpu '%s': %s",
+-                     g_udev_device_get_device_file (device),
+-                     local_error->message);
++          if (meta_backend_is_headless (backend) &&
++              g_error_matches (local_error, G_IO_ERROR,
++                               G_IO_ERROR_PERMISSION_DENIED))
++            {
++              meta_topic (META_DEBUG_BACKEND,
++                          "Ignoring unavailable gpu '%s': %s'",
++                          g_udev_device_get_device_file (device),
++                          local_error->message);
++            }
++          else
++            {
++              g_warning ("Failed to open gpu '%s': %s",
++                         g_udev_device_get_device_file (device),
++                         local_error->message);
++            }
++
+           g_clear_error (&local_error);
+           continue;
+         }
+-- 
+2.35.1
+

diff --git a/x11-wm/mutter/mutter-42.4.ebuild b/x11-wm/mutter/mutter-42.4-r1.ebuild
similarity index 98%
rename from x11-wm/mutter/mutter-42.4.ebuild
rename to x11-wm/mutter/mutter-42.4-r1.ebuild
index 105efceb6652..dcaaa2a66b00 100644
--- a/x11-wm/mutter/mutter-42.4.ebuild
+++ b/x11-wm/mutter/mutter-42.4-r1.ebuild
@@ -16,7 +16,7 @@ IUSE="doc elogind gnome input_devices_wacom +introspection screencast sysprof sy
 REQUIRED_USE="
 	wayland? ( ^^ ( elogind systemd ) udev )
 	test? ( wayland )"
-RESTRICT="!test? ( test ) test" # Tests need access to /dev/dri/card0
+RESTRICT="!test? ( test )"
 
 KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
 
@@ -110,6 +110,7 @@ BDEPEND="
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-42.0-Disable-anonymous-file-test.patch
+	"${FILESDIR}"/${P}-backend-native-Don-t-warn-on-EACCES-if-headless.patch
 )
 
 python_check_deps() {


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/files/, x11-wm/mutter/
@ 2021-04-05 16:54 Matt Turner
  0 siblings, 0 replies; 12+ messages in thread
From: Matt Turner @ 2021-04-05 16:54 UTC (permalink / raw
  To: gentoo-commits

commit:     3a3c10779fda786b7e777e3112c51059d8432bdd
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 21 21:28:17 2021 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Mon Apr  5 16:54:20 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a3c1077

x11-wm/mutter: Version bump to 40.0

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 x11-wm/mutter/Manifest                             |   1 +
 .../mutter-40.0-Disable-anonymous-file-test.patch  |  32 +++++
 x11-wm/mutter/mutter-40.0.ebuild                   | 148 +++++++++++++++++++++
 3 files changed, 181 insertions(+)

diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
index 2c031d4b06f..dce388faa4b 100644
--- a/x11-wm/mutter/Manifest
+++ b/x11-wm/mutter/Manifest
@@ -4,3 +4,4 @@ DIST mutter-3.38.2.tar.xz 2621648 BLAKE2B 93ddeaa8b1c09ac0cd711513cb755eb94b72c1
 DIST mutter-3.38.3-r1-patchset.tar.xz 6576 BLAKE2B 9bda2b0891df1a945d9bd0fd2867f1b4895bb9a29dbae14511192afd5b3a6776d41105924c904d47745bd2bd088136109db4df82b3a17c08040ceb40611e8dc1 SHA512 86763c6c652807a2389b373e94fed99e4557d7be89aeb269836855e9ec251944f5c3a0d4219f31a49c7cfe9ecde7972b3e1b7ad9f231d16999eaa36cee2aef41
 DIST mutter-3.38.3.tar.xz 2622808 BLAKE2B 3ee6442c03a3ca5bbaecd32ac451e9c2ba91258af0425745ea871aca2a95218d8afcff8b2e5845e5ab8a4ff2c0308a0bcc0561922b4675ad68b700c04dd3028d SHA512 686027d097ffff439e5a21f7bc748251da8b2f7fdccb2c17599fd6a141b0fda04fe7a19cbb3be2b3e668075fff562bcdae68a61ffb049d103b5b05f2443a5315
 DIST mutter-3.38.4.tar.xz 2623788 BLAKE2B 27ca701459b3b70c790c8fec02b5e34eebecf5b4bd11a706a25eea19af0ee5be278835d6f789c4f77df6ec2ab23ae58bb491a0591d1ff51c9dae4690b9dde73f SHA512 a80728a5bd99e727717cb49f0fbfa0db0bb02b64d7e287b4b7e5e848774ea2191db57f8c70d4b1852db201384ac413daa7108472610e8f8986d13744d800fe11
+DIST mutter-40.0.tar.xz 2678364 BLAKE2B 3016216c396e5362a3c92dae44911ab67be6ad38b551ffef772f840fc1202ccd59a6800fe76526bab7ba1adf645a243bc000301ff6b331c949f660380143bcff SHA512 af4fd21e5ea7e2cf1004d6912771279cebb2fc60f51f5c7371fd5f6fefbfbd7e36841de98757b8f116b0d2006c1151ccf74ed03ee62836cf59d2a86eaf48084d

diff --git a/x11-wm/mutter/files/mutter-40.0-Disable-anonymous-file-test.patch b/x11-wm/mutter/files/mutter-40.0-Disable-anonymous-file-test.patch
new file mode 100644
index 00000000000..484c62c5a0c
--- /dev/null
+++ b/x11-wm/mutter/files/mutter-40.0-Disable-anonymous-file-test.patch
@@ -0,0 +1,32 @@
+From 7353efd2f326b3f855db52ba8643ac4e793d5ffc Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Sun, 21 Mar 2021 18:31:22 -0400
+Subject: [PATCH] Disable anonymous-file test
+
+It attempts to open /proc/self/fd/* (an fd created by memfd_create),
+which sandbox disallows.
+---
+ src/tests/meson.build | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/src/tests/meson.build b/src/tests/meson.build
+index 8ee409e20..50c930c2a 100644
+--- a/src/tests/meson.build
++++ b/src/tests/meson.build
+@@ -285,13 +285,6 @@ test('stage-view', stage_view_tests,
+   timeout: 60,
+ )
+ 
+-test('anonymous-file', anonymous_file_test,
+-  suite: ['core', 'mutter/unit'],
+-  env: test_env,
+-  is_parallel: false,
+-  timeout: 60,
+-)
+-
+ if have_native_tests
+   test('native-headless', native_headless_tests,
+     suite: ['core', 'mutter/native/headless'],
+-- 
+2.26.2
+

diff --git a/x11-wm/mutter/mutter-40.0.ebuild b/x11-wm/mutter/mutter-40.0.ebuild
new file mode 100644
index 00000000000..19f0ff73808
--- /dev/null
+++ b/x11-wm/mutter/mutter-40.0.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnome.org gnome2-utils meson virtualx xdg
+
+DESCRIPTION="GNOME 3 compositing window manager based on Clutter"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
+
+LICENSE="GPL-2+"
+SLOT="0/8" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
+
+IUSE="elogind input_devices_wacom +introspection screencast sysprof systemd test udev wayland"
+# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
+REQUIRED_USE="
+	wayland? ( ^^ ( elogind systemd ) udev )
+	test? ( wayland )"
+RESTRICT="!test? ( test )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
+# xorg-server is needed at build and runtime with USE=wayland for Xwayland
+# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
+DEPEND="
+	x11-libs/libX11
+	>=media-libs/graphene-1.10.2[introspection?]
+	>=x11-libs/gtk+-3.19.8:3[X,introspection?]
+	x11-libs/gdk-pixbuf:2
+	>=x11-libs/pango-1.46[introspection?]
+	>=dev-libs/fribidi-1.0.0
+	>=x11-libs/cairo-1.14[X]
+	>=gnome-base/gsettings-desktop-schemas-40.0[introspection?]
+	>=dev-libs/glib-2.67.3:2
+	gnome-base/gnome-settings-daemon
+	>=dev-libs/json-glib-0.12.0[introspection?]
+	gnome-base/gnome-desktop:3=
+	>=x11-libs/libXcomposite-0.4
+	x11-libs/libXcursor
+	x11-libs/libXdamage
+	x11-libs/libXext
+	>=x11-libs/libXfixes-3
+	>=x11-libs/libXi-1.7.4
+	x11-libs/libXtst
+	x11-libs/libxkbfile
+	x11-misc/xkeyboard-config
+	>=x11-libs/libxkbcommon-0.4.3[X]
+	x11-libs/libXrender
+	>=x11-libs/libXrandr-1.5.0
+	x11-libs/libxcb
+	x11-libs/libXinerama
+	x11-libs/libXau
+	x11-libs/libICE
+	>=dev-libs/atk-2.5.3[introspection?]
+	>=media-libs/libcanberra-0.26
+	sys-apps/dbus
+	media-libs/mesa[X(+),egl]
+	sysprof? ( >=dev-util/sysprof-capture-3.38.0:4 )
+	wayland? (
+		>=dev-libs/wayland-protocols-1.19
+		>=dev-libs/wayland-1.18.0
+		x11-libs/libdrm:=
+		>=media-libs/mesa-17.3[egl,gbm,wayland,gles2]
+		>=dev-libs/libinput-1.15.0
+		systemd? ( sys-apps/systemd )
+		elogind? ( sys-auth/elogind )
+		x11-base/xorg-server[wayland]
+	)
+	udev? ( >=dev-libs/libgudev-232:=
+		>=virtual/libudev-232-r1:= )
+	x11-libs/libSM
+	input_devices_wacom? ( >=dev-libs/libwacom-0.13 )
+	>=x11-libs/startup-notification-0.7
+	screencast? ( >=media-video/pipewire-0.3.21:0/0.3 )
+	introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+"
+RDEPEND="${DEPEND}
+	gnome-extra/zenity
+"
+DEPEND="${DEPEND}
+	x11-base/xorg-proto
+	sysprof? ( >=dev-util/sysprof-common-3.38.0 )
+"
+# wayland bdepend for wayland-scanner, xorg-server for cvt utility
+BDEPEND="
+	dev-libs/wayland
+	dev-util/gdbus-codegen
+	dev-util/glib-utils
+	>=sys-devel/gettext-0.19.8
+	virtual/pkgconfig
+	test? ( app-text/docbook-xml-dtd:4.5 )
+	wayland? ( >=sys-kernel/linux-headers-4.4
+		x11-base/xorg-server )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-Disable-anonymous-file-test.patch
+)
+
+src_configure() {
+	# TODO: Replicate debug vs release meson build type behaviour under our buildtype=plain
+	local emesonargs=(
+		-Dopengl=true
+		#opengl_libname
+		#gles2_libname
+		$(meson_use wayland gles2)
+		-Degl=true
+		-Dglx=true
+		$(meson_use wayland)
+		$(meson_use wayland native_backend)
+		$(meson_use screencast remote_desktop)
+		-Degl_device=false # This should be dependent on wayland,video_drivers_nvidia, once eglstream support is there
+		-Dwayland_eglstream=false # requires packages egl-wayland for wayland-eglstream-protocols.pc
+		$(meson_use udev)
+		$(meson_use input_devices_wacom libwacom)
+		-Dpango_ft2=true
+		-Dstartup_notification=true
+		-Dsm=true
+		$(meson_use introspection)
+		$(meson_use test cogl_tests)
+		$(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
+		-Dnative_tests=false
+		$(meson_use test clutter_tests)
+		$(meson_use test tests)
+		$(meson_use sysprof profiler)
+		-Dinstalled_tests=false
+		#verbose # Let upstream choose default for verbose mode
+		#xwayland_path
+		# TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops)
+		#xwayland_grab_default_access_rules
+	)
+	meson_src_configure
+}
+
+src_test() {
+	glib-compile-schemas "${BUILD_DIR}"/data
+	GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data virtx meson_src_test
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+	gnome2_schemas_update
+}
+
+pkg_postrm() {
+	xdg_pkg_postrm
+	gnome2_schemas_update
+}


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/files/, x11-wm/mutter/
@ 2020-05-17 11:32 Mart Raudsepp
  0 siblings, 0 replies; 12+ messages in thread
From: Mart Raudsepp @ 2020-05-17 11:32 UTC (permalink / raw
  To: gentoo-commits

commit:     a15c1b8c84bc04e2273c75d36db42b704ccdcbda
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sun May 17 11:27:49 2020 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sun May 17 11:32:02 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a15c1b8c

x11-wm/mutter: add patch that may fix some potential X11 crashers

Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 x11-wm/mutter/files/3.34.6-XInitThreads.patch |  50 +++++++++
 x11-wm/mutter/mutter-3.34.6-r1.ebuild         | 146 ++++++++++++++++++++++++++
 2 files changed, 196 insertions(+)

diff --git a/x11-wm/mutter/files/3.34.6-XInitThreads.patch b/x11-wm/mutter/files/3.34.6-XInitThreads.patch
new file mode 100644
index 00000000000..f53f6ba9397
--- /dev/null
+++ b/x11-wm/mutter/files/3.34.6-XInitThreads.patch
@@ -0,0 +1,50 @@
+From 8b3f1117be1e90866747fa9c9e7ae1c5812ba918 Mon Sep 17 00:00:00 2001
+From: Daniel van Vugt <daniel.van.vugt@canonical.com>
+Date: Thu, 14 May 2020 18:13:56 +0800
+Subject: [PATCH] backend-x11: Reintroduce XInitThreads
+
+It was removed in 3.34 as part of 6ed5d2e2. And we thought that was the
+only thread that might exist and use X11. But the top gnome-shell crasher
+in 3.36 seems to suggest otherwise.
+
+We don't know what or where the offending thread is, but since:
+
+ 1. We used XInitThreads for years already prior to 3.34; and
+
+ 2. Extensions or any change to mutter/gnome-shell could conceivably use
+    threads to make X calls, directly or indirectly,
+
+it's probably a good idea to reintroduce XInitThreads. The failing assertion
+in libx11 is also accompanied by a strong hint:
+
+```
+fprintf(stderr, "[xcb] Most likely this is a multi-threaded client " \
+                "and XInitThreads has not been called\n");
+```
+
+https://bugs.launchpad.net/bugs/1877075
+
+Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1252
+
+https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1256
+
+(cherry picked from commit 1d5f9b6917517d6e777a652cfa5e648794dc632a)
+---
+ src/backends/x11/meta-backend-x11.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/backends/x11/meta-backend-x11.c b/src/backends/x11/meta-backend-x11.c
+index 225d14d33..539ca5348 100644
+--- a/src/backends/x11/meta-backend-x11.c
++++ b/src/backends/x11/meta-backend-x11.c
+@@ -859,6 +859,7 @@ meta_backend_x11_class_init (MetaBackendX11Class *klass)
+ static void
+ meta_backend_x11_init (MetaBackendX11 *x11)
+ {
++  XInitThreads ();
+ }
+ 
+ Display *
+-- 
+2.20.1
+

diff --git a/x11-wm/mutter/mutter-3.34.6-r1.ebuild b/x11-wm/mutter/mutter-3.34.6-r1.ebuild
new file mode 100644
index 00000000000..722e7bb3d13
--- /dev/null
+++ b/x11-wm/mutter/mutter-3.34.6-r1.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnome.org gnome2-utils meson virtualx xdg
+
+DESCRIPTION="GNOME 3 compositing window manager based on Clutter"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
+
+LICENSE="GPL-2+"
+SLOT="0/5" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
+
+IUSE="elogind input_devices_wacom +introspection screencast +sysprof systemd test udev wayland"
+# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
+REQUIRED_USE="
+	wayland? ( ^^ ( elogind systemd ) udev )
+	test? ( wayland )"
+RESTRICT="!test? ( test )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
+# xorg-server is needed at build and runtime with USE=wayland for Xwayland
+# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
+DEPEND="
+	x11-libs/libX11
+	>=x11-libs/gtk+-3.19.8:3[X,introspection?]
+	x11-libs/gdk-pixbuf:2
+	>=x11-libs/pango-1.30[introspection?]
+	>=dev-libs/fribidi-1.0.0
+	>=x11-libs/cairo-1.14[X]
+	>=gnome-base/gsettings-desktop-schemas-3.33.0[introspection?]
+	>=dev-libs/glib-2.61.1:2
+	gnome-base/gnome-settings-daemon
+	>=dev-libs/json-glib-0.12.0[introspection?]
+	gnome-base/gnome-desktop:3=
+	>=x11-libs/libXcomposite-0.4
+	x11-libs/libXcursor
+	x11-libs/libXdamage
+	x11-libs/libXext
+	>=x11-libs/libXfixes-3
+	>=x11-libs/libXi-1.7.4
+	x11-libs/libXtst
+	x11-libs/libxkbfile
+	x11-misc/xkeyboard-config
+	>=x11-libs/libxkbcommon-0.4.3[X]
+	x11-libs/libXrender
+	>=x11-libs/libXrandr-1.5.0
+	x11-libs/libxcb
+	x11-libs/libXinerama
+	x11-libs/libXau
+	x11-libs/libICE
+	>=dev-libs/atk-2.5.3[introspection?]
+	>=media-libs/libcanberra-0.26
+	media-libs/mesa[X(+),egl]
+	wayland? (
+		>=dev-libs/wayland-protocols-1.18
+		>=dev-libs/wayland-1.13.0
+		x11-libs/libdrm:=
+		>=media-libs/mesa-10.3[egl,gbm,wayland,gles2]
+		>=dev-libs/libinput-1.4
+		systemd? ( sys-apps/systemd )
+		elogind? ( sys-auth/elogind )
+		x11-base/xorg-server[wayland]
+	)
+	udev? ( >=dev-libs/libgudev-232:=
+		>=virtual/libudev-232-r1:= )
+	x11-libs/libSM
+	input_devices_wacom? ( >=dev-libs/libwacom-0.13 )
+	>=x11-libs/startup-notification-0.7
+	screencast? ( >=media-video/pipewire-0.2.2:0/0.2 )
+	introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+"
+RDEPEND="${DEPEND}
+	gnome-extra/zenity
+"
+DEPEND="${DEPEND}
+	x11-base/xorg-proto
+	sysprof? ( >=dev-util/sysprof-capture-3.34.1-r1:3 )
+"
+# wayland bdepend for wayland-scanner, xorg-server for cvt utility
+BDEPEND="
+	dev-libs/wayland
+	>=dev-util/meson-0.50.0
+	dev-util/gdbus-codegen
+	dev-util/glib-utils
+	>=sys-devel/gettext-0.19.8
+	virtual/pkgconfig
+	test? ( app-text/docbook-xml-dtd:4.5 )
+	wayland? ( >=sys-kernel/linux-headers-4.4
+		x11-base/xorg-server )
+"
+
+PATCHES=(
+	"${FILESDIR}"/3.32-eglmesaext-include.patch
+	"${FILESDIR}"/${PV}-XInitThreads.patch
+)
+
+src_configure() {
+	# TODO: Replicate debug vs release meson build type behaviour under our buildtype=plain
+	local emesonargs=(
+		-Dopengl=true
+		#opengl_libname
+		#gles2_libname
+		$(meson_use wayland gles2)
+		-Degl=true
+		-Dglx=true
+		$(meson_use wayland)
+		$(meson_use wayland native_backend)
+		$(meson_use screencast remote_desktop)
+		-Degl_device=false # This should be dependent on wayland,video_drivers_nvidia, once eglstream support is there
+		-Dwayland_eglstream=false # requires packages egl-wayland for wayland-eglstream-protocols.pc
+		$(meson_use udev)
+		$(meson_use input_devices_wacom libwacom)
+		-Dpango_ft2=true
+		-Dstartup_notification=true
+		-Dsm=true
+		$(meson_use introspection)
+		$(meson_use test cogl_tests)
+		$(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
+		$(meson_use test clutter_tests)
+		$(meson_use test tests)
+		$(meson_use sysprof profiler)
+		-Dinstalled_tests=false
+		#verbose # Let upstream choose default for verbose mode
+		#xwayland_path
+		# TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops)
+		#xwayland_grab_default_access_rules
+	)
+	meson_src_configure
+}
+
+src_test() {
+	glib-compile-schemas "${BUILD_DIR}"/data
+	GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data virtx meson_src_test
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+	gnome2_schemas_update
+}
+
+pkg_postrm() {
+	xdg_pkg_postrm
+	gnome2_schemas_update
+}


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/files/, x11-wm/mutter/
@ 2018-12-29 20:43 Mart Raudsepp
  0 siblings, 0 replies; 12+ messages in thread
From: Mart Raudsepp @ 2018-12-29 20:43 UTC (permalink / raw
  To: gentoo-commits

commit:     07ad9d8ac5976b699ced094afc72f89560a60d42
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 29 20:42:49 2018 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sat Dec 29 20:42:49 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=07ad9d8a

x11-wm/mutter: remove old

Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 x11-wm/mutter/Manifest                             |   1 -
 .../3.22.4-clutter-missing-null-terminator.patch   |  28 ----
 .../files/3.22.4-wayland-clipboard-fix.patch       |  32 -----
 x11-wm/mutter/files/3.22.4-wayland-crash-fix.patch |  31 -----
 .../3.22.4-wayland-ensure-pending-geometry.patch   |  47 -------
 .../mutter/files/3.22.4-wayland-size-hints.patch   |  56 --------
 x11-wm/mutter/mutter-3.22.4-r1.ebuild              | 143 ---------------------
 7 files changed, 338 deletions(-)

diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
index dfd4f2e9ed3..7563c016b1a 100644
--- a/x11-wm/mutter/Manifest
+++ b/x11-wm/mutter/Manifest
@@ -1,4 +1,3 @@
-DIST mutter-3.22.4.tar.xz 3536792 BLAKE2B e395dec6a8f5f46864ab5d7da3c345c20adf65f7609547d296036b0cb4be79e451387395f32d3d9a736a5b8c4be5a03a9fa56d5fbebeedaef3c35ea6e5c16302 SHA512 849e98186cecb4ffcab3da055febf72ef76fa87ecbdc506c696c2c7debd5183361c4b3b31d00d3c85e45d7f47aa5abf748d999571b147c831eb999116919023c
 DIST mutter-3.24.4.tar.xz 3583916 BLAKE2B 86a9e16ed96270713e400ccb4dc64b91c263125ea4a04373ed1f8364e906031ef26dc991fa13d01cf0e50895360c87be6773e3332d823c2ce1991cd57d59b292 SHA512 7ae579ab3e9df09cae37fbc1b277e382c9f610058b914b69a7bdb89f3bec510403210c0cded16a6487111507151f4d7075d161e051c0b88585d6ab6b4575b8d3
 DIST mutter-3.26.2-patchset.tar.xz 48156 BLAKE2B 7b33495a8bb7ac69f5610e1dfcb1fef49a983403fd176b229a75bcc7691e83e76a3dd87b7663ece0fcdc4077becd3ffa5e33217584f156456813769646730bf9 SHA512 2eeb9dfe137d6ea65f957ed19aa5ef83106aa16a049531c0c41d3ab6afac6c1b345cc68f2a9a9c41658172cc0dde61b946e6bf2507979ff4155e79770adf5e90
 DIST mutter-3.26.2.tar.xz 3622904 BLAKE2B b32af24c6ffcd0e6af38ab1ff7cd0ba16ea3ceb84c62ed21d9e38fff5357eda2648050beada3fc8727474407a419a2c218331c8a87f7eb68eddf824d26ca9c51 SHA512 95885b4c053d4bc467a7c11615ee3d1a3086a674ae10e7cb9bb241f692e66dd8190508db1cdf1760bc2f19100e532e68d5e147d344e94d1430d80dd26ca0156b

diff --git a/x11-wm/mutter/files/3.22.4-clutter-missing-null-terminator.patch b/x11-wm/mutter/files/3.22.4-clutter-missing-null-terminator.patch
deleted file mode 100644
index ed16b8c6f4b..00000000000
--- a/x11-wm/mutter/files/3.22.4-clutter-missing-null-terminator.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f6888519ff3e20ec8f5e6064bff5707acbe13fbd Mon Sep 17 00:00:00 2001
-From: Nigel Taylor <nigel@openbsd.org>
-Date: Fri, 5 May 2017 08:42:47 -0400
-Subject: [PATCH 2/5] clutter: conform/actor-graph: Add missing
- null-termination
-
-https://bugzilla.gnome.org/show_bug.cgi?id=759085
----
- clutter/tests/conform/actor-graph.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/clutter/tests/conform/actor-graph.c b/clutter/tests/conform/actor-graph.c
-index 0dad49b..8fbf4bc 100644
---- a/clutter/tests/conform/actor-graph.c
-+++ b/clutter/tests/conform/actor-graph.c
-@@ -350,7 +350,8 @@ actor_replace_child (void)
-   g_assert_cmpstr (clutter_actor_get_name (iter), ==, "qux");
- 
-   clutter_actor_add_child (actor, g_object_new (CLUTTER_TYPE_ACTOR,
--                                                "name", "foo"));
-+                                                "name", "foo",
-+                                                NULL));
- 
-   clutter_actor_replace_child (actor, iter,
-                                g_object_new (CLUTTER_TYPE_ACTOR,
--- 
-2.10.1
-

diff --git a/x11-wm/mutter/files/3.22.4-wayland-clipboard-fix.patch b/x11-wm/mutter/files/3.22.4-wayland-clipboard-fix.patch
deleted file mode 100644
index 24e6fd36a30..00000000000
--- a/x11-wm/mutter/files/3.22.4-wayland-clipboard-fix.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 19f08fbdbba113883c6011e4b8ccf3ea3a6eb57e Mon Sep 17 00:00:00 2001
-From: Carlos Garnacho <carlosg@gnome.org>
-Date: Wed, 10 May 2017 20:28:42 +0200
-Subject: [PATCH 5/5] xwayland: Use the right atom type for further selection
- requests to X11
-
-If we translate between text/plain;charset-utf-8 from the wayland side to
-UTF8_STRING on the X11 side, we want to continue all further X11 selection
-requests using the same translated UTF8_STRING atom than we use in the
-first XConvertSelection call.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=782472
----
- src/wayland/meta-xwayland-selection.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/wayland/meta-xwayland-selection.c b/src/wayland/meta-xwayland-selection.c
-index a78e846..24b8cd2 100644
---- a/src/wayland/meta-xwayland-selection.c
-+++ b/src/wayland/meta-xwayland-selection.c
-@@ -829,7 +829,7 @@ meta_x11_source_send (MetaWaylandDataSource *source,
-   /* Takes ownership of fd */
-   selection->x11_selection =
-     x11_selection_data_new (compositor->xwayland_manager.selection_data,
--                            fd, mime_type);
-+                            fd, gdk_x11_get_xatom_name (type_atom));
- 
-   XConvertSelection (xdisplay,
-                      selection->selection_atom, type_atom,
--- 
-2.10.1
-

diff --git a/x11-wm/mutter/files/3.22.4-wayland-crash-fix.patch b/x11-wm/mutter/files/3.22.4-wayland-crash-fix.patch
deleted file mode 100644
index a6eddb1f72e..00000000000
--- a/x11-wm/mutter/files/3.22.4-wayland-crash-fix.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From ba317dcd74baebfd8f8c8dd417ded71f6cc8c771 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
-Date: Mon, 17 Apr 2017 13:27:35 +0800
-Subject: [PATCH 1/5] wayland/subsurface: Handle clients committing on
- destroyed subsurface
-
-A client can still commit state to a destroyed subsurface. It wont
-update anything on the screen, since the subsurface will not be
-visible, but mutter should still handle it and not crash.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=781391
----
- src/wayland/meta-wayland-surface.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c
-index 99e3dfd..a6079ee 100644
---- a/src/wayland/meta-wayland-surface.c
-+++ b/src/wayland/meta-wayland-surface.c
-@@ -605,7 +605,7 @@ subsurface_role_get_toplevel (MetaWaylandSurfaceRole *surface_role)
-     meta_wayland_surface_role_get_surface (surface_role);
-   MetaWaylandSurface *parent = surface->sub.parent;
- 
--  if (parent->role)
-+  if (parent && parent->role)
-     return meta_wayland_surface_role_get_toplevel (parent->role);
-   else
-     return NULL;
--- 
-2.10.1
-

diff --git a/x11-wm/mutter/files/3.22.4-wayland-ensure-pending-geometry.patch b/x11-wm/mutter/files/3.22.4-wayland-ensure-pending-geometry.patch
deleted file mode 100644
index 543d6edb8e7..00000000000
--- a/x11-wm/mutter/files/3.22.4-wayland-ensure-pending-geometry.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From ca31a94e54819b5bfeccbeef4e7c041bbef15eac Mon Sep 17 00:00:00 2001
-From: Olivier Fourdan <ofourdan@redhat.com>
-Date: Fri, 5 May 2017 13:55:51 +0200
-Subject: [PATCH 3/5] wayland: Make sure we have a pending geometry
-
-If the client doesn't set a geometry using xdg_shell, we'll compute its
-geometry based on its surface and subsurfaces.
-
-Yet, we translate that as a window (re)size only when there is a pending
-geometry, that we don't have when we computed the geometry by ourself.
-
-Make sure we set the pending new geometry flag when computing the
-geometry when it actually changed.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=782213
----
- src/wayland/meta-wayland-xdg-shell.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/src/wayland/meta-wayland-xdg-shell.c b/src/wayland/meta-wayland-xdg-shell.c
-index aa355da..87a8382 100644
---- a/src/wayland/meta-wayland-xdg-shell.c
-+++ b/src/wayland/meta-wayland-xdg-shell.c
-@@ -1263,11 +1263,19 @@ xdg_surface_role_commit (MetaWaylandSurfaceRole  *surface_role,
-     }
-   else if (!priv->has_set_geometry)
-     {
-+      MetaRectangle new_geometry = { 0 };
-+
-       /* If the surface has never set any geometry, calculate
-        * a default one unioning the surface and all subsurfaces together. */
-+
-       meta_wayland_surface_calculate_window_geometry (surface,
--                                                      &priv->geometry,
-+                                                      &new_geometry,
-                                                       0, 0);
-+      if (!meta_rectangle_equal (&new_geometry, &priv->geometry))
-+        {
-+          pending->has_new_geometry = TRUE;
-+          priv->geometry = new_geometry;
-+        }
-     }
- }
- 
--- 
-2.10.1
-

diff --git a/x11-wm/mutter/files/3.22.4-wayland-size-hints.patch b/x11-wm/mutter/files/3.22.4-wayland-size-hints.patch
deleted file mode 100644
index 03b2b22fe65..00000000000
--- a/x11-wm/mutter/files/3.22.4-wayland-size-hints.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 40a3d67698dc992d084886e01b07a78d438bbf8e Mon Sep 17 00:00:00 2001
-From: Olivier Fourdan <ofourdan@redhat.com>
-Date: Wed, 10 May 2017 08:59:53 +0200
-Subject: [PATCH 4/5] wayland: Apply size hints regardless of geometry
-
-Previously we would bail out early in xdg_toplevel_role_commit() if no
-geometry change was set, ignoring the possible min/max size hints
-changes.
-
-But setting a min/max size hint without changing the geometry is
-perfectly valid, so we ought to apply the min/max changes regardless of
-a geometry change.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=782213
----
- src/wayland/meta-wayland-xdg-shell.c | 22 ++++++++++------------
- 1 file changed, 10 insertions(+), 12 deletions(-)
-
-diff --git a/src/wayland/meta-wayland-xdg-shell.c b/src/wayland/meta-wayland-xdg-shell.c
-index 87a8382..bd576f6 100644
---- a/src/wayland/meta-wayland-xdg-shell.c
-+++ b/src/wayland/meta-wayland-xdg-shell.c
-@@ -615,20 +615,18 @@ xdg_toplevel_role_commit (MetaWaylandSurfaceRole  *surface_role,
-   if (!window)
-     return;
- 
--  if (!pending->has_new_geometry)
-+  if (pending->has_new_geometry)
-     {
--      if (pending->dx != 0 || pending->dx != 0)
--        {
--          g_warning ("XXX: Attach-initiated move without a new geometry. This is unimplemented right now.");
--        }
--      return;
-+      window_geometry = meta_wayland_xdg_surface_get_window_geometry (xdg_surface);
-+      meta_window_wayland_move_resize (window,
-+                                       &xdg_surface_priv->acked_configure_serial,
-+                                       window_geometry,
-+                                       pending->dx, pending->dy);
-+    }
-+  else if (pending->dx != 0 || pending->dx != 0)
-+    {
-+      g_warning ("XXX: Attach-initiated move without a new geometry. This is unimplemented right now.");
-     }
--
--  window_geometry = meta_wayland_xdg_surface_get_window_geometry (xdg_surface);
--  meta_window_wayland_move_resize (window,
--                                   &xdg_surface_priv->acked_configure_serial,
--                                   window_geometry,
--                                   pending->dx, pending->dy);
- 
-   /* When we get to this point, we ought to have valid size hints */
-   if (pending->has_new_min_size || pending->has_new_max_size)
--- 
-2.10.1
-

diff --git a/x11-wm/mutter/mutter-3.22.4-r1.ebuild b/x11-wm/mutter/mutter-3.22.4-r1.ebuild
deleted file mode 100644
index db6c355e133..00000000000
--- a/x11-wm/mutter/mutter-3.22.4-r1.ebuild
+++ /dev/null
@@ -1,143 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit gnome2 virtualx
-
-DESCRIPTION="GNOME 3 compositing window manager based on Clutter"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
-
-LICENSE="GPL-2+"
-SLOT="0"
-
-IUSE="debug gles2 input_devices_wacom +introspection test udev wayland"
-
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86"
-
-# libXi-1.7.4 or newer needed per:
-# https://bugzilla.gnome.org/show_bug.cgi?id=738944
-COMMON_DEPEND="
-	>=dev-libs/atk-2.5.3
-	>=x11-libs/gdk-pixbuf-2:2
-	>=dev-libs/json-glib-0.12.0
-	>=x11-libs/pango-1.30[introspection?]
-	>=x11-libs/cairo-1.14[X]
-	>=x11-libs/gtk+-3.19.8:3[X,introspection?]
-	>=dev-libs/glib-2.49.0:2[dbus]
-	>=media-libs/libcanberra-0.26[gtk3]
-	>=x11-libs/startup-notification-0.7
-	>=x11-libs/libXcomposite-0.2
-	>=gnome-base/gsettings-desktop-schemas-3.21.4[introspection?]
-	gnome-base/gnome-desktop:3=
-	>sys-power/upower-0.99:=
-
-	x11-libs/libICE
-	x11-libs/libSM
-	x11-libs/libX11
-	>=x11-libs/libXcomposite-0.4
-	x11-libs/libXcursor
-	x11-libs/libXdamage
-	x11-libs/libXext
-	>=x11-libs/libXfixes-3
-	>=x11-libs/libXi-1.7.4
-	x11-libs/libXinerama
-	>=x11-libs/libXrandr-1.5
-	x11-libs/libXrender
-	x11-libs/libxcb
-	x11-libs/libxkbfile
-	>=x11-libs/libxkbcommon-0.4.3[X]
-	x11-misc/xkeyboard-config
-
-	gnome-extra/zenity
-	media-libs/mesa[egl]
-
-	gles2? ( media-libs/mesa[gles2] )
-	input_devices_wacom? ( >=dev-libs/libwacom-0.13 )
-	introspection? ( >=dev-libs/gobject-introspection-1.42:= )
-	udev? ( virtual/libgudev:= )
-	wayland? (
-		>=dev-libs/libinput-1.4
-		>=dev-libs/wayland-1.6.90
-		>=dev-libs/wayland-protocols-1.7
-		>=media-libs/mesa-10.3[egl,gbm,wayland]
-		sys-apps/systemd
-		virtual/libgudev:=
-		>=virtual/libudev-136:=
-		x11-base/xorg-server[wayland]
-		x11-libs/libdrm:=
-	)
-"
-DEPEND="${COMMON_DEPEND}
-	dev-util/glib-utils
-	>=sys-devel/gettext-0.19.6
-	virtual/pkgconfig
-	x11-base/xorg-proto
-	test? ( app-text/docbook-xml-dtd:4.5 )
-	wayland? ( >=sys-kernel/linux-headers-4.4 )
-"
-RDEPEND="${COMMON_DEPEND}
-	!x11-misc/expocity
-"
-
-PATCHES=(
-	# Important fixes from gnome-3-22 branch, mostly for wayland session
-	"${FILESDIR}"/${PV}-wayland-crash-fix.patch # firefox wrongly using subsurfaces for popups occasional crash fix
-	"${FILESDIR}"/${PV}-clutter-missing-null-terminator.patch # fixes potential crashes on armhf
-	"${FILESDIR}"/${PV}-wayland-ensure-pending-geometry.patch # initial positioning fix for wayland for certain apps
-	"${FILESDIR}"/${PV}-wayland-size-hints.patch # apply min/max size hints in more cases properly
-	"${FILESDIR}"/${PV}-wayland-clipboard-fix.patch # Fixes utf8 clipboard with gtk+-3.22.13+
-)
-
-src_prepare() {
-	# Disable building of noinst_PROGRAM for tests
-	if ! use test; then
-		sed -e '/^noinst_PROGRAMS/d' \
-			-i cogl/tests/conform/Makefile.{am,in} || die
-		sed -e '/noinst_PROGRAMS += testboxes/d' \
-			-i src/Makefile-tests.am || die
-		sed -e '/noinst_PROGRAMS/ s/testboxes$(EXEEXT)//' \
-			-i src/Makefile.in || die
-	fi
-
-	gnome2_src_prepare
-
-	# Leave the damn CFLAGS alone
-	sed -e 's/$CFLAGS -g/$CFLAGS /' \
-		-i clutter/configure || die
-	sed -e 's/$CFLAGS -g -O0/$CFLAGS /' \
-		-i cogl/configure || die
-	sed -e 's/$CFLAGS -g -O/$CFLAGS /' \
-		-i configure || die
-}
-
-src_configure() {
-	# Prefer gl driver by default
-	# GLX is forced by mutter but optional in clutter
-	# xlib-egl-platform required by mutter x11 backend
-	# native backend without wayland is useless
-	gnome2_src_configure \
-		--disable-static \
-		--enable-compile-warnings=minimum \
-		--enable-gl \
-		--enable-glx \
-		--enable-sm \
-		--enable-startup-notification \
-		--enable-verbose-mode \
-		--enable-xlib-egl-platform \
-		--with-default-driver=gl \
-		--with-libcanberra \
-		$(usex debug --enable-debug=yes "") \
-		$(use_enable gles2)        \
-		$(use_enable gles2 cogl-gles2) \
-		$(use_enable introspection) \
-		$(use_enable wayland) \
-		$(use_enable wayland kms-egl-platform) \
-		$(use_enable wayland native-backend) \
-		$(use_enable wayland wayland-egl-server) \
-		$(use_with input_devices_wacom libwacom) \
-		$(use_with udev gudev)
-}
-
-src_test() {
-	virtx emake check
-}


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/files/, x11-wm/mutter/
@ 2018-09-30 20:10 Pacho Ramos
  0 siblings, 0 replies; 12+ messages in thread
From: Pacho Ramos @ 2018-09-30 20:10 UTC (permalink / raw
  To: gentoo-commits

commit:     15fc092d167cf65a470c0561de771b233351f694
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 30 20:09:25 2018 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Sep 30 20:10:14 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15fc092d

x11-wm/mutter: Fix non-wayland build (#667244 by Denis Descheneaux)

Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>
Package-Manager: Portage-2.3.50, Repoman-2.3.11

 x11-wm/mutter/files/3.26.2-non-wayland-build.patch | 33 ++++++++++++++++++++++
 x11-wm/mutter/mutter-3.26.2-r1.ebuild              |  3 ++
 2 files changed, 36 insertions(+)

diff --git a/x11-wm/mutter/files/3.26.2-non-wayland-build.patch b/x11-wm/mutter/files/3.26.2-non-wayland-build.patch
new file mode 100644
index 00000000000..a2a8d356e07
--- /dev/null
+++ b/x11-wm/mutter/files/3.26.2-non-wayland-build.patch
@@ -0,0 +1,33 @@
+From 6cc48d8cbbf11fa82ec78cac0b29d52f05eabb60 Mon Sep 17 00:00:00 2001
+From: Ting-Wei Lan <lantw@src.gnome.org>
+Date: Sun, 24 Dec 2017 17:55:14 +0800
+Subject: [PATCH] build: Fix non-wayland builds
+
+meta_dnd_wayland_handle_end_modal is not available on non-wayland build.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=791916
+---
+ src/compositor/compositor.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
+index 51d22bc17..aa49347c9 100644
+--- a/src/compositor/compositor.c
++++ b/src/compositor/compositor.c
+@@ -419,11 +419,13 @@ meta_end_modal_for_plugin (MetaCompositor *compositor,
+   meta_backend_ungrab_device (backend, META_VIRTUAL_CORE_POINTER_ID, timestamp);
+   meta_backend_ungrab_device (backend, META_VIRTUAL_CORE_KEYBOARD_ID, timestamp);
+ 
++#ifdef HAVE_WAYLAND
+   if (meta_is_wayland_compositor ())
+     {
+       meta_dnd_wayland_handle_end_modal (compositor);
+       meta_display_sync_wayland_input_focus (display);
+     }
++#endif
+ }
+ 
+ static void
+-- 
+2.18.0
+

diff --git a/x11-wm/mutter/mutter-3.26.2-r1.ebuild b/x11-wm/mutter/mutter-3.26.2-r1.ebuild
index 71a77b24829..209182f780b 100644
--- a/x11-wm/mutter/mutter-3.26.2-r1.ebuild
+++ b/x11-wm/mutter/mutter-3.26.2-r1.ebuild
@@ -81,6 +81,9 @@ DEPEND="${RDEPEND}
 PATCHES=(
 	# Lots of patches from gnome-3-26 branch on top of 3.26.2
 	"${WORKDIR}"/patches/
+
+	# Fix non-wayland builds, bug #667244
+	"${FILESDIR}"/${PV}-non-wayland-build.patch
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/files/, x11-wm/mutter/
@ 2017-05-13 16:45 Mart Raudsepp
  0 siblings, 0 replies; 12+ messages in thread
From: Mart Raudsepp @ 2017-05-13 16:45 UTC (permalink / raw
  To: gentoo-commits

commit:     48829a034ee86281bc4c7bef35d8dc937624227b
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sat May 13 16:42:19 2017 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sat May 13 16:44:20 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48829a03

x11-wm/mutter: revbump with various fixes, mostly for wayland session

Package-Manager: Portage-2.3.5, Repoman-2.3.2

 .../3.22.4-clutter-missing-null-terminator.patch   |  28 ++++
 .../files/3.22.4-wayland-clipboard-fix.patch       |  32 +++++
 x11-wm/mutter/files/3.22.4-wayland-crash-fix.patch |  31 +++++
 .../3.22.4-wayland-ensure-pending-geometry.patch   |  47 +++++++
 .../mutter/files/3.22.4-wayland-size-hints.patch   |  56 ++++++++
 x11-wm/mutter/mutter-3.22.4-r1.ebuild              | 144 +++++++++++++++++++++
 6 files changed, 338 insertions(+)

diff --git a/x11-wm/mutter/files/3.22.4-clutter-missing-null-terminator.patch b/x11-wm/mutter/files/3.22.4-clutter-missing-null-terminator.patch
new file mode 100644
index 00000000000..ed16b8c6f4b
--- /dev/null
+++ b/x11-wm/mutter/files/3.22.4-clutter-missing-null-terminator.patch
@@ -0,0 +1,28 @@
+From f6888519ff3e20ec8f5e6064bff5707acbe13fbd Mon Sep 17 00:00:00 2001
+From: Nigel Taylor <nigel@openbsd.org>
+Date: Fri, 5 May 2017 08:42:47 -0400
+Subject: [PATCH 2/5] clutter: conform/actor-graph: Add missing
+ null-termination
+
+https://bugzilla.gnome.org/show_bug.cgi?id=759085
+---
+ clutter/tests/conform/actor-graph.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/clutter/tests/conform/actor-graph.c b/clutter/tests/conform/actor-graph.c
+index 0dad49b..8fbf4bc 100644
+--- a/clutter/tests/conform/actor-graph.c
++++ b/clutter/tests/conform/actor-graph.c
+@@ -350,7 +350,8 @@ actor_replace_child (void)
+   g_assert_cmpstr (clutter_actor_get_name (iter), ==, "qux");
+ 
+   clutter_actor_add_child (actor, g_object_new (CLUTTER_TYPE_ACTOR,
+-                                                "name", "foo"));
++                                                "name", "foo",
++                                                NULL));
+ 
+   clutter_actor_replace_child (actor, iter,
+                                g_object_new (CLUTTER_TYPE_ACTOR,
+-- 
+2.10.1
+

diff --git a/x11-wm/mutter/files/3.22.4-wayland-clipboard-fix.patch b/x11-wm/mutter/files/3.22.4-wayland-clipboard-fix.patch
new file mode 100644
index 00000000000..24e6fd36a30
--- /dev/null
+++ b/x11-wm/mutter/files/3.22.4-wayland-clipboard-fix.patch
@@ -0,0 +1,32 @@
+From 19f08fbdbba113883c6011e4b8ccf3ea3a6eb57e Mon Sep 17 00:00:00 2001
+From: Carlos Garnacho <carlosg@gnome.org>
+Date: Wed, 10 May 2017 20:28:42 +0200
+Subject: [PATCH 5/5] xwayland: Use the right atom type for further selection
+ requests to X11
+
+If we translate between text/plain;charset-utf-8 from the wayland side to
+UTF8_STRING on the X11 side, we want to continue all further X11 selection
+requests using the same translated UTF8_STRING atom than we use in the
+first XConvertSelection call.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=782472
+---
+ src/wayland/meta-xwayland-selection.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/wayland/meta-xwayland-selection.c b/src/wayland/meta-xwayland-selection.c
+index a78e846..24b8cd2 100644
+--- a/src/wayland/meta-xwayland-selection.c
++++ b/src/wayland/meta-xwayland-selection.c
+@@ -829,7 +829,7 @@ meta_x11_source_send (MetaWaylandDataSource *source,
+   /* Takes ownership of fd */
+   selection->x11_selection =
+     x11_selection_data_new (compositor->xwayland_manager.selection_data,
+-                            fd, mime_type);
++                            fd, gdk_x11_get_xatom_name (type_atom));
+ 
+   XConvertSelection (xdisplay,
+                      selection->selection_atom, type_atom,
+-- 
+2.10.1
+

diff --git a/x11-wm/mutter/files/3.22.4-wayland-crash-fix.patch b/x11-wm/mutter/files/3.22.4-wayland-crash-fix.patch
new file mode 100644
index 00000000000..a6eddb1f72e
--- /dev/null
+++ b/x11-wm/mutter/files/3.22.4-wayland-crash-fix.patch
@@ -0,0 +1,31 @@
+From ba317dcd74baebfd8f8c8dd417ded71f6cc8c771 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
+Date: Mon, 17 Apr 2017 13:27:35 +0800
+Subject: [PATCH 1/5] wayland/subsurface: Handle clients committing on
+ destroyed subsurface
+
+A client can still commit state to a destroyed subsurface. It wont
+update anything on the screen, since the subsurface will not be
+visible, but mutter should still handle it and not crash.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=781391
+---
+ src/wayland/meta-wayland-surface.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c
+index 99e3dfd..a6079ee 100644
+--- a/src/wayland/meta-wayland-surface.c
++++ b/src/wayland/meta-wayland-surface.c
+@@ -605,7 +605,7 @@ subsurface_role_get_toplevel (MetaWaylandSurfaceRole *surface_role)
+     meta_wayland_surface_role_get_surface (surface_role);
+   MetaWaylandSurface *parent = surface->sub.parent;
+ 
+-  if (parent->role)
++  if (parent && parent->role)
+     return meta_wayland_surface_role_get_toplevel (parent->role);
+   else
+     return NULL;
+-- 
+2.10.1
+

diff --git a/x11-wm/mutter/files/3.22.4-wayland-ensure-pending-geometry.patch b/x11-wm/mutter/files/3.22.4-wayland-ensure-pending-geometry.patch
new file mode 100644
index 00000000000..543d6edb8e7
--- /dev/null
+++ b/x11-wm/mutter/files/3.22.4-wayland-ensure-pending-geometry.patch
@@ -0,0 +1,47 @@
+From ca31a94e54819b5bfeccbeef4e7c041bbef15eac Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Fri, 5 May 2017 13:55:51 +0200
+Subject: [PATCH 3/5] wayland: Make sure we have a pending geometry
+
+If the client doesn't set a geometry using xdg_shell, we'll compute its
+geometry based on its surface and subsurfaces.
+
+Yet, we translate that as a window (re)size only when there is a pending
+geometry, that we don't have when we computed the geometry by ourself.
+
+Make sure we set the pending new geometry flag when computing the
+geometry when it actually changed.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=782213
+---
+ src/wayland/meta-wayland-xdg-shell.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/src/wayland/meta-wayland-xdg-shell.c b/src/wayland/meta-wayland-xdg-shell.c
+index aa355da..87a8382 100644
+--- a/src/wayland/meta-wayland-xdg-shell.c
++++ b/src/wayland/meta-wayland-xdg-shell.c
+@@ -1263,11 +1263,19 @@ xdg_surface_role_commit (MetaWaylandSurfaceRole  *surface_role,
+     }
+   else if (!priv->has_set_geometry)
+     {
++      MetaRectangle new_geometry = { 0 };
++
+       /* If the surface has never set any geometry, calculate
+        * a default one unioning the surface and all subsurfaces together. */
++
+       meta_wayland_surface_calculate_window_geometry (surface,
+-                                                      &priv->geometry,
++                                                      &new_geometry,
+                                                       0, 0);
++      if (!meta_rectangle_equal (&new_geometry, &priv->geometry))
++        {
++          pending->has_new_geometry = TRUE;
++          priv->geometry = new_geometry;
++        }
+     }
+ }
+ 
+-- 
+2.10.1
+

diff --git a/x11-wm/mutter/files/3.22.4-wayland-size-hints.patch b/x11-wm/mutter/files/3.22.4-wayland-size-hints.patch
new file mode 100644
index 00000000000..03b2b22fe65
--- /dev/null
+++ b/x11-wm/mutter/files/3.22.4-wayland-size-hints.patch
@@ -0,0 +1,56 @@
+From 40a3d67698dc992d084886e01b07a78d438bbf8e Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Wed, 10 May 2017 08:59:53 +0200
+Subject: [PATCH 4/5] wayland: Apply size hints regardless of geometry
+
+Previously we would bail out early in xdg_toplevel_role_commit() if no
+geometry change was set, ignoring the possible min/max size hints
+changes.
+
+But setting a min/max size hint without changing the geometry is
+perfectly valid, so we ought to apply the min/max changes regardless of
+a geometry change.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=782213
+---
+ src/wayland/meta-wayland-xdg-shell.c | 22 ++++++++++------------
+ 1 file changed, 10 insertions(+), 12 deletions(-)
+
+diff --git a/src/wayland/meta-wayland-xdg-shell.c b/src/wayland/meta-wayland-xdg-shell.c
+index 87a8382..bd576f6 100644
+--- a/src/wayland/meta-wayland-xdg-shell.c
++++ b/src/wayland/meta-wayland-xdg-shell.c
+@@ -615,20 +615,18 @@ xdg_toplevel_role_commit (MetaWaylandSurfaceRole  *surface_role,
+   if (!window)
+     return;
+ 
+-  if (!pending->has_new_geometry)
++  if (pending->has_new_geometry)
+     {
+-      if (pending->dx != 0 || pending->dx != 0)
+-        {
+-          g_warning ("XXX: Attach-initiated move without a new geometry. This is unimplemented right now.");
+-        }
+-      return;
++      window_geometry = meta_wayland_xdg_surface_get_window_geometry (xdg_surface);
++      meta_window_wayland_move_resize (window,
++                                       &xdg_surface_priv->acked_configure_serial,
++                                       window_geometry,
++                                       pending->dx, pending->dy);
++    }
++  else if (pending->dx != 0 || pending->dx != 0)
++    {
++      g_warning ("XXX: Attach-initiated move without a new geometry. This is unimplemented right now.");
+     }
+-
+-  window_geometry = meta_wayland_xdg_surface_get_window_geometry (xdg_surface);
+-  meta_window_wayland_move_resize (window,
+-                                   &xdg_surface_priv->acked_configure_serial,
+-                                   window_geometry,
+-                                   pending->dx, pending->dy);
+ 
+   /* When we get to this point, we ought to have valid size hints */
+   if (pending->has_new_min_size || pending->has_new_max_size)
+-- 
+2.10.1
+

diff --git a/x11-wm/mutter/mutter-3.22.4-r1.ebuild b/x11-wm/mutter/mutter-3.22.4-r1.ebuild
new file mode 100644
index 00000000000..f4fe7fd851d
--- /dev/null
+++ b/x11-wm/mutter/mutter-3.22.4-r1.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit gnome2 virtualx
+
+DESCRIPTION="GNOME 3 compositing window manager based on Clutter"
+HOMEPAGE="https://git.gnome.org/browse/mutter/"
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+IUSE="debug gles2 input_devices_wacom +introspection test udev wayland"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+# libXi-1.7.4 or newer needed per:
+# https://bugzilla.gnome.org/show_bug.cgi?id=738944
+COMMON_DEPEND="
+	>=dev-libs/atk-2.5.3
+	>=x11-libs/gdk-pixbuf-2:2
+	>=dev-libs/json-glib-0.12.0
+	>=x11-libs/pango-1.30[introspection?]
+	>=x11-libs/cairo-1.14[X]
+	>=x11-libs/gtk+-3.19.8:3[X,introspection?]
+	>=dev-libs/glib-2.49.0:2[dbus]
+	>=media-libs/libcanberra-0.26[gtk3]
+	>=x11-libs/startup-notification-0.7
+	>=x11-libs/libXcomposite-0.2
+	>=gnome-base/gsettings-desktop-schemas-3.21.4[introspection?]
+	gnome-base/gnome-desktop:3=
+	>sys-power/upower-0.99:=
+
+	x11-libs/libICE
+	x11-libs/libSM
+	x11-libs/libX11
+	>=x11-libs/libXcomposite-0.4
+	x11-libs/libXcursor
+	x11-libs/libXdamage
+	x11-libs/libXext
+	>=x11-libs/libXfixes-3
+	>=x11-libs/libXi-1.7.4
+	x11-libs/libXinerama
+	>=x11-libs/libXrandr-1.5
+	x11-libs/libXrender
+	x11-libs/libxcb
+	x11-libs/libxkbfile
+	>=x11-libs/libxkbcommon-0.4.3[X]
+	x11-misc/xkeyboard-config
+
+	gnome-extra/zenity
+	media-libs/mesa[egl]
+
+	gles2? ( media-libs/mesa[gles2] )
+	input_devices_wacom? ( >=dev-libs/libwacom-0.13 )
+	introspection? ( >=dev-libs/gobject-introspection-1.42:= )
+	udev? ( virtual/libgudev:= )
+	wayland? (
+		>=dev-libs/libinput-1.4
+		>=dev-libs/wayland-1.6.90
+		>=dev-libs/wayland-protocols-1.7
+		>=media-libs/mesa-10.3[egl,gbm,wayland]
+		sys-apps/systemd
+		virtual/libgudev:=
+		>=virtual/libudev-136:=
+		x11-base/xorg-server[wayland]
+		x11-libs/libdrm:=
+	)
+"
+DEPEND="${COMMON_DEPEND}
+	>=sys-devel/gettext-0.19.6
+	virtual/pkgconfig
+	x11-proto/xextproto
+	x11-proto/xineramaproto
+	x11-proto/xproto
+	test? ( app-text/docbook-xml-dtd:4.5 )
+	wayland? ( >=sys-kernel/linux-headers-4.4 )
+"
+RDEPEND="${COMMON_DEPEND}
+	!x11-misc/expocity
+"
+
+PATCHES=(
+	# Important fixes from gnome-3-22 branch, mostly for wayland session
+	"${FILESDIR}"/${PV}-wayland-crash-fix.patch # firefox wrongly using subsurfaces for popups occasional crash fix
+	"${FILESDIR}"/${PV}-clutter-missing-null-terminator.patch # fixes potential crashes on armhf
+	"${FILESDIR}"/${PV}-wayland-ensure-pending-geometry.patch # initial positioning fix for wayland for certain apps
+	"${FILESDIR}"/${PV}-wayland-size-hints.patch # apply min/max size hints in more cases properly
+	"${FILESDIR}"/${PV}-wayland-clipboard-fix.patch # Fixes utf8 clipboard with gtk+-3.22.13+
+)
+
+src_prepare() {
+	# Disable building of noinst_PROGRAM for tests
+	if ! use test; then
+		sed -e '/^noinst_PROGRAMS/d' \
+			-i cogl/tests/conform/Makefile.{am,in} || die
+		sed -e '/noinst_PROGRAMS += testboxes/d' \
+			-i src/Makefile-tests.am || die
+		sed -e '/noinst_PROGRAMS/ s/testboxes$(EXEEXT)//' \
+			-i src/Makefile.in || die
+	fi
+
+	gnome2_src_prepare
+
+	# Leave the damn CFLAGS alone
+	sed -e 's/$CFLAGS -g/$CFLAGS /' \
+		-i clutter/configure || die
+	sed -e 's/$CFLAGS -g -O0/$CFLAGS /' \
+		-i cogl/configure || die
+	sed -e 's/$CFLAGS -g -O/$CFLAGS /' \
+		-i configure || die
+}
+
+src_configure() {
+	# Prefer gl driver by default
+	# GLX is forced by mutter but optional in clutter
+	# xlib-egl-platform required by mutter x11 backend
+	# native backend without wayland is useless
+	gnome2_src_configure \
+		--disable-static \
+		--enable-compile-warnings=minimum \
+		--enable-gl \
+		--enable-glx \
+		--enable-sm \
+		--enable-startup-notification \
+		--enable-verbose-mode \
+		--enable-xlib-egl-platform \
+		--with-default-driver=gl \
+		--with-libcanberra \
+		$(usex debug --enable-debug=yes "") \
+		$(use_enable gles2)        \
+		$(use_enable gles2 cogl-gles2) \
+		$(use_enable introspection) \
+		$(use_enable wayland) \
+		$(use_enable wayland kms-egl-platform) \
+		$(use_enable wayland native-backend) \
+		$(use_enable wayland wayland-egl-server) \
+		$(use_with input_devices_wacom libwacom) \
+		$(use_with udev gudev)
+}
+
+src_test() {
+	virtx emake check
+}


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/files/, x11-wm/mutter/
@ 2016-01-10 18:30 Pacho Ramos
  0 siblings, 0 replies; 12+ messages in thread
From: Pacho Ramos @ 2016-01-10 18:30 UTC (permalink / raw
  To: gentoo-commits

commit:     c2837c5ed7bd163144d4d308b7ed47a8a9d9309f
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 10 18:27:40 2016 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Jan 10 18:27:40 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c2837c5e

x11-wm/mutter: Apply multiple upstream fixes

Package-Manager: portage-2.2.26

 .../mutter/files/mutter-3.18.2-bypass-hint.patch   |  30 ++++++
 .../files/mutter-3.18.2-configure-notify.patch     |  56 +++++++++++
 .../files/mutter-3.18.2-cursor-renderer.patch      |  56 +++++++++++
 .../files/mutter-3.18.2-logical-monitors.patch     |  35 +++++++
 .../mutter/files/mutter-3.18.2-wayland-crash.patch |  41 ++++++++
 x11-wm/mutter/mutter-3.18.2-r1.ebuild              | 111 +++++++++++++++++++++
 6 files changed, 329 insertions(+)

diff --git a/x11-wm/mutter/files/mutter-3.18.2-bypass-hint.patch b/x11-wm/mutter/files/mutter-3.18.2-bypass-hint.patch
new file mode 100644
index 0000000..9206cd7
--- /dev/null
+++ b/x11-wm/mutter/files/mutter-3.18.2-bypass-hint.patch
@@ -0,0 +1,30 @@
+From e5067368f5379af21a16ecbc890cbc9b80f46a55 Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos@gmail.com>
+Date: Mon, 23 Nov 2015 15:17:38 +0100
+Subject: x11/window-props: Initialize bypass compositor hint
+
+If a client only ever sets the hint on window creation we'd never pick
+the value. Also, include override redirect windows since the hint is
+relevant to them too.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=758544
+---
+ src/x11/window-props.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/x11/window-props.c b/src/x11/window-props.c
+index 3268bbc..0a67980 100644
+--- a/src/x11/window-props.c
++++ b/src/x11/window-props.c
+@@ -1843,7 +1843,7 @@ meta_display_init_window_prop_hooks (MetaDisplay *display)
+     { display->atom__NET_WM_WINDOW_TYPE, META_PROP_VALUE_ATOM_LIST, reload_net_wm_window_type, LOAD_INIT | INCLUDE_OR | FORCE_INIT },
+     { display->atom__NET_WM_STRUT,         META_PROP_VALUE_INVALID, reload_struts, NONE },
+     { display->atom__NET_WM_STRUT_PARTIAL, META_PROP_VALUE_INVALID, reload_struts, NONE },
+-    { display->atom__NET_WM_BYPASS_COMPOSITOR, META_PROP_VALUE_CARDINAL,  reload_bypass_compositor, NONE },
++    { display->atom__NET_WM_BYPASS_COMPOSITOR, META_PROP_VALUE_CARDINAL,  reload_bypass_compositor, LOAD_INIT | INCLUDE_OR },
+     { display->atom__NET_WM_WINDOW_OPACITY, META_PROP_VALUE_CARDINAL, reload_window_opacity, LOAD_INIT | INCLUDE_OR },
+     { 0 },
+   };
+-- 
+cgit v0.11.2
+

diff --git a/x11-wm/mutter/files/mutter-3.18.2-configure-notify.patch b/x11-wm/mutter/files/mutter-3.18.2-configure-notify.patch
new file mode 100644
index 0000000..e697838
--- /dev/null
+++ b/x11-wm/mutter/files/mutter-3.18.2-configure-notify.patch
@@ -0,0 +1,56 @@
+From 26a18e83125529605eda88a5eb60a884914c311c Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos@gmail.com>
+Date: Wed, 16 Dec 2015 18:26:23 +0100
+Subject: x11/window: Ensure we send a ConfigureNotify to just mapped windows
+
+When managing a non-OR window we're required by the ICCCM to behave as
+if we received a ConfigureRequest which means that we must generate a
+synthetic ConfigureNotify even if the window isn't moved or resized
+from its current (initial) geometry.
+
+During MetaWindow's x11/wayland split a slight behavior change for x11
+windows crept in. Before the code split, MetaWindow->rect was
+initialized with the X window's geometry, but now we're not
+initializing MetaWindowX11Private->client_rect which causes the checks
+for whether it's necessary to move/resize the window in
+meta_window_x11_move_resize_internal() to tell us that we do need to
+move/resize which means we do an XConfigureWindow() call and don't
+send the sythetic ConfigureNotify. But since the X window isn't really
+moving, the XConfigureWindow() call doesn't cause the X server to
+generate a ConfigureNotify which breaks some clients such as Java's
+AWT.
+
+We can fix this by setting MetaWindowX11Privatew->client_rect for both
+OR and non-OR windows. We can set buffer_rect for non-OR windows as
+well to simplify the code since it will be assigned the correct value
+in meta_window_x11_move_resize_internal() .
+
+https://bugzilla.gnome.org/show_bug.cgi?id=759492
+---
+ src/x11/window-x11.c | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
+index b6e5621..de9f725 100644
+--- a/src/x11/window-x11.c
++++ b/src/x11/window-x11.c
+@@ -542,13 +542,10 @@ meta_window_x11_manage (MetaWindow *window)
+    * For normal windows, do a full ConfigureRequest based on the
+    * window hints, as that's what the ICCCM says to do.
+    */
++  priv->client_rect = window->rect;
++  window->buffer_rect = window->rect;
+ 
+-  if (window->override_redirect)
+-    {
+-      priv->client_rect = window->rect;
+-      window->buffer_rect = window->rect;
+-    }
+-  else
++  if (!window->override_redirect)
+     {
+       MetaRectangle rect;
+       MetaMoveResizeFlags flags;
+-- 
+cgit v0.11.2
+

diff --git a/x11-wm/mutter/files/mutter-3.18.2-cursor-renderer.patch b/x11-wm/mutter/files/mutter-3.18.2-cursor-renderer.patch
new file mode 100644
index 0000000..b888cbd
--- /dev/null
+++ b/x11-wm/mutter/files/mutter-3.18.2-cursor-renderer.patch
@@ -0,0 +1,56 @@
+From 58d2bd05815a8917460ec7231a1e50ed8cedf19f Mon Sep 17 00:00:00 2001
+From: Marek Chalupa <mchqwerty@gmail.com>
+Date: Mon, 9 Nov 2015 15:51:02 +0100
+Subject: cursor-renderer: do not update cursor if it is out of monitor
+
+if the cursor coordinates are out of monitor, just don't render the
+cursor
+
+https://bugzilla.gnome.org/show_bug.cgi?id=756698
+---
+ src/backends/meta-cursor-renderer.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/src/backends/meta-cursor-renderer.c b/src/backends/meta-cursor-renderer.c
+index 48cd239..a76241b 100644
+--- a/src/backends/meta-cursor-renderer.c
++++ b/src/backends/meta-cursor-renderer.c
+@@ -27,6 +27,8 @@
+ #include "meta-cursor-renderer.h"
+ 
+ #include <meta/meta-backend.h>
++#include <backends/meta-backend-private.h>
++#include <backends/meta-monitor-manager-private.h>
+ #include <meta/util.h>
+ 
+ #include <cogl/cogl.h>
+@@ -116,6 +118,14 @@ meta_cursor_renderer_calculate_rect (MetaCursorRenderer *renderer,
+   };
+ }
+ 
++static gboolean
++is_cursor_in_monitors_area (int x, int y)
++{
++  MetaMonitorManager *monitor_manager = meta_backend_get_monitor_manager (meta_get_backend ());
++  return meta_monitor_manager_get_monitor_at_point (monitor_manager,
++                                                    (gfloat) x, (gfloat) y) >= 0;
++}
++
+ static void
+ update_cursor (MetaCursorRenderer *renderer,
+                MetaCursorSprite   *cursor_sprite)
+@@ -124,6 +134,11 @@ update_cursor (MetaCursorRenderer *renderer,
+   gboolean handled_by_backend;
+   gboolean should_redraw = FALSE;
+ 
++  /* do not render cursor if it is not on any monitor. Such situation
++   * can occur e. g. after monitor hot-plug */
++  if (!is_cursor_in_monitors_area (priv->current_x, priv->current_y))
++    return;
++
+   if (cursor_sprite)
+     meta_cursor_sprite_prepare_at (cursor_sprite,
+                                    priv->current_x,
+-- 
+cgit v0.11.2
+

diff --git a/x11-wm/mutter/files/mutter-3.18.2-logical-monitors.patch b/x11-wm/mutter/files/mutter-3.18.2-logical-monitors.patch
new file mode 100644
index 0000000..73962f0
--- /dev/null
+++ b/x11-wm/mutter/files/mutter-3.18.2-logical-monitors.patch
@@ -0,0 +1,35 @@
+From 958cdd5117cd2056076edc6cc52af1a3a929d262 Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos@gmail.com>
+Date: Fri, 3 Jul 2015 18:01:14 +0200
+Subject: monitor-manager: Fix the max potential number of logical monitors
+
+The max potential number of logical monitors (i.e. MetaMonitorInfos)
+is the number of CRTCs, not the number of outputs.
+
+In cases where we have more enabled CRTCs than connected outputs we
+would end up appending more MetaMonitorInfos to the GArray than the
+size it was initialized with which means the array would get
+re-allocated rendering invalid some MetaCRTC->logical_monitor pointers
+assigned previously and thus ending in crashes later on.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=751638
+---
+ src/backends/meta-monitor-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c
+index 38ccc72..56a52bb 100644
+--- a/src/backends/meta-monitor-manager.c
++++ b/src/backends/meta-monitor-manager.c
+@@ -178,7 +178,7 @@ make_logical_config (MetaMonitorManager *manager)
+   unsigned int i, j;
+ 
+   monitor_infos = g_array_sized_new (FALSE, TRUE, sizeof (MetaMonitorInfo),
+-                                     manager->n_outputs);
++                                     manager->n_crtcs);
+ 
+   /* Walk the list of MetaCRTCs, and build a MetaMonitorInfo
+      for each of them, unless they reference a rectangle that
+-- 
+cgit v0.11.2
+

diff --git a/x11-wm/mutter/files/mutter-3.18.2-wayland-crash.patch b/x11-wm/mutter/files/mutter-3.18.2-wayland-crash.patch
new file mode 100644
index 0000000..a59c75e
--- /dev/null
+++ b/x11-wm/mutter/files/mutter-3.18.2-wayland-crash.patch
@@ -0,0 +1,41 @@
+From 2ea121a1869d21ef0726aca27abd02a3245d1d74 Mon Sep 17 00:00:00 2001
+From: Marek Chalupa <mchqwerty@gmail.com>
+Date: Thu, 2 Jul 2015 10:41:37 +0200
+Subject: wayland: bind wayland socket after xwayland is initialized
+
+During xwayland initialization we run main loop and dispatch wayland
+events, so that xwayland can initialize. If some client during this
+phase connects and creates surface, mutter crashes because
+it is not initialized yet. If we bind wayland socket after xwayland
+is initialized and main loop is not running anymore, no client can
+connect to mutter during initialization and that is what we want.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=751845
+---
+ src/wayland/meta-wayland.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/wayland/meta-wayland.c b/src/wayland/meta-wayland.c
+index 0d37489..d51e8b5 100644
+--- a/src/wayland/meta-wayland.c
++++ b/src/wayland/meta-wayland.c
+@@ -337,13 +337,13 @@ meta_wayland_init (void)
+   meta_wayland_pointer_gestures_init (compositor);
+   meta_wayland_seat_init (compositor);
+ 
++  if (!meta_xwayland_start (&compositor->xwayland_manager, compositor->wayland_display))
++    g_error ("Failed to start X Wayland");
++
+   compositor->display_name = wl_display_add_socket_auto (compositor->wayland_display);
+   if (compositor->display_name == NULL)
+     g_error ("Failed to create socket");
+ 
+-  if (!meta_xwayland_start (&compositor->xwayland_manager, compositor->wayland_display))
+-    g_error ("Failed to start X Wayland");
+-
+   set_gnome_env ("DISPLAY", meta_wayland_get_xwayland_display_name (compositor));
+   set_gnome_env ("WAYLAND_DISPLAY", meta_wayland_get_wayland_display_name (compositor));
+ }
+-- 
+cgit v0.11.2
+

diff --git a/x11-wm/mutter/mutter-3.18.2-r1.ebuild b/x11-wm/mutter/mutter-3.18.2-r1.ebuild
new file mode 100644
index 0000000..c279529
--- /dev/null
+++ b/x11-wm/mutter/mutter-3.18.2-r1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+
+inherit eutils gnome2
+
+DESCRIPTION="GNOME 3 compositing window manager based on Clutter"
+HOMEPAGE="https://git.gnome.org/browse/mutter/"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="+introspection +kms test wayland"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+# libXi-1.7.4 or newer needed per:
+# https://bugzilla.gnome.org/show_bug.cgi?id=738944
+COMMON_DEPEND="
+	>=x11-libs/pango-1.2[X,introspection?]
+	>=x11-libs/cairo-1.10[X]
+	>=x11-libs/gtk+-3.9.11:3[X,introspection?]
+	>=dev-libs/glib-2.36.0:2[dbus]
+	>=media-libs/clutter-1.23.4:1.0[X,introspection?]
+	>=media-libs/cogl-1.17.1:1.0=[introspection?]
+	>=media-libs/libcanberra-0.26[gtk3]
+	>=x11-libs/startup-notification-0.7
+	>=x11-libs/libXcomposite-0.2
+	>=gnome-base/gsettings-desktop-schemas-3.15.92[introspection?]
+	gnome-base/gnome-desktop:3=
+	>sys-power/upower-0.99:=
+
+	x11-libs/libICE
+	x11-libs/libSM
+	x11-libs/libX11
+	>=x11-libs/libXcomposite-0.2
+	x11-libs/libXcursor
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	>=x11-libs/libXi-1.7.4
+	x11-libs/libXinerama
+	>=x11-libs/libXrandr-1.5
+	x11-libs/libXrender
+	x11-libs/libxcb
+	x11-libs/libxkbfile
+	>=x11-libs/libxkbcommon-0.4.3[X]
+	x11-misc/xkeyboard-config
+
+	gnome-extra/zenity
+
+	introspection? ( >=dev-libs/gobject-introspection-1.42:= )
+	kms? (
+		dev-libs/libinput
+		>=media-libs/clutter-1.20[egl]
+		media-libs/cogl:1.0=[kms]
+		>=media-libs/mesa-10.3[gbm]
+		sys-apps/systemd
+		virtual/libgudev
+		x11-libs/libdrm:= )
+	wayland? (
+		>=dev-libs/wayland-1.6.90
+		>=media-libs/clutter-1.20[wayland]
+		x11-base/xorg-server[wayland] )
+"
+DEPEND="${COMMON_DEPEND}
+	>=dev-util/intltool-0.41
+	sys-devel/gettext
+	virtual/pkgconfig
+	x11-proto/xextproto
+	x11-proto/xineramaproto
+	x11-proto/xproto
+	test? ( app-text/docbook-xml-dtd:4.5 )
+"
+RDEPEND="${COMMON_DEPEND}
+	!x11-misc/expocity
+"
+
+src_prepare() {
+	# Multiple patches from gnome-3.18 branch
+
+	# x11/window-props: Initialize bypass compositor hint
+	epatch "${FILESDIR}"/${P}-bypass-hint.patch
+
+	# cursor-renderer: do not update cursor if it is out of monitor
+	epatch "${FILESDIR}"/${P}-cursor-renderer.patch
+
+	# monitor-manager: Fix the max potential number of logical monitors
+	epatch "${FILESDIR}"/${P}-logical-monitors.patch
+
+	# wayland: bind wayland socket after xwayland is initialized
+	epatch "${FILESDIR}"/${P}-wayland-crash.patch
+
+	# x11/window: Ensure we send a ConfigureNotify to just mapped windows
+	epatch "${FILESDIR}"/${P}-configure-notify.patch
+
+	gnome2_src_prepare
+}
+
+src_configure() {
+	gnome2_src_configure \
+		--disable-static \
+		--enable-sm \
+		--enable-startup-notification \
+		--enable-verbose-mode \
+		--with-libcanberra \
+		$(use_enable introspection) \
+		$(use_enable kms native-backend) \
+		$(use_enable wayland)
+}


^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-10-08 16:33 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-28  9:38 [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/files/, x11-wm/mutter/ Mart Raudsepp
  -- strict thread matches above, loose matches on Subject: below --
2024-10-08 16:33 Andreas Sturmlechner
2023-12-25 17:14 Mart Raudsepp
2023-05-17 21:55 Matt Turner
2023-03-27 14:14 Sam James
2022-09-07  2:10 Matt Turner
2021-04-05 16:54 Matt Turner
2020-05-17 11:32 Mart Raudsepp
2018-12-29 20:43 Mart Raudsepp
2018-09-30 20:10 Pacho Ramos
2017-05-13 16:45 Mart Raudsepp
2016-01-10 18:30 Pacho Ramos

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox