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