summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2019-09-07 00:01:22 +0300
committerMart Raudsepp <leio@gentoo.org>2019-09-07 00:44:35 +0300
commit0c4e5ce467e59b8903b8e53047b751346040aaa4 (patch)
treeca2aaee072fa470886d213943db769fa50c2b204 /x11-wm/mutter
parentsys-kernel/genkernel: bump xfsprogs to v5.2.1 (diff)
downloadgentoo-0c4e5ce467e59b8903b8e53047b751346040aaa4.tar.gz
gentoo-0c4e5ce467e59b8903b8e53047b751346040aaa4.tar.bz2
gentoo-0c4e5ce467e59b8903b8e53047b751346040aaa4.zip
x11-wm/mutter: bump to 3.32.2
Closes: https://bugs.gentoo.org/685724 Package-Manager: Portage-2.3.69, Repoman-2.3.12 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
Diffstat (limited to 'x11-wm/mutter')
-rw-r--r--x11-wm/mutter/Manifest2
-rw-r--r--x11-wm/mutter/files/3.32.2-no-cogl-gles2.patch81
-rw-r--r--x11-wm/mutter/mutter-3.32.2.ebuild146
3 files changed, 229 insertions, 0 deletions
diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
index cf1fc2fed321..1c6c961ffdfb 100644
--- a/x11-wm/mutter/Manifest
+++ b/x11-wm/mutter/Manifest
@@ -4,3 +4,5 @@ DIST mutter-3.30.2-r1-patchset.tar.xz 14096 BLAKE2B 83f2e975a4404b878e832a70fe7a
DIST mutter-3.30.2-r3-patchset.tar.xz 30208 BLAKE2B 502e9c1d005cf268548e2732d4574b0eb7491940531c77c357e73e2da23b60acfbb183f9e818edd86cf0d6abca4e43c2e687db27544bb4fe7e9a33a162df01da SHA512 22b66395ffae07b208efa3a1305c71ea2282470a08300a5c3de23a2a45f03afef7804d5943934028286406adedbb9851dc562f4e57fdff77df22591893f0908b
DIST mutter-3.30.2-r4-patchset.tar.xz 44820 BLAKE2B 2448dcd6bca338dbe2b87a93ca4374fd5b4cc5d8834dd40739e74a65280b7f00b99d61361082673f5f41e44fb40e36f0889d5ee00fbc034efe87294540fba48e SHA512 a7024b95bc56ab25cfdb27003b4b1fc39925117795c05f78b2d473fdbcf3bb6ce870ee5bc030ec4ce5e10b42d94fa0007bf5870bd2a4e94de3885c9434a39835
DIST mutter-3.30.2.tar.xz 3725692 BLAKE2B 280b7a6319e5d4705baee965936df6f31ba8ca96ce3812cf640578c6817aaa82b6ff8fde7b2740ecd8edb6c4746f4608f997772a24d67f12fcb0c5c77fc9b29a SHA512 3890270b7eb4b8753274d30ad26693b829a69b31f36501845c59b000deb174be58b5167f6754767dba02ebc44688697fbe7344a327879a073955047b69333a2e
+DIST mutter-3.32.2-patchset.tar.xz 26872 BLAKE2B 026c87cc3859624bcfd273694a8a34661d97cc77776e3df5f6f5de16b8758fc435773b1c96172b867fe0d9bea421c56986db2e7263c6ec3482171cc2adf06295 SHA512 e318fcfa4ee7850814cdfb5fbcc118a92fa3df524a78b24a440346be6a6c7cb975f90218a2d4feeacd222f2daf56c4cff4195c83e3ed74726dc1da63d38a93c5
+DIST mutter-3.32.2.tar.xz 2797664 BLAKE2B 8b69436778d9c3e10b0373c83e1f306cb2718e49ad1f351f2e3a1ef92caeb1eb7a391be07c60578cfb2601eea5dc3949b1d8305e9f079b2b00d43ff305409f00 SHA512 e4494d028ae71441fbdc584bd8acd9c2559d52ac72402bad9a7cb43f4f519487d11df6453172fd27a9df7f2cade020d6317931613bd0be343c66170e6cda0269
diff --git a/x11-wm/mutter/files/3.32.2-no-cogl-gles2.patch b/x11-wm/mutter/files/3.32.2-no-cogl-gles2.patch
new file mode 100644
index 000000000000..41c3e94d8602
--- /dev/null
+++ b/x11-wm/mutter/files/3.32.2-no-cogl-gles2.patch
@@ -0,0 +1,81 @@
+From a00bd286724b3186c17d70f1b2fe98da2d90bf60 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Sun, 1 Sep 2019 14:42:04 +0300
+Subject: [PATCH] build: Allow building native backend without cogl-gles2
+
+Native backend already requires gles2, but was controlled by gles2
+meson option, even though it's hard required with native_backend
+already, and errored out if gles2 wasn't enabled too.
+Instead allow native_backend to be built without cogl-gles2 by simply
+checking for the gles2 hard requirement in case of have_native_backend
+too and not erroring out without -Dgles2=true, which is now used only
+for controlling cogl-gles2 build.
+---
+ meson.build | 10 +++-------
+ src/meson.build | 4 ++--
+ 2 files changed, 5 insertions(+), 9 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 6160a4bb3..c85284ba2 100644
+--- a/meson.build
++++ b/meson.build
+@@ -150,12 +150,13 @@ endif
+ have_egl_xlib = have_egl and have_x11
+
+ have_gles2 = get_option('gles2')
+-if have_gles2
++have_native_backend = get_option('native_backend')
++if have_gles2 or have_native_backend
+ gles2_dep = dependency('glesv2')
+ gles2_libname = get_option('gles2_libname')
+
+ if not have_egl
+- error('GLESv2 support requires EGL to be enabled')
++ error('GLESv2 and native backend support requires EGL to be enabled')
+ endif
+ endif
+
+@@ -177,7 +178,6 @@ if have_libgudev
+ gudev_dep = dependency('gudev-1.0', version: gudev_req)
+ endif
+
+-have_native_backend = get_option('native_backend')
+ if have_native_backend
+ libdrm_dep = dependency('libdrm')
+ libgbm_dep = dependency('gbm', version: gbm_req)
+@@ -194,10 +194,6 @@ if have_native_backend
+ error('The native backend requires EGL to be enabled')
+ endif
+
+- if not have_gles2
+- error('The native backend requires GLESv2 to be enabled')
+- endif
+-
+ if not have_libgudev
+ error('The native backend requires udev to be enabled')
+ endif
+diff --git a/src/meson.build b/src/meson.build
+index 182f7f5f5..af9776480 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -36,7 +36,7 @@ if have_gl
+ ]
+ endif
+
+-if have_gles2
++if have_native_backend
+ mutter_pkg_private_deps += [
+ gles2_dep,
+ ]
+@@ -436,7 +436,7 @@ if have_egl
+ ]
+ endif
+
+-if have_gles2
++if have_native_backend
+ mutter_sources += [
+ 'backends/meta-gles3.c',
+ 'backends/meta-gles3.h',
+--
+2.20.1
+
diff --git a/x11-wm/mutter/mutter-3.32.2.ebuild b/x11-wm/mutter/mutter-3.32.2.ebuild
new file mode 100644
index 000000000000..ef0a01e2b375
--- /dev/null
+++ b/x11-wm/mutter/mutter-3.32.2.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2019 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/4" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
+
+IUSE="elogind gles2 input_devices_wacom +introspection screencast 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"
+
+# libXi-1.7.4 or newer needed per:
+# https://bugzilla.gnome.org/show_bug.cgi?id=738944 - https://gitlab.gnome.org/GNOME/mutter/merge_requests/766
+
+# 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
+ >=x11-libs/gtk+-3.19.8:3[X,introspection?]
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/pango-1.30[introspection?]
+ >=x11-libs/cairo-1.14[X]
+ >=gnome-base/gsettings-desktop-schemas-3.31.0[introspection?]
+ >=dev-libs/glib-2.53.2: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/libICE
+ >=dev-libs/atk-2.5.3[introspection?]
+ >=media-libs/libcanberra-0.26
+ media-libs/mesa[X(+),egl,gles2?]
+ wayland? (
+ >=dev-libs/wayland-protocols-1.16
+ >=dev-libs/wayland-1.13.0
+ x11-libs/libdrm:=
+ >=media-libs/mesa-10.3[egl,gbm,wayland,gles2]
+ >=dev-libs/libinput-1.4
+ systemd? ( sys-apps/systemd )
+ elogind? ( sys-auth/elogind )
+ x11-base/xorg-server[wayland]
+ )
+ udev? ( >=virtual/libudev-228:=
+ >=virtual/libgudev-232:= )
+ x11-libs/libSM
+ input_devices_wacom? ( >=dev-libs/libwacom-0.13 )
+ >=x11-libs/startup-notification-0.7
+ screencast? ( >=media-video/pipewire-0.2.2:0/0.2 )
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+"
+RDEPEND="${DEPEND}
+ gnome-extra/zenity
+"
+DEPEND="${DEPEND}
+ x11-base/xorg-proto
+"
+# wayland bdepend for wayland-scanner, xorg-server for cvt utility
+BDEPEND="
+ dev-libs/wayland
+ >=dev-util/meson-0.50.0
+ 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=(
+ # Some patches from gnome-3-32 branch on top of 3.32.2
+ "${WORKDIR}"/patches/
+ # Allow building USE=wayland without cogl-gles2 from USE=gles2
+ "${FILESDIR}"/${PV}-no-cogl-gles2.patch
+)
+
+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 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 test clutter_tests)
+ $(meson_use test tests)
+ -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() {
+ virtx meson_src_test
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}