summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2021-01-31 22:06:39 +0200
committerMart Raudsepp <leio@gentoo.org>2021-01-31 22:06:48 +0200
commit028691deacfd8ad608ab35d6651fd04fcec2568c (patch)
tree8ea5a1052976417db76c18fc8a0c3a189e143a85 /x11-wm
parentdev-vcs/rsvndump: Add explicit "inherit multilib" (diff)
downloadgentoo-028691deacfd8ad608ab35d6651fd04fcec2568c.tar.gz
gentoo-028691deacfd8ad608ab35d6651fd04fcec2568c.tar.bz2
gentoo-028691deacfd8ad608ab35d6651fd04fcec2568c.zip
x11-wm/mutter: add misc upstream backports
Upstream gnome-3-38 branch backports, fixing some journal spam in some situations, crashes when monitor EDID name includes XML characters like the ampersand, and some potential extension caused crash avoidance. Also some screencast fixes with monitor configuration changes. Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/mutter/Manifest1
-rw-r--r--x11-wm/mutter/mutter-3.38.3-r1.ebuild149
2 files changed, 150 insertions, 0 deletions
diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
index 6b09d82d85bb..e0ca4f521b7d 100644
--- a/x11-wm/mutter/Manifest
+++ b/x11-wm/mutter/Manifest
@@ -1,4 +1,5 @@
DIST mutter-3.36.7-patchset.tar.xz 14232 BLAKE2B 90a289f7012e28607d487fd635b73683e657bfd8792dbf662f8822ac7f096d21add6fcd3b7092e4e82f2130226f5b1ff9afd1e026fec8333680c9b4e4712dea2 SHA512 74e3951358a02c552a45b590360b9a038283e983ff78daf433fea1589ca3e7824f21af3b786a06ba84fb400581dfc4f97f29d259afdaca2ae3e1456a49a96243
DIST mutter-3.36.7.tar.xz 2689176 BLAKE2B a3849b254dbe2029736ef760fe4225e63bf1d87bf2856a87682574904bd047822916485a3e00d2760118132466414b68764731ea4af9add5d734fd7ce3eac730 SHA512 6061cc8a3bdefe57049f9da757b9a33321b28ff7bc9543bc1db3abd75c7261bf233180fb1e8a2f76145dd67ebda91c48981f6e844a866ef6cbb66203af4b7ef7
DIST mutter-3.38.2.tar.xz 2621648 BLAKE2B 93ddeaa8b1c09ac0cd711513cb755eb94b72c1c44a751e2c6656dd3415fcb278d22e92577400df9443ece0e3dd1bc77adc88d1a24d59bb911ce8114e53340cae SHA512 8bd826fdb643bc966f6b7c38ed12cec9806440bf9cf4792cb90aa62dd96d2fd1018be39148ebd4432ba799cfdd30ed5c3952620ca13b9fac933fb0a477c9937a
+DIST mutter-3.38.3-r1-patchset.tar.xz 6576 BLAKE2B 9bda2b0891df1a945d9bd0fd2867f1b4895bb9a29dbae14511192afd5b3a6776d41105924c904d47745bd2bd088136109db4df82b3a17c08040ceb40611e8dc1 SHA512 86763c6c652807a2389b373e94fed99e4557d7be89aeb269836855e9ec251944f5c3a0d4219f31a49c7cfe9ecde7972b3e1b7ad9f231d16999eaa36cee2aef41
DIST mutter-3.38.3.tar.xz 2622808 BLAKE2B 3ee6442c03a3ca5bbaecd32ac451e9c2ba91258af0425745ea871aca2a95218d8afcff8b2e5845e5ab8a4ff2c0308a0bcc0561922b4675ad68b700c04dd3028d SHA512 686027d097ffff439e5a21f7bc748251da8b2f7fdccb2c17599fd6a141b0fda04fe7a19cbb3be2b3e668075fff562bcdae68a61ffb049d103b5b05f2443a5315
diff --git a/x11-wm/mutter/mutter-3.38.3-r1.ebuild b/x11-wm/mutter/mutter-3.38.3-r1.ebuild
new file mode 100644
index 000000000000..9afc0daacf0a
--- /dev/null
+++ b/x11-wm/mutter/mutter-3.38.3-r1.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnome.org gnome2-utils meson virtualx xdg
+
+DESCRIPTION="GNOME 3 compositing window manager based on Clutter"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
+SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${PF}-patchset.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0/7" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
+
+IUSE="elogind input_devices_wacom +introspection screencast sysprof systemd test udev wayland"
+# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
+REQUIRED_USE="
+ wayland? ( ^^ ( elogind systemd ) udev )
+ test? ( wayland )"
+RESTRICT="!test? ( test )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
+# xorg-server is needed at build and runtime with USE=wayland for Xwayland
+# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
+DEPEND="
+ x11-libs/libX11
+ >=media-libs/graphene-1.9.3[introspection?]
+ >=x11-libs/gtk+-3.19.8:3[X,introspection?]
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/pango-1.30[introspection?]
+ >=dev-libs/fribidi-1.0.0
+ >=x11-libs/cairo-1.14[X]
+ >=gnome-base/gsettings-desktop-schemas-3.37.2[introspection?]
+ >=dev-libs/glib-2.61.1:2
+ gnome-base/gnome-settings-daemon
+ >=dev-libs/json-glib-0.12.0[introspection?]
+ gnome-base/gnome-desktop:3=
+ >=x11-libs/libXcomposite-0.4
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ >=x11-libs/libXfixes-3
+ >=x11-libs/libXi-1.7.4
+ x11-libs/libXtst
+ x11-libs/libxkbfile
+ x11-misc/xkeyboard-config
+ >=x11-libs/libxkbcommon-0.4.3[X]
+ x11-libs/libXrender
+ >=x11-libs/libXrandr-1.5.0
+ x11-libs/libxcb
+ x11-libs/libXinerama
+ x11-libs/libXau
+ x11-libs/libICE
+ >=dev-libs/atk-2.5.3[introspection?]
+ >=media-libs/libcanberra-0.26
+ sys-apps/dbus
+ media-libs/mesa[X(+),egl]
+ sysprof? ( >=dev-util/sysprof-capture-3.38.0:4 )
+ wayland? (
+ >=dev-libs/wayland-protocols-1.19
+ >=dev-libs/wayland-1.18.0
+ x11-libs/libdrm:=
+ >=media-libs/mesa-17.3[egl,gbm,wayland,gles2]
+ >=dev-libs/libinput-1.7
+ systemd? ( sys-apps/systemd )
+ elogind? ( sys-auth/elogind )
+ x11-base/xorg-server[wayland]
+ )
+ udev? ( >=dev-libs/libgudev-232:=
+ >=virtual/libudev-232-r1:= )
+ x11-libs/libSM
+ input_devices_wacom? ( >=dev-libs/libwacom-0.13 )
+ >=x11-libs/startup-notification-0.7
+ screencast? ( >=media-video/pipewire-0.3.0:0/0.3 )
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+"
+RDEPEND="${DEPEND}
+ gnome-extra/zenity
+"
+DEPEND="${DEPEND}
+ x11-base/xorg-proto
+ sysprof? ( >=dev-util/sysprof-common-3.38.0 )
+"
+# wayland bdepend for wayland-scanner, xorg-server for cvt utility
+BDEPEND="
+ dev-libs/wayland
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ test? ( app-text/docbook-xml-dtd:4.5 )
+ wayland? ( >=sys-kernel/linux-headers-4.4
+ x11-base/xorg-server )
+"
+
+PATCHES=(
+ # origin/gnome-3-38@d881fcdece608
+ "${WORKDIR}"/patches
+)
+
+src_configure() {
+ # TODO: Replicate debug vs release meson build type behaviour under our buildtype=plain
+ local emesonargs=(
+ -Dopengl=true
+ #opengl_libname
+ #gles2_libname
+ $(meson_use wayland gles2)
+ -Degl=true
+ -Dglx=true
+ $(meson_use wayland)
+ $(meson_use wayland native_backend)
+ $(meson_use screencast remote_desktop)
+ -Degl_device=false # This should be dependent on wayland,video_drivers_nvidia, once eglstream support is there
+ -Dwayland_eglstream=false # requires packages egl-wayland for wayland-eglstream-protocols.pc
+ $(meson_use udev)
+ $(meson_use input_devices_wacom libwacom)
+ -Dpango_ft2=true
+ -Dstartup_notification=true
+ -Dsm=true
+ $(meson_use introspection)
+ $(meson_use test cogl_tests)
+ $(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
+ $(meson_use test clutter_tests)
+ $(meson_use test tests)
+ $(meson_use sysprof profiler)
+ -Dinstalled_tests=false
+ #verbose # Let upstream choose default for verbose mode
+ #xwayland_path
+ # 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)
+ #xwayland_grab_default_access_rules
+ )
+ meson_src_configure
+}
+
+src_test() {
+ glib-compile-schemas "${BUILD_DIR}"/data
+ GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data virtx meson_src_test
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}