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: Sat, 07 May 2022 03:01:32
Message-Id: 1651892469.ce378c5ab7cc8577d2e4c10955a1fbb8e68bb166.mattst88@gentoo
1 commit: ce378c5ab7cc8577d2e4c10955a1fbb8e68bb166
2 Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
3 AuthorDate: Sat May 7 02:28:28 2022 +0000
4 Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
5 CommitDate: Sat May 7 03:01:09 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ce378c5a
7
8 x11-wm/mutter: Version bump to 42.1
9
10 Closes: https://bugs.gentoo.org/836379
11 Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
12
13 x11-wm/mutter/Manifest | 1 +
14 x11-wm/mutter/mutter-42.1.ebuild | 184 +++++++++++++++++++++++++++++++++++++++
15 2 files changed, 185 insertions(+)
16
17 diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
18 index 166d70753c95..6f29afdc9e44 100644
19 --- a/x11-wm/mutter/Manifest
20 +++ b/x11-wm/mutter/Manifest
21 @@ -1,2 +1,3 @@
22 DIST mutter-41.4.tar.xz 2717012 BLAKE2B 2f9d144380072427c0ee65c1e3bb26e5caca76e0656f316459a77df09f9e8bda3ea9c17c6400d04abee9c7f82b36dbd035794cf31feef7ee4574ce308d627e55 SHA512 ee3881f9047f0b9ef8598609e9ac90294cb36a7549fcc6a647a80553045ed315998d0dbac247887ae06b32126bab1525f13f7f92655b9103cac77750e347e405
23 DIST mutter-42.0.tar.xz 2742212 BLAKE2B 4867d184fbf63f7624c907f941f1aa1ac8d66108554385c1500b6259958a3c2bf5dcd30cebed95cbafd4a1bbd5368b6078edec695884a0ee9eb48dbf0ad4cecf SHA512 ffcfbb1b6d3add84adf2d67d459905d164dc272289b645994288c376bc656481526d445cdfe6df027b88ab590258ee9d9d4ba251e03c6ef93d17f0758f75520d
24 +DIST mutter-42.1.tar.xz 2747056 BLAKE2B 7973e6178e3a61078c37c593a8ffabbd002b791b8251fdf9aa7c90b40efa76591f9946cdd31dd6f274c2a4455157c8661d63714619f3966250eeca5ddae34689 SHA512 b7c7011f1c3c4361ddfdcffc61057f8821c37cfb602d7f7ec97fdd1f0ab19dd331f396ca4f61c83253d003d1d866b0d2ff1e7f34bbc9e98b48aacb973aabd6d5
25
26 diff --git a/x11-wm/mutter/mutter-42.1.ebuild b/x11-wm/mutter/mutter-42.1.ebuild
27 new file mode 100644
28 index 000000000000..64c4d9748678
29 --- /dev/null
30 +++ b/x11-wm/mutter/mutter-42.1.ebuild
31 @@ -0,0 +1,184 @@
32 +# Copyright 1999-2022 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=7
36 +PYTHON_COMPAT=( python3_{8..10} )
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 + x11-libs/libSM
105 + input_devices_wacom? ( >=dev-libs/libwacom-0.13 )
106 + >=x11-libs/startup-notification-0.7
107 + screencast? ( >=media-video/pipewire-0.3.21:= )
108 + introspection? ( >=dev-libs/gobject-introspection-1.54:= )
109 + doc? ( >=dev-util/gi-docgen-2021.1 )
110 +"
111 +RDEPEND="${DEPEND}
112 + gnome-extra/zenity
113 +"
114 +DEPEND="${DEPEND}
115 + x11-base/xorg-proto
116 + sysprof? ( >=dev-util/sysprof-common-3.38.0 )
117 +"
118 +# wayland bdepend for wayland-scanner, and either libxcvt or xorg-server[xorg,-minimal] for the cvt binary
119 +BDEPEND="
120 + dev-libs/wayland
121 + dev-util/gdbus-codegen
122 + dev-util/glib-utils
123 + >=sys-devel/gettext-0.19.8
124 + virtual/pkgconfig
125 + test? (
126 + ${PYTHON_DEPS}
127 + $(python_gen_any_dep '
128 + dev-python/python-dbusmock[${PYTHON_USEDEP}]
129 + ')
130 + app-text/docbook-xml-dtd:4.5
131 + x11-misc/xvfb-run
132 + )
133 + wayland? (
134 + >=sys-kernel/linux-headers-4.4
135 + x11-libs/libxcvt
136 + )
137 +"
138 +
139 +PATCHES=(
140 + "${FILESDIR}"/${PN}-42.0-Disable-anonymous-file-test.patch
141 +)
142 +
143 +python_check_deps() {
144 + if use test; then
145 + has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
146 + fi
147 +}
148 +
149 +src_configure() {
150 + # TODO: Replicate debug vs release meson build type behaviour under our buildtype=plain
151 + local emesonargs=(
152 + -Dopengl=true
153 + #opengl_libname
154 + #gles2_libname
155 + $(meson_use wayland gles2)
156 + -Degl=true
157 + -Dglx=true
158 + $(meson_use wayland)
159 + $(meson_use systemd)
160 + $(meson_use wayland native_backend)
161 + $(meson_use screencast remote_desktop)
162 + -Dlibgnome_desktop=true
163 + $(meson_use udev)
164 + -Dudev_dir=$(get_udevdir)
165 + $(meson_use input_devices_wacom libwacom)
166 + -Dpango_ft2=true
167 + -Dstartup_notification=true
168 + -Dsm=true
169 + $(meson_use introspection)
170 + $(meson_use doc docs)
171 + $(meson_use test cogl_tests)
172 + $(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
173 + -Dnative_tests=false
174 + $(meson_use test clutter_tests)
175 + $(meson_use test tests)
176 + -Dkvm_tests=false
177 + -Dtty_tests=false
178 + $(meson_use sysprof profiler)
179 + -Dinstalled_tests=false
180 + #verbose # Let upstream choose default for verbose mode
181 + #xwayland_path
182 + # 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)
183 + #xwayland_grab_default_access_rules
184 + )
185 +
186 + if use wayland && use video_cards_nvidia; then
187 + emesonargs+=(
188 + -Degl_device=true
189 + -Dwayland_eglstream=true
190 + )
191 + else
192 + emesonargs+=(
193 + -Degl_device=false
194 + -Dwayland_eglstream=false
195 + )
196 + fi
197 +
198 + meson_src_configure
199 +}
200 +
201 +src_test() {
202 + gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed
203 + glib-compile-schemas "${BUILD_DIR}"/data
204 + GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI
205 +}
206 +
207 +pkg_postinst() {
208 + xdg_pkg_postinst
209 + gnome2_schemas_update
210 +}
211 +
212 +pkg_postrm() {
213 + xdg_pkg_postrm
214 + gnome2_schemas_update
215 +}