Gentoo Archives: gentoo-commits

From: Mart Raudsepp <leio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-wm/mutter/
Date: Sun, 28 Jun 2020 09:38:30
Message-Id: 1593337067.c3e37144fe021705277a9f22484e0a07d18eb2b1.leio@gentoo
1 commit: c3e37144fe021705277a9f22484e0a07d18eb2b1
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jun 28 09:37:39 2020 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Sun Jun 28 09:37:47 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3e37144
7
8 x11-wm/mutter: add patches, drop USE=screencast
9
10 We don't want to bother with pipewire-0.2, so drop it for now to
11 make upcoming pipewire:0/0.3 subslot upgrade easier to ~arch users
12 (it was stable masked).
13 Add some upstream branch patches to make the revbump useful to
14 everybody.
15
16 Package-Manager: Portage-2.3.84, Repoman-2.3.20
17 Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
18
19 x11-wm/mutter/Manifest | 1 +
20 x11-wm/mutter/mutter-3.34.6-r2.ebuild | 147 ++++++++++++++++++++++++++++++++++
21 2 files changed, 148 insertions(+)
22
23 diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
24 index be7e4c69dac..ff7d3421360 100644
25 --- a/x11-wm/mutter/Manifest
26 +++ b/x11-wm/mutter/Manifest
27 @@ -1,2 +1,3 @@
28 DIST mutter-3.34.5.tar.xz 2804640 BLAKE2B b73a34f4e064b74b321b7ac54749170663c10874a82c0e4f6b20b1f9d97662af0ba188e5ac13a187117765b8aee820fc7367dfbeecc26002942151e77433012c SHA512 4199cf66e6551ebf80b9d2217e3164b1de30b055c58a64bc2d88961aad3a35c137174f6aea96f0250fa3efb2bf4676aa409fefb1a9237bbc7acf438aeed2e78a
29 +DIST mutter-3.34.6-patchset.tar.xz 4748 BLAKE2B 103f17256c7a9f347aadd58119e0e92c844bf372723e1462ea343fe9a80d7ed9dd55ad04215216dd51f97143e23b201e056f2e17a1808a22fe2d4e0f8e8da659 SHA512 79e1d72d14643ef3b6d9da0532ca636e41a110bcc7e8fe1553940ca6c1e2cf6414923a707bdde7823449ef7b0535d8c97ae0ae57a02f55e90950e8c127340ade
30 DIST mutter-3.34.6.tar.xz 2805328 BLAKE2B bba0e062ab81f8e88e7e59b6dbf51226b6e2d43932c7d61aca5a3e709119f909e30acea67a5444c95205ddf929a1f5bf7785eec7aed4f2da743c19543aa79962 SHA512 dd240fdcfc8ba0c62c0ff423a40ec6e0007d154f0be39e18cea543da7ff548e10a9b712f9b2cc09c58ad342b1e7eb50fb2a8790c55d284846bb6f1a76f8c6d6b
31
32 diff --git a/x11-wm/mutter/mutter-3.34.6-r2.ebuild b/x11-wm/mutter/mutter-3.34.6-r2.ebuild
33 new file mode 100644
34 index 00000000000..d04f56b67e4
35 --- /dev/null
36 +++ b/x11-wm/mutter/mutter-3.34.6-r2.ebuild
37 @@ -0,0 +1,147 @@
38 +# Copyright 1999-2020 Gentoo Authors
39 +# Distributed under the terms of the GNU General Public License v2
40 +
41 +EAPI=7
42 +inherit gnome.org gnome2-utils meson virtualx xdg
43 +
44 +DESCRIPTION="GNOME 3 compositing window manager based on Clutter"
45 +HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
46 +SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${P}-patchset.tar.xz"
47 +
48 +LICENSE="GPL-2+"
49 +SLOT="0/5" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
50 +
51 +IUSE="elogind input_devices_wacom +introspection +sysprof systemd test udev wayland"
52 +# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
53 +REQUIRED_USE="
54 + wayland? ( ^^ ( elogind systemd ) udev )
55 + test? ( wayland )"
56 +RESTRICT="!test? ( test )"
57 +
58 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
59 +
60 +# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
61 +# xorg-server is needed at build and runtime with USE=wayland for Xwayland
62 +# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
63 +DEPEND="
64 + x11-libs/libX11
65 + >=x11-libs/gtk+-3.19.8:3[X,introspection?]
66 + x11-libs/gdk-pixbuf:2
67 + >=x11-libs/pango-1.30[introspection?]
68 + >=dev-libs/fribidi-1.0.0
69 + >=x11-libs/cairo-1.14[X]
70 + >=gnome-base/gsettings-desktop-schemas-3.33.0[introspection?]
71 + >=dev-libs/glib-2.61.1:2
72 + gnome-base/gnome-settings-daemon
73 + >=dev-libs/json-glib-0.12.0[introspection?]
74 + gnome-base/gnome-desktop:3=
75 + >=x11-libs/libXcomposite-0.4
76 + x11-libs/libXcursor
77 + x11-libs/libXdamage
78 + x11-libs/libXext
79 + >=x11-libs/libXfixes-3
80 + >=x11-libs/libXi-1.7.4
81 + x11-libs/libXtst
82 + x11-libs/libxkbfile
83 + x11-misc/xkeyboard-config
84 + >=x11-libs/libxkbcommon-0.4.3[X]
85 + x11-libs/libXrender
86 + >=x11-libs/libXrandr-1.5.0
87 + x11-libs/libxcb
88 + x11-libs/libXinerama
89 + x11-libs/libXau
90 + x11-libs/libICE
91 + >=dev-libs/atk-2.5.3[introspection?]
92 + >=media-libs/libcanberra-0.26
93 + media-libs/mesa[X(+),egl]
94 + wayland? (
95 + >=dev-libs/wayland-protocols-1.18
96 + >=dev-libs/wayland-1.13.0
97 + x11-libs/libdrm:=
98 + >=media-libs/mesa-10.3[egl,gbm,wayland,gles2]
99 + >=dev-libs/libinput-1.4
100 + systemd? ( sys-apps/systemd )
101 + elogind? ( sys-auth/elogind )
102 + x11-base/xorg-server[wayland]
103 + )
104 + udev? ( >=dev-libs/libgudev-232:=
105 + >=virtual/libudev-232-r1:= )
106 + x11-libs/libSM
107 + input_devices_wacom? ( >=dev-libs/libwacom-0.13 )
108 + >=x11-libs/startup-notification-0.7
109 + introspection? ( >=dev-libs/gobject-introspection-1.54:= )
110 +"
111 +RDEPEND="${DEPEND}
112 + gnome-extra/zenity
113 +"
114 +DEPEND="${DEPEND}
115 + x11-base/xorg-proto
116 + sysprof? ( >=dev-util/sysprof-capture-3.34.1-r1:3 )
117 +"
118 +# wayland bdepend for wayland-scanner, xorg-server for cvt utility
119 +BDEPEND="
120 + dev-libs/wayland
121 + >=dev-util/meson-0.50.0
122 + dev-util/gdbus-codegen
123 + dev-util/glib-utils
124 + >=sys-devel/gettext-0.19.8
125 + virtual/pkgconfig
126 + test? ( app-text/docbook-xml-dtd:4.5 )
127 + wayland? ( >=sys-kernel/linux-headers-4.4
128 + x11-base/xorg-server )
129 +"
130 +
131 +PATCHES=(
132 + "${WORKDIR}"/patches/
133 + "${FILESDIR}"/3.32-eglmesaext-include.patch
134 + "${FILESDIR}"/${PV}-tests-dontreq-gdkwayland.patch
135 +)
136 +
137 +src_configure() {
138 + # TODO: Replicate debug vs release meson build type behaviour under our buildtype=plain
139 + local emesonargs=(
140 + -Dopengl=true
141 + #opengl_libname
142 + #gles2_libname
143 + $(meson_use wayland gles2)
144 + -Degl=true
145 + -Dglx=true
146 + $(meson_use wayland)
147 + $(meson_use wayland native_backend)
148 + -Dremote_desktop=false # not bothering with pipewire-0.2; to be reintroduced in newer mutter via pipewire-0.3
149 + -Degl_device=false # This should be dependent on wayland,video_drivers_nvidia, once eglstream support is there
150 + -Dwayland_eglstream=false # requires packages egl-wayland for wayland-eglstream-protocols.pc
151 + $(meson_use udev)
152 + $(meson_use input_devices_wacom libwacom)
153 + -Dpango_ft2=true
154 + -Dstartup_notification=true
155 + -Dsm=true
156 + $(meson_use introspection)
157 + $(meson_use test cogl_tests)
158 + $(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
159 + $(meson_use test clutter_tests)
160 + $(meson_use test tests)
161 + $(meson_use sysprof profiler)
162 + -Dinstalled_tests=false
163 + #verbose # Let upstream choose default for verbose mode
164 + #xwayland_path
165 + # 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)
166 + #xwayland_grab_default_access_rules
167 + )
168 + meson_src_configure
169 +}
170 +
171 +src_test() {
172 + glib-compile-schemas "${BUILD_DIR}"/data
173 + GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data virtx meson_src_test
174 +}
175 +
176 +pkg_postinst() {
177 + xdg_pkg_postinst
178 + gnome2_schemas_update
179 +}
180 +
181 +pkg_postrm() {
182 + xdg_pkg_postrm
183 + gnome2_schemas_update
184 +}