Diff mutter-46.7-r1 with a mutter-9999

/usr/portage/x11-wm/mutter/mutter-9999.ebuild 2025-07-29 16:22:17.980470423 +0300
13 13
	inherit git-r3
14 14
	EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git"
15 15
	SRC_URI=""
16
	SLOT="0/14" # This can get easily out of date, but better than 9967
16
	SLOT="0/15" # This can get easily out of date, but better than 9967
17 17
else
18
	KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
18
	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
19 19
	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
20 20
fi
21 21

  
22
IUSE="debug elogind gnome gtk-doc input_devices_wacom +introspection screencast sysprof systemd test udev wayland video_cards_nvidia"
22
IUSE="debug elogind gnome gtk-doc input_devices_wacom +introspection screencast sysprof systemd test udev wayland X +xwayland video_cards_nvidia"
23 23
# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
24 24
REQUIRED_USE="
25
	|| ( X wayland )
25 26
	gtk-doc? ( introspection )
26 27
	wayland? ( ^^ ( elogind systemd ) udev )
27
	test? ( wayland )"
28
	test? ( screencast wayland )"
28 29
RESTRICT="!test? ( test )"
29 30

  
30 31
# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
......
34 35
# in Xwayland after mutter is installed, Xwayland would fail to be started by mutter. mutter already hard-depends on libei, so there's
35 36
# really no extra deps here (besides xdg-desktop-portal, but we want that too, anyhow).
36 37
# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
38
# dev-libs/wayland is always needed at build time due to https://bugs.gentoo.org/937632
37 39
RDEPEND="
38 40
	>=media-libs/graphene-1.10.2[introspection?]
39 41
	x11-libs/gdk-pixbuf:2
......
41 43
	>=x11-libs/cairo-1.14[X]
42 44
	>=x11-libs/pixman-0.42
43 45
	>=dev-libs/fribidi-1.0.0
44
	>=gnome-base/gsettings-desktop-schemas-42.0[introspection?]
45
	>=dev-libs/glib-2.75.1:2
46
	>=gnome-base/gsettings-desktop-schemas-47_beta[introspection?]
47
	>=dev-libs/glib-2.81.1:2
46 48
	gnome-base/gnome-settings-daemon
47
	>=x11-libs/libxkbcommon-0.4.3
48
	x11-libs/libICE
49
	>=x11-libs/libxkbcommon-0.4.3[X?]
49 50
	>=app-accessibility/at-spi2-core-2.46:2[introspection?]
50 51
	sys-apps/dbus
51 52
	>=x11-misc/colord-1.4.5:=
52 53
	>=media-libs/lcms-2.6:2
53 54
	>=media-libs/harfbuzz-2.6.0:=
54 55
	>=dev-libs/libei-1.0.901
55
	media-libs/libdisplay-info:=
56
	>=media-libs/libdisplay-info-0.2:=
56 57

  
57 58
	gnome? ( gnome-base/gnome-desktop:4= )
58 59

  
59 60
	>=media-libs/libcanberra-0.26
60 61

  
61
	media-libs/libglvnd[X]
62
	media-libs/libglvnd
62 63

  
64
	>=dev-libs/wayland-1.23.0
63 65
	wayland? (
64
		>=dev-libs/wayland-protocols-1.33
65
		>=dev-libs/wayland-1.22.0
66
		>=dev-libs/wayland-protocols-1.36
66 67

  
67 68
		>=x11-libs/libdrm-2.4.118
68 69
		media-libs/mesa[gbm(+)]
69
		>=dev-libs/libinput-1.19.0:=
70
		>=dev-libs/libinput-1.26.0:=
70 71

  
71 72
		elogind? ( sys-auth/elogind )
72
		>=x11-base/xwayland-23.2.1[libei(+)]
73
		xwayland? ( >=x11-base/xwayland-23.2.1[libei(+)] )
73 74
		video_cards_nvidia? ( gui-libs/egl-wayland )
74 75
	)
75 76
	udev? (
......
77 78
		>=dev-libs/libgudev-238
78 79
	)
79 80
	systemd? ( sys-apps/systemd )
80
	x11-libs/libSM
81 81
	input_devices_wacom? ( >=dev-libs/libwacom-0.13:= )
82
	>=x11-libs/startup-notification-0.7
83
	screencast? ( >=media-video/pipewire-0.3.33:= )
82
	screencast? ( >=media-video/pipewire-1.2.0:= )
84 83
	introspection? ( >=dev-libs/gobject-introspection-1.54:= )
85 84
	test? (
86 85
		>=x11-libs/gtk+-3.19.8:3[X,introspection?]
87
		gnome-extra/zenity
88 86
	)
89 87
	sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 >=dev-util/sysprof-3.46.0 )
90 88
"
91
# for now upstream has "have_x11 = true" in the meson.build, but sooner or later upstream is going to make X optional.
92
#	X? (
89

  
90
X11_CLIENT_DEPS="
91
	>=gui-libs/gtk-4.0.0:4[X,introspection?]
92
	media-libs/libglvnd[X]
93
	>=x11-libs/libX11-1.7.0
94
	>=x11-libs/libXcomposite-0.4
95
	x11-libs/libXcursor
96
	x11-libs/libXdamage
97
	x11-libs/libXext
98
	>=x11-libs/libXfixes-6
99
	>=x11-libs/libXi-1.7.4
100
	x11-misc/xkeyboard-config
101
	>=x11-libs/libXrandr-1.5.0
102
	x11-libs/libxcb:=
103
	x11-libs/libXinerama
104
	x11-libs/libXau
105
	>=x11-libs/startup-notification-0.7
106
"
107

  
93 108
RDEPEND+="
94
		>=gui-libs/gtk-4.0.0:4[X,introspection?]
95
		>=x11-libs/libX11-1.7.0
96
		>=x11-libs/libXcomposite-0.4
97
		x11-libs/libXcursor
98
		x11-libs/libXdamage
99
		x11-libs/libXext
100
		>=x11-libs/libXfixes-6
101
		>=x11-libs/libXi-1.7.4
102
		x11-libs/libXtst
109
	X? (
110
		${X11_CLIENT_DEPS}
111
		x11-libs/libICE
103 112
		x11-libs/libxkbfile
104
		x11-misc/xkeyboard-config
105
		>=x11-libs/libxkbcommon-0.4.3[X]
106
		x11-libs/libXrender
107
		>=x11-libs/libXrandr-1.5.0
108
		x11-libs/libxcb:=
109
		x11-libs/libXinerama
110
		x11-libs/libXau
113
		x11-libs/libXtst
114
		x11-libs/libSM
115
	)
116
	wayland? ( xwayland? ( ${X11_CLIENT_DEPS} ) )
111 117
"
112
#	)"
113 118
DEPEND="${RDEPEND}
114 119
	x11-base/xorg-proto
115 120
	sysprof? ( >=dev-util/sysprof-common-3.38.0 )
......
127 132
			>=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]
128 133
		')
129 134
		app-text/docbook-xml-dtd:4.5
130
		x11-misc/xvfb-run
135
		X? (
136
			gnome-extra/zenity
137
			x11-misc/xvfb-run
138
		)
131 139
	)
132 140
	wayland? (
133 141
		>=sys-kernel/linux-headers-4.4
......
165 173
		$(meson_use wayland gles2)
166 174
		#gles2_libname
167 175
		-Degl=true
168
		-Dglx=true
176
		$(meson_use X glx)
169 177
		$(meson_use wayland)
170
		$(meson_use wayland xwayland)
178
	)
179

  
180
	if use wayland; then
181
		emesonargs+=(
182
			$(meson_use xwayland)
183
		)
184
	else
185
		emesonargs+=(
186
			-Dxwayland=false
187
		)
188
	fi
189

  
190
	emesonargs+=(
171 191
		$(meson_use systemd)
172 192
		$(meson_use wayland native_backend)
173 193
		$(meson_use screencast remote_desktop)
......
176 196
		-Dudev_dir=$(get_udevdir)
177 197
		$(meson_use input_devices_wacom libwacom)
178 198
		-Dsound_player=true
179
		-Dpango_ft2=true
180 199
		-Dstartup_notification=true
181
		-Dsm=true
200
		$(meson_use X sm)
182 201
		$(meson_use introspection)
183 202
		$(meson_use gtk-doc docs)
184 203
		$(meson_use test cogl_tests)
185
		$(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
186
		-Dnative_tests=false
187 204
		$(meson_use test clutter_tests)
188
		$(meson_use test tests)
205
		$(meson_use test mutter_tests)
206
		$(meson_feature test tests)
189 207
		-Dkvm_tests=false
190 208
		-Dtty_tests=false
191 209
		$(meson_use sysprof profiler)
192 210
		-Dinstalled_tests=false
211
		$(meson_use X x11)
193 212

  
194 213
		#verbose # Let upstream choose default for verbose mode
195 214
		#xwayland_path
......
217 236
	gnome2_environment_reset
218 237
	export XDG_DATA_DIRS="${EPREFIX}"/usr/share
219 238
	glib-compile-schemas "${BUILD_DIR}"/data
220
	GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI
239
	GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test
221 240
}
222 241

  
223 242
pkg_postinst() {
Thank you!