Gentoo Archives: gentoo-commits

From: Matt Turner <mattst88@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/
Date: Fri, 30 Sep 2022 16:41:51
Message-Id: 1664556099.5686874c192c12072c4567a2abab528871a3ac01.mattst88@gentoo
1 commit: 5686874c192c12072c4567a2abab528871a3ac01
2 Author: brahmajit das <listout <AT> protonmail <DOT> com>
3 AuthorDate: Thu Sep 29 17:48:41 2022 +0000
4 Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
5 CommitDate: Fri Sep 30 16:41:39 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5686874c
7
8 x11-wm/mutter: Version bump to 42.5
9
10 Closes: https://github.com/gentoo/gentoo/pull/27313
11 Signed-off-by: brahmajit das <listout <AT> protonmail.com>
12 Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
13
14 x11-wm/mutter/Manifest | 1 +
15 x11-wm/mutter/mutter-42.5.ebuild | 190 +++++++++++++++++++++++++++++++++++++++
16 2 files changed, 191 insertions(+)
17
18 diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
19 index 7839a2720b2c..68a8897b86bf 100644
20 --- a/x11-wm/mutter/Manifest
21 +++ b/x11-wm/mutter/Manifest
22 @@ -1,2 +1,3 @@
23 DIST mutter-42.3.tar.xz 2746756 BLAKE2B 818b2ac8cd264c6b8e30b6731ef2641dbcbba6dce7628d0a934c3f49a5857874d9e6a97cd53ec689c2a9ae7f52d49ed98b7cc551eafbb32b74cbebbe027d9f43 SHA512 f346d2299143ceb6c9164977df2e23655b1c204f3a2d1f713377f3cc2f3609c56914c5e8a0b940d4fdd3d040a9af210f724350bb4f74ffac293e6a82e2b0785b
24 DIST mutter-42.4.tar.xz 2747580 BLAKE2B 8627e1de8ea93498ff0abd0605836c5b70bb9e51e50ade93b6dd332393892c167aa0cc58f45621e9838ea885834d915ecf2c75c8493fbd154930d4c7427c1010 SHA512 fad80c2c3e6674c00e35783c69886ed728c732743ec967756329c5fd3dd7c1b5695aa0dca7e5d8a3bcb72d03ec06bbdc45c14cc775d40db2852b2299c8b0df03
25 +DIST mutter-42.5.tar.xz 2743636 BLAKE2B 87ee26ccee6c21404ac069e7b35d2b93ef38d0eda0963107c08a72599915fba56a653968fe456afa42f4eeb28aed5526d23d344f7e1f9f4fdf9cf35b5a66fca5 SHA512 cd7ef29211a1568f5f8d43182da6569db22005c0b67204a300edb4952d9c18f73def1558843a009a7475a82d7ce9754bd8741b214a931764798dbeaaecbbec49
26
27 diff --git a/x11-wm/mutter/mutter-42.5.ebuild b/x11-wm/mutter/mutter-42.5.ebuild
28 new file mode 100644
29 index 000000000000..d2e72a1d5435
30 --- /dev/null
31 +++ b/x11-wm/mutter/mutter-42.5.ebuild
32 @@ -0,0 +1,190 @@
33 +# Copyright 1999-2022 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=8
37 +PYTHON_COMPAT=( python3_{8..11} )
38 +inherit gnome.org gnome2-utils meson python-any-r1 udev xdg
39 +
40 +DESCRIPTION="GNOME compositing window manager based on Clutter"
41 +HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
42 +
43 +LICENSE="GPL-2+"
44 +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
45 +
46 +IUSE="doc elogind gnome input_devices_wacom +introspection screencast sysprof systemd test udev wayland video_cards_nvidia"
47 +# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
48 +REQUIRED_USE="
49 + wayland? ( ^^ ( elogind systemd ) udev )
50 + test? ( wayland )"
51 +RESTRICT="!test? ( test )"
52 +
53 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
54 +
55 +# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
56 +# xorg-server is needed at build and runtime with USE=wayland for Xwayland
57 +# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
58 +DEPEND="
59 + >=x11-libs/libX11-1.7.0
60 + >=media-libs/graphene-1.10.2[introspection?]
61 + >=x11-libs/gtk+-3.19.8:3[X,introspection?]
62 + x11-libs/gdk-pixbuf:2
63 + >=x11-libs/pango-1.46[introspection?]
64 + >=dev-libs/fribidi-1.0.0
65 + >=x11-libs/cairo-1.14[X]
66 + >=gnome-base/gsettings-desktop-schemas-42.0[introspection?]
67 + >=dev-libs/glib-2.69.0:2
68 + gnome-base/gnome-settings-daemon
69 + >=dev-libs/json-glib-0.12.0[introspection?]
70 + >=x11-libs/libXcomposite-0.4
71 + x11-libs/libXcursor
72 + x11-libs/libXdamage
73 + x11-libs/libXext
74 + >=x11-libs/libXfixes-3
75 + >=x11-libs/libXi-1.7.4
76 + x11-libs/libXtst
77 + x11-libs/libxkbfile
78 + x11-misc/xkeyboard-config
79 + >=x11-libs/libxkbcommon-0.4.3[X]
80 + x11-libs/libXrender
81 + >=x11-libs/libXrandr-1.5.0
82 + x11-libs/libxcb:=
83 + x11-libs/libXinerama
84 + x11-libs/libXau
85 + x11-libs/libICE
86 + >=dev-libs/atk-2.5.3[introspection?]
87 + >=media-libs/libcanberra-0.26
88 + sys-apps/dbus
89 + gnome? ( gnome-base/gnome-desktop:3= )
90 + media-libs/mesa[X(+),egl(+)]
91 + sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 )
92 + systemd? ( sys-apps/systemd )
93 + wayland? (
94 + >=dev-libs/wayland-protocols-1.21
95 + >=dev-libs/wayland-1.18.0
96 + x11-libs/libdrm
97 + >=media-libs/mesa-17.3[egl(+),gbm(+),wayland,gles2]
98 + >=dev-libs/libinput-1.18.0:=
99 + elogind? ( sys-auth/elogind )
100 + x11-base/xwayland
101 + video_cards_nvidia? ( gui-libs/egl-wayland )
102 + )
103 + udev? ( >=dev-libs/libgudev-232
104 + >=virtual/libudev-232-r1:=
105 + )
106 + x11-libs/libSM
107 + input_devices_wacom? ( >=dev-libs/libwacom-0.13:= )
108 + >=x11-libs/startup-notification-0.7
109 + screencast? ( >=media-video/pipewire-0.3.21:= )
110 + introspection? ( >=dev-libs/gobject-introspection-1.54:= )
111 + doc? ( >=dev-util/gi-docgen-2021.1 )
112 +"
113 +RDEPEND="${DEPEND}
114 + gnome-extra/zenity
115 +
116 + !<gui-libs/gtk-4.6.4:4
117 + !<x11-libs/gtk+-3.24.34:3
118 +"
119 +DEPEND="${DEPEND}
120 + x11-base/xorg-proto
121 + sysprof? ( >=dev-util/sysprof-common-3.38.0 )
122 +"
123 +BDEPEND="
124 + dev-util/wayland-scanner
125 + dev-util/gdbus-codegen
126 + dev-util/glib-utils
127 + >=sys-devel/gettext-0.19.8
128 + virtual/pkgconfig
129 + test? (
130 + ${PYTHON_DEPS}
131 + $(python_gen_any_dep '
132 + dev-python/python-dbusmock[${PYTHON_USEDEP}]
133 + ')
134 + app-text/docbook-xml-dtd:4.5
135 + x11-misc/xvfb-run
136 + )
137 + wayland? (
138 + >=sys-kernel/linux-headers-4.4
139 + x11-libs/libxcvt
140 + )
141 +"
142 +
143 +PATCHES=(
144 + "${FILESDIR}"/${PN}-42.0-Disable-anonymous-file-test.patch
145 + "${FILESDIR}"/${PN}-42.4-backend-native-Don-t-warn-on-EACCES-if-headless.patch
146 +)
147 +
148 +python_check_deps() {
149 + if use test; then
150 + python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
151 + fi
152 +}
153 +
154 +src_configure() {
155 + # TODO: Replicate debug vs release meson build type behaviour under our buildtype=plain
156 + local emesonargs=(
157 + -Dopengl=true
158 + #opengl_libname
159 + #gles2_libname
160 + $(meson_use wayland gles2)
161 + -Degl=true
162 + -Dglx=true
163 + $(meson_use wayland)
164 + $(meson_use systemd)
165 + $(meson_use wayland native_backend)
166 + $(meson_use screencast remote_desktop)
167 + -Dlibgnome_desktop=true
168 + $(meson_use udev)
169 + -Dudev_dir=$(get_udevdir)
170 + $(meson_use input_devices_wacom libwacom)
171 + -Dpango_ft2=true
172 + -Dstartup_notification=true
173 + -Dsm=true
174 + $(meson_use introspection)
175 + $(meson_use doc docs)
176 + $(meson_use test cogl_tests)
177 + $(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
178 + -Dnative_tests=false
179 + $(meson_use test clutter_tests)
180 + $(meson_use test tests)
181 + -Dkvm_tests=false
182 + -Dtty_tests=false
183 + $(meson_use sysprof profiler)
184 + -Dinstalled_tests=false
185 + #verbose # Let upstream choose default for verbose mode
186 + #xwayland_path
187 + # 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)
188 + #xwayland_grab_default_access_rules
189 + )
190 +
191 + if use wayland && use video_cards_nvidia; then
192 + emesonargs+=(
193 + -Degl_device=true
194 + -Dwayland_eglstream=true
195 + )
196 + else
197 + emesonargs+=(
198 + -Degl_device=false
199 + -Dwayland_eglstream=false
200 + )
201 + fi
202 +
203 + meson_src_configure
204 +}
205 +
206 +src_test() {
207 + gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed
208 + glib-compile-schemas "${BUILD_DIR}"/data
209 + GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI
210 +}
211 +
212 +pkg_postinst() {
213 + use udev && udev_reload
214 + xdg_pkg_postinst
215 + gnome2_schemas_update
216 +}
217 +
218 +pkg_postrm() {
219 + use udev && udev_reload
220 + xdg_pkg_postrm
221 + gnome2_schemas_update
222 +}