public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/, profiles/base/
@ 2025-04-13 17:03 Pacho Ramos
  0 siblings, 0 replies; only message in thread
From: Pacho Ramos @ 2025-04-13 17:03 UTC (permalink / raw
  To: gentoo-commits

commit:     3238e68e26db369988d92db7f8ff766298223183
Author:     Lukas Schmelting <lschmelting <AT> posteo <DOT> com>
AuthorDate: Sun Feb  2 09:20:19 2025 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Apr 13 17:02:10 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3238e68e

x11-wm/mutter: Bump to 47.6; Add and force xwayland USE flag; make X deps optional

- Added xwayland USE flag. It is enabled by default and forced in the
  base target
- The X and Xwayland deps were made optional by upstream, reflect this
  in the ebuild
- Add REQUIRED_USE so that atleast one of "X" or "wayland" USE flags is
  set
- SLOT change: 14 -> 15
- Re-add the ~ppc64 keyword which was dropped in version 47.4

Signed-off-by: Lukas Schmelting <lschmelting <AT> posteo.com>
Closes: https://github.com/gentoo/gentoo/pull/40624
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 profiles/base/package.use.force                    |  6 ++
 x11-wm/mutter/Manifest                             |  1 +
 x11-wm/mutter/metadata.xml                         |  1 +
 .../{mutter-9999.ebuild => mutter-47.6.ebuild}     | 82 ++++++++++++++--------
 x11-wm/mutter/mutter-9999.ebuild                   | 77 ++++++++++++--------
 5 files changed, 106 insertions(+), 61 deletions(-)

diff --git a/profiles/base/package.use.force b/profiles/base/package.use.force
index 1b5b62934d84..4b71a57d37e3 100644
--- a/profiles/base/package.use.force
+++ b/profiles/base/package.use.force
@@ -288,6 +288,12 @@ gnome-base/gnome-desktop seccomp
 app-misc/tracker-miners seccomp
 net-libs/webkit-gtk seccomp
 
+# Lukas Schmelting <lschmelting@posteo.com> after consulting
+# Mart Raudsepp <leio@gentoo.org> (2025-19-02)
+# GNOME without Xwayland is not mainstream yet. Current priority is that
+# users have working apps, advanced users can still override this
+x11-wm/mutter xwayland
+
 # Luke Dashjr <luke-jr+gentoobugs@utopios.org> (2018-11-19)
 # iasl is not keyworded on many platforms yet
 sys-firmware/seabios binary

diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
index ae1b06b8789c..fcbcfbb73f10 100644
--- a/x11-wm/mutter/Manifest
+++ b/x11-wm/mutter/Manifest
@@ -1,2 +1,3 @@
 DIST mutter-46.7.tar.xz 6755308 BLAKE2B 69cb8457ec9ab905c8764ffa8fbd44050431b359e349697615b90d201402dffd2bd850e3fb0f393ab75800d148c2805ac791f69d356c6bfb26007a2394cbbd48 SHA512 0d9b159805b79f90d2cb06582c859b10e56bc22001d1e1b0090821914e18085749a54eb117b94788578b17894e4d28ec408144a09b29f94b7785f7538c4613a8
 DIST mutter-47.4.tar.xz 6857716 BLAKE2B 752e83e5d0e89eb31e577543619d3039c720a358cbad77e2be1abd7eabedd333ce86673b31e23cbeea446e335f64f83bd68ce12ed37c48eae22a4be6123f14b2 SHA512 f1d3c16830a5fd8225f62d37f583931d582ed1d09631b1d44321a162c14b4d99b2487f322a4c95954b154cdc205b0d20d5d12663f89675baff211e49067ef1ee
+DIST mutter-47.6.tar.xz 6858272 BLAKE2B 7275961beb30e6aac0004805c6e5248d0cf19caa245ea13918a59b48dc85370698a5c6dadb13af6875bf4a7e1a02f5e9b6d9180e9b711b0888b10d41be5ab8d7 SHA512 8997096b3dab1e98532fd238b921fa7820621c0f0ac1701f4abfa37b1cc29095bb60ecee1135a6be147d06fcede86276b8a02d5dbca7d1dcba2d51c43821bfc9

diff --git a/x11-wm/mutter/metadata.xml b/x11-wm/mutter/metadata.xml
index 887778a18ca5..3da97524fc90 100644
--- a/x11-wm/mutter/metadata.xml
+++ b/x11-wm/mutter/metadata.xml
@@ -9,6 +9,7 @@
     <flag name="elogind">Rely on <pkg>sys-auth/elogind</pkg> as logind provider for Wayland sessions</flag>
     <flag name="libdisplay">Enable EDID and DisplayID using <pkg>media-libs/libdisplay-info</pkg></flag>
     <flag name="sysprof">Enable profiling data capture support using <pkg>dev-util/sysprof-capture</pkg></flag>
+    <flag name="xwayland">Enable X11 application support in Wayland sessions</flag>
   </use>
   <upstream>
     <remote-id type="gnome-gitlab">GNOME/mutter</remote-id>

diff --git a/x11-wm/mutter/mutter-9999.ebuild b/x11-wm/mutter/mutter-47.6.ebuild
similarity index 85%
copy from x11-wm/mutter/mutter-9999.ebuild
copy to x11-wm/mutter/mutter-47.6.ebuild
index f5d1d2344111..7c95e3ddf2d6 100644
--- a/x11-wm/mutter/mutter-9999.ebuild
+++ b/x11-wm/mutter/mutter-47.6.ebuild
@@ -13,15 +13,16 @@ if [[ ${PV} == 9999 ]]; then
 	inherit git-r3
 	EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git"
 	SRC_URI=""
-	SLOT="0/14" # This can get easily out of date, but better than 9967
+	SLOT="0/15" # This can get easily out of date, but better than 9967
 else
-	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+	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 +libdisplay screencast sysprof systemd test udev wayland X video_cards_nvidia"
+IUSE="debug elogind gnome gtk-doc input_devices_wacom +introspection +libdisplay screencast sysprof systemd test udev wayland X +xwayland video_cards_nvidia"
 # native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
 REQUIRED_USE="
+	|| ( X wayland )
 	gtk-doc? ( introspection )
 	wayland? ( ^^ ( elogind systemd ) udev )
 	test? ( wayland )"
@@ -46,8 +47,6 @@ RDEPEND="
 	>=dev-libs/glib-2.81.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:=
@@ -70,7 +69,7 @@ RDEPEND="
 		>=dev-libs/libinput-1.26.0:=
 
 		elogind? ( sys-auth/elogind )
-		>=x11-base/xwayland-23.2.1[libei(+)]
+		xwayland? ( >=x11-base/xwayland-23.2.1[libei(+)] )
 		video_cards_nvidia? ( gui-libs/egl-wayland )
 	)
 	udev? (
@@ -90,28 +89,34 @@ RDEPEND="
 	)
 	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? (
+
+X_OR_XWAYLAND_DEPS="
+	>=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/libxkbfile
+	x11-misc/xkeyboard-config
+	x11-libs/libXrender
+	x11-libs/libxcb:=
+	x11-libs/libXinerama
+	x11-libs/libXau
+"
+
 RDEPEND+="
-		>=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
+	X? (
+	   ${X_OR_XWAYLAND_DEPS}
+	   x11-libs/libICE
+	   >=x11-libs/libXrandr-1.5.0
+	   >=x11-libs/libxkbcommon-0.4.3[X]
+	   x11-libs/libXtst
+	)
+	wayland? ( xwayland? ( ${X_OR_XWAYLAND_DEPS} ) )
 "
-#	)"
 
 DEPEND="${RDEPEND}
 	x11-base/xorg-proto
@@ -130,7 +135,7 @@ BDEPEND="
 			>=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]
 		')
 		app-text/docbook-xml-dtd:4.5
-		x11-misc/xvfb-run
+		X? ( x11-misc/xvfb-run )
 	)
 	wayland? (
 		>=sys-kernel/linux-headers-4.4
@@ -168,9 +173,21 @@ src_configure() {
 		$(meson_use wayland gles2)
 		#gles2_libname
 		-Degl=true
-		-Dglx=true
+		$(meson_use X glx)
 		$(meson_use wayland)
-		$(meson_use wayland xwayland)
+	)
+
+	if use wayland; then
+		emesonargs+=(
+			$(meson_use xwayland)
+		)
+	else
+		emesonargs+=(
+			-Dxwayland=false
+		)
+	fi
+
+	emesonargs+=(
 		$(meson_use systemd)
 		$(meson_use wayland native_backend)
 		$(meson_use screencast remote_desktop)
@@ -181,7 +198,7 @@ src_configure() {
 		-Dsound_player=true
 		-Dstartup_notification=true
 		$(meson_feature libdisplay libdisplay_info)
-		-Dsm=true
+		$(meson_use X sm)
 		$(meson_use introspection)
 		$(meson_use gtk-doc docs)
 		$(meson_use test cogl_tests)
@@ -220,7 +237,10 @@ src_test() {
 	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
+	GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data
+
+	# FIXME: Check on bump, needs access do /dev/dri/
+	meson_src_test
 }
 
 pkg_postinst() {

diff --git a/x11-wm/mutter/mutter-9999.ebuild b/x11-wm/mutter/mutter-9999.ebuild
index f5d1d2344111..67bbd11dda6f 100644
--- a/x11-wm/mutter/mutter-9999.ebuild
+++ b/x11-wm/mutter/mutter-9999.ebuild
@@ -13,15 +13,16 @@ if [[ ${PV} == 9999 ]]; then
 	inherit git-r3
 	EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git"
 	SRC_URI=""
-	SLOT="0/14" # This can get easily out of date, but better than 9967
+	SLOT="0/15" # This can get easily out of date, but better than 9967
 else
-	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+	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 +libdisplay screencast sysprof systemd test udev wayland X video_cards_nvidia"
+IUSE="debug elogind gnome gtk-doc input_devices_wacom +introspection +libdisplay screencast sysprof systemd test udev wayland X +xwayland video_cards_nvidia"
 # native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
 REQUIRED_USE="
+	|| ( X wayland )
 	gtk-doc? ( introspection )
 	wayland? ( ^^ ( elogind systemd ) udev )
 	test? ( wayland )"
@@ -46,8 +47,6 @@ RDEPEND="
 	>=dev-libs/glib-2.81.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:=
@@ -70,7 +69,7 @@ RDEPEND="
 		>=dev-libs/libinput-1.26.0:=
 
 		elogind? ( sys-auth/elogind )
-		>=x11-base/xwayland-23.2.1[libei(+)]
+		xwayland? ( >=x11-base/xwayland-23.2.1[libei(+)] )
 		video_cards_nvidia? ( gui-libs/egl-wayland )
 	)
 	udev? (
@@ -90,28 +89,34 @@ RDEPEND="
 	)
 	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? (
+
+X_OR_XWAYLAND_DEPS="
+	>=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/libxkbfile
+	x11-misc/xkeyboard-config
+	x11-libs/libXrender
+	x11-libs/libxcb:=
+	x11-libs/libXinerama
+	x11-libs/libXau
+"
+
 RDEPEND+="
-		>=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
+	X? (
+	   ${X_OR_XWAYLAND_DEPS}
+	   x11-libs/libICE
+	   >=x11-libs/libXrandr-1.5.0
+	   >=x11-libs/libxkbcommon-0.4.3[X]
+	   x11-libs/libXtst
+	)
+	wayland? ( xwayland? ( ${X_OR_XWAYLAND_DEPS} ) )
 "
-#	)"
 
 DEPEND="${RDEPEND}
 	x11-base/xorg-proto
@@ -130,7 +135,7 @@ BDEPEND="
 			>=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]
 		')
 		app-text/docbook-xml-dtd:4.5
-		x11-misc/xvfb-run
+		X? ( x11-misc/xvfb-run )
 	)
 	wayland? (
 		>=sys-kernel/linux-headers-4.4
@@ -168,9 +173,21 @@ src_configure() {
 		$(meson_use wayland gles2)
 		#gles2_libname
 		-Degl=true
-		-Dglx=true
+		$(meson_use X glx)
 		$(meson_use wayland)
-		$(meson_use wayland xwayland)
+	)
+
+	if use wayland; then
+		emesonargs+=(
+			$(meson_use xwayland)
+		)
+	else
+		emesonargs+=(
+			-Dxwayland=false
+		)
+	fi
+
+	emesonargs+=(
 		$(meson_use systemd)
 		$(meson_use wayland native_backend)
 		$(meson_use screencast remote_desktop)
@@ -181,7 +198,7 @@ src_configure() {
 		-Dsound_player=true
 		-Dstartup_notification=true
 		$(meson_feature libdisplay libdisplay_info)
-		-Dsm=true
+		$(meson_use X sm)
 		$(meson_use introspection)
 		$(meson_use gtk-doc docs)
 		$(meson_use test cogl_tests)


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2025-04-13 17:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-13 17:03 [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/, profiles/base/ Pacho Ramos

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